Voltimetro Digital - Digital Voltmeter

Voltimetro Digital - Digital Voltmeter

Esta semana decidi construir um voltimetro usando um microcontrolador 16F88, um display de 3 digitos de 7 segmentos e algumas resistências.

 

This week i've decided to build a voltmeter using a 16F88 microcontroller, a 7 segment 3 digit display and some resistors.

 

 

Os microcontroladores apenas conseguem medir sinais analógicos nos seus módulos conversores Analógico-Digital até á voltagem que o microcontrolador está a ser alimentado e que poderá ser no máximo de 5,5V ( dependendo do microcontrolador ).

Com algumas alterações o voltimetro consegue agora medir até 9,99V.

Para ser possivel ele medir tensões superiores a 5V é necessário criar um divisor de tensão á entrada do pino ADC do microcontrolador e no programa do microcontrolador adiciona-se o cálculo de conversão do valor obtido.

Na figura seguinte está o esquema do divisor de tensão utilizado e as voltagens possiveis antes e depois do divisor.

 

Microcontrollers can only measure analogue signals in their Analogue-to-digital converters up to the microcontroller's VCC voltage which is 5,5V max ( depending on the microcontroller used ).

With some changes the voltmeter can now measure up to 9,99V.

For it to be able to measure voltages higher than 5V it's necessary to make a voltage divider before the ADC pin of the microcontroller and it's program has to be able to do the math to output the correct value.

The following picture is the schematic of the voltage divider used and the possible voltages before and after the divider.

 

 

Depois de alterado o programa do microcontrolador é possivel medir uma pilha de 9V.

After changing the microcontroller program it's now possible to measure a 9V battery.

 

 

A fórmula para o cálculo de resistências que compôem o divisor de tensão é:

The formula to calculate the resistors that make the voltage divider is the following:

 

 

Vout é a tensão resultante no pino do microcontrolador e o Vin é a tensão máxima que se pretende aplicar.

Seguindo esta fórmula é possivel criar muito facilmente um voltimetro capaz de medir tensões máximas desde a tensão de alimentação que o microcontrolador funcionará ( por exemplo 3V ) até, por exemplo 50V.

Vout is the voltage at the microcontroller's pin and Vin is the highest voltage that we need to measure.

Using this formula it's possible to build a voltmeter capable to measure much higher voltages than the VCC used in the microcontroller ( 3V for example ) and can be, for example, 50V.

 

Aqui fica um divisor para 12V:

Here's a divider for 12V:

 

Divisor para 25V:

Divider for 25V:

 

 

Divisor para 50V:

Divider for 50V:

 

 

Consoante o valor obtido pelas resistências, poderá não ser possivel uma tensão final sempre de 0 a 5V. Alguns divisores de tensão darão 0 a 4,5V ou 0 a 4,8V.

Este facto não será problema desde que no programa do microcontrolador a conversão seja bem calculada para a medição ser correcta.

Depending on the resistors values, it may not always be possible to get a Vout from 0 to 5V. Some voltage dividers will provide 0 to 4.5V or 0 to 4,8V.

This fact represents no problem since the microcontroller's program should have the correct math formula to make the voltage convertion.

 

Aqui fica o esquema do meu voltimetro digital sem o divisor de tensão:

Here's the schematic of my digital voltmeter without the voltage divider: