Boa noite, este é o meu primeiro tópico. Estou com um problema em um projeto que envolve o desenvolvimento de uma balança digital usando Célula de Carga, HX711 e Arduino. Utilizei um código encontrado em um site alemão. O código segue abaixo:

#include <HX711_ADC.h> // https://github.com/olkal/HX711_ADC
#include <Wire.h>
#include <LiquidCrystal_I2C.h> // LiquidCrystal_I2C library
HX711_ADC LoadCell(3, 2); // parameters: dt pin, sck pin
LiquidCrystal_I2C lcd(0x3f,2,1,0,4,5,6,7,3, POSITIVE); // 0x27 is the i2c address of the LCM1602 IIC v1 module (might differ)
void setup() {
LoadCell.begin(); // start connection to HX711
LoadCell.start(2000); // load cells gets 2000ms of time to stabilize
LoadCell.setCalFactor(1100); // calibration factor for load cell => strongly dependent on your individual setup
lcd.begin(16, 2); // begins connection to the LCD module
lcd.backlight(); // turns on the backlight
}
void loop() {
LoadCell.update(); // retrieves data from the load cell
float i = LoadCell.getData(); // get output value
lcd.setCursor(0, 0); // set cursor to first row
lcd.print("Massa[g]:"); // print out to LCD
lcd.setCursor(0, 1); // set cursor to secon row
lcd.print(i); // print out the retrieved value to the second row
}

A leitura da massa funciona muito bem, e consegue ser bem precisa, pois, usando uma célula de carga de 2Kg, consigo obter valores bem próximos do especificado, como a massa de moedas, onde posso encontrar facilmente o valor na internet e comparar com o obtido pela minha balança. Entretanto, o problema é que, com o passar do tempo, a massa auferida aumenta ou diminui, indefinidamente. Estimei que, em 5 minutos, a massa aumenta/diminui cerca de 0.53g. Fiz um teste com 22min, e a massa auferida sem absolutamente nenhuma carga foi de 2g, ou seja, meu ZERO virou 2g. Porém, quando eu reseto o Arduino, o acúmulo some, e as medições voltam ao normal. Mas o problema dos acúmulos de massa voltam com o passar do tempo. Isso é um grande inconveniente, pois o meu projeto consiste em avaliar a taxa de desidratação de produtos inseridos em um desidratador solar. A balança ficará dentro do desidratador. No sistema completo são utilizados LCD e uma datalogger com o módulo de cartão de memória.  Todos esses módulos funcionam muito bem, o único inconveniente é essa variação contínua da massa. Para vocês terem uma ideia, certos produtos serão desidratados por 48h. Um acúmulo de 0.53g a cada 5min produz uma distorção inaceitável no projeto. Geralmente coloco amostras de 250g para serem desidratadas.

O que vocês acham? Pode ser algum problema na célula de carga, ou no HX711, ou no código, ou na minha montagem?

PS: A massa de acúmulo pode variar, não sendo necessariamente 0.53g, o problema é que sempre aumenta ou sempre diminui. E a constatação desse erro ocorreu fora do desidratador solar, ou seja, a temperatura não pode ser um fator de erro.

Exibições: 1125

Anexos

As respostas para este tópico estão encerradas.

Respostas a este tópico

Bom dia VLC,

Recomendações:
1. Remova seu sketch da área de texto do seu tópico;
2. Leia http://labdegaragem.com/forum/topics/sugest-o-de-como-postar
3. Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo
    com o seu sketch.

RV

Boa noite, envie foto mostrando as ligações do HX711.

Você fez o procedimento de calibração ?

E o procedimento de TARA ?

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

José Gustavo Abreu Murta, obrigado por responder. As ligações do HX711 estão Ok, e estou usando essa mesma montagem para o HX711: https://www.hackster.io/MOHAN_CHANDALURU/hx711-load-cell-amplifier-.... Mas não estou utilizando resistores, que também não são utilizados na montagem do hackster.io. O TARA foi feito, tanto que a massa é pega quase que perfeitamente. Por exemplo, a massa da moeda de 5 centavos banhada de cobre é de 4,10g. A minha montagem consegue pegar bem esse valor, com o mesmo ficando entre 4,08~4,12. Porém, como eu disse no texto-problema, com o passar do tempo a massa auferida começa a diminuir ou aumentar, sem qualquer mudança na carga. E então, é formado um acúmulo que vai crescendo naquela taxa aproximada de 0.53g que eu escrevi.

