Ir ao conteúdo
  • Cadastre-se
rodrigocirilo

Arduino ***LER PT100 com uC ** PIC ou arduino

Recommended Posts

Olá, caros colegas do CDH.

 

Gostaria de saber se alguém já fez leituras de sensores PT100 2/3 fios com PIC/ARDUINO.

 

Se há uma maneira de ler o sensor diretamente no canal analógico do uC, ou se precisa de algum conversor.

 

Caso necessite de conversor, poderiam indicar qual? um diagrama? 

 

Já, usei o LM35 muitas vezes, mas o range de temp que preciso ler ele nao suporta.

 

Agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

Há algum tempo atrás andei mexendo com isso, mas o projeto foi cancelado e então parei, mas uma coisa eu posso dizer: não é tão simples.

1ª opção:

Na minha opinião, o melhor que você pode fazer é comprar um C.I. para "interfacear" o PT100 de modo que te entregue o valor pronto, por exemplo, numa comunicação serial. Esse C.I. existe e é o MAX31865. Isso te exime de ter que colocar as fórmulas de linearização (acho que é assim que escreve) no programa do uC. Pois como já deve saber, a "curva" do PT100 não é linear (claro! se é curva...).

 

2ª opção:

Existe um Application Note da MIcrochip, acesse nesse link: AN687

Aí explica como fazer a leitura com filtros passa-faixa e conversor A/D externo. Acredito que funcione bem, mas eu não testei.

 

3ª opção:

Se você quiser fazer "na raça" mesmo, tiver bastante tempo pra gastar, manjar de filtros ativos com OpAmp (rs), você pode desenvolver uma interface. Basicamente você vai precisar de uma fonte de corrente constante para "alimentar" seu PT100 e medir  a diferença de tensão em seus terminais, joga esse sinal na entrada de um amplificador diferencial para descontar as perdas no condutor, depois disso use mais uma etapa com OpAmp para amplificar e por fim jogue o sinal na entrada de seu A/D (...ah você pode querer também adicionar uma etapa aí no meio para filtrar o sinal de interferências, seria um filtro passa-baixa).

No software terá que usar a equação de Callendar Van Dusen para linearizar o sinal recebido pelo A/D... OU... Usar uma tabela de conversão de acordo com a tabela padrão do PT100.

 

Claro, tudo isso se quiser algo de qualidade e quiser aproveitar a precisão que o PT100 oferece.

 

Existe um simples coeficiente para o cálculo, mas não fica grande coisa a leitura.

 

Tentei achar aqui os resquicios do projeto que eu estava desenvolvendo, mas não consegui achar nada. Caso eu ache, posto depois.

 

Valeu!

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Fervolt Obrigado pela excelente explicação..

 

Já tinha visto algo sobre este CI, mas como não achei pra comprar aqui, resolvi pedir ajuda.

Vou ver se importo algumas peças para teste..e pelo que vi e como você falou ele ja entrega o sinal pronto, então é só exibir por exemplo em um ldc/oled, talvez um  pequeno ajuste do que chega..

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rodrigocirilo ,

 

Fazem muitos anos eu usei um circuito muito pareçido ao do link abaixo.... é uma maneira de você já ir trabalhando enquanto seus CI's dedicados não chegam ....

 

http://www.instructables.com/id/Reading-Temperature-From-PT100-Using-Arduino/

 

E ainda tem o código :

 

https://github.com/RonanB96/Read-Temp-From-PT100-With-Arduino

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uns anos atrás eu fiz um programa para AVR ATmega 328P (mas serve em todos os AVRs) para ler um PT100 de 4 fios (que é o mais preciso), para ler eu usei um ADS1115 que eu programei com Bascom a partir do datashit do componente (deu um trabalho tremendo), além do PT100 e do ADS1115 (conversor AD I2C de 4 portas por 16 bits de ganho programável) usei uma resistência de referência de 100 ohms de 0,01% de precisão e 5ppm de deriva térmica (mais de 10 dólares a unidade). Funcionou com precisão, mas não consegui evitar o ruído na medição. Eu acabei não resolvendo o problema e parei no desenvolvimento. Se quiser talvez eu consiga encontrar o código.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 15/05/2018 às 13:30, aphawk disse:

@rodrigocirilo ,

 

Fazem muitos anos eu usei um circuito muito pareçido ao do link abaixo.... é uma maneira de você já ir trabalhando enquanto seus CI's dedicados não chegam ....

 

http://www.instructables.com/id/Reading-Temperature-From-PT100-Using-Arduino/

 

E ainda tem o código :

 

https://github.com/RonanB96/Read-Temp-From-PT100-With-Arduino

 

Paulo

Paulo agradeço os links vou dar uma pesquisada.

 

Os CI´s dedicados que comprei, sugeridos pelo Fervolt vão funcionar, ja pesquisei bastante sobre eles.. Mas, sempre tem um MAS hahaha.... o que preciso fazer é LER o PT100 com o MAX31865 (até aqui ok) mas o sinal (variação de resistência) do PT100 tem que seguir mais a frente para um outro conversor de PT100 (comercial) ler e trabalhar o PID da resistência...  o meu projeto é só para ler e exibir a temperatura próximo de onde estiver sendo feita a leitura, o processo principal será controlado por esse conversor comercial..

 

E é aqui que mora o problema, pois eu pesquisei no forum da adrafruit fabricante do modulo que embarca o MAX31865 e me disseram por lá que não vai ter como o pt100 estar ligado em dois lugares ao mesmo tempo. 

 

O que você me diz?? estou cogitando montar uma saida 4~20mah para enviar o sinal do pt100 ja convertido para o leitor comercial..

 

Vai ser bem complicado esse desafio.

 

agradeço de antemão !!

adicionado 1 minuto depois
Em 16/05/2018 às 05:17, Intrudera6 disse:

Uns anos atrás eu fiz um programa para AVR ATmega 328P (mas serve em todos os AVRs) para ler um PT100 de 4 fios (que é o mais preciso), para ler eu usei um ADS1115 que eu programei com Bascom a partir do datashit do componente (deu um trabalho tremendo), além do PT100 e do ADS1115 (conversor AD I2C de 4 portas por 16 bits de ganho programável) usei uma resistência de referência de 100 ohms de 0,01% de precisão e 5ppm de deriva térmica (mais de 10 dólares a unidade). Funcionou com precisão, mas não consegui evitar o ruído na medição. Eu acabei não resolvendo o problema e parei no desenvolvimento. Se quiser talvez eu consiga encontrar o código.

Intrudera, agradeço tambem.... mas vou esperar meu modulos chegarem e ver o que consigo com eles.... pois não sei se estou nesse nivel de prog. haha apesar de me dedicar muito....

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rodrigocirilo ,

 

Realmente não pode ligar o PT100 em dois circuitos.

 

Já que você estará usando um microcontrolador, pode enviar a leitura via serial RS-232 ou 422 também, seria a maneira mais simples de todas !

 

Ou então usar um desses módulos I2C prontos de conversor D/A e a partir dele gerar o seu sinal 4 a 20 mA.

 

https://produto.mercadolivre.com.br/MLB-1034872282-modulo-conversor-a-d-d-a-yl-40-pcf8591-_JM

 

Por acaso você viu isto aqui :

 

https://produto.mercadolivre.com.br/MLB-854670770-modulo-conversor-pt100-para-0-5v-para-arduino-pic-_JM

 

 

Não se assuste pois isso é fácil !

 

Paulo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, aphawk disse:

@rodrigocirilo ,

 

Realmente não pode ligar o PT100 em dois circuitos.

 

Já que você estará usando um microcontrolador, pode enviar a leitura via serial RS-232 ou 422 também, seria a maneira mais simples de todas !

 

Ou então usar um desses módulos I2C prontos de conversor D/A e a partir dele gerar o seu sinal 4 a 20 mA.

 

https://produto.mercadolivre.com.br/MLB-1034872282-modulo-conversor-a-d-d-a-yl-40-pcf8591-_JM

 

Por acaso você viu isto aqui :

 

https://produto.mercadolivre.com.br/MLB-854670770-modulo-conversor-pt100-para-0-5v-para-arduino-pic-_JM

 

 

Não se assuste pois isso é fácil !

 

Paulo

 

Vixi, então não tem como mesmo ligar o PT100 em dois circuitos..imaginei isso.

 

Mas no caso, eu nao sei como seria o padrão de rs232 que a placa comercial estaria apta a receber, digo em relação ao protocolo, como formatar os sinais a enviar..

 

Esse conversor D/A é interessante, mas será que eu conseguiria usar isso..hehe... sei não viu....

 

O outro conversor é interessante pois ja me entrega os sinal do PT100 de 0~5V, mas qual a escala total que ele estaria apto a converter, pois sei que os PT100 medem de -200º a 800º  não seria uma escala muito extensa para um arduino ler, com um ADC de 16bits.. mas vou investigar sobre ele, neste caso eu poderia usar o sinal 0~5V para ligar no arduino/pic e ao mesmo tempo em outro leitor comercial que leia 0V~5v ??

 

Obrigado mais uma vez!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rodrigocirilo ,

 

Calma que o leão é manso, meu amigo !

 

Esse módulo que já entrega a saida em tensão, o cara precisa saber quais os limites de temperatura que você irá usar, e já te fornece ele calibrado !

 

Com ele, você já tem uma saída linear de tensão, que pode ser convertida direitamente pelo seu microcontrolador via entrada A/d , ao mesmo tempo que pode ser também aplicada a um circuito que transforme tensão de 0 a 5V em corrente de 4 a 20 mA. Acho que esse é o caminho mais fácil.

 

Procure no google, tem vários circuitos com amp op que fazem essa conversão.

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites
13 horas atrás, aphawk disse:

@rodrigocirilo ,

 

Calma que o leão é manso, meu amigo !

 

Esse módulo que já entrega a saida em tensão, o cara precisa saber quais os limites de temperatura que você irá usar, e já te fornece ele calibrado !

 

Com ele, você já tem uma saída linear de tensão, que pode ser convertida direitamente pelo seu microcontrolador via entrada A/d , ao mesmo tempo que pode ser também aplicada a um circuito que transforme tensão de 0 a 5V em corrente de 4 a 20 mA. Acho que esse é o caminho mais fácil.

 

Procure no google, tem vários circuitos com amp op que fazem essa conversão.

 

Paulo

Sim eu achei uma postagem em um blog sobre usar o AmpOp para isso, mas ja falei mais de uma vez aqui, tenho cisma de usar AmpOp haha nao sei porque..bichinhos difíceis de lidar....

 

Mas assim que chegar os meus módulos vou fazer alguns testes.....enquanto nao chegam vou simular essa saida 4 a 20 mah..

 

Um detalhe que lembrei agora, os pt100 que vou usar são de 3 ou 4 fios... essa plaquinha parece que é só de 2 fios??

 

Te enviei uma MP sobre outro assunto, quando puder ler ficarei grato..

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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





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

×