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

Windows 10 IoT-Anlagenüberwachungssystem

Komponenten und Verbrauchsmaterialien

Arduino Due
Habe dieses Board verwendet, da es auf ARM basiert und 3,3 Volt verwendet
× 1
Raspberry Pi 2 Model B
× 1
Adafruit BMP180 Luftdruck-/Temperatur-/Höhensensor
Habe einen chinesischen verwendet
× 1
Adafruit ADS1115 16-Bit ADC
Habe einen chinesischen verwendet
× 1
SparkFun Bodenfeuchtesensor (mit Schraubklemmen)
Chinese mit Komparatormodul verwendet
× 4
Servos (Tower Pro MG996R)
× 2
Relais (generisch)
× 2
Breadboard (generisch)
× 1

Apps und Onlinedienste

Microsoft Visual Studio 2015
Arduino-IDE

Über dieses Projekt

Projektintro

Ziel dieses Projekts ist die Schaffung eines Pflanzenüberwachungs- und Bewässerungssystems. Die Hauptaufgabe besteht darin, das Servo, das Relais zu steuern und die Bodenfeuchtigkeitsdaten von den Pflanzen zu sammeln. Ein großer Teil der Sensoren verwendet ein analoges Signal als Ausgang, aber der Raspberry Pi hat keinen Analog-Digital-Wandler. Um dieses Problem zu lösen, habe ich ein äußeres ADC-Modul und ein Arduino-Gateway verwendet, da sie ADC eingebaut haben. Wenn wir mit der Umgebung interagieren wollen, brauchen wir normalerweise Pulsweitenmodulation. Ich habe 3 Möglichkeiten gefunden, dieses Problem zu lösen. Das erste ist die Software-PWM, das zweite war das Arduino-Gateway und das letzte sollte ein PWM-fähiges Modul / IC verwenden. Ich habe die ersten beiden Methoden implementiert, weil ich schon einmal ein I2C-Gerät implementiert habe. ADC und PWM werden in der Arduino-Welt sehr häufig verwendet. Wenn wir also GPIO auf Raspberry Pi verwenden möchten, möchten wir normalerweise, dass mindestens eine dieser Funktionen auf unserem Raspberry läuft.

Die App

Die Anwendung verfügt über zwei Modi:einen automatischen Modus, der erkennt, ob die Pflanze Wasser benötigt, und einen manuellen Modus, in dem Sie die Servos und Relais manuell steuern können. Da sich das Servo um ca. 180 Grad drehen lässt, kann ein Servo nur 2 Pflanzen bewässern. Der Automatikmodus ist die Standardeinstellung. Wenn wir Bodenfeuchtigkeitssensoren lesen, kategorisieren wir ihren Wert. Es gibt 5 Kategorien. Der trockenste ist in Kategorie 5 und auf der GUI rot markiert. Sein Gegenüber der Kategorie 1 ist grün markiert. Ein Timer überprüft diese Werte in regelmäßigen Abständen und wenn die Kategorie von "Pflanze A" oder "Pflanze B" höher als akzeptabel ist (also der Boden zu trocken ist), wird die trockenere bewässert. Im gleichen Zeitraum überprüft und bewässert das Programm die anderen beiden Pflanzen ('Pflanze C' und 'Pflanze D') auf ähnliche Weise und dies in jeder Periode.

Die Komponenten

  • Servo SG90:

Das Ansteuern eines Servos erfordert normalerweise eine große GPIO-Taktfrequenz. Der Standardanbieter ist nicht gut genug, also habe ich den Blitzanbieter verwendet. Es gab ein Problem mit der ersten Stromversorgung des Pi. Ich habe irgendwo gelesen, dass der Pi möglicherweise einen leistungsstärkeren braucht und Servos im Vergleich zu anderen Sensoren viel Strom verbrauchen. Diese beiden führten zu Leistungsproblemen. Mit dem Ladegerät des iPads funktioniert es jetzt viel besser, aber manchmal zögert es immer noch. Eine Servoschaltung mit äußerer Stromversorgung könnte das Problem wie folgt lösen:

