Archiv verlassen und diese Seite im Standarddesign anzeigen : Servo mit Minicontrol steuern
Scarabol
24.10.2009, 20:26
Nabend,
gibt es ein Beispiel wie ich mit dem Minicontrol einen der fertigen Servo Steckplätze benutze?
MfG
Scarabol
KingTobi
24.10.2009, 20:35
C oder Basic?
http://www.rn-wissen.de/index.php/Servo
Scarabol
24.10.2009, 21:01
Ich verwende Bascom als denke ich wohl das es Basic ist.
Hier ist mein Programm:
$regfile = "m168def.dat"
$crystal = 16000000 'Quarzfrequenz
$baud = 9600
$hwstack = 32
$framesize = 32
$swstack = 32
Dim Center11 As Byte
Dim Center21 As Byte
Dim Pos11 As Byte
Dim Pos21 As Byte
Center11 = 105
Pos11 = 5
Center21 = 125
Pos21 = 20
'Servo config
Config Servos = 1 , Servo1 = Portc.1 , Reload = 10
Config Portc = Output
'finally we must turn on the global interrupt
Enable Interrupts
'ende Servo config
Do
' Print "center"
' Servo(1) = Center11
' Waitms 1000
Print "pos1"
Servo(1) = Pos11
Wait 1000
' Print "center"
' Servo(1) = Center11
' Wait 1000
Print "pos2"
Servo(1) = Pos21
Wait 1000
Loop
Allerdings fährt das Servo in Endlage und zittert dann nur noch...
MfG
Scarabol
KingTobi
24.10.2009, 21:06
Ja das ist oft so das Servos in Endlage egal ob links oder rechts rum zittern.
Fahr einfach bis kurz vor die Endlage.
Scarabol
24.10.2009, 21:08
Wozu ist das Enable Interrupts?
MfG
Scarabol
KingTobi
24.10.2009, 21:11
Ich kenn mich mit Bascom nicht aus, aber eventuell muss es an der Stelle eingeschaltet werden, damit ein Timer gestartet wird über den die Signallänge erzeugt wird
Scarabol
24.10.2009, 21:17
Danke für die schnelle Hilfe, mein Servo funktioniert jetzt.
Hier nochmal mein Programm:
$regfile = "m168def.dat"
$crystal = 16000000 'Quarzfrequenz
$baud = 9600
$hwstack = 32
$framesize = 32
$swstack = 32
Dim Center11 As Byte
Dim Center21 As Byte
Dim Pos11 As Byte
Dim Pos21 As Byte
Center11 = 20
Pos11 = 50
Center21 = 210
Pos21 = 190
'Servo config
Config Servos = 1 , Servo1 = Portc.1 , Reload = 10
Config Portc = Output
'finally we must turn on the global interrupt
Enable Interrupts
'ende Servo config
Do
' Print "center"
' Servo(1) = Center11
' Waitms 1000
Print "pos1"
Servo(1) = Pos11
Waitms 1000
' Print "center"
' Servo(1) = Center11
' Wait 1000
Print "pos2"
Servo(1) = Pos21
Waitms 1000
Loop
Als Servo verwende ich das "TOP-LINE STANDARD SERVO RS 2 JR" von conrad.de
Bei dem Servo ist:
orange = Port / Signal
rot = 5V
schwarz = GND
MfG
Scarabol
Suggarman
26.10.2009, 14:54
Versuche anstatt 20,50 und 210 mal 80, 100 und 120.
Mit meinem RN-Mega2560 bin ich bei deinen Werten voll am Anschlag.
mfg
Stefan
Scarabol
29.05.2010, 12:53
Hi,
kann ich die Servos auch ohne Enable Interupts ansteuern?
Ich benutze gleichzeitig eine serielle Verbindung um die Positionen für das Servo zu übermitteln, aber irgendwie kommen die sich wohl in die Quere...
MfG
Scarabol
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.