Forum: Mikrocontroller und Digitale Elektronik AVR stürzt manchmal ab


von Mike (Gast)


Lesenswert?

Hallo ihr,

Ich habe da ein Problem: Ich habe für einen Bekannten eine Steuerung für 
zwei Möbelstellmotoren gebaut. Eigentlich eine ziemlich primitive Sache. 
Jetzt habe ich das Problem, dass der AVR beim Programmablauf manchmal 
abstürzt, wenn die Motoren angesteuert werden.
Leider ist das für die Meisterarbeit von meinem Freund, die er Anfang 
nächste Woche abgeben muss. Immer wenn man mal eben was für einen Freund 
machen will...
Hier sind ja einige Leute, die wirklich Ahnung haben, vielleicht kann 
mir jemand weiterhelfen, ich will mal versuchen es möglichst genau zu 
beschreiben:
Bei den Stellmotoren handelt es sich um solche, wie man aus einem el. 
Krankenbett kennt: Normalerweise eine Handsteuerung mit 
rauf-runter-Tasten.
Da nun zwei Motoren gesteuert nacheinander ablaufen sollen, habe ich das 
mit einem AT90s2313, der noch rumlag und vier Relais realisiert.
Die Steuerung der Motoren ist so ausgelegt, dass es Gleichstrommotoren 
mit eigenem Netzteil sind, und die Richtungsumschaltung durch eine Box 
mit Gleichrichter und Umschaltrelais realisiert ist. Im Prinzip ist das 
also doppelt gemoppelt, aber das war fertig zum zusammenstecken und 
sollte auch so bleiben.
Nun habe ich, weil sich das von der Raumaufteilung so anbot zu einem 
Motor ein Kabel was etwa 40cm lang ist und zum anderen einen guten 
Meter.
Wenn nun das Ablaufprogramm läuft, passiert es öfters, dass beim 
Schalten des Motors mit dem kurzen Kabel der AVR einfach abstürzt. Bei 
dem langen Kabel funktioniert das einwandfrei, auch wenn ich die Motoren 
gegeneinander tausche. Probleme gibt es immer bei dem mit dem kurzen 
Kabel.
Auch wenn ich den eigentlichen Motor abstöpsele, also nur noch die Box 
zum Richtungsumschalten aktiv ist, gibt es keine Probleme.
Schließlich habe ich auch eine Spannungsversorgung über Akku probiert, 
es passiert trotzdem, an der Netzversorgung des AVRs kann es eigentlich 
nicht liegen.

Bin im Moment echt etwas ratlos und gerate leider etwas unter Druck. 
Vielleicht hat jemand zu den beschriebenen Phänomenen eine passende 
Erklärung, und noch viel wichtiger eine funktionierende Abhilfe.

Ich werde auf jeden Fall das kurze mal gegen ein längeres Kabel tauschen 
und den 2313 durch den Tiny2313 ersetzen, weil der ja scheinbar weniger 
störanfällig sein soll, aber ich wäre mir schon gerne SICHER, dass es 
zuverlässig funktioniert.

Schonmal vielen Dank!

Mike

von Thomas B. (yahp) Benutzerseite


Lesenswert?

Wichtige Punkte sind:

Gutes Abblocken/Tiefpassen der Spannungsversorgung des µC am besten erst 
einen Elko, dann über LC-Tiefpass. Dazu müsste es im Datenblatt einen 
Dimensionierungsvorschlag geben.

Enstören von Relais und Motoren (Snubber und Freilaufdioden).

Ggf. schirmendes Gehäuse für die µC Schaltung.

Offene Eingänge am µC vermeiden.

von Falk (Gast)


Lesenswert?

Ausserdem 100nF am Reset, das war/ist vor allem bei den alten AVRs 
wichtig!

Mfg
Falk

von Mike (Gast)


Lesenswert?

Reicht es, bei den offenen Eingängen einen Pull-Up zu schalten?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

100nF am RESET ist zu viel. 10nF nach Masse und 4,7k nach Vcc. Ansonsten 
kann es zu Problemen beim Programmieren über ISP kommen (falls nötg).

>Reicht es, bei den offenen Eingängen einen Pull-Up zu schalten?

Möglicherweise. Extene PullUps von 4,7K sind aber zu empfehlen, wenn die 
Umgebung elektromagnetisch verseucht ist.

von Frank (Gast)


Lesenswert?

Brown out vielleicht aktiviert?

Wieviel Strom müssen die I/O-Pins schalten?

von Paul Baumann (Gast)


Lesenswert?

Ich hatte auch mal bei einer Maschinensteuerung mit Atmega8515 viel 
"Freude" an wilden Programmsprüngen. Es lag an den internen 
Ziehwiderständen, die zu hoch waren, so daß die Eingänge sehr sensitiv 
reagierten. Nun habe ich externe Ziehwiderstände von 4,7K "draußen" dran 
gemacht und es geht reibungslos.

MfG Paul

von Mike (Gast)


Lesenswert?

@Frank

Es sind nur 4 aktive Ausgänge, die per Transistor die Realais schalten, 
und ein Ausgang für eine 2mA LED

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
Noch kein Account? Hier anmelden.