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
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
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?
@ 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
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...
Reset mit Widerstand auf VCC gezogen ? Ansonsten die µC Versorgung
entkoppeln, VCC auftrennen, Diode rein und Kondensator nach GND, dann
erst auf µC-VCC.
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.
> 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 ?
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?
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.
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 ?
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.
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 ?
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.
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...
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.
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?
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) ?
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...
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... :-(
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 .
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?
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?
@ 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
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
@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
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 ;-)
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.
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.
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.
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
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...
@ 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
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.