-
        

Ergebnis 1 bis 10 von 10

Thema: L293D Problem

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    23.12.2005
    Alter
    87
    Beiträge
    86

    L293D Problem

    Anzeige

    Ich habe ein konkretes Problem beim Anschluss meines L293D.
    Ich bekomme es zwar hin dass alles läuft aber ich darf die 5V der einen Seite nicht mit den 5V der anderen Seite verbinden, sonst laufen die zwei Motoren nur noch in eine Richtung und stehen in der anderen, außer einer der beiden Motoren ist abgeklemmt. genau das selbe passiert auch wenn ich im bild rot markierten teil ein Kondensator anschließe. (100µF)
    vllt findet jemand meinen Fehler oder kann mir besser erklären was wo hingehört, da ich schon viele verschiedene zum teil falsche schaltplane im internet gefunden habe. danke
    http://www.freewebs.com/sikspack1/DSC00638.JPG
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken dsc00638_1_.jpg  

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hallo m1ch15inner,

    es wäre sicherlich von Vorteil, wenn du den Schaltplan hier reinstellen würdest! Den nur von deinem Bild kann man nicht viel schließen.

    Gruß
    Chris

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    23.12.2005
    Alter
    87
    Beiträge
    86
    Schaltplan wie Anleitung hab ich von Letsmakerobots.com
    http://letsmakerobots.com/node/2074?page=2

    ich habe erst den einfachen schaltplan nachgebaut. dieser funktioniert nur wenn ich die obere verbindung weg lasse (zwischen pin1 und pin16).

    und bei der erweiterten schaltung ist das selbe problem + das problem mit den kondesatoren.

    dazu auch noch ne frage.. schadet es eigentlich irgend wem (microcontroller oder l293 oder gar motor) wenn ich die einfache schaltung beibehalte oder hat das nur auswirkung auf die zuverlässigkeit?

    und noch ne frage: ich weiß nicht wie weit ihr euch hier im forum mit der platform arduino auseinander gesetzt habt. hab hier noch nicht viel gelesen darüber. aber muss ich denn VCC2 bzw. pin8 mit einer externen stromversorgung bedienen und GND verbinden mit dem des microcontlr oder reicht wenn ich alle (pin1,8,9,16) mit +5V verbinde?

    vllt zur info: ich habe vor den gm9 getriebe motor von solarbotics zu verwenden. das sollte doch funktionieren!?

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.183
    Auf dem Bild sieht es so aus als hättest du + und - vertauscht, das heisst GND auf + an deinem Steckbrett? So etwas erleichtert die Fehlersuche nicht sehr.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.544
    Könnte es sein, das wenn du eine Brücke bei der roten Markierung hineingibst die Versorgung Kurzschließt? Der Blaue geht auf -, der grüne auf +

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    23.12.2005
    Alter
    87
    Beiträge
    86
    @ hubert.g: ich weiß. habe es auch schon umgesteckt. ich habe kein fehler von der verkabelung gemacht. ich glaube eher das generell was schief läuft. es funktioniert ja alles nur wenn ich diese verbindung eben machen laufen die motoren wenn sie beide angeschlossen sind nur in eine richtung aber sie laufen.

    @ roboter-spezialist: da soll keine brücke rein. laut anleitung kommt da ein 100µF kondensator rein. den hab ich jetzt aber durch einen 0,1µF ersetzt.. ist mir nach dem schaltplan schlüssiger.

    hm

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.554
    Hi m1ch15inner,

    Die Eingänge 1 und 9 am L293D sollten PWM-Eingänge sein, es sei denn, Du willst Deine Motoren NICHT mit variabler Geschwindigkeit laufen lassen.

    Wenn Du 2 high und 7 low hast, läuft der Motor (an 3 und 6) in die eine und umgekehrt in die andere Richtung. Steht alles im Datenblatt. Ähnlich ist es bei der anderen Anschlussleiste des L293D. Das funktioniert auch - zumindest bei meinen Antrieben.

    In Deiner "Anleitung" ist auch ein Link aufs Datenblatt - das ist meist der erste und auch der beste Weg etwas zum Laufen zu bringen. Datenblätter nicht lesen, verkehrt verdrahtete Steckbretter im Forum als Erklärungsbilder einklinken und so - das macht nicht wirklich Laune.

    Zitat Zitat von m1ch15inner
    Ich bekomme es zwar hin dass alles läuft aber ich darf die 5V der einen Seite nicht mit den 5V der anderen Seite verbinden ...
    Überlege doch bitte, ob Du so einen Satz verstehst. Ich versteh diese Aussage nicht.
    Ciao sagt der JoeamBerg

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    23.12.2005
    Alter
    87
    Beiträge
    86
    vllt is das mein fehler. ich habe 1 und 9 einfach an +5V vom arduino board angschlossen für "motor an" und dann das high signal auf 2 bzw 7 (eben das, das high sein soll) als pwm ausgegeben. es funktioniert nur dann wenn ich pin 1 und pin8 NICHT anschließe. was für mich seltsam ist. ich kenn mich nicht so sehr mit elektronik aus. ich bin gerade dabei mich einzuarbeiten in die materie, hätt ich vllt am anfang dazu sagen sollen^^. ich versuch jetzt die pins 2,7,10,15 mal an nicht pwm ausgänge anzuschließen und 1 und 9 an pwm ausgänge dann über 1 und 9 ein high signal senden und 2,7,10,15 eben die steuerung. und dann meld ich mich wieder.

    jetzt geht nichts mehr. die motoren knacken nur noch.

  9. #9
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.183
    Auf 1 gehört PWM oder high für dauerlauf, 2 auf high, 7 auf low, dann dreht der Motor in eine Richtung, wenn du 2 und 7 umdrehst läuft er in die andere Richtung. Dafür brauchst du erst mal keinen Kontroller.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    23.12.2005
    Alter
    87
    Beiträge
    86
    ja. ich habe jetzt alles genauso angesteckt wie auf der "anleitung"^^. so stehte es ja auch auf RN-Wissen.
    pin1,8,9,16 an +5V
    pin4,5,12,13 an GND
    pin2,7,10,15 jeweils an digitale ausgänge von arduino
    pin3,6,11,14 an die 2 DC-Motoren

    Beobachten kann ich bei folgendem Programm:
    Code:
    // Use this code to test your motor with the Arduino board:
    
    // if you need PWM, just use the PWM outputs on the Arduino
    // and instead of digitalWrite, you should use the analogWrite command
    
    // --------------------------------------------------------------------------- Motors
    int motor_left[] = {5, 6};
    int motor_right[] = {9, 10};
    
    // --------------------------------------------------------------------------- Setup
    void setup() {
    Serial.begin(9600);
    
    // Setup motors
    int i;
    for(i = 0; i < 2; i++){
    pinMode(motor_left[i], OUTPUT);
    pinMode(motor_right[i], OUTPUT);
    }
    
    }
    
    // --------------------------------------------------------------------------- Loop
    void loop() {
    
    drive_forward();
    delay(1000);
    motor_stop();
    Serial.println("1");
    
    drive_backward();
    delay(1000);
    motor_stop();
    Serial.println("2");
    
    turn_left();
    delay(1000);
    motor_stop();
    Serial.println("3");
    
    turn_right();
    delay(1000);
    motor_stop();
    Serial.println("4");
    
    motor_stop();
    delay(1000);
    motor_stop();
    Serial.println("5");
    }
    
    // --------------------------------------------------------------------------- Drive
    
    void motor_stop(){
    digitalWrite(motor_left[0], LOW);
    digitalWrite(motor_left[1], LOW);
    
    digitalWrite(motor_right[0], LOW);
    digitalWrite(motor_right[1], LOW);
    delay(25);
    }
    
    void drive_forward(){
    digitalWrite(motor_left[0], HIGH);
    digitalWrite(motor_left[1], LOW);
    
    digitalWrite(motor_right[0], HIGH);
    digitalWrite(motor_right[1], LOW);
    }
    
    void drive_backward(){
    digitalWrite(motor_left[0], LOW);
    digitalWrite(motor_left[1], HIGH);
    
    digitalWrite(motor_right[0], LOW);
    digitalWrite(motor_right[1], HIGH);
    }
    
    void turn_left(){
    digitalWrite(motor_left[0], LOW);
    digitalWrite(motor_left[1], HIGH);
    
    digitalWrite(motor_right[0], HIGH);
    digitalWrite(motor_right[1], LOW);
    }
    
    void turn_right(){
    digitalWrite(motor_left[0], HIGH);
    digitalWrite(motor_left[1], LOW);
    
    digitalWrite(motor_right[0], LOW);
    digitalWrite(motor_right[1], HIGH);
    }
    Beide Motoren drehen Vorwärts, Stoppen und drehen wieder Vorwärts.
    Eigentlich sollten sie Vorwärts Rückwärts Verschieden Verschieden und dann Stoppen.
    Wenn ich einen Motor dann abstecke macht der andere dann genau das was er machen sollte.

Berechtigungen

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