PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Servos ruckeln stark



Goblin
26.04.2006, 17:39
$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.

Goblin
27.04.2006, 07:51
*umguck* Leute? Das kann doch nicht sein dass da niemand was zu sagen kann.. braucht ihr noch irgendwelche zusatzinfos?

ACsenf
27.04.2006, 08:23
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

lionking
27.04.2006, 12:17
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

Hessibaby
27.04.2006, 13:54
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

Goblin
27.04.2006, 13:54
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?

Goblin
27.04.2006, 14:07
doppelpost... also sollte ich ne batterie verwenden und am servo +5v und gnd mit nem elko verbinden. soll ich auch die signalleitung entstören?

Hessibaby
27.04.2006, 14:28
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

Goblin
27.04.2006, 17:51
mm stimmt auch wieder! ;) ich probier das mal ans. bleibt jetzt nur noch die frage: wie sind die pulsbreitenangaben in bascom zu verstehen?

linux_80
27.04.2006, 18:44
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.