-         

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

Thema: ATMEGA8 RESET durch L293DNE

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.07.2012
    Beiträge
    171

    ATMEGA8 RESET durch L293DNE

    Anzeige

    Hallo,

    ich habe an einem L293DNE 2x 9V Legomotoren (283 hängen. Die Spannungsversorgung kommt derzeit über ein 9V Netzteil mit 2A und die 5V werden über einem 7805 Festspannungsregler für den M8 bereitgestellt.Reset ist am MC mit 10k auf 5V gezogen. 100uF Keramikk. ist an der Spannungsversorgung Vorhanden.

    Das Problem ist dabei, das es mir im Motorenbetrieb nach ein paar Sekunden den MC resetet.
    Woran kann das liegen?
    Evtl. an der Freilaufdiode über den 7805?
    Die internen Freilaufdioden im L293D sollten doch für die Motoren reichen, oder?

    Ich habe leider kein Oszi.

    Vielen Dank für Eure Hilfe

    mfG
    Mario
    Wenn das die Lösung sein soll...
    ...will ich mein Problem zurück !!!

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    26
    Beiträge
    1.192
    Hallo,
    hast du einen Schaltplan zur Hand, wo man Details sehen könnte?
    Am Regler und am L293 sollten auch noch Elkos verbaut werden, um auch kurze Spitzenströme liefern zu können.
    Das Problem ist dabei, das es mir im Motorenbetrieb nach ein paar Sekunden den MC resetet.
    Wie hast du das festgestellt? Liegt es wirklich am Mikrocontroller und nicht am Motortreiber?
    "Nach ein paar Sekunden" klingt eher nach überhitztem Motortreiber und nicht nach Mikrocontroller-Reset
    Welchen Strom ziehen denn die Motoren im normalen Betrieb? Der L293D ist so ziemlich der schwächste Motortreiber, der überhaupt erhältlich ist. Die im Datenblatt versprochenen 600mA sind nur mit vernünftiger Kühlung machbar.
    Grüße, Bernhard
    "Im Leben geht es nicht darum, gute Karten zu haben, sondern auch mit einem schlechten Blatt gut zu spielen." R.L. Stevenson

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.07.2012
    Beiträge
    171
    Hallo Bernhard,

    und danke für deine Antwort.

    Schaltplan habe ich leider nicht. Ist aber zur Lösungsfindung wohl besser wenn ich mal noch einen mache...

    Der Elko am Eingang ist nicht der größte hab aber einen 1000uF bereits versucht daran lag es aber auch nicht.
    Wie hast du das festgestellt? Liegt es wirklich am Mikrocontroller und nicht am Motortreiber?
    "Nach ein paar Sekunden" klingt eher nach überhitztem Motortreiber und nicht nach Mikrocontroller-Reset
    Nach gefühlt 1-3sec bleiben die Motoren stehen und beim Neustart bekomme ich über UART eine Rückmeldung die immer nur beim Programmstart kommt. Daher denke ich, der MC wird entweder resetet oder es gab eine kurzen Spannungsabfall.
    Welchen Strom ziehen denn die Motoren im normalen Betrieb? Der L293D ist so ziemlich der schwächste Motortreiber, der überhaupt erhältlich ist. Die im Datenblatt versprochenen 600mA sind nur mit vernünftiger Kühlung machbar.
    Es waren im Normalbetrieb nicht einmal 100mA, der Treiber wird auch nicht heiß, dazu ist die Betriebszeit auch zu kurz. Mein Messgerät ist allerdings zu träge um den Anlaufstrom zu Messen daher kann ich darüber keine Aussage treffen. Hab die Motoren via PWM auch nur auf halber Kraft laufen gehabt.
    Wenn ich nur die 5V Stromversorgung vom Programmer nutze funktioniert alles, nur sind die Motoren damit zu schwach.
    Da die Motoren relative schnell/oft (BalanceBot) die Richtung ändern könnte ich mir Vorstellen das dadurch Spannungssschwankungen entstehen. (Sollten das nicht die Freilaufdioden im L293DNE regeln?)

    Danke.

    mfG
    Mario
    Wenn das die Lösung sein soll...
    ...will ich mein Problem zurück !!!

  4. #4
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Schnelle Richtungsänderungen können zu größeren Stromspitzen führen. Das kann sogar mehr als der Anlaufstrom werden. Nachmessen könnte man den DC Widerstand des Motors - damit bekommt man einen guten Schätzwert für den Spitzenstrom beim anlaufen. Die Freilaufdioden verhindern nur das zu hohe Spannungen am Motor auftreten. Das funktioniert aber auch nur gut wenn die Versorgungsspannung des L293 nicht leicht einsteigen kann. Da sollte also schon ein Elko + Kondensator dran sein. Der schwankende Strom aus Versorgung bleibt: sowohl wegen Anlaufstrom der Motoren und auch die Modulation per PWM (da sollten der Elko einiges glätten).

    Den 7805 kann man ggf. per Diode und Elko als Puffer nur für den 7805 entkoppeln. Kurze Einbrücke der Spannung stören dann nicht mehr.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.07.2012
    Beiträge
    171
    Hallo Besserwessi,

    und Danke für deine Antwort.

    Ich habe mal ein Schaltplan für Arme angehangen .

    Dabei habe ich auch einen Fehler entdeckt, welcher wohl auch die Ursache für meine Probleme war. Ich habe bei einem der beiden Kerkos die Anbindung an dem MC übersehen.
    Bisher hatte ich im Motorenbetrieb mit "voller Kraft" keinen Reset. Ich denke das sollte es gewesen sein.

    Vielen Dank Euch beiden.

    mfG
    Mario
    Angehängte Dateien Angehängte Dateien
    Wenn das die Lösung sein soll...
    ...will ich mein Problem zurück !!!

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    48
    Beiträge
    1.254
    dein Problem liegt in der Masseführung aussen rum. Der L293 versorgt die Motoren nicht nur mit Plus, sondern genauso mit Masse.
    Die Masse vom L293 muss direkt an den Eingangskondensator (22µ), der viel, also viel zu klein ist.
    Die Masseverbindung zum AVR hin muss dann aufgetrennt werden.
    Die 4 dicken Kondensatoren sind deutlich zu groß für den armen 7805, wie soll er so regeln? 2x Kerko 100nF fehlen auch am Ein-Ausgang des 7805.

    Gruß, Michael

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.07.2012
    Beiträge
    171
    Hallo Michael,

    und Danke für deine Antwort.

    Da ich leider doch noch ein paar Störungen hatte habe ich versucht deine Ratschläge einzubringen.

    -Ich habe die Masse zwar nicht getrennt, aber den Kreis zum 7805 hin geschlossen.
    -Vor dem L293D noch ein 220uF Elko für die Motoren
    -Die 2x 100uF Kerkos vor und nach dem 7805

    Ich denke der wichtigste Punkt war die Masse Leitung zu schließen. Vielen Dank!

    "Die 4 dicken" habe ich gelassen, da die Pin Reihen auch mal für den Servobetrieb herhalten müssen um die Versorgung etwas zu Buffern.

    Warum sollten die ein Problem für den 7805 sein? Kannst du das bitte evtl. etwas genauer erklären?

    Vielen Dank.

    mfG
    Mario
    Wenn das die Lösung sein soll...
    ...will ich mein Problem zurück !!!

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    48
    Beiträge
    1.254
    Ich denke der wichtigste Punkt war die Masse Leitung zu schließen. Vielen Dank!
    damit hast du einen neuen Fehler eingebaut, die Schleife erzeugt Störungen im Rundfunkbereich. Stichwort EMV. Blöd, wenn vom Radio bis zum Händie alles nur noch halb so gut funktioniert, oder?

    Versorgungen gehören generell sternförmig verteilt (nicht ring- oder kettenförmig), dein AVR sollte eine eigene Masseleitung und extra Plusleitung zum Ausgangselko bekommen. Sonst holst du dir Probleme mit Latchups, wenn wirklich mal Leistung von den Servos gefordert wird.

    Warum sollten die ein Problem für den 7805 sein? Kannst du das bitte evtl. etwas genauer erklären?
    genaues Erklären würde den Rahmen des Threads sprengen.
    Der 7805 ist ein Regler, er vergleicht ständig die Ausgangsspannung mit dem Sollwert. Wenn die Ausgangsspannung sich nicht schnell genug ändern kann, weil zu große Kondensatoren dort sind, dann schwingt sich die Regelschleife auf. Am Eingang sind zu kleine Kapazitäten schlecht, woher soll der 7805 seinen Bedarf holen, wenn er nachregeln will?
    Da große Kondensatoren(Elkos) nicht schnell genug liefern können, braucht der 7805 auch noch kleine Kerkos an Ein- und Ausgang.

    Gruß, Michael

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    59
    Beiträge
    2.435
    Hallo Mario,

    Du musst daran Denken, dass jeder Draht auch ein Widerstand ist, somit ergibt sich, entsprechend dem Stromfluss, auch immer ein Spannungsabfall.
    Des weiteren ist auch ein gerades Stück Draht auch eine Drossel. Somit ist der Spannungsabfall bei Störspitzen noch grösser, als nur rein Ohmisch betrachtet.

    Irgendwie schmeisst du µF und nF etwas durcheinander, Oser hast du da wirklich 100µF KerKos eingebaut?

    Nun zu den Kondensatoren.
    Die haben nun auch eine Zuleitung. Bei gewickelten Bauformen (normaler Nass-Elko) ist auch nur eine einzelne Stelle an der gewickelten Folie kontaktiert. Man hat also wieder einen Widerstand und, weil gewickelt, auch eine Drossel.
    In Wirklichkeit hast du also einen idealen Kondensator, welcher in Serie mit einem Widerstand und einer Drossel liegt

    KerKos haben da wesentliche bessere Eigenschaften, aber die kann man nicht mit so grossen Kapazitäten bauen.
    Also schaltet man einen Elko und einen KerKo parallel. Der KerKo blockt dann die schnellen Spannungsspitzen und der Elko bringt die Ströme.

    Obwohl im Datenblatt als optional angegeben, sind die 78xx, nur mit Elkos beschaltet etwas instabil bei Störspitzen. Wenn da nur eine LED dran hängt stört das nicht, sobald du aber digitale Schaltungen damit versorgst, fallen Flip-Flops gerne mal um.
    Man muss also je 100-200nF KerKos, möglichst direkt an den Pins des 78xx, einbauen. Und mit Nahe meine ich so maximal 100mm vom Pin weg.

    Ich beziehe mich jetzt mal auf dein Foto:
    Der 7805 hängt da direkt mit seiner Masse am Eingang und mach zwischen seinen Pins seine stabilen +5V.
    Nun geht aber die Masse weiter um den ganzen Print zum L293.
    Wenn jetzt da ein Stromm fliesst, bekommst du einen Spannungsabfall, sagen wir mal 0.1V.
    Der 7805 bekommt das aber nicht mit.
    Nun hängt dein ATMega aber auch beim L293 an Masse.
    Nun bekommt dein ATMega also nur noch 4.9V !!!!

    DU solltest also die Masseverbindung zwischen L293 und ATMega auftrennen und den ATMega direkt mit dem Masse-Pin des 7805 verbinden.
    Dann hat der ATMega konstant sein 5V, egal es der L293 gerade macht.

    War jetzt nur gerade eine grobe Einführung, aber ich hoffe das bringt dich in die richtige Richtung.

    Das schliessen von "Masseringen" bringt das Problem, dass keiner mehr weiss welchen Weg die Ströme jetzt nehmen und wo welche Störungen auftreten werden!

    MfG Peter(TOO)

    Die 100mm sind ein Tippfehler, sollte 10mm lauten!
    Geändert von Peter(TOO) (14.04.2014 um 20:52 Uhr) Grund: Tippfehler
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  10. #10
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die Elkos am Ausgang des 7805 sind nicht so schlimm, sofern man auch genug vor dem Kapazität vor dem Regler hat. Meistens ist die Kapazität vor dem Regler auch effektiver als dahinter. Ein Elko (z.B. 10 -220 µF hinter dem 7805 ist OK, mehr ist übertrieben) - als Faustregel sollte Kapazität hinter dem Regler nicht größer sein als davor. Die keramischen Kondensatoren am 7805 sollte eher weniger als 2 cm weg vom Regler - in der Regel direkt daneben - so ähnlich wie die 100 nF am AVR. Die 100 mm wären bestenfalls für die ganze Leiterschleife noch akzeptabel, wenn die Fläche dabei nicht zu groß wird.

    Der Passende Zentrale Punkt (Sternpunkt) für die Masse ist der GND-Anschluss des 7805.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Controller Reset durch I2C-Übertragung
    Von Che Guevara im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 14.01.2013, 00:02
  2. ungewollter reset durch/bei zuschalten von pwm
    Von madcyborg im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 23.01.2008, 19:19
  3. ATmega8 OHNE RESET-Leitung auf Vcc
    Von maddav2005 im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 01.06.2006, 09:16
  4. AVR-Reset durch Software möglich?
    Von robotxy im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 16.05.2006, 20:21
  5. Reset bei Atmega8
    Von Furtion im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 04.11.2005, 16:49

Berechtigungen

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