- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 25

Thema: Servo reagiert nicht

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.06.2005
    Ort
    Gäufelden
    Alter
    38
    Beiträge
    111

    Servo reagiert nicht

    Hallo an Alle!

    da ich ja in letzter Zeit ein bisschen am experimentieren bin habe ich jetzt versucht ein altes Modellbauservo durch einen ATMega16 steuern zu lassen. Leider reagiert das Servo überhauptnicht (ist aber getestet. Mit der RC-Fernbedinung und dem normalen Empfänger funktioniert es).

    Zur kurzen Erklärung:

    Das Servo hat seine eigene Stromversorgung mittels Batterieblock. Der Controller wird durch den Programmer mit Strom versorgt.

    Ich habe das Signalkabel (die Gelbe Leitung) durchgeschnitten und an PD5 (OC1A) verstöpselt.

    jetzt habe ich folgenden Code in C geschrieben aber wie gesagt es reagiert nicht:

    Code:
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main(void)
    {    
            
            DDRD = (1 << DDD5);        // OC1A als Ausgang
            DDRB= (1<<PB0);
            
            ICR1 = (uint16_t)19999;        // TOP => 50 Hz
            OCR1A = (uint16_t)1000;        // Vergleichswert einstellen (hier quasi minimaler Ausschlag)
                
            TCCR1A |= (1 << COM1A1);                    // non-inverting mode fuer Pin OC1A
            TCCR1A |= (1 << WGM11) ;                    // Fast PWM Mode 14 Teil A
            TCCR1B |= (1 << CS11);                        // Prescaler: 1/8
                    
            while (1)        // endlos
                {
                    PORTB^=(1<<PB0);                    //Blinkt nur als visualisierung das überhaupt was tut
                    _delay_ms(100);
                }            
            return 0;
    }
    Wenn ich den Wert für OCR1A = (uint16_t)1000; nun auf OCR1A = (uint16_t)2000; endere sollte eigentlich das Servo zum neuen Ausschlag fahren und dann da auch bleiben... ich finde den Fehler aber nicht.

    Vielen Dank schon mal
    Gruß
    Jeti

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Jeti Beitrag anzeigen
    Das Servo hat seine eigene Stromversorgung mittels Batterieblock. Der Controller wird durch den Programmer mit Strom versorgt.

    Ich habe das Signalkabel (die Gelbe Leitung) durchgeschnitten und an PD5 (OC1A) verstöpselt.
    Wie sieht es mit den Masseanschlüssen aus?

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.06.2005
    Ort
    Gäufelden
    Alter
    38
    Beiträge
    111
    Ich habe dabei 2 Varianten Probiert. Zuerst habe ich die Masse für das Servo von der Batterie geholt. Das hat nicht funktioniert aber das servo hat wenigstens noch "gezuckt" wenn man das Signalkabel vom PD5 abgestöpselt hat. Dann habe ich die Masse vom 7805 auf dem Board abgezwackt... Das hat aber auch nicht funktioniert und das servo zuckt nicht mal mehr.

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    39
    Beiträge
    647
    Die Masse der Batterie muss mit der Masse des Atmel's verbunden sein. Diese gemeinsamme Masse ist dann auch die Masse für das Servo. Nur die + Leitungen müssen getrennt bleiben.

    Guck mal hier da ist ein Schaltplan mit 2 Servos. Achte mal auf die Spannungsversorgung des Atmels und der Servos. Da sieht man ganz gut wie das verdrahtet sein sollte.
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Zitat Zitat von Jeti Beitrag anzeigen
    Code:
            TCCR1A |= (1 << WGM11) ;                    // Fast PWM Mode 14 Teil A
    Hallo, das ist nicht Mode 14 sondern Mode 2 und der benutzt auch nicht ICR1 als Top Wert.

    die On-Board Frequenz meines Mega16 müsste doch 8kHz sein oder?
    Wenn der Mega16 neu ist und an der Frequenz noch nichts, zB mit den Fuses gemacht worden ist, ist sie 1Mhz.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Ähnliche Themen

  1. [ERLEDIGT] Servo reagiert nicht
    Von miicchhii im Forum Motoren
    Antworten: 15
    Letzter Beitrag: 20.07.2011, 20:11
  2. CMPS03 reagiert nicht
    Von Jon im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 12.08.2009, 15:27
  3. Controller reagiert nicht
    Von robo junior im Forum AVR Hardwarethemen
    Antworten: 1
    Letzter Beitrag: 18.01.2007, 18:27
  4. ATtiny2313 reagiert nicht
    Von Dirk im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 18.05.2006, 21:44
  5. Asuro reagiert nicht
    Von ToHa im Forum Asuro
    Antworten: 4
    Letzter Beitrag: 10.04.2006, 20:47

Berechtigungen

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

12V Akku bauen