Zielgerichtet probieren
Aber versuchen wir, Zeit zu sparen sowie sicherzugehen und stecken wenigstens einen ungefähren Wertebereich ab. Dazu setzen wir eine simple Verhältnisgleichung an: Wir wissen, dass bei einem Wert von 255 durchgängig Strom anliegt für 5,4 Millisekunden, weiterhin sollte bei circa 0,7 Millisekunden der Servo bei circa -90 Grad stehen.
Also rechnen wir: (255 * 0,7) / 5,4 = 33. Übergeben wir also den Wert 33, sollte der Servo ganz nach links ausschlagen. Der Ausschlag ganz nach rechts sollte bei einer Zeit von um die 2,0 Millisekunden erfolgen: (255 * 2,0) / 5,4 = 94. Damit haben wir einen potenziellen Wertebereich von 33 bis 94.
Die Nullstellung des Servos (+-0 Grad) sollte in der Mitte bei (94 - 33) / 2 + 33 = rund 63 liegen. Folgende Zeile müsste den Servo auf 0 Grad stellen:
bus.write_byte_data(0x20, 0x2B, 63)
Oder wir lassen den Servo in einer Schleife von links nach rechts laufen:
for i in range(33, 94) : bus.write_byte_data(0x20, 0x2B, i) time.sleep(0.1)
Die Pause ist notwendig, weil ein zu schneller Wechsel des Wertes zum "Verschlucken" von Werten führen kann. Im praktischen Test haben wir festgestellt, dass unser Servo mit etwas kürzeren Zeiten arbeitet. Da hat sich ein Wertebereich von 29 bis 89 als sinnvoll erwiesen. Wie oben angesprochen, sind die Werte vom Servotyp abhängig.
Nach diesen Rechnungen erklärt sich auch, warum eine Periodenlänge von 24 Millisekunden/40,8 Hz eher unpraktisch ist: Nutzen wir die obigen Verhältnisgleichungen und setzen wir als untere Grenze wieder 0,7 und als obere 2,0 Millisekunden an, erhalten wir einen Wertebereich von 7 bis 21. Also gerade mal 21 - 7 = 14 mögliche Servo-Positionen, im Gegensatz zu 5,4 Millisekunden/183.8 Hz mit seinen 94 - 33 = 61 möglichen Servo-Positionen.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
I2C - die letzte Abkürzung, versprochen! | Der letzte Schritt |
Wozu der Umweg über Flattr wenn man auch direkt Paypal nutzen kann? Versteh ich nicht.
Danke :] Ich benutze die app täglich auf mehreren PCs und habe mich so drann gewöhnt. Sie...
Besten Dank für die Info. Gruss, gehirnpest
...ein 5 Jahresprojekt, dass dann nach 7 Jahren wegen nicht eingetretenem Erfolg eingestellt.
[..] und wir wollen dabei lernen. Genau sowas hat mir bei Golem bisher immer gefehlt...