Universidad de Guadalajara Centro Universitario de Ciencias Exactas e Ingeniería – CUCEI – División de Electrónica y Computación Diseño con Electrónica Integrada Proyecto Final: BÁSCULA ELECTRÓNICA Por: Carlos Francisco Calvillo Cortés / [email protected] Guadalajara, Jalisco, México, Noviembre – Diciembre de 2005 Proyecto: Báscula electrónica Diseño con Electrónica Integrada ÍNDICE RESUMEN ----------------------------------------------------------------------------------------------------------------------------------------- 2 Síntesis y consecuencias ----------------------------------------------------------------------------------------------------------------- 2 Materiales ------------------------------------------------------------------------------------------------------------------------------------ 3 ANTECEDENTES ------------------------------------------------------------------------------------------------------------------------------- 3 Fundamento de las Galgas extensiométricas: Efecto piezoeléctrico ------------------------------------------------------------- 3 DESARROLLO ----------------------------------------------------------------------------------------------------------------------------------- 4 Diagrama a bloques --------------------------------------------------------------------------------------------------------------------------- 4 Diagrama Esquemático----------------------------------------------------------------------------------------------------------------------- 5 Construcción de la Galga Extensiométrica------------------------------------------------------------------------------------------ 6 Puente de Wheatstone-------------------------------------------------------------------------------------------------------------------- 6 Búffers de voltaje y Amplificador restador----------------------------------------------------------------------------------------- 7 Voltímetro luminoso---------------------------------------------------------------------------------------------------------------------- 8 Convertidor Analógico/digital ADC0804 ------------------------------------------------------------------------------------------- 8 Microprocesador ATMEL AT90S2313-10 ----------------------------------------------------------------------------------------- 9 Display LCD-------------------------------------------------------------------------------------------------------------------------------10 Mediciones y Desarrollo del Software para el Microcontrolador----------------------------------------------------------------11 Obtención del modelo matemático del comportamiento de la galga --------------------------------------------------------11 Código Fuente -----------------------------------------------------------------------------------------------------------------------------14 Funcionamiento del circuito ---------------------------------------------------------------------------------------------------------------17 Calibración y ajustes---------------------------------------------------------------------------------------------------------------------17 CONCLUSIONES Y RESULTADOS--------------------------------------------------------------------------------------------------- 17 REFERENCIAS BIBLIOGRÁFICAS -------------------------------------------------------------------------------------------------- 17 RESUMEN El siguiente trabajo muestra la elaboración de una báscula electrónica de 0 a 100 gr. con dos salidas diferentes: una es mediante 10 LEDs y la otra mediante un display LCD que mostrará el valor del peso en gramos. Síntesis y consecuencias Implementar, medir y aplicar una galga extensiométrica lleva sus dificultades empezando por la elaboración artesanal de la misma y continuando con el acondicionamiento de la señal que entrega. En el siguiente trabajo se desarrolla la elaboración de una báscula mediante una galga extensiométrica realizada con materiales al alcance de la mano en cualquier hogar, el acondicionamiento de la señal se hace mediante un puente de Wheatstone y amplificadores operacionales, de la salida por LEDs se encarga el CI LM3914 y de la salida al display LCD se encargan ADC, un Microprocesador y una pantalla de LCD, el resultado es, pues, una báscula con las especificaciones mencionadas en el resumen. Calvillo Cortés Carlos Francisco - CUCEI - -2- Proyecto: Báscula electrónica Diseño con Electrónica Integrada Materiales Elaboración de la galga: Tarjeta telefónica (sin crédito), Lija, lápiz 6B, pegamento TOP y clips. Circuitos Integrados: • LM324 (4 amplificadores operacionales en un mismo encapsulado). • LM3914 (voltímetro luminoso). • AT90S2313 (Microprocesador de uso general de 8 bits). • ADC0804 (Convertidor analógico/digital de 8 bits). Pantalla de LCD de 16x2 caracteres. Resistencias, Capacitores (Ver Figura 3). ANTECEDENTES Fundamento de las Galgas extensiométricas: Efecto piezoelé ctrico Las galgas extensiométric as se basan en la variación de la resistencia de un conductor o un semiconductor cuando es sometido a un esfuerzo mecánico. Este efecto fue descubierto por Lord Kelvin en 1856. Si se considera un hilo metálico de longitud l, sección A y resistividad ?, su resistencia eléctrica R es: l R=ρ (1.1) A Si se le somete a un esfuerzo en dirección longitudinal, cada una de las tres magnitudes que intervienen en el valor de R experimenta un cambio y, por lo tanto, R también cambia de la forma: dR d ρ dl dA = + − (1.2) R ρ l A El cambio de longitud que resulta de aplicar una fuerza F a una pieza unidimensional, siempre y cuando no se entre en la zona de fluencia (Figura 1), viene dado por la ley de Hooke, F dl = Eε = E (1.3) A l donde E es una constante del material, denominada módulo de Young, s es la tensión mecánica y e es la deformación unitaria. e es adimensional, pero para mayor claridad se suele dar en “microdeformaciones” (1 microdeformación = 1µe = 10-6 m/m). Si se considera ahora una pieza que además de la longitud l tenga una dimesión transversal t, resulta que como consecuencia de aplicar un esfuerzo longitudinal no sólo cambia l sino también lo hace t. La relación entre ambos cambios viene dada por la ley de Poisson, de la forma: σ = µ =− dtt dll (1.4) donde µ es el denominado coeficiente de Poisson. Su valor está entre 0 y 0.5, siendo, por ejemplo, de 0.17 para la fundición maleable, de 0.303 para el acero y de 0.33 para el aluminio y el cobre. Obsérvese que para que se conservara constante el volumen debería ser µ = 0.5. [1]. Calvillo Cortés Carlos Francisco - CUCEI - -3- Proyecto: Báscula electrónica Diseño con Electrónica Integrada Figura 1: Relación entre esfuerzos y deformaciones de una galga DESARROLLO Diagrama a bloques La Figura 2 presenta el diagrama a bloques del circuito: ENTRADA PUENTE DE WHEATSTONE ACONDICIONAMIENTO DE SEÑAL SALIDA BUFFERS DE VOLTAJE GALGA EXTENSIOMÉTRICA VOLTÍMETRO LUMINOSO AMPLIFICADOR RESTADOR ADC (Transductor de salida 1) MICROPROCESADOR AT90 DISPLAY LCD TM404 Figura 2: Diagrama a bloques Calvillo Cortés Carlos Francisco - CUCEI - -4- Proyecto: Báscula electrónica Diseño con Electrónica Integrada Diagrama Esquemático PUENTE DE WHEATSTONE BUFFERS DE VOLTAJE AMPLIFICADOR RESTADOR 10kΩ 12V 12V 90% P3 1M -12V -12V LM324 22k Ω 50% Vb 90% P1 P2 100K 2K 10k Ω LM324 10k Ω LM324 A -12V 10k Ω Va 12V 12V 12V LM324 GALGA -12V VOLTÍMETRO LUMINOSO 12V 18 17 16 15 1 2 3 4 2.2uF 14 13 12 11 10 6 7 8 9 LM3914 5 P4 90% A Vin A D0 D1 D2 ADC0804 D3 M.C. D4 AT90S2313 DISPLAY LCD 16 COLUMNAS, 2 RENGLONES D5 Vref+ Vref- D6 D7 SOC OE EOC PARA DETALLES DE CONEXIONES REFIERASE MAS DELANTE EN ESTE DOCUMENTO CONFIGURACION EN CORRIMIENTO LIBRE Figura 3: Diagrama eléctrico (para ver las conexiones del ADC, el MC y el LCD vea mas adelante). Calvillo Cortés Carlos Francisco - CUCEI - -5- Proyecto: Báscula electrónica Diseño con Electrónica Integrada Construcción de la Galga Extensiométrica La galga extensio métrica se implementó utilizando una tarjeta telefónica, lija del número 1000 (“de agua”), pegamento, lápiz 6B y dos clips. La razón del lápiz 6B es que la mina es de un carbón más suave y esto ocasiona que al rayar sobre la lija se deposite con mayor facilidad más cantidad del mismo reduciendo la resistencia de la galga en reposo, ésta resistencia medida fue de 22.3 kO. Se recortó la lija a un tamaño ligeramente menor al de la tarjeta telefónica y se procedió a rayar sobre la superficie rugosa de ella con el lápiz 6B dibujando una forma geométrica como la mostrada en la Figura 4, después se pegó ésta lija a la tarjeta con pegamento TOP. Los clips se colocaron de forma que cada uno tocase un extremo de la línea dibujada sobre la lija, con caimanes se agarraron los clips para implementar la galga en el puente de Wheatstone, las variaciones de la resistencia de la galga sin llegar a deformarla irremediablemente fueron de 22.3 a aprox. 25 kO presionando para abajo y de 20 a 22.3 kO aproximadamente deformando la galga hacia arriba. Se probaron varias formas geométricas, y la que mejor comportamiento tuvo fue la mostrada en la Figura 4. Se procuró que las líneas rectas fueran paralelas a la deformación de la tarjeta para ocasionar así una mayor variación de la resistencia, puesto que si las líneas se dibujan verticales a dicha deformación se obtiene una menor variación de la misma, el grosor de la línea (aprox. 3 mm) fue el adecuado para presentar valores de resistencia no muy grandes (líneas muy delgadas) ni demasiado pequeños (líneas muy gruesas). En la montura se colocó un tope para evitar daños de la galga por carga excesiva de peso. Lija Galga Deformaciones Base Tornillo Tope clips 7 cm a) b) Figura 4: a) Galga extensiométrica, b) montaje de la galga. Puente de Wheatstone Cuando se utiliza un elemento resistivo con poca variación, los cambios de voltaje de un simple divisor de voltaje son mínimos e incluso pueden confundirse con variaciones de la fuente de alimentación (ruido); en estos casos se hace necesaria la utilización de un circuito llamado puente de Wheatstone, el cual se muestra en la Figura 5. Según la Figura 5(b) En una de las ramas se coloca el elemento sensor resistivo que en nuestro caso es la galga extensiométrica, se ajusta el potenciómetro de manera que en estado de reposo de la galga el voltaje en “a” sea exactamente la mitad de Vcc, la otra rama debe de ser un divisor de voltaje en donde Vb sea también exactamente la mitad de Vcc; el voltaje de interés se toma de los puntos “a” y “b” que en estado de reposo de la galga será 0 V, cuando varía la resistencia de ésta, se presenta entonces un voltaje Vab mayor o menor a cero según si aumenta o disminuye la resistencia respectivamente, y debido sólo a la variación de la misma, este circuito permite pues inmunidad ante los cambios (ruido) en Calvillo Cortés Carlos Francisco - CUCEI - -6- Proyecto: Báscula electrónica Diseño con Electrónica Integrada la fuente de alimentación y una mayor sensibilidad que se refleja en un mejor control de la información proveniente del sensor. VCC 90% 50% b a GALGA a) La salida se toma de los puntos a y b, es decir el voltaje Vab b) Figura 5: a) Puente de Wheatstone genérico, b) Con ajuste por potenciómetros. En la Figura 5 (a), la resistencia R3 representa al transductor, y sufre una desviación según un parámetro d, si R1 = R4 = R2 , entonces: R3 = R2 (1 + δ ) (1.5) La desviación se causa por la respuesta del transductor que se modifican con la señal de entrada. El voltaje de salida Vab es una medida de la desviación d. La tensión Vab es un voltaje de circuito abierto, entonces [5]: R2 (1 + δ ) R2 y de esta manera: Vab = − VCC , R2 (1 + δ ) + R1 R2 + R1 R R Vab = 1 2 R1 + R2 (1.6) Búffers de voltaje y Amplificador restador Para no provocar caídas indeseadas de voltaje ni extraer corriente del puente de Wheatstone se emplea un operacional en configuración de seguidor de voltaje, la alta impedancia de entrada de éstos permite extraer la información del voltaje sin influir en el comportamiento del puente. Las señales del voltaje Va y el voltaje Vb entran entonces en un amplificador restador con una ganancia máxima de voltaje de 100 (ajustable). El voltaje del amplificador restador esta determinado por la siguiente ecuación: VO = Rf Ri ( E1 − E2 ) (1.7) En el diagrama eléctrico (Figura 3) se observan los elementos de la ecuación (1.7): Ri = 10 KO y Rf es un potenciómetro de 1MO que ajusta la ganancia del amplificador restador [2]. Calvillo Cortés Carlos Francisco - CUCEI - -7- Proyecto: Báscula electrónica Diseño con Electrónica Integrada Voltímetro luminoso La etapa de salida de nuestro sistema comprende dos secciones, un un sistema visual mediante LEDs y un despliegue del peso aplicado mediante un display LCD. En el sistema visual mediante LEDs, prenderán según se vaya colocando peso sobre la galga, teniendo 7 LEDs verdes indicando funcionamiento normal, 2 amarillos indicando que el peso se acerca al máximo soportado y uno rojo indicando que se ha llegado al tope de medición de la galga. para esto se utiliza el circuito integrado LM3914. LM3914 El LM3914 es un circuito integrado monolítico que censa niveles analógicos de voltaje y maneja 10 LEDs, resultando un visualizador gráfico lineal, un simple pin cambia la forma de visualización, de ir recorriendo un solo led o ir llenando una barra de leds. La corriente que maneja los LEDs está regulada y programada pera evitar la necesidad de resistencias para cada uno de ellos. El circuito tiene su propio ajuste de referencia para variar el rango de voltaje que muestran los 10 leds, ésta referencia es la que se usa para calibrar el sistema de la galga. La Figura 6 muestra el diagrama a bloques y la configuración de pines del LM3914. [4]. Figura 6: Diagrama a bloques y de pines del LM3914 Convertidor Analógico/digital ADC0804 El Circuito Integrado ADC0804 es un convertidor analógico/digital de 8 bits con compatibilidad para Microprocesadores. Su funcionamiento se basa en la técnica de conversión por aproximaciones sucesivas. Posee lo necesario para comportarse como un puerto de I/O de Calvillo Cortés Carlos Francisco - CUCEI - -8- Proyecto: Báscula electrónica Diseño con Electrónica Integrada microprocesador directamente sin la necesidad de lógica externa y puede funcionar también en corrimiento libre [4]. Emplearemos este integrado para digitalizar una señal analógica de voltaje proveniente de la galga que variará de 0 a 5 V, por lo que la resolución del ADC será: resolución = 2 n = 256 (pasos o escalones), V 5 resolución = nOFS = = 0.0196078 (Volts/LSB) 2 −1 255 (1.8) La configuración de pines y la aplicación del ADC0804 se muestran en la Figura 7. Figura 7: Diagrama de pines y aplicaciónen corrimiento libre del ADC0804 La ecuación que determina la frecuencia del reloj interno del ADC0804 es la siguiente: f CLK = 1 1 = = 606.06 KHz 1.1RC 1.1(10 K Ω)(150 pF ) (1.9) En donde la red RC está conectada entre los pines 4 y 19 del ADC. Microprocesador ATMEL AT90S2313-10 El AT90S2313 consume baja potencia y posee un gran desempeño, tiene 2kbytes de memoria FLASH interna programable. El dispositivo está manufacturado usando una tecnología de alta densidad de memoria no volátil. Posee 128 bytes de memoria RAM y 128 bytes de memoria EEPROM. La memoria FLASH interna puede ser reprogramada por el mismo sistema o por cualquie r programador estándar de memorias de otras compañías. Combinando una CPU versátil de 8 bits con la memoria FLASH interna, el AT90S2313 es un poderoso microcontrolador que provee soluciones de alta flexibilidad y bajo costo para cualquier aplicación de control embebido. El AT90S2313 provee los siguientes estándares: 2K bytes de memoria FLASH, 15 líneas de entrada salida I/O programables, función “perro guardián”, apuntadores de datos, un contador/temporizador de 16 bits, otro mas de 8 bits, una arquitectura de interrupciones de seisvectores dos niveles, un puerto serial Full Dúplex, oscilador interno, y circuito de reloj. Además el AT90S2313 está diseñado con lógica estática para operar en dos modos de operación elegibles. Calvillo Cortés Carlos Francisco - CUCEI - -9- Proyecto: Báscula electrónica Diseño con Electrónica Integrada El modo IDLE detiene el CPU mient ras permite a la RAM, a los contadores/temporizadores, al puerto serial y al sistema de interrupciones, continuar con su funcionamiento. El modo de “descanso” guarda el contenido de la RAM y deshabilita todas las demás funciones del chip hasta que se presente una interrupción o se reseteé la unidad [3]. Características: • Emplea arquitectura RISC • 32 x 8 registros generales • 2K Bytes de In-System Programmable (ISP) Flash Memory • 128 bytes de SRAM • 128 bytes de EEPROM programable • Duración: 1000 ciclos de Lectura/Escritura • Rango de operación de 4.0V a 6V. • Operación de 0 Hz a 10 MHz • Tres niveles de protección de la Memoria • Comparador Análogo Interno • • • • • • • • • Tecnología de proceso CMOS de alta velocidad y bajo consumo de potencia. Un contador/temporizador de 16 bits. Un contador/temporizador de 8 bits. Communicación Full Duplex UART Serial Modos de operación: Low-power Idle y Power-down. Reanudación de trabajo mediante interrupciones. 15 líneas de I/O programables. Tiempo de programación rápido. Programación ISP flexible Figura 8: Diagrama a bloques y configuración de pines del AT90S2313 Display LCD La visualización de la información se realizó con una pantalla LCD 2 x 16 que usa un controlador estándar HD44780. Enseguida se muestra una imagen de esta LCD y su respectiva configuración de pines. Calvillo Cortés Carlos Francisco - CUCEI - -10- Proyecto: Báscula electrónica Diseño con Electrónica Integrada Figura 9: Configuración de pines del LCD Mediciones y Desarrollo del Software para el Microcontrolador Obtención del modelo matemático del comportamiento de la galga Debido a que el comportamiento de nuestra galga al ir colocando pesos en ella no es totalmente lineal, como se puede observar en la Figura 10 (a), es necesaria la obtención matemática experimental de dicho comportamiento, para hacerlo, se colocaron pesos de 5 en 5 gramos y se midió el voltaje que se presenta a la salida del amplificador restador. Se repitió esta labor 10 veces para obtener mejores resultados, hecho esto se convirtieron los valores de voltaje a la palabra digital equivalente entregada por el ADC0804, la Tabla 1 muestra un resumen del procedimiento. Peso (gr) 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 Calvillo Cortés Carlos Francisco Voltaje del Amp. Restador (V) Conversión a digital 0 0 0.066 3.36 0.144 7.32 0.351 17.88 0.536 27.36 0.972 49.56 1.291 65.82 1.479 75.42 1.929 98.4 2.205 112.44 2.500 127.5 2.742 139.86 3.071 156.6 3.289 167.76 3.465 176.7 3.744 190.92 4.014 204.72 4.259 217.2 4.514 230.22 4.747 242.1 5.000 255 Tabla 1: Resumen de datos y conversiones - CUCEI - Palabra digital equivalente (en decimal) 0 3 7 17 27 49 65 75 98 112 127 139 156 167 176 190 204 217 230 242 255 -11- Proyecto: Báscula electrónica Diseño con Electrónica Integrada Necesitamos conocer el valor numérico de un peso colocado en la galga en función de la entrada digital que recibe el Microprocesador. Como podemos observar en la Figura 10 (b) existe una no linealidad marcada para valores de la palabra digital menores a 25 (correspondiente aproximadamente a 20 gramos), entonces para tener un mejor modelado dividimos los datos en dos grupos, uno cuando la entrada digital es menor a 25 (grupo A) y otro cuando es mayor a 25 (el máximo permitido es 255 que equivale a 100 gramos) que llamaremos grupo B. Las Figura 11 presenta ésta división y las líneas de tendencia y ecuaciones que representan a cada grupo de datos, cabe hacer notar que para el grupo A, la ecuación más propia es una cúbica y para el grupo B es una línea recta. Voltaje de salida Vs Peso de entrada 6 5 Voltaje (V) 4 3 2 1 0 0 10 20 30 40 50 60 70 80 90 100 Peso (gr) a) Palabra digital Vs. peso de salida 120 100 Peso (gr) 80 60 40 20 0 0 50 100 150 200 250 300 Palabra digital b) Calvillo Cortés Carlos Francisco - CUCEI - -12- Proyecto: Báscula electrónica Diseño con Electrónica Integrada Figura 10: a) Mediciones experimentales de voltaje a la salida del restador según el peso de entrada. b) peso en función de la palabra digital de entrada GRUPO A 25 20 Peso (gr) 15 3 2 y = 0.0019x - 0.1x + 2.0263x - 0.0682 2 R = 0.9998 10 5 0 0 5 10 15 20 25 30 -5 Palabra digital GRUPO B 120 100 Peso (gr) 80 y = 0.3589x + 6.6144 R2 = 0.9955 60 40 20 0 0 50 100 150 200 250 300 Palabra digital Figura 11: División de los datos para un mejor modelado Las ecuaciones son: GRUPO A: GRUPO B: Calvillo Cortés Carlos Francisco W = 0.0019 P3 − 0.1P2 + 2.0263P − 0.0682 (1.10) W = 0.3589 P + 6.6144 (1.11) - CUCEI - -13- Proyecto: Báscula electrónica Diseño con Electrónica Integrada Donde W es el peso en gramos y P es el valor decimal de la palabra digital. Estas ecuaciones son el modelo que andábamos buscando, en donde la ecuación (1.10) es para cuando la palabra digital es menor a 25 (valor decimal) y (1.11) lo es cuando es mayor a 25. Código Fuente El código para programar al microcontrolador, por facilidad, se realizó en el lenguaje de alto nivel C, usando un compilador y traductor C – Ensamblador llamado CodeVision AVR ®, el cual incluye además una librería con funciones para el manejo de LCD con protocolo estándar como el que se usa en este proyecto. El diagrama de flujo del algoritmo se muestra en la Figura 12. Inicio del Programa Configurar Microcontrolador: • Puertos • Interrupciones • Declaración de variables y Inicializar LCD: Pantalla init(); Leer Puertos de En trada ¿GRUPO A? Sí No Ecuación para GRUPO A: func_grupoA(); Ecuación para GRUPO B: func_grupoB(); Mostrar resultado en LCD: mostrar_peso(); Retardo 500ms (refresco de LCD) Figura 12: Diagrama de Flujo del algoritmo A continuación se muestra el código fuente, se ha acomodado en dos columnas para una visualización más sencilla, el código está comentado. /******************************************* Project : BASCULA ELECTRONICA Version : 1.0 Date : 08/12/2005 Author : Carlos Francisco Calvillo Cortes Company : Universidad de Guadalajara Chip type : AT90S2313 Clock frequency : 10.000000 MHz Memory model : Tiny External SRAM size : 0 Data Stack size : 32 *********************************************/ Calvillo Cortés Carlos Francisco - CUCEI - -14- Proyecto: Báscula electrónica Diseño con Electrónica Integrada #include <90s2313.h> // Modulo de funciones alfanumericas del LCD #asm .equ __lcd_port=0x18 #endasm #include <lcd.h> #include <math.h> /* [Pin LCD] 1 GND- 9 GND 2 +5V- 10 VCC 3 VLC- Control de contraste del LCD 4 RS - 1 PB0 5 RD - 2 PB1 6 EN - 3 PB2 11 D4 - 5 PB4 12 D5 - 6 PB5 13 D6 - 7 PB6 14 D7 - 8 PB7 */ #include <delay.h> // Variables Globales unsigned char dig[3]; float peso=0, char palabra; char mensaje[11]=" 000.00 gr."; //012345678911 // FUNCIONES void pantalla_init( void ) { lcd_init(16); lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("--- BASCULA ---"); } // Inicializa el LCD para 2 lineas y 16 columnas // ir a la primera linea del LCD // mostrar el mensaje // Funcion para el GRUPO A float func_grupoA(int palabra) { int peso; peso = 0.0019*pow((float)(palabra),3.0)- 0.1*pow((float)(palabra),2.0)+ 2.0263*(float)(palabra)0.0682; //calculo del peso return(peso); } // Funcion para el GRUPO B float func_grupoB(int palabra) { int peso; peso = 0.3589*(float)(palabra)+6.6144; return(peso); } //calculo del peso void float2int( float pesoF, int &pesoEnt, int &pesoDec ) { pesoEnt = (int)(pesoF); pesoDec = (int)((pesoF – (float)(pesoEnt))*100); return; } void separar_dig( int x ) // separa cara digito de un numero entero y los coloca en un vector { dig[0]=(unsigned char)((float)(x)/100); x=x%1000; dig[1]=(unsigned char)((float)(x)/10); x=x%100; Calvillo Cortés Carlos Francisco - CUCEI - -15- Proyecto: Báscula electrónica Diseño con Electrónica Integrada dig[2]=(unsigned char)((float)(x)); } char convert_dig( unsigned char fuente ) { if (fuente==0) return '0'; else if (fuente==1) return else if (fuente==2) return else if (fuente==3) return else if (fuente==4) return else if (fuente==5) return else if (fuente==6) return else if (fuente==7) return else if (fuente==8) return else if (fuente==9) return //convierte cada elemento de un vector en un numero '1'; '2'; '3'; '4'; '5'; '6'; '7'; '8'; '9'; } void mostrar_peso() //muestra en el LCD el peso { unsigned char i; int pesoEnt, pesoDec; //Usar columnas 1 a 11 de la segunda linea del LCD para el valor del peso //Convertir float en entero float2int( peso, pesoEnt, pesoDec ); // asignacion mensaje[0]=' '; mensaje[1]=' '; separar_dig(pesoEnt); // separacion de digitos for(i=0;i<3;i++) // Valor entero del peso mensaje[i+2]=convert_dig(dig[i]); mensaje[5]= '.'; separar_dig(pesoDec); // separacion de digitos for(i=0;i<2;i++) // Valor decimal del peso mensaje[i+6]=convert_dig(dig[i]); mensaje[8]= ' '; mensaje[9]= 'g'; mensaje[10]= 'r'; mensaje[11]= '.'; lcd_gotoxy(0,1); // ir a la segunda linea del LCD for( i=0; i<12; i++) lcd_putchar(mensaje[i]); // mostrar el mensaje } void main(void) { // Inicicializacion del Puerto B como salida PORTB=0x00; DDRB=0xFF; // Inicicializacion del Puerto B como entrada DDRD=0x00; pantalla_init(); while(1) { palabra = PIND; if (palabra<25) peso=func_grupoA(palabra); else peso=func_grupoB(palabra); mostrar_peso(); delay_ms(500); //Lee dato proveniente del ADC // Checa el grupo al que pertenece el dato // Retardo de 500 ms }; } Calvillo Cortés Carlos Francisco - CUCEI - -16- Proyecto: Báscula electrónica Diseño con Electrónica Integrada Funcionamiento del circuito Cada una de las partes de este circuito fue ya descrita anteriormente. El funcionamiento es sencillo, al aplicar una fuerza sobre la galga, ésta se deforma y la línea de grafito dibujada en ella se “estira” lo que hace ligeramente mayor su longitud y por tanto aumenta la resistencia. Este aumento de se refleja como un aumento en el voltaje Va del puente de Wheatstone y por lo que se hace positivo y diferente de cero. Vab es amplificado aproximadamente 20 veces (la ganancia se ajusta con el potenciómetro P3), y se aplica a la entrada del LM3914 que la traduce en información visual mediante los LEDs y a la entrada del ADC0804 que digitaliza la información. La información proveniente del ADC pasa por el Microcontrolador en donde es procesada aplicando a los datos las ecuaciones de la curva de comportamiento de la galga y mostrando el resultado en el display LCD. Calibración y ajustes Se emplea en primer lugar el potenciómetro P3 para ajustar la ganancia a la salida del restador de manera que colocando el máximo peso en la galga (100 gramos) existan 5 volts a su salida. Hecho lo anterior se procede a calibrar el voltímetro luminoso, para ello se emplea el potenciómetro P4, que se calibra de manera que en la misma condición anterior se enciendan los 10 LEDs. La parte digital (ADC y Microprocesador) no requiere calibración. CONCLUSIONES Y RESULTADOS El diseño de la práctica fue laborioso en tres aspectos principales: la elaboración de la galga extensiométrica y su montura; la obtención del modelo matemático que describe al comportamiento de la galga y la programación del microprocesador para desplegar los datos en el display LCD. A pesar de las dificultades anteriores, resultó un circuito de gran utilidad pues permite pesar objetos muy ligeros con gran precisión y bajo costo, comparado con el precio de básculas electrónicas comerciales con el mismo rango de medición. Los contras que presenta esta báscula es la duración de la galga pues al ser construida artesanalmente y con materiales poco resistentes (mina de carboncillo del lápiz, lija, etc.), no se puede augurar una larga vida y no tiene circuito para compensar vibraciones que no correspondan estrictamente al peso del objeto en medida; como por ejemplo las causadas por una corriente de aire considerable. En general el diseño de este proyecto resultó altamente educativo. REFERENCIAS BIBLIOGRÁFICAS [1] Ramón Pallás Areny / Sensores y Acondicionamiento de Señal / Ed. Alfaomega / 2001 / págs 60 – 61 [2] Robert F. Coughlin, Frederick F. Driscoll / Amplificadores Operacionales y circuitos integrados lineales / Ed. Prentice Hall / 5ta Edición 1999 / págs 69 - 70 [3] Página de la empresa ATMEL: http://www.atmel.com [4] Página de hojas de datos diversas: http://www.alldatasheet.com [5] Apuntes electrónica integrada: http://proton.ucting.udg.mx/materias/ET201/index.html. Calvillo Cortés Carlos Francisco - CUCEI - -17-