Mein Standard-Servomotor (universelles Standardservo für 9,95 von Robotikhardware) verhält sich plötzlich etwas seltsam, was kann denn da kaputt gehen?
Ich hatte schon mal ein kleines Ansteuerprogramm für den Servo mithilfe des RP6-ADC-Ausgangs geschrieben, das funktioniert hat. Nun funktioniert weder dieses Programm, noch ein ähnliches Programm auf dem Rn128Megafunk.
Zum Test habe ich, inspiriert von einem anderen Boardeintrag, ein kleines AVR-Oszi gebaut, weil ich erst dachte, die Servosignale würden nicht richtig funktionieren. Hab dazu einfach Servosignale über einen anderen ADC-Eingang wieder eingelesen (man kommt so auf Abtastraten von 0,2 ms). Hier kann ich ganz klar sehne, dass sich die Pulsweite verändern lässt, die Signalgeneration scheint also zu funktionieren.
Programm habe ich mal beigefügt.
Der Servo selbst zuckt aber überhaupt nicht, trotzdem bewegt er sich aber in anderen Fällen, beim Ein-oder Ausschalten, mal ruckartig, mal dreht er langsam.Code:'################################################### 'Servoansteuerung von RN 128 ' 'Autor: Wag '####################################################### ' ---------------Definitionen --------------------------- $regfile = "m128def.dat" ' Bei Mega 128 " $framesize = 40 $swstack = 40 $hwstack = 40 $crystal = 16000000 'Quarzfrequenz $baud = 19200 'Baudrate für Funkmodul $baud1 = 9600 'Baudrate für MAX Open "com2:" For Binary As #2 'Ausgabe über zweite serielle Schnittstelle (MAX) Sound Portg.2 , 400 , 450 'BEEP bei RN-Mega128Funk Sound Portg.2 , 400 , 250 'BEEP bei RN-Mega128Funk Sound Portg.2 , 400 , 450 'BEEP bei RN-Mega128Funk Config Serialout1 = Buffered , Size = 100 'Ausgabebuffer für normalse RS232 ' ---------------Definitionen fuer Subprogramme---------- 'Ports Config Portf.0 = Output 'Motor Config Portf.1 = Input Config Servos = 1 , Servo1 = Portf.0 , Reload = 10 Config Adc = Single , Prescaler = Auto , Reference = Internal Enable Interrupts ' --------------------------------------------------- Dim I As Integer Dim J As Integer Dim K As Integer Dim V(500) As Word Dim U As Word Wait 2 Print #2 , "" Print #2 , "**** ****" Print #2 , "**** Kommunikationscenter auf RN-Mega128Funk ****" Print #2 , "**** ****" Print #2 , "" Print #2 , "Motor wird durchgefahren." Servo(1) = 100 Start Adc For I = 1 To 200 U = Getadc(0) V(i) = U Next Stop Adc For I = 1 To 20 For J = 1 To 10 K = I * 10 K = K + J Print #2 , V(k) ; " "; Next Print #2 , " " Next Print #2 , "Neuer Test" Servo(1) = 80 Start Adc For I = 1 To 200 U = Getadc(0) V(i) = U Next Stop Adc For I = 1 To 20 For J = 1 To 10 K = I * 10 K = K + J Print #2 , V(k) ; " "; Next Print #2 , " " Next Print #2, "Neuer Test" Servo(1) = 60 Start Adc For I = 1 To 200 U = Getadc(0) V(i) = U Next Stop Adc For I = 1 To 20 For J = 1 To 10 K = I * 10 K = K + J Print #2 , V(k) ; " "; Next Print #2 , " " Next End
Kann da im Servo irgendeine Eingangselektronik abgeraucht sein? Wenn ja, in welchen Fällen macht die sowas?
Danke für alle Tips!







Zitieren

Lesezeichen