Olá pessoal, eu estou montando um medidor de corrente e estou utilizando o sensor hall acs712 de 5A para isso.. Mas na minha saída nuca sai uma valor exato (ou próximo) da real, tipo se a real for 1.70 a minha vai ser 1.5. Alguém que já utilizou esse sensor que passou por esse problema sabe como me ajudar???

Exibições: 610

Responder esta

Respostas a este tópico

Pode ser questão de calibrar ele. Você está utilizando qual código para isso?

Olá amanda! Estou utilizando o pic16f877A e o código é este:

set_adc_channel(0);
delay_ms(20);

while(true)
{

soma_corrente_quadratica = 0;

for (n=0; n<102; n++)
{

VreadADC_C = read_adc();
// delay_us(83.3);

Corrente_instantanea = (5*(VreadADC_C - 511.5))/(1023.0*0.185);

corrente_quadratica = corrente_instantanea*corrente_instantanea ;

soma_corrente_quadratica = soma_corrente_quadratica+corrente_quadratica;

}

Corrente_media_quadratica = soma_corrente_quadratica/101.0;
Valor_rms_C = (sqrt(Corrente_media_quadratica));

delay_ms(200);
printf(lcd_putc,"\f %1.2f",Valor_rms_C);
// lcd_gotoxy(14,2);lcd_putc("V"); // leva o cursor para a posição (x,y) do display (caracter 14 da linha 2)e coloca a unidade Volt (V)

}

Tenta conseguir um alicate amperímetro e compara os valores. Tem que ver se o alicate vai ter precisão também. O que acontece se alterar 511.5 para 511? Como tu sabe que era para ser 1,7 e mostrou 1,5?

Outra coisa, é corrente alternada, certo?

Corrente alternada... fiz no proteus.. e se eu alterar minha referência no pic?

Anexos

Eu não tenho como testar.

Como tu sabe que era para ser 1,7 e mostrou 1,5?

Oi Jorge, também estou estudando o ACS712x05B, mas com o Arduino Uno R3 para corrente AC. Você mediu esta corrente real com um Amperímetro / Multímetro confiável? O ACS127 precisa estar alimentado com 5VCC, caso contrário ele vai apresentar valores errados, qual o valor de alimentação? Creio que não se usa decimal na escala de 0 a 1023 e que são 1024 valores nesta escala: o primeiro valor =0, o segundo=1 ... o 1024=1023. Então seria:

Corrente_instantanea = (XXX*(VreadADC_C - 512))/(1024*0.185);

* sendo XXX o valor da alimentação VCC do ACS712.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço