Arduino Forum

International => Español => Proyectos => Topic started by: gmclamo on Oct 08, 2019, 02:33 pm

Title: Domotizacion de finca.
Post by: gmclamo on Oct 08, 2019, 02:33 pm
Buenos días,
Me gustaría hacer un proyecto de comunicación para una finca agrícola en Arduino.
Os voy a describir mis necesidades, para que me aconsejéis sobre el hardware que tengo que elegir. La elección de los elementos es fundamental para que el proyecto funcione bien y no tenga problemas, por lo que os pido consejo en ese aspecto.
Estoy empezando con el lenguaje Arduino y he estudiado lenguaje C++ en la universidad.

1.- Descripción del entorno.
Es una finca en una zona montañosa en granada, clima templado y precipitaciones típicas de la zona mediterránea.
Distancia de Arduino central a estación meteorológica 350 m, visibilidad entre antenas mas o menos buenas pocos obstáculos
Distancia entre Arduino central a depósitos unos 350 m, visibilidad ente antenas más o menos, pero puede haber obstáculos
Distancia ente Arduino central y pozo, unos 10 m , Visibilidad entre antenas más o menos buena.

2.- Descripción de las necesidades.


A. Un Arduino central, que recibirá los datos de diversos sensores o Arduinos que recibirán señales.  ES
A.- Toma de datos meteorológicos y archivo de los mismo.  (Anemómetro, barómetro, radiación, dirección del viento, termómetro.). Dichos sensores irán conectados a un Arduino que se situara encima de una estructura de paneles solares, que esta situada en el punto mas favorable para tomar esos valores climáticos. Eso Arduino se montará en una caja estanca. Todo se alimentará de un panel solar de 50 W o menos y una batería. Ese Arduino que, recibida esas señales, las transmitirá a un Arduino central que mencionare más adelante. Necesito un transreceptor de Arduino para distancia de 1 km o menos, pero que sea robusta la señal y no se afecte por posibles obstáculos. Mejores bandas por debajo de 1 Ghz. Si los sensores pueden funcionar sin Arduino mejor, pero lo dudo, creo que por cada grupo de sensores necesitare un Arduino para enviar o recibir.

B.- Toma de niveles de depósitos. Necesito tomar los niveles de 2 depósitos mediante un sensor ultrasónico Watherproof  JSN-SR04T un Arduino y un módulo de transmisión de datos a menos que lo pueda hacer sin Arduino.

C.- Toma de niveles de pozo.  Para tomar el pozo, necesito arrancar un compresor de aire de unos 1500W, ósea 10 A, para ello he pensado un relé estado sólido, pero no se marca ni modelo compatible con Arduino. Una vez que arranque, el sistema, al poco tiempo 1 minuto, que es cuando se cargara el calderín, parara el compresor y medirá la presión en el circuito de aire comprimido.  Ese valor se  transmitirá al Arduino central.  Necesito consejo sobre el transductor a emplear. Mejor whatherproof ya que el aire comprimido genera humedad y rango de presión de 0 a 4 ó 5 bar. También necesita tomar el valor de un variador de frecuencia, que hay en el pozo. El variador es autónomo y lleva unas sondas de nivel que dan ordenes de arranque o paro, pero no quiero leer el valor de las sondas, porque es posible que las sondas " pidan agua" pero no tiene porque haber funcionado (Averías, paradas intencionada del variador etc) tendría que ver si ver si en las bornas de salida del variador hay tensión por ej, o bien ver si el variador puede darme una señal de salida de marcha para recoger el valor de esa señal

D. Un Arduino maestro, recogerá los valores de todos esos sensores y Arduinos repartidos por la finca,  y los guardara. No se si se podrán enviar dichos valores por internet y consultarlos en alguna página web. Hay router 3g, por lo que la conexión seria por conector RJ45.
Es fundamental guardar dichos valores en una tarjeta SD.
También me gustaría saber algún tipo de pantalla, que se situara junto al Arduino maestro y nos mostrara niveles, condiciones meteorológicas, estado de señales, etc.
El sistema debe ser ampliable, es decir pienso poder actuar sobre el ordenador de riego o sobre el variador (el variador tiene entradas configurables que permite arrancar o cambiar velocidad de funcionamiento etc.)

Necesito mucho tiempo para implementar esto y sobre todo consejo sobre el modo de realizarlo todo.

Muchas gracias.
Title: Re: Domotizacion de finca.
Post by: surbyte on Oct 08, 2019, 03:25 pm
Tienes basicamente dos opciones : nRF24L01 con antena usando una Red MESH para hacer retransmisiiones y evitar obstáculos o LoRA.

Ambos dispositivos te garantizarán un buen funcionamiento, solo que debes lograr visión optica entre ellos siempre por eso hablo de una red MALLA o MESH que USA los dispositivos intermedios para que el master logre comunicarse con aquel nodo que no tiene alcance directo con el.

No importa entonces la topologia, puedes colocar nodos redundantes para mejorar la conectividad.

Este es el punto mas importante, el resto se va logrando con tiempo y trabajo, mucho trabajo.

Yo hice algo parecido para un Catalan pero no pudimos terminarlo porque el subestimó los tiempos y sus habilidades. Te pido que comiences por lo mas importante que es justamente esto.
1100 Meter Long Distance NRF24L01+PA+LNA Wireless Module With Antenna (https://www.banggood.com/1100-Meter-Long-Distance-NRF24L01PALNA-Wireless-Module-With-Antenna-p-1057170.html?rmmds=detail-top-buytogether-auto&cur_warehouse=CN)

Este sería un posible caballito de batalla. Mi recomendación es que compres 3. No mas para una prueba.
Ojo es importante que mantengas el proveedor porque hay variaciones en las placas.
Lee siempre bien los comentarios de la gente y si tiene Muchas Ventas, lo que te asegura que es un producto confiable, luego si falla no hay forma de reclamar salvo excepciones.

Ese es un ejemplo, yo no lo he comprado ni lo recomiendo, es el primero que apareció en la búsqueda.

Estas radios deben ser alimentadas con 3.3V y proveerles al menos 250mA, con un buen capacitor electrolitico entre sus bornes GND y Vcc evitas problemas en los momentos de transmisión. No olvides eso!!
Puedes usar el Arduino para alimentarlo pero considera que no debes superar 350mA en total con el Arduino. Si sumas reles y otros sensores, y llegas a este máximo, entonces mejor usar fuente externa que provea los 3.3V necesarios.
Recuerda que son 3.3V y no puedes usar los 3.3V del Arduino. Siempre hablo de que uses un regulador LDO conectado a los 5V del Arduino.

Todo esto mismo puede hacer con LoRA que tiene mas alcance

3Pcs Smart Electronics SX1278 LoRa Ra-02 Spread Spectrum Wireless Module / Ultra Far 10KM / 433M (https://www.banggood.com/3Pcs-Smart-Electronics-SX1278-LoRa-Ra-02-Spread-Spectrum-Wireless-Module-Ultra-Far-10KM-433M-p-1244375.html?rmmds=search&cur_warehouse=CN)

Ambos estan muy bien soportados. LoRA es mas actual y el nivel de opciones en software es excelente.

Las librerias para nRF24 que recomiendo son las de Tmrh20. Busca Tmrh20 Mesh (en este mismo foro gepd en su momento generó un tutorial).


Title: Re: Domotizacion de finca.
Post by: gmclamo on Oct 09, 2019, 09:44 am
Muchas gracias por la respuesta.
Todo consejo sera util. Estoy empezando con esto y tengo que cacharear.
El "C" de hace 20 años lo tengo olvidado, y tengo que empezar de nuevo.


Yo estaba buscando un transreceptor que no necesitara una vision optima.
He visto estaciones meteorologicas y medidores de consumo domestico para hacer auditorias energeticas cuyos sensores se comunican por debajo de 1Ghz. Es mas robusta la señal pero tiene menos ancho de banda.
Creo que parar lo que necesito, no me hace falta un ancho de banda grande. Son pocos datos.
Tengo ademas diversas camaras wifi por la finca y no me gustaria interferencias en la banda de 2.4 Ghz y encima modulos chinos.
Por eso creo que es mejor probar con el Lora.

No se si hay mas alternativa al Lora.

Un saludo,
Title: Re: Domotizacion de finca.
Post by: surbyte on Oct 10, 2019, 10:50 pm
No hay ancho de banda rápido en lo que te comento.
El nRF24 puede comunciarse a 2MBpbs, 1MBps pero a distancias largas soloa a 250Kbps al igual que el LoRA. si encuentras otra opcion, avisa, no la hay que yo sepa.
Title: Re: Domotizacion de finca.
Post by: gmclamo on Oct 18, 2019, 07:46 pm
Buenas tardes.
Me asalta una duda
es la calidad del hardware de arduino existente en el mercado.
Si los componentes no son suficientemente precisos, en su medicion y son un poco cachondeo (me refiero a sondas sensores de humedad, temperatura, medidores ultrasonicos etc. ) no va a poder hacerse un montaje fiable y seguro.

Me gustaria sabe que opinais de la calidad de los componentes auxiliares para arduino.

Un saludo.
Title: Re: Domotizacion de finca.
Post by: gmclamo on Oct 18, 2019, 09:35 pm
He tenido una idea, para mejorar la fiabilidad y estabilidad de la medida.
El ultrasonico me observado que fluctua mucho, pero he pensado en tomar 10 medidas y sobre esas 10 medidas calcular el valor medio, de este modo el posible error de medida queda amortiguado en cierta medida.
Que pensais?
Title: Re: Domotizacion de finca.
Post by: surbyte on Oct 19, 2019, 04:41 pm
Quote
Si los componentes no son suficientemente precisos, en su medicion
Si compras cosas baratas obtienes resultados mediocres.
Si quieres cosas precisas entonces hay que gastar mas dinero.

La pregunta es, que quieres medir con precisión y para qué?
Saber si la tierra esta o no húmeda no requiere de gran precisión, es solo determinar si hay que regar o no. Asi que se tolera una falta de precisión aunque no algo que sea horriblemente malo. El sensor que se suele vender para el uso de medición de humedad de suelo no mide mal, su problema (y ha sido muchas veces debatido en el foro asi que busca al respecto) es que se oxida si lo chequeas permanentemente, asi que como conclusión de dichos debates a los que refiero, lo que se sugiere es que no este alimentado sino cuando se requiere medir la humedad de suelo y eso será cada X minutos... 30 min o 1 hora, quieres medir mas seguido... asi será la vida util del sensor. Es barato de modo que lo reemplazas y ya.

Que otro sensor?
temperatura los que yo he usado funcionan muy bien. Si los consultas seguido como dije antes... y bueno, te darán todo tipo de fluctuaciones. Debes comprender que las magnitudes físicias no cambian a cada instante asi que hay que bajar los decibeles de la paranoia de medir cada 1 seg y pasar a hacer lecturas mas espaciadas.

Medidores ultrasonico
No se donde lo usarás. La lectura de un tanque por ejemplo. Sera bastante buena si no entra agua. Si entra agua habra olas y el sensor dará las lecturas que tu mismo darias si estuviaras con algo que permita leer el nivel. Asi que una vez mas lo dicho antes.

En conclusión, los sensores disponibles antes razonablemente bien.

La establildad la logras muestreando y promediando. El promedio simple a mi no me gusta, me gusta el promedio móvil (esta debatido tmb en el foro).
Busca Luis Llamas promedio móvil en Google, puedes tener hasta 200 muestras promediadas sin perder velocidad de respuesta.

Por favor, no uses delay() en nada de lo que encares, porque ese si que será un gran problema cuando tu código crezca.

Ve a Documentación => Indice de temas tutoriales => millis()
Title: Re: Domotizacion de finca.
Post by: gmclamo on Oct 21, 2019, 01:44 pm
Buenas tardes.
Quizás me equivoque o no lo estoy haciendo bien.

Voy poco a poco con este asunto, que después se complicara cada vez más. Mi problema por ahora es el sensor ultrasónico.
Veo que me hace lecturas muy dispares. Puede ser ruido o puede ser un mal sensor.
No se diferenciar los buenos de los malos. Todos se parecen todos son copias unos de otros. Soy consciente de la importancia de buenos componentes para tener buenos resultados. No podemos obtener buenos resultados con componentes malos.
Por ejemplo, pongo el sensor en la mesa apuntando al suelo y me da lecturas de 45/50 cm aunque hay veces que sin variar nada me da 60 cm y otras sin motivo me da menos. La lectura real son 67 cm medidos con metro.
El sensor tiene un conversor analógico digital, por lo que el IDE lo alimenta con +5 v y GND y 2 señales digitales son las entradas y salidas con las que se comunica.

sobre el modo de medir por una parte he creado una función que he llamado ultrasonico() que ese encarga mediante una condición if de hacer una medida cada 5 segundos, incluso estoy pensando en poner las tiempo No necesito hacer tantas medidas. Se trata de un deposito que tarda mucho en llenarse y vaciarse de 5 o 6 m de altura.
El valor obtenido es cierto que la mayor parte de las veces es estable y solo unas pocas veces da medidas raras.
He empleado la fórmula de valor móvil pero no me funciona, me da un valor 4 veces más bajo.
También he empleado la librería de  Luis Llamas promedio móvil para estabilizar el valor, pero creo que solo se puede emplear para entradas analógicas no digitales.
Solo amortiguo el resultado si sumo unos cuantos valores y lo divido por el numero de muestras, es decir un valor medio puro y duro pero el ruido afecta al valor medio.
El caso es que no me funciona o no quizás no lo hago bien la formula del valor movil.
Tampoco hay delay. Estoy empleando millis () y condición if para tomar menos lecturas.
por eso quería preguntar por una parte si sabéis si se puede calibrar el Angulo de apertura del sensor o tendría que hacer algún tipo de pieza cónica impresa en 3d para ajustar el angulo de apertura.
Respecto a la sensibilidad, el sensor tiene una resistencia variable en la parte trasera que no se si se debería trastear o menor dejarla asi.
Respecto al algoritmo de medición, respecto al software se supone que emitimos un ultrasonido durante un periodo de 10 microsegundos y después escuchamos el tiempo que tarda en regresar y en función del tiempo se calcula la distancia.
La cosa es que en el software hay 2 parámetros de tiempo de escritura y lectura que al menos yo lo tengo en 10 Microsegundos y no se si hay que tocar.

Pero el primer paso es saber si saber si estoy empleado un buen sensor y o no y no como se puede saber eso.

Este es el sensor que he empleado.

https://www.amazon.es/gp/product/B07J2R2B92/ref=ppx_yo_dt_b_asin_title_o07_s00?ie=UTF8&psc=1 (https://www.amazon.es/gp/product/B07J2R2B92/ref=ppx_yo_dt_b_asin_title_o07_s00?ie=UTF8&psc=1)


ARCELI  DC 5V Módulo de Sensor transductor de medición de Distancia por ultrasonidos Impermeable

Por último decir que tendré que alargar el cable, creo que no debe suponer problemas el alargarlo 5 o 6 metros ya que se trata de señales digitales y bajo consumo.

Un saludo.
Title: Re: Domotizacion de finca.
Post by: surbyte on Oct 21, 2019, 04:05 pm
Quote
Por ejemplo, pongo el sensor en la mesa apuntando al suelo y me da lecturas de 45/50 cm aunque hay veces que sin variar nada me da 60 cm y otras sin motivo me da menos. La lectura real son 67 cm medidos con metro.
Qué sensor?

Si es un sensor ultrasonico no hay nada pero nada que use un ADC. Se envia un pulso y se espera el eco. Se mide el tiempo y como es función de la velocidad del sonido entonces se calcula la distancia como la mitad del tiempo transcurrido teniendo en cuenta la velocidad del sonido por supuesto.

El sensor no es la maravilla pero funciona bien. Si lo tienes algo inclinado rebota por cualquier lado. Si le pones un objeto delante como una placa y la vas desplazando verás que mide correctamente. Ahora si la placa la pones en un angulo que no sea ortogonal a la dirección del sensor ultrasónico (no es 90grados) entonces comenzara a medir mal.

Quote
Se trata de un deposito que tarda mucho en llenarse y vaciarse de 5 o 6 m de altura.
Depende que sensor ultrasónico uses 5 o 6 metros no son medibles por cualquier sensor. Asi que ahi tienes ya un problema.


Quote
ambién he empleado la librería de  Luis Llamas promedio móvil para estabilizar el valor, pero creo que solo se puede emplear para entradas analógicas no digitales.
Solo amortiguo el resultado si sumo unos cuantos valores y lo divido por el numero de muestras, es decir un valor medio puro y duro pero el ruido afecta al valor medio.
El caso es que no me funciona o no quizás no lo hago bien la formula del valor movil.
Esta claro que el promedio funciona cuando tienes valores que tienden a converger en un punto pero si tienes valores dispares, dará cualquier cosa, como lo que obtienes. Simple, no se pueden hacer milagros. Es como si tu vieras a cualquier lado y me dijeras.. hay 30 40 100 mts .. y dime como se que estas mirando? imposible.
Primero tienes que lograr estabilidad en tu lectura. Cómo es el tema.
Quote
Respecto a la sensibilidad, el sensor tiene una resistencia variable en la parte trasera que no se si se debería trastear o menor dejarla asi.
De nuevo, de qué sensor hablas?

Al fin apareció de qué sensor hablas.. No era mas fácil ponerlo al comienzo de la charla, descriptiva.

A ver.. olvida lo anterior porque empecé a suponer un sensor y veo que es otro.

NOTA: los enlaces van con etiquetas. ya te pedí que leas las normas, ahora edita ese enlace por favor
En la descripción que tu mismo pones dice

Distancia más lejana: 4,5 m.
Tiene un código que no es el habitual si mal recuerdo.. había que cambiar algo en un punto del código para que funcione bien.

veré si lo encuentro.
Title: Re: Domotizacion de finca.
Post by: gmclamo on Nov 01, 2019, 11:45 pm
Buenas noches.

Para mejorar la comunicación e ir haciendo pruebas he comprado un Shield ethernet que le conecto al arduino uno que es el receptor y el emisor es un mega.
cada arduino tiene un transreceptor nlf24.
Se comunican perfectamente, pero he querido añadir un shield ethernet al receptor para cablear la salida de datos hacia un swich.
La cosa es que después de muchas pruebas y ver que el Nlf24 con va con el Shield w5100 he investigado y veo que no es compatible el shield y el nlf24 porque el shield emplea el bus SPI, el mismo que el ethernet.

Al fin y al cabo el módulo nlf24 me da igual porque es un medio de hacer pruebas inalámbricas, pero tengo pendiente recibir un LoRA SX1278 y veo que se comunica con el bus SPI , por lo tanto me veo restringido por culpa del Shiel ethernet.
alguna idea de como usar el Shield ethernet y el bus spi para otros dispositivos a la vez?

Un saludo
Title: Re: Domotizacion de finca.
Post by: gmclamo on Nov 04, 2019, 12:31 pm
Bueno, me contesto a mi mismo, por si alguien que llega hasta aqui leyendo se encuentra con el mismo problema.

Segun parece, es posible cambiar el uso de los pines asignados al bus SPI mediante software aunque parece que relentiza el flujo de datos.

Aqui adjunto la fuente.


http://www.luisllamas.es/arduino-spi/ (http://www.luisllamas.es/arduino-spi/)

Tambien he visto dispositivos Lora que utilizan el bus I2C por lo tanto usando esta opcion, no existe conflicto ni relentizacion.

Un saludo.



un saludo,

Title: Re: Domotizacion de finca.
Post by: victorjam on Nov 04, 2019, 02:41 pm
Lo mismo que se hace con el I2C se puede hacer con el SPI. Solo hay una pega, es que se necesita un pin CS (chip select) o SS para cada esclavo del bus.

El arduino ofrece un control hardware sobre el pin que actua de CS, que generalmente usan las librerias que de varios dispositivos.

En el shield ethernet no tengo ni idea, pero la libreria del NRF24 si la he usado y te digo que trae la opción de elegir tu propio pin CS. Así que en teoria si podrías usar ambos modulos en el mismo bus.
Title: Re: Domotizacion de finca.
Post by: surbyte on Nov 05, 2019, 03:09 pm
No se ralentiza en tanto y en cuanto en tu código no uses delay().
No hay razón para que algo demore salvo los tiempos de algunos sensores pero hoy encuentras librerias llamadas non-blocking que ni eso resulta una limitante.

Para dar un ejemplo concreto: el DHT22 es un sensor de temperatura y humedad muy usado pero su consulta demora 2 segundos en la gran mayoría de las librerías salvo 1 o 2 que son NON-BLOCKING o sea no frenan el flujo del programa.

Title: Re: Domotizacion de finca.
Post by: gmclamo on Nov 06, 2019, 12:09 pm
Respecto al tema de la adquisicion de datos, estoy a punto de descartar el medidor ultrasonico por las siguientes razones:

1-Es un sistema que tiene que ser un ultrasonico fiable y con un angulo de apertura correcto y proporcional al diametro del deposito y altura para que la onda ultrasonica solo rebote por el fondo y no por las paredes.

2.- Las olas del flujo de entrada salida pueden afectar a la lectura.


Por todo ello he pensado que voy a usar un trasductor de presion. Aportan un señal fiable y sin oscilaciones. Dan una señal en voltaje proporcional a la altura.

1m.c.a (1 metro de columna de agua ) aprox igual 1 Kg/cm2; 10.2 mca= 1 bar..

Ojo con el diamerto de salida, porque si se acelera mucho la velocidad baja la presion y falsifica la medida. y habria que medir cuando no hay demanda de agua, o corregir la medida o tomar la señal en un punto del fondo del deposito que no se afecte por el flujo de salida.

Por lo tanto en la salida de un deposito se pone un collarin y un transductor de presion, del rango de presion correcto y listo y sin tantas correcciones.
Para un deposito de 6 m de altura se debe emplear un trasductor de 10 PSI aproximandamente.
Lo que desconozco es el comportamiento a largo plazo del transducto con las calcificaciones. Supongo que si esta relleno de silicona o gliceria ayudaran. Tambien ayudara la calidad de los materiales, pero he visto sensores economicos y mas fiables que a traves de ultrasonico.

Cuando tenga decidido uno y lo pruebe pongo el enlace y os cuento.

Saludos.


Title: Re: Domotizacion de finca.
Post by: surbyte on Nov 06, 2019, 03:53 pm
Tienes que usar un sensor de presión diferencial.
Una boca mira la atmósfera y la otra conectada donde has dicho. Asi es como muchos medimos el nivel de tanque. El Ultrasónico funciona cuando es de buena calidad. Mi hermano tiene un sensor Massa M-300 (https://www.massa.com/industrial/ultrasonic-sensors/legacy-ultrasonic-sensors/) que anda muy bien. Yo tmb lo tengo y lo he hecho funcionar aprovechando su salida analógica pero no le he puesto tiempo para medir su salida RS485 que mejora notablemente las lecturas.
Puedes corregir muchas cosas pero como dije es un sensor semi-industrial. Gama media digamos.