You are on page 1of 29

21/10/2017 Voltímetro con Arduino.

Buscar 

Inicio Electrónica E. Analógica C. E. Digital E. Digital Arduino ESP8266 PIC

TEORÍA Sin categoría Acerca de…

VOLTÍMETRO CON ARDUINO.

VOLTÍMETRO CON LCD.


CREADO POR V. GARCÍA. EN SEPT. 2015.

INTRODUCCIÓN.
Una vez más asumimos que usted tiene un conocimiento básico adecuado de electrónica, de los circuitos
digitales y cómo utilizar un Arduino. Ya que el aprendizaje de la electrónica consiste en un proceso paso a
paso, que comprende tanto el trabajo con los circuitos electrónicos como la programación. Vamos a
necesitar los siguientes componentes:

https://www.hispavila.com/voltimetro-con-arduino/ 1/29
21/10/2017 Voltímetro con Arduino. |

Fig. 1

Una fuente de alimentación que muestre la tensión y la corriente que consume un circuito bajo prueba es
sin duda una fuente que nos proporciona unos datos añadidos que hace más fácil nuestro trabajo, lo cual
no quiere decir que si no dispone de estos instrumentos no sea una fuente de calidad, en absoluto.
Naturalmente que en el caso de disponer de estos elementos de medida, resulta más completa y
compensa la diferencia de coste. Así que, este es el motivo de este artículo. Se trata de disponer de una
pantalla de bajo costo que no muestre la tensión que esta entregando la fuente de alimentación y además
si nos muestra la corriente que consume el circuito, mucho mejor y más completa.

En otro artículo que realicé decía: “Actualmente, gracias a las nuevas tecnologías, tomar una muestra de la
tensión en un punto de un circuito, casi no in uye en el funcionamiento de éste, ya que la alta impedancia
de los circuitos que utilizamos nos hacen fácil este cometido.”

Un voltímetro mide la tensión entre dos puntos de un circuito, y con la electrónica digital actual, podemos
realizar un verdadero voltímetro que podemos instalar en nuestra fuente de alimentación. Los
voltímetros digitales funcionan mediante la conversión del valor analógico leído, a un valor digital
mediante un convertidor analógico a digital (ADC). Nosotros vamos a utilizar un Arduino típico tiene
varios de estos convertidores en él, con una precisión que será su ciente para este cometido, en este
tutorial veremos cómo leer voltajes de entradas analógicas en Arduino y construir un voltímetro que
mide voltajes (DC) en corriente continua.

Por supuesto que lo que nos interesa es medir los parámetros que se generan en la fuente ajustable. Para
ser sincero he dudado en qué tipo de pantalla utilizar, ya que una pantalla del tipo Nokia-5110, quedaba
pequeña para aplicar en una fuente de alimentación que generalmente está de forma estática en el
laboratorio y por lo tanto quizás el tipo Nokia estaría mejor para un voltímetro portátil. Por eso vamos a
utilizar una pantalla del tipo LCD de 2 líneas o en mi caso una de 4 líneas como es el LCD2004A que en la
actualidad al igual que aquella es muy común.

EL ESQUEMA.
El esquema es muy sencillo, ya que se reduce a un divisor de tensión básico el cual constituirá en si mismo
la impedancia de entrada y cuya salida es la tensión que aplicaremos a un pin analógico. El esquema
muestra el divisor ya que el resto no tiene relevancia.

https://www.hispavila.com/voltimetro-con-arduino/ 2/29
21/10/2017 Voltímetro con Arduino. |

Fig. 2

Del esquema podemos extraer unos conceptos importantes para el caso:

El divisor de tensión
Impedancia de entrada
Protección de entrada

CIRCUITO DIVISOR TENSIÓN.


Las entradas analógicas de un Arduino pueden medir hasta 5V (cuando se utiliza la tensión de referencia
analógica incorporada). Incluso cuando sólo se conecta a un circuito de 5V, debe utilizar las resistencias
para ayudar a proteger el Arduino de cortocircuitos o sobrecargas de tensión inesperadas.

Se trata de un sencillo circuito divisor de tensión que consta de dos resistencias (R1 y R2) en serie que, se
encargan de dividir el voltaje de entrada, para adaptarlo a la ventana de tensiones que pueden leer las
entradas analógicas del Arduino (5V).

El divisor entrega una tensión al pin analógico de Arduino que éste convierte en un formato digital que
puede ser procesada por el microcontrolador. En este caso, la tensión entrada después de pasar por el
divisor de tensión descrito (R1 y R2), se aplica al pin A0 (usted puede utilizar otro pin).

El circuito con los valores mostrados para R1 de 1MΩ en serie con R2 de 100KΩ representa  una
impedancia de entrada de 1MΩ + 100kΩ = 1’1M, que reduciendo es  = 11, factor de división que  es
adecuado para la medición de voltajes de DC hasta aproximadamente 55V.

Fig. 3
https://www.hispavila.com/voltimetro-con-arduino/ 3/29
21/10/2017 Voltímetro con Arduino. |

El circuito mostrado divide el voltaje de entrada conectado al pin análogo Arduino, equivalente a la
tensión de entrada dividido por 11, por lo tanto el máximo es de 55V ÷ 11 = 5V, por seguridad daremos un
margen y podemos decir que es un voltímetro para un margen de 0-30V DC.

