Repetibilidade de medição de temperatura com módulo HX-711 e termopar tipo K

Boa tarde pessoal!

Tenho tentado montar um circuito para medição de temperatura com termopar tipo K utilizando um módulo HX-711 e um Arduíno, como mostra a imagem. Porém apesar do módulo ler os valores de entrada esses valores não dão repetibilidade, como mostra o gráfico anexado, pra uma mesma temperatura ele lê valores diferentes em instantes distintos, e normalmente o valor lido em sequencia é menor que valor anterior, fica mais claro olhando o gráfico. 

Sei que o módulo HX, a priori, é utilizado para leitura de célula de carga, porém ele nada mais é do que um conversor ADC com um amplificador diferencial na entrada. Então não vejo problema nesse sentido, porem não tenho mais nenhuma ideia do que possa causar esse tipo de problema.

Caso alguém alguém tenha alguma ideia a respeito eu ficaria muito agradecido.

Valeu!

Imagens do circuito e do gráfico:


Exibições: 3279

Responder esta

Respostas a este tópico

Que encrenca !!!

Como já informei em outro tópico, usarei o HX711 para medir temperatura do meu ferro de soldar. Farei a montagem e testes e depois eu te aviso.

O problema é que hoje estou muito ocupado...

http://labdegaragem.com/forum/topics/projeto-esta-o-de-solda

Abraços 

Gustavo 

Fazendo algumas suposições . 

ADC de 24 bits =>  2^24 = 16.777.216

Tensão de referência 5,12V ( entre os pinos E+ e E-) 

Canal A - ganho 128 => faixa de tensão -20mV a +20mV ( total 40 mV) 

128 x 40 mV = 5,12V 

O zero volts do ADC será 5,12V / 2 = 2,56 V ou ( 16.777.216 / 2) = 8.388.608

5,12V / 16.777.216 = 0,305 uV 

Se o seu valor deu 8.650.00, o valor diferencial é de 8.650.00 - 8.388.608 = 261.392

261.392 x 0,305 uV = 79,72 mV 

79,72mV / 128 = 622 uV  (valor real da tensão) 

Considerando que a tensão de um Termopar tipo K é de aproximadamente 0V para 0 ºC e para 10  ºC  deve variar entre 397 e 798 uV , seu circuito ou seu sketch devem esta realmente com problema. 

Veja a tabela de conversão de temperatura x tensão:

http://www.ecil.com.br/tabela/tabela-correlacao-k.pdf

http://labdegaragem.com/forum/topics/forno?commentId=6223006%3AComm...

bom dia Heitor.

     Tente as alterações que descrevo na figura a seguir:

     Muito importante: observe os seguintes pontos:

     1) manter os resistores R1 e R2 no valor indicado (1 Mega ohm). A tolerância pode ser 5% (esta tolerância não tem influência no resultado, devido à configuração do circuito e à topologia interna do HX711).

     2) o Capacitor C1 pode ser do tipo cerâmico ou tântalo (se usar este último, observar a polaridade, cujo terminal "-" deve ser ligado ao "E-" do HX711). Capacitor eletrolítico de alumínio NÃO pode ser usado de forma alguma.

     3) o Capacitor C2 pode estar entre 10 nF e 47 nF.

     4) o terminal "E-" do HX711não deve ser ligado ao GND do Arduino. Ligar apenas como indicado na figura.

     Nota:  Pela sua foto postada, parece que a alimentação que está vindo do Arduino é a de 5V. Assim, se possível meça com um multímetro digital, a tensão entre E+ e E-, mas com o módulo HX711 desconectado do circuito mostrado na figura (mas obviamente alimentado pelo Arduino). Ao fazer a medição, não toque com as mãos na parte metálica das pontas de prova. Se fizer esta medição, por favor, post aqui o valor medido.

     Espero ter ajudado,

     Abrçs,

     Elcids

Bom dia!

Fiz a medição aqui e tensão do módulo HX711 deu  3,6V. Medi com um multímetro fluke 27.

Vou testar o circuito sugerido e posto o resultado.

Valeu!

