frieMo
06.12.2010, 17:53
Hallo,
ich habe mir vor einigen Monaten vorgenommen, einen beweglichen Roboterarm zu bauen, den ich dann vom ASURO steuern lasse.
Die Hardware hab ich mehr oder weniger fertig gebaut.
Hier ein Bild:
http://dl.dropbox.com/u/7364635/Roboarm.jpg
(Bitte keine Riesenbilder posten! Gruß radbruch)
Entschuldigung, war leider die falsche Version, ich dachte ich hätte ein Kleineres gepostet.
Zum Aufbau:
Das "Gerüst" mit Teilen aus einem Metalbaukasten gebaut, den ich noch rumliegen hatte.
Der Arm besteht aus zwei (bzw. eigentlich drei) Gliedern, die mit zwei Servos bewegt werden sollen.
Die zwei Teile des Sockels (bzw. der Sockel und das unterste Glied des Arms) sollen von einem Schrittmotor bewegt werden.
Die Servos habe ich an die BackLED Plätze angeschlossen und nach einiger Recherche hier im Forum ein erstes sehr kurzes Programm zum ansteuern der Servos geschrieben.
Ich habe schonmal einen Thread (https://www.roboternetz.de/phpBB2/viewtopic.php?t=55564) gestartet, um ein paar weitere Infos zur Servoansteuerung zu bekommen. Leider haben mir die erteilten Ratschläge nicht weiter geholfen.
Nochmal mein kurzer erster Programmentwurf zum Ansteuern eines Servos:
#include "asuro.h"
int main(void)
{
Init();
BackLED(ON,OFF);
Sleep(104);
BackLED(OFF,OFF);
Sleep(255);Sleep(255);Sleep(255);Sleep(255);
BackLED(ON,OFF);
Sleep(104);
BackLED(OFF,OFF);
Sleep(255);Sleep(255);Sleep(255);Sleep(255);
while(1);
return 0;
}
Vor einigen Wochen habe ich mich dann, nach einigen Monaten der frustrierten Pause weil es nicht so funktionierte wie ich wollte, nochmal versucht den Arm (bzw. einen Servo des Arms) zu programmieren.
Der neuere Versuch:
#include "asuro.h"
int main(void)
{
Init();
while(1)
{
BackLED(ON,OFF);
Sleep(28);
BackLED(OFF,ON);
Sleep(144);
BackLED(OFF,OFF);
Sleep(255);Sleep(255);Sleep(255);
}
return 0;
}
Beim zweiten Versuch hat sich immerhin der Servo bewegt.
Danach habe ich einfach andere Werte hinter Sleep() geschrieben, um zu bewirken, dass der Servo sich "woanders" hinbewegt.
Das hat allerdings nicht funktioniert, der Servo hat sich immernoch so bewegt wie vorher. Ich denke das ist ein Problem das beim Flashen entstanden ist.
Ich dachte das mir eventuell in paar der versierten User hier im Forum ein wenig unterstützend zur Seite stehen könnten.
Ich werde hier einfach ab und zu ein paar Neuigkeiten zu meinem Projekt posten.
Vielen Dank.
P.S.: Mein aktuelles, konkretes Problem ist, dass ich immernoch nicht die Servos so bewegt bekomme, wie ich es will. Falls jemand da einen Tip hat...
ich habe mir vor einigen Monaten vorgenommen, einen beweglichen Roboterarm zu bauen, den ich dann vom ASURO steuern lasse.
Die Hardware hab ich mehr oder weniger fertig gebaut.
Hier ein Bild:
http://dl.dropbox.com/u/7364635/Roboarm.jpg
(Bitte keine Riesenbilder posten! Gruß radbruch)
Entschuldigung, war leider die falsche Version, ich dachte ich hätte ein Kleineres gepostet.
Zum Aufbau:
Das "Gerüst" mit Teilen aus einem Metalbaukasten gebaut, den ich noch rumliegen hatte.
Der Arm besteht aus zwei (bzw. eigentlich drei) Gliedern, die mit zwei Servos bewegt werden sollen.
Die zwei Teile des Sockels (bzw. der Sockel und das unterste Glied des Arms) sollen von einem Schrittmotor bewegt werden.
Die Servos habe ich an die BackLED Plätze angeschlossen und nach einiger Recherche hier im Forum ein erstes sehr kurzes Programm zum ansteuern der Servos geschrieben.
Ich habe schonmal einen Thread (https://www.roboternetz.de/phpBB2/viewtopic.php?t=55564) gestartet, um ein paar weitere Infos zur Servoansteuerung zu bekommen. Leider haben mir die erteilten Ratschläge nicht weiter geholfen.
Nochmal mein kurzer erster Programmentwurf zum Ansteuern eines Servos:
#include "asuro.h"
int main(void)
{
Init();
BackLED(ON,OFF);
Sleep(104);
BackLED(OFF,OFF);
Sleep(255);Sleep(255);Sleep(255);Sleep(255);
BackLED(ON,OFF);
Sleep(104);
BackLED(OFF,OFF);
Sleep(255);Sleep(255);Sleep(255);Sleep(255);
while(1);
return 0;
}
Vor einigen Wochen habe ich mich dann, nach einigen Monaten der frustrierten Pause weil es nicht so funktionierte wie ich wollte, nochmal versucht den Arm (bzw. einen Servo des Arms) zu programmieren.
Der neuere Versuch:
#include "asuro.h"
int main(void)
{
Init();
while(1)
{
BackLED(ON,OFF);
Sleep(28);
BackLED(OFF,ON);
Sleep(144);
BackLED(OFF,OFF);
Sleep(255);Sleep(255);Sleep(255);
}
return 0;
}
Beim zweiten Versuch hat sich immerhin der Servo bewegt.
Danach habe ich einfach andere Werte hinter Sleep() geschrieben, um zu bewirken, dass der Servo sich "woanders" hinbewegt.
Das hat allerdings nicht funktioniert, der Servo hat sich immernoch so bewegt wie vorher. Ich denke das ist ein Problem das beim Flashen entstanden ist.
Ich dachte das mir eventuell in paar der versierten User hier im Forum ein wenig unterstützend zur Seite stehen könnten.
Ich werde hier einfach ab und zu ein paar Neuigkeiten zu meinem Projekt posten.
Vielen Dank.
P.S.: Mein aktuelles, konkretes Problem ist, dass ich immernoch nicht die Servos so bewegt bekomme, wie ich es will. Falls jemand da einen Tip hat...