PRINCIPIOS DE FUNCIONAMIENTO.
IMPEDANCIA DE ENTRADA.
Si un voltímetro tiene una baja impedancia de entrada baja, digamos 10kΩ y se está midiendo un voltaje a
extremos de una resistencia de 10kΩ, el multímetro está cambiando efectivamente el valor de la
resistencia a 5KΩ ( ya que dos resistencias de 10kΩ en paralelo = resistencia 5kΩ). Por consiguiente, el
voltímetro ha cambiado los parámetros del circuito, y realmente, está leyendo una tensión errónea. Esas
dos resistencias forman un divisor de potencial que se utiliza para bajar el voltaje que se mide a un nivel
que Arduino pueda leer, además de ser la impedancia de entrada.

Un conjunto multímetro digital para medir voltaje DC típicamente tendrá una impedancia de entrada de
10MΩ o superior. Esto signi ca que la resistencia entre las dos sondas o terminales del multímetro es de
10MΩ o más.

Así pues, es deseable una alta impedancia de entrada para un voltímetro (o multímetro en la escala de
voltaje). Cuanto mayor impedancia de entrada, menos probable es que el multímetro in uya o cambie lo
que esta midiendo del circuito. Al medir (con un multímetro que tiene una impedancia de entrada de 10
millones de ohmios) el voltaje a extremos de un componente en un circuito, es el mismo que la conexión
de una resistencia de 10MΩ en paralelo con el circuito; no in uye.

Así que, queremos una alta impedancia de entrada en nuestro circuito divisor de tensión, y  que la
impedancia de este “voltímetro” no vaya a in uir en el circuito que se esté bajo prueba.

Sin embargo, como regla general, un dispositivo de alta impedancia de entrada será generalmente
propenso a recoger más ruido o interferencias (EMI) que un dispositivo de baja impedancia de entrada,
por ese motivo se debe adaptar un ltro de paso alto.

La fórmula para calcular los valores en un divisor de tensión es:

Arduino
1 Vout = (R2 / (R1 + R2)) * Vin

Por lo tanto, puesto  que Arduino admite un Vmax de 5V en sus entradas analógicas, si el divisor está
funcionando correctamente, entonces el Vout será de un máximo de 5V, y para poder calcular la tensión
máxima de entrada al circuito usaremos:

Arduino
1 Vmax = 5,0 / (R2 / (R1 + R2))

Nota: Si utiliza resistencias de valores diferentes de los sugeridos aquí, debe recordar de ajustar los
valores de R1 y R2 en el boceto, las resistencias deben ser del 1% de precisión si es posible o mejor. Usted
puede ver una variación de esta expresión utilizada en la rutina de setup() del programa.

VOLTÍMETRO CON ARDUINO


https://www.hispavila.com/voltimetro-con-arduino/ 4/29
21/10/2017 Voltímetro con Arduino. |

Utilizando el monitor Serial para mostrar los valores.

Arduino
1 //
2 // Voltimetro_dc.ino
3 // hispavila.com
4 // Construcción de un voltímetro DC con Arduino
5 // 20.09.2015
6 // Utiliza el monitor Serial para mostrar los valores.
7 //
8  
9 float v1 = 4.98; // valor real de la alimentacion de Arduino, Vcc
10 float r1 = 1000000; // 1M
11 float r2 = 100000; // 100K
12  
13 void setup() {
14 Serial.begin(9600);
15 Serial.println("--------------------");
16 Serial.println("DC VOLTMETER");
17 Serial print("Maximum Voltage: ");

Con todos los cálculos completados, suba el código al Arduino y ya puede ver en el monitor el resultado.
El valor v1 ahora representa la tensión real medida por el circuito, que se envía a la pantalla. Debería ver
algo parecido a la imagen siguiente.

Fig. 4

Por supuesto que los valores de tensión que muestra, están cambiando de un modo que no se ajusta a lo
que desearíamos. Cuando esto ocurre es debido en principio a unos motivos que debemos tener en
cuenta: uno es debido al ADC que tiene Arduino por lo que no podemos hacer demasiadas cosas (también
existe el factor ±1 dígito), otro motivo son las interferencias, para eso podemos dotar de un condensador
cerámico de 10nf a 100nf, y otro motivo que si abordaremos más adelante, es dotar de un ltro de soft
que tienda a reducir estos indeseados cambios.

Ideal          Fig. 5          Ruido

https://www.hispavila.com/voltimetro-con-arduino/ 5/29
21/10/2017 Voltímetro con Arduino. |

Con el mencionado condensador reduciremos en parte los picos que se aprecian en la imagen anterior. De
momento vamos a tener en cuenta los factores que debemos conocer y podemos abordar.

PRECAUCIONES.
Debemos tener en cuenta como alimentamos el Arduino, con baterías o por cable USB, es decir, si lo está
por baterías u otra fuente aislada o por una una fuente a red, en cuyo caso, ambos deben compartir las
tierras, lo que se llama masa común (GND) o una conexión a 0V con el circuito bajo prueba. Si la conexión
de GND del Arduino se conecta a cualquier otra parte del circuito bajo prueba excepto GND, entonces
esto es lo mismo que hacer un cortocircuito de ese punto del circuito a GND.

El GND del Arduino es como el cable negativo o común (COM) de un multímetro, algo que se debe
considerar para ser conectado permanentemente al GND del circuito bajo prueba por seguridad, a menos
que el Arduino o el circuito bajo prueba esté completamente aislado y “ otante”.

PROTECCIÓN DE ENTRADA.
Los valores de resistencia en el diagrama del circuito anterior proporcionan cierta protección contra
sobretensión en la medición de voltajes bajos como 5V, 9V o 12V. Así que, si accidentalmente se mide una
tensión de digamos 30V, no va a estallar el pin de entrada analógica de Arduino.

Cualquier tensión superior a aproximadamente 55V puede dañar el Arduino. El punto de la red de
resistencias divisoras conectada a la patilla analógica del Arduino es equivalente a la tensión de entrada
dividido por 11, por lo que 55V ÷ 11 = 5V. En otras palabras, cuando se miden 55V, el pin analógico de
Arduino estará en su máximo voltaje de 5V.

Proporcionar esta protección básica a sobrecarga de tensión es a expensas de no usar el rango completo
del ADC de 10-bit de entrada analógica si solamente se van a medir voltajes inferiores, pero todavía se
pueden medir los cambios de alrededor de 0.054V.  Tener en cuenta que  en el circuito, no se muestra
ninguna otra protección para los picos de tensión, tensión inversa o voltajes superiores a 55V.

Como se ha mencionado, vamos a procurar un modo de reducir el salto de los valores, por lo que vamos a
introducir una suma de valores y sacaremos la media para utilizar este valor como valor de lectura. Este
es el programa que usaremos.

LECTOR DE TENSIÓN
Lector de tensión, voltímetro versión 2

Arduino
1 // número de muestras analógicas a tomar para la lectura
2 #define NUM_SAMPLES 20
3  
4 int sum = 0;                    // suma de muestras hechas
5 unsigned char sample_count = 0; // numero de la muestra
6 float voltage = 0.0;            // voltaje calculado
7  
8 void setup()
9 {
10     Serial.begin(9600);

https://www.hispavila.com/voltimetro-con-arduino/ 6/29
21/10/2017 Voltímetro con Arduino. |
11 }
12  
13 void loop()
14 {
15     // tomar un número de muestras analógicas y sumarlas
16     while (sample_count < NUM_SAMPLES) {

CÓMO FUNCIONA EL CÓDIGO.


Para medir la tensión en la rutina loop(), utilizamos la función analógica analogRead(0), para leer la
entrada analógica A0 en este caso. El valor que nos devuelve, es un entero dentro del rango de 0 a 1023,
por dicho motivo lo debemos ajustar en la ventana de 0 a 5V que, es el margen de Arduino. Dicho valor
leído lo multiplicamos por el nivel real de alimentación y lo dividimos por 1024.  Proporcionamos algún
tipo de ltrado sencillo, mediante la suma de 10 valores analógicos del pin A0 muestreado a intervalos de
10 ms.

Para una mayor precisión, se toman diez muestras analógicas usando el siguiente código:

while (sample_count <NUM_SAMPLES) {


suma + = analogRead (A0);
sample_count ++;  // incrementa la cuenta
}

El total de los 10 valores sumados, se almacenan en la variable suma. La variable de sample_count sigue la
pista del número de muestras. Ambas variables se restablecen después de calcular y mostrar la tensión:

sample_count = 0;
suma = 0;

El número de muestras tomadas puede ser cambiado en la parte superior del boceto, en: #de ne
NUM_SAMPLES 10. Sin embargo, no haga este valor demasiado alto o la suma de dichas muestras será
demasiado grande para caber en la variable suma.

La tensión la calculamos de la siguiente forma:

voltaje = (( oat) suma / ( oat) NUM_SAMPLES * 5.01) / 1024,0;

Un valor de calibrado se utiliza en lugar de 5,01 en el boceto de arriba (la calibración se detalla  más
adelante).

La suma de las 10 muestras se divide por 10 (NUM_SAMPLES) para obtener el valor medio.

Si 5.0 es la tensión de referencia de 5V ADC. El valor 1024.0 es el valor máximo que el ADC puede tener
más 1 (1023 + 1 o sea, 2 a la potencia de 10 más 1) también se puede utilizar aquí 1023.0. Esto calcula la
tensión dividida, por ejemplo el voltaje en el pin A3.

El voltaje real se calcula multiplicando la tensión leída, por el factor de división de la red del divisor de
tensión (parece lioso), mejor con esta expresión:

Arduino
1 Serial.print (tensión * 11,0);

https://www.hispavila.com/voltimetro-con-arduino/ 7/29
21/10/2017 Voltímetro con Arduino. |

La línea de código anterior calcula la tensión real y luego la envía al puerto serie para mostrar en la
ventana del monitor de serie. El boceto utiliza un valor calibrado en lugar de 11,0 como se muestra arriba.

Tengamos en cuenta que por diferentes razones, se produce un error de medición en este medio de 1,5%.

CALIBRACIÓN DEL CIRCUITO Y ARDUINO.


Podríamos obtener un voltaje más preciso mediante el uso de un voltaje de referencia de precisión para el
ADC y además el uso de resistencias del 1% de tolerancia o mejores. Lo ideal sería un ADC mayor de
10Bits, si está interesado en el tema, puede visitar este sitio.

Veamos como calibrar la tensión ADC de referencia. Tenemos que medir los 5V del regulador del Arduino
(que se encuentra en el pin 5V de Arduino). Este voltaje se utiliza para la tensión de referencia ADC de
forma predeterminada en Arduino.  Cada Arduino tiene un regulador de tensión es probable que  sea
ligeramente diferente para cada Arduino, debe ser calibrado de forma individual. Ahora pongamos el
valor real medido 4.976V en el boceto de la siguiente manera.

Arduino
1 voltaje = ((float) suma / (float) NUM_SAMPLES * 4.976) / 1024,0;

En el ejemplo anterior, el voltaje medido en el pin de 5V Arduino era 4.976V.

Otra forma de obtener una lectura más precisa es calibrar el circuito. La calibración se puede realizar
midiendo el valor real de la tensión de referencia y los valores reales de las resistencias del divisor de
tensión. Estos valores pueden entonces ser utilizados en los cálculos en el código del boceto Arduino.

Conecte una fuente de alimentación estable, tal como una batería de 9V a través de la red de resistencias
R1 y R2. Mida el voltaje a extremos  de las dos resistencias conectadas a la batería, es decir, medir el
voltaje de la batería. Ahora, mida el voltaje a extremos del resistor (R2) de 100kΩ es decir, entre el pin A0
(en Arduino) y GND.

El factor divisor de tensión se calcula dividiendo la tensión tomada a extremos de R1÷R2 por la tensión en
A0 o sea:

Arduino
1 factor de división = tensión de entrada ÷ tensión de salida

Por ejemplo, si la entrada de voltaje medido es 10.02V y la salida (voltaje en el pin A0) es 0.91V, entonces
el factor de división es:

Arduino
1 10.02 ÷ 0.91 = 11,011

Ahora, usaremos este valor en el código del boceto Arduino:

Arduino
1 Serial.print (tensión * 11.011);

Si se utiliza la calibración, luego se pueden utilizar resistencias de tolerancia 5%, para el divisor de
tensión.

https://www.hispavila.com/voltimetro-con-arduino/ 8/29
21/10/2017 Voltímetro con Arduino. |

Si cuando comparamos las lecturas de la pantalla LCD con las del Voltímetro digital de laboratorio, éstas
no coinciden, no nos inquietemos, tomemos el multímetro digital de precisión y comprobemos la
alimentación de 5V entre los pines 5V y GND de la placa Arduino. Podría ser que debido al USB, nos de
menos (por ejemplo 4.98V), en ese caso, sustituyamos dicho valor del Vout = (valor * 5.0) / 1024.0 en el
código del boceto (es decir, sustituir el valor 5.0, al de la lectura Vcc real, en este caso 4.98V). Además,
tratemos siempre de usar resistencias de precisión del 1% de tolerancia para las resistencias R1 y R2.

Arduino
1 float v1 = 4.98;  // valor real de la alimentación de Arduino, y no 5V

Como ya se ha dicho, los valores de las resistencias (R1 y R2) en el diagrama del circuito, proporcionan
cierta protección contra sobretensiones y puede medir voltajes bajos. Tenga en cuenta que cualquier
tensión de entrada superior a aproximadamente 55V podría freír el Arduino. Sin incorporar otro tipo de
protección en este circuito contra picos de tensión, tensiones inversas o voltajes más altos.

MEJORAR EL VOLTÍMETRO.
El voltímetro que se ha presentado aquí es muy básico lo cual da un amplio margen para mejoras, como
pueden ser: varias escalas para diferentes alcances, añadir una pantalla LCD que nos informe de los
distintos valores de la tensión que está entregando en un momento dado, otra posibilidad es realizar el
mismo proyecto en una pastilla más pequeña en lugar de usar el típico Arduino.

Como se ha dicho son varias las posibilidades de mejora, de modo que aquí sólo veremos alguna de esas
opciones. Este es un ejemplo del código que vamos a probar.

VOLTÍMETRO DC.
Código de ejemplo para visualizar el voltaje, versión 3.

Arduino
1 //
2 // Voltimetro_dc.ino
3 // hispavila.com
4 // Construcción de un voltímetro Arduino DC
5 // 20.09.2015
6 //
7  
8 // include the library code:
9 #include   //Fire up the library LiquidCrystal.h
10  
11 // initializamos la librería con los de pines de la interface
12 //LCD: (RS, E,D4,D5,D6,D7)
13 LiquidCrystal lcd(8, 7, 6, 5, 4, 3); //
14  
15 #define NUMREADINGS 20 //10 los valores para leer
16  
17 int readings[NUMREADINGS]; //Las lecturas de la entrada analógica

Con este ejemplo se ha mejorado algunas cosas, como se describe en el propio listado. Un paso
importante es haber puesto a 0 la matriz readings[i], esto es una buena práctica ya que asegura la
igualdad de valores. Otro punto es que dentro del loop(), como indica el comentario, se ha reducido una
lectura total -= readings[index]; la última del bucle. Y por último, se ha realizado un bucle de 20 pasos para
reducir los molestos incrementos de las cuentas hasta que se estabilizan.
https://www.hispavila.com/voltimetro-con-arduino/ 9/29
21/10/2017 Voltímetro con Arduino. |

En el párrafo anterior se han descrito unas mejoras que han servido para dar un aspecto más acabado a
nuestro voltímetro. En los comentarios se da una idea del porque de cada rutina.

Voltimetrov1 0

Fig. 6
ANEXO 1.
Debido a las consultas recibidas para mejorar el código que se muestra más arriba, he tenido que revisar
con atención y realizar un nuevo código que satisfaga las necesidades de los que se han decidido a
construir un voltímetro con un LCD, así que sin más preámbulos, presento el código.

Arduino
1 /*
2  
3 Un circuito útil para los amantes y los experimentadores Arduino.
4 Es un simple voltímetro digital, que puede medir con los valores de las R1 y R2
5 con seguridad voltajes de corriente continua de entrada en el rango de 0 a 55V,
6 aunque para más seguridad sería conveniente no rebasar los 30V.
7 funciona bien 05.08.2016
8 */
9 #include <LiquidCrystal.h> // lib. LiquidCrystal.h
10 // LCD:..........RS,E,D4,D5,D6,D7)
11 LiquidCrystal lcd(8,7, 6, 5, 4, 3); //
12  
13 int analogInput = A0;
14 float vout = 0.0;
15 float vin = 0.0;
16 float R1 = 100000; // resistance of R1  -see text!
17 float R2 = 10000; // resistance of R2 -see text!

Si usted decide realizar este montaje tendrá la satisfacción de conseguir un voltímetro con muy buenas
prestaciones.

Otras posibilidades.

Aunque no vamos a realizar un voltímetro para corriente alterna, si quiero dar una orientación para los
que estén interesados en el tema. Para medir AC, en un voltímetro sin grandes pretensiones, como el
estudiado más arriba, yo elegiría insertar un diodo entre la unión de las dos resistencias (ánodo) y el
cátodo a la entrada de Arduino, con un condensador de bajo valor entre la entrada analógica y tierra,
como se aprecia en la imagen que sigue:

https://www.hispavila.com/voltimetro-con-arduino/ 10/29
21/10/2017 Voltímetro con Arduino. |

Fig. 7

Suponiendo que la impedancia de entrada es razonablemente alta, incluso un pequeño condensador de


10nF, permitiría que el pico de voltaje AC a través del condensador pueda alcanzar la tierra. Utilice los
cálculos originales R1 / R2 para el rango de tensión apropiado, pero no se olvide de la caída de tensión
directa (0.65V) a través del diodo. A ser posible, utilice un diodo Shottky para reducir esta a 0.3V, si está
tratando bajos voltajes.

Estoy preparando un nuevo artículo como ampliación del tema. Esto es todo por este momento, espero
poder presentar una nuevo artículo más completo pronto.

Ayúdenos a mantener la comunidad en lo positivo y útil.


Sobre el tema, sea respetuoso con todas las edades y niveles
con la habitual responsabilidad.
Sea amable y no haga Spam – ¡Gracias!.

V. Garcia 2015-10-07 Ardduino, Micros, Voltímetro con Arduino 32 comentarios

← El sensor MPU-6050. Sensor de corriente ACS712. →

32 PENSAMIENTOS EN “VOLTÍMETRO CON ARDUINO.”


Pedro Tovar
2016-02-19 a las 11:53 pm
Enlace permanente

Excelente trabajo

Inicia sesión para responder

Karen isabel
2016-06-04 a las 1:56 pm
Enlace permanente
https://www.hispavila.com/voltimetro-con-arduino/ 11/29
21/10/2017 Voltímetro con Arduino. |

hola me interesa el armado q hace,pero me gustaría saber la conexión del display al arduino q
pines debo utilizar? No lo detalla ahí sí me podría facilitar algo más detallado por favor 

Inicia sesión para responder

hispavila Autor
2016-06-05 a las 2:07 pm
Enlace permanente

Hola Karen Isabel

Tienes toda la razón, no he mostrado el conexionado de la pantalla LCD y eso es debido a que el
proyecto no está aún terminado.

El caso es que la conexión del LCD puede ser usando un I2C con cuatro hilos o con los seis
habituales que se usan en cualquier montaje mostrado en otros artículos.

Ese es el motivo por el que no puse dicho conexionado. En la gura 2, tienes un esbozo de como
se puede hacer. El siguiente es un esquema de las conexiones previstas (no lo he probado
todavía), estaba previsto usar un Attiny2313 y creo que con un Attiny85 sería posible.

https://www.hispavila.com/voltimetro-con-arduino/ 12/29
21/10/2017 Voltímetro con Arduino. |

Espero que te sirva entre tanto termino el proyecto.

Inicia sesión para responder

Amy Velasco
2016-06-06 a las 10:53 am
Enlace permanente

Hola, estoy interesada en realizar este proyecto, quisiera saber como serian las conexiones si
usare un I2C y si la programacion cambiaria, la verdad no soy muy buena en programacion. Por
otra parte eh leido el comentario de arriba y veo que menciona el uso de un Attiny2313, esto
para que se usaria. Y  a que se re ere con que no ha probado aun el anttiny. Quisiera saber si
podria respondar mas dudas que tengo sobre el proyecto,

Inicia sesión para responder

hispavila Autor
2016-06-06 a las 12:33 pm
Enlace permanente

Hola Amy Velasco.


Me parece bien que te interese el proyecto del voltímetro. El tema trata de poder intercalar
un voltímetro en una fuente de alimentación, la cuestión se ha ido extendiendo por
comentarios de todas partes y he pensado en ampliar el proyecto añadiendo un
amperímetro, ya que haría más completo el proyecto. Alguno ha pedido que muestre los
vatios (W) que se representan en la salida, claro que en algún momento he de poner n al
proyecto.

Por otra parte me preguntas por el I2C; se trata de un sistema de comunicación con dos hilos
que para más detalle puedes leer en este enlace
“http://hispavila.com/total/3ds/atmega/intro_i2c.html”, además te interesa saber que es el
Attiny2313; se trata de unos microcontroladores muy pequeños que permiten realizar
algunas tareas por sí solos ya que son más económicos a la hora de realizar ciertos proyectos,
el haber cambiado de tipo al Attiny85 es debido a que siendo más pequeño creo que me
permite realizar el mismo proyecto en un espacio menor.

En cuanto a si puedes consultar, no hay inconveniente, si puedo ayudar siempre estoy


dispuesto.

Espero haber dado respuesta a tus consultas.

https://www.hispavila.com/voltimetro-con-arduino/ 13/29
21/10/2017 Voltímetro con Arduino. |

Inicia sesión para responder

Santiago
2016-06-15 a las 8:46 pm
Enlace permanente

Hola, muy buenas, tengo varias dudas, si fuera tan amable de resolverlas le estaría agradecido:

He realizado la primera versión, es decir, utilizado el monitor serial para visualizar los valores.

En primer lugar, ud. divide el producto de v1 por el valor analógico A0, entre 1024, ¿Que
signi ca ese valor?
En segundo lugar, estoy midiendo una pila de 1.5V y en pantalla el resultado que me da es de
17,54V, y no logro averiguar por que.
En el ejemplo que usted muestra en el caso 1(se ven valores de 4.92V…), ¿Que es lo que se ha
medido?.

Muchas gracias de antemano.

Inicia sesión para responder

hispavila Autor
2016-06-16 a las 11:05 am
Enlace permanente

Hola Santiago.

Voy a intentar responder tus dudas.

El conversor A/D de Arduino, es de 10Bits, esto en pocas palabras es que, para convertir un
valor analógico a digital, lo que hace es dividir el máximo valor por 1024 pasos, de modo que 0V
equivale a 0(pasos) y 5V (que es el máximo que puede leer Arduino) equivale a 1024 (pasos) ,
para mayor aclaración debes consultar en google ):

A tu segunda consulta no tengo su ciente información, pero todo apunta a que tienes alguna
operación descontrolada, revisa tus operaciones y los paréntesis (suelen pasar dar malos
resultados) o puede que el valor de tus resistencias no sea el adecuado.

En cuanto al valor de 4’98V que aparece en el código, se re ere a la tensión real del Arduino
que, en teoría debería ser 5V. Luego todos los valores que se realizan en las operaciones se ven
in uenciados por este valor. Si te re eres al valor mesurado de 4’92 que se muestra en la

https://www.hispavila.com/voltimetro-con-arduino/ 14/29
21/10/2017 Voltímetro con Arduino. |

imagen del monitor Serial, es la tensión mesurada en un paquete de pilas alcalinas viejas que
tenía en ese momento.

Espero haber respondido a tus preguntas.

Saludos.

Inicia sesión para responder

Marco
2016-06-23 a las 6:04 am
Enlace permanente

buenas queria saber de que manera puedo hacer para que el voltimetro mida tambien voltajes
negativos  gracias

Inicia sesión para responder

Marc
2016-06-26 a las 10:29 pm
Enlace permanente

Hola,

Muy buen trabajo, felicidades!

De momento solo he leído el proyecto, intentaré llevar-lo a cabo en breve. Pero tengo algunas
dudas.

Me interesa medir el voltaje de baterias de coche (12V , 90A), me puede servir?

Si arduino solo lee de 0 a 5 V, luego hago una proporción para saber el voltaje?

Saludos,

Muchas gràcias

Inicia sesión para responder

hispavila Autor
2016-06-26 a las 11:06 pm
Enlace permanente
https://www.hispavila.com/voltimetro-con-arduino/ 15/29
21/10/2017 Voltímetro con Arduino. |

Hola Marc.

Gracias por tus palabras. Respecto de tu consulta; 1) la tensión máxima que puede medir el
voltímetro es una relación directa de los valores de R1 y R2, esto lo puedes veri car en el
código donde dice:

Serial.println("DC VOLTMETER");

Serial.print("Maximum Voltage: ");

Serial.print((int)(v1 / (r2 / (r1 + r2))));

Es decir, que con los valores del código, claramente puede llegar hasta los 50V.
En cuanto a tu segunda pregunta, creo que es cuestión de que debes leer el artículo con más
atención. Se trata de un divisor de tensión formado por R1 y R2, a cuyos extremos
aplicaremos la tensión que queremos mesurar y el propio divisor hace lo que tu llamas “la
proporción” (disculpa, sin ánimo de ofender).

Espero haber aclarado tus dudas, si necesitas más aclaraciones estoy a la espera de poder
ayudarte.

Saludos.

Inicia sesión para responder

Dani
2016-07-18 a las 1:19 pm
Enlace permanente

Hola:

A ver si me puedes ayudar. Quiero medir el voltaje de una batería y a la vez el voltaje de un panel
fotovoltaico. El problema que me estoy encontrando es que no puedo medir los dos a la vez por
que se cruzan por estar conectados ambos a un regulador solar.

Probé a poner unos diodos pero no me ha funcionado.

Te paso una imagen de la conexiones

https://www.hispavila.com/voltimetro-con-arduino/ 16/29
21/10/2017 Voltímetro con Arduino. |

http://nergiza.com/foro/attachments/a20160712_solar_bb-png.262/

También hice la consulta allí pero se ve que nadie sabe como solucionarlo.

http://nergiza.com/foro/threads/medir-voltages-sistema-fotovoltaico-con-arduino.820/

¿Se te ocurre como puedo hacer?

Inicia sesión para responder

hispavila Autor
2016-07-18 a las 5:54 pm
Enlace permanente

Hola Dani.

Por el esquema/circuito que adjuntas, puede que explique los problemas que tienes.

https://www.hispavila.com/voltimetro-con-arduino/ 17/29
21/10/2017 Voltímetro con Arduino. |

En primer lugar, las masas no están unidas y eso es un nido de problemas que ya puedes
imaginar.
Por otra parte y en principio, no son necesarios los electrolíticos, ya que enmascaran las
medidas.
Los reguladores, no comprendo que has dibujado, ya que supongo que deben regular Reg1 la
tensión
del panel a la batería y entonces el Reg2 que función hace?

En principio debes unir todas las masas, y diré más ya que pueden llevar altos amperajes
todas unidas
en un mismo punto, si es posible. Algo parecido a esto:

Inicia sesión para responder

Dani
2016-07-22 a las 4:15 pm
Enlace permanente

Hola:
sólo tengo un regulador, es como este:

https://chilesale.cl/wp-content/uploads/2015/07/Controlador-regulador-solar-30a-
chilesale-a1.jpg
Sobre el esquema, a ver si entendí bien, sería algo como esto?
https://s32.postimg.org/kjgpwf34l/a20160712_solar_erro_bb_03.png

https://www.hispavila.com/voltimetro-con-arduino/ 18/29
21/10/2017 Voltímetro con Arduino. |

Inicia sesión para responder

hispavila Autor
2016-07-22 a las 4:56 pm
Enlace permanente

Hola Dani.

Desconozco es regulador, aunque es de relativa importancia. El siguiente es una


adaptación del circuito que tu comentas.

https://www.hispavila.com/voltimetro-con-arduino/ 19/29
21/10/2017 Voltímetro con Arduino. |

Espero te sirva de orientación. Volt. 1 mide la tensión de batería y Volt. 2 mide la


tensión del panel. Fíjate que todas las masas son la misma y están cada una en su sitio
(en tu circuito algunas masas no conectan con nada, sobre todo la resistencia de 10K).

Saludos de Vicente.

Dani
2016-07-23 a las 5:38 pm
Enlace permanente

Muchas gracias Vicente!


El regulador en un aparato que gestiona la carga de la batería con los paneles solares.
Se encarga de dejar de cargar la batería cuando ya está cargada y tambien evitar que se
descargue más de la cuenta.
Un detalle, en tú esquema, como se llama el componente une los positivos de la placa y
la batería? (el de 3 patas).
Muchas gracias nuevamente.

https://www.hispavila.com/voltimetro-con-arduino/ 20/29
21/10/2017 Voltímetro con Arduino. |

Omar J Gomez V
2016-07-21 a las 8:49 pm
Enlace permanente

Buenas Amigo hispavila muy buen proyecto Saludos desde Venezuela, Edo Tachira.

Quisiera aprovechar y preguntarte lo siguiente.

Actualmente estoy trabando en un proyecto y necesito leer voltajes AC desde 0 hasta 300 V en
AC es para saber si hay algún tipo de metodo en crear un sensor que lo pueda conectar al
Arduino. Seria algo de 300V AC a 5V DC asi poder utilizar la entrada analogica con esos valores
y crear un Voltimetro AC desde 0 a 300v ac. Seria de mucha ayuda alguna sugerencia.

Muchas Gracias Amigo

Inicia sesión para responder

hispavila Autor
2016-07-22 a las 11:20 am
Enlace permanente

Hola amigo Omar.

En primer lugar te diré que leído tu consulta un par de veces y no veo que indiques que no
puedas
disponer de un par de escalas de tensión, porque no?. Entonces, partiendo de que
utilizaríamos
dos escalas; una de 0V a 150V y una segunda de 150V a 300V.

Para tensiones continuas, salvo error u omisión tendríamos:


Para la primera escala.

https://www.hispavila.com/voltimetro-con-arduino/ 21/29
21/10/2017 Voltímetro con Arduino. |

Esto es orientativo, ya que tu hablas de tensiones alternas, lo que tendrás que considerar.

Espero te sirva.

Saludos de Vicente.

Inicia sesión para responder

hispavila Autor
2016-07-23 a las 6:22 pm
Enlace permanente

https://www.hispavila.com/voltimetro-con-arduino/ 22/29
21/10/2017 Voltímetro con Arduino. |

Hola Dani.

Ese componente es el propio regulador.

Saludos.

Inicia sesión para responder

Smithd413
2016-08-17 a las 7:59 pm
Enlace permanente

I have recently started a web site, the info you provide on this site has helped me greatly. Thank
you for all of your time &amp work. There can be no real freedom without the freedom to fail. by
Erich Fromm.

Inicia sesión para responder

Pedro Cacho
2016-08-29 a las 11:06 pm
Enlace permanente

hola amigo buenas tardes.


// número de muestras analógicas a tomar para la lectura
#de ne NUM_SAMPLES 20

int sum = 0; // suma de muestras hechas


unsigned char sample_count = 0; // numero de la muestra
oat voltage = 0.0; // voltaje calculado

void setup()
{
Serial.begin(9600);
}

void loop()
{
// tomar un número de muestras analógicas y sumarlas
while (sample_count < NUM_SAMPLES) {
sum += analogRead(A0);
https://www.hispavila.com/voltimetro-con-arduino/ 23/29
21/10/2017 Voltímetro con Arduino. |

sample_count++;
delay(10);
}
// calcular la tensión de utilizar 5,0 para una tensión 5.0V
// ADC de referencia
// 5.015V es la tensión de referencia calibrada

voltage = (( oat)sum / ( oat)NUM_SAMPLES * 5.015) / 1024.0;


// Envia voltaje para su visualización en tensión Serial Monitor
// multiplicado por 11 cuando se utiliza divisor de tensión que
// divide por 11.
// 11.132 es el valor calibrado del división de tensión

Serial.print(voltage * 11.132);
Serial.println (" V");
sample_count = 0;
sum = 0;
}

este codigo que pusiste solo me arroja 0.9 ,0.8 de una pila de 9v

Inicia sesión para responder

admin Autor
2016-08-31 a las 8:52 pm
Enlace permanente

Hola Pedro Cacho


Es posible que tengas razón. Las resistencias del divisor tiene mucho que ver con los valores
leídos y por otra parte el código se puede mejorar, piensa que es un boceto orientativo. Estoy
trazando un nuevo código y tal vez en un par de días lo pueda subir.
Siento que los valores obtenidos no estén dentro de lo esperado. Trata de mejorar el código,
sería interesante ya que te ayudaría a comprender mejor el programa.

Saludos.

Inicia sesión para responder

Fernando Ruiz
2016-09-01 a las 6:26 pm
Enlace permanente

https://www.hispavila.com/voltimetro-con-arduino/ 24/29
21/10/2017 Voltímetro con Arduino. |

Hola buen día, estoy tratando de hacer un circuito que haga el monitoreo de la red eléctrica
(110/200) y ver los cambios en los niveles de voltaje ya sea utilizando arduino o un FPGA, ¿este
circuito funcionaría?

Inicia sesión para responder

admin Autor
2016-09-14 a las 11:10 am
Enlace permanente

Hola Fernando Ruiz.

El circuito básicamente te sirve, en cualquier caso debes poner atención en el divisor de


tensión ya que debes realizar los cálculos para la tensión máxima o algo más en el caso de la
tensión de red, yo lo haría sobre los 240V.

Por otra parte tienes que tener en cuenta que vas a medir tensiones alternas y el
microprocesador directamente no admite tensiones alternas, con lo que, tendrás que
recti car y ltrar dichas tensiones, también debes ltrar el ruido eléctrico de la red.

Quizás deberías utilizar la tensión alterna procedente del divisor, recti candola y
reduciéndola ya que al recti car y ltrar aumenta por 1.4142 (√2).

En de nitiva, si puedes hacerlo.

Saludos

Inicia sesión para responder

Ann
2016-09-21 a las 12:13 pm
Enlace permanente

Very nice article:-). Best regards to author

