PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATMEGA8 RESET durch L293DNE



dj_cyborg
12.04.2014, 13:46
Hallo,

ich habe an einem L293DNE 2x 9V Legomotoren (2838) (http://www.philohome.com/motors/motorcomp.htm) 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

BMS
12.04.2014, 15:14
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 :-k
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

dj_cyborg
12.04.2014, 21:43
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

Besserwessi
12.04.2014, 22:29
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.

dj_cyborg
13.04.2014, 11:47
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

Michael
13.04.2014, 12:23
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

dj_cyborg
14.04.2014, 11:51
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

Michael
14.04.2014, 12:19
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

Peter(TOO)
14.04.2014, 13:59
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!

Besserwessi
14.04.2014, 17:03
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.

dj_cyborg
14.04.2014, 20:56
Hallo,

und Danke für Eure Antworten.

Also die Kerkos sind 100nF, war ein Tippfehler. Sorry. Diese befinden sich auch direkt am Regler.

Ich glaube Datenblätter vom 7805 mit Elkos und auch mit Kerkos (0,33uF und 0,1uF) gesehen zu haben, hatte aber bisher mit beiden Varianten keine Probleme. Ich konnte aber wegen des fehlenden Oszis nie einen Unterschied feststellen. Ich hatte die Platine vorher für einen Hexabot mit 12 Servos im Betrieb die direkt in den Pin-Reihen steckten. Ich wollte mit den Kondensatoren an den Ecken der Pin-Reihen, sicherstellen das für alle Servos genügend Buffer zur verfügung steht. Die Größe hab ich aber mehr oder weniger nach Bauch-Gefühl dimensioniert. Ich dachte lieber zu viel als zu wenig.

Der MC und der Treiber laufen jetzt auch beide am GND des Reglers zusammen, es existiert nur noch der Ring aussen herum der evtl. für Erweiterungungen in dem rechten freien Bereich dienen soll. Aber ich kann diesen auch ganz Rechts aussen auftrennen.

Ich danke Euch für Eure ausfühlichen Antworten.

mfG
Mario

Peter(TOO)
14.04.2014, 23:06
Hallo Mario,

Meinen ersten 7805-Störfall hatte ich 1976.

Da bekamen wir einen Prototypen eines der ersten Geldspielautomaten mit Microprozessor.
Hat auch alles funktioniert, bis man gewonnen hat ;-)
Wenn der Auszahlmagnet angesteuert wurde, flog der 6502 aus dem Programm.
Der Magnet wurde mit 220 betrieben und über ein Relais angesteuert. Ohne angeschlossen Magneten funktionierte alles.

Bis der Prototyp bei uns gelandet war, hatten sich schon 2 oder 3 Ings ein paar Tage damit beschäftigt und alles mögliche an Entstörmassnamen um den Magneten herum durch.

Kurz vor Feierabend ist mir dann endlich aufgefallen, das da zwar jede Menge Elkos um den 7805 herum waren, aber keine kleinen Cs.

Ich habe dann die paar 100n an Ein. du Ausgang angelötet, und die Kiste lief von da ab.

Damals war im Datenblatt noch angegeben, das die kleinen Cs nur nötig sind, wenn sich die Elkos etwas weiter weg vom 7805 befindet.

Auf alle Fälle waren bei meinen Entwicklungen immer so 100-220nF an Ein- und Ausgang eingebaut und ich hatte nie Probleme mit einem 78xx.
Aber ich habe viele Geräte ohne die Cs und mit deinem Problem gesehen.

MfG Peter(TOO)

dj_cyborg
15.04.2014, 05:32
Hallo Peter,

und Danke für deine Antwort.

1976 ;), da gab´s mich noch gar nicht... wie könnte ich da noch wiedersprechen :rolleyes:
Sehr schöne Erlebnissschilderung! Ab sofort bekommt bei mir jeder 7805 die Kerkos spendiert.

mfG
Mario