Zerar residuo numa célula de carga

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Zerar residuo numa célula de carga

Mensagempor rosiley » 05 Mai 2016 15:15

Boa tarde pessoal.

Estou com uma dúvida que não consigo resolver, estou montando uma célula de carga e nesta célula preciso ter dois botões onde os mesmos farão a seguinte mudança.

Botão zerar, este botão deverá zerar o residuo que aparece na entrada do ´processador e o outro botão mudará a de Nm para LbFt.

Colocarei aqui a imgem parcial do circuito onde tenho circuito de condicionamento de sinal e tambem o circuito que simula o strain gage.

cpp code
#include <16F877a.h>           //Inclui arquivo header do PIC 1gf877
#device ADC = 10 //Define 10 bits para o resultado da conversão AD
#use delay (clock=10000000) /*Definição da frequência do cristal para cálculo dos delays*/
#fuses HS, NOWDT, PUT,BROWNOUT, NOLVP //Configuração dos bits de controle

//Função principal

void main()
{
int8 i;
int32 a; /*a = é o canal adc */
float p,a1,aux,aux1; /* p = valor do ADC e a1 = valor convertido*/

setup_adc(ADC_CLOCK_DIV_32);
setup_adc_ports(AN0_AN1_VSS_VREF);

i=0;
aux1=0;

while (true)
{
set_adc_channel(0);
delay_ms(20);
a=read_adc();
delay_ms(20);
p = 5.0 * (a/1024.0);

if (p>0.9) //Faz a correção para zero, neste caso 0.9 é o residuo do sensor em repouso
{
aux = p-0.9;
a1 = ((aux-aux1)* 1000); //Constante para conversão

delay_ms(200);
}
else
{
aux = p-0.9;
aux1 = p -0.9;
a1=((p - aux) * 0.00);

delay_ms(200);

}
}
}
rosiley
Nibble
 
Mensagens: 51
Registrado em: 01 Jul 2008 19:38
Localização: rio das ostras

Re: Zerar residuo numa célula de carga

Mensagempor KrafT » 05 Mai 2016 18:47

Bom, esse código é muito simplório para lidar com células de carga e outros transdutores com saída analógica.

Você deve filtrar as aquisições com um filtro como Sliding Window ou Olímpico, ou algo mais sofisticado.

A expressão
Código: Selecionar todos
a1=((p - aux) * 0.00);
sempre dá zero, certo?
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Zerar residuo numa célula de carga

Mensagempor andre_luis » 05 Mai 2016 19:32

Código: Selecionar todos
if (p>0.9)                 //Faz a correção para zero, neste caso 0.9 é o residuo do sensor em repouso

Não parece ser uma forma apropriada de fazer a tara da medida. De certo modo voce está amarrando o valor do resíduo na compilação, em hardcode, o que significa que se trocar de célula o offset vai ser outro. Não bastaria ler o valor atual e o subtrair da medida atual ( devidamente filtrado, claro, pra não se tornar negativo ) ?
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Zerar residuo numa célula de carga

Mensagempor xultz » 06 Mai 2016 08:00

Essa medição a 10 bits é realmente suficiente prá tua aplicação?
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Re: Zerar residuo numa célula de carga

Mensagempor brasilma » 06 Mai 2016 08:53

Imagino que seja algum projeto de escola, para fins didáticos o importante é a questão conceitual, já viabilizar um projeto real é bem mais complexo.

O botão de zero deve ser pressionado quando não houver nada sobre o prato de pesagem, o MC adquire o valor lido e sempre que fizer uma leitura de peso o desconta do valor.

1 Nm = 0.737562149277 Lbft
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Re: Zerar residuo numa célula de carga

Mensagempor rosiley » 06 Mai 2016 09:04

Bom dia a todos, como disseram o código é realmente simples, pois preciso entender para depois fazer as devidas mudanças, esse código eu consegui num video do youtube, onde eu vi que é possivel, pensei colocar o código dentro de um botão mais nos testes não e´bem assim que funciona, e na realidade é o que o nosso amigo brazilma falou, a melhor solução é.

Pergunta: como coloco uma imagem aqui no forum para que voces possam ver e entender o que estou fazendo.

rosiley
Nibble
 
Mensagens: 51
Registrado em: 01 Jul 2008 19:38
Localização: rio das ostras

Re: Zerar residuo numa célula de carga

Mensagempor brasilma » 06 Mai 2016 10:47

Se a imagem estiver na net você pode colar o link dela na página ou faça upload da imagem para algum servidor de imagens e cole o link na página.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Re: Zerar residuo numa célula de carga

