Lendo célula de carga e LVDT com arduino e conversor Nanoshield ADC 16 bits

Olá, galera estou em um projeto onde a precisão da leitura é importante.

Pra aumentar minha precisão para ler uma célula de carga e um LVDT, estou pensando em utilizar 

um conversor Nanoshield ADC de 16 bits com o Arduíno Uno, pois a resolução de 10 bits do Arduíno é pequena para meu projeto, ficaria  muito impreciso.

Oque eu pensei foi o seguinte: minha célula de carga tem saída de 0 a 20mV, vou ultilizar um conversor de sinal pra ajustar a saida para 0 a 5V pra usar toda escala de leitura do Nanoshield ADC que é de 0 a 5V. A entrada analógica dele, em relação ao GND me da uma resolução de 15 bits.

Minha célula de carga tem capacidade máxima de 490333N( Newton),dividindo isso por 32767 (15 bits)

eu teria uma precisão de 14,96N por bit, oque é uma excelente precisão para o projeto. O mesmo eu penso em fazer com o LVDT, usar um conversor de sinal para ajustar a faixa de saída e e liga-lo ao Nanoshield ADC.

Tenho algumas dúvidas, pois sou da área de Engenharia Civil e totalmente leigo no assunto. Gostaria de saber se na hora de programar eu teria que colocar algum código novo pra ler o sinal pelo Nanoshield ADC? Não sou da área e não sei direito nem os elementares kkkkk. Seria muito complicado fazer esse esquema acima? 

Outra dúvida q algumas pessoas me falaram, com o aumento da precisão a taxa de interferência tb aumentaria. Esse aumento do sinal de ruido realmente é grande e deveria ser levado em conta?ou é um aumento pequeno e a medida n oscilaria muito e pode ser desprezado?

Segue abaixo os componentes.

Exibições: 2614

Responder esta

Respostas a este tópico

Paulo, o sinal da sua célula de carga é muito baixo. Esse sinal poderá sofrer interferência se o circuito e cabos não forem blindados. A variação é essa mesmo ? 0 a 20 mV ? Poderia enviar as especificações da célula?

Não será nada fácil medir essa célula.

Normalmente balanças usam conversores ADC de muitos bits - 20, 22 ou 24 bits ! Acho que 16 bits será pouco. 

É um projeto audacioso, mas não impossível .

Terá alguns desafios, como blindagem à ruídos, amplificador de sinal com precisão.

Nunca trabalhei com isso. Mas posso tentar ajuda-lo.

Não estava entendendo a especificação da célula de carga. Mas encontrei isso:

http://www.aandd.jp/products/weighing/loadcell/introduction/pdf/6-1...

Exemplo : Capacidade Nominal = 6 Kg

                Sensibilidade = 1 mV/V 

                Tensão de excitação = 10 V  ( o sensor é baseado numa ponte de Wheatstone) 

Quando a saída nominal é de 1 mV / V e a tensão de excitação é de 10 V, a célula de carga irá imprimir 10 mV para o indicador. Esta é a tensão de saída quando a capacidade nominal de 6 kg é carregada.

                                 (Carga) 6 Kg  ====>   10 mV (Tensão de Saída) 

Se queremos pesar um objeto de 6000 g usando esta célula de carga e exibir o resultado de 1 g (1 g é chamado de valor minimo de pesagem ). Quantos mV será a saída para uma carga de 1 g?
Desde a Tensão de saída da célula de carga é de 10 mV para uma carga de 6 kg,

Portanto  a sensibilidade de entrada do indicador não deve ser inferior a 1,6 uV. 

No seu projeto pretende medir suponhamos 50 Toneladas. 

O sensor tem sensibilidade de 2 mV/V e a tensão de excitação recomendada é de 10 V.

Assim quando tiver um carga de 50 Toneladas sobre a célula de carga, a tensão a ser medida será de 20 mV. 

Supondo que usará o ADC de 24 bits HX711, ele já possui internamente um amplificador de ganho configurável- Ganhos de 32 (Canal B) e  64 ou 128 (Canal A)

A entrada diferencial do Canal A foi concebida para interagir diretamente com um saída diferencial de um sensor de ponte. Ela pode ser programada com um ganho de 128 ou 64. Os grandes ganhos são necessários para ajustar o sinal de saída a partir do pequeno sinal do sensor.

Quando a tensão de 5V é aplicada no pino AVDD, estes ganhos correspondem a uma escala completa de tensão diferencial na entrada de ± 20mV ou ± 40mV respectivamente.

Após um reset ou evento de desligamento, a seleção padrão de ganho para o canal A é de 128. 

Entrada e ganho de selecção é controlada pelo número dos impulsos de PD_SCK entrada (Tabela 3). PD_SCK impulsos de relógio não deve ser inferior a 25
ou maior do que 27 dentro de um período de conversão, para evitar causar erro de comunicação serial.

(Traduzido com a ajuda de https://translate.google.com.br)

Acho que a comunicação do ADC com o Arduino não será dificil , baseando me no exemplo de programação em C que tem no data sheet .

Veja as resoluções : 

ADC 10 bits => 50 Ton / 1024 ~48 Kg 

ADC 12 bits => 50 Ton / 4096 ~12 Kg 

ADC 16 bits => 50 Ton / 65536 ~0,76 Kg 

ADC 20 bits => 50 Ton / 1048576 ~0,047 Kg 

ADC 24 bits => 50 Ton / 16777216 ~0,003 Kg 

Boa noite!

Tens rotinas para HX711 e PIC16F?

Grato, Odair

Boa tarde, mão tenho o que precisa. 

Atenciosamente, 

Gustavo

Obrigado por responder!

Vou comprar e fazer uns testes!

Pode converter os programas do Arduino para o PIC ?
No link que eu postei tem exemplos que poderão ser usados .
https://www.sparkfun.com/products/13230

Bom dia!

Programo PIC em Assembly e alguma coisa em C, então na realidade o que eu gostaria de saber é mais ou menos assim:

_Poe pino clock em 1 e espera por x ms

_Poe pino clock em 0 e espera por x ms

_Testa entrada dados e espera x ms...

Minha cabeça funciona em assembly, entendo a "raiz" da programação, então tenho que entender como dar um start na leitura, receber os dados e como finalizar a mesma.Grato, Odair

Odair

As informações que você precisa estão no datasheet do componente.

datasheet HX711

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço