Venho tentando fazer esse sensor funcionar mas só consigo fazer imprimir valores aleatórios no monitor serial do Arduino! Alguém aqui já usou ou tem alguma dica?
Tags:
Higor, bom dia.
Qual código voce utilizou? Link?
Rui
double
sensorPin =A0;
int
sensorValue_aux = 0;
sensorValue = 0;
double
currentValue = 0;
double
voltsporUnidade = 0.004887586;
// 5%1023
void
setup() {
Serial.begin(9600);
pinMode(sensorPin, INPUT);
}
void
loop() {
sensorValue_aux = (analogRead(sensorPin) -511);
// le o sensor na pino analogico A0 e ajusta o valor lido ja que a saída do sensor é (1023)vcc/2 para corrente =0
sensorValue +=
pow
(sensorValue_aux,2);
// somam os quadrados das leituras.
sensorValue = (
sqrt
(sensorValue/ 100)) * voltsporUnidade;
// finaliza o calculo da méida quadratica e ajusta o valor lido para volts
currentValue = (sensorValue/0.185);
// calcula a corrente considerando a sensibilidade do sernsor (185 mV por amper)
// mostra o resultado no terminal
Serial.print(currentValue,3);
Serial.print(
" A \n"
);
delay(100);
}
O código original está no link que segue abaixo. Agradeço muito por qualquer ajuda!
http://helpdev.com.br/2014/01/01/arduino-sensor-de-corrente-acs712-...
Segue link do sensor incluindo link do datasheet:
O Rui já fez a pergunta correta, se possível poste seu código e descreva como esta usando o circuito.
Abs.
Olá, O código está no post anterior.
Usei o sensor ligado em série em um dos fios de uma extensão para que, ao ligar um equipamento, ele possa calcular a corrente que passa pelo fio. Estou alimentando com 5V DC conforme instruções do Datasheet e usando a saída Vout ligada na porta A0 do Arduino. Acredito que não seja nada com a ligação do circuito e sim em algum parâmetro do código.
Segue link do sensor incluindo link do datasheet
Oi Higor,
O codigo que voce postou tem uma modificação em relação ao post do link indicado por voce.
No codigo original o autor faz 100 medidas e depois tira a média (dividindo por 100).
Com este recurso ele consegue melhorar a precisão da leitura e pelo meu ver é indispensavel em corrente alternada.
No seu codigo modificado será feita somente uma leitura, mas voce continuou dividindo por 100.
Nesta linha " sensorValue = (
sqrt
(sensorValue/ 100)) * voltsporUnidade;
// "
Talvez seja isto que cause apresentações de valores aléatórios, pois o valores estão muito
pequenos. (100 vezes menores)
Voce está usando o sensor para medir corrente contínua ou corrente alternada?
Espero ter ajudado.
Rui
Agora me veio uma dúvida ridícula. Estou usando o sensor para medir a corrente exigida por um equipamento X ligado em corrente alternada. O sensor está ligado em série a um dos fios de uma extensão. Só começa a circular corrente quando eu ligo o equipamento na tomada...então é corrente alternada, certo?
Então seria só tirar esse / 100?
Já ajudou muito. Muito obrigado mesmo!
Sim,
Se é da tomada de força residencial é alternada.
Concordo com o Rui, creio que se tirar os 100 vai funcionar.
Abs.
Muito obrigado! vou testar!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por