HAL9999
21.02.2008, 15:03
Hallo,
bei dem RNBFRA-Board mit ATMEGA32 von Robotikhardware.de funktioniert der Servotreiber nicht auf anhieb. Ich muss dazu sagen, dass ich auch noch nicht so viel Ahnung von AVR habe. Vielleicht ist es ja nur irgend eine kleinligkeit. Das Board habe ich mit den Beispielprogrammen getestet - lauflicht und getriebemotoren funktionieren einwandfrei. Bei dem folgenden Servotreiber (rns1) geht allerdings gar nichts. auf die richtige Steckerrichtung habe ich geachtet - das servo (auch von robotikhardware) zuckt beim einschalten des boards schon mal. Als Progger nutze ich den USB-ISP-Programmer.
schon mal vielen dank für eure Antworten.
gruss euer sascha.
$regfile = "m32def.dat"
Declare Sub Rnb_servo(byval Servonummer As Byte , Byval Position As Byte)
Declare Sub Rnb_servob(byval Servonummer As Byte , Byval Position As Byte)
Dim I As Byte
Dim Pos As Byte
$crystal = 1000000 'Quarzfrequenz
$baud = 9600
Wiederhole:
For I = 1 To 255
Call Rnb_servo(1 , I)
Waitms 50
Next I
For I = 1 To 4
Pos = 1
Call Rnb_servo(1 , Pos)
Wait 2 'Warte 2 Sekundne
Pos = 255
Call Rnb_servo(1 , Pos)
Wait 2
Next I
Goto Wiederhole
Sub Rnb_servo(byval Servonummer As Byte , Byval Position As Byte)
Print "#s" ; Chr(servonummer) ; Chr(position)
End Sub
Sub Rnb_servob(byval Servonummer As Byte , Byval Position As Byte)
Open "comd.7:9600,8,n,1" For Output As #2
Print #2 , "#s" ; Chr(servonummer) ; Chr(position)
Close #2
End Sub
End
bei dem RNBFRA-Board mit ATMEGA32 von Robotikhardware.de funktioniert der Servotreiber nicht auf anhieb. Ich muss dazu sagen, dass ich auch noch nicht so viel Ahnung von AVR habe. Vielleicht ist es ja nur irgend eine kleinligkeit. Das Board habe ich mit den Beispielprogrammen getestet - lauflicht und getriebemotoren funktionieren einwandfrei. Bei dem folgenden Servotreiber (rns1) geht allerdings gar nichts. auf die richtige Steckerrichtung habe ich geachtet - das servo (auch von robotikhardware) zuckt beim einschalten des boards schon mal. Als Progger nutze ich den USB-ISP-Programmer.
schon mal vielen dank für eure Antworten.
gruss euer sascha.
$regfile = "m32def.dat"
Declare Sub Rnb_servo(byval Servonummer As Byte , Byval Position As Byte)
Declare Sub Rnb_servob(byval Servonummer As Byte , Byval Position As Byte)
Dim I As Byte
Dim Pos As Byte
$crystal = 1000000 'Quarzfrequenz
$baud = 9600
Wiederhole:
For I = 1 To 255
Call Rnb_servo(1 , I)
Waitms 50
Next I
For I = 1 To 4
Pos = 1
Call Rnb_servo(1 , Pos)
Wait 2 'Warte 2 Sekundne
Pos = 255
Call Rnb_servo(1 , Pos)
Wait 2
Next I
Goto Wiederhole
Sub Rnb_servo(byval Servonummer As Byte , Byval Position As Byte)
Print "#s" ; Chr(servonummer) ; Chr(position)
End Sub
Sub Rnb_servob(byval Servonummer As Byte , Byval Position As Byte)
Open "comd.7:9600,8,n,1" For Output As #2
Print #2 , "#s" ; Chr(servonummer) ; Chr(position)
Close #2
End Sub
End