Ir ao conteúdo

Rafael_mais

Membro Júnior
  • Posts

    15
  • Cadastrado em

  • Última visita

Tudo que Rafael_mais postou

  1. Verdade meu amigo! Não sobraria nada... kkkkkkkkkkkkkkkkkk. Você é quem manja mesmo viu... No máximo até amanhã te dou um retorno.
  2. @aphawk , estarei esperando com o maior prazer...
  3. Valeu pela Ajuda@Isadora Ferraz e @aphawk . eu baixei seu arquivo e fui abrindo um por um com o bloco de notas para ver o código, mas quando eu abro não mostra código nenhum... tem como você enviar como bloco de notas? O projeto no proteus também não abre...
  4. @aphawk também acredito que é devido alguma perda no tempo de amostragem... A @Isadora Ferraz sumiu... apareça menina... kkkkkkkkkk vou postar o arquivo do proteus.. mcorrent.pdsprj
  5. Olhe aqui @aphawk e pessoal o meu código para calcular o valor RMS de corrente e tensão. o medidor de corrente tem na sua saída um ruido de 0.05, já o de tensão marca certinho... se eu utilizar a interrupção por timer acho que resolveria o problema... Alguém aqui no grupo a partir desse meu código saberia me dizer como fazer isso? Já li algumas coisas sobre o timer, mas acabo não sabendo colocar no meu código. Se alguém puder ajudar fico grato. int n; float Corrente_media_quadratica, Valor_rms_C, Corrente_instantanea, soma_corrente_quadratica, corrente_quadratica, VreadADC_C; float Tensao_media_quadratica, Valor_rms_T, tensao_instantanea, soma_tensao_quadratica, tensao_quadratica, VreadADC_T; void main() { setup_adc_ports(AN0_AN1_AN2_AN3_AN4); setup_adc(ADC_CLOCK_DIV_2); setup_psp(PSP_DISABLED); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DIV_BY_16,255,1); setup_ccp1(CCP_PWM); set_pwm1_duty(1023); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE); lcd_init(); // TODO: USER CODE!! while(true) { soma_corrente_quadratica = 0; soma_tensao_quadratica = 0; for (n=0; n<101; n++) { set_adc_channel(0); delay_us(20); VreadADC_C = read_adc(); set_adc_channel(1); delay_us(20); VreadADC_T = read_adc(); Corrente_instantanea = (5*(VreadADC_C - 511.5))/(1023); corrente_quadratica = corrente_instantanea*corrente_instantanea ; soma_corrente_quadratica = soma_corrente_quadratica+corrente_quadratica; tensao_instantanea = (5*((VreadADC_T/1023)))-2.5; //retira o ofsset inserido, como resultado uma senoide que varia de +2.5 à -2.5 tensao_quadratica = tensao_instantanea*tensao_instantanea ; soma_tensao_quadratica = soma_tensao_quadratica+tensao_quadratica; delay_us(127); } Corrente_media_quadratica = soma_corrente_quadratica/100.0; Valor_rms_C = (sqrt(Corrente_media_quadratica))/(0.185); Tensao_media_quadratica = soma_tensao_quadratica/100; Valor_rms_T = (sqrt(Tensao_media_quadratica)); delay_ms(200); printf(lcd_putc,"\f %1.2f",Valor_rms_C); printf(lcd_putc,"\nVrms: %1.3f",Valor_rms_T); } } Segue o circuito também mostrando os resultador.
  6. Isso mesmo @aphawk , a ideia do meu projeto é esse mesmo... Então, comecei hoje os testes com o ACS na prática... Dando alguns erros, mas vou continuar vendo o que posso fazer pra melhorar... Qualquer coisa falo aqui pra todos... Ahh sei que proteus é uma coisa e na práica é outra, mas realizando os testes no proteus eu consegui uma aproximação muito boa da corrente real... Diminui bastante o ruido... Aquelas noites que a gente mexe aqui e mexe ali... kkkkk. Sim, outra novidade boa, já estou medindo a tensão da rede! Também consegui hoje... Vamos lá: pra coletar os dados de tensão estou utilizando um divisor resistivo. A saída do meu divisor vai para um buffer para garantir a tensão na entrada do meu somador.. Mas porque um somador? Na saída do meu divisor vou ter uma uma senoidal de +2.5 a -2.5V. Sabemos que o Pic não ler sinal negativo, então entro com um somador inversor, mostrando em sua saída uma onda senoidal de 0 a -5v. continuo com um sinal negativo né? Pois bem, nesse caso estou utilizando um inversor, para na entrada do pic entrar a onda de 0 a 5v. Esse sinal Dc que inserir na entrada é retirado nessa minha linha do código: tensao_instantanea = (5*((VreadADC_T/1023)))-2.5. Agora o pic "trabalha" com a onda senoidal da entrada de novo. Ok! Vou ler cada trabalho com bastante calma, porque talvez seja a solução para os problemas que estou tendo. Valeu mesmo amigo Paulo... Amanhã digo como foram as medições da corrente com o ACS...
  7. Muito obrigado Paulo pela explicação... Estou fazendo exatamente isso, simulando e testando..... Quando eu colocar no protoboard te digo como foi o resultado...
  8. Mas Paulo, se eu alterar a referência pra minha corrente, eu vou acabar alterando pra minha tensão... Nesse caso é melhorando um e prejudicando o outro... Ou pode alterar a referencia apenas para uma entrada analógica?
  9. Beleza Paulo... Muito obrigado... Nem pensei nisso.. na verdade sou leigo nesse assunto, estou no básico... Tem como você me passar seu email? me faça esse favor... Muito obrigado mesmo mais uma vez... Se você achar melhor me envie uma email para : [email protected] ou no facebook também.
  10. Valeu Isadora, mas esse circuito de Paulo vai me servir justamente para eu colocar na entrada do pic a referencia certa, que vai de 0 a 5v... tomara que ele me ajude mesmo kkkk Valeu pela sua ajuda...
  11. Paulo primeiramente muito obrigado pela sua ajuda... colocarei tanto a ligação como o código para você ver... A minha medição será AC... Essa corrente será a da rede e a frequência será de 60Hz, mas para fazer os cálculos irei amostrar essa corrente no pic a 6000Hz, nos dando 101 amostras do sinal... Eu não sabia dessa variação do acs entre 1.5 e 3.5V... eu achava que já era em 0 e 5V... Como eu posso resolver isso?? Você poderia me ajudar?? Então, como eu faria essa nova referência para o pic (0.5 a 4.5V)? Código: 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.5); 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; delay_us(83.3); } 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) }
  12. Então estou usando um filtro na sua saída e a sua sensibilidade é de 185 mV/A. Devo utilizar o ampop? Como? Valeu pela atenção de vocês...
  13. 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???
  14. Obrigado Isadora e Paulo pelas sugestões... Graças a Deus consegui resolver o problema...
  15. Olá pessoal, estou fazendo um medidor de tensão com um pic16f877a e estou tendo problemas com o código do meu projeto no ccs e gostaria da ajuda de vocês. Para medir a tensão eu irei utilizar um divisor resistivo, onde será obtido uma senoide de 2.5 a -2.5. Pois, sabemos que o pic não ler valores negativos, por isso acrescentei um circuito somador com um sinal dc de 2.5, fazendo com que na minha entrada do pic eu tenha uma senoide de 0 a 5V. No programa para calcular a tensão rms, eu retiro o nivel dc adicionado na entrada do pic para aí termos uma senoide de 2.5 a -2.5 (mas isso é realizado pelo código, porque sabemos bem que o pic não aceita valores negativos). sei que para calcular a tensão rms, basta eu fazer a tensão média quadratica e tirar a raiz quadrada. Eu não consigo obter meu valor rms quando eu entro com 5v por exemplo. Vou adicionar o projeto no proteus e o código que estou trabalhando para ficar mais fácil de vocês tirarem minha dúvida. LerTensao.c mtensao.pdsprj

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!