- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 16

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
    02.04.2010
    Ort
    Wien
    Beiträge
    119
    Blog-Einträge
    4

    Unglücklich Servo reagiert nicht

    Ich hab mir gestern ein paar Billig-Servos vom C geholt,
    und mit dem Code versucht:


    Code:
       
    #include <avr/io.h>
    #define F_CPU 2E6
    #include <util/delay.h>
    
    
    int main()
    {
        DDRB=0xFF;
        DDRA=0b00000001;
        while(1)
        {
            PORTA=0xFE;
            if(!(PINA & (1<<PA3)))
            {
                PORTA |= (1<<PA0);
                _delay_us(1000);
                PORTA &= (0<<PA0);
                _delay_us(20000);
                }
    
            if(!(PINA & (1<<PA4)))
            {
                PORTA |= (1<<PA0);
                _delay_us(2000);
                PORTA &= (0<<PA0);
                _delay_us(20000);
                }
            }
        }
    Leider macht der Servo garnichts...
    ich habe gelb und schwarz (aussen) für + und Masse angeschlossen, rot (Mitte) an die Steuerung,
    mit gelb als Steuerung und rot als + hab ichs auch schon probiert, geht nicht...

    Ich habe hier 1ms für Rückwärts, 2ms für Vorwärts genommen, mit je 20ms Pause.

    Bitte um Hilfe!

    mfg michi
    Infos zu meinen Projekten gibts auf meiner Homepage: http://langeder.org/

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.685
    Hmmm, also einen Pin setze ich auf Null mit PORTA &= ~(0<<PA0), Du sparst Dir die Tilde vor der Klammer. Das dürfte ein (der?) Fehler sein.

    PS: wenns nach ner Stunde keine Antwort gibt, müsste man nicht gleich nen neuen Thread aufmachen - es gibt Menschen die Sonntags auch mal Mittagessen . . . .
    Geändert von oberallgeier (17.07.2011 um 13:20 Uhr)
    Ciao sagt der JoeamBerg

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Also ich schreibe immer so zum auf Null setzten:

    PORTA &= ~(1<<PA0);
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    rot +
    schwarz -
    gelb Signal

    ist richtig.

    PORTA &= (0<<PA0); bedeutet PORTA = PORTA & 0; Es werden alle Pins auf Low bzw. ohne internen PullUp geschaltet.
    (PORTA &= ~(0<<PA0) bedeutet PORTA = PORTA & 0b11111111;)

    Ich würde delay.h misstrauen. Wofür steht eigentlich #define F_CPU 2E6? Wenn die Taktfrequenz falsch angegeben wird sind die Zeiten von delay.h nicht richtig.
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.685
    Hast Du eigentlich die Verbindung gemacht wie hier in der Schaltung im Wiki gezeigt? Da hatte ich extra auf die notwendige GND-Verbindung zwischen allen Komponenten hingewiesen, weil das so ein lausiger, immer wieder auftauchender Fehler ist. Anm.: die in der Schaltung gezeigten Anschlüsse am Mikrocontroller sind NUR BEISPIELHAFT - also kein Muss. Aber der gemeinsame GND ist ein absoluts Muss.


    ......Bild hier  
    Ciao sagt der JoeamBerg

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.04.2010
    Ort
    Wien
    Beiträge
    119
    Blog-Einträge
    4
    Kann es sein dass die Servoversorgungsspannung von 5V nicht ausreicht?Die Stellgeschwindigkeiten sind bis etwas unter 5V angegeben,Damit ist doch die Versorgung gemeint oder?Ich hab jetzt alles von der selben Versorgung also ist Common GND vorhanden.Den Code konnte ich leider noch nicht ändern und probieren,Danke für eure Hilfe, hab mich mit dem löschen etwas vergriffen,Wollte mir dir tilde sparen, dafür einen nuller statt einem einser shiften Mfg michi
    Infos zu meinen Projekten gibts auf meiner Homepage: http://langeder.org/

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.04.2010
    Ort
    Wien
    Beiträge
    119
    Blog-Einträge
    4

    Danke für eure Hinweise bzgl Code!Hab den Code geändert und die Versorgung auf 12V hochgeschraubt, ich hoffe das schadet dem Servo nicht allzusehr? Danke nochmal!Mfg michi
    Infos zu meinen Projekten gibts auf meiner Homepage: http://langeder.org/

Ähnliche Themen

  1. PC4 des ATMEGA32 reagiert nicht...
    Von WarChild im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 2
    Letzter Beitrag: 02.11.2010, 20:35
  2. M32 reagiert nicht mehr
    Von proevofreak im Forum Robby RP6
    Antworten: 2
    Letzter Beitrag: 07.09.2009, 18:40
  3. CMPS03 reagiert nicht
    Von Jon im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 12.08.2009, 15:27
  4. Asuro reagiert nicht
    Von ToHa im Forum Asuro
    Antworten: 4
    Letzter Beitrag: 10.04.2006, 20:47
  5. AVR reagiert nicht auf Tastendruck
    Von quad im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 12.06.2005, 18:55

Berechtigungen

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

Labornetzteil AliExpress