Hey Leute, habe noch einige NRF24L01+ Module herumliegen. Die würde ich gerne für ein Funktermometer verwenden. Sprich, würde gerne eine kleine, batteriebetriebene Schaltung mit 1-Wire Temperatursensor, Mikrocontroller und NRF24L01+ zum Senden des Temperaturwerts basteln. Nur sparsam muss es sein, damit die Batterie möglichst lange hält. Jemand sowas schonmal gebaut? Wenn ja, wie ungetzt?
Sender mit avr und Sleep mode (avr + nrf) und jede Minute/ Stunde aufwachen und Daten an einen Server mit always on nRF als receiver (z.B. RPi) auf sd karte speichern
Der Empfänger ist quasi vorhanden. Das Thermometer (bisher mit Kabelgebundenen 1-Wire Sensoren) wird von einem AVR gesteuert. Da könnte ich ein NRF24L01 Modul als Empfänger dranlöten.
Und dann stellt sich noch die Frage nach der Spannungsversorgung. 3V Knopfzelle oder 2x Mignonbatterie in Reihe. Des Weiteren sollte der Sender im Winter draußen liegen. Ist das für die genannten Batterien ein großes Problem?
Timo schrieb: > Mikrocontroller und NRF24L01+ zum Senden des Temperaturwerts basteln. Möglich, da man den nRF auch in den Schlaf schicken kann. Timo schrieb: > Da könnte > ich ein NRF24L01 Modul als Empfänger dranlöten. Der darf dann natürlich nicht schlafen, weil er sonst taub und blind wird.
Knopfzellen können nur recht wenig strom liefern. Also entweder sorgst du mit einem relativ großen Kondensator dafür dass der kurzzeitige Strom Impuls (sind ja nur ein paar µs/ms mit etwa 15mA, danach ~1µA) gepuffert wird oder du musst was anderes nehmen. Ich glaube Lithium-basierende Zellen mögen nicht so gerne < 0°C, zumindest nimmt der Innenwiderstand dann noch mehr zu.
Arduino F. schrieb: > Der darf dann natürlich nicht schlafen, weil er sonst taub und blind > wird. Diese Ausage zeigt wieder mal dass du wenig bis keine Ahnung hast. Aber Hauptsache du hast hier was zum Labern. Aus dem Manual des NRF24: ------------------------------------------------ 6.1.2 Power Down Mode In power down mode nRF24L01+ is disabled using minimal current consumption. All register values available are maintained and the SPI is kept active, enabling change of configuration and the uploading/downloading of data registers. For start up times see Table 16. on page 24. Power down mode is entered by setting the PWR_UP bit in the CONFIG register low. ------------------------------------------------
Dumpfbacke schrieb: > Diese Ausage zeigt wieder mal dass du wenig bis keine Ahnung hast. Ist schon klar... Der Empfänger empfängt auch dann noch, wenn nur noch das SPI funktioniert... Schon klar, keine Fragen mehr... Alles klar. > Autor: Dumpfbacke (Gast) Du machst deinem Name alle Ehre! (du ab jetzt auf meiner Ignorierliste stehend)
Ja so ist es. Wenn man den Empfänger in Sleep versetzt empfängt er auch nicht mehr. Der muss schon immer an bleiben ~13mA. Was aber auch geht (möchte man auch beim Empfänger Strom sparen)... dass er sich anfangs aus den Sender synchronisiert (sagen wir nach dem letztem Empfangen 1s schläft) und dann für 100ms kurz aufwacht und horcht ob was kommt. Das sollte normalerweise so wenig auseinander driften dass das klappt.
Ist hier im Einsatz. 3.3V Knopfzelle ist "schnell" (paar Monate reicht es) unter 3V, auch mit Sleepmodes, kein Problem für MC + nRF aber der Sensor (DS18-irgendwas) geht nur bis 2.7V, da fängt er dann an Unsinn zu messen. Deshalb 3xAA(A) da haste genug Reserven, sowohl bei der Spannung als auch von der Kapazität her. Ein temperaturabhängiger Widerstand am ADC ist da sinnvoller, wenn ich mich recht erinnere kürzt sich in der Umrechnungsformel die Spannung raus, sollte aber hoch genug sein dass der ADC noch läuft, das geht ja meist mit 1.1V Refspannung also wenn die Bat schon längt leer ist und der MC (je nach Modell) oder der nRF (iirc min 1.9V) schon nicht mehr läuft. Je nach MC kann man auch deren interne Tempsensoren nehmen und vorher kalibrieren, das spart den Code für One-Wire und kann auch niedrigere Spannungen fahren, weil die auch wieder über den internen ADC messen, wie z.B. beim Tiny. Den ADC immer abschalten beim Sleep und auch sonst alles deaktivieren, dann kommt man mit einer Knopfzelle auch recht lange hin. Ich habe hier nen anderen Sender der per ADC den Wasserstand misst, alle 5 Minuten, läuft auch schon drei Monate mit einer CR2032.
Wenn du die Nordic-Teile magst, kannst du dir ja mal die aktuellen SoC anschauen: https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF52832 Die können nicht nur BLE 5.0 und drunter, sondern auch OpenThread, Ant und son Kram. Und fressen im tiefsten Schlafmodus 0,3µA und sonst recht sparsam ist, obwohl nen M4 mit FPU drin sitzt.
Danke Blauzahn, aber vorerst will och die NRF24-Dinger verwenden. Von denen hab ich halt noch einige rumliegen.
Mir ist gerade auch noch aufgefallen das nicht nur der Sensor mit der Spannung von 2 Mignonzellen Probleme hat. Auch der AVR kann ja nur bis 1,8V. Hab gelesen, das die Batteriespannung bis auf 0,7V (pro Zelle) absinkt, bevor sie leer ist. Wären dann nur noch 1,4V. Eine dritte Mignon wiederum würde irgendwas zwischen 2,1 und 4,5V bedeuten. Wäre OK, wenn ich statt dem Dallas 1-Wire nen NTC als Sensor nutze. Nur, sind die 4,5V bei vollen Batterien dann wiederum tödlich für den NRF24L01+, oder?
Ich nutze hier einen ATmega8L und ein NRF24L01+ Modul mit einem Klingeltaster. Das ganze System verbraucht im Sleep (PowerDown) nur 0.6µA und wird eben durch einen externen Interrupt aufgeweckt. Als Energiequelle nutze ich einen LiIon-Handyakku von Nokia, die halten auch im Winter bei -20° noch ihre Spannung und der Innenwiderstand ist dann immer noch bei einem akzeptablem Niveau. Bei jedem mal klingeln wird auch der Spannungswert des Akkus ermittelt, damit eine Akku-Warnmeldung an die Basisstation geschickt werden kann und sich die Klingel abschaltet wenn eine zu niedrige Spannung erreicht worden ist. Es gibt aber auch LiIon-Akkus die ab +5°C ihren Innenwiderstand schon merklich erhöhen und bei Minusgraden quasi keine Spannung mehr liefern.
Wie wäre es denn mit der Verwendung von 3 NiMh Mignonakkus? Davon hätte ich auch noch einige. Halten die den winterlichen Temperaturen stand?
NiCd sind (etwas) besser für tiefe Temperaturen geeignet
schau Dir mal www.mysensors.org an - da wird genau so was gemacht und im FOrum findest Du viel über Energiebedarf, Batterien usw
Timo schrieb: > Halten die den winterlichen Temperaturen stand? Ja. Arduino F. schrieb: > NiCd sind (etwas) besser für tiefe Temperaturen geeignet Wegen dem vermutlichen bisschen besser, würde ich nicht zu NiCd greifen. Der LiIon-Akku an meinem Klingel-System hat auch im Winter seinen Dienst getan. Es waren dieses Jahr hier ja auch mal unter -15°C und die Zelle ist immer noch heil. Ich habe aber auch einen größeren Kondensator auf dem Board der die Energie etwas puffert. Ich habe das mal im Temperaturbereich von +15 bis -40°C getestet, aber nicht mit verschiedenen Ladeständen der Zellen. Bei dem NiMH-Akku (750mAh) lag die Zellspannung bei 1.31V @ +15°C. Im Gegensatz zu +15°C hatte sich der Innenwiderstand bei -20°C etwa verdoppelt (auf 0,33 Ohm) und die Leerlaufspannung sank um 10mV. Bei -30°C war die Leerlaufspannung um 12,5mV niedriger und der Innenwiderstand drei mal so groß (0,5 Ohm). Bei -37°C gab es dann einen Knick und der Innenwiderstand ist immer stärker gestiegen. Bei -42°C lag die Leerlaufspannung immer noch bei 1,275V , aber der Innenwiderstand lag schon bei 3,67 Ohm. Selbst bei einer alte LiIon-Laptopzelle (3.6V Typ) stieg der Innenwiderstand erst ab -10°C stark an. Bei -42°C ist die Leerlaufspannung aber mit der Zeit immer weiter gesunken, da muss intern dann doch schon etwas passiert sein. Also ich würde sagen dass es mit LiIon funktioniert, die Leerlaufspannung bricht nicht so sehr ein, allerdings muss man mit einem steigenden Innenwiderstand rechnen. Aus einem 1Ah-Akku würde ich bei -20°C einfach keine 1A ziehen, sondern nur zum Beispiel 50mA und schon passt das wieder.
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.