Alle 15 Minuten werden einmal Ultraschallsensordaten mit nRF24L01 an den Empfänger gesendet. Ich verwende atmega328P mit Batteriebetrieb mit AAA * 3-Batterie und es sollte mindestens 15 Tage funktionieren. Kann mir bitte jemand vorschlagen, wie ich den Stromverbrauch reduzieren kann, außer zum Zeitpunkt des Lesens von Daten vom Sensor. Ich habe auf eine Reihe von Blogs verwiesen, die den Tiefschlafmodus verwenden, aber ich muss ihn alle 15 Minuten aufwecken. Ich kann den Watchdog-Timer nicht verwenden, da er nur 8 Sekunden hat. Wenn ich eine externe RTC für Interrupts verwende, entstehen zusätzliche Kosten im Produkt.
Vielen Dank im Voraus :)
Haben Sie einen anderen Mikrocontroller in Betracht gezogen? Der AVR ist nicht gerade der sparsamste auf dem Markt. Es gibt auch XLP PICs und MSP430 (das MSP430 ist auch 16 Bit).
Außerdem sollten Sie die Leistungsbilanz Ihres Sensors überprüfen; Stellen Sie sicher, dass Sie tatsächlich alles ausschalten, was Sie nicht brauchen, wenn Sie nicht schlafen (die analoge Ultraschallschaltung saugt im Standby-Modus ziemlich viele Milliampere, wenn sie nicht ausgeschaltet ist); Überprüfen Sie auch den Stromverbrauch des Radios, vielleicht haben Sie einen Standby-Befehl vergessen (ich vergesse, ständig!)
Auch die Einrichtung Ihrer Leistungsumwandlung ist sehr wichtig. Was verwenden Sie, um die Leistung Ihrer Batterien zu regulieren?
Sie können den Watchdog-Timer verwenden, um 15 Minuten lang zu schlafen, indem Sie direkt nach dem Aufwachen so oft wie nötig in den Tiefschlafmodus wechseln, um 15 Minuten zu erreichen. Sie können verfolgen, wie viele 8-Sekunden-Zyklen Sie mit einer Variablen geschlafen haben. Der Inhalt des SRAM des Chips wird während des Ruhezustands beibehalten.
Marcelm