Forum: Mikrocontroller und Digitale Elektronik Resetschaltung in Eigenbau


von F. K. (superpcfan)


Angehängte Dateien:

Lesenswert?

Hallo

Nachdem ich bei der Suche nach einem Reset-IC, der meine Anforderungen 
erfüllt, nicht fündig geworden bin, wollte ich meine Anforderungen mit 
einem Attiny umsetzen.

Ich habe eine akkubetriebene Schaltung (2 Li Zellen, 20C) für ein 
Eigenbau-Fernsteuerfahrzeug. Die Schaltung ist um Zusatzmodule 
erweiterbar.
Das CPU-Modul überwacht die Akkuspannung und soll die gesamte Schaltung
aussschalten können, wenn der Akku die untere Spannungsgrenze erreicht.

Dafür für ich 2 Ausgänge des Mikrocontrollers der CPU in den 
Reset-Circuit geführt. "Reset" und "Shutdown".

Wenn die Versorgung angeschaltet wird, wartet der Attiny Zeit x und 
schaltet dann den Fet durch. Bei einem High auf "Reset" soll der Attiny
den Fet sperren, Zeit x abwarten und den Fet wieder durchschalten.
Bei einen High auf "Shutdown" sperrt der Attiny den Fet, bis die 
Versorgung ausgeschaltet wird. Die Zeit x wird beim Hochfahren des 
Attiny aus den Jumpern K1 und K2 bestimmt. Momentan sind beide Jumper 
offen, was für 1s steht.

Mein Problem ist jetzt, dass der Attiny in ungleichmäßigen Abständen(ca 
zwischen 1s und 120s) einen Reset der CPU auslöst.

Ich habe beide Eingänge mit einem Oszi im Singleshot-Modus beobachtet.
Es kommt definitiv auf beiden Leitung kein "High" von der CPU.
Der Ripple am Reset und am Vcc des Attiny beträgt +30mV bis -10mV.
Wenn ich den Attiny rausnehme und den Fet einfach mit einer Drahtbrücke 
durchschalte, läuft die Schaltung fehlerfrei.
Wenn ich den Attiny alleine betreibe(mit Pulldown an den Eingängen und 
Pullup am Reset), bleibt der Ausgang durchgehen "High" (wieder mit Oszi 
im Singleshot-Mode überprüft) und die Reset und Shutdown Eingänge 
funktionieren ebenfalls.
Setze ich den Attiny wieder ein, geht der Ausgang des Attiny wieder in 
ungleichmäßigen Abständen auf "Low", womit die CPU resettet.

Da der Attiny alleine funktioniert, nehme ich an, dass das Programm 
keine Bugs hat. (Ist ja auch nur ein winziges Programm). Sollte der 
Wunsch bestehen, liefere ich das Programm später noch nach, da ich es 
gerade nicht zur Hand habe.

Ebenso sehe ich aber auch keinen Schaltungsfehler in der Elektronik, der 
dieses Verhalten auslösen könnte.
Oder macht der 78s05 irgendwelche komischen Sachen, wenn die Last zu 
niedrig ist?

Falls ich irgendwelche Infos vergessen habe, fragt einfach.

Ich hoffe ihr habt einen Wertvollen Tip.

von Bananen Joe (Gast)


Lesenswert?

Guck dir mal die Versorgungsspannung an, evtl. siehst du da etwas, was 
das Verhalten erklärt. Zu mal die 78er auch nicht gerade die modernsten 
Regler sind. Evtl. schwingt sich da etwas auf?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

F. K. schrieb:
> Mein Problem ist jetzt, dass der Attiny in ungleichmäßigen Abständen(ca
> zwischen 1s und 120s) einen Reset der CPU auslöst.
Hast du da wirklich keinen Blockkondensator direkt am uC?
Kommt u.U. ein kurzer Puls an der Shutdown-Leitung?

> liefere ich das Programm später noch nach
Mach das...

von F. K. (superpcfan)


Lesenswert?

