Dieses Repository enthält den Quellcode für einen WLAN-Leistungsregler.
Die Hardware besteht aus (die meisten Komponenten können leicht ausgetauscht werden und einige sind für Anwendungen mit geringerer Stromstärke überdimensioniert):
Eine Matratzenbox ist eine gute Einfriedung.
Seien Sie vorsichtig, wenn Sie einen ACS712 bei Banggood.com bestellen. Meine 20-A-Sensoren wurden mit Anschlüssen geliefert, die nur für 10 A ausgelegt sind.
R1 und R2 sollten so gewählt werden, dass der 5-V-Ausgang des ACS712 auf den 3,3-V-Bereich reduziert wird, der von den Analogeingängen des M0 gelesen werden kann (z. B. sollte R1 ungefähr den doppelten Wert von R2 haben).
Geschrieben mit Arduino unter Verwendung der Bibliotheken Wifi101 und ArduinoJson. Die WLAN-SSID und das Passwort sollten zu Secrets.h hinzugefügt werden. serverAddress
und port
sollten auf die Adresse des Servers aktualisiert werden.
Sammelt Messwerte von den Controllern und speichert sie in einer MySQL-Datenbank. Bietet außerdem eine REST-API für den Client.
Zu Beginn:
.env
Datei und legen Sie MYSQL_USERNAME
, MYSQL_PASSWORD
und MYSQL_DB
fest.npm install
npm run dev
controllers
um den Umrechnungsfaktor festzulegen. Der Umrechnungsfaktor wird mit dem vom Controller gelesenen Wert multipliziert, um einen Messwert in Milliampere zu erhalten. Starten Sie den Server neu, nachdem Sie die Datenbank geändert haben, damit der Server die Änderungen liest.Wenn Sie beispielsweise den ACS712 mit 20 A verwenden, ergibt 1 A Strom einen Ausgang von 100 mV.
Wenn R1 10 kΩ und R2 20 kΩ beträgt, entspricht dies einer Ausgabe von 67 mV ( 20/(20+10)*100
) vom Spannungsteiler.
Der Eingang zum M0 ist 12-Bit und reicht daher von 0 bis 4095 für 0 bis 3,3 V.
Der Umrechnungsfaktor kann daher wie folgt berechnet werden:
c = 3.3 / S * (R1 + R2) / R2 / 4096 * 1000
wobei S
die Empfindlichkeit des ACS712 in Volt pro Ampere ist.
In diesem Beispiel:
c = 3.3 / 0.1 * (10 + 20) / 20 / 4096 * 1000
c = 12.85
Verwendet die REST-API des Servers, um Zeitpläne festzulegen und den Stromverbrauch anzuzeigen.
Zu Beginn:
npm install
npm run serve