Autor Tema: BASCULA CON 16F877A Y CELDA DE CARGA HELP!!!  (Leído 27988 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Sacahe

  • PIC12
  • **
  • Mensajes: 68
BASCULA CON 16F877A Y CELDA DE CARGA HELP!!!
« en: 19 de Abril de 2010, 00:20:14 »
Hola amigos!!!!

Estoy realizando una bascula con un PIC16f877A y una celda de carga. Mi problema es que no tengo las especificaciones de la celda de carga unicamente tengo algunas lecturas que he tomado con un voltimetro al pesar unos pesos patrones, asi:

Peso(kg)        mV
       0      -->   0,4  (peso muerto)
       50    -->   2,8   
      100   -->   5,2
      150   -->   7,6
      200   -->   10,0
      250   -->   12,4
      300   -->   14,8 

La celda de carga la alimente con 12v al realizar estas mediciones. Ahora mis inquietudes son las siguientes:

- Como calculo partiendo de las medidas que realice, la respuesta de la celda de carga con pesos que varien en 1kg y en 100gramos?
- La señal entragada por la celda de carga es muy pequeña, entonces que ganancia debo aplicar en el amplificador (AD620) en ambos casos?

Hasta ahora estas son mis inquietudes, de seguro surgiran mas, por lo pronto estare atento a sus sabias respuesta...gracias!!

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: BASCULA CON 16F877A Y CELDA DE CARGA HELP!!!
« Respuesta #1 en: 19 de Abril de 2010, 00:58:20 »
Hola.

Grafica los puntos que tienes y mira que comportamiento tiene. Si estas de suerte  :mrgreen: y es lineal, entonces, calcula la ecuación de la función y podrás hallar los valores reemplazando. Te recomiendo que tomes mas puntos, claro, si tienes mas patrones.

La ganancia la calculas en función del máximo valor que piensas medir, para ese valor, debe quedar en 5v que es el valor máximo permitido de entrada para el ADC. Lo bueno de ese operacional es que la ganancia se adecua con una sola resistencia.

Saludos
El papel lo aguanta todo

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: BASCULA CON 16F877A Y CELDA DE CARGA HELP!!!
« Respuesta #2 en: 19 de Abril de 2010, 09:46:31 »
Por lo que dices, tu celda de carga es de 500 Kg y la resolucion es de 2 mv/V.
Deberia tener estampado el numero 500 que corresponde al peso maximo.

Pensar en tomar hasta 1 Kg en esta celda es realmente una locura, deberias tener una celda de 5 o 10 Kg para hacer eso.
Aun asi, tu maxima salida en la celda sera de 24,4 mV cuando apliques 500 Kg sobre ella y este alimentada con 12 VCC (normalmente esa es la maxima tension para alimentar una celda de carga).
Por lo tanto si quieres amplificar 20 mV hasta llegar a 5 V para tu entrada analogica del PIC vas a tener que ponerle una ganancia de 200.  (5000 / 24)

Te aconsejo usar una referencia externa de 2,5V conectada a los pines Vref del PIC y usar la mitad de ganancia en el amplificador, asi tienes menos inestabilidad en la lectura.
Poniendo el conversor del PIC a 10 bits tendras una resolucion de +/- 500 gramos.

Ves porque digo que es una locura pesar 1 Kg con esa celda?? :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Sacahe

  • PIC12
  • **
  • Mensajes: 68
Re: BASCULA CON 16F877A Y CELDA DE CARGA HELP!!!
« Respuesta #3 en: 19 de Abril de 2010, 15:39:59 »
La celda de carga si es lineal puesto que vemos segun las medidas que tome que cada 50kg la salida se incrementa en 2.4mV. Listo ya obtuve la ecuacion de acuerdo a los puntos mencionados, seria y=0.048x+0.4, donde y son los mV y x los Kg. En este sentido hacemos las siguientes relaciones:

Peso(gr)        mV
       0       -->   0,4      (peso muerto)
      100    -->   0,4048   
      200    -->   0,4096
      300    -->   0,4144
      400    -->   0,4192
      500    -->   0,424
      600    -->   0,4288
      700    -->   0,4336
      800    -->   0,4384
      900    -->   0,4432
     1000   -->   0,448

Peso(kg)       mV
       0    -->   0,4      (peso muerto)
       1    -->   0,448   
       2    -->   0,496
       3    -->   0,544
       4    -->   0,592
       5    -->   0,64
       6    -->   0,688
       7    -->   0,736
       8    -->   0,784
       9    -->   0,832
      10   -->   0,88

Compañeros las variaciones son demasiadas pequeñas y ya entiendo MGLSOFT porque me dices que es una locura al tratar medir gramos con esta celda. Pero bueno quiero intentar medir kilogramos y necesito de toda su colaboracion para hacerlo.

Entonces parametricemos como funcionara la bascula, digamos que el maximo valor que deseo medir es el que me permita el ADC del PIC, teniendo este un total de 1024 conteos, si cada kg representa un incremento podre medir hasta un poco mas de una tonelada, esto es muy exagerado y no creo que la celda lo aguante, cierto?...pero de todos modos este mecanica puede ser util y obviamente no voy a pesar elementos demasiados pesados. Entonces lo que deseo es para facilitar toda la vaina es pesar hasta un maximo de 150kg:

ADC PIC     PESO(Kg)
00000001       1
00000010       2
00000011       3
00000100       4
00000101       5
00000110       6
00000111       7
00001000       8
00001001       9 
      .              .
      .              .
      .              .
10010110      150


Ahora bajo estas consideraciones como calculo la ganancia del amplificador dado que no se cual es la capacidad maxima de la celda si no que me invente una?.

Puedo manejar la resolucion de celda de 2mV/V, este es un estandar?

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: BASCULA CON 16F877A Y CELDA DE CARGA HELP!!!
« Respuesta #4 en: 19 de Abril de 2010, 16:39:43 »
Hay varios estandar, el mas utilizado por los fabricantes de celdas es el de 2 mv/V.
Por la progresion que hiciste deduje que tu celda es de ese valor nominal y de capacidad 500 Kg.

Ahora si quieres pasar a pesar solo 150 Kg, estarias al 30% de la capacidad total, por lo tanto si hacemos regla de tres simple:

500 Kg  ------->  24 mV
150 Kg -------> ¿¿¿¿ ????

150 * 24 / 500 = 7.2 mV  seria el valor maximo de salida de tu celda con 150 kg.

Para optimizar el ADC deberias conseguir una amplificacion de:

5000 / 7.2 = 694.444444

Busca amplificar 690 veces tu señal y estaras barbaro.

La discriminacion minima de peso ahora sera de:

150000 / 1024 = 146 gramos

En terminos reales vas a obtener +/- 150 gramos de precision. :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Sacahe

  • PIC12
  • **
  • Mensajes: 68
Re: BASCULA CON 16F877A Y CELDA DE CARGA HELP!!!
« Respuesta #5 en: 19 de Abril de 2010, 19:41:49 »
MGLSOFT disculpa mi ignorancia y mi coco duro, pero te pregunto:

- Porque es necesario la regla de tres, no puedo limitar la capacidad por software?. El valor maximo de salida no puede quedar asi 2mV/V * 12V = 24mV
- No entiendo porque la ganancia la calculas 5000/24, el numero 5000 de donde lo sacas, no seria 500 dado que deseo medir es cada 1kg?

Me fui de mercado y compre varias bolsas de arroz para tener patrones de peso de 1kg, 2kg, 3kg....etc, haciendo la pruebas obtuve las siguientes lecturas y no me correspondieron a las calculadas con la formula que halle:

Peso(kg)       mV
       0    -->   0,5     (peso muerto)
       1    -->   0,59 
       2    -->   0,64
       3    -->   0,68
       4    -->   0,73
       5    -->   0,77
       6    -->   0,82
       7    -->   0,86
       8    -->   0,91
       9    -->   0,95
      10   -->   1,0

Esto me confunde mucho mas, y no he podido cuadrar la ganancia del amplificador para que me adapte la señal al adc como debe ser. Que vaina complicada





Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: BASCULA CON 16F877A Y CELDA DE CARGA HELP!!!
« Respuesta #6 en: 19 de Abril de 2010, 20:55:25 »
La regla de tres es tan sencilla de aplicar que por eso la uso.
Si quieres verlo de otra manera, es asi:

24 mV / 500 Kg = 0.048 mV/Kg

Si miras el ejercicio que hiciste antes, la precision de tu multimetro no te permite ver mejor, pero ese es el resultado que recibes de tu experiencia de peso comestible... :D :D :D

La ganancia calculada con el numero 5000 esta referido a los 5 Volts de referencia interna del conversor A/D, llevados a mV, por eso son 5000 mV.
Lo divido por el maximo alcance en mV cuando la celda tenga 150 Kg arriba y de alli saco cual es el rango de amplificacion de señal necesario para obtener los 1024 puntos del conversor A/D.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Sacahe

  • PIC12
  • **
  • Mensajes: 68
Re: BASCULA CON 16F877A Y CELDA DE CARGA HELP!!!
« Respuesta #7 en: 19 de Abril de 2010, 22:06:04 »
MGLSOFT que me recomiendas, es decir, por donde le agarro mejor los cachos a este toro desde tu perspectiva. Pasa que he intentado hacer lo siguiente y no me da:

Peso(kg)       mV
       0    -->   0,4     
       1    -->   0,448   -->   amplificarlo a  5mv     
       2    -->   0,496   -->   amplificarlo a  10mv
       3    -->   0,544   -->   amplificarlo a  15mv
       4    -->   0,592   -->   amplificarlo a  20mv
       5    -->   0,64     -->   amplificarlo a  25mv
       6    -->   0,688                 etc.
       7    -->   0,736
       8    -->   0,784
       9    -->   0,832
      10   -->   0,88

No hay un valor de ganancia definido para lograr lo anterior y poder llevarlo a la entrada del ADC. Creo que hay un aspecto, operacion, yo que se, que he no he contemplado y es ahi donde necesito de tu experiencia. La celda de carga es de un amigo y el supuestamente me dice que es de 300kg.

Desconectado manutek

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 555
Re: BASCULA CON 16F877A Y CELDA DE CARGA HELP!!!
« Respuesta #8 en: 20 de Abril de 2010, 08:17:46 »
Hola amigos
alguien sabe como corregir los problemas de linealidad sacando la función del sensor por medio de cálculos regresivos?
o podrian pasarme alguna info para un novato en analisis matematico?
No es la conciencia del hombre la que determina su ser, sino, por el contrario, es su ser social el que determina su conciencia


Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: BASCULA CON 16F877A Y CELDA DE CARGA HELP!!!
« Respuesta #10 en: 20 de Abril de 2010, 09:07:09 »
Podrias poner una imagen de tu celda de carga??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: BASCULA CON 16F877A Y CELDA DE CARGA HELP!!!
« Respuesta #11 en: 20 de Abril de 2010, 10:40:02 »
Hola.

Si vas a caracterizar a tu celda debes hacerlo con un patrón de medida, no creo que una bolsa de arroz sea el indicado  :D. Si la curva de respuesta de tu celda es lineal, la ganancia solo va a afectar el tramo que quieres amplificar, mas no la linealidad de la misma, ya que la ganancia solo es una constante.

Si vas medir máximo 1000g y minimo 0g, tienes dos valores extremos (los intermedio se suponen que son linealmente proporcionales), por ende, la ganancia la calculas en función del máximo. Como tienes un valor de peso  muerto, debes poner un restador de 0.4mV (o cuadrar el offset con algún pin del AO). La forma de calcular la ganancia es:

$ G = \frac{V_{out}}{V_{in}}

Donde Vout es el voltaje de salida que va a tener el operacional y que va a entrar al ADC del PIC y Vin es el voltaje que sale de la celda de carga para un determinado peso (el máximo que quiero que tenga como rango). Hay parámetro importante y es la resolución de salida de la celda de carga, es decir cuanto es el mínimo valor de cambio de voltaje en función del mínimo valor de cambio de peso, si tiene una resolución de 2mV/kg, quiere decir que va a cambiar 2mV por cada kg que se ponga de mas. Habría que verificar si la celda de carga si modifica su valor de salida al ponerle un delta de peso de 100gr.

Saludos
El papel lo aguanta todo

Desconectado Sacahe

  • PIC12
  • **
  • Mensajes: 68
Re: BASCULA CON 16F877A Y CELDA DE CARGA HELP!!!
« Respuesta #12 en: 20 de Abril de 2010, 13:18:22 »
Buenos dias a todos!!!

Con las lecturas que he tomado se demuestra que la celda es lineal en diferentes rangos. Compadre MLO entiendo muy bien lo que me comentas, yo lo que intento es lograr medir 1kg, 2kg, 3kg.....150Kg. y con las pruebas que he realizado en este caso obtengo un resolucion 0.048mV/Kg, es decir, que por cada bolsa de arroz de 1Kg que coloco  :D, la lectura se me incrementa en 0.048mV. Lo que me ha dado problemas es lograr amplificar cada incremento de 0.048mV en incrementos de 5mV para llevarlo a la entrada del ADC. ya que la Vref+ que utilizo es Vdd. Hay algo que me falta por hacer, pero que?

Adjunto dos imagenes de la celda.




Saludos desde la perla mas linda de America

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: BASCULA CON 16F877A Y CELDA DE CARGA HELP!!!
« Respuesta #13 en: 20 de Abril de 2010, 13:42:04 »
Hola.

Es que el valor de la ganancia se calcula según el máximo valor del rango de medición.

MGLSOFT ya hizo los calculos para que sea el máximo rango a 150kg, el incremento por cada bit será:

$
R = \frac{V_{ref}}{G\times 2^{n}} [\frac{V}{bit}]

y tu resolución de medida será:

$
\frac{R}{0.048} [\frac{kg}{bit}]

saludos
El papel lo aguanta todo

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: BASCULA CON 16F877A Y CELDA DE CARGA HELP!!!
« Respuesta #14 en: 20 de Abril de 2010, 14:33:57 »
En las fotos no se ven detalles de tu celda, el valor de peso deberia estar estampado en uno de los dos extremos, normalmente desde donde sale el cable.
Lo que si veo es de donde sale el offset de 0,5 mV que tiene al iniciar, y es que esta pesando la parte superior de la plataforma, que seguramente es mayor que 10 kg lo que pesa.

El resto sigue igual segun los conceptos que te comente.
Eso si deberas quitar ese offset o al menos desvincular la plataforma de la celda si quieres amplificar tu señal para los 150 Kg.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.