PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : EEprom bei tiefen Temperaturen



Thegon
16.09.2012, 20:09
Hallo allerseits,

ich möchte mir einen kleinen Temperaturlogger bauen, der 6 mal pro Tag die Temperatur aufzeichnet, in einen EEprom.
So weit kein Problem, doch da das Teil dann im Winter etwas höher (Seehöhe) arbeiten soll, und ich mit Temperaturen von bis zu -30°C rechne, macht mir der EEprom Sorge. Der AVR ist laut Datenblatt bis -55°C tauglich, und der Temperatursensor auch.

Der EEprom, den ich habe und gerne verwenden möchte, ein 24LC16B (Datenblatt (http://www.jmb-electronique.com/document/24LC16B--P.pdf)) ist nur von 0°C bis 70°C spezifiziert. (Es gibt zwar noch die Industrial - Version, aber die habe ich nicht). In den Absolut - Maximum - Ratings jedoch steht, dass mit angeleger Versorgungsspannung bis zu
-65°C möglich sind, also mehr als genug.

Deshalb meine Frage: Glaubt ihr, dass er das durchhält und funktionstauglich bleibt? Also diese Extremtemperaturen werden wahrscheinlich nur an wenigen Tagen im Winter und auch nur in der Nacht auftreten, aber ein paar Minusgrade könnte es schon öfter haben, klar im Winter.
Das Teil ist jetzt auch nicht besonders wichtig / trägt keine besondere Verantwortung, das ist nur zum Spaß bzw. weil es interessant ist. Nur wenn er ganz sicher nicht funktioniert, dann brauche ich es ja gar nicht erst zu probieren.

Um Strom zu sparen (das Teil läuft Batteriebetrieben), habe ich es vorgesehen, dass der ganze EEPROM mit seiner Versorgung und den I2C - Pullups an einen Pin des AVR anzuhängen, sodass dieser 6 mal am Tag, wenn eine Messung durchgeführt werden soll, aktiviert wird.
Das habe ich auch ausprobiert und läuft bei Zimmertemperatur wunderbar.

Danke für eure Meinung / eure Antworten ;-)

Mfg Thegon

PICture
16.09.2012, 20:20
Hallo!

Ich befürchte keine gravierende Gefahren fürs EEPROM, höchstens beim Löschen. Du kannst aber das ganze in Styroporgehäuse stecken, was die grosse Schwankungen der Temperatur "glätten" sollte. Habe aber keine praktische Erfahrung damit, also am besten schon jetzt im Gefrierschrank auszuprobieren, bevor Winter kommt ... ;)

Thegon
16.09.2012, 20:31
Styroporgehäuse in Wasserdichter Tupperbox ist eingeplant, doch da ich auch nicht genau weiß, wieviel das bringt, habe ich mal nach dem Worst - Case gefragt.

Noch eine Frage hätte ich:
Der Logger soll Batteriebetrieben (von ein paar Monozellen) laufen, und da ändert sich ja im Laufe der entladung (und auch villeicht bei Temperaturschwankungen) die Spannung, wäre also nicht ganz verkehrt, wenn man diese ein bisschen Stabelisieren könnte (nur Step - Down oder so)
Das Problem an herkömmlichen kleinen Stabelisatoren wie z.B. dem KA78L05 ist halt, dass die einen viiieeel zu großen Eigenstromverbrauch haben, wenn noch gar keine Last drahnhängt. Die Ganze AVR - EEROM - Temperatursensor - Konstruktion verbraucht im Mittel nämlich nur ca. 12 µA, es wäre also blöd, wenn die Stabelisation noch mehr verbrauchen würde.
Wie könnte ich denn so eine Spannungsstabelisation realisieren, deren Eigenstromverbrauch im Bereich weniger Microampere liegt, oder noch weniger?

Mfg Thegon

PICture
16.09.2012, 20:35
Ist die stabiliesierte Spannung überhaupt nötig ? In welchen Grenzen, laut Datenblätter von allen Bauteilen, darf sie sich ändern ?

Thegon
16.09.2012, 20:44
Naja, im Prinzip hast du recht, alle Bauteile können bis 3V hinunter arbeiten.
Die Idee an der Stabelisation wäre hauptsächlich gewesen, dass ich dann z.B. 12V reinschicke, und es bei der hälfte dieser Spannung, also 6V, noch immer funktioniert. Ich weiß eben nicht so genau was die Monozellen zu diesen tiefen Temperaturen sagen. Große Ströme werden ja nicht gebraucht, während einer Messund so um die 15 bis 20 mA, und das nur eine Sekunde lang, sonst halt die üblichen 8 bis 10 µA.
Naja, etwas Tiefkühltruhenforschung werde ich wohl doch betreiben müssen ;-)