Der Attiny und der 78s05 liegen räumlich nebeneinander. Deshalb befinden 
sich auch die beiden Kondensatoren am Ausgang des 78s05 direkt am Attiny 
und ich habe keinen zusätzlichen Abblockkondensator vorgesehen.

Den "alten" Regler 78s05 verwende ich, weil diese Linearregler von der 
Anzahl der externen Bauteile nicht mit einem Schaltregler mithalten 
können.
Ich weiß, dass diese Linearregler nicht effizient sind, aber bei einem 
Strom im µA-Bereich kommt der schlechte Wirkungsgrad wohl nicht zum 
Tragen.
Der 78s05 versorgt nur den Attiny.

Versuche mit der Versorgung werde ich erst heute Abend machen können.
Dann kann ich auch das Programm des Attiny nachliefern.

Einen kurzen Impuls auf "Shutdown" und/oder "Reset" habe ich auf dem 
Oszi (im Singleshot-Modus mit Trigger auf steigender Flanke) nicht 
feststellen können. Ich habe ca. 15 Minuten lang die beiden Eingänge mit 
dem Oszi beochachtet. Über mehrere dieser "ungewollten" Resets hinweg 
hat das Oszi nicht ausgelöst.

von Jonas B. (jibi)


Lesenswert?

>Der Attiny und der 78s05 liegen räumlich nebeneinander. Deshalb befinden
>sich auch die beiden Kondensatoren am Ausgang des 78s05 direkt am Attiny
>und ich habe keinen zusätzlichen Abblockkondensator vorgesehen.

Schlechte Idee, wahrscheinlich fängt deine Schaltung an zu schwingen wie 
oben schon angedeutet. Halt dich an die Angaben im Datenblatt / 
Application Note und schon wird alles gut, zumindest in der 
Stromversorgung ;)

Gruß Jonas

von Peter D. (peda)


Lesenswert?

Den Reset direkt an VCC und ne ordentliche Entprellroutine an alle 
Eingänge, dann klappt das auch.

von F. K. (superpcfan)


Angehängte Dateien:

Lesenswert?

Schonmal danke für die Antworten.

Ich kann auf keiner Leitung rund um den Attiny eine ungewöhnlich hohe 
Spannungsspitze finden. Kein Impuls auf den Steuerleitungen. Keine 
Spitzen auf den Vcc Potentialen, abgesehen von einem 40mV p-p Ripple.

Den Reset auf Vcc zu ziehen hatte keinen Effekt.
Ebenso habe ich zusätzliche Elko's und Folienkondensatoren
am Eingang und Ausgang des 78s05 angebracht, ohne Erfolg.
Eine Schutzdiode zwischen Ausgang und Eingang des 78s05 hat auch nichts 
verändert.

Um erstmal die mögliche Erfolgschance einer Entprellroutine zu 
beurteilen, habe ich die Eingänge des Attiny auskommentiert. Der 
ungewollte Reset wurde trotzdem ausgelöst. Es sind also keine 
Signalimpulse schuld.

Ich habe das Assembler Programm gepackt und angehängt. Der Watchdog ist 
aus. Die Brown-Out Detection steht auf 1,8V. Der Attiny arbeitet bei 
1MHz.

Als nächstes wollte ich so etwas wie ein Fehlerlog schreiben, der das 
Reset-Statusregister bei jedem Neustart in eine separate Zelle des 
Eeprom schreibt.

von Amateur (Gast)


Lesenswert?

Ich würde davon ausgehen, dass der Bereich T1, R1, R2 und T2 den Ärger 
verursacht. Genauer der Sperrstrom von TeZwei.

... aber irren ist menschlich - sprach der Igel und stieg von der 
Bürste.

von Peter (Gast)


Lesenswert?

F. K. schrieb:
> Der Attiny und der 78s05 liegen räumlich nebeneinander. Deshalb befinden
> sich auch die beiden Kondensatoren am Ausgang des 78s05 direkt am Attiny
> und ich habe keinen zusätzlichen Abblockkondensator vorgesehen.

