Hi RN!
Ich versuche jetzt seit ein paar tagen schon ein servo mit meinem ATmega8 zu steuern...
Also, folgender Aufbau:
Ein MyAVR-Board mit ATmega8 in Bascom Programmiert.
Ein "Sanwa 1301" Servo mit externer Stromversorgung (6V).
PinB.1 ist mit der Signalleitung des Servos verbunden.
Ich habe zwei verschiedene Programme geschrieben:
Code:
$regfile = "m8def.dat"
$crystal = 1000000
Config Portb = Output
Config Servos = 1 , Servo1 = Portb.1 , Reload = 10
Enable Interrupts
Do
Servo(1) = 150
Loop
End
mit dem Code Ruckelt das Servo fast am Anschlag mit ~5Hz.
2. Versuch:
Code:
$regfile = "m8def.dat"
$crystal = 1000000
Config Portb = Output
Do
Portb.1 = 1
Waitus 1500
Portb.1 = 0
Waitms 20
Loop
End
Mit Diesem Code ruckelt das Servo nicht mehr, es fährt ganz normal bis zum Anschlag.
Das Problem ist nur, dass ich keinen einfluss auf die angefahrene position
habe wenn ich die HI-Periode zwischen 1 und 2 ms schwanken lasse.
Ich weiss wirklich nicht mehr weiter... ich habe schon versucht andere
werte für $crystal zu nehmen... aber 1000000 sollte stimmen oder?
Auch ein vorwiderstand an portb.1 hilft nichts...
Kann es am Servo liegen?
Ich bin wirklich neu auf dem Gebiet, die Lösung kann also durchaus banal sein.
danke schonmal...
FlashCube
Lesezeichen