Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
Martins_eng

Tensão de referencia no PIC

Recommended Posts

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

Editado por Martins_eng

Compartilhar este post


Link para o post
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.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • 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

    Compartilhar este post


    Link para o post
    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 ?????

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • 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');


    }
    }

    Editado por Bcpetronzio
    Unir Post seguidos em menos de 24 horas, use a opção Editar

    Compartilhar este post


    Link para o post
    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...

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • 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 ??

    Compartilhar este post


    Link para o post
    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 ;)

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • 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

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Não daria pois o MPX e de 0 a 6KPa e vou usar quase toda sua escala a pressão chega a 5Kpa

    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

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • 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 ?

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    na verdade se a escala vai ficar limitada ou não vai depender da linearidade do seu MPX, se for boa voce nem notara a diferença!

    caso contrario ainda acho melhor ler os dois canais A/D e fazer a tabela de quivalencia por software!

    mas em todo caso faça o teste!

    abs.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    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.

    Editado por soschip
    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×