Mfg Thegon

PICture
16.09.2012, 21:43
Als Spannungsregler ohne eigenem Stromverbrauch ist mir nur das eingefallen:

+--------+
| |
| /_\
| (/ \) Konstantstromquelle
| (\_/)
+| \_/
Batterie - |
--- .-----------.
-| | |
| | Schaltung |
| | |
| '-----------'
| |
+--------+

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)
Das eignet sich aber nur fur Schaltungen mit permanenten Stromverbrauch. Möglicherweise könnte man paralell zu der Schaltung einen kleinen Akku (z.B. Memopuffer) bzw. Goldkap anschliessen, der die Spannung für nötige Messzeit noch stabil halten könnte und danach sich langsam wieder auflädt.

Stone
16.09.2012, 22:06
Nimm einfach 3 Lithium-Batterien z.B. Energizer L91 in Reihe dann hast du 4.5V die sind bis -40°C freigegeben und ham rund 3Ah@25mA bei -40°C. Mit 12µA kommst du auf ca. 28 Jahre Dauerbetrieb ;). Mit Alkaline Monobatterien würd ich da nicht rumspielen. Alkaline verlieren Rapide an Kapazität wenns kalt wird.

Zum 24LC16B (0-70°C). Mit großer Wahrscheinlichkeit wird es klappen blos der Hersteller gibt dir keine Garantie drauf das es klappt.

Vergleich
Lithium(http://data.energizer.com/PDFs/lithiuml91l92_appman.pdf)(Seite 4)
Alkaline(http://data.energizer.com/PDFs/alkaline_appman.pdf)(Seite 5)


Gruß Matthias

triti
17.09.2012, 13:25
> Styroporgehäuse in Wasserdichter Tupperbox ist eingeplant,
Eingraben. > 60cm.

Thegon
17.09.2012, 20:05
Danke für eure Antworten!

@triti
Das mit dem Eingraben wird vermutlich etwas schwierig, denn da oben ist alles recht Steinig und ich glaube nicht, dass man da so einfach ein 60cm Loch graben kann, aber ich lasse sowieso ein längeres Kabel von Sensor zum Controller, und sollte sich einen geeignete Stelle ergeben, dann werde ich das machen, danke für den Tipp!

@Stone:
Das wäre natürlich eine sehr schöne Lösung. Ich werde mal gleich morgen ein bisschen schauen ob ich solche bekommen kann.

Ich habe gerade die Controllerplatine fertig, diese habe ich jetzt mal an einen einfachen 3er Alkaline versorgt und in der Tiefkühltruhe versenkt ;-)
Die Loggabstände sind auf 24s verkürzt, und der EEprom auch nur mit einem Muster vollgeschrieben, sodass morgen in der Früh der EEprom voll ist, dann mal schauen, was dabei rauskommt ;-)

Mfg Thegon

H2R2
17.09.2012, 21:03
In der Regel funktionieren EEPROM auch bei bei -30 Grad, nur werden die Datenblattwerte für 0-70 Grad unter Umständen nicht erreicht (auch nicht garantiert). Einige kritische Parameter ist die Treiberfähigkeit der Ausgänge, Zugriffszeiten, Versorgungsspannungsbereich und Stromaufnahme. Also einfach die Toleranzen im Datenblatt nicht ausreizen und schauen ob es bei -30 Grad funktioniert. Eine Isolierung um das ganzen System hilft sicher(hauptsächlich der Batteriekapazität) und Feuchtigkeit sollte auch keine hineinkommen.

Viel Spass beim Testen!

Besserwessi
17.09.2012, 21:36
Wenn man die besonders tiefen Temperaturen vermeiden will, könnt man in die Box mit der Schaltung noch so etwa wie einen Kühlakku legen, der dann bei z.B. -18 C gefriert. Der kann dann recht viel Wärme Abgeben und so verhindern das die Temperatur wesentlich unter -20 C fällt. Es bleibt dann aber länger bei -18 C. Bei den ganz tiefen Temperaturen frieren sonst auch die Batterien ein. Auch die Batterien geben schon etwas Wärmekapazität.

Als Speicher wäre aber wohl ein anders EEPROM besser geeignet. Der 27LC16 ist doch reichlich klein. Mein Vorschlag wäre da eher so etwas wie Dataflash, also z.B: AT45DB... - die sind auch gleich bis - 40 C spezifiziert, und fast 1000 mal mehr Kapazität.

