Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Système de surveillance d'usine Windows 10 IoT

Composants et fournitures

Arduino Due
J'ai utilisé cette carte car basée sur ARM et elle utilise 3,3 volts
× 1
Raspberry Pi 2 Modèle B
× 1
Capteur de pression barométrique/température/altitude Adafruit BMP180
Utilisé un chinois
× 1
ADC 16 bits Adafruit ADS1115
Utilisé un chinois
× 1
Capteur d'humidité du sol SparkFun (avec bornes à vis)
Utilisé un chinois avec un module comparateur
× 4
Servos (Tower Pro MG996R)
× 2
Relais (générique)
× 2
Planche à pain (générique)
× 1

Applications et services en ligne

Microsoft Visual Studio 2015
Arduino IDE

À propos de ce projet

Présentation du projet

Ce projet vise à créer un système de surveillance et d'arrosage des plantes. La tâche principale est de contrôler le servo, de relayer et de collecter les données d'humidité du sol des plantes. Une grande quantité de capteurs utilisent un signal analogique comme sortie, mais le Raspberry Pi n'a pas de convertisseur analogique-numérique. Pour résoudre ce problème, j'ai utilisé un module ADC externe et une passerelle Arduino car ils ont intégré l'ADC. Lorsque nous voulons interagir avec l'environnement, nous avons généralement besoin d'une modulation de largeur d'impulsion. J'ai trouvé 3 façons de résoudre ce problème. Le premier est le logiciel PWM, le second était la passerelle Arduino et le dernier devait utiliser un module/IC compatible PWM. J'ai implémenté les deux premières méthodes car j'ai déjà implémenté un périphérique I2C. L'ADC et le PWM sont très souvent utilisés dans le monde Arduino, donc si nous voulons utiliser GPIO sur Raspberry Pi, nous voulons généralement qu'au moins une de ces fonctionnalités s'exécute sur notre Raspberry.

L'application

L'application dispose de deux modes :un mode automatique lorsqu'il détecte si la plante a besoin d'eau et un mode manuel où vous pouvez contrôler les servos et les relais manuellement. Parce que le servo peut tourner à environ 180 degrés, un servo ne peut arroser que 2 plantes. Le mode automatique est le mode par défaut. Lorsque nous lisons les capteurs d'humidité du sol, nous catégorisons sa valeur. Il y a 5 catégories. Le plus sec est dans les catégories 5 et marqué en rouge sur l'interface graphique. Son opposé la catégorie 1 est marqué en vert. Un temporisateur vérifiera périodiquement ces valeurs et si la catégorie de 'plante A' ou 'plante B' est supérieure à acceptable (donc le sol est trop sec) il arrose la plus sèche. Au cours de la même période, le programme vérifie et arrose les deux autres plantes ('plante C' et 'plante D') de la même manière et le fait à chaque période.

Les composants

  • Servo SG90 :

La conduite d'un servo nécessite généralement une fréquence d'horloge GPIO élevée. Le fournisseur par défaut n'est pas assez bon, j'ai donc utilisé le fournisseur Lightning. Il y a eu un problème avec la première alimentation électrique du Pi. J'ai lu quelque part que le Pi pourrait avoir besoin d'un plus performant et que le servo consomme beaucoup d'énergie par rapport aux autres capteurs. Ces deux problèmes de performances ont résulté. Maintenant avec le chargeur de l'iPad ça marche beaucoup mieux mais parfois ça hésite encore. Un circuit d'asservissement avec alimentation externe pourrait résoudre le problème comme celui-ci :

Et comme je pensais que cela a résolu le problème et maintenant cela fonctionne parfaitement. J'ai connecté le Vcc du servo au 5V de l'alimentation et le signal reste le même et nous avons une masse commune. Voici la nouvelle connexion :

Enfin, il n'est pas nécessaire de procéder ainsi. Peut-être qu'une meilleure alimentation pour le Raspberry Pi ou un raffinement du logiciel résoudrait tous les problèmes avec le servo.

  • ADS1115 16 bits I2c ADC :

J'ai essayé d'intégrer chaque fonction à l'ADC 16 bits ADS1115. Mais il est encore en développement. Par exemple, les registres de seuil ne sont pas définis et cela mériterait un propre projet/tutoriel. Dans l'ensemble, il est presque prêt à être un pilote ADC entièrement fonctionnel. Il peut y avoir des problèmes logiques et toutes les fonctions intégrées n'ont pas été complètement testées.

  • Capteur de température et de pression BMP180 I2c :

Le pilote BMP180 que j'ai utilisé est fondamentalement le même que celui utilisé par ce projet. J'ai modifié uniquement l'initialisation car elle n'était pas entièrement compatible avec le fournisseur de foudre. Je suppose que mesurer la température et la pression appartient à des projets tels que la station météorologique, la surveillance des plantes et d'autres projets similaires.

  • Relais :

La conduite d'un relais nécessite des opérations GPIO simples. C'est assez facile à comprendre à partir du code source.

  • Circuit photodiode :

J'ai utilisé ce module car cette mesure peut également être utile dans des projets similaires. Le circuit amplificateur se trouve dans la documentation du LTC 1050. La photodiode est une Osram BPW 21 optimisée pour la lumière du jour.

  • Passerelle Arduino :

Pour la passerelle, j'ai utilisé un Arduino Due car il a un bus I2C de 3,3 V. J'aurais pu utiliser un convertisseur de niveau de tension ou un autre bus avec votre propre pull-up (si je sais bien, l'Arduino 2560 et d'autres cartes ont plus de bus I2C et ils ne sont pas tirés, vous pouvez donc les utiliser). Le code est assez simple.

  • Capteur d'humidité du sol :

J'ai utilisé des modules chinois avec des modules de comparaison.

Résumé du projet

À mon avis, ce projet pourrait être utile pour donner une idée très basique de la façon d'arroser nos plantes et il y a certaines fonctionnalités que vous voudrez peut-être appliquer dans vos propres projets comme :

  • Communiquer avec une carte Arduino sur bus I2C (passerelle Arduino)
  • ADC sur Raspberry Pi
  • PWM sur Raspberry Pi (servo)

Projets futurs

  • Connectivité Azure
  • Application mobile avec Xamarin
  • Remplacez I2C par Bluetooth pour communiquer avec l'Arduino

Code

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

Schémas

Le schéma de circuit se trouve dans la documentation du LTC 1050

Processus de fabrication

  1. IdO cellulaire :poubelle intelligente
  2. Windows IoT :porte de reconnaissance faciale
  3. Windows 10 IoT Core et SHT15
  4. Windows 10 IoT Core pour Raspberry Pi 3 modèle B+
  5. Windows 10 IoT Core :Robot à commande vocale
  6. GoPiGo v2 avec Windows IoT
  7. Système de surveillance à distance des réservoirs d'huile et de diesel basé sur l'IdO
  8. 8 avantages du système de surveillance du poids de la flotte basé sur l'IoT
  9. Améliorez le stockage du lait avec une pincée d'IoT :système de surveillance du niveau de lait