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

Sigfox-kWh-Zähler

Komponenten und Verbrauchsmaterialien

Arduino MKR Fox 1200
× 1
Breadboard (generisch)
× 1
Jumper (generisch)
× 1
CNY70
× 1
Widerstand 221 Ohm
× 1
Widerstand 10k Ohm
× 1
Widerstand 100 Ohm
× 1
Drehpotentiometer (allgemein)
× 1
SparkFun Drucktastenschalter 12 mm
× 1
LED (generisch)
× 1

Apps und Onlinedienste

Arduino-IDE
Sigfox
ThingSpeak API

Über dieses Projekt

1) Kurz gesagt

Dieses Tutorial hilft Ihnen, ein Gerät zu erstellen, das Ihren alten induktiven Leistungsmesser mit dem Internet verbindet. Und was ist das genau für ein Messgerät? Es ist die Art des ältesten, aber immer noch verwendeten Leistungsmessers. Es hat die Drehscheibe, die rundum mit einem kleinen schwarzen Streifen reflektierend lackiert ist. Jedes Mal, wenn Sie diesen schwarzen Teil vorbeiziehen sehen, bedeutet dies, dass eine Umdrehung abgeschlossen ist. In diesem Projekt entsprechen 120 Umdrehungen einem Verbrauch von 1 kWh.

2) Mikrocontroller, IoT-Netzwerk und andere Dinge verwendet

Wir brauchen also Arduino MKRFOX1200 , das den Sigfox hat (und das ist das Netzwerk) Konnektivität. Sigfox ist ein LPWAN-Netzwerk, das es ermöglicht, alles mit dem Internet zu verbinden. Das Netzwerk arbeitet im ISM-Band 868 MHz und ermöglicht es uns, täglich 140 Nachrichten (jeweils 12 Byte Nutzlast) im Uplink zu senden. Aber das ist nicht alles nur über das Netzwerk. Sigfox gibt uns die Möglichkeit, die Art und Weise, wie wir mit Nachrichten arbeiten möchten, anzupassen. Tatsächlich werden alle Nachrichten in der Sigfox-Cloud gespeichert, von wo aus wir sie abrufen können, indem wir ihr Ziel definieren - Rückrufe usw.

ThingSpeak:

ThingSpeak ist eine IoT-Plattform zur benutzerfreundlichen Darstellung von Daten. In diesem Projekt ist es das Sigfox-Callback-Ziel, das den empfangenen Verbrauch anhand von Diagrammen anzeigt, sobald die Übertragung stattgefunden hat.

Eins mehr Zeit - welche elektrisch Energie Kraft Verbrauch Meter wird wir verwenden?

Dieses hier:

3) Praktisches

  • 1. Verbinden alle aufgeführt Teile als angezeigt in die Verkabelung Diagramm. Ich werde die Theorie hinter der Verbindung nicht erklären, wenn etwas unklar ist, können Sie gerne fragen. Vergessen Sie nicht, ihm etwas Saft zu geben :) (USB-Powerbank oder USB-Ausgang Ihres Laptops usw.).
  • 2. Schreiben ein Code. Den Code finden Sie unten auf dieser Seite. Auch hier, wenn Ihnen etwas im Code unklar ist, fragen Sie einfach nach.
  • 3. Erstellen ThingSpeak Kanäle mit Analyse . Registrieren Sie sich auf https://thingspeak.com/ und erstellen Sie Kanal-Nr. 1 durch Angabe von Name, Beschreibung und Feld 1 - Verbrauch Kanal-Nr. erstellen 2 basierend auf Kanal-Nr. 1, aber mit anderem Namen. Wählen Sie dann die Option Matlab Analysis auf Kanal-Nr. 2 und schreibe den folgenden Code:
readChannelID =TYPE_CHANNEL1_ID_HERE;readAPIKey ='TYPE_CHANNEL1_READ_API_KEY_HERE'; writeChannelID =TYPE_CHANNEL2_ID_HERE;writeAPIKey ='TYPE_CHANNEL2_API_KEY_HERE';data =thingSpeakRead(readChannelID, 'ReadKey', readAPIKey,'OutputFormat','table'); AnalyzedData =data;analyzedData.('Consumption') =(data.('Consumption') + YOUR_CURRENT_CONSUMPTION_STATUS_IN_WH)/1000;thingSpeakWrite(writeChannelID, AnalyzedData, 'WriteKey', writeAPIKey); 
  • 4. Erstellen Sigfox Rückruf. Ich hoffe, Sie haben Ihr MKRFOX1200 bereits im Backend registriert, also überspringe ich das Tutorial, wie das geht. Nachdem Sie sich bei https://backend.sigfox.com/ angemeldet haben, gehen Sie zum Abschnitt Rückrufe und erstellen Sie einen wie folgt:
  • TYP:DATEN-UPLINK
  • KANAL:URL
  • BENUTZERDEFINIERTE PAYLOAD-KONFIGURATION:status::uint:32:little-endian
  • URL-MUSTER: https://api.thingspeak.com/update?api_key= EXPLAINED1 &field1={customData#status}
  • HTTP-METHODE VERWENDEN:GET

