Hallo zusammen, was empfehlt Ihr mir für die Ansteuerung von ca. 30 Servo-Motoren. Kann ich das alles über einen Microcontrolelr/Arduino mit (14I/Os) laufen lassen. Ich denke man benutzt Treiber. Oder? Kann man diese beliebig in Reihe schalten (wie bei Schieberegistern oder Multiplexern)? Oder wie würdet Ihr so etwas lösen? Viele Grüße und danke!
123link schrieb: > ca. 30 Servo-Motoren. Was für Servomotoren? Modellbauservos? Oder eher etwas wie solche industrielle 20kW Servoachsen?
Lothar M. schrieb: > Was für Servomotoren? > Modellbauservos? Oder eher etwas wie solche industrielle 20kW > Servoachsen? Es geht um solche Servos: http://www.pollin.de/shop/dt/ODE5OTcxOTk-/Freizeit_Buero_Modellbau/Modellbau/Modellbau/Servomotor_analog.html (Modellbauservos)
123link schrieb: > Ansteuerung von ca. 30 Servo-Motoren. Was sind für dich "Servo-Motoren"? Siehe Bilder. Das linke ist das, was man normalerweise damit meint, aber hier wird bei Fragen auch schon mal eher ein Modellbau-Servo (zweites Bild) so bezeichnet. Die ersteren benötigen in der Tat einen Treiber/Leistungselektronik. Letztere kann man in größerer Zahl über Schieberegister ansteuern. So wurde das früher in den Fernsteuer-Empfängern gemacht und funktioniert auch mit einem µC. PS: Mist, zu spät. Du kannst z.B. einen 4017 1-aus-10-Zähler nutzen. Der war in den Modellbau-Empfängern oft verbaut.
:
Bearbeitet durch User
Hallo, ah vielen Dank für Deine Antwort! Tja da war ich schneller :D Ich dneke ich werde es dann über Schieberegister lösen. Fann bin ich ja mit der Anzahl recht flexibel! Und ich habe noch ganz viele von den 4021 daheim rumliegen. Vielen Dank für Deine Hilfe! VG
Interessierter schrieb: > Braucht man zum Ansteuern nicht eine PWM? Nicht PWM, sondern Pulsbreitenmodulation. Die Frequenz ist den Dingern in weiten Grenzen egal.
W.A. schrieb: > Interessierter schrieb: >> Braucht man zum Ansteuern nicht eine PWM? > > Nicht PWM, sondern Pulsbreitenmodulation. PWM ist Pulsbreitenmodulation. Das W steht für "width"="Breite". > Die Frequenz ist den Dingern in weiten Grenzen egal. Ja, entscheidend ist nicht das Puls-Pausen-Verhältnis, sondern nur die reine Pulsdauer, solange die Periodendauer ganz grob im richtigen Bereich liegt. Bei der klassischen Ansteuerung von Modellbauservos mit per 4017 aus einem PPM-Signal erzeugten Servopulsen ist die Periodendauer im Schnitt 20 ms, kann aus Sicht des Servos aber einen extrem großen Jitter haben.
Ein stm32f103c8t6 hat 37 io pins, kostet unter 3,- und kann über Arduino IDE programmiert werden?
Andreas R. schrieb: > Ein stm32f103c8t6 hat 37 io pins, kostet unter 3,- und kann über Arduino > IDE programmiert werden? Ist das eine Frage.
Christian M. schrieb: > W.A. schrieb: >> Nicht PWM, sondern Pulsbreitenmodulation. > > =8-( ) Üblicherweise wird unter PWM aber eine Modulation vom Tastverhältnis verstanden, d.h. konstante Frequenz und Steuerung des Verhältnisses von On-Zeit zu Periodendauer.
Mirko schrieb: > Andreas R. schrieb: >> Ein stm32f103c8t6 hat 37 io pins, kostet unter 3,- und kann über Arduino >> IDE programmiert werden? > > Ist das eine Frage. Nein, nur ein praktischer Vorschlag.
Ursprünglich wurde das Protokoll der Modellbauservos für eine primitive Funkverbindung konzipiert. Die Pulsbreiten für 8 Servos werden einfach nacheinander übertragen und im Empfänger auf 8 Servos verteilt. Du könntest die Pulsbreiten für 8 Servos auf einem Prozessorpin ausgeben und dahinter wie in einem Fernsteuerempfänger verteilen.
Schau mal hier: https://www.pololu.com/category/12/rc-servo-controllers Damit nimmst du dem AV eine Menge Arbeit ab. Dieser kann dann andere Dinge tun. Gruss Ralf
Noch einer schrieb: > Du könntest die Pulsbreiten für 8 Servos auf einem Prozessorpin ausgeben > und dahinter wie in einem Fernsteuerempfänger verteilen. Vor dem Verteiler kann das eine feste "1" sein. Dafür braucht man keinen Prozessorpin. Das Kanalumschaltsignal bestimmt dann, wie lange diese "1" zu dem jeweiligen Servoausgang gelangt. Da wäre man dann beim CD4017, der einfach einen Clock entsprechend den gewünschten Servopositionen bekommt. Mit 5 IO-Pins vom µC und 4x CD4017 (4x Clock, 1 Reset) könnte man dann von der Hardware bis zu 40 Servos ansteuern.
W.A. schrieb: > Christian M. schrieb: >> W.A. schrieb: >>> Nicht PWM, sondern Pulsbreitenmodulation. >> >> =8-( ) > > Üblicherweise wird unter PWM aber eine Modulation vom Tastverhältnis > verstanden, d.h. konstante Frequenz und Steuerung des Verhältnisses von > On-Zeit zu Periodendauer. Üblicherweise wird ein Modelbauservo genau so gesteuert.
lars schrieb: > Üblicherweise wird ein Modelbauservo genau so gesteuert. Die Position hängt aber nicht vom Tastverhältnis ab. Beispiel: Gib eine Pulsfolge mit Tastverhältnis 5% aus, einmal bei 25Hz und einmal bei 50Hz aus. Der Servo wird von +90° auf -90° fahren.
lars schrieb: > Üblicherweise wird ein Modelbauservo genau so gesteuert. Nein! Der wertet NUR die Impulsbreite aus. Nicht das Puls/Pause-Verhältnis! Die Periodendauer ist ihm (in weiten Grenzen) egal.
Wolfgang schrieb: > Noch einer schrieb: >> Du könntest die Pulsbreiten für 8 Servos auf einem Prozessorpin ausgeben >> und dahinter wie in einem Fernsteuerempfänger verteilen. > > Vor dem Verteiler kann das eine feste "1" sein. Dafür braucht man keinen > Prozessorpin. Hä? Wo soll diese 1 hingehen? > Das Kanalumschaltsignal bestimmt dann, wie lange diese "1" zu dem > jeweiligen Servoausgang gelangt. Ja, das ist dann der oben beschriebene Pin, von dem aus es wie in einem Fernsteuerempfänger verteilt wird. > Da wäre man dann beim CD4017, der einfach einen Clock entsprechend den > gewünschten Servopositionen bekommt. Mit 5 IO-Pins vom µC und 4x CD4017 > (4x Clock, 1 Reset) könnte man dann von der Hardware bis zu 40 Servos > ansteuern. Beim PPM-Modellbau-Emfänger war es so, dass maximal 9 Servos angeschlossen werden konnten. Dann gab es nach dem 9. Servo eine Pause, die der Empfänger nutzen konnte, um zu erkennen, dass jetzt der Reset aktiviert werden muss. Wenn du an jeden 4017 10 Servos hängst, gibt es keine Pause mehr. Die braucht man am µC zwar nicht, um zu erkennen wann ein Reset ansteht, aber ohne die Pause kannst du die Länge des Impulstelegramms nicht mehr steuern. Die hängt dann von der Dauer der 10 Servopulse ab und variiert von 10 ms (10 Servos mit je 1 ms Puls) bis 20 ms (alle auf 2 ms Pulsdauer). Wenn du das also viermal gleichzeitig ansteuerst, sind alle 4 Impulstelegramme in der Regel unterschiedlich lang, und bei jedem kommt der Reset zu einem anderen Zeitpunkt. Man braucht also für jeden 4017 einen eigenen Pin für den Reset. Man könnte natürlich sagen, dass man den Reset nur einmal am Anfang macht und es danach frei durchrennen läßt. Sollte aber aus irgendeinem Grund sich mal was verschieben, werden ab dem Zeitpunkt die Impulse falsch ausgegeben, ohne dass der µC das merkt. > Da wäre man dann beim CD4017, der einfach einen Clock entsprechend den > gewünschten Servopositionen bekommt. Mit 5 IO-Pins vom µC und 4x CD4017 > (4x Clock, 1 Reset) könnte man dann von der Hardware bis zu 40 Servos > ansteuern. Erwin D. schrieb: > lars schrieb: >> Üblicherweise wird ein Modelbauservo genau so gesteuert. > > Nein! Der wertet NUR die Impulsbreite aus. Nicht das > Puls/Pause-Verhältnis! Die Periodendauer ist ihm (in weiten Grenzen) > egal. Und sie muss ihm auch egal sein, da wie oben schon geschrieben die Periodendauer bei klassischer Ansteuerung systembedingt variierte.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.