Es ist unglaublich wie renitent manche Leute sind ... warum kann man das 
nicht einfach so machen wie es gehört? Was haben der 
Entkoppelkondensator und der Ausgangskondensator des Spannungsreglers 
gemeinsam? Genau NICHTS . Wenn man es richtig macht, sind das sogar 
ganz andere Kondensatortypen. Und natürlich siehst du es nicht unbedingt 
an der Spannung.

Wo genau hast du die 2x10uF her? Nachts geträumt und gedacht du bist 
schlauer als alle anderen, schlauer als der Hersteller. Hast du nur ein 
Datenblatt mit chinesischen Schriftzeichen gefunden? Hier eines mit 
europäischen http://www.fairchildsemi.com/ds/LM/LM7805.pdf
Wo genau waren nochmal die 10µF? Genau - Nirgendwo. Warum machst du es 
nicht wie im Datenblatt? Bist du schlauer als die von Fairchild? Wohl 
weniger?

von F. K. (superpcfan)


Lesenswert?

Amateur schrieb:
> Ich würde davon ausgehen, dass der Bereich T1, R1, R2 und T2 den Ärger
> verursacht. Genauer der Sperrstrom von TeZwei.

Das habe ich nicht verstanden. Die ungewollten Resets treten doch auf,
wenn T2 und damit T1 durchgeschaltet ist.
Von welchem Sperrstrom sprichst du da?

von Frank M. (frank_m35)


Lesenswert?

Allem Anschein nach scheint dein Attiny sich zu resetten. Auf den 
letzten Hinweis zur Stromversorgung bist du nicht eingegangen, daher ist 
alles weitere Rätselraten.

Aber mal ganz was anderes:
Hat dein Atmega nicht auch einen ADC? Wozu überhaupt der ganze Aufwand 
mit dem Attiny, wenn du auch alles mit dem Atmega und zwei Schaltregler 
mit Enable Pin machen hättest können?

von F. K. (superpcfan)


Lesenswert?

Ich habe

F. K. schrieb:
> Der Attiny und der 78s05 liegen räumlich nebeneinander

und

F. K. schrieb:
> Ebenso habe ich zusätzliche Elko's und Folienkondensatoren
> am Eingang und Ausgang des 78s05 angebracht, ohne Erfolg.

geschrieben.

Damit habe ich defakto eine Schaltung mit Abblockkondensator in diversen 
Größen und Bauformen ausprobiert.
Warum soll ich noch weiter auf rumgepöbel reagieren?

Die Attiny Lösung habe ich gewählt, weil ich nur einen 3,3V Regler für 
die "CPU" vorgesehen habe. Dieser Regler versorgt Verbraucher mit 
insgesamt 150mA. Diese wollte ich mit wegschalten, wenn der Akku zur 
Neige geht.
Um deinen Vorschlag, Frank M., umzusetzen, müsste ich für den AtXMega 
einen zusätzlichen Regler einbringen und das Reset- sowie das Shutdown- 
Signal auf den anderen Regler und einen FET bringen. Denn Modul n ist 
ein Motortreiber, der Leistung aus dem Akku zieht.

Und bevor jetzt kommt: "Dein Motortreiber erzeugt bestimmt gewaltige 
Induktionsspitzen!"....

Der war/ist bei allen Versuchen mit ungewollten Reset's aus. :)

Ich benötige wirklich einen vorgelagerten, für sich arbeitenden, Reset 
und Shutdown Schaltkreis mit Flankenerkennung.

von spontan (Gast)


Lesenswert?

>Warum soll ich noch weiter auf rumgepöbel reagieren?

Die Ratschläge des Forums zu mißachten und weiter Fragen nach den 
Fehlern zu stellen, daß ist auch keine achtsame Art.

Warum ist der Abstand zwischen 78xx und µC so groß, wie Du es 
beschrieben hast? Was hängt noch alles an 78xx? Du hast zwar geschrieben 
nix, aber das kann ich mir bei dem Abstand nicht so ganz vorstellen.

Hast Du das Datenblatt des 78xx befolgt? Wiklich?
Hast Du die Versorgung am µC abgeblockt? So wie es sein soll?

Kannst Du die verendete Software in Klartext posten? Willst Du?

von Frank M. (frank_m35)


