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:
Tags:
Boa tarde José!
Você chegou a a testar a repetibilidade, se pra mesma temperatura o circuito sempre dá o mesmo valor?
Boa noite,
Sim, em outro sketch que eu testei para medir a tensão (mili Volts) no termopar tipo K com a Biblioteca HX711_ADC.
O chato é que nessa biblioteca eu tinha que calibrar o circuito ( tara para balança) antes de fazer as medições, senão os valores ficavam errados.
Eu ligava um fio entre as entradas do canal A. Pressionava T para Tara ( zero da balança) e depois fazia as medições. Isso que eu achei muito incômodo.
#include <HX711_ADC.h> // Biblioteca HX711_ADC
HX711_ADC LoadCell(6, 7); // HX711 constructor dout pin = D06 , sck pin = D07
long t; // variável para tempo
void setup()
{
Serial.begin(38400); // monitor serial a 38400 Bps
Serial.println("Aguarde 1 segundo ..."); // imprime mensagem
LoadCell.begin(); // inicializa a balança
long stabilisingtime = 1000; // tempo para estabilização do ADC 1 segundo
LoadCell.start(stabilisingtime); // iniciando o ADC
LoadCell.setCalFactor(128.0); // fator de calibração = 128 (ganho do canal A)
Serial.println("Inicializacao realizada");
}
void loop()
{
LoadCell.update(); // atualiza a balança
if (millis() > t + 250) // contagem de tempo 250 milisegundos
{
float i = LoadCell.getData(); // faz a leitura da tensão
float v = LoadCell.getCalFactor(); // faz a leitura do fator de calibração
Serial.print("Tensão no Termopar: "); // imprime mensagem
Serial.print((i / 4250), 3); // divide o valor por 4250 com 3 casas decimais
Serial.print(" Fator de ganho "); // imprime mensagem
Serial.println(v);
t = millis(); // atualiza o tempo
}
if (Serial.available() > 0) // se a serial estiver disponível
{
float i; // variável i
char inByte = Serial.read(); // lendo a tecla digitada
if (inByte == 'l') i = -1.0; // l para diminuir 1
else if (inByte == 'L') i = -10.0; // L para dimunir 10
else if (inByte == 'h') i = 1.0; // h para aumentar 1
else if (inByte == 'H') i = 10.0; // H para aumentar 10
else if (inByte == 't') LoadCell.tareNoDelay();// t para atualizar tara
if (i != 't') // se for diferente de t
{
float v = LoadCell.getCalFactor() + i; // incrementa o fator de calibração
LoadCell.setCalFactor(v); // carrega o fato de calibração
}
}
if (LoadCell.getTareStatus() == true) // se tara realizada com sucesso
{
Serial.println("Tara completa"); // imprime mensagem
}
}
Opa!
Vou tentar montar dessa forma na segunda.
Bom dia Heitor ,
Já pensou em usar módulo de medição de temperatura de termopar tipo K = MAX6675 ou MAX 31855 ?
https://datasheets.maximintegrated.com/en/ds/MAX6675.pdf
https://datasheets.maximintegrated.com/en/ds/MAX31855.pdf
Veja o tópico sobre o Forno de Padaria.
http://labdegaragem.com/forum/topics/forno?commentId=6223006%3AComm...
Para usar o MAX6675 :
http://henrysbench.capnfatz.com/henrys-bench/arduino-temperature-me...
Boa noite José!
Já.
O MAX6675 não mede temperatura negativa. Preciso medir temperatura negativa.
O MAX31855 não encontrei pra comprar. Mas serviria.
O que eu encontrei no mercado pra comprar é esse: https://produto.mercadolivre.com.br/MLB-1023342249-modulo-para-term...
Porém, não estou querendo/podendo gastar dinheiro.
Abraço!
Boa noite Heitor,
Bem observado - o MAX6675 não mede temperatura negativa.
O jeito é agarrar o boi pelo chifre com o HX711.
Mais uma sugestão importante:
- como sempre informo para os colegas do Lab , a precisão das medidas de um conversor ADC depende da tensão de referência. Se a tensão não for estável e precisa, o conversor pode medir tudo errado.
Sugiro que use um chip de tensão de referência entre os Pontos de alimentação da Ponte de Wheatstone. Não use o pino E+ do HX711, mas conecte o E- no terra da ponte, entendeu ?
Chips de tensão de referência (informe se vai usar algum, que depois eu explico como usá-lo) :
Senhores!
No fim das contas acabei pedindo o professor pra comprar a placa específica para termopar.
Mas depois cheguei a testar os dois módulos HX que eu tinha mãos com a célula de carga e aparentemente
o problema persiste mesmo com a célula de carga. Ou seja o defeito estava no módulo HX711.
Então fica a alerta pra quem for comprar esse módulo. TOMEM CUIDADO COM O FORNECEDOR.
Gostaria de agradecer todos que me ajudaram com esse problema.
Bom dia,
Eu ainda acho que o seu módulo HX711 deve estar bom...
Eu diria que é muito improvável, que dois módulos tenham o mesmo sintoma de erro.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por