Ich mache ein bisschen Heimwerken als Hobby und mache einen kleinen Feuchtigkeits-Temperatur-Funksensor.
Ein ATmega328 liest von einem DHT11-Sensor und überträgt dann Daten von einem STX882-Funksender an einen Raspberry Pi . Es wird von einer 9-V-Batterie mit einem 7805 5-V-Regler mit 10 µF- und 100 µF-Kapazitäten betrieben.
Der C-Code auf dem ATmega liest Feuchtigkeit und Temperatur und sendet sie dann alle 30 Minuten:
const unsigned long DELAY = 30*60*1000UL; // 30 minutes
void loop() {
delay(DELAY);
send_data(); // Maybe a little overcomplicated, but I think it is not the point
}
Dies funktionierte wie ein Zauber, aber die Akkulaufzeit war unerwartet kurz. Es war brandneu und ich machte einige sporadische Tests mit einer kurzen Verzögerung, ohne dass abnormale Hitze von irgendwoher kam.
Als ich zufrieden war, legte ich die 30-minütige Verzögerung ein und ließ sie in Ruhe (was war vielleicht ein bisschen gefährlich?), Aber nach weniger als 24 Stunden war die Batterie 5,4 V leer. Die 30-minütige Verzögerung wurde jedoch ungefähr für ihre Lebensdauer eingehalten.
Was könnte eine so kurze Akkulaufzeit erklären? Könnte es der 5 V Regler sein? Wie könnte ich eine langlebige Rennstrecke bauen?
PS: Ich versuche immer noch, ein Diagramm zu fritzen, aber das braucht Alter für Noobs wie mich ...
Ich habe eine alkalische 9-V-Batterie der Marke 6lp3146 verwendet, die anscheinend 300-500 mAh bei 100 mA Strom lieferte, was weit mehr ist als das, was meine Schaltung verwendet.
Hier sind alle Informationen, die ich aus dem Datenblatt entnehmen konnte:
+-----------------+-------------+----------+-----------+---------+
| | DHT11 | STX882 | ATmega328 | 7805reg |
+-----------------+-------------+----------+-----------+---------+
| Voltage | 3-5.5 V | 1.2-6 V | 2.7-5.5 V | |
+-----------------+-------------+----------+-----------+---------+
| Active current | 0.5-2.5 mA | 34 mA | 1.5 mA | |
+-----------------+-------------+----------+-----------+---------+
| Standby current | 0.1-0.15 mA | <0.01 µA | 1 µA | 4-8 mA* |
+-----------------+-------------+----------+-----------+---------+
*"bias current"
Wenn ich das richtig verstehe, ist mein System alle 30 Minuten einige Sekunden lang aktiv, daher ist der Standby-Strom alles, was wichtig sein sollte, und er wird tatsächlich vom 7805-Regler angetrieben.
Also ja, im schlimmsten Fall sollte ich mit 300 mAh das System nur 40 Stunden am Leben halten können.
Gibt es eine Möglichkeit, mein System 5 V für eine viel längere Zeit ohne eine viel größere Größe zu speisen?
Für die Aufzeichnung ist hier ein sehr gutes Video über LM-Regler gegen Abwärtswandler : Abwärtswandler gegen linearen Spannungsregler - praktischer Vergleich
quelle
Antworten:
Wie bereits erwähnt, hat der 7805 einen Ruhestrom von ca. 4 mA. Sie müssen ein Datenblatt für die Batterie finden (Eveready hat schöne Datenblätter für Batterien, wenn Sie eine Alkalizelle verwenden). Es ist wahrscheinlich nicht mehr als 100mAh - 100mAh / 4mA = 25 Stunden, also sollte das etwas zu Ihnen sagen.
Der 7805 ist alte Technologie. Es gibt bessere neuere Linearregler da draußen. Sie sollten in der Lage sein, leicht etwas zu finden, das 10-mal weniger Ruhestrom verbraucht und noch weniger gräbt.
Um noch weniger Strom zu verbrauchen, würden Sie einen Abwärtswandler verwenden, der speziell für niedrigen Ruhestrom entwickelt wurde. Ich bin jedoch der Meinung, dass Sie nicht bereit sind, einen auf Komponentenebene in eine Platine zu integrieren. Möglicherweise gibt es da draußen ein Modul, das die Arbeit erledigt, aber Sie müssen sich darum kümmern. TI verfügt zwar über einige Buck-Konverter-Module, aber Sie sollten besonders auf deren Funktionen achten, sowohl für die maximale Stromabgabe als auch für den Ruhestrom.
Um noch weniger Strom zu verbrauchen, tun Sie alles, um den Stromverbrauch Ihrer Schaltung im Ruhezustand zu minimieren. Dies erfordert eine sorgfältige Verwendung der Schlaffunktion des Mikroprozessors sowie die Steuerung der Stromversorgung der Karte (wenn sie beispielsweise nur einmal alle 30 Minuten eingeschaltet wird, möchten Sie möglicherweise das Radio und die Feuchtigkeitsmessung ausschalten Teile der Schaltung).
Messen Sie den Stromverbrauch in allen Betriebsarten und bestimmen Sie anhand dieser, welche Modi insgesamt die schlimmsten Straftäter sind. Konzentrieren Sie sich dann darauf, die Ströme in diesen Betriebsarten zu minimieren, wenn Sie können.
quelle
Alle diese Teile können von 3 bis 5 V betrieben werden. Verwenden Sie daher eine Batterie, die keinen Regler benötigt, eine 16500 Li-Ionen-Zelle oder einen 3xAAA-Akku, der ungefähr die gleiche Größe wie die 9 V hat und Spannungen in diesem Bereich erzeugt. (oder sogar eine Li-Po-Zelle)
Ohne den Regler kann der Mikrocontroller abschalten und der Stromkreis benötigt nur wenige Mikroampere.
quelle
Der Leerlaufstrom eines 7805-Reglers beträgt ca. 4 mA. Mit der Amperestundenkapazität Ihres Akkus können Sie also herausfinden, wie lange er bei einem kontinuierlichen Stromverbrauch von 4 mA hält.
Wenn Sie feststellen, dass dies das Problem ist, werden Sie feststellen, dass es viele Regler gibt, die einen deutlich niedrigeren Ruhestrom haben.
Sobald die Batterie auf ungefähr 7 Volt abfällt, befinden Sie sich auf einer rutschigen, abfallenden Steigung, da der 7805-Regler ein paar Volt Kopffreiheit benötigt, um richtig zu regeln, und ich würde (eine schnelle Vermutung) schätzen, dass der Stromkreis bei ungefähr 6,5 Volt ausfallen wird.
Angesichts dessen, was ich gerade erwähnt habe, schätze ich, dass nur 50% der angegebenen Kapazität der Batterie verwendet werden können, bevor die Schaltung aufgibt. Denken Sie daran.
quelle
Ich verwende ähnliche Sensorknoten mit viel besseren Ergebnissen. Mein Setup hat einige Unterschiede zu Ihrem:
1 Ich verwende erfolgreich ESP8266s, obwohl ich das natürlich niemals empfehlen würde, da das dokumentierte absolute Maximum Vcc 3,6 VI beträgt.
2 Für meinen ESP8266 ist das Aufwachen aus dem Tiefschlaf ein Neustart, sodass der Code oben auf ausgeführt
setup()
wird. Bei Ihrem ATmega328 ist dies jedoch kein Problem.quelle
Sehr ähnlich zu "Wie kommt es, dass mein Solar- / Batterie- / Wechselrichtersystem so wenig Reichweite hat?" > weil der Wechselrichter ständig hochgefahren ist. Verwenden Sie verschiedene Lasten, die mit direkter Batterie arbeiten, und vermeiden Sie unnötige Spannungsumwandlungen .
Sie haben Engineering 101 durchgeführt, Sie haben die Bits zusammengeschlagen und sie funktionieren. Durch Engineering 202 arbeiten sie effizient genug, um nützlich zu sein.
Wie oben, Junk the Inverte - ich meine Regler. Wählen Sie Batterien aus, die direkt betrieben werden können, z. B. drei 1,5-V-Batterien bei 4,5 Volt. (Zwei würden nicht ausreichen, da sie zu früh unter 3 V fallen würden; oder vielleicht; probieren Sie es aus!)
Denken Sie auch an größere Batterien - - 9Vs sind dumm-kleine Kapazität, besonders wenn Sie 2/3 der Kapazität wegwerfen! (Die Elektronik benötigt 3V, Sie nehmen 9V und werfen den Rest als Wärme weg). Denken Sie, dass Big-D-Zellen Ihr Freund sind, wenn Sie Langlebigkeit wünschen.
Hirschkameras haben normalerweise zwei vollständige Bänke von D-Zellen, Sie können eine oder beide verwenden und eine ganze Saison lang laufen.
Auch die Schlafstromaufnahme des ATMega ist sehr beeindruckend, aber der STX882 und der Sensor nicht so sehr. Prüfen Sie, ob Sie eine Möglichkeit finden, den ATMega dazu zu bringen, die anderen Geräte physisch auszuschalten , wenn sie nicht benötigt werden. Der billigste und spritzigste Weg, dies zu tun, ist ein kleines Relais, aber ein Leistungstransistor sollte auch den Trick machen.
Ein letzter Trick. Je nachdem, welchen Arbeitszyklus das System eingeschaltet hat, lohnt es sich möglicherweise nicht, dies zu tun, aber es ist erwähnenswert. In den letzten Jahren sind die CPUs von 5 V auf 3,3 V gestiegen. Warum? Weil sie mit Strom arbeiten; Eine Spannung jenseits des Minimums unterstützt den Betrieb nicht und leitet nur mehr Wärme ab. Als die CPUs leistungsfähiger wurden, wurden thermische Probleme zum begrenzenden Faktor, sodass ein Absinken der Spannung auf ein Minimum einen kühleren Betrieb und mehr Leistung auf demselben Kühlkörper ermöglichte. Gleiches gilt für Ihre Elektronik.
Sie möchten mit 5 V arbeiten, der hohen Seite des zulässigen Spannungsbereichs. Mein 3xAA-Vorschlag bringt Sie auf 4,5 V, aber Sie sollten eine andere Batterie wählen, die noch niedriger ist: wie Lithiumbatterien oder drei NiCd / NiMH (3,6 V). NiMH hat mehr Kapazität, aber NiCD hat eine wirklich erstaunliche Beständigkeit gegen Missbrauch und tiefe Entladung.
quelle
Verwenden Sie stattdessen einen Aufwärtswandler
So mache ich ähnliche Projekte. Ich verwende 3xAA, was mir 2,5 V - 4,8 V gibt. Dies liegt im Betriebsbereich von atmega. Ich verbinde dies mit einem Aufwärtswandler mit Deaktivierungsstift. Wenn deaktiviert, verbraucht der Wandler so gut wie nichts und leitet die Spannung durch. Wenn atmega aufwacht und eine Messung durchführen muss, schaltet es den Konverter ein, findet 5 V an VCC, führt Messungen durch und sendet, deaktiviert den Konverter und geht wieder in den Ruhezustand. Es dauert Jahre.
quelle
Entsprechend Ihren Zahlen erhalten Sie das erwartete Verhalten zwischen Ihrem Sensor, Ihrem Mikrocontroller und Ihrem Regler (8 mA). Wenn Sie es besser wollen, schlafen Sie den Controller, schalten Sie den Sensor aus und holen Sie sich einen geeigneteren Regler.
quelle
Messen Sie, wie hoch der tatsächliche Stromverbrauch im Leerlauf und im aktiven Zustand ist. Verwenden Sie ein Amperemeter zwischen der Batterie und dem 7805-Eingang. Eine typische neue 9-V-Batterie hat mehr als 300 mAh, und der Ruhestrom von 7805 allein kann nicht wirklich alles verbrauchen - etwas ist faul! Ich habe viele 9-V-Batterien gemessen und sie sind normalerweise 500-600 mAh. Die Einschränkung ist, dass sie alle alkalisch sind. Wenn Sie an der längsten Lebensdauer interessiert sind, müssen Sie natürlich Alkalibatterien verwenden.
Gibt es einen echten Grund, in Ihrer Anwendung 9-V-Einwegbatterien zu verwenden? Haben Sie so etwas wie 3 × oder 4 × AA in Betracht gezogen?
quelle
Aus den
delay
undloop
Funktionen geht hervor, dass Sie Arduino-Code verwenden. Diedelay
Funktion ist eine aktive Schleife, die den Mikrocontroller nicht in den Ruhezustand versetzt! Die Arduino-API unterstützt den Ruhemodus nicht.Lesen Sie das Datenblatt ATmega328P und lesen Sie auf Seite 34, wie Sie das Gerät in den Ruhemodus versetzen.
quelle
deepsleep
?WICHTIG: Wenn Sie den Feuchtigkeitssensor DHT11 zwischen den Einsätzen ausschalten können, können Sie möglicherweise die Batterielebensdauer um den Faktor 3 oder 4 verlängern.
Der DHT11 hat im Schlafmodus einen Ruhestrom von 100-150 uA. Sie müssen auf den Worst-Case-Wert entwerfen.
Beim Einschalten benötigt es 1 Sekunde, um den Kopf frei zu bekommen (Hinweis 4. Seite 5),
und dann gibt es eine Einrichtungszeit für die Schnittstelle (möglicherweise einige 10 ms).
Aus dem Datenblatt ist nicht ersichtlich, ob die Reaktionszeit durch das Ausschalten beeinflusst wird, aber wahrscheinlich nicht.
Abhängig von der Zeit zwischen den Aktivierungen kann das Ausschalten des DHT11 den Ruhestrom des Systems von etwa 200 uA auf etwa 50 uA reduzieren.
Sehenswert.
LM2936 Regler:
Der von Ihnen erwähnte LM2936 ist ein hervorragender Regler, wenn er Ihren Anforderungen entspricht. Geringer Ausfall, niedriger Ruhestrom, Bereich der verfügbaren Ausgangsspannungen.
Ich habe sie vor langer Zeit in einem Produkt verwendet, das ihren niedrigen Iq benötigte und mit ihnen sehr zufrieden war. Hmmm - das war ungefähr 1993 - 25+ Jahre - ein Oldie, aber ein Goody.
Iout max beträgt nominal 50 mA - das entspricht Ihrem tabellarischen Bedarf.
Iq beträgt 10 uA bei 100 uA Last - und weniger bei viel niedrigeren Lasten.
Vin ist 5,5 - 40 V und wahrscheinlich sogar näher an Vout. Sie können 5V- und 3V3-Versionen erhalten.
Der Laststrom im Schlafmodus liegt leicht unter 200 uA.
Bei 200 uA erhalten Sie 100 / .2 = 500 Stunden Schlafbetrieb pro 100 mAh Batterie.
Also ca. 20 Tage pro 100 mAh.
Sagen wir also 60 Tage oder zwei Monate mit einer alkalischen "9V" 300 - 500 mAh Batterie, die auf der konservativen Seite fehlerhaft ist. Verwenden Sie 6 x 1,5 V alkalische AA-Zellen (ca. 3000 mAh) und Sie sollten sich 2 Jahren nähern.
Der direkte Betrieb mit 3 × AA-Alkalien ergibt Vin von 5 V anfänglich (bis zu 1,65 V / Zelle) und 3,3 V bei 1,1 V / Zelle (ungefähr tot). Also ungefähr so lange wie 6 AA-Alkalien mit konstanter Spannungsabgabe. Wenn Sie einen Eingang von 3,3 - 5 V tolerieren können, verwenden Sie einfach 3 x Alkalien. AA für fast 2 Jahre Betrieb. AAA für weniger.
quelle