Servo die 50zigste - NIX HILFT!
Hallo zusammen,
eins vorweg ich habe wirklich überall im Forum und in den bekannten Hilfedateien gesucht.
Habe ein großes Problem mit der Servoansteuerung.
Ich habe folgenden Code:
Code:
$regfile = "m16def.dat"
$crystal = 8000000
Dim Center As Integer
dim servopos as integer
dim left as integer
dim right as integer
left=100
right=200
center=150
Config Servos = 2 , Servo1 = Portb.1 , Servo2 = Portb.0 , Reload = 10
Config Portb = Output
Enable Interrupts
Servopos = Center
Servo(1) = Servopos
Wait 1
Servopos = left 'nach links fahren
Servo(1) = Servopos
Wait 1
print "Rechtsdrehung"
For Servopos = left To right Step 10
Servo(1) = Servopos
Waitms 10
Next
Wait 1
print "Linksdrehung"
For Servopos = right To left Step -10
Servo(1) = Servopos
Waitms 10
Next
Wait 1
print "Mitte"
Servopos = Center
Servo(1) = Servopos
Ich benutze ein STK500 und das Servo macht das "übliche", es ruckelt in eine Richtung bis Endanschlag.
Nichts hat geholfen, weder das Timing noch die Veränderung des Reload.
Benutze Robbe FS500 Servos.
Kann mir jemand sagen wo ich noch suchen könnte?
Ich schreibe den Code in Bascom, brenne aber über AVR-Studio4 nur den HEX-File über STK500. Die Frequenz im STK500 ist auch 8 Mhz. Ports und Pins sind richtig. Servos i.O.
Danke und Gruß
Markus
Vielen Dank für Eure Hilfe
Ich habe die Fehlerquelle gefunden.
1. Das Servo war richtig angeschlossen - Bin Modellbauer daher weis ich bei Robbe ist weiß=Impuls
2. Die Änderungen der Variablennamen haben nichts bewirkt.
3. Das Servo soll sich recht "flott" bewegen - jetzt tut es das auch.
Ich habe vergessen das ich den STK500 Takt hergenommen habe. Aber das Fusebit im Controller auf "intern" hatte. Das kann natürlich nicht funktionieren.
Fusbit auf "extern" und schon klapp´s Sorry aber da bin ich echt erst um 02:00 per Zufall draufgekommen. Danke aber allen die mir geantwortet haben - das sind trotzdem wieder gute Tips.
Merci
Markus