Lesenswert?

F. K. schrieb:
> Damit habe ich defakto eine Schaltung mit Abblockkondensator in diversen
> Größen und Bauformen ausprobiert.
> Warum soll ich noch weiter auf rumgepöbel reagieren?
Die Frage von Peter war, wie kommst du auf 2x10uF? Du hast noch mehr 
dazugepackt, ja, hast du aber auch schon mal ohne diese beiden versucht. 
Und eben einem 0.1uF direkt an den Versorgungspins des Attiny? Und einem 
Keramikkondensator (kein Elektrolyt, viel zu hoher Innenwiderstand) vor 
dem Regler, so wie's im Datenblatt eben steht?

> Die Attiny Lösung habe ich gewählt, weil ich nur einen 3,3V Regler für
> die "CPU" vorgesehen habe. Dieser Regler versorgt Verbraucher mit
> insgesamt 150mA. Diese wollte ich mit wegschalten, wenn der Akku zur
> Neige geht.
> Um deinen Vorschlag, Frank M., umzusetzen, müsste ich für den AtXMega
> einen zusätzlichen Regler einbringen und das Reset- sowie das Shutdown-
> Signal auf den anderen Regler und einen FET bringen. Denn Modul n ist
> ein Motortreiber, der Leistung aus dem Akku zieht.
Und was wäre dabei das Problem? Ist doch einfacher als deine jetzige 
Lösung mit zwei Mikrocontrollern. Zudem wärst du flexibler und müsstest 
immer nur einen uC programmieren, und du könntest beide Regler komplett 
abschalten, wodurch kein Ruhestrom benötigt wird. Bei dir ist immer der 
Regler und der Attiny an, mindestens 10mA Ruhestrom! Also kann der Akku 
bei dir momentan tiefentladen werden.

von F. K. (superpcfan)


Lesenswert?

Mir ist der Unterschied zwischen Elko's und Bipolarkondensatoren in 
Hinsicht auf Speicherkapazität und Energieabgabegeschwindigkeit bewusst.

F. K. schrieb:
> ...in diversen Größen und Bauformen...

Damit habe ich unterschiedliche Kondensatortypen und Größen gemeint. 
Unter Anderem auch die, die im Datenblatt stehen. Die 2x10µF und 1x100nF 
aus dem Schaltplan im ersten Post sind Ehrfahrungswerte, mit denen ich 
im ersten Ansatz gestartet bin und die bisher bei all meinen 78xx 
Schaltungen funktioniert haben.

Ich habe diese Resetschaltung erst nachträglich in das Gesamtprojekt 
gebracht. Daher ist es jetzt etwas aufwendig, den AtXMega von dem 
bestehenden 3,3V Regler zu bekommen und ihm einen eigenen zu verpassen.

Außerdem habe ich mir bei der Konzeptionierung überlegt, einen 
Schaltregler zu nehmen. In den Datenblättern, die ich mir angeschaut 
habe, war für die Schaltregler ein Ruhestrom von 5mA angegeben. Das 
bedeutet ein Tiefenentladen nach mehreren Stunden hätte ich ohnehin 
nicht unterbinden können. Also habe ich mich für einen Linearregler 
entschieden, der zwar einen doppelt so hohen Ruhestrom hat, dafür aber 
weniger externe Bauteile benötigt. Ob 5mA oder 10mA macht keinen großen 
unterschied. Ich habe trotzdem genug Zeit, den Akku von der Schaltung zu 
trennen.

spontan schrieb:
> Warum ist der Abstand zwischen 78xx und µC so groß, wie Du es
> beschrieben hast? Was hängt noch alles an 78xx? Du hast zwar geschrieben
> nix, aber das kann ich mir bei dem Abstand nicht so ganz vorstellen.

Welcher Abstand? "räumlich nebeneinander" ist in Zahlen "5mm"?!

spontan schrieb:
> Kannst Du die verendete Software in Klartext posten? Willst Du?

Kann ich? Klar!, Will ich? Nein! ->Forenregeln
Mal abgesehen davon, dass meine Software noch nicht "verendet" ist. ;)

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.