Como analisar 3 frequências simultaneamente e imprimir no LCD?

  Olá pessoal, 
 Estou querendo fazer um projeto para analisar a frequência da rede elétrica em suas 3 fases ''R,S,T''.
 Achei vários projetos na internet, só que vários usam a biblioteca ''FREQUENCY COUNTER'' esta biblioteca só lê uma entrada, e calcula a Freqüência por meio de registradores. 

  Depois de muita pesquisa encontrei um projeto simples que funciona.
  Ele é para uma porta apenas, mas eu adicionei mais uma, ficando assim com duas portas. O unico problema que quando ativo a segunda porta a analise das duas frequências se perdem, dando números  ''loucos''.  
  Vou colocar o código abaixo para vocês me darem uma luz :D 
  Obs: vou colocar o original ''uma frequência'' e o que editei ''duas frequências''
 
  Um canal: 

#include <LiquidCrystal.h>

LiquidCrystal lcd(2, 3, 4, 6, 7, 8, 9);

long freq, tempo;
long pulsos;
boolean pulso;
void setup() {
pulso=HIGH;
pinMode(12,INPUT);
lcd.begin(16, 2);
lcd.setCursor(1,0);
lcd.print("FREQUENCIMETRO");
}

void loop() {
tempo = millis();
if(digitalRead(12)==HIGH)
{
if(pulso==HIGH)
{
pulsos = pulsos + 1;
}

pulso=LOW;

}
else{
pulso=HIGH;
}

if(tempo%2000==0){
freq = pulsos/2;
lcd.setCursor(7,1);
lcd.print(freq);
lcd.print("Hz");
pulsos=0;
}
}

      2 canais:

#include <LiquidCrystal.h>

LiquidCrystal lcd(2, 3, 4, 6, 7, 8, 9);

float freq1;
float freq2;
long tempo;
float pulsos1;
float pulsos2;
boolean pulso1;
boolean pulso2;

void setup() {
pulso1=HIGH;
pulso2=HIGH;
pinMode(12,INPUT);
pinMode(11,INPUT);
lcd.begin(16, 2);
lcd.setCursor(1,0);
lcd.print("FREQUENCIMETRO");
freq1 =0;
pulsos1=0;
freq2 =0;
pulsos2=0;
}

void loop() {

Freq1();
Freq2();

}

void Freq1(void) {

tempo = millis();
if(digitalRead(12)==HIGH)
{
if(pulso1==HIGH)
{
pulsos1 = pulsos1 + 1;

}

pulso1=LOW;

}
else{
pulso1=HIGH;

}

if(tempo%1000==0){
freq1 = pulsos1;
lcd.setCursor(1,1);
lcd.print(freq1);
//lcd.print("Hz");
pulsos1=0;
}}

void Freq2(void) {

tempo = millis();
if(digitalRead(11)==HIGH)
{
if(pulso2==HIGH)
{
pulsos2 = pulsos2 + 1;
}

pulso2=LOW;

}
else{
pulso2=HIGH;
}

if(tempo%1000==0){
freq2 = pulsos2;
lcd.setCursor(8,1);
lcd.print(freq2);
//lcd.print("Hz");
pulsos2=0;
}

}

 

Exibições: 1494

Responder esta

Respostas a este tópico

Oi Deives.

Não tenho experiencia em geradores, somente em medição de energia.

Quando vemos a especificação do gerador em KVA, ficamos "rendidos" se não sabemos o quanto de reativo e harmônicos a carga irá gerar.  Os picos de consumo que você relata com certeza

são acompanhados de muita energia reativa e harmônicos. A rigor o gerador vê os harmônicos como energia reativa. Isto significa que o KVA total visto pelo gerador vai ser a composição das energias ativas e reativas. Quando o gerador fica sobre  condições limites não consegue manter a forma de onda senoidal da tensão, portanto aparecem harmônicos da tensão somados aos harmônicos da corrente provocados pela carga.  Provavelmente este é o efeito que você descreveu como "samba".  A energia reativa é uma sobrecarga ao gerador.

Creio que se você medir as energias ativa e reativa para conhecer o KVA total vai conseguir descobrir as condições reais do gerador.

Algumas industrias que tem equipamentos que geram muitos harmônicos colocam filtros para evitar que estes harmônicos se espalhem pelo restante da planta da fabrica. Talvez você consiga pesquisar algum e fazer um teste colocando na saida do gerador. 

Certo amigo Valter,
Vou pesquisar mais sobre isso, incluindo sobre os filtros. 

Já tive muitos problemas com isso, incluindo pessoas que são de portes bem superiores a mim, é uma coisa relativamente complexa de se manter, pois cada evento é um tipo de estrutura diferente. sendo assim todo o sistema se comporta de maneira diferente. 

Muito obrigado pela sua atenção. 
Até mais.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço