Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Sistema de monitoreo de plantas de Windows 10 IoT

Componentes y suministros

Arduino debido
Usé esta placa porque está basada en ARM y usa 3.3 voltios
× 1
Raspberry Pi 2 Modelo B
× 1
Sensor de presión barométrica / temperatura / altitud Adafruit BMP180
Usé uno chino
× 1
ADC Adafruit ADS1115 de 16 bits
Usé uno chino
× 1
Sensor de humedad del suelo SparkFun (con terminales roscados)
Usé uno chino con un módulo comparador
× 4
Servos (Tower Pro MG996R)
× 2
Retransmisión (genérico)
× 2
Breadboard (genérico)
× 1

Aplicaciones y servicios en línea

Microsoft Visual Studio 2015
Arduino IDE

Acerca de este proyecto

Introducción al proyecto

Este proyecto tiene como objetivo crear un sistema de control y riego de plantas. La tarea principal es controlar el servo, retransmitir y recopilar los datos de humedad del suelo de las plantas. Una gran cantidad de sensores utilizan una señal analógica como salida, pero la Raspberry Pi no tiene un convertidor de analógico a digital. Para resolver este problema, utilicé un módulo ADC externo y una puerta de enlace Arduino porque tienen ADC integrado. Cuando queremos interactuar con el entorno, generalmente necesitamos modulación de ancho de pulso. Encontré 3 formas de resolver este problema. El primero es el software PWM, el segundo fue la puerta de enlace Arduino y el último fue para usar un módulo / IC capaz de PWM. Implementé los dos primeros métodos porque ya había implementado un dispositivo I2C. El ADC y PWM se usan con mucha frecuencia en el mundo Arduino, por lo que si queremos usar GPIO en Raspberry Pi, generalmente queremos que al menos una de estas características se ejecute en nuestra Raspberry.

La aplicación

La aplicación tiene dos modos:un modo automático cuando detecta si la planta necesita algo de agua y un modo manual donde se pueden controlar los servos y relés de forma manual. Debido a que el servo puede girar aproximadamente 180 grados, un servo solo puede regar 2 plantas. El modo automático es el predeterminado. Cuando leemos los sensores de humedad del suelo, categorizamos su valor. Hay 5 categorías. El más seco está en las categorías 5 y está marcado con rojo en la GUI. Su opuesto a la categoría 1 está marcado en verde. Un temporizador comprobará periódicamente estos valores y si la categoría de 'planta A' o 'planta B' es superior a la aceptable (por lo que el suelo está demasiado seco) riega la más seca. En el mismo período, el programa verifica y riega las otras dos plantas ('planta C' y 'planta D') de manera similar y lo hace en cada período.

Los componentes

  • Servo SG90:

La conducción de un servo generalmente requiere una gran frecuencia de reloj GPIO. El proveedor predeterminado no es lo suficientemente bueno, así que utilicé el proveedor Lightning. Hubo un problema con la primera fuente de alimentación del Pi. Leí en alguna parte que el Pi podría necesitar uno de mejor rendimiento y el servo consume mucha energía en comparación con otros sensores. Estos dos resultaron en problemas de rendimiento. Ahora, con el cargador del iPad, funciona mucho mejor, pero a veces todavía duda. Un circuito servo con fuente de alimentación externa podría resolver el problema como este:

Y como pensaba esto ha resuelto el problema y ahora funciona perfectamente. He conectado el Vcc del servo a los 5 V de la fuente de alimentación y la señal sigue siendo la misma y tenemos un terreno común. Aquí está la nueva conexión:

Finalmente, no es necesario hacerlo de esta manera. Tal vez una mejor fuente de alimentación para la Raspberry Pi o un refinamiento en el software resolvería todos los problemas con el servo.

  • ADS1115 I2c ADC de 16 bits:

Intenté incorporar todas las funciones al ADC ADS1115 de 16 bits. Pero aún está en desarrollo. Por ejemplo, los registros de umbral no están configurados y merecería un proyecto / tutorial propio. Con todo, está casi listo para ser un controlador ADC completamente funcional. Puede haber algunos problemas lógicos y todas las funciones integradas no se han probado por completo.

  • Sensor de temperatura y presión BMP180 I2c:

El controlador BMP180 que utilicé es básicamente el mismo que utiliza este proyecto. Modifiqué solo la inicialización porque no era totalmente compatible con el proveedor Lightning. Supongo que medir la temperatura y la presión pertenece a proyectos como estaciones meteorológicas, monitoreo de plantas y otros proyectos similares.

  • Relevo:

La conducción de un relé requiere operaciones GPIO simples. Es bastante fácil de entender por el código fuente.

  • Circuito de fotodiodos:

He usado este módulo porque esta medida también puede ser útil en proyectos similares. El circuito amplificador se puede encontrar en la documentación del LTC 1050. El fotodiodo es un Osram BPW 21 optimizado para la luz del día.

  • Puerta de enlace Arduino:

Para la puerta de enlace utilicé un Arduino Due porque tiene un bus I2C de 3.3 V detenido. Podría haber usado un convertidor de nivel de voltaje u otro bus con su propio pull up (si sé bien, el Arduino 2560 y algunas otras placas tienen más buses I2C y no están levantados, por lo que puede usarlos). El código es bastante simple.

  • Sensor de humedad del suelo:

He usado los chinos con módulos comparadores.

Resumen del proyecto

En mi opinión, este proyecto podría ser útil para dar una idea muy básica de cómo regar nuestras plantas y hay algunas características que quizás quieras aplicar en tus propios proyectos como:

  • Comunicarse con una placa Arduino en el bus I2C (puerta de enlace Arduino)
  • ADC en Raspberry Pi
  • PWM en Raspberry Pi (servo)

Planes futuros

  • Conectividad Azure
  • Aplicación móvil con Xamarin
  • Reemplace I2C con Bluetooth para comunicarse con Arduino

Código

Código Arduino
https://github.com/horvathm/plant-monitoring-system-arduino.git
Código de Raspberry Pi
https://github.com/horvathm/plant-monitoring-system-raspberry.git

Esquemas

El diagrama de circuito se puede encontrar en la documentación del LTC 1050

Proceso de manufactura

  1. IoT celular:cubo de basura inteligente
  2. Windows IoT:puerta de reconocimiento facial
  3. Windows 10 IoT Core y SHT15
  4. Windows 10 IoT Core para Raspberry Pi 3 Modelo B +
  5. Windows 10 IoT Core:Robot controlado por voz
  6. GoPiGo v2 con Windows IoT
  7. Sistema de gestión forestal IoT de doble propósito
  8. Sistema de monitoreo remoto de tanques de petróleo y diésel basado en IoT
  9. 8 beneficios del sistema de monitoreo de peso de flota basado en IoT
  10. Mejore el almacenamiento de leche con una pizca de IoT:sistema de control del nivel de leche
  11. Monitoreo en la nube, un sistema de control remoto