So schlimm wird es mit der Batteriekapazität nicht werden. Auch wenn man mit den Strom auf 100 µA Bereich kommt, reichen AA Zellen mit 2000 mA noch 20000 Stunden oder gut 2 Jahre. Als Regler würde sich so etwas wie ein MCP1702 anbieten: nur 2 µA Ruhestrom und low drop. Das heißt auch mit 3 Zellen (d.h. ca. 4,8 ... 3.6 V) kriegt man noch stabil 3 V hin. Wirklich sparsam muss es erst werden, wenn eine Lithium Zelle wie CR2032 ausreichen muss.

Thegon
18.09.2012, 19:11
Nun, also heute in der Früh habe ich das Teil wieder aus dem Gefrierschrank geholt, und sofort ausgelesen:
Zuerst gefreut, weil Daten daherkamen, doch dann der Rückschlag: nach einiger Zeit war schluss, es kamen nur mehr Nullen, also noch leer. Oje, habe ich mir gedacht, der hat nach einiger Zeit aufgegeben. Um festzustellen, wie lange es gedauert hat, habe ich die Daten erst einmal in eine *.txt Datei exportiert.
Es standen genau 256 Bytes drin, der Rest war leer: Da ist was faul an der Blockadressierung!
Ein kurzer Blick in den Code bestätigt dies. Sehr erleichternd!

Das mit dem kleinen EEprom stimmt, das ist eigentlich schade, wo der Logger doch wesentlich mehrere Werte aufzeichnen könnte. Nur ich möchte jetzt nicht wegen einem EEprom eine Bestellung abschicken, also hab mal in der Platinenkiste gesucht und einen 24LC256 gefunden:
http://ww1.microchip.com/downloads/en/devicedoc/21203m.pdf
Der ist zwar von ATMEL, aber dazu habe ich kein Datenblatt gefunden. Weil der aber in einem TSSOP - Package war, und die Schaltung auf Lochraster ist, habe ich sozusagen einen Adapter gelötet ;-) (ein ausgebohrter NE555):

23288

Das sollte an Speicher erst mal reichen, und der sollte laut Datenblatt bis -40°C tauglich sein, sollte also klappen.
Muss nur noch ausprobieren ob der überhaupt funktioniert und die Adressierung im Programm auf 256K umbauen.

Was die Batterie angeht:
Ich habe ein bisschen im Einzelhandel geschaut, aber die Preise sind da wirklich nicht lustig.
Pollin hat eine Lithiumzelle im Angebot (für 1,5€ pro stück),
http://www.pollin.de/shop/dt/NDgwOTI3OTk-/Stromversorgung/Batterien/Lithium_Batterien/Lithium_Batterie_SAFT_LST_17330.html

zu der ich ein Datenblatt gefunden habe:
http://www.gylling.no/produkter/batterier/saft1/pdf/LST17330_0904.86e6e9db-7488-47de-a427-df919e94195f.pdf

3,6V /2100mAh, und vor allem ganz Wichtig: Operating Temperature -60°C / + 85°C !

Mit zwei davon und ein paar Dioden in Serie sollte das eigentlich mehr als genug sein, oder?

Mfg Thegon

Besserwessi
18.09.2012, 20:27
Die richtige Spannung für EEPRom und µC liegt eher so bei 2,5 - 3,6 V. Da reicht im Prinzip auch eine Zelle aus. Es hängt aber vom EEPROM Typ ab wo die minimale und maximale Spannung liegt. Nach oben könnte ein sparsamer Regler helfen - ein paar Dioden um 0,6 V zu Verbraten eher nicht, denn bei dem kleinen und schwankendem Strom ist die Spannung nicht konstant, und die Spannung von 2 Zellen schwankt auch einfach zu sehr, da reicht es nicht mehr einfach was konstantes abzuziehen. Regler mit weniger als 20 µA Stromverbrauch gibt es.

Thegon
18.09.2012, 21:30
Grundsätzlich wäre mir nur eine Zelle oder halt zwei parallel natürlich auch lieber, und vom EEPROM und vom AVR her wäre das auch überhaupt kein Problem, die kommen bis 1,8V runter. Nur der Temperatursensor, den ich verwenden möchte, ein 1-Wire DS18S20:
http://pdfserv.maximintegrated.com/en/ds/DS18S20.pdf
Der kommt nur bis 3V runter, was dann doch etwas knapp ist.
Dieser MCP1702 wäre natürlich genau das was ich brauche, nur den habe ich einzig bei Reichelt gefunden, und da kostet das Porto so viel, und nur für diesen einen TO92er... Mal sehen, und wenns nicht anders geht...

