Einfacher USB -Power -Tester basierend auf Attiny25/45/85 und INA219. Das Gerät misst Spannung, Strom, Energie, Energie, Kapazität und zeigt die Werte auf einem OLED -Bildschirm an. Sie können zwischen verschiedenen Bildschirmen wechseln, indem Sie die SET -Taste drücken.
Das Gerät ist mit einem USB-A-Stecker für den Eingang und einem USB-A-Socket für den Ausgang ausgestattet, sodass es zwischen der Netzteil und dem Verbraucher eingesteckt werden kann. D+ und D- werden durchlaufen, damit der Verbraucher das Ladeprotokoll aushandeln kann.
Ein INA219 wird verwendet, um Spannung und Strom zu messen. Der INA219 ist ein aktueller Shunt- und Leistungsmonitor mit einer I²C-kompatiblen Schnittstelle. Das Gerät überwacht sowohl Shunt -Spannungsabfall- als auch Busversorgungsspannung mit programmierbaren Umwandlungszeiten und Filterung. Ein programmierbarer Kalibrierungswert, kombiniert mit einem internen Multiplikator, ermöglicht direkte Anzeigen von Strom in Ampere. Der ausgewählte Shunt -Widerstand von 8m Ω ermöglicht sowohl einen sehr geringen Einfluss auf die Schaltung als auch eine Messung mit einer Auflösung von 1 mA. Für eine genaue Messung sollte ein Shunt -Widerstand mit geringer Toleranz (1% oder besser) ausgewählt werden.
Die Benutzeroberfläche verwendet zwei Schaltflächen und ein SSD1306 128x32 Pixel OLED -Display. Ein Attiny24/45/85 -Mikrocontroller übernimmt die Benutzeroberfläche sowie die Berechnung und Anzeige der Werte.
Der INA219 misst kontinuierlich Strom und Spannung und überträgt die Werte über I²C an die ATTINY. Daraus berechnet das ATTINY die anderen Werte und zeigt sie auf dem OLED -Bildschirm an.
Die Implementierung des I²C -Protokolls basiert auf einer groben Bitbanging -Methode. Es wurde speziell für die begrenzten Ressourcen von Attiny10 und Attiny13 entwickelt, aber es funktioniert auch mit einigen anderen AVRs (einschließlich des Attiny25/45/85). Die Funktionen für die OLED werden an das SSD1306 -OLED -Modul angepasst, können jedoch leicht so modifiziert werden, dass sie für andere Module verwendet werden können. Um Ressourcen zu sparen, werden nur die für diese Anwendung benötigten grundlegenden Funktionen implementiert. Detaillierte Informationen zum Arbeitsprinzip der I²C OLED -Implementierung finden Sie im TinyoledDemo.
Der interne Oszillator des Attinus wird verwendet, um Energie und Kapazität zu bestimmen. Die Genauigkeit des internen Oszillators beträgt bei der Fabrikkalibrierung +/- 10%. Dies kann durch manuelle Kalibrierung auf +/- 2% oder besser verbessert werden. Der auf diese Weise festgelegte Kalibrierungswert kann im Quellcode festgelegt werden.
Da es keinen ICSP -Header im Vorstand gibt, müssen Sie die ATTINY entweder vor dem Löten mit einem SOP -Adapter oder nach dem Löten mit einem EEPROM -Clip programmieren. Der AVR -Programmiereradapter kann dabei helfen.
avrdude -c usbasp -p t85 -U lfuse:w:0x62:m -U hfuse:w:0xd5:m -U efuse:w:0xff:m -U flash:w:usb_tester.hex
DEVICE=attiny85 PROGRMR=usbasp make install , um die Sicherungen zu kompilieren, die Sicherungen zu verbrennen und die Firmware hochzuladen (Änderung von Geräten und programmiert entsprechend).| Parameter | Wert |
|---|---|
| Stromspannung | 3V - 12V |
| Aktuell | Max 5a |
| Spannungsmessauflösung | 4mv |
| Aktuelle Messauflösung | 1ma |
Diese Arbeit ist unter Creative Commons Attribution-Sharealike 3.0 Unported Lizenz lizenziert. (http://creativecommons.org/licenses/by-sa/3.0/)