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.
Sehe ich das richtig, dass der Pin 10 von den ULN2003 auf VCC, also 5V liegt, Du die Relais aber mit 24V versorgst?
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?
> Wie gesagt... Passiert unregelmäßig nach 2 Wochen, oder aber auch schon > nach 2 Tagen... Das schreit förmlich nach 'ner externen RTC.
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) ?
helfer27.12 schrieb:
> Kann durchaus sein, dass es ein Softwarebug ist.
Im Moment tipp ich eher auf die Hardware.
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 Dannegger schrieb:
> Der AREF-Pin kriegt auch einen 100nF.
Da der ADC hier nicht verwendet wird dürfte das egal sein.
Wie sieht denn das Layout aus? Bei solchem Problem ist das nicht unerheblich.
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.
Der Vergleich hinkt ein wenig :D Vorschläge zur Reifenreparatur gab's ja bereits...
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.