Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino-HID-USV: Dummy-Netzteil per USB zu intelligenter Backup-Stromversorgung aufrüsten

Komponenten und Zubehör

Arduino Pro Micro (oder Leonardo/klon mit ATmega32U4) × 1
Steckplatine (Breadboard) × 1
Jumper-Kabel × 1

Über dieses Projekt

Ich besitze eine ältere „Dummy“-USV (unterbrechungsfreie Stromversorgung), die ihren Status nicht an den Host-Computer melden kann, da kein USB-Anschluss vorhanden ist. Ziel war es, mit einem Arduino eine „Intelligenz“ zu schaffen, die interne USV-Parameter (Batteriekapazität, Lade-/Entladestatus, Strom, Spannung) ausliest und über eine HID-konforme USB-Schnittstelle an das Betriebssystem übermittelt – genau wie bei kommerziellen Smart-USVs (z. B. APC).

Statt eigene Treiber zu entwickeln, setzte ich auf den HID-Standard (Human Interface Device), der ursprünglich für Tastaturen/Mäuse gedacht war, aber mittlerweile auch Stromversorgungsgeräte (UPS, Batterien, Ladegeräte) unterstützt. Arduinos mit nativer USB-Unterstützung (Leonardo, Pro Micro, Klone) können sich als HID-Geräte präsentieren. Nach Analyse der Arduino-HID- und Keyboard-Bibliotheken entwickelte ich die Bibliothek HIDPowerDevice.

Testaufbau

Der Versuchsaufbau ist minimal:

Arduino-HID-USV: Dummy-Netzteil per USB zu intelligenter Backup-Stromversorgung aufrüsten

Funktionsweise: Schalter S1 verbindet Pin 4 mit GND → simuliert Batteriebetrieb. Ist S1 offen, meldet der Arduino „Laden“.

Ergebnisse auf verschiedenen Systemen

Windows 10

Erkennt den Arduino als HID-Batterie und zeigt den Kapazitätsprozentsatz korrekt im Infobereich an.

Arduino-HID-USV: Dummy-Netzteil per USB zu intelligenter Backup-Stromversorgung aufrüsten

Wichtige Einschränkung: Windows 10 unterstützt mehrere Batterien, aber alle müssen im selben Modus berichten (mAh, mWh oder Prozent). Die meisten USVs melden nur Prozent. Bei Laptops mit ACPI-Batterie kann die Anzeige kollidieren.

Linux

Funktioniert ebenfalls, evtl. ist zusätzliche Konfiguration nötig (siehe README).

Arduino-HID-USV: Dummy-Netzteil per USB zu intelligenter Backup-Stromversorgung aufrüsten

Synology / NUT-Unterstützung (Update 12.06.2021)

Nach Anfragen zur Synology-Unterstützung: Das Problem liegt in den Network UPS Tools (NUT), die von Synology genutzt werden. NUT geht standardmäßig von USB-Interface 0 aus, aber Arduino Leonardo/Pro Micro meldet sich als Composite-Device mit der USV auf Interface 2. Auch die Interrupt-Endpoints unterscheiden sich.

Eine modifizierte NUT-Bibliothek mit Arduino-Unterstützung findet sich hier. Sie kann aus dem Quellcode gebaut und auf der Zielplattform (Synology oder kompatible Linux-Distribution) installiert werden. Experimentell – Backup der aktuellen NUT-Dateien empfohlen!

Code

HIDPowerDevice Quellcode: https://github.com/abratchik/HIDPowerDevice

Schaltpläne

arduino_ups_mlvhJQLrSZ.fzz (Fritzing-Datei)

Herstellungsprozess

  1. Sensor-gesteuerte Audio-Effekte mit dem Satellite CCRMA Kit bauen
  2. K30 CO₂-Sensor: Echtzeit-Luftqualitätsmessung mit Arduino
  3. Kommunikationshilfe für Taubblinde: 1Sheeld + Arduino + Sprachausgabe & Anzeige
  4. Smartes Sparschwein: Münzprüfer mit Arduino Nano steuern
  5. LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
  6. DFRobot Kapazitiver Fingerabdrucksensor mit Arduino oder ESP8266 einbinden
  7. Interaktives Nextion HMI Projekt mit Arduino Mega und Sensoren
  8. Arduino-basierter 6-DoF Roboterarm mit Nunchuk-Steuerung
  9. Präzise Solareinstrahlungsmessung mit Arduino UNO & Ethernet Shield
  10. Kompaktes Arduino-Radar mit HC-SR04 Ultraschallsensor & 1,8″ Display