Sensor de tensão AC com Arduino • Do bit Ao Byte
Sensor de tensão AC com Arduino
Djames Suhanko 11 de setembro de 2016 3 min read
Tudo o que você precisa é de um divisor de tensão, mas esse sensor da GBK Robotics tem adicionalmente um optocoupler para fazer o isolamento da rede AC, protegendo assim o lado digital do seu circuito.
O sensor de tensão se baseia simplesmente no divisor de tensão. Esse sensor da GBK Robotics utiliza um resistor de 220K e um resistor de 10K. R1 é o resistor mais alto, de modo que R2 = 10k. Depois, tudo que precisa ser feito é calcular a saída assim:
[latex]val = \frac{(\frac{analogRead*5.0}{1024.0})}{(\frac{R2}{R1+R2})}[/latex]
Vou conectar esse módulo a um Arduino Nano do nosso parceiro Fulltronic (esse Nano da foto). O dock do Nano também pode ser adquirido com eles e garanto, é bem melhor utilizar jumpers femea-femea do que a protoboard, ficam menos fios e mais rápido de prototipar.
O wiring é muito simples, basta conectar Out da board ao A0 do Arduino (o código serve para qualquer Arduino). O 5V vai ao 5V do Arduino e o GND vai ao GND do Arduino.
Agora basta ler e aplicar a fórmula descrita anteriormente. Você pode querer um pouco de precisão na leitura. Nesse caso, coletar algumas amostras e tirar a média pode ser uma boa opção. O código para tal pode ficar assim:
#define R1 220000.0
#define SAMPLES 5
float acum  = 0;
int loops   = 0;
float v1    = 0;
v1 = (5.0 * analog0)/1024.0;
Serial.print("Valor da amostragem ");
Serial.print(loops);
if (v1 < 1){
acum += v1/(R2/(R2+R1));
if (loops >4){
float result = acum/SAMPLES;
A serial ficará imprimindo muito rápido devido ao delay curto, mas esse delay de 200ms aproxima a media a 1 segundo, considerando que a amostragem tirada é de 5 samples.
Apenas para esclarecer, o valor 1024.0 se trata da resolução do pino analógico, que é de 10 bits. Se você utilizar uma MCU com mais resolução, basta subir esse valor. Por exemplo, se for 12 bits, troque para 4096.0. Se for utilizar o ESP8266, você precisará utilizar um divisor de tensão extra para derrubar a tensão para 1V, que é o máximo permitido na porta analógica dele. Escreverei um artigo a respeito.