Und wie ich dachte, das hat das Problem gelöst und jetzt funktioniert es perfekt. Ich habe die Vcc des Servos an die 5V der Stromversorgung angeschlossen und das Signal bleibt gleich und wir haben eine gemeinsame Masse. Hier ist die neue Verbindung:

Schließlich ist dies nicht erforderlich. Vielleicht würde eine bessere Stromversorgung für den Raspberry Pi oder eine Verfeinerung der Software jedes Problem mit dem Servo lösen.

  • ADS1115 16-Bit-I2c-ADC:

Ich habe versucht, jede Funktion in den 16-Bit-ADC ADS1115 zu integrieren. Aber es ist noch in der Entwicklung. Zum Beispiel sind Schwellenwertregister nicht gesetzt und es würde ein eigenes Projekt/Tutorial verdienen. Alles in allem ist es fast bereit, ein voll funktionsfähiger ADC-Treiber zu sein. Es kann einige logische Probleme geben und alle eingebauten Funktionen wurden nicht vollständig getestet.

  • BMP180 I2c Temperatur- und Drucksensor:

Der von mir verwendete BMP180-Treiber ist im Grunde derselbe, den dieses Projekt verwendet. Ich habe nur die Initialisierung geändert, da sie nicht vollständig mit dem Blitzanbieter kompatibel war. Ich nehme an, das Messen von Temperatur und Druck gehört zu Projekten wie Wetterstationen, Anlagenüberwachung und anderen ähnlichen Projekten.

  • Relais:

Das Ansteuern eines Relais erfordert einfache GPIO-Operationen. Aus dem Quellcode ist es recht einfach zu verstehen.

  • Photodiodenschaltung:

​Ich habe dieses Modul verwendet, weil diese Messung auch in ähnlichen Projekten nützlich sein könnte. Die Verstärkerschaltung finden Sie in der Dokumentation des LTC 1050. Die Fotodiode ist eine tageslichtoptimierte Osram BPW 21.

  • Arduino-Gateway:

Für das Gateway habe ich ein Arduino Due verwendet, da es einen 3,3 V hochgezogenen I2C-Bus hat. Ich hätte einen Spannungspegelwandler oder einen anderen Bus mit Ihrem eigenen Pull-Up verwenden können (wenn ich das richtig kenne, haben der Arduino 2560 und einige andere Boards mehr I2C-Busse und sie werden nicht hochgezogen, sodass Sie sie verwenden können). Der Code ist ganz einfach.

  • Bodenfeuchtesensor:

Ich habe chinesische mit Komparatormodulen verwendet.

Projektzusammenfassung

Meiner Meinung nach könnte dieses Projekt hilfreich sein, um eine sehr grundlegende Idee zur Bewässerung unserer Pflanzen zu vermitteln, und es gibt einige Funktionen, die Sie in Ihren eigenen Projekten anwenden möchten, wie zum Beispiel:

  • Kommunikation mit einem Arduino-Board auf dem I2C-Bus (Arduino-Gateway)
  • ADC auf Raspberry Pi
  • PWM auf Raspberry Pi (Servo)

Zukunftspläne

  • Azure-Konnektivität
  • Mobile App mit Xamarin
  • Ersetzen Sie I2C durch Bluetooth, um mit dem Arduino zu kommunizieren

Code

Arduino-Code
https://github.com/horvathm/plant-monitoring-system-arduino.git
Raspberry Pi-Code
https://github.com/horvathm/plant-monitoring-system-raspberry.git

Schaltpläne

Der Schaltplan ist in der Dokumentation des LTC 1050 zu finden

Herstellungsprozess

  1. Mobiles IoT:Intelligenter Mülleimer
  2. Windows IoT:Tür zur Gesichtserkennung
  3. Windows 10 IoT Core und SHT15
  4. Windows 10 IoT Core für Raspberry Pi 3 Model B+
  5. Windows 10 IoT Core:Sprachgesteuerter Roboter
  6. GoPiGo v2 mit Windows IoT
  7. Dual-Purpose-IoT-Waldverwaltungssystem
  8. IoT-basiertes Fernüberwachungssystem für Öl- und Dieseltanks
  9. 8 Vorteile eines IoT-basierten Flottengewichtsüberwachungssystems
  10. Verbessern Sie die Milchlagerung mit einer Prise IoT:Milk Level Monitoring System