Ir ao conteúdo

EJO

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Reputação

0
  1. Fiz um programa simples para aquisição de corrente CA (RMS) usando o conversor AD do PIC16F876A (com um circuito adequado). Acontece que quando faço poucas amostras o valor oscila muito. Estou pensando em fazer uma média das amostras da seguinte forma: Continuadamente pego o valor lido e divido por uma constante. Um vetor por exemplo de 20 posições. No início vou tem um erro até estabilizar as medidas. Vou gravando os valores e fazendo a média. Quando completar os vinte valores volta a gravar na primeira posição e assim sucessivamente (sobrescrevendo). Segue o trecho do código onde pretendo implementar esta lógica. void corrente() { int i, i_aux; float i_med; i_rms; char txt[4]; for (i=0;i<20;i++) //20 = nº de amostras { i_aux = read_adc(0); i_aux = i_aux – 511; //normaliza leitura (offset) i_med = i_med + pow(i_aux,2); } i_med = i_med/20; i_rms = sqrt(i_med); **Neste ponto gostaria de implementar o código onde seria feita as médias das leituras. Já fiz com um “for” dentro do outro e deu certo mas não é o que preciso... } Desde já agradeço. Elcio.

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!