Existen una gran cantidad de tutoriales de medicion voltaje DC con Arduino, en este caso he encontrado un tutorial que considero el mejor método funcional para medir DC sin requerir ingresar valores de resistencia, solo se requiere algunas resistencia y un multimetro, En proximos tutoriales iniciaremos con paneles solares y necesitamos medir VDC en largos periodos.
El código fue tomado de startingelectronics.org del articulo Measuring DC Voltage using Arduino gracias por el gran aporte.
Fuente: Measuring DC Voltage using Arduino
Hemos realizado algunas modificaciones pero y adicionamos una visualización y el resultado fue muy bueno!!
Nuestro arduino mide el voltaje en la bateria y trasmite via serial a Node-RED.
Tutoriales: recomendados Emoncms
Materiales
1 Resistencia 1MOhm, recomiendo al 1% tolerancia.
1 Resistencia 100K o 2 de 200K en paralelo, recomiendo al 1% tolerancia.
1 Multimetro
Mediremos : Bateria Acida 6V 1.2Ah
Video Completo Explicado
Funcionamiento
Tomando como base el método de medición del multimetro, el cual utiliza una gran resistencia para medir voltaje y que el instrumento de medición no afecte la medida en el circuito.
Dado que el ADC de Arduino Mega 2560 R3 en este caso permite maximo 5v, se requiere un divisor de tensión entre 1MOhm y 100k.
Conexiones
Montaje
Nota: Respertar las polaridades del circuito, en este caso de conectar mal a la bateria dañaria el ADC de arduino.
Node-RED
Dado que en esta oportunidad realizaremos una prueba a nivel red local, la plataforma por excelencia para realizar pruebas en «tiempo real» y visualizar datos Node-Red, arrastrando nodos y conectando tendremos una aplicación de monitoreo rápida,
Tutorial Recomendado Node-RED
Utilizaremos los Nodos:
- Nodo de puertos Seriales, estos permitirán la comunicación punto a punto vía serial Arduino PC(Node-RED).
- Nodos de Node-RED Dashboard, Permite una variedad de nodos Widgets para crear visualizaciones espectaculares.
Configuracion Nodo chart (Node-RED Dashboard)
Con unas pocas configuraciones podemos crear una gráfica para visualizar en nuestros datos.
Configuracion Nodo Serial Port (Puerto serial)
Con unas pocas configuraciones podemos recibir datos vias serial facilmente , configurando el puerto asociado.
En mi caso Puerto serial en linux Arduino MEGA 2560 : ACM0
Velocidad 9600 Bauds 8bits None 1bit
Tutorial Recomendado: Habilitar puertos seriales en linux
Node-RED Dashboard
Hemos utilizado estos nodos en variedad de aplicaciones anteriores, permitiendo no solo monitorizar y también controlar, en este caso hemos utilizado los widgets Chart y Gauge.
Permite visualizar en «tiempo real «desde PC o dispositivo portátil conectado a la red local.
Codigo Arduino IDE
Nota: Descargas al final del post
Técnicamente el código realiza lo siguiente:
1 Toma 10 muestras del valor del canal ADC.
2 Calcula el voltaje teniendo en cuenta un valor de referencia el cual es el voltaje de alimentación 4.74 en mi caso con el multimetro he realizado la medición.
3 El voltaje resultado anterior se multiplica por un factor, el cual es se determina calculando realizando la siguiente calibración.
Calibración
Para que la medida sea correcta se recomienda realizar la calibracion utilizando un multimetro y tomar las siguientes medidas y modificar los valores en el codigo Arduino IDE.
1- Medir voltaje de pin +5v o la salida del regulador de arduino MEGA en mi caso el multimetro indica 4.73v.
2. Medir voltaje de la bateria, que sera nuestra referencia en mi caso el multimetro indica 6.31v.
3. Medir voltaje en divisor de Tension o tecnicamente a la entrada del ADC de arduino en mi caso el multimetro indica 0.53v o 0.56v
4.Por ultimo realizar con los 2 valores anteriores el siguiente calculo del factor de voltaje.
CALCULO 6.31 /0.56= 11.9056
factor 11.9056
- editar los valores al codigo Arduino IDE, con sus propias mediciones y listo.
- adicionamos un variable offset_tester en caso de ajustar +/- un poco la medición, opcional.
Conclusiones y Recomendaciones
Dirían que es imposible pero durante mucho tiempo busque un tutorial para medir Voltaje DC de una manera eficiente y mejor sustentada en código y sobre todo funcional agradecimiento total a startingelectronics.org por este aporte.
En la mayoría de tutoriales requieren ingresar el valor de las resistencia, y sus versiones son poco funcionales referente a mediciones en aplicaciones un poco mas realistas o en proyectos reales.
Dado que en próximos tutoriales utilizaremos un panel solar 10w esta aplicación de medición es perfecta para esos casos.
Considero que una de las ventajas este método no afectara la medición dado la alta impedancia similar al los multimetros.
Nota: en Measuring DC Voltage using Arduino se menciona que este circuito permite maximo mediciones hasta 50 VDC, no lo garantizo dado que no lo he probado mucho cuidado y supongo que con resistencias de 1w quizás.
Recomendación: en este caso he utilizado 5% tolerancia y el resultado fue bueno pero si se requiere mejor medición o presicion utilizar resistencia 1% de tolerancia.
Donde Adquirir Arduino
Descargas
Referencias
Measuring DC Voltage using Arduino
Tutoriales Node-RED