Comprei uma balança digital de cozinha modelo SF-400 que mede pesos de 0 a 10Kg com resolução de 1g.
Estou hakeando a mesma, puxando para fora os fios da célula de carga para registrar o peso pelo Arduino.
Estou usando o CI INA125PA para amplificar o sinal e usando a porta analógica para receber este sinal amplificado.

Acontesse que com pesos padronizados de 100g, 150g, 300g, 500g, 1500g não consigo obter leituras constantes pelo Arduino.

Sem nenhuma carga na balança já tenho uma leitura de valor 17 na porta analógica. Se coloco 100g ou 150g ou 300g continuo recebendo o valor 17. A partir de 500g o valor varia de 20 a 25 e com 1500g o valor varia de 717 a 868 na porta analógia. Se coloco um peso maior que 2Kg bate no valor 1023 que é o limite da porta analógica do Arduino.

Não preciso medir pesos além de uma faixa de 500g a 1500g com resolução que pode ser até de 10g

Mas não estou obtendo valores constantes e lineares nas minhas medições.

Será que é interferência e/ou mau contato na protoboard nas ligações da célula de carga com o CI INA125PA e deste com o Arduino?

Obs.: O AREF da porta analógica está externo em 3.3V, o resistor de ganho do INA125PA é de 10 Ohms e a alimentação do circuito é de 5V.

Exibições: 12607

Responder esta

Respostas a este tópico

Na verdade é acrílico com uma transparência igual ao do vidro.

A grande questão é saber se um LDR consegue captar a mudança de meio, ou seja, da luz passando do meio ar para o meio água. E se a mudança entre estes meios é muito sutil a ponto de ser confundida com possíveis imperfeições do acrílico.

É um teste que tentarei fazer em breve.

Sobre laser e água, achei este vídeo, pra criar um microscópio com uma caneta laser é uma gota d'água, mostrando que pode haver muita refração da luz laser no meio água:

http://www.tecmundo.com.br/ibere/16038-microscopio-caseiro-com-lase...

Wagner,

Acho que não precisas fazer os sernsores com movimento, dá pra calibrar para o sensor "perceber" se tem água ou não, porque ela desvia o feixe de luz. Para facilitar a leitura, eu colocaria o sensor dentro de um tubo (fosco e opaco).
Tem que testar duas coisas:
-a potência da fonte, ver se ela gera luz suficiente para atravessar a água.
-se o acrílico não espalha a luz (dá pra colocar a fonte de um lado do filtro sem água e o sensor do outro).
Não sei se não vai ser necessário usar um laser...
Infravermelho é parcialmente absorvido pela água e pelo acrílico e, por isso, nem todo IR emitido chega no sensor.
Abraço

Andre,

Vou fazer o teste do laser com o LDR no filtro com e sem água.

Só tenho o laser vermelho. 

Dizem que o laser verde é mais potente.

Abraço,

Wagner

A sua ideia é simples, mas a execução é complexa e talvez pode ser resolvida com algo mais simples rsrs.

Não sei o modelo do seu filtro, mas se fosse eu, teria inserido um sensor de nível, deste utilizados em bebedouros comerciais. Mas como você não quer perfurar o mesmo, fica bem mais difícil, mas ciência é isso ai.

Nunca utilizei,  mas será que um sensor ultrassônico não conseguiria medir a variação de densidade do reservatório para saber se está vazio ou cheio? Acredito que deve haver uma variação tênue entre uma situação e outra, imagino que seria quase como bater na caixa d'água para saber se está cheia ou não, mas sem abrir.

Posta uma foto do Filtro que você quer fazer o projeto, talvez ajude nas ideias.

Olá Tiago,

Não queria alterar o filtro.

São dois volumes a serem medidos: o da água sem filtrar e o da água filtrada.

Entre estes dois volumes tem o filtro de carvão ativado.

Quero medir o volume total. Veja a foto abaixo:

Wagner

e ae já resolveu o dilema?

Estava aqui pensando será que um Sensor de força resistivo com área de detecção de 0,5 " de diâmetro não resolvia o problema, ficaria igual a sua ideia inicial da balança só que mais simples. tem dele na loja do Lab de Garagem, tem baixa precisão ( mede entre 100g e 10 kg), mas acho que para o que você quer serviria bem e resolveria os dilemas anteriores de não perfurar o reservatório.

Talvez se coloca-se ele entre a base e o filtro, ele verificaria de tempos em tempos o peso do reservatório. Desta forma poderia notificar se o mesmo está cheio ou vazio.

Só precisaria ver com os entendidos do fórum se o sensor resistivo deste tipo tolera pressão continua,

Wagner 

Tenho quase certeza qual é o seu problema, quando falou "Sem nenhuma carga na balança já tenho uma leitura de valor 17 na porta analógica. Se coloco 100g ou 150g ou 300g continuo recebendo o valor 17."

Dê uma verificada no ganho que colocou para o circuito de amplificação do sinal. Se estiver muito alto o ganho a leitura ficará constante quando aplicada uma certa força, então diminua o ganho para obter algum sinal. 

Abraço 

Eduardo,

Conforme respondi ao Carlos (abaixo), fiz os ajustes de ganho com trimpot, mas o máximo que consegui foi uma leitura confiável na faixa de 300g a 3Kg. Não seria a limitação do conversor AD 10bits do Arduino?

Abraço,

Existem algumas coisas que são necessárias para que possa funcionanr adequadamente:

1 - Correção do Offset do INA125

2 - Calibração do Offset do Convesor ADC do Arduino.

3 - Calibração do valor da referência interna.

4 - A utilização de ligações mais curta possível para evitar ruídos e a utilização de cabos blindados na Célula.

Carlos,

Acredito ter feito estas correção e calibração com os trimpots, conforme esquema abaixo:

Fonte da figura: https://learn.adafruit.com/smart-cocktail-shaker?view=all

No software tenho aplicado a fórmula para a calibragem de referencia interna: 

// Lê a célula sem carga

ZERO_OFFSET = readADC(ADC_PIN);

// Lê a célula com uma carga conhecida

float measure = readADC(ADC_PIN) - ZERO_OFFSET;

// Informa o valor desta carga conhecida

  float grams = Serial.parseFloat();

// Cria fator de converção da leitura da célula para gramas

GRAMS_PER_MEASUREMENT = grams / measure;

A fiação é metade da fiação da balança, pois cortei os fios ao meio. Portanto,  o INA125 está até mais próximo da célula de carga.

Melhorou muito o range de medição das cargas, mas não consegui obter o mesmo range da balança: 0g a 10Kg com passo de 1g. No máximo: de 300g a 3Kg.

Li por ai que o ADC de 10bits do Arduino não é suficiente e que deveria usar um de 20 bits. 

Com dos dados que você já forneceu, vamos verificar qual resolução necessária do ADC para

atender as suas expectativas. OK?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço