Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Windows 10 IoT-installatiebewakingssysteem

Componenten en benodigdheden

Arduino Due
Dit bord gebruikt omdat het op ARM is gebaseerd en het gebruikt 3,3 volt
× 1
Raspberry Pi 2 Model B
× 1
Adafruit BMP180 luchtdruk-/temperatuur-/hoogtesensor
Een Chinese gebruikt
× 1
Adafruit ADS1115 16-bits ADC
Een Chinese gebruikt
× 1
SparkFun Bodemvochtsensor (met schroefaansluitingen)
Een Chinese gebruikt met een vergelijkingsmodule
× 4
Servo's (Tower Pro MG996R)
× 2
Relais (algemeen)
× 2
Broodplank (algemeen)
× 1

Apps en online services

Microsoft Visual Studio 2015
Arduino IDE

Over dit project

Projectintro

Dit project is gericht op het creëren van een plantmonitoring- en bewateringssysteem. De belangrijkste taak is het aansturen van de servo, het doorgeven en het verzamelen van de bodemvochtigheidsgegevens van de planten. Een groot deel van de sensoren gebruikt een analoog signaal als uitvoer, maar de Raspberry Pi heeft geen analoog-naar-digitaal omzetter. Om dit probleem op te lossen, heb ik een buitenste ADC-module en een Arduino-gateway gebruikt omdat ze ADC hebben ingebouwd. Als we met de omgeving willen interageren, hebben we meestal pulsbreedtemodulatie nodig. Ik heb 3 manieren gevonden om dit probleem op te lossen. De eerste is de software PWM, de tweede was de Arduino-gateway en de laatste was om een ​​PWM-compatibele module/IC te gebruiken. Ik heb de eerste twee methoden geïmplementeerd omdat ik eerder een I2C-apparaat heb geïmplementeerd. De ADC en PWM worden heel vaak gebruikt in de Arduino-wereld, dus als we GPIO op Raspberry Pi willen gebruiken, willen we meestal dat ten minste één van deze functies op onze Raspberry draait.

De app

De applicatie heeft twee modi:een automatische modus wanneer het detecteert of de plant wat water nodig heeft en een handmatige modus waarin u de servo's en relais handmatig kunt bedienen. Omdat de servo ongeveer 180 graden kan draaien kan één servo slechts 2 planten water geven. De automatische modus is de standaard. Wanneer we bodemvochtigheidssensoren lezen, categoriseren we de waarde ervan. Er zijn 5 categorieën. De droogste is in categorie 5 en gemarkeerd met rood op de GUI. De tegenoverliggende categorie 1 is groen gemarkeerd. Een timer zal deze waarden periodiek controleren en als de categorie 'plant A' of 'plant B' hoger is dan acceptabel (dus de grond is te droog) geeft hij de drogere water. In dezelfde periode controleert en bewatert het programma de andere twee planten ('plant C' en 'plant D') op dezelfde manier en doet dit in elke periode.

De componenten

  • Servo SG90:

Het besturen van een servo vereist meestal een grote GPIO-klokfrequentie. De standaardprovider is niet goed genoeg, dus ik heb de bliksemprovider gebruikt. Er was een probleem met de eerste voeding van de Pi. Ik heb ergens gelezen dat de Pi misschien een beter presterende nodig heeft en dat servo veel stroom verbruikt in vergelijking met andere sensoren. Deze twee resulteerden in prestatieproblemen. Nu met de oplader van de iPad werkt het veel beter, maar soms aarzelt het nog steeds. Een servocircuit met externe voeding zou het probleem als dit kunnen oplossen:

En omdat ik dacht dat dit het probleem had opgelost en nu werkt het perfect. Ik heb de Vcc van de servo aangesloten op de 5V van de voeding en het signaal blijft hetzelfde en we hebben gemeenschappelijke grond. Hier is de nieuwe verbinding:

Ten slotte is het niet nodig om het op deze manier te doen. Misschien zou een betere voeding voor de Raspberry Pi of verfijning in de software elk probleem met de servo oplossen.

  • ADS1115 16 bit I2c ADC:

Ik heb geprobeerd om elke functie in te bouwen in de ADS1115 16-bit ADC. Maar het is nog in ontwikkeling. Er zijn bijvoorbeeld geen drempelregisters ingesteld en het zou een eigen project/tutorial verdienen. Al met al is het bijna klaar om een ​​volledig functionele ADC-driver te worden. Er kunnen enkele logische problemen zijn en alle ingebouwde functies zijn niet volledig getest.

  • BMP180 I2c temperatuur- en druksensor:

Het BMP180-stuurprogramma dat ik heb gebruikt, is in principe hetzelfde dat dit project gebruikt. Ik heb alleen de initialisatie gewijzigd omdat deze niet volledig compatibel was met de Lightning-provider. Ik veronderstel dat het meten van de temperatuur en druk hoort bij projecten zoals weerstation, plantmonitoring en andere soortgelijke projecten.

  • Estafette:

​Het aansturen van een relais vereist eenvoudige GPIO-handelingen. Het is vrij eenvoudig te begrijpen vanuit de broncode.

  • Fotodiodecircuit:

​Ik heb deze module gebruikt omdat deze meting ook nuttig kan zijn in vergelijkbare projecten. Het versterkercircuit is te vinden in de documentatie van de LTC 1050. De fotodiode is een voor daglicht geoptimaliseerde Osram BPW 21.

  • Arduino-gateway:

Voor gateway heb ik een Arduino Due gebruikt omdat deze een opgetrokken I2C-bus van 3,3 V heeft. Ik zou een spanningsniveau-omzetter of een andere bus met je eigen pull-up kunnen gebruiken (als ik het goed weet, hebben de Arduino 2560 en sommige andere boards meer I2C-bussen en ze zijn niet omhoog getrokken, dus je zou ze kunnen gebruiken). De code is vrij eenvoudig.

  • Bodemvochtigheidssensor:

Ik heb Chinese gebruikt met vergelijkingsmodules.

Projectoverzicht

Naar mijn mening kan dit project nuttig zijn om een ​​heel basaal idee te geven hoe we onze planten water moeten geven en er zijn enkele functies die u misschien in uw eigen projecten wilt toepassen, zoals:

  • Communiceren met een Arduino-bord op I2C-bus (Arduino-gateway)
  • ADC op Raspberry Pi
  • PWM op Raspberry Pi (servo)

Toekomstplannen

  • Azure-connectiviteit
  • Mobiele app met Xamarin
  • Vervang I2C door Bluetooth om met de Arduino te communiceren

Code

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

Schema's

Het schakelschema is te vinden in de documentatie van de LTC 1050

Productieproces

  1. Cellular IoT:Smart Garbage Can
  2. Windows IoT:deur met gezichtsherkenning
  3. Windows 10 IoT Core en SHT15
  4. Windows 10 IoT Core voor Raspberry Pi 3 Model B+
  5. Windows 10 IoT Core:spraakgestuurde robot
  6. GoPiGo v2 met Windows IoT
  7. Dual Purpose IoT-bosbeheersysteem
  8. Op IoT gebaseerd extern olie- en dieseltankbewakingssysteem
  9. 8 Voordelen van een op IoT gebaseerd Fleet Weight Monitoring System
  10. Verbeter melkopslag met een snufje IoT:melkniveaubewakingssysteem
  11. Cloud monitoring, een afstandsbedieningssysteem