PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Roboterhand: "kontinuierlich" Servoansteuerung



ExXeQtor
24.10.2010, 16:41
hallo alle zusammen, ich habe endlich die hardware meiner humanoiden roboterhand fertig (s. bild) und bin jetzt dabei ein paar erste programme zu implementieren.
Ich benutze einen AtMega16 und bin nun auf der suche nach einer (code-)effektiven art und weise, die servos der hand "kontinuierlich" anzusteuern, ohne zu viel speicher des µCs zu verbraten.

Die funktionierende aber unglaublich ineffektive version ist ja zB eine for-schleife, in der ich vom ist zum sollzustand die pulslänge in vielen schritten um wenige µs erhöhe. Das habe ich bisher aber nur durch addition/subtraktion hinbekommen - und das füllt meinen speicher schon um 20% mehr als der code vorher benötigt hat.

Also: ich wäre sehr dankbar für hilfen, wie man das code-effektiv lösen kann!

Viele Grüße

Alex

ExXeQtor
24.10.2010, 16:44
irgendwie ist der anhang nicht mitgekommen:

Besserwessi
24.10.2010, 17:35
Die Servoansteuerung sollte normal fast komplett in den Interrupt kommen. So kriegt man ein exactes Timing und hat vor allem noch viel Rechenzeit über. Ich hab es noch nicht Porgrammiert / compiliert, aber ich würde den Code von der Länge auf vielleicht 1 kByte im Flash schätzen. Den Code für die Ansteuerung mehrerer Servos sollte man irgendwo finden - dsa muß man nicht komplett selber schreiben.
Ein Ansatz wäre z.B. der Code im Wiki Bereich unter Servoansteuerung. Da sollte sich aber irgendwo auch noch was bessere Finden. Wichtig für einen kurzen Code ist es z.B. Fleißkommazahlen zu vermeiden und bei nicht zu viele Variablentypen unnötig zu mischen.

Feuerring
25.10.2010, 01:04
@ExXeQtor

sieht gut aus deine humanoiden roboterhand,

mach Dir doch keinen Stress mit den Servos ... gibt es ICs doch für ...
S D20 - 20 Kanal I²C RC- S ervocontroller (http://www.roboter-teile.de/datasheets/sd20.pdf)
Servocontroller-Modul SD21 (http://www.roboter-teile.de/Shop/themes/kategorie/detail.php?artikelid=23&source=2)

Gruss Ralf

funkheld
25.10.2010, 21:54
ein bisschen weiss, ist wohl krank der kleine....

ExXeQtor
26.10.2010, 14:23
...und er leuchtet blau im dunkeln, hat wohl was ungesundes gegessen ;-)

RAM
26.10.2010, 17:37
Sieht echt gut aus! Was ist das eigentlich für ein Material?

Gruß,

Martin

ExXeQtor
26.10.2010, 18:53
Danke!
Das ist Plaast, ein "kunststoff", der ab 60° (man tut ihn in heißes wasser) verformbar und transparent wird. Super sache für prototypen, war auch mein erster versuch.
Halt nicht fürs feld gemacht, ich weiß nicht was passiert wenn man die hand im sommer in der prallen sonne liegen lässt, vll geht auch das noch. sonst wärs schade drum :D