Hallo, im moment Programmiere ich eine Motorensteuerung für einen Roboter (kommt noch mehr dazu momentan ist aber nur die Motorensteuerung wichtig). Hierzu habe ich ein Testprogramm geschrieben (im Anhnang). Verwendet wird ein ATMega 32 und also Motortreiber ein L293D. Spannungsversorgung über den 7805 mit 7V über Konstanter. Die Motoren ziehen bei 5V und keiner Strombegrenzung ca. 400 mA aus dem Konstanter. Nun habe ich aber das Problem, dass sobald ich einen Motor versuche laufen zu lassen (Mit der Regelung des ATs) (alle Werte von 1 - 254 getestet) der AT abstürzt und neu startet. Einzig bei dem OCR1A Wert von 255 dreht der Motor mit Vollgas los und der AT stürzt nicht ab. Habt ihr vielleicht eine Idee woran das liegen könnte? (im 2.ten Post werde ich dann noch den Schaltplan als Bild posten) Grüße Sebastian
Er stürzt ab, weil Du recht viel vergessen hast: 1. Motor nicht aus der stabilierten Spannung speisen 2. Elko vor dem Spannungsregler 3. Blockkondensatoren 100nF Otto
Hi >Einzig bei dem OCR1A Wert von 255 dreht der Motor mit Vollgas los und >der AT stürzt nicht ab. Bei der Schaltung normal. Deine Entstörmassnahmen sind praktisch Null. Sieh dir mal das Datenblatt vom L293 und die entsprechenden AppNotes von Atmel an. MfG Spess
Hallo, danke für deine schnelle antwort. zu 1.: Habe ich bereits geändert (ist aber noch nicht im schaltplan... hängt jetzt vor dem Spannungsregler) zu 2.: Bei C1 handelt es sich um einen normalen Elko mit + und - (nicht Bipolar). Bei C2 habe ich einen weiteren Elko verwendet. Hier mal die Werte der Elkos (vielleicht hilft das weiter) C1: 25V 1000uF C2: 33V 10 nF zu 3.: Wo genau müssten die Blockkondesatoren denn hin? Grüße Sebastian
Hab mir gerade nochmal die Datenblätter vom ATMega 32 und vom L293 angeschaut. Leider kann ich bei keinem von beiden etwas von Blockkondensatoren finden. Bin also voll auf eure Hilfe angewiesen :) Grüße Sebastian
Zumindest direkt an jedem Versorgungsanschluss des µC ein 100nF. Auch dem Reset tut oft ein 100nF gut.
Hi AVR042: AVR Hardware Design Considerations http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf MfG Spess
Hallo, >C2: 33V 10 nF Das als Elko gleube ich Dir nicht. Die 100n gehören dahin, wo es in jdem Beispiel, in jeder Applikation, in jeder Beschreibung und in 1000 Forumbeiträgen empfohlen wird: an jedes IC so dicht als mögliche an die Anschlüsse für Spannung und GND. Wenn es mehrere gibt (beim Mega32 z.B., gehört an jeden Anschluß ein 100n. Zum L283D kann ich jetzt nichts weiter sagen, da sollte es aber auch hinweise im Datenblatt geben, auch zur Leitungsführung. PS: man kann in Eagle im Schaltplan auch einfach den Mega16 in Mega32 umbenennen... Gruß aus Berlin Michael
ok danke für die Tipps. Werde ich gleich mal testen und mich dann nochmal melden Die kerkos zwischen V+ und GND am ATMega hab ich noch nie verwendet... Hab aber auch noch nie was mit Motoren gebastelt. Hoffe dass das das Problem löst. Grüße Sebastian
So habe jetzt 2 Kerkos mit 100nF zwischen VCC und GND und zwischen AVCC und GND geschalten. Funktioniert leider immer noch nicht. Gibt es noch weitere vorschläge?
siehe oben: =========== ausreichenden Elko vor den Regler verwenden (>1000µF) Motor nicht aus der stabilisierten Spannung versorgen.... 100nF von Reset gegen Masse
> Spannungsversorgung über den 7805 mit 7V über Konstanter.
Das ist knapp genug für den 7805. Da kann er kaum regeln :-o
Unter 8V würde ich da mal nicht gehen...
danke nochmal für deine antwort. Punkt 2 und 3 hab ich bereits gemacht Genauso wie die Kerkos zwischen VCC und GND Punkt 1 werde ich gleich testen (Geht für den >1000uF auch ein genau 1000 uF zwischen VCC und GND des L293D)?
Super Thanks at all Der 1000uF zwischen VCC und GND beim L293D war die Lösung Jetzt funktioniert es und ich hab was dazu gelernt: Immer die Spannungen mit Elkos und Kerkos Puffern ^^ Danke 1000 mal Grüße Sebastian
Mist zu früh gefreut... Es funktioniert leider immer noch nicht. Er stürzt immer noch ab. Jetzt hab ich aber alles so gemacht wie von euch beschrieben. Kann es vielleicht noch am Programmcode liegen? oder sonst noch irgendwas. Folgende Änderungen von euch habe ich bereits übernommen: 1. Stromversorgung für L293D direkt (ohne 7805 dazwischen) 2. 100nF Kelkos zwischen VCC und GND sowie AVCC und GND 3. 1000uF Elko zwischen VCC und GND bei dem L293D Ja das wars... Das habt ihr vorgeschlagen, dass hab ich gemacht. Hoffe ihr wisst vielleicht noch ein paar Tipps. Grüße Sebastian
Das Programm kannst Du gerne anhängen - schadet nie. Wie hoch ist die Belastbarkeit Deiner Spannungsversorgung ? Speist Du mittlerweile eine Spannung von mindestens 8V in den 7805 ?
Hi Hast du eigentlich die Ausgänge des L293 mit Dioden, wie im Datenblatt, beschaltet? Ansonsten VCC des ATMega mit einer Drossel abblocken. MfG Spess
Also: Code is im ersten Post... Kann ihn aber auch gerne noch einmal Posten. Meine Stromversorgung (= Konstanter) geht bis 5A. Sollte also gut reichen. Ja habe mitlerweile auch 8V erhöht. Bringt aber auch nix :( Die Ausgänge braucht man beim L293D nicht mit Dioden beschalten, da dieser bereits die Dioden drin hat (deshalb vermutlich auch das D wie Diode) Grüße Sebastian
Klemm den Motor ab - wenn das Programm dann nicht abstürzt, liegt es nicht an diesem.....
Hi >Die Ausgänge braucht man beim L293D nicht mit Dioden beschalten, da >dieser bereits die Dioden drin hat (deshalb vermutlich auch das D wie >Diode) Die Stelle im Datenblatt musst du mir aber zeigen. MfG Spess
Jo wenn der Motor nicht dran ist (oder zum Beispiel nur ne LED) dann stürzt dass Programm nicht ab... Ist also iwie ein Fehler in der Hardware... Es funktioniert immer kurz bevor es abstürzt. Aber immer unterschiedlich lang :(
@Spess: In diesem Datenblatt http://www.datasheetcatalog.org/datasheet/texasinstruments/l293d.pdf auf Seite 2 ungefähr in der Mitte
Hi Ok. Nehme letzten Post zurück. Ich hatte nur das Datenblatt vom B/E. MfG Spess
Kein Problem :) Hätte ja auch sein können das ich mich täusche... Dann wäre wenigstens klar warum es nicht läuft. Hab jetzt nochmal die Elkos und Kelkos gemessen (Kapazität) ob da vielleicht einer dabei ist der kaputt ist. Sind aber alle in Ordnung. Gibts noch Ideen?
Okay. Darf ich fragen was die Diode dann bewirkt? Werde ich dann morgen probieren. Motoren sind Motoren aus einem alten Modellauto, dass zum Roboter umfunktioniert werden soll. Entstört sind sie mit einem Kondensator.
Die Diode bewirkt, dass keine Induktionsspitzen und/oder EMK Deine Spannung versauen....
Hi >Okay. Darf ich fragen was die Diode dann bewirkt? Induktivitäten (Motor) neigen beim Abschalten dazu hohe Spannungen zu erzeugen. Durch die Dioden werden die kurzgeschlossen. >.... Entstört sind sie mit einem Kondensator. kann bei schlechten Motoren etwas wenig sein. Das ganze kann natürlich au an deinem Layout liegen. MfG Spess
Das mit der Diode werde ich morgen testen. Vielleicht hilft das ja. Immerhin hat der Elko ja schon etwas geholfen (aber eben noch nicht ganz)
Aber... Sollte die Diode dann nicht bei den Motoren sein? Ich hoffe ich verstehe dich richtig, dass die über den Elko soll, der zwischen VCC und GND von dem L293D ist ?
Ja, Du verstehst mich richtig - sie kann dann "über" den Motor wenn dieser nur in eine Drehrichtung läuft.....
Könnte es vielleicht auch sein, dass die zuleitungen und die Leiterbahnen zu klein sind?
achso... dann geht das mit der Diode eh net... Der motor soll sich in beide richtungen drehen
Otto schrieb: > ausreichenden Elko vor den Regler verwenden (>1000µF) > Motor nicht aus der stabilisierten Spannung versorgen.... > 100nF von Reset gegen Masse SebmaxH schrieb: > Jetzt hab ich aber alles so gemacht wie von euch beschrieben. (...) > Folgende Änderungen von euch habe ich bereits übernommen: > > 1. Stromversorgung für L293D direkt (ohne 7805 dazwischen) > 2. 100nF Kelkos zwischen VCC und GND sowie AVCC und GND > 3. 1000uF Elko zwischen VCC und GND bei dem L293D > > Ja das wars... Das habt ihr vorgeschlagen, dass hab ich gemacht. Und was ist mit dem Kondensator an RESET?
Ah ok... den hab ich noch nicht dann werde ich den noch einbauen. Soll ich da auch einen 100nF nehmen?
Sauber ich bedanke mich erstmal für heute... Den 100nF zwischen V+ beim Reset und GND werde ich morgen einbauen und dann schau ma mal. Danke für eure Geduld und Hilfe. Hoffe ihr seid vielleicht morgen wieder da, damit ich noch mehr fragen stellen kann (fals notwendig) Wünsche euch ne gute Nacht
Wenn beide Richtungen kommt die Diode "über" den Elko, dann geht es doch.....
SebmaxH schrieb: > Vollgas geht ja auch. Also kann es eher weniger daran liegen Der Controller wird wohl immer dann abstürzen, wenn der Motor abgeschaltet wird. > Ah ok... den hab ich noch nicht > > dann werde ich den noch einbauen. Soll ich da auch einen 100nF nehmen? Kannst du machen. Wie groß ist eigentlich der Widerstand (R1) am Reset-Pin?
Der Wiederstand am Reset Pin hat 10 Kohm Das mit dem 100nF werde ich später testen
Häng an den reset pin nen 1k nach v+ und einen 470nF nach gnd. Schau dir mal die v+, den reset pin, motorstrom und motorspannung mit dem Oszi an. Ich würde evtl. auch 100nF (sehr nahe am Atmega)an die Leitungen zwischen Atmega und Treiberstufe hängen. So wie ichs auf die schnelle gesehen hab, sind das keine Kommunikationsleitungen dann gehen 100nF schon. Die Leitungsverlegung trennen Motorstrom und Steuerleitungen nicht nahe bei sammen.
Also: Neuster Stand: Ohne belastung Funktioniert es jetzt wunderbar. Unter belastung stürzt er immer noch ab. ABER: Dies scheint wohl an dem L293D zu liegen, da der nur 600 mA pro Ausgang verträgt, die Motoren aber mehr als die 600mA unter belastung verbrauchen :( Naja jetzt werde ich mal schaun wie ich es alternativ mache
Es kann gut sein, dass deine Versorgung einbricht wenn du den Motor anmachst. -> Reset PS: Du heißt nicht zufällig Hänsch mit Nachnamen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.