*ERKLÄRT1 - Ersetzen Sie dies durch Kanal 1 ThingSpeak WriteApiKey

4) Geräteinstallation &Logik dahinter

Sie haben also die schwierigsten Teile dieses Projekts bereits erledigt. Befestigen Sie nun den CNY70-Sensor mit doppelseitigem Klebeband am Glas Ihres Leistungsmessers - achten Sie darauf, dass er mittig auf der Drehscheibe platziert wird (Abb. Installation ). Als nächstes drücken Sie die Gerätetaste zweimal und führen Sie die Kalibrierung durch - wenn der Sensor einen reflektierenden Teil der Scheibe liest, sollte die Diode aufleuchten. Wenn der Sensor einen schwarzen Streifen liest, sollte die Diode erlöschen. Drücken Sie nach erfolgreicher Kalibrierung noch einmal die Gerätetaste. Nun beginnt das Gerät mit dem Auslesen des Stromverbrauchs und sendet diesen Wert alle 30 Minuten über Sigfox ins Internet. Die Lesegenauigkeit ist auf 25 Wh eingestellt (in unserem Fall alle 3 Scheibenumdrehungen).

5) Endgültige Ausgabe

Nach all diesen Schritten können Sie Ihren tatsächlichen Stromverbrauch in einer schönen ThingSpeak-Tabelle wie unten sehen.

Code

  • Sigfox kWh Stromzähler
Sigfox kWh StromzählerArduino
Dies ist .ino-Code, um Ihren Leistungsmesser intelligent zu machen.
#include int DIODE =13;int BTN =12;int BTN_state =0;int BTN_prev =0;int BTN_NR_OF_PRESS =0;int CALC =0;unsigned long i =0;uint32_t CONSUMPTION =0;boolean SHINE =false;boolean KARDAN =false;void setup() { pinMode(DIODE, OUTPUT); PinMode (BTN, EINGANG); Serial.begin (9600); if (! SigFox.begin ()) { Serial.println ( "Sigfox-Modul nicht verfügbar."); }}void loop () { int senzor =analogRead (A3); BTN_state =digitalRead (BTN); if (BTN_state !=BTN_prev) { if (BTN_state ==HIGH) { BTN_NR_OF_PRESS++; } } BTN_prev =BTN_state; if (BTN_NR_OF_PRESS % 3 ==0) { if (sensor> 300 &&senzor <950) { digitalWrite (DIODE, HIGH); aufrechtzuerhalten. Sonst { DigitalWrite (DIODE, LOW); } } if (sensor <1020 &&SHINE ==false) { SHINE =true; } if (sensor> 1020 &&SHINE ==wahr &&BTN_NR_OF_PRESS ==4) { CALC++; GLANZ =falsch; } if (CALC % 3 ==0 &&CALC !=0 &&KARDAN ==false) { KARDAN =true; VERBRAUCH +=25; } if (CALC % 3 !=0) { KARDAN =false; aufrechtzuerhalten. Wenn (BTN_NR_OF_PRESS % 4 ==0) { DigitalWrite (DIODE, LOW); if (SHINE ==false) { for (millis(); (millis() - i)> 1800000;) { i =millis(); SigFox.debug(); SigFox.beginPacket(); SigFox.write (VERBRAUCH); SigFox.endPacket(); } } }}

Schaltpläne

Schema zur Verbindung von MKRFOX1200 mit CNY70 und anderen Sachen.

Herstellungsprozess

  1. Pflanzenalarm bei Durstalarm
  2. italienische Wordclock
  3. Nur drei Pins für eine 4x3-Tastatur
  4. Bluetooth-Temperaturüberwachung
  5. Selbstgemachter einfacher Autorange-Kapazitätsmesser (10pF-10000microF)
  6. Gestengesteuerte Sperre
  7. Der Companion-IC
  8. USB-MIDI-Adapter
  9. Ein isolierter Analogeingang für Arduino
  10. Messen Sie Ihre Reaktionszeit