www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMega 32 stürzt ab


Autor: SebmaxH (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: SebmaxH (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Schaltplan der Platine

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zumindest direkt an jedem Versorgungsanschluss des µC ein 100nF.
Auch dem Reset tut oft ein 100nF gut.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

AVR042: AVR Hardware Design Considerations

http://www.atmel.com/dyn/resources/prod_documents/...

MfG Spess

Autor: martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Afaik nimmt man normal bei jedem IC einen 100nF Kerko zwischen VCC und 
GND.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
siehe oben:
===========

ausreichenden Elko vor den Regler verwenden (>1000µF)
Motor nicht aus der stabilisierten Spannung versorgen....
100nF von Reset gegen Masse

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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...

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)?

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ?

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: SebmaxH (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klemm den Motor ab - wenn das Programm dann nicht abstürzt, liegt es 
nicht an diesem.....

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :(

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Spess:
In diesem Datenblatt
http://www.datasheetcatalog.org/datasheet/texasins...

auf Seite 2 ungefähr in der Mitte

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Ok. Nehme letzten Post zurück. Ich hatte nur das Datenblatt vom B/E.

MfG Spess

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Diode ausreichender Leistung in Sperrrichtung parallel zum Elko des 
L293D

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Was hast du denn für einen Motor dran. Ist der entstört?

MfG Spess

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Diode bewirkt, dass keine Induktionsspitzen und/oder EMK Deine 
Spannung versauen....

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ?

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, Du verstehst mich richtig - sie kann dann "über" den Motor wenn 
dieser nur in eine Drehrichtung läuft.....

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnte es vielleicht auch sein, dass die zuleitungen und die 
Leiterbahnen zu klein sind?

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achso...

dann geht das mit der Diode eh net...

Der motor soll sich in beide richtungen drehen

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
obwohl...

Vollgas geht ja auch. Also kann es eher weniger daran liegen

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah ok... den hab ich noch nicht

dann werde ich den noch einbauen. Soll ich da auch einen 100nF nehmen?

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn beide Richtungen kommt die Diode "über" den Elko, dann geht es 
doch.....

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Wiederstand am Reset Pin hat 10 Kohm

Das mit dem 100nF werde ich später testen

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Esko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: SebmaxH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nö

heiße nicht Hänsch mit nachnamen :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.