Neste tutorial, desenvolveremos uma fonte de tensão variável de 5 V do Arduino Uno. Para isso vamos usar os recursos ADC (Conversão Analógica para Digital) e PWM (Modulação por Largura de Pulso).
Alguns módulos eletrônicos digitais, como o acelerômetro, funcionam com tensão de 3,3V e alguns funcionam com 2,2V. Alguns até funcionam com tensões mais baixas. Com isso não podemos conseguir um regulador para cada um deles. Portanto, aqui faremos um circuito simples que fornecerá uma saída de tensão de 0 a 5 volts com uma resolução de 0,05 V. Assim, podemos fornecer tensões com precisão para os outros módulos.
Este circuito pode fornecer correntes de até 100mA, portanto podemos usar esta unidade de alimentação para a maioria dos módulos de sensor sem nenhum problema. Esta saída de circuito também pode ser usada para carregar baterias recarregáveis AA ou AAA. Com o visor no lugar, podemos ver facilmente as flutuações de energia no sistema. Esta unidade de fonte de alimentação variável contém interface de botão para a programação de tensão. O funcionamento e o circuito são explicados abaixo.
Hardware: Arduino Uno, fonte de alimentação (5v), capacitor 100uF (2 peças), botão (2 peças), resistor de 1KΩ (3 peças), LCD de 16 * 2 caracteres, transistor 2N2222.
Software: Atmel studio 6.2 ou AURDINO nightly.
Diagrama de circuito e explicação de trabalho
O circuito para unidade de tensão variável usando Arduino é mostrado no diagrama abaixo.
A tensão na saída não é completamente linear; será barulhento. Para filtrar o ruído, os capacitores são colocados nos terminais de saída, conforme mostrado na figura. Os dois botões aqui são para aumentar e diminuir a tensão. O display mostra a tensão nos terminais OUTPUT.
Antes de começar a trabalhar, precisamos examinar os recursos ADC e PWM do Arduino UNO.
Aqui, vamos pegar a tensão fornecida no terminal OUTPUT e alimentá-la em um dos canais ADC do Arduino. Após a conversão, tomaremos esse valor DIGITAL e o relacionaremos com a tensão e mostraremos o resultado em uma tela 16 * 2. Este valor no display representa o valor de tensão variável.
ARDUINO possui seis canais ADC, como mostra a figura. Nestes, qualquer um ou todos eles podem ser usados como entradas para tensão analógica. O UNO ADC tem resolução de 10 bits (portanto, os valores inteiros de (0- (2 ^ 10) 1023)). Isso significa que ele mapeará tensões de entrada entre 0 e 5 volts em valores inteiros entre 0 e 1023. Então, para cada (5/1024 = 4,9 mV) por unidade.
Aqui vamos usar A0 de UNO.
|
Em primeiro lugar, os canais UNO ADC têm um valor de referência padrão de 5V. Isso significa que podemos fornecer uma tensão de entrada máxima de 5 V para conversão ADC em qualquer canal de entrada. Como alguns sensores fornecem tensões de 0-2,5 V, com uma referência de 5 V obtemos menos precisão, portanto, temos uma instrução que nos permite alterar esse valor de referência. Portanto, para alterar o valor de referência, temos (“analogReference ();”) Por enquanto, deixamos como.
Como padrão, obtemos a resolução máxima do ADC da placa que é 10bits, esta resolução pode ser alterada usando a instrução (“analogReadResolution (bits);”). Essa mudança de resolução pode ser útil em alguns casos. Por enquanto, deixamos como.
Agora, se as condições acima forem definidas como padrão, podemos ler o valor do ADC do canal '0' chamando diretamente a função "analogRead (pino);", aqui "pino" representa o pino onde conectamos o sinal analógico, neste caso, seria “A0”.
O valor de ADC pode ser transformado em um número inteiro como “float VOLTAGEVALUE = analogRead (A0); ”, Por esta instrução o valor após ADC é armazenado no inteiro“ VOLTAGEVALUE ”.
O PWM do UNO pode ser obtido em qualquer um dos pinos simbolizados como “~” na placa PCB. Existem seis canais PWM no UNO. Vamos usar o PIN3 para nosso propósito.
analogWrite (3, VALOR); |
Da condição acima, podemos obter diretamente o sinal PWM no pino correspondente. O primeiro parâmetro entre colchetes é para escolher o número do pino do sinal PWM. O segundo parâmetro é para escrever a taxa de serviço.
O valor PWM de UNO pode ser alterado de 0 a 255. Com “0” como o mais baixo para “255” como o mais alto. Com 255 como taxa de serviço, teremos 5 V no PIN3. Se a taxa de serviço for fornecida como 125, teremos 2,5 V no PIN3
Como dito anteriormente, existem dois botões conectados ao PIN4 e PIN5 do UNO. Ao pressionar, o valor da taxa de serviço de PWM aumentará. Quando outro botão é pressionado, o valor da relação de trabalho de PWM diminui. Portanto, estamos variando a taxa de serviço do sinal PWM no PIN3.
Este sinal PWM no PIN3 é alimentado à base do transistor NPN. Este transistor fornece uma tensão variável em seu emissor, enquanto atua como um dispositivo de comutação.
Com a taxa de serviço variável PWM na base, haverá tensão variável na saída do emissor. Com isso, temos uma fonte de tensão variável disponível.
A saída de tensão é alimentada para UNO ADC, para que o usuário veja a saída de tensão.