TAREA 1 IMPLEMENTACIÓN DE UN VOLTÍMETRO DC (RANGO: 0-33 VCC APROX)

Dependencies:   mbed I2CLCD TextLCD

Implementación de un Voltímetro Digital para voltajes DC (Rango : 0-33Vcc Aprox) utilizando STM32 y Pantalla LCD

Se trata de disponer de una pantalla de bajo costo que nos muestre la tensión que está entregando la fuente de alimentación:

Vamos a necesitar los siguientes componentes:

R1=1Mohms - R2=100kOhms 1 Microcontrolador STM32F407 Una pantalla LCD de 20 Espacios X 4 Filas con controlador

Los voltímetros digitales operan 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 micro STM32 que tiene varios de estos convertidores en él, con una precisión que será suficientemente precisa para este cometido, en este tutorial veremos cómo leer voltajes de entradas analógicas en el micro y construir un voltímetro que mide voltajes DC.

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 (R1) y cuya salida es la tensión que aplicaremos a un pin analógico (PB_0 escogido en nuestro caso) . En la figura siguiente se muestra el divisor de tensión a implementar con sus respectivas conexiones para una pantalla sin controlador . https://os.mbed.com/media/uploads/ramirezcar/esquema_2.png

para una pantalla con controlador las conexiones son como siguen: https://os.mbed.com/media/uploads/ramirezcar/conexiones_con_controlador_2.png

Las entradas analógicas del STM32 pueden medir hasta 3,3.V (cuando se utiliza la tensión de referencia analógica incorporada). Incluso cuando sólo se conecta a un circuito de 3,3V, debe utilizar las resistencias para ayudar a proteger el micro de cortocircuitos o sobrecargas de tensión inesperadas (ojo en el program se usa 3,0V, ya que este es el valor real medido "real").

Se trata de un 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 (3,3V nominal; 3,0 en nuestro caso). El divisor entrega una tensión al pin analógico ( PB_0); éste convierte en un formato digital que puede ser procesada por el microcontrolador. En este caso, la tensión entrada (vin) después de pasar por el divisor de tensión descrito, El voltaje vout es el que se aplica al pin PB_0 (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 reduce en un factor de 11 que es adecuado para la medición de voltajes de DC hasta aproximadamente 36V si el voltaje de referencia es 3,3 (en nuestro caso es 33 ).

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 el microcontrolador lo pueda leer, además de ser la impedancia de entrada.

Un multímetro digital para medir voltaje DC típicamente tendrá una impedancia de entrada de 10MΩ o superior. Esto significa 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 influya o cambie lo que está midiendo del circuito.

Por lo anterior necesitamos una alta impedancia de entrada en nuestro circuito divisor de tensión, para que la impedancia de este «voltímetro» no vaya a influir 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 recomienda adaptar un filtro de paso alto.

La fórmula para calcular los valores en un divisor de tensión es: Vout = (R2 / (R1 + R2)) * Vin

Por lo tanto, puesto que la tarjeta STM32 admite un Vmax de 3.3V en sus entradas analógicas (3,0 en nuestro caso), si el divisor está funcionando correctamente, entonces el Vout será de un máximo de 36,3 V (33,0 V).

Nota:

- Para una mayor precisión las resistencias deben ser del 1% de precisión si es posible o mejor. - En la línea 18 como comentarrio del programa se incializa una pantalla sin controlador con su respectiva librería

Prueba 1 La Implementación del sistema y la visualización de la medición de valores solo en PC (se usa una batería nueva de 9Vcc) para su comprobación se contrasta con multímetro https://os.mbed.com/media/uploads/ramirezcar/implementacion.png https://os.mbed.com/media/uploads/ramirezcar/medicion_sin_vin.png https://os.mbed.com/media/uploads/ramirezcar/medicion_bateria.png https://os.mbed.com/media/uploads/ramirezcar/voltaje_vout_en_ain.png https://os.mbed.com/media/uploads/ramirezcar/voltaje_multimetro.png https://os.mbed.com/media/uploads/ramirezcar/vin_con_stm32.png

Prueba 2 Se implementan las siguientes mejoras: Lectura vía LCD. Mensajes de Inicialización de pantalla (secuencia de Inicialización líneas 42 a 55 del programa). Encerado de pantalla esto debido a pequeñas perturbaciones que se dan cuando no hay nada conectado, línea 77 del programa).

https://os.mbed.com/media/uploads/ramirezcar/mensaje_de_inicicilizacion.jpg https://os.mbed.com/media/uploads/ramirezcar/lcd_encerada.jpg https://os.mbed.com/media/uploads/ramirezcar/valor_medido_mostrado_en_pc_y_pantalla_lcd.jpg

no such method: tip