Forum: Mikrocontroller und Digitale Elektronik 4 Servos mit Bascom -> Verzögerung


von Dieter K. (Gast)


Lesenswert?

Liebe Forumsgemeinde,

ich steuere 4 servos mit Bascom auf einem ATMega 128 mit folgendem Code:
1
Config Servos = 4 , Servo1 = Portc.0 , Servo2 = Portc.2 , Servo3 = Portc.4 , Servo4 = Portc.6 , Reload = 10
2
3
.
4
.
5
.
6
7
  Servo(1) = 109
8
  'Waitms 100
9
  Servo(2) = 66
10
  Servo(3) = 109
11
  Servo(4) = 66
12
13
  Waitms 500
14
15
  Servo(1) = 87                                             ' Servo 1 Start
16
  Servo(2) = 87                                             ' Servo 2 Start
17
  Servo(3) = 87                                             ' Servo 3 Start
18
  Servo(4) = 87                                             ' Servo 4 Start
19
20
  Waitms 500
21
22
.
23
.
24
.

Das klappt soweit auch ganz gut, nur habe ich bemerkt, dass ein Servo 
von den vieren immer verzögert reagiert. D.h. 3 Servos stellen 
gleichzeitig, dann fängt erst der letzte an zu stellen. Deswegen auch 
das auskommentierte ' Waitms 100. Hat jemand schon mal ähnliches erlebt? 
Wie kann ich dieses Problem beheben?


PS: Habe dasselbe Programm auch auf einem ATMega48/88 ausprobiert mit 10 
MHZ. Da trat genau dasselbe Problem auf. Auch habe ich schon mit 
verschiedenen Reload-Zeiten 3/5/9/11/20/30 experimentiert (da steuerten 
die Servos gar nicht, einzeln, oder hintereinander)

MfG
Dieter

von STK500-Besitzer (Gast)


Lesenswert?

Das liegt vermutlich an der "Blackbox", die Bascom dir zur Verfügung 
stellt. Alles, was man selbst programmiert, kann man auch optimieren - 
Blackboxes meist nicht...

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
Noch kein Account? Hier anmelden.