Imagem HX711: IMG_20180809_185541272.jpg 

Você esta usando qual Arduino?

Use uma fonte estável para alimentar o Arduino.

Não recomendo que use alimentação através da USB , nesse seu caso.

Meça a tensão entre E- e E+ . Não use o terra digital para medir. E nos informe.

Veja se a tensão esta estável. 

O programa que postou, não tem o  procedimento de TARA.

scale.tare();   

Uso o Arduino Mega 2560 R3.

Estou alimentando via USB com o meu notebook.

Farei como recomendou, avaliarei a tensão entre E- e E+.

Com relação a função TARE, estou utilizando a função:

LoadCell.setCalFactor(1100); // calibration factor for load cell => strongly dependent on your individual setup

Uso o fator 1100, qe funciona muito bem. Mas ainda persiste aquele acúmulo da massa. Aliás, vc recomendaria algum sketch que funcione perfeitamente para a celula de carga?

Isso não faz parte do procedimento de tara (zerar a balança) .

Faz parte do procedimento de calibração. 

LoadCell.setCalFactor(1100);

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

Eu esqueci de mencionar que utilizado uma célula de carga no modelo de barra. Não são aquelas mostradas nesse artigo: http://blog.eletrogate.com/balanca-digital-com-arduino-aprenda-a-us...

Usam o mesmo princípio. Você já tinha citado isso.

Tem que calibrar e zerar a balança. 

José Gustavo Abreu Murta, quero agradece-lhe pelo suporte. Fiz como você recomendou no tutorial. Segui-o passo a passo, e agora a balança funciona perfeitamente. Demorei para responder-lhe, pois o intuito era avaliar se ainda existiria algum acúmulo da massa. O acúmulo sumiu, deixei uma moeda por mais de 1h e o valor ficou excelente, com variação +-0.15g para uma moeda de 5 centavos(4,10g). Essa variação foi o máximo e mínimo que notei, na maioria das vezes, o valor ficava entre .4.02~4.19, o que é bastante razoável. Testei também com mais moedas, por um bom tempo, e o resultado superou as expectativas. Acho que entendi o seu conselho, apesar de insistir na alimentação via USB, mas desta vez, retirei o carregador da bateria do notebook, fiquei só na carga da bateria. Pelo o que experienciei, o resultado foi melhor, pois com o carregador conectado, a massa tendia a aumentar, pouco, mas aumentava. Foi aí onde notei o pico positivo de 0.15g acima da massa original da carga. Por fim, me restam algumas dúvidas de projeto... espero não estar abusando da sua paciência, e a dos colegas do fórum.

1) Eu sei que a alimentação que sai da bateria do meu notebook não é 5V, talvez 4.7V, e que é ligada via USB no Arduino. Isso me preocupa, pois no projeto será utilizado uma bateria que está fornecendo 12.8V. Faço a conexão dessa bateria com o Arduino através de um cabo jack que peguei de uma fonte antiga. Eu sei que, a alimentação máxima para a entrada jack é de 15V, e sei que o Arduino tem um regulador de tensão que baixará essa tensão para 5V, em teoria. Na prática, é quase certo que a tensão regulada será maior que 4.7V, talvez uns 4.9V. Isso significa que eu teria que TAREAR mais uma vez a minha balança para essa tensão regulada da bateria?

2) A temperatura interna no desidratador solar pode alcançar 70°C. E como informei, a balança ficará dentro do desidratador. Que implicações podem ser ocasionadas na medição da minha balança?

Obrigado pela ajuda!

Victor bom dia, 

Por isso insisti que lesse o meu tutorial, pois percebi que algo estava errado na sua montagem.

1) Pode conectar a bateria de 12,8V na entrada de power do Arduino. O regulador interno deve dar 5V aproximadamente. 

Recomendo que sempre antes de usar a balança, faça o procedimento de Tara (zerar). E depois acompanhe para saber se esse procedimento será realmente necessário e com que frequência. 

Você já viu que todas as balanças comerciais tem um botão de TARA ? 

2) Temperatura interna de  70°C ?? Somente circuitos eletrônicos especiais suportam essa temperatura !!!

Não use o seu circuito dentro de um recipiente com esse temperatura, pois ou não vai funcionar ou então vai queimar! 

Ok, muito obrigado pelo suporte, vou encerrar o tópico.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço