Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Necesito comunicarme con DOMUINO desde otro arduino
#1
Dentro de un proyecto mayor, estoy tratando de diseñar un medidor de potencia instantánea que se pueda conectar a DOMUINO. De momento solo lo tengo en la cabeza porque tengo que salvar algún escollo.

Estos son los materaiales con los que lo intento llevar a cabo:

1 Arduino Nano
1 Medidor de voltaje
1 Sonda de corriente. Me gustaría ser capaz de controlar hasta 3 sondas, no se si el Nano será capaz.

Del arduino Nano al nodo DOMUINO no habrá más de 1m de cable, así que quería usar una conexión directa entre ambos.

DOMUINO admite las siguientes entradas:
Digital:  0/1
Analógica: entre 0 y +V.
RF_433MHz: Es en realidad un sensor, que no he conseguido hacer funcionar (por los mandos que tengo).

Arduino NANO dispone de las siguientes salidas:
Digital: 0/1
PWM: Mal llamada analógica, es un tren de impulsos PWM. La frecuencia es de 490Hz para todos los pines, excepto para el 5 y 6 cuya frecuencia es de 980Hz. Ofrece 256 valores distintos de duty cycle.

El problema, es que los arduinos no dan señales analógicas reales que pueda transferir a una entrada de DOMUINO, y tengo que pasar mínimo 3. En realidad quería pasar valores de consumo y exportación de cada sonda, con lo que serían 7 señales. Además, son señales que pueden oscilar mucho y rápido.

Si monto un filro RC a la salida del Nano, puedo convertir el PWM en un voltaje, pero no es estable ya que lleva implicito un rizado. Si usara los pines 5 y 6, a 980Hz, se mejoraría el rizado, y la velocidad de respuesta. Pero seguirían siendo 2 señales y el objetivo mínimo son 3.

Información al respecto para los filtros RC: https://www.luisllamas.es/salida-analogi...paso-bajo/
Cálculo valores filtro paso bajo: https://www.luisllamas.es/calculadora-fi...-bajo-pwm/

Probando parece que 680K y 330nF dan un rizado en el límite de la detección del DAC de arduino, pero el tiempo de respuesta es 0,5s

Puedo montar conversores DAC por I2C. Los que encuentro económicos son de 12 bits, monocanal, y se les puede configurar con solo 2 direcciones I2C, con lo cual sigo estando limitado a 2 señales, en este caso analógicas.

También hay un DAC que no es tan habitual, MCP4728, más caro, pero con 4 canales. Hay una biblioteca que lo controla (Adafruit) y creo que no habrá limitación a montar 2 en el mismo bus para sacar 8 canales analógicos, he revisado la biblioteca y parece que con inicializar con en el begin(0x??) se conecta usando esa dirección 0x??, pero económicamente deja de ser atractivo...

Como se me cierran todas las puertas para dar una solución sencilla y económica, lo ideal sería modificar DOMUINO con alguna una de estas opciones:

1.- Dentro de nodo/instalacion/sensores/sensor, un nuevo tipo "I2C" que almacene las lecturas (1byte, 0-256), en función de la dirección del bus que se le configure a cada una, similar a las sondas DS18b20, en las que ajustas su dirección y te da la temperatura (no será sencillo, será bastante código, además igual hay que modificar la base de datos...).

2.- Habilitar una comunicación RX/TX para que desde fuera se pueda modificar una consigna. Habría que habilitar uno o varios pines para la comunicación. No tengo ni idea de la dificultad que pueda tener, se escapa a mis conocimientos de nivel aficionado.

3.- Dentro de nodo/instalacion/entradas/entrada, un nuevo tipo "PWM" que sea capaz de leer una señal PWM (0-256, o 0-100 como las señales analógicas). Como la señal PWM es nativa en arduino, para enviar datos a DOMUINO bastaría un analogWrite(pin). Yo diría que puede ser lo más sencillo con diferencia. Yo he conseguido leer el PWM de arduino a 480Hz y es bastante sencillo, ya que el propio lenguaje de arduino tiene una orden pulseln().

4.- La más heavy, un mega-sensor con varias señales de entrada para medidor de V y sondas de I (tipo los motorizados), y varios registros de salida (tipo Crepuscular: orto + ocaso), y que haga las operaciones de muestreo y obtención de resultados el propio DOMUINO. Esta opción tiene dos pegas, lo complicado del sensor en si, y el estres que provocamos al nodo para gestionear el muestreo y cálculo, además del resto de funciones propias del nodo, y comunicaciones. Se podría hacer un nodo específico pero también tiene su miga. Y tiene una gran ventaja, para nosotros obviamente, abratando la instalación y simplificando el esquema de montaje al mínimo. Casi que queda descartada, porque en realidad su uso no creo que fuera muy habitual (aunque habrá que ver si el proyecto que tengo en mente lllega a buen puerto...).

La petición, evidentemente es para Almagar y Monly, que tendrían que modificar el código de DOMUINO. En mi opinión la mejor opción es la 3, que es simple de desarrollar y de usar, da mucha flexibilidad, además de poder usar casi tantas entradas como pines tenga el arduino. Y nos daría mucho juego para desarrollar nuevos módulos y sensores con los que ampliar el "ecosistema" de DOMUINO.

Un saludo.
Responder


Mensajes en este tema
Necesito comunicarme con DOMUINO desde otro arduino - por MIBI - 05-23-2020, 03:22 PM

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)