AD com 5 digitos

Enviado:
07 Jan 2010 07:55
por cristian
galera estou fazendo uma balança para um cliente usando o pic16f877
mas percebir q a formula de conversao é para 4 digitos como seria para 5 digitos vou usar 10bits

Enviado:
07 Jan 2010 08:11
por fabim
hum..?
10bits = 1024 * resolução.
Qual seria a resolução ?
2.5V / 1024 ?
5V / 1024 ?
Se tem apenas 10 bits, 1024 valores como pode ter 5 digitos reais, e não ficticios para calculos ?
Isso se remete a step V/Bit.
Assim ó.
2.5Vref / 1024 = 2.44140625mV por 1 no adc, ou seja o peso binario.
516 por exemplo * 2.44mV = 1,25904
1 volt, e duzentos e cinquenta e nove mili volts.
Depois do 9 ja é microvolt.
A resolução é de 440uV, e se fizer calculos usando esses microvolt´s vai ficar variando muito o resultado.
Bom, mais se quer entender melhor como funciona o aumento dos digitos.
suponha que o seu Vref é de 2.5V. e 10 bits, lógico da o mesmo 2.44mV.
Veja.
isso pra CCS e mikroC e sei lá o que:
int resu,adc;
float dado_temp;
adc = adc_read(x);
dado_temp = adc * (25000.00 / 1024);
//// 25000/1024 = 24,4140625 <<
//// exemplo ADC = 512 * 24,4140625 =12500/// 5 digitos
resu = (unsigned int *)dado_temp;//pega inteiro de float, descarta mantissa
ou poderia simplesmente fazer assim.
int resu,adc;
float dado_temp;
adc = adc_read(x);
dado_temp = adc * (2500.00 / 1024);
resu = (unsigned int*)dado_temp * 10;
A resolução vai se manter igualzinha..
abraços, e boas 5 casas,
Quando puder aluga uma pra mim por uma semana, barretão ja ta aí..
Re: AD com 5 digitos

Enviado:
07 Jan 2010 08:45
por FabioSom12
cristian escreveu:galera estou fazendo uma balança para um cliente usando o pic16f877
mas percebir q a formula de conversao é para 4 digitos como seria para 5 digitos vou usar 10bits
Que conversão é essa?
Posta a rotina para podrmos falar algo.

Enviado:
07 Jan 2010 08:49
por Djalma Toledo Rodrigues
Use ADC 24 Bits. A Texas tem diversos
DJ

Enviado:
07 Jan 2010 09:04
por xultz
Balança com 10 bits? Esquece, nem balança de farmácia tem resolução tão baixa.

Enviado:
07 Jan 2010 12:32
por msamsoniuk
mas com 10 bits vc consegue apenas 3 digitos decimais!
veja as relacoes entre escalas 10**n e 2**m:
escala de 0 a 9 < 2**4 (16)
escala de 0 a 99 < 2**7 (128)
escala de 0 a 999 < 2**10 (1024)
escala de 0 a 9999 < 2**14 (16384)
escala de 0 a 99999 < 2**17 (131072)
escala de 0 a 999999 < 2**20 (1048576)
escala de 0 a 9999999 < 2**24 (16777216)
escala de 0 a 99999999 < 2**27 (134217728)
por exemplo, para 5 digitos de precisao, vc precisa de um AD de pelo menos 17 bits.

Enviado:
07 Jan 2010 12:44
por Djalma Toledo Rodrigues
Marcelo Samsoniuk escreveu:... por exemplo, para 5 digitos de precisao, vc precisa de um AD de pelo menos 17 bits.
Caro Marcelo Samsoniuk nunca confundas Precisão com Resolução
Para que haja Precisão é necessario Resolução mas, ter Resolução não é garantia de Precisão.
Eu indiquei os ADC de 24 Bits, ciente que excede mas, são os mais usados.
Abraço
DJ
Re: AD com 5 digitos

Enviado:
07 Jan 2010 12:47
por fabim
cristian escreveu:galera estou fazendo uma balança para um cliente usando o pic16f877
mas percebir q a formula de conversao é para 4 digitos como seria para 5 digitos vou usar 10bits
Agora vamos todos, ficarmos quietos e esperar ele explicar melhor.
Abraços

Enviado:
07 Jan 2010 12:54
por Djalma Toledo Rodrigues
<------------> Psiu! Silêncio no Forum.
rs
DJ

Enviado:
07 Jan 2010 14:44
por ze
cri cri cri cri cri cri cri cri cri cri cri cri cri cri cri cri cri cri cri cri cri cri cri cri cri cri cri cri cri cri

Enviado:
07 Jan 2010 18:32
por msamsoniuk
eu nao falei isso, mas acho que eh possivel inferir, nao eh? ;D hehehe
Djalma Toledo Rodrigues escreveu:Marcelo Samsoniuk escreveu:... por exemplo, para 5 digitos de precisao, vc precisa de um AD de pelo menos 17 bits.
Caro Marcelo Samsoniuk nunca confundas Precisão com Resolução
Para que haja Precisão é necessario Resolução mas, ter Resolução não é garantia de Precisão.
Eu indiquei os ADC de 24 Bits, ciente que excede mas, são os mais usados.
Abraço
DJ

Enviado:
08 Jan 2010 22:33
por cristian
galera éo seguinte vou usar um celula de carga de 5kg/20mv o cliente quer exibir de grama em grama e pediu 5 display para exibiçao
Fabim me explicou algumas coisas ...
entao achei este ci na microchip MCP3421 de 18bits custa 12,00 na farnell
o cliente quer q seja mostrado o seguite
4,9999 entederam se ele mudar a celula para 10kg vai ser
9,9999
o que vcs acham este ci resolve o problema vou utilizar CCS e pic16F877

Enviado:
08 Jan 2010 23:42
por Djalma Toledo Rodrigues
cristian escreveu:... vou usar um celula de carga de 5kg/20mv o cliente quer exibir de grama em grama e pediu 5 display para exibiçao
Esta claro que não é possível aplicar 20 mV no ADC. Há que tratar e amplificar esse sinal antes, através de Amplificador Operacional.
Sugiro colocar hum ou dois digitos a adicionais, apenas estes ficarão ocultos.
DJ

Enviado:
09 Jan 2010 11:55
por xultz
Cristian, vou te dar umas dicas, porque já fiz algumas balanças na vida e sei o sofrimento que é.
Primeiro: fazer balança é muito mais difícil do que parece. Sério. O buraco sempre é mais embaixo. Se a balança precisar de certificação no Inmetro, isso quer dizer que ela vai passar por ensaios de laboratório de estabilidade térmica, e pelo maldito ensaio de compatibilidade eletromagnético. É aí que o pesadelo começa.
Por isso, o projeto de uma balança deve ser muito, muito cauteloso. E se é tua primeira balança, ouça o conselho de quem já passou por isso.
A literatura mais F*** a respeito do assunto, que eu conheço, se chama Analog-Digital Conversion, publicado pela Analog Devices. Eu tenho o livro impresso, ganhei num seminário da Analog que um cara parecido com o papai noel e com mais de 30 anos de experiência no assunto deu. Procura por esse material no site da Analog, se eles não tiverem pdf solicita uma cópia ao distribuidor, mas é uma literatura muito boa e que me ajudou em vários momentos.
A primeira coisa que você precisa pensar é na resolução da tua balança. Teu cliente quer 5kg de fundo de escala, de grama em grama, isso quer dizer 5.000 divisões. O problema é que a célula de carga não pode ser de 5kg, porque se o cliente colocar uma melancia de 6kg em cima da célula, ela empena e não pesará direito nunca mais. Portanto, você vai ter que colocar uma célula mais tolerante, tipo 10kg. Só que dessa forma, metade da excursão de sinal da célula vai pro saco, ela aceita 10kg mais você vai colocar no máximo 5kg nela. Isso quer dizer, por exemplo, que se a célula é de 10mV/V, se alimentar com 5V ela gera 50mV no fundo de escala. Mas se ela for de 10kg, com 5kg vai gerar no máximo 25mV. O que quer dizer que precisa amplificar o sinal.
Aí você tem dua opções: a primeira é colocar na entrada um amplificador de instrumentação, a famosa linha INA da Burr Brown (que hoje pertence à Texas). Esses amplificadores são um xuxuzinho: pequenos e simples de usarem, basta um resistor prá determinar o ganho, ou melhor ainda, com ganho fixo. Se você puser um amplificador de ganho 100, na saída terá 2,5V para uma entrada de 25mV. Aqui vem uma dica que só se aprende se lascando com a balança: resistor varia o valor com temperatura. Tá, todo mundo sabe disso mas sempre se esquece, ou ignora, na hora do projeto. Só que uma variação de 0,1% num resistor que determina o ganho do amplificador de entrada pode avacalhar com a precisão da balança. Amplificador com ganho fixo são mais estáveis porque tem compesação de temperatura.
Depois de amplificar, tem que passar por um conversor AD.
Outra opção é usar um conversor AD com amplificador interno. O mais xuxu que já trabalhei é o AD7730, mas é uma facada. Tem uma versão mais em conta, que é o AD7718. Fora estes, a Cirrus tem uma linha muito usada por balanças, a Texas tem boas opções também. Porém acredite: o coração da balança (ou seja, a precisão e repetibilidade dela) está na célula de carga e no AD. Se tiver esta opção, não economize muito nestes dois itens e você será uma pessoa feliz.
Tá, e quantos bits deve ter o AD? Olha só, você precisa de 5000 divisões. Se tua célula de carga trabalhar na metade da capacidade no fundo de escala (por exemplo, a célula de 10kg que vai trabalhar no máximo com 5kg), é bom dobrar o número de divisões (isso é uma típica regra de polegar, ou rule of thumb, e não tenho embasamento teórico prá isso), então você precisa de 10.000 divisões. Só aí você já vai precisar de pelo menos 14 bits. Porém, tudo em volta tem ruído. E os últimos bits do AD fatalmente vai ter ruído. O ideal é ter bit prá jogar fora. Pelo menos uns 2. Assim, é mais confortável trabalhar com pelo menos 16 bits. 65.000 divisões, é bem mais confortável.
Esta é a primeira etapa da balança.
A segunda, que parece bobagem, é a fonte. A fonte é muito, muito importante, porque é dela que todas as referências são derivadas. Uma regra boa de se seguir é nunca jamais usar fonte chaveada em balança. Tem gente que consegue, mas é um pesadelo. A fotne chaveada tem ruídos sob forma de energia que a humanidade sequer conhece ainda (minha teoria), porque o treco é sinistro. Se possível, faça uma fonte com transformador, retificador, um baita capacitor e regulador série. É tosco, mas é confiável.
O roteamento é outro capítulo na novela, mas não falar do assunto agora, mas é muito importante cuidar dele, já tive comportamentos incrivelmente diferentes de um mesmo circuito para dois roteamentos de uma balança.
Por último, escolha o microcontrolador, o display e o teclado.
No firmware, existem milhares de macetes prá melhorar a balança, como implementar filtros de software, auto-zeramento da balança quando está ociosa, pré aquecimento da célula, threshold para indicar mudança no display, entre muitos outros. Mas isso também é assunto para mais prá frente.
De resto, boa sorte prá você.

Enviado:
09 Jan 2010 12:24
por Djalma Toledo Rodrigues
Estava cojitando alertar que isso não é coisa para 'amador'
mas, ao mesmo tempo exitava pois poderia desanima-lo
Agora, após msg do Xultz, o faço.
DJ