Ir ao conteúdo
  • Cadastre-se

Outro Como Conseguir a Máxima Precisão com um PT100, um ADS1115 e um ESP32?


Intrudera6

Posts recomendados

Como Conseguir a Máxima Precisão com um PT100, um ADS1115 e um ESP32?

 

 

Senhores,

 

Estou querendo ler um PT100 com a maior precisão possível utilizando o que eu já tenho, um ESP32 com display OLED, um PT100 de 4 fios encapsulado, e um ADS1115 (ADC 16 bits), uma resistência de referência de 100ohms 0,01% e 10ppm, e uma tensão de referência de 2,048V (não lembro a precisão dela), que talvez seja um exagero e não seja necessária!

 

Eu já tenho algumas ideais, e já consegui ler um PT100 há alguns anos atrás com um Arduino UNO (genérico), programando em Bascon e fazendo a leitura da resistência do PT100 usando um ADS1115, mas agora eu quero fazer programando no Arduino IDE (em C) usando um ESP32. Na vez anterior consegui uma boa precisão, mas com os valores oscilando muito, mas eu alimentava o PT100 100% do tempo com 3,3V em 4,9K ohms (4,7K + 100 + 100) no total e não tinha uma tensão muito estável para alimentar as resistências!

 

 

O que eu pretendo fazer é:

 

Com um PT100 de 4 fios, alimentando ele com 2mA ou 1mA (acho que vou testar das duas formas, mas com 2mA deve melhorar a precisão do ADS1115) pelo tempo necessário para ler as tensões e aquecer ele o mínimo possível (1/60seg ON com 59/60seg OFF em cada segundo), curto circuitando com um transistor MOS 2N7000 o PT100 e a resistência de referência de 100 ohms durante o tempo que não esteja lendo as tensões das resistências.

 

Pretendo polarizar com aproximadamente 2mA aproximadamente com uma tensão de 2,048V (820 + 100 + 100 = 1020 ohms no total) usando uma resistência de 820ohms 1% (resistência comum 1/4W) em série com uma resistência de referência de 100ohms e o PT100 pelo tempo necessário e suficiente para fazer várias leituras em série (100ohm de referência e o PT100) comparando as tensões (as leituras em 16bits sem converter para tensão), nem me interessa qual é a tensão, é irrelevante e consome CPU, apenas a relação entre as duas leituras em 16bits nas duas portas ADC diferenciais, o único pré-requisito é que ela tem que ser menor que 0,256V (só possível de ser ultrapassada em temperaturas alguns graus acima de 100°C no PT100 com 2mA), que é a tensão máxima medida pelo ADS1115 configurado para o seu maior ganho. Imagino que lendo em sequência a tensão no resistor de 100ohms e no PT100 eu praticamente anulo os erros de amplificação do PGA do ADS1115, ficando praticamente imune a imprecisão deste, supondo que o desvio que ocorra seja estável (por 1 décimo de segundo pelo menos).

 

Pretendo anular o erro por interferência da rede elétrica de 60Hz fazendo várias leituras (utilizando as quatro entradas em configuração de leitura diferencial duas a duas, 1° lendo a resistência de 100ohms e depois o PT100) até o tempo de 1/60seg e tirando a média. Pretendo reduzir o aquecimento do PT100 e da resistência de referência (potência dissipada de => 0,002 ^ 2 * 100 / 60 = 6,67E-6 Watts em cada resistência e o dobro disso aproximadamente no PT100 em 100°C) polarizando elas pouco antes de começar a fazer a leitura das tensões pelo ADS1115 (configurando para 16bits) e saturando o 2N7000 ligado entre a entrada da resistência de 100 ohm e o terra onde está ligado o PT100 (medindo por dois fios e alimentando pelos outros 2) logo após as medidas terem sido feitas. A resistência de 820ohm e a tensão de referência de 2,048V sempre continuarão ativas, sendo demandas em 2,5mA aproximadamente.

 

As temperaturas a serem medidas poderão estar entre pouco abaixo de zero de 0°C até pouco acima de 100°C, e montarei o ADS1115 (comprei montado numa pequena placa) em uma pequena placa para protótipo para evitar os problemas e mau contatos característicos dos protoboards.

 

 

