-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Motor macht was er will

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    03.01.2012
    Beiträge
    15

    Motor macht was er will

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    ich habe gestern zum ersten mal einen Motor über nen Mikrocontroller angesteuert (ohne PWM).

    Jetzt wollte ich den Motor über Tastendruck ausschalten. Aber seit ich das einprogrammiert habe macht er was er will.
    Der Motor schaltet ein, aus, dreht langsam usw. ganz von allein. Der Motor verändert seine Geschwindigkeit durch meine Körperbewegungen oder wenn ich den motor im Raum bewege.

    Was kann das sein??? Der Motor ist entstört und die Leitung des tasters liegt ganz wo anderst wie die des Motores.


    Hier mal das Programm

    #include <avr/io.h>

    int main (void)

    {
    while (1)
    {
    DDRB &= ~(1<< PB1); //PortB Pin2 als Eingang definieren
    PORTB |= (1<< PB1); //PortB Pin2 Pullup aktivieren

    if (!(PINC & (1<<PINC1)))
    {
    DDRB |= (1<< PB0); //als Ausgang definieren
    PORTB |= (1<< PB0); //auf high setzen
    DDRB |= (1<< PB5); //als Ausgang definieren
    PORTB &= ~(1<< PB5); //auf low setzen
    DDRD |= (1<< PD3); //als Ausgang definieren
    PORTD |= (1<< PD3); //auf high setzen
    }
    else
    {
    DDRB |= (1<< PB0) | (1<< PB5) | (1<< PB3);
    PORTB &= ~(1<< PB0) |(1<< PB5) |(1<< PB3);
    }

    }

    return 0;
    }


    MfG Ralf

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Geistesblitz
    Registriert seit
    16.03.2011
    Ort
    Dresden
    Alter
    30
    Beiträge
    1.937
    Ich kenn mich zwar nicht so mit C aus, aber irgendwie hört es sich so an, als ob der Pin nicht auf Output geschaltet wurde und somit der Transistor für den Motor kein definiertes Signal bekommt.

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    Zitat Zitat von Blinzl0r Beitrag anzeigen




    if (!(PINC & (1<<PINC1)))


    MfG Ralf
    Du setzt PortB als Eingang und fragst PortC ab?
    Du setzt ausserdem die Port auf Ein- oder Ausgang bei jedem Duchlauf der while neu, das macht man nur wenn sich was ändert.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    03.01.2012
    Beiträge
    15
    Hi,

    oh man richtig.
    Jetzt muss ich aber noch einen Programmfehler haben.
    Jetzt macht der Motor gar nichts mehr. Ich bekomm ihn nicht mehr gestartet.

    MfG Ralf

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.06.2011
    Beiträge
    158
    "Der Motor verändert seine Geschwindigkeit durch meine Körperbewegungen oder wenn ich den motor im Raum bewege."

    Cool, Du kannst damit Signale von Ausserirdischen empfangen. Oder auch die Aura Deines Koerpers messen.. sehr esoterisch!

    Ne, im Ernst: Da liegt ein undefiniertes Signal an und der Eingang reagiert auf minimalste Schwankungen von wasweissichwas.
    Der Fehler liegt wohl am PINC, wie es schon Hubert geschreiben hat.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    03.01.2012
    Beiträge
    15
    Zitat Zitat von Calis007 Beitrag anzeigen
    "Der Motor verändert seine Geschwindigkeit durch meine Körperbewegungen oder wenn ich den motor im Raum bewege."

    Cool, Du kannst damit Signale von Ausserirdischen empfangen. Oder auch die Aura Deines Koerpers messen.. sehr esoterisch!
    Ich war auch schon begeistert.^^
    ich konnte durch meine Handbewegung die Geschwindigkeit des Motors analog steuern.

    Mfg Ralf

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.06.2011
    Beiträge
    158
    Und? Fehler schon gefunden? Ansonsten: Wie sieht das Programm nun aus? Verkabelung noch in Ordnung?

  8. #8
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    Ich weiß nicht wo der Motor drauf ist, aber PB5 ist immer low.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    03.01.2012
    Beiträge
    15
    Hallo,

    ich hab den Fehler gefunden. Und zwar bin ich es gewohnt (SPS), dass 12V am Eingang anliegen müssen, damit dieser high meldet. und somit habe ich den Port anschluss über den Taster mit 5V verbunden, damit ich bei geschlossenem Taster 5V am Port an liegen habe (wie bei ner SPS).
    Ich hab jetzt durch messen herausgefunden, dass ich wenn ich den Eingang definier, 5V an Port anliegen habe. Jetzt habe ich den Taster zwischen Ground und Port gehängt und es geht wie gewünscht.

    Kann mir einer sagen warum das beim Mikrokontroller so ist?


    MfG und Danke

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.06.2011
    Beiträge
    158
    Hmm.. im IF, das
    PORTD |= (1<< PD3); //auf high setzen
    passiert auch nur einmal und wird nie rueckgesetzt.. hat damit vermutlich nichts zu tun, sieht aber auch sonderbar aus, sollte wohl ein PB3 sein, oder?

    5V ist eigentlich ueblich hier, oder auch nur 3.3V.

    siehe auch gaengige Logikpegel:
    http://de.wikipedia.org/wiki/Logikpegel
    Geändert von Calis007 (20.01.2012 um 11:18 Uhr)

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Asuro macht was er will
    Von Autsch20 im Forum Asuro
    Antworten: 6
    Letzter Beitrag: 05.12.2009, 17:42
  2. Wie macht man das ordentlich?
    Von Biometriker im Forum Elektronik
    Antworten: 23
    Letzter Beitrag: 18.01.2008, 17:57
  3. AAtiny15 macht was er will
    Von rogerberglen im Forum Assembler-Programmierung
    Antworten: 12
    Letzter Beitrag: 21.08.2007, 17:16
  4. Debugging - Wie macht Ihr das??
    Von dl1akp im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 29.09.2006, 19:52
  5. Selbsttest - Motor macht was er will
    Von Registrar im Forum Asuro
    Antworten: 19
    Letzter Beitrag: 26.07.2006, 23:42

Berechtigungen

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