Inicia sesión para responder

admin Autor
2016-09-22 a las 10:38 pm
Enlace permanente
https://www.hispavila.com/voltimetro-con-arduino/ 25/29
21/10/2017 Voltímetro con Arduino. |

Thank you Ann

Inicia sesión para responder

Ivan
2016-10-08 a las 1:32 am
Enlace permanente

Disculpa …. Detecta la polaridad?

Inicia sesión para responder

Nacho
2016-11-15 a las 2:53 pm
Enlace permanente

Hola

Quería saber que signi caba sampleBVal en Anexo 1 la 37, que luego lo utiliza en la funcion
sampleBVal = sampleBVal + val

Inicia sesión para responder

admin Autor
2016-11-19 a las 10:34 am
Enlace permanente

Hola Nacho, en respuesta a tu consulta te diré que:

Para aplicar un valor a una variable (en este caso sampleBVal), primero declaramos la
variable sampleBVal, en la cual depositamos el valor leído.

https://www.hispavila.com/voltimetro-con-arduino/ 26/29
21/10/2017 Voltímetro con Arduino. |

Las variables pueden ser globales, las cuales las pueden ‘ver’ todas las funciones del
programa y las variable locales que tan sólo se utilizan en la función en la que se haya
declarado.

En concreto sampleBVal quiere decir ‘muestra batería valor’ es castellano sería, muestra
valor batería.

Inicia sesión para responder

David
2016-11-22 a las 1:42 pm
Enlace permanente

Magni co, creo que lo usaré para controlar unas baterías. Mil gracias

Inicia sesión para responder

admin Autor
2016-11-24 a las 4:22 pm
Enlace permanente

Hola David.

Esa era la primera idea de este artículo. Me alegra que te sirva.

Inicia sesión para responder

franco chacon
2016-12-10 a las 7:38 pm
Enlace permanente

Hola muy buen post lo eh realizado y noto un problema al momento de realizar mediciones
pequeñas por ejemplo pilas AA o AAA al medir con el mulltimetro me marca 1.3V y al usar el
arduino me marca 1.1V es muy pequeña la diferencia pero pues se pierde presicion, y este
problema desaparece en mediciones mayores a 5V donde la presicion es casi del 98% , a que se
puede deber esa diferencia de lecturas?

Inicia sesión para responder

https://www.hispavila.com/voltimetro-con-arduino/ 27/29
21/10/2017 Voltímetro con Arduino. |

admin Autor
2016-12-13 a las 8:34 am
Enlace permanente

Hola Franco Chacon


Es posible que se produzca un desvío de unos mV, debido a factores como ajustes de la
formula a tu montaje sin embargo, ese desvío debería ser similar en toda la escala, es decir, si
tu escala de tensión máxima es de 20V, el desvío debe ser aproximadamente igual en toda la
escala. Si quieres hacer una prueba, considera realizar la formula para una escala menor, por
ejemplo, 0 a 10V en esa escala puedes ajustar mejor las tensiones leídas, luego amplías la
escala hasta los 15V y comparas los desvíos tratando entonces de ajustar denuevo la
formula. De esta manera llegarás a un ajuste que te será de mayor precisión, pues, en muchas
ocasiones el factor que más in uye es la propia escala que es muy amplia, piensa que el
convertidor AD de Arduino es muy sencillo y la precisión es relativa a este convertidor.

Espero que te sirva esta aclaración y te ayude a mejorar tu voltímetro.

Un saludo.

Inicia sesión para responder

DEJA UN COMENTARIO

Disculpa, debes iniciar sesión para escribir un comentario.

La sensibilidad en el Aprende lo que puedas y


hombre, es una cualidad
META enseña lo que sepas.
que hay que cultivar, para Aprender no es algo que te
apreciar la belleza que Acceder pasa, es algo que haces. Lo
contienen la música, la RSS de las entradas que es más, es algo que
pintura, una obra literaria, haces todo el tiempo, si
RSS de los comentarios
el teatro o la naturaleza. En estás preparado para ello.
de nitiva el ARTE. by WordPress.org El conocimiento es
Vicente García. 28.09.2014 patrimonio de TODOS.

La ciencia es más que un


cuerpo de conocimiento es
una manera de pensar. Una

https://www.hispavila.com/voltimetro-con-arduino/ 28/29
21/10/2017 Voltímetro con Arduino. |

manera de interrogar
escépticamente al universo.
Carl Sagan

Copyright © 2017 . Potenciado por WordPress Tema: Spacious por


ThemeGrill.

https://www.hispavila.com/voltimetro-con-arduino/ 29/29

You might also like