O que vocês me sugerem para que eu consiga a maior precisão possível com um PT100?

 

 

Ainda não fiz ainda um desenho e nenhum esquemático, espero que entendam o que estou querendo fazer!

 

Uma vez funcionando talvez eu agregue mais algumas coisas neste ESP32, talvez um barômetro/higrômetro e um relógio com um DS3132, mas por enquanto meu objetivo é conseguir a maior precisão possível na medição de temperatura pelo PT100, espero que melhor que +/- 0,1°C.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Intrudera6 ,

 

Eu me lembro desse projeto....

 

Só uma pergunta :

 

Se você vai usar resistores de 1% nas suas referências, de onde vai vir uma leitura com precisão melhor do que os 1% ?

 Esse conversor A/D de 16 bits é algo que não vai te dar mais do que 12 bits, a menos que alguma empresa especializada faça o projeto da PCB e da caixa, com os devidos pontos de aterramento.

 

Ví em uma revista Elektor um projeto de um aparelho cuja finalidade era indicar a taxa de variação da temperatura, eles usaram um conversor A/D de 14 bits mas não conseguiram passar dos 12 bits devido aos ruídos. 

 

Mas compensaram fazendo dois filtros RC  por software, onde dois potenciômetros forneciam a leitura de tensão entre 0 e 5 volts para o software considerar o resistor equivalente do filtro.

 

Conseguiram medir variação de temperatura usando um simples NTC, onde bastava aproximar a mão a cerca de 20 cm do sensor e o aparelho já indicar a subida em poucos segundos.

 

Se me lembro bem, conseguiram variação da ordem de 0,005 graus por segundo.

 

Vou ver se acho esse artigo e posto aqui.

 

Mas voltando ao seu projeto, existem referências de tensão de precisão térmicamente compensadas e internamente ajustadas, eu tenho comigo duas de 2,048 Volts com variação zero entre 0 e 60 graus. Comprei na China, e pelo menos com a aparelhagem que tenho as medidas estão corretas.... 

 

Paulo

 

 

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

Paulo,

Você não entendeu, a resistência de 820ohms é a única com 1% pois a função dela é funcionar como um divisor de tensão reduzindo a tensão sobre as resistências de 100ohms e o PT100, e a precisão dela (820ohms) não afeta a minha medição, mas o que interessa mesmo é a resistência de 100ohms que tem +/- 0,01% de precisão por 10ppm (e custou mais de 10 US$ cada), e é com ela que eu medirei a resistência do PT100, simplesmente dividindo o valor medido (pelo ADS1115) na R de referência pelo PT100 (ou o inverso, tanto faz).

 

Não sei se vai dar certo (se vai ficar estável), mas é provável que a precisão fique bem melhor do que o que eu fiz antes com o Arduino UNO! Ainda não sei quantas leituras eu conseguirei fazer no tempo de 1/60 seg, e ainda preciso desenhar o layout da placa de protótipos em que vou montar o ADS1115, o 2N7000, a referência de tensão estável de 2,048V alimentando as resistências com 2mA (1020ohms) (espero que isto atenue as oscilações), as resistências e a barra de terminais para ligar um PT100 de quatro fios. Não tenho a menor ideia de quanto tempo antes tenho que ligar a corrente no R e no PT100 antes de começar a fazer as leituras, isto ainda preciso avaliar, depende do tempo de chaveamento do 2N7000 (ainda não estudei o datasheet dele).

 

E você tem o link desta referência de 2,048V? Eu comprei algumas. No meu projeto anterior usava a de 3,3V fornecida pelo Arduino para alimentar a R de referência e o PT100, que certamente não era um primor de estabilidade! Mas mesmo assim fazendo a leitura das duas resistências conseguia que oscilasse em torno de 0,1°C

Link para o comentário
Compartilhar em outros sites

@Intrudera6 ,

 

Ah, agora entendi, essa de 1% é só para diminuir a tensão. A precisão será obtida pela qualidade do seu PT100 e as outras de 0,01%.

 

Vou procurar onde comprei as referências,  fazem uns 4 anos e já saiu do meu histórico de compras ....

 

@K.e.V. T.a.G ,

 

Os anéis de ferrite ajudam a diminuir interferência de RF, o que não é o caso aqui, o problema é o ruído induzido pela rede elétrica a 60 Hertz... E se ainda vai ter algum tipo de chaveamento para acionar e desacionar, temos também o tempo de estabilização antes das leituras.... 

 

Me parece que vai ser um projeto bem difícil, pois em tese dá para obter quase 14 bits de precisão devido à conversão A/D e os elementos disponíveis, mas estamos falando de se medir tensão da ordem de 63 microvolts !!!

 

Isso requer um projeto totalmente especial  tanto na PCB como nas fiações internas na caixa de blindagem. Eu nem faço ideia de como se faz algo deste tipo ....

 

Paulo

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

30 minutos atrás, aphawk disse:

Me parece que vai ser um projeto bem difícil, pois em tese dá para obter quase 14 bits de precisão devido à conversão A/D e os elementos disponíveis, mas estamos falando de se medir tensão da ordem de 63 microvolts !!!

Paulo,

Com 13 bits (incluindo o bit do sinal) já chego nesta ordem de grandeza, mas é possível que vá mais longe (vai ser um poço de interferências). Desligar o PT100 nas horas ociosas vai deixar ele bem mais frio, mas em compensação eu não poderei colocar um capacitor nos pontos de medição (a não ser que seja um bem pequeno de cerâmica, mas talvez eu não deva fazer isso) para atenuar os ruídos. E imaginar que estou querendo fazer isto numa placa para protótipos!

 

Só após montar que vou ver a dor de cabeça de verdade que vai dar. A parte do software certamente é a mais fácil!

 

Desta vez vou pensar bastante no que eu vou fazer para acertar de primeira (sei não ????), mas fazer várias leituras deve diminuir o ruído na medição (é o que eu acho pelo menos).

 

Já faz uns bons meses que não mexo com os microcontroladores (programação), estou ficando enferrujado, e resolvi fazer isso porque eu tenho uma certa fixação por precisão e com um objetivo volto a ter motivação! E fiquei meio frustrado com a precisão que obtive utilizando um integrado especializado, o MAX31865, para ler o PT100, agora eu quero ver o que eu consigo com o ADS1115 fazendo um verdadeiro trabalho de engenharia, teoricamente posso conseguir uma precisão bem melhor!

 

Mas com a ajuda de vocês talvez eu consiga um resultado melhor! Foi para isso que criei este tópico, e vai ser um aprendizado para todos!

Link para o comentário
Compartilhar em outros sites

37 minutos atrás, aphawk disse:

Qual a precisão e a linearidade de seu termopar ?

Encontrei o link => https://pt.aliexpress.com/item/4-Wire-PT1000-Temperature-Sensor-4-Wire-with-Silicone-Gel-Coated-1-5Meters-Probe-50mm-6mm/32700091376.html apesar do que parece é mesmo um PT100!

 

Em tese um PT100 deveria ter a mesma precisão independentemente de qualquer coisa, mas a não ser que ele não seja feito de platina pura, os sensores de platina tem todos a mesma curva de resposta (a não ser que para economizar eles façam o sensor com um menos platina e com outro material para ser mais barato). Mas os com 4 fios são bem mais precisos por se poder eliminar totalmente o efeito da resistência ôhmica dos fios!

 

HTB1wdG2vMmTBuNjy1Xbq6yMrVXaK.jpg

 

Eu não sei o que pode fazer um PT100 ser mais preciso ou menos que outro (além de ter 2, 3 ou 4 fios), mas estou aberto a aprender, se alguém souber o motivo???

 

Provavelmente um PT1000 deve ter menos problema com interferência por trabalhar com tensões mais altas, mas imagino que seja mais caro!

Link para o comentário
Compartilhar em outros sites

Paulo,

 

Eu realmente não lembro qual referência de tensão que eu tenho, ainda preciso encontrar onde guardei (sou muito desorganizado!). Mas o mais provável é que a minha seja uma de duas saídas, tensão de 4,096 e 2,048V. Se for essa, para eu ter 2,048V precisarei alimentar ela com 5V ou mais, o que para mim não é ideal, o melhor é alimentar tudo com 3,3V. E para conseguir uma VRef só de 2,048V terei de encarar a terrível demora dos Correios e pagar o famigerado pedágio de 15 reais (que assalto!) ou pegar pelo Mercado Livre pagando mais caro, e ainda sofrer com as poucas alternativas. Normalmente eu evito o Mercado Livre quando eu posso!

Link para o comentário
Compartilhar em outros sites

14 horas atrás, aphawk disse:

Olhe aqui e perceba o porquê eu perguntei sobre precisão e linearidade ...

 Paulo,

 

Bem interessante este artigo, eu já tive contato com esta formula => R(t) = R0(1 + a.t + b.t^2 + c.(t - 100).t^3); a = 3,9083E-3 (Ω/°C); b = -5,775E-7 (Ω/°C^2); c = -4,183E-12 (Ω/°C^4)), mas não me lembrava dela, iria ter de pesquisar. Não sei se pode fazer muita diferença, mas eu pretendo resolver matematicamente a não linearidade do PT100. Com o Arduino e o Bascon eu só usei a parte de 2º grau da formula. Eu agora estou realmente querendo ir bem mais longe, mas eu ainda não sei qual vai ser o método que usarei para resolver a equação de 3º grau (mas eu vou ver se realmente compensa pois o coeficiente C é muito pequeno).

 

O que eu vi é que eu tenho uma referência de tensão de 2,5V (LM-4040DIZ-2.5) SO-92 (semelhante a um pequeno transistor) de 1% (encomendei ontem umas de outras tensões, 2,048V inclusive, com precisões melhores mas acho que não vou esperar elas chegarem, o que exigirá que eu mude a resistência de 820ohms para outro valor). Para o método de cálculo que eu quero utilizar talvez seja suficiente, pois os erros devem se anular (a corrente não precisa ser precisa, só precisa se manter estável por um tempo maior que 1/60 seg) se a tensão (corrente sobre o R ref e no PT100) variar pouco ou variar lentamente!

Link para o comentário
Compartilhar em outros sites

@Intrudera6 ,

 

Repare bem, podem ter erros de vários graus Celsius sem a correção.

 

No artigo citado, se você incluir a correção  com o diodo, chega a um erro máximo de 0,01 % . 

 

Se você precisa desse nível de resultado, tem de incluir o circuito de correção, ou sua leitura poderá ter erros de mais de 1 % .

 

Paulo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

1 hora atrás, aphawk disse:

@Intrudera6 ,

 

Repare bem, podem ter erros de vários graus Celsius sem a correção.

 

No artigo citado, se você incluir a correção  com o diodo, chega a um erro máximo de 0,01 % . 

 

Se você precisa desse nível de resultado, tem de incluir o circuito de correção, ou sua leitura poderá ter erros de mais de 1 % .

 

Paulo

Pelo que eu entendi do artigo (que não é diferente do meu conhecimento prévio), a equação de 3º grau é a curva de Resistência x Temperatura do PT100, acho que não precisa do diodo. Mas lerei novamente, quem sabe o meu inglês Tabajara está atrapalhando o meu entendimento???

Link para o comentário
Compartilhar em outros sites

@Intrudera6 ,

 

kkkkkk 

 

Página 355, tabela 3 , apresenta os erros obtidos com as três técnicas de correção.

 

A primeira é a mais simples, com erros acima de 1%.

 

A última é a mais complexa, com diodo, veja que os erros diminuiram muito.

 

Agora, já imaginou os erros SEM nenhuma correção, que é o que você fez fazem alguns anos ?

 

Porisso que eu continuo insistindo na linearidade e na precisão de seu termopar... pois do jeito que está, sem nenhum tipo de circuito corretor, creio já bastariam 8 bits de Adc kkkkkk !

 

Paulo

  • Curtir 1
  • Haha 1
Link para o comentário
Compartilhar em outros sites

O uso de alimentação pulsante no sensor apenas durante a leitura é usado em células de carga. Tb pode ser utilizado no pt100 mas deve escolher melhor o mosfet de chaveamento. O 2N7000 tem Rds de 5R, vai ter que procurar algum que ofereça poucos mR, provavelmente vai cair nos de potência.

Não entendi direito a conversa sobre 1mA ou 2mA. Pretende fazer uma fonte de corrente constante para ter a conversão direta resistência x tensão? Essa ideia seria genial se não fosse a deriva térmica dos componentes de referência desse tipo de fonte no circuito clássico de transistor/zener/resistência. Usando operacional de precisão consegue-se uma fonte de corrente proporcional a referência de tensão num circuito de realimentação positiva. É o que se usa no controle de servo-válvula hidráulica. Como a corrente é baixa, um OPA07 ou assemelhado dá conta.

Sobre ruídos, para se ter uma boa média e softer reduzido basta amostrar em quantidades de 2 potência de n e somar os reesultados. Fazendo-se operação de shift n vezes se tem a média num softer curto (escovando bits).

O circuito clássico utiliza a ponte de Wheatstone. Essa técnica torna o circuito menos sensível a variações de fonte, pense nisso.

adicionado 1 minuto depois
7 minutos atrás, aphawk disse:

Porisso que eu continuo insistindo na linearidade e na precisão de seu termopar... pois do jeito que está, sem nenhum tipo de circuito corretor, creio já bastariam 8 bits de Adc kkkkkk !

Paulo, você é um menino muito mau!

adicionado 32 minutos depois

Me desculpem pelo comentário de fonte de corrente, o fiz antes de ler o link postado pelo Paulo. Excelente matéria.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

3 horas atrás, Sérgio Lembo disse:

2N7000 tem Rds de 5R

