Pessoal, bom dia.
Estou aprendendo a usar PIC, principalmente usar o conversor A/D dele.
Já entendi o processo e estou brincando um pouco com isso. Porém estou com uma dúvida. Eu queria ligar uma célula de carga no PIC, para fazer a leitura de pesos. Só que ai que surge minha dúvida. Em todos os exemplos que eu vi sobre o uso do A/D, sempre os sensores são ligados no terra do circuito.
Porém, a tensão da célula de carga é feita por dois fios de saída, que não são ligados no terra do circuito.
Então como ligar essa célula para o circuito ler as informções?
Grato
Tags:
Depende bastante do modelo de célula que você tem, mas em geral elas são um arranjo em ponte de whetstone, por isso nenhum dos dois fios vai no terra. Pra fazer a leitura é necessário converter o sinal diferêncial em um sinal absoluto com referência no terra. O modo mais simples é usar um AmpOp pra isso
http://en.wikipedia.org/wiki/Operational_amplifier_applications#Dif...
O valor das resistências dependem da sensibilidade da sua célula.
Obrigado a todos por responder.
Eu não tive tempo de desenhar o esquema para colocar aqui. Acho que o Rodrigo deu uma luz aqui. Vou tentar e depois falo pra vocês.
Depois, reoslvendo ou não, eu coloco o esquema.
Abraços a todos.
como eu calculo o valor das resistências????
Tudo vai depender do datasheet da célula de carga,pois no circuito postado pelo Rodrigo, Rf e Rg determinam o ganho do Operacional. Então se por exemplo no datasheet da célula de carga, sua tensão mínima de saída for 0,01V e sua tensão máxima de saída for 0,05V pode-se calcular para o operacional um ganho de 100 vezes, e neste caso teremos na saída do operacional: 1V, para a tensão de saída mínima da célula (0,01v) e 5V para a tensão de saída máxima da célula (0,05V).
O cálculo de ganho é: -Rf / Rg Assim se usarmos Rf de 1M e Rg de 10K, teremos ganho 100.
R1 e R2 servem para limitar a corrente de entrada no operacional, pode-se experimentar valores entre 1K a 10K, ou até menos (acredito eu).
O ideal seria usar amplificador de instrumentação, ajuda bastante na rejeição de ruídos de modo comum Também use ampop da familia tl ou superior, esqueça a família lm nessa aplicação.
http://upload.wikimedia.org/wikipedia/commons/thumb/e/ed/Op-Amp_Ins...
A solução é um "amplificador de instrumentação", que é uma montagem com 3 amp.ops.
Existem integrados dedicados como o AD620.
http://www.google.com.br/search?q=amplificador+de+instrumentação&tbm=isch
Os resistores são em função do ganho. Vc precisa primeiro saber quanto de ganho precisa... Pra isso, caso não tenha o datasheet da celula, o jeito é medir com um multimetro a tensão dela sem nada e depois com o maximo de peso (ou 1/2, 1/4, basta um outro ponto qualquer da curva). Aih vc faz um conta em que ela quando estiver no máximo de peso dá quase o limite de tensão do seu AD (referencia).
Com esse ganho vc calcula os resistores com as formulas do databook do ampop. Normalmente sai tudo um em função do outro pq não importa tanto o valor do resistor e sim a relação entre eles. Se cair nessa chute 10K pra um deles que sai o outro.
Essa alternativa funcionou muito bem...
Meu unico problema é a oscilação dos valores...
Estou usando o seguinte codigo:
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,4,5,6,7);
void setup() {
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print(" iniciando");
Serial.begin(9600);
delay(1000);
}
void loop() {
//float samplek = analogRead(1);
int samplek = map(analogRead(1), 259, 505, 0, 500); //Esta funcao pega nos valores aramzenados
//na var diferença e faz uma adaptaçao de
//escala ou seja casa o valor 100.94 com 0ºC e o
//seu máximo 175.84com 200ºC,
lcd.setCursor(0,1);
lcd.print(mediamovelk(samplek),0);
lcd.setCursor(4,1);
lcd.print(" g");
Serial.print(mediamovelk(samplek));
Serial.print(" g");
Serial.println("..................");
delay (500);
}
float mediamovelk(float xis){
static float media = 0.0;
static int indice = 1;
if(indice ==0 || indice == 50){
indice = 1;
media = 0 ;
}
media = media + (xis - media) / indice++;
}
Se alguem pudece me dar uma ajuda para estabilizar esses valores, eu ficaria muito grato
fabiano, resolveu ? cheguei a uma aproximação boa usando um codigo pra calibrar
Mas é pra PIC ou pra Arduino?
Estamos medindo ºC (graus) ou Gramas????!!!
Cãofundiu aqui...
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por