Archiv verlassen und diese Seite im Standarddesign anzeigen : Servo Ansteuerung
Hallo allerseits,
ich habe hier zwei Servo's von robotikhardware (http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=70&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 O:)
Enable Interrupts
Config Servos = 1 , Servo1 = Porta.0 , Reload = 20
Config Porta = Output
Servo(1) = 20
Waitms 5000
Das ist der genaue Quellcode davon
Anschlußbelegung ist halt, Masse(schwarz) an GND vom Board, +5V(rot) an +5V vom Board und Signal(gelb) an Porta.0
Ähhm,
Quarzfrequenz, ...... in Bascom gewechselt???
Und pack den Servowert-befehl in ne do loop schleife
sry wegen der schreibweise muss weg.
MfG René
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 ^^
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.
$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
MfG René
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
Mhh,
hört sich ja sehr komisch an.
Naja viel Spass noch beim basteln.
MfG René
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.