5R não é problema, pois pretendo utilizar para desviar a corrente no R ref e do PT100 mantendo o LM4040-2,5 (é o que eu tenho atualmente) em carga durante 100% do tempo para o PT100 e o R ref em 1/60 seg, mas mesmo que fosse em série, passaria a resistência total de 1020 (se eu continua usando a resistência de 820ohms) para 1023, o que não é nenhum problema! A minha preocupação é a instabilidade ao chavear, pois o 2N7000 vai passar de saturado para aberto num tempo razoável, que ainda não sei quanto é. Eu realmente não preciso de um MOS de muito baixa Rds para esta aplicação, preciso de um pequeno e barato (e eu já tenho muitos 27000 em mãos. Já tenho muita coisa cara, gastar com o transistor, sem precisar disso, é desperdício!

 

3 horas atrás, aphawk disse:

Página 355, tabela 3 , apresenta os erros obtidos com as três técnicas de correção.

 

Este seu texto só tem 13 páginas!

 

Eu ainda tenho que estudar melhor, eu sou que nem São Tome, tenho que ver para crer! E tenho este paradigma de que não precisa nada mais que a matemática, ainda preciso convencer a mim mesmo! O PT100 sempre tem ótima repetibilidade, então porque eu precisaria de algo mais que apenas converter a resistência em temperatura ??? Mas não me critique ainda, tenho que realmente estudar mais, e me desculpe se eu sou bastante cético, é difícil aceitar algo que para mim é bem diferente do que eu acreditava piamente como verdade! Só quando eu entender a física do porque é necessário todo este penduricalho é que aceitarei!

 

Está me faltando saco para desenhar o circuito (e ainda estou pensando no que vou fazer), quem sabe neste fim de semana eu faça, que para mim será de 3 dias,  e ai vocês entenderão o porque eu não estou muito preocupado com a RDS do 2N7000 e não tão exigente com a precisão do LM4040DIZ-2.5, pois na forma que eu farei a leitura a única coisa que afetaria a minha precisão é a falta de repetibilidade, dentro do período de medição de 1/60 seg, e a instabilidade pois interferência de alta frequência pode ser um problema, mas a de 60 Hz deve ser quase anulada fazendo a média de várias capturas durante 1/60 seg. No final calculando a soma das leituras no PT100 dividido pela soma das leituras em R ref, não preciso nem converter a leitura do ADS1115 para tensão ou corrente => R no PT100 (ohms) =  (a soma das leituras no PT100 (16bits) dividido pela soma das leituras de R ref (16bits)) x R ref (ohms).

 

Paulo, me diga o porque resolver a equação de 3° grau não é suficiente ? Pois uma das características da platina é a estabilidade, se eu não esquentar ela é claro, mas acho que 1E-5 Watts de potência sobre ela vai ser desprezível! Então porque eu preciso linearizar se a matemática não teria problema com uma função de 3° grau, e a equação do artigo relaciona a resistência com a temperatura, ou entendi errado e a equação só é válida após a linearização ? Ainda não sei como resolver sem fazer por newton raphson por exemplo, o que deve ficar pesado, mas acho que o ESP32 vai gastar bem menos de 1 segundo nisso!

 

Eu quero algo que seja possível fazer com uma placa de protótipos (e não seja muito caro, já basta o R 100ohms de 0,01%), nada muito complicado, colocar o 2N7000 e o LM4040 já é uma grande melhoria no meu circuito de alguns anos atrás!

Link para o comentário
Compartilhar em outros sites

@Intrudera6 ,

 

355 é o numero da página do jornal do próprio artigo publicado.... mas se você preferir é a página 11 do total de 13 que eu postei kkkk

 

Vou tentar deixar tudo isso mais claro para você:

 

Na prática, a teoria é outra !

 

O PT100 pode apresentar erros de medida de mais de 5 graus. Isso os melhores deles, usados em equipamento de precisão, custando centenas de dólares.

 

E mesmo assim, apresentam características não lineares, precisando ser corrigidas por circuitos analógicos complexos.

 

Quando falamos de erros menores do que 0,01% , tudo influi : uma simples variação de temperatura pode mudar o comportamento de seu circuito, então tem de usar amp ops de precisão, do tipo industrial mesmo, que custam 30x mais que os comuns. 

 

A própria referência de tensão precisa ser muito estável e limpa.

 

Capacitores tem de ser de baixíssima deriva térmica.

 

Vou te pedir uma coisa :

 

Leia todo o artigo que postei sobre isso...

 

Está muito bem explicado que você precisa da compensação dos diodos se quiser erro menor do que 0,1 % . Este 0,1 % é o obtido usando a sua equação de terceiro grau, ou seja, é uma melhoria de mais de 10 vezes em termos de percentual de erro. Mas para atingir 0,01%, precisa dos diodos também !

 

Sem nenhum circuito, espere erros da ordem de 1,5 % , que deve ser o que você obteve alguns anos atras.

 

Você está se atendo na matemática apenas, mas tem de observar a característica que os PT100 apresentam no mundo real.

 

O seu método para diminuir o erro induzido pelos 60 Hertz está correto, DESDE que você faça as suas amostragens sempre sincronizadas com a passagem por zero, tipo assim fazer 32 leituras durante o ciclo inteiro da senóide de 60 Hz.

 

Mas pelo que conheço dos conversores A/D, creio que você não vai conseguir fazer nem mesmo 16 leituras, e isso a cerca de 14 bits. A 16 bits, acho que nem 8 .... mas isso é fácil de saber, lendo o datasheet do seu conversor.

 

Enfim, como aprendizado, acho que isto está sendo excelente para você !!!

 

O ESP tem potência de sobra para fazer todos os calculos, o seu calcanhar de Aquiles está na linearização de seu PT100 e a velocidade das leituras do conversor A/d .

 

Paulo

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

5 horas atrás, aphawk disse:

355 é o numero da página do jornal do próprio artigo publicado.... mas se você preferir é a página 11 do total de 13 que eu postei kkkk

 

 

Já li algumas vezes, acho vou acabar conseguindo decorar o artigo! Mas eu não quero este nível de complicação (não por enquanto), colocar 3 diodos 1N4148, dois AMPOP precisos, vários resistores de precisão (um já é caro, mas são mais 5), fonte simétrica, VRef de 10V, muito coisa e muito custo, acho que vou inicialmente só fazer a minha ideia inicial e ver o que acontece, eu sou muito curioso e realmente quero ver na prática o que acontece! Pena que hoje eu não tenho mais um banho térmico para fazer a calibração (há uns anos atrás eu conseguia isso aqui no trabalho sem nenhum custo), mas eu posso fazer um teste meia boca usando água destilada para pelo menos ver como se comporta em 0ºC e 100ºC!

 

Eu criei este tópico para ver como realmente se pode conseguir precisão, pena que no momento não dá para aplicar todas as sugestões!

 

Estou também curioso para ver como a medição vai se comportar chaveado a alimentação do R ref e do PT100 com 2N7000. Talvez eu coloque num osciloscópio! Precisava de alguma coisa que realmente me atiçasse a curiosidade e me motivasse à programar novamente no ESP32, já tem alguns meses que não faço mais nada!

Link para o comentário
Compartilhar em outros sites

@Intrudera6 ,

 

Eu falei para você ler para ver o erro e a não linearidade dos elementos tipo termopar, seja o tipo que for.

 

Uma vez isto compreendido, eu esperava que você desistisse de tentar medir isso com tanta precisão... mas como até agora você continua insistindo, vou ser mais claro kkkkkk :

 

De que adianta quebrar a cabeça com essa medição, se o seu sensor sem nenhum tipo de correção apresenta erros maiores do que 5 graus e não-linearidade de 1,5 % ( isso os melhores ! ) ?

 

Se quiser fugir da Eletrônica pura, pode ir para o lado mais prático : fazer um ensaio físico com esse seu PT100, levantando a curva dele com precisão de 0,01% e fazer depois uma tabela por software para corrigir a leitura.

 

Precisão é difîcil de se conseguir, senão um Fluke custaria igual a um Xing-Ling da vida, certo ?

 

Porque durante décadas os aparelhos da HP e da Rhode-Swartz custam muito maia do que os outros, e são encontrados em todos os laboratórios top ?

 

Quanto custa um resistor de 0,1 % comparado a um de 1% ?

 

Essa diferença de preço reflete a dificuldade de se obter esse nível de precisão....

 

Mas para fins didáticos, vale a pena voce ver todo o seu projeto em termos gerais, e ver aonde você chega, ok ?

 

Paulo

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

59 minutos atrás, aphawk disse:

Se quiser fugir da Eletrônica pura, pode ir para o lado mais prático : fazer um ensaio físico com esse seu PT100, levantando a curva dele com precisão de 0,01% e fazer depois uma tabela por software para corrigir a leitura.

Paulo, a ideia de uma tabela de correção é um pouco trabalhosa porém muito simples. Tem o mérito de corrigir pelo que é sem se ater a complicações das causas e modelagens matemáticas. Calcanhar de Aquiles: aonde conseguir termômetro de referência com a estúpida precisão acima citada de centésimos de ºC? Para décimos de ºC conheço os termômetros de mercúrio com range de poucos ºC mas o espectro de leitura deles é limitado.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Sérgio Lembo ,

 

Sim, concordo com você !

 

Mas pense comigo : se eu te der uma régua que marca apenas os milímetros, você consegue fazer uma medida em micra ?

 

Ou ainda pior : se eu só tiver uma régua chinesa, de 1 metro, graduada em milímetros, e me pedirem para fazer uma medida de alguns milímetros com erro garantido de menos de 1 %, você acha que eu posso afirmar que a minha medida atende esse requisito ?

 

Nenhuma medida é mais precisa do que o próprio instrumento utilizado !

 

Porisso que equipamento profissional é caro....  você também já trabalhou na área industrial e sabe que isso custa bem caro !

 

Neste tópico eu estou tentando mostrar exatamente essa conclusão, de que não adianta nada medir alguma coisa com milêsimos de porcento de resolução, sendo que o meu instrumento de medida apresenta erros centenas ou milhares de vezes maiores....

 

Se eu não posso comprar um equipamento que me garanta a linearidade e a resolução de minha medida, para quê vou insistir em medir com tamanha resolução ?

 

Paulo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

46 minutos atrás, aphawk disse:

Porisso que equipamento profissional é caro....  você também já trabalhou na área industrial e sabe que isso custa bem caro !

 Eu também trabalho na indústria, mas numa indústria muito pesada (que não tem nada a ver com eletrônica), e os equipamentos de precisão são realmente muito caros. Mas eu sou "meio" cabeça dura, gosto de ver para crer, e gosto de testar os limites do possível! Aprendo desse jeito, gosto de testar os conceitos (onde é possível), é muito melhor do que apenas pelos livros! E mesmo tendo lido tudo, e acreditando em você (você tem muita experiência) ainda quero ver o que acontece na prática!

 

Só não sei como vou conseguir comparar a medida do PT100 (calculando pela equação de 3º grau) com a temperatura com a precisão de pelo menos +/-0,01ºC ? Que falta me faz um bom laboratório metrológico! Aqui onde trabalho tinha um muito bom, não sei se ainda existe aqui na Bahia (na minha empresa), mas se existe eu não tenho mais acesso a ele, e nem sei mais onde fica!

 

Todos os circuitos de linearização do artigo são para saída linear de -2,0 à 8,5V (-200 a 850ºC), bem diferente de converter direto da resistência do PT100 para temperatura! Eu quero realmente ver o que acontece se eu apenas ler e converter pela função de 3º grau, que pelo artigo é função R PT100 x Temperatura.

 

Não tem jeito, eu sou mesmo teimoso! Mesmo que o que eu queira não faça sentido (obter uma medição precisa sem gastar muito com AMP OPs, resistências de precisão e etc). Pois parece simples demais obter a precisão num PT100, e se fosse assim os instrumentos medidores de temperatura precisos não seriam tão caros! Mas será que não existe alguns paradigmas e exageros?

 

Sei que você vai me achar muito teimoso, e eu realmente sou, e muito cabeça dura! Mas certas coisas eu preciso bater a cabeça na parede para realmente me convencer, às vezes com muita força! Eu sempre dei dor de cabeça aos meus professores, pois não aceito sem questionar, e provar às vezes dá trabalho!

  • Haha 1
Link para o comentário
Compartilhar em outros sites

42 minutos atrás, aphawk disse:

Se eu não posso comprar um equipamento que me garanta a linearidade e a resolução de minha medida, para quê vou insistir em medir com tamanha resolução ?

Esse comentário me faz lembrar do conceito que aprendi sobre qualidade:

Qualidade é o conjunto de características que atendem a uma demanda.

Seria interessante entender qual a exatidão e precisão demandada no projeto do autor. Sobre a resolução, alguns aspectos: mesmo que a minha exatidão seja de 0,5ºC isso não me impede de que este mesmo aparelho consiga ler uma variação de 0,02ºC. A incerteza da temperatura permanece em meio grau mas a graduação da leitura me fornece uma tendência de variação que pode ser utilizada num softer regulador de temperatura. A experiência de regulagem de temperatura mais cri cri que enfrentei era um evaporador de caldo de carne (o objetivo era obter um concentrado) com uso de vapor na parede da panela. Ajustava-se a temperatura do caldo para 0,1ºC abaixo do ponto de fervura para não prejudicar a qualidade da proteína. Até a pressão barométrica entrava na equação. Tempos em que se amarrava cachorro com linguiça e o 8080 era o xodó.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Intrudera6 ,

 

Oras, de qualquer maneira é um projeto legal de se fazer ! E a teimosia será sua aliada no aprendizado !

 

Vai conseguir um erro bem menor do que o que você havia conseguido alguns anos atrás !

 

Vai ver a dificuldade de se conseguir conversão A/d com 14 bits em menos de 1 milisegundo.... vai ter de programar uma interrupção de um Timer e se possível outra interrupção gerada pelo próprio conversor A/d para pegar o resultado.... vai ter de caprichar na blindagem e filtragem dos sinais ..... e claro que vai aprender um montão de coisa que vai ser útil no futuro !

 

Manda bala, meu amigo !

 

Paulo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...