Digital Servo HS-5645MG läuft nicht mit Pulseout
Hallo zusammen,
was soll ich sagen: Nun sitze ich hier und versuche schon seit Stunden zu ergründen, warum der digitale Hitec Servo HS-5645MG nicht mit meinem Bascom Program funktioniert.
Ich habe einen 2,4GHz Funkempfänger am ATmega8 mit 4Mhz. Ich habe schon analoge Servos (RS-2;HS-55;HS-645MG) geprüft, die funktionieren ausnahmslos an dem Pin.
Am Enpfanger direkt angeschlossen, läuft der digital Servo - obwohl bei schnellem wechsel dort auch die Spannung so stark einbricht das er "dieses ich weiß nicht wo ich hin soll" Verhalten zeigt und langsam Richtung neutral tickert, bis er sich irgendwann irgendwie wieder fängt.
Im mega8 arbeite ich mit dem Pulseout Befehl. Der RC-Impuls wird hochskaliert damit der Ausgang für den Servo brauchbare Pulse liefert. Das ist zwar erstmal ungenau, aber zum testen ausreichend.
Aus verschieden Beiträgen habe ich schon herausgelesen das ein Widerstand in der Pulsleitung nicht schadet, da habe ich nun 2x 1k in Reihe verbaut. Das ganze ist auf Steckbrett aufgebaut.
Die Spannung kommt momentan aus einem LiPo 3s 2000mAh, über einen Spannnungwandler 78S05(2A). Auch ohne Stützkondensatoren laufen die analogen Servos (einzeln) wunderbar, nur der Digitale macht keinen Mucks, Kraft steht aber an.
µC ist extra aus 9V Block über 7805(1A) versorgt.
Ich habe zum prüfen leider nur ein Multimeter.
Bitte, wer weiß rat?
Code:
$regfile = "m8adef.dat"
$crystal = 4000000
'$sim
'$baud = 19200
$hwstack = 40
$swstack = 16
$framesize = 32
Ddrb.0 = 1 'system run
Portb.0 = 0
Portb.0 = 1
Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.3 , Db7 = Portd.2 , E = Portd.6 , Rs = Portd.7
Waitms 100
Config Lcd = 20 * 4
Waitms 10
Dim Rc_1 As Byte
Dim F As Single
Dim F1 As Word
Cls
Cursor Off
Do
Pulsein Rc_1 , Pinc , 1 , 1
'Upperline
Locate 1 , 1
Lcd "Servo1 = " ; Rc_1
F = Rc_1 * 11.511
F1 = F
Locate 2 , 1
Lcd "Servo1 = " ; F1
Pulseout Portb , 7 , F1
Waitms 10
Loop
End