Ir ao conteúdo

Posts recomendados

Postado

Estou fazendo um projeto que nele vou ler a corrente consumida por uma lâmpada com o sensor acs712, mas aparentemente não está funcionando porque na caixa informa que a corrente que lâmpada consome em 127 é 101mA é o sensor informa que a corrente consumida é de -0.20 A até -0.25A e alguns valores loucos negativos.

Já testei vários códigos pela internet e nenhum parece muito certo, trouxe o que estou mais usando e outra coisa o sensor ler corrente mesmo com a lâmpada desligada

 

Estou fazendo um projeto que nele vou ler a corrente consumida por uma lâmpada com o sensor acs712, mas aparentemente não está funcionando porque na caixa informa que a corrente que lâmpada consome em 127 é 101mA é o sensor informa que a corrente consumida é de -0.20 A até -0.25A e alguns valores loucos negativos.
Já testei vários códigos pela internet e nenhum parece muito certo, trouxe o que estou mais usando e outra coisa o sensor ler corrente mesmo com a lâmpada desligada
int pino_sensor = 36;
int menor_valor;
int valor_lido;
int menor_valor_acumulado = 0;
int ZERO_SENSOR = 0;
float corrente_pico;
float corrente_eficaz;
double maior_valor=0;
double corrente_valor=0;
void setup() {
Serial.begin(9600);
pinMode(pino_sensor,INPUT);
delay(3000);
//Fazer o AUTO-ZERO do sensor
Serial.println("Fazendo o Auto ZERO do Sensor...");
menor_valor = 4095;
for(int i = 0; i < 10000 ; i++){
valor_lido = analogRead(pino_sensor);
if(valor_lido < menor_valor){
menor_valor = valor_lido;
}
delayMicroseconds(1);
}
ZERO_SENSOR = menor_valor;
Serial.print("Zero do Sensor:");
Serial.println(ZERO_SENSOR);
delay(3000);
}
void loop() {
//Zerar valores
menor_valor = 4095;
for(int i = 0; i < 1600 ; i++){
valor_lido = analogRead(pino_sensor);
if(valor_lido < menor_valor){
menor_valor = valor_lido;
}
delayMicroseconds(10);
}
Serial.print("Menor Valor:");
Serial.println(menor_valor);
//Transformar o maior valor em corrente de pico
corrente_pico = ZERO_SENSOR - menor_valor; // Como o ZERO do sensor é 2,5 V, é preciso remover este OFFSET. Na leitura Analógica do ESp32 com este sensor, vale 2800 (igual a 2,5 V).
corrente_pico = corrente_pico*0.805; // A resolução mínima de leitura para o ESp32 é de 0.8 mV por divisão. Isso transforma a leitura analógica em valor de tensão em [mV}
corrente_pico = corrente_pico/185; // COnverter o valor de tensão para corrente de acordo com o modelo do sensor. No meu caso, esta sensibilidade vale 185mV/A
// O modelo dele é ACS712-05B. Logo, precisamos dividir o valor encontrado por 185 para realizar esta conversão
Serial.print("Corrente de Pico:");
Serial.print(corrente_pico);
Serial.print(" A");
Serial.print(" --- ");
Serial.print(corrente_pico*1000);
Serial.println(" mA");
//Converter para corrente eficaz
corrente_eficaz = corrente_pico/1.4;
Serial.print("Corrente Eficaz:");
Serial.print(corrente_eficaz);
Serial.print(" A");
Serial.print(" --- ");
Serial.print(corrente_eficaz*1000);
Serial.println(" mA");
delay(5000);
}

 

  • Membro VIP
Postado

Provavelmente você vai achar tudo pronto na net. Como não vou pesquisar pra você, veja se [tipo] isso serve:

  • Deixe a corrente em zero e leia o valor do ad: este vai ser sua referência zero
  • Leia agora no loop o valor do ad e registre o máximo
  • subtraia do valor zero la de cima
  • multiplique por raiz de 2 sobre 2 (Claro considerando que é uma senoide perfeita)

Eis sua corrente rms (em unidades de ad)

Postado

@Hiago Marques ,

 

Pense que 101 mA é o valor RMS da corrente ...... portanto ela pode sim ter valore perto de +-180 mA .

O problema está na sua técnica de medição, pois a tensão é senoidal..... voce pode tentar achar o valor máximo medido e chamar isso de corrente de pico máxima, e a partir daí fazer um chutão e chegar no valor RMS, mas é algo que eu não faria pois já tentei fazer isso algumas vezes e a corrente de pico variava muito.

 

Paulo

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!