-
Servos ruckeln stark
Code:
$regfile = "m8def.dat"
$crystal = 1000000
$baud = 4800
Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 1
Config Servos = 2 , Servo1 = Portc.0 , Servo2 = Portc.1 , Reload = 10
Config Portc = Output
Enable Interrupts
Dim A As Byte
Dim B As Byte
Servo(1) = 150
Servo(2) = 150
Schleife:
Inputbin , A , B
If A > 0 Then Servo(1) = A
If B > 0 Then Servo(2) = B
Goto Schleife
was ich will ist 2 servos per rs232 zu steuern. ich will per terminal werte übergeben. am anfang stelle ich die servos auf mittelstellung. da fangen sie an zu ruckeln. ca. 3x pro sekunde mit einer auslenkung von immerhin 2 mm. (5€-conradservos). Das ist auf die dauer tierisch nervig, kann mir jemand sagen woran das liegt? wenn ich z.b. auf 0 fahre ruckelts nicht. die bascom-routine kann doch nicht SO schlecht sein.
-
*umguck* Leute? Das kann doch nicht sein dass da niemand was zu sagen kann.. braucht ihr noch irgendwelche zusatzinfos?
-
Hi!
Habe genau diese Servos auch vor 2 Wochen getestet, geht einwandfrei!
Habe das Demo Programm leider nicht hier. Aber 150 ist für diese Servos weit über dem anschlag!!!
Rechtsanschlag war glaube ich max. 112, versuchs mal.
Gruß
Sven
-
reicht die stromversorgung? bzw isses dieselbe für avr und servo?
ich hatte dasselbe problem, und da war die glättung der gleichspannung nicht genügend
-
Lionking hat , leider , Recht. Fast alle analogen Servos ruckeln, wenn man diese an Netzgeräten betreibt. Aber auch bei Akkubetrieb ist es Empfehlenswert die Spannung am Servostecker mit einigen µF zu blocken.
Gruß Hartmut
-
Nachdem meine Betriebs-LED der Platine im gleichen Takt geflackert hat wie die Servos hab ich nen Netzteil statt der Batterie drangehängt und nun leuchtet sie Konstant. Das mit den Werten: Servos werden doch mit 1-2 ms-Puls gesteuert, oder? Ich dachte 100 in der Bascom "Servoskala" entsprechen 1ms Puls. Ist das nicht so?
-
doppelpost... also sollte ich ne batterie verwenden und am servo +5v und gnd mit nem elko verbinden. soll ich auch die signalleitung entstören?
-
Genau, zwischen +5V und GND ein C von 4,7µF bis 22µF.
An der Signalleitung ist nichts zu entstören. Wenn Du da ein C dranhängst entfernst Du nur die Servoimpulse :-)
Gruß Hartmut
-
mm stimmt auch wieder! ;) ich probier das mal ans. bleibt jetzt nur noch die frage: wie sind die pulsbreitenangaben in bascom zu verstehen?
-
Hallo,
im günstigsten Fall sollten alle 10 µs ein update des Wertes geschehen, bzw. was man bei Reload angibt,
hängt aber von der CPU-Frequenz ab wie ganau das dann wirklich ist.
Ich hab einfach ausprobiert, und den Servo von der einen Seite zur andren gefahren um zu sehen wie's mit den Werten aussieht.
Dann so drauf das Programm abgestimmt.