Gast
#68468
Hallo,
ich tüftel gerad an einer Servo Steuerung für einen Roboter.
Normalerweise werden die ja über ein PWM Signal gesteuert. Für einen
Schreitroboter benötigt man nun 12 oder 18 Servos. soviele PWM Kanäle
hat aber kein Controller.
Nun die Idee:
Die Kommandos welcher Motor wohin dreht kommt z.B. über UART. In der
Hauptprogrammschleife wird nun permanent eine PWM an den Ports erzeugt.
Hmm... ich schreibs mal in Pseudo-Code:
(es gilt Standard-Servo PWM! 1.0 - 2.0 ms High, 48 ms Low)
while(1)
{
UART KOMMANDOS AUSWERTEN;
while(Zeit < 2 ms)
{
if Motor1: PINX0= HIGH;
if Motor2: PINX1 = HIGH;
if Motor3: PINX2 = HIGH;
...
if Motor18: PIN.. = HIGH;
}
PINX = LOW;
WARTE 48 ms;
}
Ich hoffe ich konnte mein Problem rüberbringen?! Gibt es hier
vielleicht noch eine Andere Lösung oder geht das so? Ich wollte auf
aufwendige Servo-IC´s verzichten. Denn so wird die Schaltung schon fast
trivial...
Der Controller wäre damit natürlich ausgelastet. Aber man könnte dafür
ja einen kleinen 2313 nehmen...
MfG Torsten