-
        

Ergebnis 1 bis 5 von 5

Thema: Gelöst: Servo defekt?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    24.12.2007
    Beiträge
    13

    Gelöst: Servo defekt?

    Anzeige

    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.

    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
    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.

    Kann da im Servo irgendeine Eingangselektronik abgeraucht sein? Wenn ja, in welchen Fällen macht die sowas?

    Danke für alle Tips!

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.585
    Hi, tfv,

    Du denkst sicher dran, dass der Servo eine eigene Energieversorgung braucht? Der Port eines Controllers bringt nicht genug Saft um den Servo zu bewegen! Die Schaltung könnte ungefähr so aussehen:
    Code:
    ;
    ; Vcc(6V LNT) -----------------------------------------Vcc-Servo1
    ;                                                                 
    ; Vcc -----------tiny13-Vcc                                 
    ;         |                                                
    ;         |      tiny13-PB3=pin2----------------+---Signal-Servo1   
    ;         |                                     |               
    ;         |              + - - (poti1->ADC) - - +               
    ;         |              |                                      
    ;         |      tiny13-PB4--------+                           
    ;         |                        V                           
    ;         |                   +--------+                       
    ;         +-------------------+ 25klin +----+                  
    ;                             +--------+    |                  
    ;                                           |                  
    ; GND---------------------------------------+----------GND-Servo1
    ..sprich: eigene Leitung zum Servo. Der zieht eben mehr als die paar kümmerlichen mA, die der Controller maximal bereitstellt. Ich bin über diesen Fehler auch schon gestolpert, wie viele vor mir.

    Der GND muss dann übrigens einheitlich sein. Aber das ist wohl alles klar. Oder?
    Ciao sagt der JoeamBerg

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    24.12.2007
    Beiträge
    13
    @oberallgeier

    Danke für den Hinweis! Ich glaube aber eher nicht, dass dies hier das Problem ist.
    Zwar nutze ich die Spannungsversorgers, des Controllers, aber
    * erstens hat das ja schon mal funktioniert
    * zweitens hatte ich damals die Stromaufnahme gemessen, diese lag bei 100-200 mA im Dauerbetrieb, beim einmaligen ansteuern deutlich weniger, mit natürlich etwas höheren Einschaltströmen, das Board liefert aber angeblich 500 mA an der Stelle, an der ich abgreife
    * drittens fährt der Motor ja manchmal unkontrolliert und
    * viertens würde ich erwarten, dass bei zu starker Belastung zusätzlich auch der Controller selbst stottern/rücksetzen würde, was er aber nicht tut.

    Ich werd jetzt mal einen weiteren Servo besorgen und probieren, ob der sich anders verhält, eine andere Analyseidee hab ich im Moment nicht mehr.

    Was geht denn bei einem Servo kaputt, wenn was kaputtgeht?

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.585
    Zitat Zitat von tfv
    ... Was geht denn bei einem Servo kaputt, wenn was kaputtgeht?
    Tut mir leid, da habe ich für eine Stellungnahme viel zu wenig Erfahrung. Meine Ser vos habe ich immer "gehackt" - umgebaut zu Minimotoren mit Getriebe. Ser vos als Ser vo hatte ich eher übungshalber betrieben. Das war ganz sinnvoll als Programmierarbeit in Assembler und C, um P W M´s zu programmieren und deren Funktion, die ja sehr eng definiert ist, zu testen.
    Ciao sagt der JoeamBerg

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    24.12.2007
    Beiträge
    13
    Lösung war: Der Servo war wirklich defekt. Ich hab einen zweiten Serve gekauft, der geht, den ersten habe ich mit einem Servotester getestet, da ging er nicht.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •