Nabend,
ich suche nach einer Möglichkeit einen binären Wert zu merken, wenn der
Mikrocontroller von der Spannung getrennt wird. Dies sollte nicht über
EEPROM laufen.
Gibt es irgendwie ein Bauteil, was sich diesen Wert merken kann? Sodass
ich das Bauteil an meienm Mikrocontroller anschließen kann und dann den
Pin abfrage (High oder Low).
Maik
Maik schrieb:> Dies sollte nicht über EEPROM laufen.
Warum nicht?
> Gibt es irgendwie ein Bauteil, was> sich diesen Wert merken kann?
Ein EEPROM. Dafür ist das da.
Alternativ: Batteriegepuffertes RAM, oder FERAM ...
Da Du aber nur ein einzelnes Bit speichern willst, kannst Du auch ein
bistabiles Relais verwenden. Das ist dann wenigstens auch noch
mechanisch.
Dazu schließt man einen ausreichend großen Kondensator an einen PIN an,
für den vorher ein PullUp aktiviert wurde.
Beim Neustart wird dann direkt der Zustand geprüft.
Joe schrieb:> Dazu schließt man einen ausreichend großen Kondensator an einen PIN an,> für den vorher ein PullUp aktiviert wurde.
Und der Kondensator wird bei spannungslosem MC über die Schutzdioden des
MC-Pins entladen. Das geht also nicht. Und warum den Pullup?
Maik schrieb:> Dies sollte nicht über EEPROM laufen.
Und was hast du dagegen? Vielleicht erklärst du mal dein eigentliches
Problem
> Gibt es irgendwie ein Bauteil, was sich diesen Wert merken kann? Sodass> ich das Bauteil an meienm Mikrocontroller anschließen kann und dann den> Pin abfrage (High oder Low).
Warum verwendest du einen µC, wenn du ihn offensichtlich nicht verwenden
willst - um es mal überspitzt zu formulieren?
Joe schrieb:> Dazu schließt man einen ausreichend großen Kondensator an einen PIN an
Dazu bleibt der Kontroller zu lange ohne spannung. Eigentlich bekommt
dieser nur ~10 mal am Tag für eine Kurze Zeit Spannung, muss dann
auswerten ob eins oder null, kurz etwas arbeiten und rausschicken und
dann wird die Spannung wieder weggenommen.
EEPROM wollte ich vermeiden, da dieser ja irgendwann nicht mehr
funktioniert. Aber ich denke, dass sollte etwas dauern.
Werde es dann wohl doch darüber machen
Maik schrieb:> nur ~10 mal am Tag für eine Kurze Zeit Spannung,
Und wenn der Strom angeht war er vorher aus!
Was muss man sich da merken?
Das ist doch wieder son "Ich hab keine Ahnung aber ich will das machen"
>EEPROM wollte ich vermeiden, da dieser ja irgendwann nicht mehr>funktioniert.
Man kann sich auch einen WearLeveling Algorithmus bauen.
Damit kann man mit relativ wenig EEPROM-Zellen eineige Jahre
überbrücken, bis das EEPROM seine 100.000 Zyklen durch hat.
Oder man nimmt ein FRAM, da hat ein paar Zyklen mehr ;-)
Matthias schrieb:>>EEPROM wollte ich vermeiden, da dieser ja irgendwann nicht mehr>>funktioniert.>> Man kann sich auch einen WearLeveling Algorithmus bauen.> Damit kann man mit relativ wenig EEPROM-Zellen eineige Jahre> überbrücken, bis das EEPROM seine 100.000 Zyklen durch hat.> Oder man nimmt ein FRAM, da hat ein paar Zyklen mehr ;-)
Selbst wenn man gar nichts in der Richtung macht, reichen 100.000 Zyklen
für 10.000 Tage, das sind über 27 Jahre!
Maik schrieb:> nur ~10 mal am Tag
Hab ich richtig gerechnet? :-)
Maik schrieb:> EEPROM wollte ich vermeiden, da dieser ja irgendwann nicht mehr> funktioniert.
Für EEPROMs werden typisch 1 Million Schreibzyklen (z.B. AT24C32)
angegeben. Bei deinen 10 Zyklen pro Tag ist also der Betrieb für die
nächsten 250 Jahre eigentlich nicht gefährdet. Und wenn das nicht
reicht, schreibst du deine Software so, dass der µC den Pinzustand nicht
immer in der selben Speicherstelle verewigt. O.g. EEPROM hat bietet
immerhin 4kB und ist eins der kleinen.
Max M. schrieb:> Und wenn der Strom angeht war er vorher aus!> Was muss man sich da merken?
Das ist mir auch klar. ich möchte ja nicht den zustand wissen, wo der
Mikrocontroller aus war. Ich möchte den Zustand wissen, wo der
Mikrocontroller das letzte mal an war.
Also Kontroller geht an -> Zustand = 1
Kontroller geht aus
Kontroller geht wider an -> letzter Zustand = 1, Neuer Zustand = 2
Kontroller geht aus
Kontroller geht wider an -> letzter Zustand = 2, Neuer Zustand = 1
usw.
Werde es jetzt über EEPROM machen. Ist wahrscheinlich auch die
einfachste Lösung.
Max M. schrieb:> Und wenn der Strom angeht war er vorher aus!> Was muss man sich da merken?> Das ist doch wieder son "Ich hab keine Ahnung aber ich will das machen"
Mach hier kein Wellen -eine alte Baustelle wartet auf Dich. Dort ist der
von Dir ersehnte Schaltplan eingetroffen. Man erwartet doch Deinen
fachkundigen Rat!
Beitrag "Re: Betätigung der Hupe resettet Kettenöler"
Wenn ich die Nachricht von 21:02 richtig verstehe, geht es nur um einen
Wechselzustand.
-> D-Flip Flop
das bei jedem Einschalten den Zustand wechselt und abgefragt wird.
EEPROM oder bistabiles Relais.
Hast Du dir schon überlegt, wer dem µP den Tipp geben soll: Es ist
Feierabend!
Kann nicht schaden, diesen Tippgeber, zusammen mit der Entscheidung zum
Speicher und dessen Implementierung, festzulegen.