Moin,
stell mal den Quellcode ins forum und mach mal ne skizze vom aufbau.
MfG René
Hallo allerseits,
ich habe hier zwei Servo's von Robotikhardware (http://www.shop.robotikhardware.de/s...products_id=48)
Ich habe sie munter angeschloßen und entsprechend der Beschreibung im Wiki-Bereich angesteuert. Der Servo dreht aber allein bei "Config Servo = 1, Servo1 = Porta.0" schon. Sobald der Servo also konfiguriert wird und er weiß wo der Servo angeschloßen ist scheint er diesem die entsprechenden Signale zu senden.
Eine Eingabe von Servo(1) = X ist völlig wirkungslos.
Angesteuert wird er von einem Atmega32(RN-Control)
Der Servo ist übrigens NICHT(!!!!) gehackt.
Woran könnte es liegen?
Moin,
stell mal den Quellcode ins forum und mach mal ne skizze vom aufbau.
MfG René
Wie/wo hast du den Servo angeschlossen und poste mal bitte dein programm dazu.
edit: ach da war jemand schneller
Das ist der genaue Quellcode davonCode:Enable Interrupts Config Servos = 1 , Servo1 = Porta.0 , Reload = 20 Config Porta = Output Servo(1) = 20 Waitms 5000
Anschlußbelegung ist halt, Masse(schwarz) an GND vom Board, +5V(rot) an +5V vom Board und Signal(gelb) an Porta.0
Ich hab jetzt gerade nur eben den Servo teil kopiert ^^
Natürlich steht Quarzfrequenz und so davor:
$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600
Aber was ändert das daran? ^^
Edit: Zu der Do-Loop Schleife. Wieso in eine Do Loop Schleife? Dann würde er doch(angenommen es funktioniert) drehen. Dann seh ich ja keinen Unterschied zwischen meinem Fehler und dem dann richtigen Ergebnis ^^
Wo dran???
MfG René
Ah, kapiert
1. Der Servowert is schon mal zu niedrig(Wert >= 50)(Hängt mit dem timer1 oder 0 zusammen,Bla bla bla )
2. Der servowert ist die position vom Servohorn.(Also der "winkel")
MfG René
PS. Pn, wenn noch fragen
Moin,
nur ne Vermutung,bei mir steht "Enable Interrupts" nach der Servoconfig ev. ist der timer zuschnell und unterbricht immer.
Glaube ich zwar nich, aber eventuell.
Nimm mal den Quellcode, is meiner und funtzt bei mir.
MfG RenéCode:$regfile = "m32def.dat" $crystal = 16000000 Config Servos = , Servo1 = Porta.0 , Reload = 10 Config Portc = Output Enable Interrupts Declare Sub Rodeo Dim E1 As Byte Dim R As Byte Dim T1 As Word Do R = R + 1 If R = 5 Then Disable Interrupts Sound Portd.7 , 450 , 250 Sound Portd.7 , 200 , 100 Sound Portd.7 , 450 , 250 Wait 10 R = 0 Else Enable Interrupts E1 = Rnd(100) + 50 Servo(1) = E1 T2 = Rnd(900) + 10 Waitms T2 End If Loop End
Hi
Sorry das ich mich so lang nicht mehr gemeldet habe. Lag mit Grippe flach.
Das Problem ist inzwischen gelöst... Anstatt Pina.0 haben wir einfach mal Pina.1 genommen und siehe da es klappt.
Mal wieder sehr eigenartig.
Danke nochmals für die Hilfe
Lesezeichen