mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik eeprom schreiben bei Brown Out Detection


Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ist es möglich bei einem ATMega128 bei Erkennung der Brown-Out Detection 
Werte ins eeprom zu schreiben und damit zu speichern?
Habe einen Mega128 mit Zeitfunktion laufen, allerdings scheint es 
manchmal Resets des Controllers zu geben und damit einen Verlust der 
Zeit... :-(
Dies würde ich mit dem Speichern der Zeit gerne umgehen bzw. beheben.

Gruß
Dennis

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>ist es möglich bei einem ATMega128 bei Erkennung der Brown-Out Detection
>Werte ins eeprom zu schreiben und damit zu speichern?

Nein. Das musst du früher erkennen.

MfG Spess

Autor: Billy der Bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn die (Uhr-)Zeit so wichtig ist und auch bei Resets und 
Programmfehlern unbedingt erhalten werden muss, warum nimmst du dann 
nicht eine externe RTC mit Li-Batterie?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Dennis (Gast)

>Habe einen Mega128 mit Zeitfunktion laufen, allerdings scheint es
>manchmal Resets des Controllers zu geben und damit einen Verlust der
>Zeit... :-(
>Dies würde ich mit dem Speichern der Zeit gerne umgehen bzw. beheben.

Wie soll das denn gehen? Wenn dein AVR einen Reset macht und unbestimmte 
Zeit nicht arbeitet, nützt dir eine gespeicherte Zeit rein gar nix.
Es klingt eher danach, dass du einen Hard- oder SOftwarefehler hast, der 
dir sporadische Resets beschert. Diese Fehler musst du finden und 
beheben, nicht durch rumpfuschen scheinbar verdecken.

MfG
Falk

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Tip Falk!

Der Fehler ist bereits lokalisiert. Und zwar betreibe ich über ULN 
Bausteine Relais mit denen Motoren ein/ausgeschaltet werden. Dadurch 
bekomme ich ganz kurz einen Reset und meine Zeit is wech...!
Insofern wäre die Zeit zu vernachlässigen die dadurch verloren geht. Ein 
solcher Reset kommt circa alle 2 Wochen mal vor...

Da ich die Motoren nur mit großem Aufwand mit RC-Gliedern entkoppeln 
kann werde ich wohl auf die Variante mit einem RTC zurückgreifen müssen. 
Oder aber an den Controller noch ne Netzwerkanbindung schaffen und mir 
die Zeit über NTP holen. DCF77 fällt wegen schlachtem Empfang flach...

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reset mit Widerstand auf VCC gezogen ? Ansonsten die µC Versorgung 
entkoppeln, VCC auftrennen, Diode rein und Kondensator nach GND, dann 
erst auf µC-VCC.

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MWS schrieb:
> Reset mit Widerstand auf VCC gezogen ? Ansonsten die µC Versorgung
> entkoppeln, VCC auftrennen, Diode rein und Kondensator nach GND, dann
> erst auf µC-VCC

Dies habe ich alles beachtet...
Habe nen 7805 mit der im Datenblatt beschriebenen Beschaltung und einer 
Diode davor. Habe auch schon zusätzlich einen größeren Kondensator nahe 
dem µC installiert, leider ohne Erfolg. :-(

Trotzdem Danke für den Tip.

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> und einer Diode davor.

Nicht mit einer Diode davor. VCC vom Regler auf Diode, von Diode auf 
Kondensator, dann auf µC-VCC und sonst nirgendwohin. Also ein extra 
Kondensator nur für den µC, mit dem Ziel Spannungseinbrüche ausgelöst 
durch andere Verbraucher fernzuhalten.

Wo hängen die Relais jetzt dran ? Welche Verbraucher sind auf der 5V 
Leitung des Reglers ? Vielleicht die Relaisspulen ?

Schaltplan ?

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

Bewertung
0 lesenswert
nicht lesenswert
Schaltplan ist hier im Anhang...

Autor: Andreas K. (derandi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Skalieren will gelernt sein!
Ich sehe da keine Relais. Aber, wo wir grade dabei sind, die 
Freilaufdioden der ULN sind ja unbeschaltet, bzw. haste denn 
Freilaufdioden an den Relais?

Autor: Alexander Schmidt (esko) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Freilaufdioden über den Relais?
Notfalls einen zweiten 7805 für die Relais spendieren.
Die Motoren hängen hoffentlich an einem anderen Trafo?!

Der Schaltplan sagt nicht aus wo die Relais hängen und ist außerdem zu 
klein.

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bisserl grob aufgelöst, kann man wenig erkennen...

Die ULN's kann man ein wenig erkennen, wohin sind die Relais 
angeschlossen ? An die geregelten 5V oder an ungeregelt Plus ?

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Relais sind auf Hutschienensockel mit Freilaufdioden montiert.
Die ULN 2803 schalten Masse auf die Relais, welche an der gemeinsamen 
24V-Versorgung hängen...
Relais schalten 230V Motoren.

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, poste mal 'nen besser aufgelösten Plan. Oder probier' einfach aus, 
was ich vorgeschlagen habe.

Seh' keinen Grund, warum der µC einen Reset machen sollte. Software ok ?

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann ich hier auch nen pdf als Plan anhängen?

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

Bewertung
0 lesenswert
nicht lesenswert
Hab nun nen Export aus Eagle gemacht...

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MWS schrieb:
> Software ok ?

Wie gesagt... Passiert unregelmäßig nach 2 Wochen, oder aber auch schon 
nach 2 Tagen...
Denke nicht das es nen Software Bug ist.

Autor: Jo O. (brause1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehe ich das richtig, dass der Pin 10 von den ULN2003 auf VCC, also 5V 
liegt, Du die Relais aber mit 24V versorgst?

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo O. schrieb:
> Sehe ich das richtig, dass der Pin 10 von den ULN2003 auf VCC, also 5V
>
> liegt, Du die Relais aber mit 24V versorgst?

Diese Änderung hatte ich eben testweise in die Schematic eingfügt um zu 
schauen ob es auf dem Board zu realisieren wäre. PIN 10 ist derzeit NC.

Die Relais hängen an +24V und werden von den ULN mit GND beschaltet...

Autor: Jo O. (brause1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du das so machst, dann hast du 24 V auf deiner VCC Leitung liegen, 
wenn ich deine Beiträge oben richtig verstanden habe.

Dabei dürfte einiges auf der Platine kaputt gehen.

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

Bewertung
0 lesenswert
nicht lesenswert
Jo O. schrieb:
> Dabei dürfte einiges auf der Platine kaputt gehen

In dem Fall so ziemlich alles wichtige... ;-)
Dann bin ich also mit meiner ursprünglichen Version (ULN Pin10 = N.C.) 
gar nicht so schlecht dran?

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wie gesagt... Passiert unregelmäßig nach 2 Wochen, oder aber auch schon
> nach 2 Tagen...

Das schreit förmlich nach 'ner externen RTC.

Autor: helfer27.12 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann durchaus sein, dass es ein Softwarebug ist.

Autor: Jo O. (brause1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach doch mal ne Handskizze auf der ein ULN's drauf ist, ein Relais, 
alles was mit den 24V zu tun hat, die Freilaufdiode und Die 
Spannungsversorgung vom Prozessor .

Versorgst du mit den 24V auch das Board?

Wenn möglich wäre auch ein Bild mit dem Board nicht schlecht.

Was passiert eigentlich, wenn die Sicherung F2 auslöst. Bist du sicher, 
dass dann keine 24V am Prozessor liegen könne (auch ohne Anschluss von 
Pin 10 der ULN's) ?

Autor: Jo O. (brause1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
helfer27.12 schrieb:
> Kann durchaus sein, dass es ein Softwarebug ist.

Im Moment tipp ich eher auf die Hardware.

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo O. schrieb:
> Was passiert eigentlich, wenn die Sicherung F2 auslöst. Bist du sicher,
>
> dass dann keine 24V am Prozessor liegen könne (auch ohne Anschluss von
>
> Pin 10 der ULN's) ?

Da bin ich ziemlich sicher,
denn diese kann ich auch entfernen ohne das irgendetwas kaputt geht.
Im Falle eines durchschlagen des Transistor Arrays, könnte es ventuell 
zu 24V auf der Platine kommen, aber das ist mir durchaus bewußt und auch 
nicht umgänglich...

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo O. schrieb:
> Im Moment tipp ich eher auf die Hardware

Es ist auch Hardware. Habe im nachhinein schon mehrfach von Problemen 
bei Relaisbetriebenen Motoren gehört... :-(

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

Bewertung
0 lesenswert
nicht lesenswert
Jo O. schrieb:
> Mach doch mal ne Handskizze auf der ein ULN's drauf ist, ein Relais,
>
> alles was mit den 24V zu tun hat, die Freilaufdiode und Die
>
> Spannungsversorgung vom Prozessor .

Autor: Andreas K. (derandi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon mal mit dem Oszi nach Spitzen in der Versorgungsspannung gesucht?
Möglicherweise hebt sich GND an wenn viele Relais schalten.

Und wäre es nicht sinnvoller die 24V-Zuleitung zu den Relaisspulen 
abzusichern?

Autor: Jo O. (brause1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie haste denn die Brown-Out Detection eingestellt?

Warum sind die Kondensatoren am 7805 nich 100nf? Welche Typen haste denn 
da verbaut? Keramische?

Wieviel Stom ziehen die Relais? Können die gleichzeitig angesteuert 
werden?

Welche Dioden hast du als Freilaufdioden benutzt?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Dennis (Gast)

>Wie gesagt... Passiert unregelmäßig nach 2 Wochen, oder aber auch schon
>nach 2 Tagen...
>Denke nicht das es nen Software Bug ist.

Denke nie gedacht zu haben, denn das Denken der Gedanken ist 
gedanklenloses Denken.

PRÜFE!

Schalte testweise dein Motoren so oft wie möglich. Die Anlaufströme sind 
meist deftig. Wieviel Leistung ziehen die? Welche Typen sind das?
Einen Snubber solltest du UNBEDINGT vorsehen, auch wenn es nicht 
ganz einfach machbar ist. Die Leitungen von deiner Platine zu den Relais 
sollten verdrillt sein, noh besser geschirmt und der Schirm seitens 
deines uC auf PE gelegt.

Stürzt dein uC beim Anschalten oder Abschalten der Relais ab?

MFG
Falk

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MWS schrieb:
> Das schreit förmlich nach 'ner externen RTC.

Das ist Quatsch mit Soße.
Nicht die Wirkung bekämpfen, sondern die Ursache finden!

Du bist wohl ein Politiker, denn die müssen mit maximalen Aufwand die 
geringsten Resultate erzielen.


Peter

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Dennis

Dem Resetpin mußt Du noch nen 100nF gegen GND spendieren, sonst ist der 
sauempfindlich.

Und an den Spannungsregler jede Seite noch ein 100µF gegen 
Spannungseinbrüche.

Der AREF-Pin kriegt auch einen 100nF, die Brücke nach VCC muß weg.


Peter

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger schrieb:

> Der AREF-Pin kriegt auch einen 100nF.

Da der ADC hier nicht verwendet wird dürfte das egal sein.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie sieht denn das Layout aus? Bei solchem Problem ist das nicht 
unerheblich.

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter,
Hirn benutzen und versuchen logisch zu denken.
Wenn man sich anstrengt, dann klappt das auch :D

Bei einer Schaltung, die von der aktuellen Zeit abhängt, und in 
elektrisch rauher Umgebung arbeitet, wär's sicher nicht verkehrt dafür 
zu sorgen, daß im Fehlerfall, auch Stromausfall, die ganze Sache 
vernünftig weiterarbeitet.

Das hat nix mit Politik zu tun ;-)

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MWS schrieb:

> Bei einer Schaltung, die von der aktuellen Zeit abhängt, und in
> elektrisch rauher Umgebung arbeitet, wär's sicher nicht verkehrt dafür
> zu sorgen, daß im Fehlerfall, auch Stromausfall, die ganze Sache
> vernünftig weiterarbeitet.

Sicher. Aber unabhängig davon ist eine autonome Uhrzeit zur Lösung des 
beschriebenen Problems der verkehrte Ansatz.

So könnte sich man dem Problem auch dadurch nähern, dass man die Ursache 
des Resets so angezeigt kriegt, wie sich die dem Controller darstellt. 
Also ob per Reset-Pin, Powerup, Brownout oder weil das Programm nach 
Adresse 0 gehüpft ist. Irgendein MCUC(S)R sagt das.

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A.K.,
richtig, aber wenn Du meine Posts vorher anschaust, ich gehe von einem 
elektrischen Problem aus, dazu auch mein Vorschlag die MC Versorgung von 
Spannungseinbrüchen zu entkoppeln.

Unabhängig davon, frag mal en TE, wieviel Aufwand er betreiben will, um 
diese sporadischen Ausfälle in den Griff zu bekommen.

Da wäre ein Fail-Safe Sytem kein schlechter Kompromiss.

Eine per SPI oder TWI angebundene RTC als maximalen Aufwand zu 
bezeichnen und mit der allseits bekannten Ineffiktivität von Politik zu 
vergleichen schien mir da ein wenig daneben.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nichts gegen ein Fail-Safe System.
Aber wenn bei deinem Autoreifen alle 2-3 Wochen die Luft draussen ist, 
besteht die Lösung nicht darin, sich einen Kompressor in den Kofferraum 
zu legen.

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Vergleich hinkt ein wenig :D

Vorschläge zur Reifenreparatur gab's ja bereits...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MWS schrieb:

> Eine per SPI oder TWI angebundene RTC als maximalen Aufwand zu
> bezeichnen und mit der allseits bekannten Ineffiktivität von Politik zu
> vergleichen schien mir da ein wenig daneben.

Es ist zumindest ein recht hoher Aufwand, Du brauchst ja noch ne extra 
Batterie und jeder hat bestimmt schonmal schlechte Erfahrungen mit 
ausgelaufenen Batterien gemacht.

Einmal hat mir die CMOS-Batterie sogar Leiterzüge auf dem Motherboard 
weggeätzt (= Totalschaden).

Ich hab auch schonmal nen DS1994 mit interner Batterie benutzt.
Außer, daß er sehr ungenau war, hat er gerade mal 5 Jahre gehalten, also 
nur 50% der garantierten 10 Jahre, obwohl die Schaltung ununterbrochen 
am Netz war. Das positivste war, daß er wenigstens nicht ausgelaufen 
ist.

Wenn die Netzversorgung stabil ist, besteht daher kein Grund, die 
Nachteile eines RTC in Kauf zu nehmen. Da ist Fehlerbeseitigung der 
einzig richtige Ansatz.


Peter

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner schrieb:
> Stürzt dein uC beim Anschalten oder Abschalten der Relais ab?

Beim Anziehen der Relais kommt es zum Reset.

Werde den Vorschlag von Peter Dannegger zunächst versuchen umzusetzen.

Habe am 7805 zur Zeit keramische Kondensatoren verbaut.

Könnte ich einen Schnubber (RC-Glied) denn einfach über meinen Schalter, 
sprich ULN2803 schalten um Störungen durch das Relais zu vermeiden? Dies 
könnte ich wohl noch gut realisieren...

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Dennis (Gast)

>> Stürzt dein uC beim Anschalten oder Abschalten der Relais ab?

>Beim Anziehen der Relais kommt es zum Reset.

Dann wird wohl der sehr hoche Anlaufstrom + der Funke am Kontakt dem uC 
das Licht ausblasen.

>Könnte ich einen Schnubber (RC-Glied) denn einfach über meinen Schalter,
>sprich ULN2803 schalten um Störungen durch das Relais zu vermeiden?

Nein, das Problem liegt woanders, an den Kontakten. Gegen einen 
Einschaltstromstoß hilft ein Snubber praktisch nicht.

MfG
Falk

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter,

ich verwende gern Epson RTC's mit integriertem Quarz in Verbindung mit 
einem kleinem Goldcap.

Einmal abgesehen davon, daß damit das eigentliche Problem nur kaschiert 
(in diesem Fall im Endergebnis gelöst) würde, so halte ich unabhängig 
davon bei so einer Uhrzeit gesteuerten Geschichte ein Backup der Zeit 
per RTC für ein Muss.

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.