
Zitat von
Kampi
Starten heißt was?
Legst du da nur eine Spannung an oder gibst du auch was über
RS232 oder
UART auf das Board?
Und dann wäre eine genauere Beschreibung deines Problems hilfreich. Was auch gut wäre wäre ein Schaltplan deines Aufbaus sowie von dem was du auf das Modul an Befehlen gibst.
Ich habe das Micro Servo Board mit dem RN-Mega2560 verbunden. Ich habe alle Anschlüsse für die Spannung belegt, wie in den jeweiligen hier anhängenden Dokus beschrieben ist. Der Strom kommt über einen Netzstecker mit 5 V. Beide Module sind seriell Verbunden, d.h. Tx vom RN-Mega2560 auf den Stecker logic-level seriell input des Servoboards. Der Servo ist am Servoboard angeschlossen. Sobald ich jetzt den Netzstecker reinstecke, dreht der Servo kurz rechts herum. Erst dann dreht er sich in die per Bascomprogramm festgelegten Richtungen. Der Servo drecht auch kurz nach rechts oder versucht es, obwohl er vorher schon seine Endstellung fürs rechtsrumdrehen erreicht hatte.
Code:
' Pololu Testprogram
$regfile = "m2560def.dat"
$hwstack = 82
$framesize = 68
$swstack = 68
$crystal = 16000000 'Quarzfrequenz
'$baud = 19200
Config Pind.5 = Output
Led Alias Portd.5
Dim Servonumber As Byte
Dim Servodevice As Byte
Dim Servocommand As Byte
Dim Servogespeed As Byte
Dim Servodata1 As Byte
Config Com3 = 19200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Open "com3:" For Binary As #3 'Servomodul
Do
' Pololu mode
Led = 1
Servodevice = 1 'Device-Number
Servonumber = 7 'Servonumber
Servocommand = 2 'Position
Servodata1 = 90 '0 to 127
Print #3 , Chr(128) ; Chr(servodevice) ; Chr(servocommand) ; Chr(servonumber) ; Chr(servodata1)
Wait 2
Led = 0
Servodevice = 1
Servonumber = 7
Servocommand = 2
Servodata1 = 70
Print #3 , Chr(128) ; Chr(servodevice) ; Chr(servocommand) ; Chr(servonumber) ; Chr(servodata1)
Wait 2
Loop
End
Ich hoffe die Beschreibung reicht
Grüße
datatom
Lesezeichen