Der EEPROM funktioniert übrigens wunderbar, nur dass es jetzt schon ein paar Minuten dauert, das ganze EEPROM per Serieller Schnittstelle mit Baud 4800 auszulesen...

Mfg Thegon

Thegon
23.09.2012, 18:08
Ich habe noch ein paar Experimente mit diversen Spannungsreglern ausprobiert, und auch drei Lithiumzellen bestellt.
Das Problem ist ja nach wie vor, dass der Sensor (DS1820) eine minimale Spannung von 3V braucht, ich habe im Datenblatt keinen anderen Wert gefunden. Und da es sehr dumm wäre, wenn der Sensor falsche ergebnisse liefert, möchte ich für die Messung saubere 5V zur verfügung stellen. (oder glaubt ihr, das würde nichts machen?)
Der Regler MCP1702 wäre zwar sehr schön und genau richtig, doch den bekomme ich jetzt nicht.
Deshab habe ich mir folgendes ausgedacht:
Eine der drei Zellen (3,7V) versorgt die Schaltung mit dem nötigen Ruhestrom, über eine (Schottky-)diode in Serie. Dies ist ja für den Mega48 leicht genug, der kommt bis 1,8V runter.
Wenn nun eine Messung durchgeführt werden soll, dann möchte ich über einen PNP - Transistor zwei Zellen, die in Serie sind, ganz einfach an einen 7805er anschließen, der dann die Versorgung übernimmt (vor der dritten zelle ist ja eine Diode, die dann sperren würde). Dann villeicht eine halbe Sekunde warten, dass jedes Bauteil funktionstüchtig ist, dann die Messung durchführen und das Ergebnis im EEPROM speichern, und dann wieder abschalten und den Betrieb des AVR mit der einen Zelle weiterführen.

Was haltet ihr davon? Glaubt ihr, dass die Spannungsschwankung dem AVR etwas ausmachen?

Danke für die Antworten ;-)

Mfg Thegon

Thegon
28.09.2012, 19:05
So es gibt wieder etwas zu berichten:
Das Paket ist gekommen, der Temperatursensor angeschlossen und in einem Alurohr vergossen, Kabel angeschlossen, Software angepasst, Kunststoffbox fertig, Styroprisolierung zurechtgeschnipselt. ;-)

Nun nur noch immer die Frage wie das mit der Spannungsversorgung so abläuft.
Ich tendiere jetzt wieder mehr dazu, alle drei Zellen, die ich gekauft habe, einfach parallel zu schalten und einfach so direkt ohne irgentwas an die Elektronik zu fahren. Sollte ja doch eine Weile dauern, bis die Spannung unter 3V ist, wo doch sogar 3 Zellen zusammengeschaltet sind.

Ich werde jetzt noch alles fertig zusammen bauen und ein bisschen Dokumentation hochladen, falls jemand sowas nachbauen möchte.

Danke noch einmal für eure Tipps und Vorschläge zu diesem Projekt! ;-)
Mfg Thegon

Michael
28.09.2012, 19:50
Hallo Thegon,

Ich hatte letzt auch ein System mit 3V Versorgung und DS1820 gebaut.
Der Temperatursensor will ja gerne 4,5V und mehr, um genaue Werte zu liefern, darunter ist die Genauigkeit nur bei 2° (imho)
Ich habe dazu einfach eine Ladungspumpe aus 2 Kondensatoren und 2 Dioden am PWM-Pin des AVRs betrieben, geht wunderbar.
Mit 2 AA Batterien (Duracell) läuft das mit 500kHz (4MHz/8) gut 8 Monate bei Zimmertemperatur.
Wenn du einen zusätzlichen Uhrenquarz nimmst, dann kannst du noch mehr Strom sparen, passenden AVR vorrausgesetzt.
P.S.: Quarz deswegen, weil der interne Oszillator unter 3V mal gerne nicht anschwingt.

Gruß, Michael

Thegon
28.09.2012, 20:33
Hallo Michael,

also Genauigkeit ist nicht so wichtig, man könnte auch sagen, der DS18S20 ist sogar ein bisschen Overkill, solange die Ungenauigkeit nicht größer als +-1°C oder so auftritt, dann bin ich sehr zu frieden.

Uhrenquarz ist schon drin, AVR läuft gewöhnlich im Power - Save - Modus.


P.S.: Quarz deswegen, weil der interne Oszillator unter 3V mal gerne nicht anschwingt
Wirklich? Das wäre aber gar nicht gut, weil der AVR, wenn er durch den Timerinterrupt geweckt wird, mittels internem RC - Oszillator läuft.

Wegen der Ladungspumpe habe ich mir gedacht: Ich habe ja drei Zellen bestellt, und so würde ich eine mittels einer Diode in serie an die Versorgung hängen, und für den Zeitraum der Messung würden dann über eine NPN - PNP - Kombination zwei weitere Zellen, die in serie sind, mit einem 7805er drin auf die Versorgung geschaltet. Dann hätte die Schaltung für die Zeit der Messung die vollen 5V drauf, und sonst ruht die Schaltung mit einer einzelen Zelle dahin, bis der nächste Interrupt kommt.
Nur weiß ich nicht, ob das den AVR freut wenn seine Versorgungsspannung schnell um 2V ändert. Glaubst du, das bringt den irgentwie durcheinander?

Danke auf jeden Fall für die Infos!

Mfg Thegon

Besserwessi
28.09.2012, 21:00
Eine schnelle Änderung der Versorgungsspannung kann den µC schon etwas stören, aber schnell ist relativ. Mit etwas Pufferkondensator und einer nicht zu kräftigen Spannungsquelle ändert sich die Spannung schon nicht mehr so schnell. So lange der µC schläft ist auch das bisschen mehr an Stromverbrauch nicht so schlimm, wenn der µC immer mit 5 V läuft, sofern man einen sparsamen Regler wählt.

Einfacher wäre aber vermutlich ein anderer Temperatursensor, der direkt mit 3 V oder etwas weniger Arbeiten kann. +-1 K Anforderung sind aber schon nicht so einfach, weil die Ganze Schaltung mit kalt wird - da ist so ein digitaler Sensor schon eine gute Wahl.

Thegon
29.09.2012, 11:51
Also ich habe heute einmal ein bisschen getestet:
Temperaturfühler in Wasserglas (damit sich die "echte" Temperatur möglichst wenig schwankt), und einfach mal mitttels Netzteil an der Versorgung rumgedreht.
Das Ergebnis war erstaunlich:
bei 5V begonnen bis herunter auf 2,5V hat sich die ausgegebene Temperatur nicht um einen halben Grad geändert. Das heißt natürlich noch nicht, dass die Temperatur absolut stimmt, aber ich habe als Referenz nur so ein Thermoelement mit einem Multimeter und das ist leider auch nicht so genau, aber so grob gesehen passt die Temperatur schon.

Unter 2,5V dann gibt es einen ganz kleinen Bereich, in dem die Temperatur stark schwankt (da hat´s dann auf einmal 35°C), wenn man noch weiter runter geht, kommt nur mehr 255 raus, also "leerer" Bus.
Ich hab ausrechnet, mit dem derzeitigen Stromverbrauch würden die drei Zellen parallel geschaltet ca. 33 Jahre halten, von dem her also nicht so kritisch dass die Spannung gleich unter 2,5V absinkt.

Die Versuche mit dem Zuschalten von den 5V haben nicht wirklich gut funktioniert, deshalb werde ich einfach alle 3 Zellen parallelschalten und fertig.
Und wenn´s wirklich ein Problem gibt, dann habe ich halt Pech gehabt. ;-)

Ich habe hier noch etwas Dokumentation zusammengeschrieben, und Software und Schaltplan hochgeladen:
http://bilder-rn-upload.jimdo.com/projekte/temperaturlogger/

Danke nochmal für eure Hilfe!

Mfg Thegon

Besserwessi
29.09.2012, 16:47
Sofern der Speicher im EEPROM ausreicht, würde ich ggf. zur Sicherheit einen 2. anderen Temperatursensor mit laufen lassen. Der muss nicht unbedingt so genau sind. Anbieten würde sich da z.B. eine einfache Diode als Temperatursensor. Die große Schwäche der Diode ist die fehlende absolute Genauigkeit. das wäre aber ggf. über den Gefrierpunkt oder den Vergleich mit dem 2. Sensor hin zu bekommen. Mit 2 Sensoren hat man auch eine gewisse Kontrolle ob die Daten plausibel sind.

Ab die Spannung von 2,5 V immer ausreicht, ist nicht gesagt. Das Limit kann von der Temperatur abhängen.

Thegon
14.10.2012, 19:31
Soo, die Station wurde heute um ca. 14:00 platziert.
Die Station hat letzte Woche Testweise geloggt, diese Werte habe ich gestern noch ausgelesen und soweit man das beurteilen kann, hat alles funktioniert.

Ob es dann wirklich funktionieren wird, werde ich erst im Sommer 2013 sagen können, wenn die Station wieder eingeholt wird ;-)

Bin auf jeden Fall gespannt, vor einer Minuten sollte wieder eine Messung stattgefunden haben ;-)

Mfg Thegon