PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Servo funktioniert nicht.



HAL9999
21.02.2008, 14: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

HAL9999
21.02.2008, 20:45
Hallo,
habe nun versucht die Hex-Datei (Servobetriebssystem rns1) auf den Co-Controller mittels ISP2 zu laden. Dabei kam die Fehlermeldung "Error while programming". Dann leuchtete die Rote Prog-LED des ISP-Programmers kontinuierlich und das Board gab auch nichts mehr von sich. Eine erneute programmierung schlug fehl. Auch der versuch das Beispiel-Programm für den Co-Controller drauf zu laden schlug fehl. Habe dann alles Ausgeschaltet und den Progger auch vom PC herausgezogen. Danach konnte ich wenigstens das Bsp-prog für den Co-controller wieder draufladen und ausführen. zwei weitere versuche mit den unterschiedlichen brücken, die im PDF beschrieben waren, haben das gleiche verursacht. (Fehlermeld. "Error while programming" + dauerhaft leuchtende rote led am progger etc.) Dann habe ich versucht eine andere Servo-software für den Co-controller hochzuladen (rnsi2c) https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=21164&highlight=rnsi2c, das hier im forum als alternative zum rns1-treiber dargestellt wurde - da gab es aber auch den gleichen fehler. Da ich einen Vista-rechner benutze habe ich vorsichtshalber das gleiche auch auf einem XP-Rechner probiert - doch da kam auch der gleiche fehler. Weiss jemand, warum ich das co-controller-test-pgm erfolgreich hochladen kann aber das servo-betriebssystem nicht? Bin mit meinen versuchen echt am ende und würde mich freuen, wenn jemand mir helfen könnte.
gruß
sascha

HAL9999
23.02.2008, 13:55
Hallo,
das Problem ist mit den Fusebit-Einstellungen (Code: 101111-... bei meinem Prozessor ATMEGA32 in Bascom - aktuelle Version) gelöst. Servo Funktioniert - allerdings nur mit einem Drehwinkel von 90 Grad. Womit man laut Franks Aussage in einem anderen Beitrag wohl leben muss - wg. der Gefahr, dass das Servo sonst überdreht und sich somit beschädigen könnte. Gibt es evtl. eine Treiberversion, die etwas Hardwarenaher ist und mehr als 1-255 als Positionsangabe unterstützt aber dennoch so einfach zu Programmieren bzw. Einzubinden ist? Auch wenn man sich dabei das Servo zerschiessen könnte... - Ist mir das Risiko wert. [-X
Vielen Dank und viele Grüße
Euer Sascha.

Dirk
23.02.2008, 14:07
Hallo sascha,

die beste Servo-Treiber-Version für den Co der RNBFRA war m.E. die I2C-Version (ohne Steckbrücken und ähnliches) von PicNick hier:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=21164

Gruß Dirk