ok Heitor.

     Se esta tensão de 3.6V você mediu entre o E+ e o E-  do módulo HX711, então isto confirma minhas desconfianças de que o cálculo do AVDD mostrado no datasheet está com a equação errada. Infelizmente, enquanto os chinas não corrigirem isso, não saberemos qual a equação correta (podemos supor, mas desnecessário, já que o fabricante do módulo "descobriu" isso e ajustou adequadamente o "R1" e R2" mostrados no datasheet).

     Perguntei a vc sobre esta tensão, pois não tenho módulo aqui pra medir. Este valor de 3.6V, garante o funcionamento correto do HX711.

     Porém é preciso garantir também que seu sinal de entrada esteja na faixa correta, e a melhor forma de se conseguir isso é fazer com que seu sinal fique em torno da metade do AVDD, ou seja, em torno de 1.8V, e o divisor resistivo com os dois resistores idênticos, garante isso, junto ao fato de que o sinal gerado pelo Termopar ter um range total bem baixo. Esta análise sobre o AVDD/2, pode ser vista no datasheet, onde o range e os ganhos do PGA do HX711 são discutidos.

     Mas também deve-se tomar o cuidado para que a variação da Corrente de Bias do PGA ao longo do tempo, não cause flutuação da tensão DC equivalente na entrada do ADC do HX711, e o valor tão alto que vc usou para o divisor resistivo (10 Mega ohm), maximiza o efeito da variação da Corrente de Bias do PGA. Então é preciso reduzir esse efeito. E o circuito que eu propus, trata justamente disso.

     Mas veja que deve-se evitar ter uma carga resistiva em paralelo com o Termopar , já que a energia associada a esta tensão é baixa (já que a massa do Termopar é muito baixa). A tensão resultante no Termopar é dependente da temperatura, mas a energia associada não é. Esta energia  é dependente da "quantidade de calor" que o Termopar recebe. E sabemos que não será nenhuma energia tipo a de Itaipu. Então evite cargas resistivas em paralelo com o Termopar. Por essa razão aqueles dois resistores de 1 Mega ohm que vc tinha colocado originalmente, devem ser eliminados, pois se vc analisar vai ver que eles formam uma malha, a qual resulta estar em paralelo com o Termopar, sendo portanto uma carga resistiva para a energia gerada por este.

    Os demais resistores de 10k que vc usou, são dispensáveis.

    Já os dois capacitores de 1nF, devem ser substituídos pelo "C2" e pelo "C1" no circuito que mostrei. Inclusive C1 é muito importante para manter a tensão de 1.8V estável e livre de eventuais interferências. C2 também faz isso com a própria tensão gerada pelo Termopar  (e que vc vai medir), mas está mais relacionado a EMI (mesmo a resistência do Termopar sendo muito baixa, o EMI pode afetar resultados, de forma mais aleatória).

     Espero ter contribuído de alguma forma.

     Abrçs,

     Elcids

ah esqueci de mencionar:

      Se vc quiser acrecentar também um capacitor igual ao "C1" do circuito que mostrei, mas ligado entre os terminais "E+" e "E-" do módulo HX711, o Sistema ficará ainda mais estável. Veja que o capacitor sugerido no datasheet para isso, é de 10uF, mas não sabemos se o fabricante da sua "plaquina HX711" colocou este valor, uma vez que este valor é mais caro que valores bem mais baixos.

     Logo se quiser melhorar, coloque também um capacitor (cerâmico ou tântalo) entre o "E+" e o E-" do módulo, e o valor pode estar entre 1uF a 4.7uF (a mesma faixa que também sugeri para o "C1" no circuito que postei). Claro, a tensão de trabalho do capacitor deve ser acima de 6V.

    Abrçs,

    Elcids

Fala Elcids!

Tentei fazer exatamente como você recomendou e o resultado segue abaixo no gráfico. Aparentemente existe alguma inércia no sistema. Estou chegando à conclusão de que o módulo hx711, de fato, não é adequado pra isso, uma vez que tentei com dois módulos e os dois tiveram resultado similar. 

Observe o quanto ele desce e depois sobe. Varia muito. E demora muito tempo pra estabilizar.

Valeu!

bem Heitor,

    Então tá difícil. O comportamento é como se fosse um "erro de decimação" do Conversor Sigma-Delta do HX711. Como a taxa de amostragem é baixa, eu não ficaria surpreso se fosse um erro dessa natureza, ao longo do tempo. Mas não é algo tão óbvio de constatar.

    Talvez só mesmo testando com outro conversor pra confirmar. Mas caso venha a fazer isso, observe as recomendações que passei sobre o circuito. Certamente a interface analógica, ganhos e impedâncias serão outras, mas mesmo assim sempre há uma forma que é a adequada para a conexão de sinais para serem convertidos (por isso chamamos isso de Condicionamento de Sinal para A/D).

    Caso vc continue o trabalho e precise de alguma orientação, post aqui que certamente auxiliaremos.

    Abrçs

    Elcids

Me ocorreu algo agora:

     Eu não tenho experiência com células de carga, as quais são comumente usadas com este HX711.  Estas células são usadas em configuração de Ponte de Wheatstone, resultando no diferencial de tensão que medimos. E cada um dos quatro segmentos da Ponte de Wheatstone, neste caso praticamente tem a mesma impedância (pois o HX711 só "mede" as pequenas variações da mesma, que provacam um pequeno diferencial de tensão).

    Então talvez o HX711 esteja esperando que a impedância vista na sua entrada diferencial, tenha as impedâncias típicas destas células de carga.

    Eu não sei qual é a impedância típica destas células. Se alguém souber, poderia ajudar informando.

    Sabendo esta impedância, pode-se então substituir os resistores do divisor de tensão (aqueles de 1M no circuito que eu postei), de forma que a impedância vista pelo HX711, seja próxima à da célula de carga. Isto compensaria qualquer discrepância na impedância esperada pelo HX711, evitando um provável erro que estamos observando.

    Agora, se alguém postar aqui que esta impedância é algo entre 1M e 10M, ou mesmo mais, então Heitor parece não ter jeito mesmo.

   Abrçs,

  Elcids

boa noite Heitor.

    Como disse antes, não tenho experiência com células de carga, e por isso não sabia a faixa de impedância para estes elementos, comumente usados no mercado.

    Então após uma pesquisa, descobri que são impedâncias completamente diferentes daquelas que estávamos trabalhando no seu circuito. Em geral, a faixa vai de 100 ohms a 2 kohms.

    Então antes de descartar o HX711, parece que valeria a pena testar o mesmo com impedâncias desta ordem.

    Assim sugiro as seguintes alterações, mostradas na figura seguinte:

   Observe que devido aos valores bem mais baixos dos resistores, suprimi o capacitor C2, e realoquei C1 de forma que este contribua para manter mais  estável a tensão AVDD (aquela de 3.6V que vc mediu).

    Espero que essa alteração possa nos dar uma luz sobre o que se passava antes. Se der resultado, então teremos entendido que o HX711 exige impedâncias da ordem das células de carga conectadas ao seu PGA, pra ficar estável ao longo do tempo.

    Abrçs,

    Elcids

Fala Elcids!

Tentei também. O problema da repetibilidade persiste. Na segunda vou tentar o circuito proposto pelo José. Aí posto os resultados aqui.

Abraço!

Bom dia Heitor, 

Fiz alguns testes hoje, com bons resultados. Usei o Sketch do Comandante Rambo ( o mesmo que usou). 

E olha que eu tirei o delay também ! Aumentei a velocidade da serial para 38400, mas melhorar a visualização. 

https://pt.wikipedia.org/wiki/Rambo

Circuito usado :

Tela das medições do transdutor do Termopar tipo K do meu multímetro Fluke 17B+ :

Obs = o zero Volts do canal A do ADC HX711 (metade da tensão VREF) varia muito, pois a resolução é muito alta para a tela. Mas quando segurei a ponta do Termopar, a tensão estabilizou, subiu a curva. A curva caiu quando eu tirei os dedos. 

Minhas conclusões e recomendações :

1) Por que usar uma ponte de Wheatstone ? Nos meus testes, percebi que a tensão de VREF varia, quando o Arduino fica fazendo as leituras. Pode variar até 10 mV , que é uma catástrofe para uma faixa de medição de -20 mV a +20 mV .  Portanto usando uma ponte de Whetstone, a tensão nas entradas do canal A (em relação ao terra analógico) variam com a mesma intensidade e dessa forma não alteram o resultado, pois as entradas são diferenciais. 

