Zitat Zitat von oberallgeier Beitrag anzeigen
Die MotorPWM stimmt in der Frequenz mit der Periodendauer des Servopulses überein. Gegenproben bei Perioden von 16 ms und 25,+ ms Dauer bestätigten diese Feststellung. Das hatte ich noch nirgendwo erwähnt gesehen.
Nun, so ist das bei einem Analogservo. Da wird mit dem Beginn des Servopulses ein Monoflop gestartet. Die Länge des erzeugten Impulses wird durch das Poti im Servo bestimmt. Der Zeitunterschied zwischen dem Servosignal und dem intern erzeugten Puls ist die Regelabweichung. Daraus läßt sich dann leicht mit Logikgattern ein Differenzpuls erzeugen.

Als PWM Signal direkt taugt das noch nicht, weil sich da nur Zeiten bis zu 1,5ms, der Differenz zwischen Min- und Maxwert, ergeben. Das gibt bei einer 20ms Periodendauer nur einen maximalen Dutycycle von 7%. Der Differenzpuls wird daher nochmal proportional verlängert und ist dann das PWM-Signal für den Motor. Der M51660 ist ein Servo-IC, von dem man sicher noch ein Datenblatt finden kann. Da kann man das nachvollziehen.

Daher die Frage: gibt es ähnlich kleine - 8mm x 9 mm - Motortreiber mit vergleichbarer Belastbarkeit ?
Für kleinere Motore verwende ich gern den A4950 im SO8. Der verkraftet so bis 3A und hat zusätzlich eine eingebaute, einstellbare Strombegrenzung.

Man sollte aber, wenn man schon selbst entwickelt, die größte Schwachstelle der Servos beseitigen und Steuerlogik und Motortreiber nicht aus der gleichen Versorgung speisen. 5V bzw 3,3V können (vom µC oder auch einem Empfänger) über das Standardkabel geliefert werden, für die Motorspannung gibts einen extra Anschluß. Dann kann man das Ganze auch mal mit 2 Lithiumbatterien versorgen, ohne das die Steuerung gleich abbrennt. Wenn der µC einen Analogeingang über hat, kann er die Motorversorgung messen und die PWM passend nach oben begrenzen. Beim A4950 könnte man auch die Strombegrenzung so einstellen, daß der Motor nicht überlastet wird. Last but not least kann man aus einem Getriebemotor und einem mechanisch verbundenen (Mehrgang?) Poti maßgeschneiderte Servos bauen. Hat man dann im µC noch einen I2C Slave über, kriegt man auch ein "Luxusservo" hin, z.B. mit einstellbarer Verfahrgeschwindigkeit etc.

Ich würd auch nicht viel Mühe verwenden, die "neue" Elektronik in das vorhandene Gehäuse zu packen, insbesondere nicht für den Prototypen. Poti und Motor machen nur 5 Drähte aus und extern hat man viel Platz für die Kühlung. Auf einem eng gepackten Board entwickelt und testet es sich schlecht. Ich bestell meine Platinen bei elecrow, die Preise dürften bei seeed kaum anders sein. 5 Platinen bis 100*100mm hab ich für rund 10€ auf dem Tisch, da kann man sich leicht einen größeren Prototypen leisten. Für kleine Platinen nehme ich gern 1mm Material. Mehrfachnutzen mach ich selber. Dazu packe ich soviele Kopien des Layouts nebeneinander, daß die 100mm gut gefüllt sind. Platinenmaterial läßt sich gut mit einer Tafelschere schneiden, 1mm Material auch mit jeder guten Haushaltsschere.

MfG Klebwax