Hallo zusammen, ich habe hier ein Gerät mit ATMega2560 und daran angeschlossenen statischen CMOS-Ram. Die Pufferung des Rams erfolgt mit einer CR2032, die Umschaltung mit einem MAX691. Erfahrungsgemäß hält eine Zelle mehrere Jahre durch. Kommt es allerdings zum Ausfall, dann wäre es sehr nett, wenn die im Ram befindlichen Daten vorher gesichert werden können. Also soll die Batteriespannung gemessen werden und der Benutzer ggf. auf die bald ablebende Batterie hingewiesen werden. Erster Gedanke war, die Batteriespannung direkt an einen ADC-Eingang des ATMega zu legen. Allerdings habe ich nun Bedenken, dass mir der µC im ausgeschalteten Zustand die Batterie leer saugt. Wie löst man das Problem am geschicktesten? Ein Relais wäre aus Platzgründen nicht erstrebenswert. Danke für alle Hinweise. Thomas
Der Selbstentladungsstrom einer CR2032 liegt etwa bei 1 µA. Wenn du einen Widerstand von 3,3 MΩ vorschaltest, liegt dessen Entladelast bei abgeschaltetem Controller in der gleichen Größenordnung. Den ADC-Eingang musst du mit einem hinreichend großen Kondensator versehen, damit die S&H-Schaltung des ADC beim Messen genügend Elektronen bekommt, um ohne große Messwertverfälschung den internen C nachzuladen.
was natürlich nicht bedeutet, das nun kein Strom verbraucht wird...Die Selbstentladung bleibt natürlich, aber verdoppelt sich der Verlust gewissermaßen, aber so oder so, nicht vermeidbar
Thomas P. schrieb: > wenn die im Ram befindlichen Daten vorher gesichert werden können Es gibt noch 999 andere gute Gründe Daten rechtzeitig zu sichern. Warum glaubst Du, daß ausgerechnet nur diese Spannung Fehlerursache sein könnte? Ein einziger Programmfehler kann das viel schneller.
Jörg Wunsch schrieb: > Der Selbstentladungsstrom einer CR2032 liegt etwa bei 1 µA. Wenn du > einen Widerstand von 3,3 MΩ vorschaltest, liegt dessen Entladelast > bei abgeschaltetem Controller in der gleichen Größenordnung. Wenn man jetzt nach der ADC-Messung den Portpin auf High legt, bekommt die Zelle eine (wenn auch geringe) Erhaltungsladung.
Route 66 schrieb: > bekommt die Zelle eine (wenn auch geringe) Erhaltungsladung. Wobei das für Lithium-Primärzellen nicht so gut ist :-o, aber bei dem geringen Strom wird sie vermutlich nicht gleich explodieren.
Es geht auch (fast) ohne Verluste. 1. Ein FET schaltet die Batterie auf Deinen Spannungsteiler. Z.B. einmal die Woche. 2. Hoffen, dass die Referenz stimmt. 3. A/D-Wandler initialisieren. 4. Konvertieren 5. A/D-Wandler wieder ins Bettchen schicken. 6. Messwert von allen Seiten betrachten. Da kaum Strom fließt, der Mess-/Teilerweg konstant ist, kommt es auf die Bauteile noch nicht mal an. Also nix mit 0,01%. Die Widerstände sind üblicherweise weit weg vom Durchlasswiderstand des FETs. Der FET braucht nur beim Ein-/Ausschalten etwas Leistung. Im Ruhezustand sperren die Dinger recht gut. Natürlich sollte der Spannungsteiler einen sinnvollen Wert liefern.
Ich Vergaß: Das vorher angeführte Prinzip arbeitet auch mit einem Komparator. Notfalls, wenn kein Messsystem/ Komparator vorhanden ist, reicht auch ein Schmitt-Trigger mit definierter Schaltspannung. Dann muss aber die gesamte Auswerteschaltung hinter dem Schalt-FET liegen.
Amateur schrieb: > Natürlich sollte der Spannungsteiler einen sinnvollen Wert liefern. Das wird er auch machen, ähnlich wie beim TÜV (am Tag der Prüfung NOCH ok). Eine verbrauchte CR2032 hat bei 2,5V natürlich ihre Schwächen im Gegensatz zum 3 A-Labornetzteil bei 2,5V. Was ich damit sagen will, ist: daß erhöhte CPU-Last die CR2032 noch schneller in den Tod treiben kann und die wertvollen Daten dann auch bloß weg sind. Daher lieber zyklisch und rechtzeitig sichern wenn möglich.
Amateur schrieb: > 1. Ein FET schaltet die Batterie auf Deinen Spannungsteiler. Ich hatte da auch drüber nachgedacht. Ist da nicht die Body-Diode des FET dann im Weg, d. h. über sie fließt dann doch bloß wieder der Strom in den Controllereingang ab?
Vielen Dank für die zahlreichen Hinweise. Zur Datensicherung: Man kennt ja die Anwender, Datensicherung ist mit Aufwand verbunden (und wenn es das Anstecken eines Kabels ist) und wird daher gern hinausgeschoben. So kann aber keiner meckern, er wäre nicht gewarnt worden... Der Weg mit dem Fet wäre mir der symphatischste, müsste ja mit einem logic level p-Fet zu lösen sein. Da die Spannung der CR2032 immer unter 5V liegt sollte man doch direkt an den Port gehen können und kann sich einen Spannungsteiler sparen? Thomas
Ich würde das SRAM wegwerfen und ein SPI FRAM einbauen. Batteriegepuffertes SRAM ist doch Elektroniksteinzeit.
Amateur schrieb: > Es geht auch (fast) ohne Verluste. > > 1. Ein FET schaltet die Batterie auf Deinen Spannungsteiler. > Z.B. einmal die Woche. > 2. Hoffen, dass die Referenz stimmt. > 3. A/D-Wandler initialisieren. > 4. Konvertieren > 5. A/D-Wandler wieder ins Bettchen schicken. > 6. Messwert von allen Seiten betrachten. ...und den Spannungsteiler schön niederohmig machen, damit die Zelle auch unter Belastung gemessen wird. Dann hat der Anwender noch ein paar Wochen Zeit um das Ersatzteil zu besorgen, bevor die Batterie am RAM komplett aufgibt. Die Musterlösung in meinem R&S SMT03 verwendet eine Last von 3,9kOhm. Die schalten mit einem Relais, Geld spielt ja keine Rolle. Gemessen wird da bei jedem Einschalten, das Klicken geht im allgemeinen Selbsttest-Geraschel unter.
Auf dem CMOS-Ram wird exzessiv herumgerödelt, da wäre SPI zu umständlich (und zu langsam). Thomas
>Auf dem CMOS-Ram wird exzessiv herumgerödelt, da wäre SPI zu umständlich >(und zu langsam). Ok, aber es gibt auch FRAMs mit paraller Schnittstelle.
Muss ich mal auf die Suche gehen, ob da was pinkompatibles zu finden ist. Thomas
soul eye schrieb: > schön niederohmig machen, damit die Zelle > auch unter Belastung gemessen wird Da ich faule Anwender kenne, würde ich evtl. in Stufen vorgehen. 1. Vorwarnung wenn Spannung bei z.B. 2,8V "Achtung Daten sichern" 2. Warnung Batterie Typ CR2032 beschaffen, Handbuchhinweise s. Seite 4712 3. Bei 2,5V erbarmungslos Funktionen einstellen bis Batterie erneuert wurde
Jörg Wunsch schrieb: > Ist da nicht die Body-Diode > des FET dann im Weg, d. h. über sie fließt dann doch bloß wieder > der Strom in den Controllereingang ab? Nö die Body-Diode ist in Sperrichtung. Thomas P. schrieb: > Der Weg mit dem Fet wäre mir der symphatischste, müsste ja mit einem > logic level p-Fet zu lösen sein. Da die Spannung der CR2032 immer unter > 5V liegt sollte man doch direkt an den Port gehen können und kann sich > einen Spannungsteiler sparen? Wenn Du bei ausgeschaltetem Prozessor keine Entladung wünschst brauchst Du einen N-Kanal-FET. Schaltung siehe Batteriewächter Bzw. http://www.mikrocontroller.net/articles/Datei:BMON_1048_PIC.PNG Einen Spannungsteiler R4/R5 wirst Du schon brauchen da am Source nur Spannungen auftreten können die um V_GS niedriger sind. (Ist bei 4,75V - 1,5V und voller Batterie (3.6V) etwas knapp). Gruß Anja
holger schrieb: > Ich würde das SRAM wegwerfen und ein SPI FRAM einbauen. Aufpassen. Beim FRAM ist ein Lese- auch gleichzeitig ein Schreibzugriff. Die Information in der 1T1C-Zelle wird beim Lesen zerstört und anschliessend neugeschrieben -- wie beim DRAM. Daher ist bei FRAM auch die Anzahl der *Lese*zyklen begrenzt. Sie ist zwar heutzutage mit 10E12 bis 10E14 sehr hoch, trozdem sind diese Bausteine keine Arbeitsspeicher, sondern eher ein Ersatz für EEPROM.
Anja schrieb: >> Ist da nicht die Body-Diode >> des FET dann im Weg, d. h. über sie fließt dann doch bloß wieder >> der Strom in den Controllereingang ab? > > Nö die Body-Diode ist in Sperrichtung. Dann wäre sie ja im eingeschalteten Zustand in Durchlassrichtung (Vcc > Vbat).
Nach dem Einlesen in die FRAM-Spezifika ist das wohl wirklich nichts für meine Anwendung; es bleibt also beim CMOS-sRAM. Vielleicht wäre auch ein (sehr) kleines Reed-Relais noch eine Alternative, mal schauen, was der Markt so bietet. Thomas
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.