Mensagempor rosiley » 06 Mai 2016 12:49

Segue o link da imagem.
https://uploaddeimagens.com.br/imagens/ ... png--15550

Nesta imagem eu tenho o ckt amplificador junto com a fonte e um ckt que simula uma célula de carga, onde ele gera 7,4 mv que é amplificado e gerando 3 v para o processador.
rosiley
Nibble
 
Mensagens: 51
Registrado em: 01 Jul 2008 19:38
Localização: rio das ostras

Re: Zerar residuo numa célula de carga

Mensagempor andre_luis » 06 Mai 2016 19:52

O link da imagem acima foi bloqueado pelo Chrome por falta de segurança.
Dá uma olhada aqui: Re: Como inserir uma imagem, figura, nos posts. MIGRADO
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Zerar residuo numa célula de carga

Mensagempor rosiley » 07 Mai 2016 08:31

Estou utilizando no momento o segundo circuito que pega o sinal que gera 7,4 mv e amplifica para 3v.

E a segunda imagem estou pensando em testar para ver o seu comportamento.

Em testes com o protótipo funciona tudo bem, exceto na leitura em tempo real pois preciso mostrar o valor em um display lcd e os valores tem um certo delay.
Você não está autorizado a ver ou baixar esse anexo.
rosiley
Nibble
 
Mensagens: 51
Registrado em: 01 Jul 2008 19:38
Localização: rio das ostras

Re: Zerar residuo numa célula de carga

Mensagempor Djalma Toledo » 08 Mai 2016 21:53

xultz escreveu:Essa medição a 10 bits é realmente suficiente prá tua aplicação?


Não é suficiente. As Balanças comerciais usam 24 bits.

Dj.
Djalma Toledo
Bit
 
Mensagens: 39
Registrado em: 14 Abr 2016 21:59

Re: Zerar residuo numa célula de carga

Mensagempor rosiley » 09 Mai 2016 08:58

Caro Djalma bom dia.

No momento estou usando 10 bits para fins de testes e caso funcione como estou prevendo passarei para 16 bits ou mais como voce falou.
Mais sobre o desenho que postei voce acha tem algo errado ou sou eu que não estou entendendo a lógica da coisa.
rosiley
Nibble
 
Mensagens: 51
Registrado em: 01 Jul 2008 19:38
Localização: rio das ostras

Re: Zerar residuo numa célula de carga

Mensagempor xultz » 09 Mai 2016 13:51

Eu já fiz algumas balanças, e trabalhar com 24 bits é irreal. Se dividir a tensão de fundo de escala de uma célula de carga por 2^24 dá um resultado que é abaixo da tensão de Johnson, ou seja, ruído puro. Dependendo da classe de precisão necessária, 16 bits (ou seja, 65536 divisões) costumam ser suficientes, em casos mais precisos é preciso mais alguns bits.
Eu tive a chance de assistir uma palestra com um vovôzão da Analog Devices, da área de conversores A/D para célula de carga. O cara era uma autoridade no assunto, um conhecimento enorme da área. Ele explicou de forma clara por que 24 bits são irreais em balanças, e eu perguntei por que raios a Analog vende conversores de 24 bits, e ele respondeu sem cerimônia: "puro marketing". Na prática, é impossível conseguir tamanha precisão.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Re: Zerar residuo numa célula de carga

Mensagempor brasilma » 09 Mai 2016 14:50

Para balanças com célula de carga com certeza AD de 24 bits é desnecessário pois legalmente o número de divisões permitida para estas balança gira em torno de 3.000 (150kg x 50g, 15kg x 5g ou 3kg x 1g).

Porem existem as balanças de precisão, uma Analítica básica (existem modelos avançados com ate 100x mais resolução) possui capacidade de 200g x 0,0001g, ou seja, 2 milhões de divisões visíveis; isto são 21 bits, se pensar no arrendondamento mais 1 = 22.

Mais ai é um outro mundo, no Brasil ainda não existe nenhum fabricante de balança de precisão deste nível. As dificuldades são grandes, todo sistema eletrônico deve apresenta grande estabilidade e imunidade, e estamos falando de sinais da ordem de nanovolts.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Re: Zerar residuo numa célula de carga

Mensagempor rosiley » 09 Mai 2016 15:27

Segue uma imagem de parte do circuito onde estou me baseando, pois ele funciona muito bem.
Você não está autorizado a ver ou baixar esse anexo.
rosiley
Nibble
 
Mensagens: 51
Registrado em: 01 Jul 2008 19:38
Localização: rio das ostras

Próximo

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x