https://pt.wikipedia.org/wiki/Ponte_de_Wheatstone

2)  Na montagem da balança no tutorial que eu revisei, a resistência de cada célula de carga era de 1000 ohms. Como eu não tinha 1000 ohms 1% , usei 10K 1% .  Não acho que deva fazer tanta diferença. 

http://blog.eletrogate.com/balanca-digital-com-arduino-aprenda-a-us...

3) O uso de resistores de 1% é importante, pois dessa forma é mais fácil equilibrar a ponte ! Se não tiver resistores de 1% pode usar potenciômetro  para equilibrar a ponte. Meça a tensão entre as entradas A+ e A- sem o termopar. A tensão tem que dar ZERO com o programa rodando no Arduino! Use um voltimetro de precisão na escala de mili Volts . 

4) Se a tensão do TermoPar K tiver negativa, inverta as pontas ! 

5) Não conecte o Terra analógico (E-) com o terra digital (GND) ! Isso atrapalha as medições. 

Esse programa do Rambo é bem simples e não tem tantos recursos. Fiz mais testes com essa biblioteca :

https://github.com/olkal/HX711_ADC

Veja os exemplos. Uma coisa chata no Módulo HX711 - sempre que carregar o programa, terá que calibrar o ajustes de tensão de referência ( zero do ADC). Pode ser que exista outra solução. 

Depois eu explicarei....

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço