Ir ao conteúdo
  • Cadastre-se

Tensão de referencia no PIC


Martins_eng

Posts recomendados

E ai galera !!!

Gente estou com um problema no PIC utilizo dos LM35 que medem de 0 a 100º para essa aplicação e dois MPX4006DP de 0 a 6Kps o LM35 mede de 0 a 1,5V e o MPX de 0 a 4,8V estou utilizando uma referencia externa do PIC de +5V e de 0V porém não tenho prescisão em nada nos sensores esta chegando um valor de 0,260V na porta do PIC medido com multimetro e o PIC da uma valor de 24,9ºC mas deveria mostar uma valor de 26ºC. como utilizo um valor de 5 volts vi que para obter um prescisão maior devo usar um valor de 4,9976 a 5,0024V

Pórém como eu crio um circuito com este valor de 4,9976 ou se existe algum ci para isso o pic e o 16f887a e o conversor esta setado para 10 bits

Link para o comentário
Compartilhar em outros sites

Vamos levar em conta algumas considerações:

a primeira de todas, é que o conversor A/D do PIC não é linear, o que pode desviar um pouco a relação valor teórico / valor medido, devemos levar em contar tambem a precisao dos sensores e a do multimetro para a medição.

para obter um valor mais preciso, reduza a tensão de referencia, use um tl431, que é uma referencia de precisão de 2,495V com isso teremos: 2,495/1023 = +/- 2mV pra cada bit, que dara uma precisão e uma linearidade melhor!

também configure corretamente o clock de conversão do A/D pois, um clock muito alto, não permite que o capacitor de amostragem se carregue totalmente e um muito baixo provoca instabilidade na leitura, na pratica um valor muito bbom é FOSC/32, que da uma precisão mmuito boa!

abs.

Link para o comentário
Compartilhar em outros sites

Vamos levar em conta algumas considerações:

a primeira de todas, é que o conversor A/D do PIC não é linear, o que pode desviar um pouco a relação valor teórico / valor medido, devemos levar em contar tambem a precisao dos sensores e a do multimetro para a medição.

para obter um valor mais preciso, reduza a tensão de referencia, use um tl431, que é uma referencia de precisão de 2,495V com isso teremos: 2,495/1023 = +/- 2mV pra cada bit, que dara uma precisão e uma linearidade melhor!

também configure corretamente o clock de conversão do A/D pois, um clock muito alto, não permite que o capacitor de amostragem se carregue totalmente e um muito baixo provoca instabilidade na leitura, na pratica um valor muito bbom é FOSC/32, que da uma precisão mmuito boa!

abs.

Me fale uma coisa estou com sensores onde ele tem valores de tensão de saida diferentes o dois LM35 com um sinal de 0 a 1,5V e dois MPX de pressão com sinal de saida de 0 a 4,8V, o que fique na duvida ainda e com uma referencia de 2,495V eu irei estourar a escala com o sensor de pressão ??

Outra coisa se eu condicionar o sina do LM35 para um valor amplificado proprocional de 0 a 3,76V com a FOSC em 32 dai terei que utilizar uma referencia maior certo ? A opção de usar um amplificador no LM35 e aplicavel ?

o circuito que vou usar para amplificar o sinal do LM e este:

post-440115-13884952659589_thumb.png

Link para o comentário
Compartilhar em outros sites

Ao invés de amplificar o sinal do LM35 não é muito mais fácil dividir com um trimpot multivoltas a tensão do MPX para ficar igual ao LM ?????

Não daria pois o MPX e de 0 a 6KPa e vou usar quase toda sua escala a pressão chega a 5Kpa

Vamos levar em conta algumas considerações:

a primeira de todas, é que o conversor A/D do PIC não é linear, o que pode desviar um pouco a relação valor teórico / valor medido, devemos levar em contar tambem a precisao dos sensores e a do multimetro para a medição.

para obter um valor mais preciso, reduza a tensão de referencia, use um tl431, que é uma referencia de precisão de 2,495V com isso teremos: 2,495/1023 = +/- 2mV pra cada bit, que dara uma precisão e uma linearidade melhor!

também configure corretamente o clock de conversão do A/D pois, um clock muito alto, não permite que o capacitor de amostragem se carregue totalmente e um muito baixo provoca instabilidade na leitura, na pratica um valor muito bbom é FOSC/32, que da uma precisão mmuito boa!

abs.

Descartei o uso de um amplificador para o circuto fiz um filtro na saido do LM35 conforme o data sheet recomenda e continua na mesma tomei o seguinte procedimento regulei a tensão de referencia para o maior sinal que tenho que e 4,8v meu Vref esta com 4,86V porém ainda tenho um erro na mediação o valor oscial no display varia em torno de 1 a 0,5 ºc entre mais e menos

O programa de fiz e este e o ajusto de Vref+ esta com 4,81V e que a maxima leitura que terei com o outro sensor de pressão



#include<16f877A.h>

#device adc=10

#use delay(clock=4000000)

#fuses HS,NOLVP,NOWDT,NOBROWNOUT,NOPUT,NODEBUG,NOPROTECT,NOWRT,NOCPD

#include<mod_lcd_pitot.c>
void main()
{
float S1=0,VS3=0;
float TPF=0;

lcd_ini();
delay_ms(20);
setup_comparator(NC_NC_NC_NC);
setup_vref(false);
setup_adc(ADC_CLOCK_DIV_32);
setup_adc_ports(A_ANALOG_RA3_RA2_REF);
delay_ms(20);
disable_interrupts(global);

while(1)
{


set_adc_channel(0);
delay_us(20);
read_adc(adc_start_and_read);
delay_ms(1);
S1 = read_adc();
while(!adc_done()){}
TPF=(((S1*500)/512)/2);
printf(lcd_escreve"TPF=%3.2f\n",TPF);
delay_ms(2000);
lcd_escreve('\f');


}
}

Link para o comentário
Compartilhar em outros sites

Use duas referencias, pronto, resolvido, use aquele relé de estado sólido (4066) para fazer a multplexação dos sinais de referencia ou então use a configuração do pic para mudar o ponto de referencia, usando o de maior tensão com a referencia em Vdd, enquanto que o de menor tensão você liga no Vref+ uma baixa tensão que é necessária para o outro sensor...

Link para o comentário
Compartilhar em outros sites

Use duas referencias, pronto, resolvido, use aquele relé de estado sólido (4066) para fazer a multplexação dos sinais de referencia ou então use a configuração do pic para mudar o ponto de referencia, usando o de maior tensão com a referencia em Vdd, enquanto que o de menor tensão você liga no Vref+ uma baixa tensão que é necessária para o outro sensor...

E ai Lucas você quer dizer usar a referencia interna por exemplo

setup_vref(vref_high|2); //interna com 1,56V

isso para o senslor LM35 por exemplo que vai ate 1,5V

e utilizar esta

setup_adc_ports(A_ANALOG_RA3_RA2_REF);//referencai externa de 4,86V para o sensor de maior valor dai seria colocar para cada sensor uma rotina direferente de leitura com estas configurações ativas ??

Link para o comentário
Compartilhar em outros sites

acredito que sim, porém como pode ver pelos horários de postagem, eu demorei postei apenas alguns segundos depois de você ter apertado o botão de post com a solução ja em mãos ;)

Não fera não postei a solução so coloquei o programa para vocês analizarem e verem se algum erro !!! pois ainda tenho uma oscilação no valor medido

Link para o comentário
Compartilhar em outros sites

Acho que não me entendeu.

Eu disse para usar um trimpot como divisor de tensão para ajustar o fundo de escala para ficar igual a saída máxima do LM35.

mpx.gif

Soschip se eu fizer isso irei restringir a escala do MPX né ? não fiz ainda este teste mas se eu igualar as escalas isso não ira diminuir o range do MPX ?

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Não haverá limitação alguma pois a divisão é proporcional e linear.

Pode usar a referência menor do PIC e atuar no trimpor para que quando a saída do MPX for 4,8V, a entrada ser igual a da referência. Assim se o seu AD for de 10 bits, basta dividir por 1024 que saberá exatamente qual é a tensão da saída do MPX. Se ler um valor de 100 decimal, então a tensão será de( (Vref/1024)*100) Volts

Nem precisa se preocupar com o fator de divisão, pois uma vez ajustado para o fundo de escala saberá exatamente qual é a tensão presente na saída do MPX.

Exemplo:

Se o AD tem uma referência de 1,2V, então quando a tensão na entrada for de 1,2V, o valor lido será 3FFh. O divisor terá a função exclusiva de transformar os 4,8 em 1,2 o que seria uma divisão exata por 4. Ora !!!! Se a saída do MPX for de 2,4V... e como o divisor é proporcional e por 4, então a entrada do AD terá 2,4/4=0,6V... portanto exatamente metade da referência de 1,2V ...correto!!! portando o valor lido será metade de 3FFh

Afinal... como acham que um chip de multímetro mede 1000V quando a sua entrada AD aceita no máximo 1V ??? É tudo feito por divisores de tensão resistivos.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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