Fernbedienung mit niedrigem Ruhestrom am ATmega328P


Laut KDPV ist es klar, dass der Autor Sonys Vintage-Audiogeräten nicht gleichgültig gegenübersteht. Hier und MD Walkman und die jüngste Akquisition - ein kompaktes Musikzentrum mit vertikaler CD - "Transport". Es wurde ohne Fernbedienung an ein selbstgemachtes Analogon verkauft, von dem der Autor eine Forderung stellte: den gleichen niedrigen Ruhestrom wie bei fertigen Fernbedienungen auf speziellen Mikroschaltungen.

Zunächst wollte der Autor die Firmware von Grund auf neu schreiben, da er bereits zuvor das in Sony-Fernbedienungen verwendete Softwareprotokoll implementiert hatte. Aber dann habe ich beschlossen, die vorhandene Bibliothek zu nutzen. Es unterstützt verschiedene Protokolle, Geräte und hat auch zusätzliche. Funktionen, die die Entwicklung und das Debuggen erleichtern.

Schließen Sie bei dieser Bibliothek einfach die IR-Diode an den Fuß des Mikrocontrollers an und suchen Sie nach Sony-Fernbedienungscodes. Es gelang ihnen sehr schnell, eine selbstgemachte Fernbedienung zu verdienen. Aber was bringt es, wenn der Akku in ein bis zwei Tagen leer ist, auch wenn Sie ihn überhaupt nicht verwenden?

Im Allgemeinen bestand die Aufgabe darin, den ATmega328P in den Ruhemodus zu versetzen, so dass er praktisch keinen Strom verbrauchte, bis eine Taste gedrückt wurde. Es gibt auch Bibliotheken zur Steuerung des Ruhezustands, aber der Autor entschied, dass zumindest dieser Teil der Firmware unabhängig geschrieben werden sollte, da er eine vorgefertigte Bibliothek zum Senden von Befehlen verwendet hatte. Laut Datenblatt war das Versetzen des Mikrocontrollers in den Ruhemodus ein mehrstufiger Prozess.

Daher wird in der Skizze alles so detailliert kommentiert, dass Sie beim gleichzeitigen Lesen des Codes und des Datensatzes verstehen können, was passiert, wenn jede Zeile ausgeführt wird. Der Mikrocontroller „schläft“ fast die ganze Zeit, und wenn sich der Status eines der Eingänge ändert, „wacht“ er auf, bestimmt, welche Taste gedrückt wird, sendet einen Befehl und „schläft wieder ein“.

Bei 16-MHz-Quarz verbraucht der Mikrocontroller, wenn er nicht „schläft“, mehr Strom als bei Verwendung des eingebauten 8-MHz-Takts. Um die entsprechenden „Sicherungen“ neu zu konfigurieren, musste ich den In-Circuit-Programmierer verwenden. Der Ruhemodus ist so gewählt, dass bis auf Interrupts alles ausgeschaltet ist. Der Autor verstand nicht sofort, dass der ADC ausgeschaltet werden musste, weshalb er den Grund nicht finden konnte, warum der Mikrocontroller im Schlafmodus fast eine Milliampere verbrauchte. Der Watchdog-Timer musste ebenfalls ausgeschaltet werden, und hier ist das Ergebnis: ca. 2 μA im Schlafmodus und 3,5 mA bei der Übertragung eines Befehls. Dieser Rechner hat gezeigt, dass unter idealen Bedingungen, wenn Sie die Tasten fünfmal pro Stunde drücken, das Element in diesem Modus 4,82 Jahre hält. Sogar ein oder zwei Jahre sind schon großartig, und noch mehr.

Der Autor entwickelte die Leiterplatte bei Eagle. Dateien zur Wiederholung: Skizze , Diagramm , Gerbera , Quellkarte .





Video, wo gezeigt Strommessung:



Der Prozess der Verbesserung des Designs wird fortgesetzt. Zunächst müssen einige Schaltflächen erstellt werden, für die sich die im Netzwerk gefundenen Codes als falsch herausgestellt haben. Darüber hinaus gibt der Autor ein vereinfachtes Analogon zu CC-BY aus einem Satz: „Wenn Sie möchten, verwenden Sie den Code und die Tafel in anderen hausgemachten Produkten. Denken Sie daran, anzugeben, wer dies alles für Sie entwickelt hat.“ Da sich die Quellbibliothek nicht unter der GPL, sondern unter der LGPL befindet, können Sie dies tun.

Source: https://habr.com/ru/post/de452046/


All Articles