Hallo zusammen,
ich habe eine Schaltung aufgebaut mit der ich alle 30 Minuten eine
Feuchtigkeitsmessung mit einem Feuchtigkeitssensor (resistiv) durchführe
und per 433MHz RF an einen Empfänger sende.
Die Anwendung läuft aktuell über eine Knopfzelle (3,3V).
Es treten jedoch ein paar Probleme auf.
1. Mir ist aufgefallen, dass die Baudrate anscheinend sowohl von der
Batteriespannung als auch von der Temperatur abhängt. Vermutlich
schwankt die Frequenz der internen Clock zu stark.
2. Um die Genauigkeit zu erhöhen will ich einen kapazitiven Sensor
verwenden. Dieser läuft aber mit der 3,3V Spannung nicht vernünftig.
Außerdem hängt das Messergebnis ebenfalls von der Eingangsspannung ab.
Deshalb habe ich vor einen externen Quarz zu verwenden. Muss ich dabei
auf was spezielles achten? Er sollte ja möglichst energiesparend
arbeiten, da er dauerhaft in Betrieb sein wird.
Außerdem bin ich wohl gezwungen einen Voltage Regulator einzusetzen um
eine stabile Spannung für den Sensor zu bekommeen. Gibt es da was
geeignetes, dass ebenfalls energiesparend arbeitet?
Ich werde dann 2x2032 Knopfzellen in Reihe schalten.
Vielen Dank und beste Grüße!
WArum nicht 3 AAA in Reihe? Mit ein wenig Software zum Shutdown läuft
das dann mehrere Jahre. Wenn mans richtig macht, zieht so ein Tiny dann
unter 1µA.
Ben schrieb:> Mir ist aufgefallen, dass die Baudrate anscheinend sowohl von der> Batteriespannung als auch von der Temperatur abhängt.
Da solltest du dich sowieso nicht drauf verlassen. Mache dir ein fehler-
und Baudraten tolerantes Protokoll, dann spielt das keine Rolle. Tipp:
IRMP hat Sender und Empfängersoftware, die zwar eigentlich meist für IR
benutzt wird, aber genauso gut auf 433MHz verwendet werden kann.
https://www.mikrocontroller.net/articles/IRMPBen schrieb:> Dieser läuft aber mit der 3,3V Spannung nicht vernünftig.
Wieviel braucht er denn?
Matthias S. schrieb:> WArum nicht 3 AAA in Reihe? Mit ein wenig Software zum Shutdown läuft> das dann mehrere Jahre. Wenn mans richtig macht, zieht so ein Tiny dann> unter 1µA.
Mit laufendem Timer?
batman schrieb:> Mit laufendem Timer?
Evtl. nicht mit dem 'genauen' Timer, aber mit dem WD-Timer schon, auch
wenn er alle 8s aufwachen muss, um festzustellen, ob die 30 Minuten
schon um sind.
Und für die Anwendung dürfte ein exakter Wert für die 30 Minuten nicht
relevant sein, den Timestamp wird man im Empfänger festhalten und auch
weiterverarbeiten können, wenn es keine genauen 30 Minuten sind.
Muss es genau sein, dann nimmt man einen RTC und lässt sich alle 30
Minuten über den INT0 wecken. Braucht dann eben vielleicht 2-3µA Strom.
Und ob 'unter 1µA' oder auch 3µA ist fast egal, da werkelt die
Selbstentladung der AAAs in der selben Größenordnung.
Da dürfte der Sender eher das Problem sein.
Mit einem Timer wird das sicher mehr als 1µA sein, aber wenn es nicht
gerade LR44 Knopfzellen sind, machen ja auch 4µA oder so nicht viel aus.
Das Problem ist bei den Knopfzellen, das sie es nicht mögen, wenn man
ihnen kurz mal mehr Strom entnimmt, wie es für einen 433MHz Sender
gebraucht wird - deswegen mein Vorschlag mit 3 AAA. Das ist
leistungsfähig und vermutlich auch billiger als 2 Stück CR2032. Das
einzige was dagegen spricht, ist die Grösse, aber nicht alles muss man
ja dem Miniaturisierungswahn opfern.
Stefan ⛄ F. schrieb:> Allerdings erlaubt er auch nur Recht niedrige Baudraten.
was bei den Anfordrungen ...
Ben schrieb:> alle 30 Minuten eine> Feuchtigkeitsmessung mit einem Feuchtigkeitssensor (resistiv) durchführe> und per 433MHz RF an einen Empfänger sende.
... wohl kein Problem wäre. Es sei denn, der Empänger kann das nicht.
Dietrich L. schrieb:> was bei den Anfordrungen ...> ... wohl kein Problem wäre. Es sei denn, der Empänger kann das nicht.
Naja, das Problem ist, dass du bei niedrigen Baudraten lange wach
bleiben (oder zumindest für die Zeit der Übertragung häufig aufwachen)
musst. Das knabbert an der Energiebilanz.
Wenn der Empfänger "Nichstandard"-Bitraten beherrscht, hält sich der
Schaden in Grenzen, dann gehen halt 16384bps (via USI), was sicher für
diese Anwendung völlig ausreichend ist.
Wenn der Empfänger aber nur Standardbitraten unterstützt, dann musst du
leider sehr viel weiter runter, bis du unter 2% systematischem Fehler
bist.
batman schrieb:> Nach meinem DB zieht er da 4µA, bei 25°C und 3V.
Du hast recht, ich habe gerade in einer Schaltung mit Tiny25 7µA bei
4.7V gemessen. Vermutlich hatte ich da die Stromaufnahme im Tiefschlaf
im Hinterkopf, sorry.
Matthias S. schrieb:> deswegen mein Vorschlag mit 3 AAA. Das ist leistungsfähig und vermutlich> auch billiger als 2 Stück CR2032batman schrieb:> Nach meinem DB zieht er da 4µA, bei 25°C und 3V.
Was ja immer noch im Bereich der Selbstentladung von Alkaline-Zellen
liegt. 4µA über ein Jahr sind auch nur ca. 25mAh. Dann würde eine AAA
mit ca. 1000mAh theoretisch 40 Jahre halten (ohne Funk, Selbstentladung,
etc.) daran sieht man dann auch ganz gut, dass es relativ egal ist ob
man jetzt 4 oder 8µA im Standby verbraucht, denn
c-hater schrieb:> Naja, das Problem ist, dass du bei niedrigen Baudraten lange wach> bleiben (oder zumindest für die Zeit der Übertragung häufig aufwachen)> musst. Das knabbert an der Energiebilanz.
Das sehe ich nämlich auch so. Schau lieber auf den Verbrauch wenn das
Ding funkt. Alle 1000s für eine Sekunde 10mA ist wie 10µA über 1000s.
Brauchst du dann zwei Sekunden, sind es schon 20µA
"Dauerstromäquivalent" (so in etwa jedenfalls, theoretisch sogar mehr,
weil geringere Kapazität bei höheren Entladeströmen, etc.)
Vielen Dank für die vielen konstruktiven Vorschläge, jetzt komme ich
endlich dazu mich wieder mit dem Projekt zu beschäftigen.
Chris schrieb:> auch übertragen.batman schrieb:> Könnte man auch softwaremäßig lösen, indem man Temperatur und Vcc mißt> und damit Baudrate und Meßwerte kompensiert.
Wäre eine elegante Lösung, würde aber einen Temperatursensor
voraussetzen.
Matthias S. schrieb:> WArum nicht 3 AAA in Reihe? Mit ein wenig Software zum Shutdown läuft> das dann mehrere Jahre. Wenn mans richtig macht, zieht so ein Tiny dann> unter 1µA.
Möchte möglichst klein bauen.
Powerdown-Modus usw. ist alles schon programmiert und läuft sehr gut.
Aktuell scheitert es an der schwankenden Baudrate und da weiß ich noch
nicht wie ich das softwareseitig kompensieren kann.
Die Abhängigkeit des Bodenfeuchtesensors von der Batteriespannung muss
ja auch kompensiert werden.
Chris schrieb:> Nimm Manchester encoding
Arbeite aktuell mit der Radiohead library. Würde Manchester encoding
eine höhere Robustheit gegen Baudraten-Schwankungen mit sich bringen?
Ben schrieb:> Wäre eine elegante Lösung, würde aber einen Temperatursensor> voraussetzen.
Daran haben die Entwickler des Tiny schon gedacht und ihm gleich einen
eingebaut.