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.
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?
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...
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.
>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
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.
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.
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?
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?
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?
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.
>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?
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.
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. ;)