Casa abierta ai tiempo Universidad Autónoma Metropolitana Unidad lztapalapa División Ciencias Básicas e Ingeniería Carrera Ingeniería electrónica Materia Proyectos de Ingeniería Electrónica I y I I Título Sistema auxiliar de lenguaje ASL Fecha Noviembre de 1998 Autor López Ordaz Ferrnín Alberto Matrícula 92320 199 Autor Meza Alvarez José Alberto Matrícula 9232 1670 Asesor Agustín Suárez Fernández M.en C. Agustín Suarez Fernandez Revisión técnica Indice. Tema Página 1 Introducción. 3 Fi guante ASL 7 I Descripcihn 2 7 L,os sensores z z i El LVDT 2 z 2 Filtros 2 2 3 Amplificadores z 7 4 Fuentes de comente 2 7 5 Sujetadores z z 6 Etapa de salida 4 4 4 4 5 11 13 15 16 19 El microcontrolador. -;i Introducción. 3 z El PIC16C74. 3 3 Control. 3 4 Comunicación serial. 19 29 -1 La computadora. 4 I La computadora personal. 4 2 Sistemas operativos. 4 ? El lenguaje de programación C 31 31 32 32 5 Programación. s I Descripción. F 2 Programación del microcontrolador. 5 -3 Programación de reconocimiento de posiciones 33 33 33 3 6 . Conclusiones. B i bl iografia. 19 30 37 40 41 2 1. Introducción. El avance en las ciencias de la electrónica y la computación ha sido impresionante durante las ultimas décadas. lo cual ha Facilitado enormemente el desarrollo de otras disciplinas como la astronomía. las comunicaciones, las niatcmáticas. l a física, la química y la medicina por mencionar algunas. Ha sido tal el progreso en los campos de la compiutación y de la electrónica que los ingenieros han intentado introducir a las personas dentro de un mundo completamente sintético. en el cual se pueden observar. y casi hasta sentir los fenómenos más exóticos de la naturaleza, por ejemplo uri fisico cuántico puede presenciar la desintegración atómica, un astrónonio puede estar en el nacimiento del mismo universo, un químico maneja con sus manos átomos y sintetiza moléculas, o en un terreno más práctico un médico puede realizar una operacion a un paciente quc se encuentra del otro lado del mundo. La integración de una persona a estos mundos vii-tuales requiere de un equipo altamente sofisticado (este equipo podria estar constituido por un ti-aje y un visor), muy costoso y que todavía no es capaz de reproducir las sensaciones deseadas al cuerpo humano. Estos inconvenientes han hecho que las aplicaciones más comerciales de un equipo de realidad virtual minimizado como sería un guante y/o un visor, sean las más banales, corno lo son los juegos de video Uno de los primeros intentos de realizar esta interfaz básica (guante y visor) h e llevada a cabo por una empresa llamada DATA GLOVE para la NASA Posteriormente MATTEL introdujo un guante más rudimentario para su aplicación en videojuegos, el POWER GLOVE La idea de poder manipular objetos a larga distancia solo con el movimiento de la mano o bien el entender lo que un sordo está diciendo con sus manos, son ejemplos bastante prácticos de lo que se podria hacer con un guante de estos. sin embargo el diseño de DATA GLOVE puede ser bastante costoso y escede !os requerimientos de estas aplicaciones, por otro lado el POWER GLOVE es demasiado rudimentario y no es portable Por estas razones surge la idea de realizar el diseño de un guante que soporte estas aplicaciones, que no sea muy costoso v que sea lo suficienteniente portable como para poderse conectar en algún puerto de una computadora personal El objetivo del presente proyecto es lograr que la electrónica aplicada al guante sea capaz de reconocer posiciones especificas de la niano y posteriormente enviar esta información en forma serial a una computadora personal con un programa de entrenamiento en ASL. <:/->or qii; titi giitui~rp r t i .sordos'> Una de las preocupaciones constantes de la sociedad, es incorporar a sus miembros que padecen algún tipo de discapacidad. en las mejores condiciones posibles. En el caso de quienes padecen hipoacusia la tendencia es aprovechar al máximo los restos auditivos que la persona pueda tener, ya que mientras más existan y se aprovechen tales restos las posibilidades de adquirir. lenguaje son niayores. Sin embargo, quienes no están en esa situación tienen casi como única opción el lenguaje de señas y en éste caso no existen tantas herramientas Si bien el lenguaje de senas no es el más deseable para un hipoacúsico en niuchos casos es la única opción que les permite comunicarse y les da una mayor oportunidad de integrarse a la sociedad. Una herramienta que ayudaría a la integración de las personas que no manejan este lenguaje es tener un sistema constituido por un programa de entrenamiento y un periférico especialmente diseñado que les permita su aprendizaje. Un problema que es claro. es que existen distintos lenguajes de señas, los cuales tienen modisnios, debido a esto se ha decidido que el lenguale que obedecerá la aplicación es el lenguaje ASL de las siglas en inglés American Sign Language, el cual es un lenguaje estandarizado en el que a cada letra del alfabeto corresponde una posición de la mano A t1lrcrdc.rrte.s El proyecto parte de u n prototipo del guante y un programa que se desarrollaron a finales de 1996 El prototipo fue construido para trabajar con un sistema mínimo basado en un microprocesador SO 188 El guante es una pi-enda de tela sobre la cual van montados los sensores para las articulaciones de la mano(dos para cada dedo), estos sensores transforman una señal eléctrica según la posición del dedo; las señales pasan por un convertidor analógico digital, y por último este envía los datos al procesador El programa se encargaba de recibir los datos procesarlos y enviarlos a un display de cristal liquido De este primer intento surge la iniciativa de crear un sistema completo que permita una interacción amigable con el usuario v que tei1.a corno finalidad el entrenamiento en el lenguaje ASI. El sistema está constituido por tres módulos Guante Corresponde a la parte analógica del sistema. Procesador de señales y control Son elementos de control y un microprocesador con el programa correspondiente ('oinputadora El sisteiiia que recibe los datos procesados y los interpreta Guante que da soporte a los sensores + I_, C ontrol y Señales - 3 Microprocesador del puerto seial T Figura I . I Diagrama a bloques Este guante no tendrá como otros de su tipo más avanzados el reconocimiento de la posición absoluta de la mano, es decir no podrá diferenciar entre tener la palma de la mano paralela al plano de la tierra o perpendicular a este, y tan solo tendremos la información referente a 1 I articulaciones de la mano, la información de cada articulación será interpretada únicamente como el movimiento sobre un plano y no como el movimiento en un espacio tridimensional. es decir no podra diferenciar entre tener los dedos juntos o separados, pero será capaz de reconocer si el puño está cerrado o abierto No obstante las limitaciones creemos que la información que obtendremos será la suficiente para interpretar el lenguaje ASL. 4 2. El guante ASL. 2.1. Descripción. La etapa más complicada del proyecto es lograr que el modulo analógico del sistema. que comprende todo lo que refiere a los sensores, funcione correctamente. La idea básica es hacer que al estimular un elemento eléctrico con una señal que vana con el tiempo en forma periódica, este sea capaz de modificar la amplitud de dicha señal según el movimiento de la articulación del dedo sobre el que haya sido colocado, de este modo podemos establecer la posición del dedo con solo medir la amplitud de la señal que regresa Después de que la señal es transformada por los sensores, es necesario amplificarla y darle un nivel fijo de DC para operar dentro del rango en el cual trabaja el convertidor analógico digital (A/D) que servira de interfaz para el procesador, además de agregar una etapa de salida para la señal amplificada con el fin de acoplar las inipedancias de salida del sujetador y de entrada del convertidor A/D. SP lk?f~tllci~ill de Itr seilcil. Antes de definir nuestro sensor tenemos que definir la señal que le será inyectada. En electrónica el término señal lo utilizamos para definir la variación del campo electromagnético dentro de un canal conductor, sea este un simple alambre, fibra Óptica, la misma atmósfera, etcétera Esta señal puede o no contener un mensaje inteligible, es decir podemos considerar como señal desde las pulsaciones de una estrella de neutrones hasta las oscilaciones del campo electromagnético en la antena de una estación de televisión. I .a ayida de las niatemáticas en esta área de la electrónica (análisis de señales) es invaluable. Una herramienta muy útil son los trabajos del matemático fiancés J. B. J. Fourier ya que gracias a ellos es posible descomponer matemáticamente una señal cualquiera en sus elementos básicos. tin ejemplo es la serie trigonométrica de Fourier, según la cual una señal periodica cualquiera no es más que la suma infinita de ondas senoidales, cada una de las cuales tiene una frecuencia bien definida, lo que hace a cada señal diferente es la amplitud de cada uno de estos componentes senoidales Matemáticamente im) f(t) = d 2 + c (a,, cos(noot) I1 + bh sen(nw,t)) I 2 d T (T es el periodo de la señal). los a, y b, se llaman los coeficientes de Fourier y dependen de f(t). I . 2, 3,4. 5 . Dado este resultado si aplicamos una tensión o corriente variante en el tiempo periódica a un dispositivo eléctrico, en el me-lor de los casos únicaniente cambiará la amplitud de la señal (afecta de igual forma a todos los armónicos' de la señal), esto sugiere un buen sensor para el fin que perseguimos Esta respuesta solo es posible utilizando resistencias, entonces es necesario un material que varíe su valor resistivo conforme se flexiotie. este material existe y es utilizado en básculas electrónicas e incluso es el dispositivo utilizado por A4A TUY, para medir la flexión de los dedos en su guante I'ow~er( ; / o I J ~ > en el cual se notan dificultades para poder medir todas las articulaciones de la mano además de tener muy poca libertad de movimiento. De cualquier manera fue dificil conseguir dicho material En cualquier otro caso el dispositivo causaría efectivamente variaciones en la señal, si embargo modificana de forma diferente a cada arrnonico de esta, lo que produciría interferencia sobre la respuesta buscada Entonces para trabajar con menos problemas en los sensores vanios a utilizar una señal senoidal pura para alimentarlos. donde o. I1 = = 2.2. Los sensores. El primer sensor en el que pensamos fue un transductor que ofrece linealidad, y una forma de conocer cual fue la direccioii del movinuento. el LVDT 2.2.1. El LF'DI. Un dispositivo muy popular para convertir el desplazamiento en señales eléctricas es el transformador diferencial lineal variable (LVDT : linear variable differential transformer) Aquí, el movimiento de un núcleo niaynético hace variar la inductancia mutua de dos bobinas secundarias cercanas a la primaria El LVDT tiene una construcción sencilla y basicariiente es un transformador con la bobina primaria entre dos secundarias. como se muestra en la figura 7 I El núcleo niagnético esta en libertad de desplazarse sobre su eje Si se aplica una señal de corriente alterna, por lo regular de -3 a 15 V, * armónico - senoidal de frecuencia y aniplitiid bien definidas perteneciente a la señal a la primaria, se puede encontrar una posición nula desplazando el núcleo de manera que los voltajes inducidos en cada bobina secundaria se anulen exactamente. En este punto las inductancias mutuas entre cada bobina secundaria y la primaria son iguales. El voltaje de salida del LVDT es una función lineal del desplazamiento del nt‘icleo, dentro de un intervalo especificado de movimiento, y puede mostrarse que el voltaje de salida, esta dado por e. e!,!- eSz= (MI- M2) di, / dt en donde M Iy M2 son las inductancias mutuas de los embobinados secundarios e i, es la corriente instantánea primaria 7 Figura 2.1 Transformador diferencial lineal variable (LVDT) La fase de la señal de salida es lo que indica cual es la dirección en que se desplaza el núcleo, y la linealidad queda determinada por el intervalo en el cual varia linealmente la inductancia mutua con respecto a la posición del núcleo El LVDT puede ofrecer varias ventajas diferentes sobre otros tipos de transductores de desplazamiento No hay desgaste mecánico. lo que garantiza una larga vida Pueden obtenerse LVDT para medir desplazamientos de! mismo arden que los indicadores de fuerza de deformación Debido a que la construcción de los transductores fue realizada manualmente y de forma rudimentaria, la precisión no fue muy buena y el dispositivo era muy grande como para colocarlo en el guante sin que su tamaño nos provocara problemas. Estas dificultades ocasionaron que basándonos en el LVDT se fuera diseñando un filtro que respondiera a nuestras necesidades 2.2.2 Filtros. Sin duda los circuitos electrónicos más populares y más utilizados son los filtros Como su nombre lo dice los filtros son usados para transformar una señal de tal forma que el dispositivo seleccione una parte de la señal, y el resto lo rechace. El ejemplo más claro se da en el momento en que sintonizamos la radio o la televisión en una estación o canal cualquiera, cuando hacemos esto logramos darle a los filtros del receptor los valores exactos para que sean capaces de rechazar todas las señales menos una El funcionamiento de los filtros se basa en algo a lo que llamamos respuesta en frecuencia de un sistema eléctrico Este concepto nos indica como responde una red eléctrica cuando hacemos un barrido de frecuencias’ con la señal de entrada. Al revisar la respuesta en frecuencia de un filtro podremos observar que hay una zona dentro del espectro de frecuencias en la cual la señal pasa sin ser afectada, asi como una zona en la que la señal es atenuada o rechazada por completo, así mismo se observa una variación en la fase o retraso de la señal de salida con respecto a la entrada. Teóricamente ia respuesta en fiecuencia se obtiene relacionando la tensión de salida v,,(t) con la tensión de entrada v,(t) por medio de el cociente v,)(t) / v,(t) Para evitar el manejo de ecuaciones diferenciales que resultan del análisis de estas redes (que representaría un esfuerzo excesivo), se trabaja en el dominio de la frecuencia, en donde las ecuaciones resultantes son cocientes de polinomios, más fáciles de trabajar que las ecuaciones diferenciales En el dominio de la frecuencia se acostumbra definir H(s) = V,,(s) i V,(s). que es la función de transferencia de la red eléctrica .Alser un cociente entre tensiones H(s) es una función adirnensional H(s) es la función que representará al sistema eléctrico y será quien transforme la fiincicin de entrada, si a esta función la evaluamos en s = j(9 tenemos que, H(s)j, ,~,,= H(jo)) Podemos obtener la masnitiid y la fase de ta función caracteristica del circuito eléctrico. logrando as¡ tener u n medio para poder evaluar la respuesta er? frecuencia del sistema, dado que la tuncion de transferencia queda en términos precisamente de la frecuencia. Definimos entonces a 1HQm)I como la función de la magnitud. &(to) como la función de la fase . * . ~~ ~ Hacer un barrido de frecuencias en la práctica significa variar la frecuencia de una señal desde O hertz hasta la frecuencia más alta posible Las características de los liltros más utilizados se expondrán a continuación I’Iltropasa bajos de primer orden. Los filtros pasa bajos son utilizados para dejar pasar Únicamente ondas senoidales cuya frecuencia es más baja que una determinada frecuencia a la que Ilaniamos frecuencia de corte En el caso ideal como se ve en la figura 2.2 justamente en la frecuencia d e mrte (o..)hay una discontinuidad, antes de ese punto pasa la señal íntegra, después todo es rechazado. En la realidad esta discontinuidad no existe y la grafica ideal se convierte en una curca continua decreciente que cuando crece la frecuencia se acerca asintóticamente a la recta /HCjo)l = O y la frecuencia de corte se determina cuando: (U 0, Figura 2.2 Respuesta de un filtro pasa bajos ideal Una i-espuesta pasa bajos se puede conseguir utilizando una de las siguientes redes F---q I/,> :, N Pasa bajos RL ! , +\, 1, Pesa 11atoz KC Figura 2.3 Filtro pasa bajos Analizando el pasa bajos KC para obtener la función de transferencia. debemos resolver la malla para V, (s), es sencillo ya que solo se trata de un divisor de tension entre la resistencia interna de la fuente Rs y el arreglo que forman el capacitor C s la resistencia de carga Rl,. obtenemos así Xlultiplicaiido numerador y denominador por R1 + 1 / sC, luego multiplicarnos nunierador y denominador por SC Despejamos la s dentro de la ecuación dividiendo el numerador y el denominador por CRsRl Multiplicanios y dividimos el numerador por (R, . Kl,) R, Hacemos (K, t RI) / CR, RI = (1)' y dividimos ambos lados de la ecuación por V,(s) Entonces tenemos que Se ve que la fiecuencia de corte la podemos controlar siniplemente escogiendo los valores de la resistencia de carga y del capacitor Haciendo un analisis similar para l a red RL obtenemos 0)' RI H(s) = s (R, + R,) donde Rs + RI o,= L Aqui se controla la frecuencia de corte variando los valores de la resistencia de carga o de el inductor I.7llro y o s o UIIOS úe primer ordeti. Los filtros pasa altos se diseñan para dejar pasar únicamente ondas senoidales cuya frecuencia es más alta que una determinada frecuencia de corte En el caso ideal como se ve en la figura 2.4, justamente en la frecuencia de corte (aL) hay una discontinuidad. después de ese punto comienza a pasar la señal integra, antes de c:iC todo es rechazado En la realidad esta discontinuidad no existe y la gráfica ideal se convierte en una cuma creciente que se acerca asintóticaniente a la recta iH(jw)j = lcuando l a frecuencia crece y la frecuencia de corte se determina cuando k es un entero Figura 2.4 Respuesta de un filtro pasa altos ideal Una respuesta pasa altos se puede conseguir utilizando una de las siguientes redes 8 Pasa alto.: Pasa altos KC' KI Figura 2.5 Filtro pasa altos Analizando el circuito R, , para obtener la función de transferencia debemos resolver la nialla para V , (s), es sencillo ya que solo se trata de u n divisor de tensión entre la resistencia interna de la fuente Rs y el arreglo que forman el inductor L y la resistencia de carga Rl , obtenemos así Multiplicando numerador y denominador por RI + s L tenemos Reagrupando terminos Despejando s dentro de la ecuación V,( s ) s R, €facernos R\ R, / [L(R, + RI) ] = (0, y dividirnos ambos lados de la ecuacion poi V,(s) Entonces tenemos que donde Con esto es claro que la frecuencia de corte l a podeirios controlar simpleniente escogiendo los Lalores de la resistencia de carga y del inductor Haciendo un análisis similar para la red RC obteiienios 9 il(s) ~- = S - s + oL RI (Rs + R I ) donde I (9 = C(R, RI) Aqui se controla la frecuencia de corte variando los \alores de la resistencia de carga o de el capacitor l*Yltrop s a hutidci. Los filtros pasa banda son disefiados para dejar pasar únicamente ondas senoidales cuya frecuencia se encuentra dentro de un i-ango de frecuencias bien definidas (o1 o 02),fuera de esta zona no pasa nada En el caso ideal como se observa en la figura 2.6, la zona pasa banda esta bien definida entre las frecuencias 0 1 y 02. y fuera de este rectángulo no pasa nada. En los filtros reales es imposible tener una respuesta como la del gráfico, más bien se obtiene una curva continua que contiene un máximo en una frecuencia a la que llamaremos op,dicha frecuencia se encuentra más o menos en el medio de las frecuencias m1 y a2 En el caso real ai y o2se definen como las frecuencias en las que: Entonces tenemos las siguientes definiciones o = o2- al , es el ancho de banda del filtro en rad I s o,>La frecuencia pico o frecuencia de resonancia del filtro e,@) iH(jto)l ksr k es un entero I + b Figura 2.7 Filtro pasa banda Resolviendo H(s) para el circuito resonante paralelo. fiegarnos a la expresión (!I Tenemos que ResolWendo H(s) para el circuito resonante en sene. llegamos a la expresión I RI + Rs Donde 0 h yap- = L (LC)' Volviendo al circuito resonante paralelo, Gqué sucede si hacemos variar el valor de inductor?. Observando las ecuaciones resultantes del análisis del circuito resulta claro que al variar el valor L solo se afectara el valor de la frecuencia de resonancia op y no el ancho de banda del filtro oh, es decir, es posible desplazar el pico de la hnción /H(jo)!a la izquierda o a al derecha sobre el eje de la frecuencia, sin alterar la selectividad del filtro. AI proceso de cambiar la frecuencia a la cual ocurre el pico se le llama sintonizar Para observar este fenómeno nos referimos a la fiLwra 2.8 , en donde jH(japI)j corresponde a un valor de L mayor que en (HCjol,,)j Figura 2.8 Respuesta en frecuencia de un filtro pasa banda con dos valores distintos de L. La reflexión anterior nos indica que si alimentamos el circuito con una onda senoidal de frecuencia fija oT.y a 0 ~ 2 ,la respuesta forzada cambiamos el valor del inductor de tal forma que la frecuencia de resonancia se desplace de del filtro será una función de la forma f(t,L) = A(L) seri(2molt + +(L,)), donde, sen(27tal-t+ $(L)) es la onda senoidal con frecuencia w l y una fase +(L) introducida por el filtro. .4(L) es la amplitud en función del valor del inductor La cuestión de la linealidad no nos interesa por- el moniento, este problema se resolverá por medio de software, pero para minimizar este problema se tuvo que adaptar- el diseño a los materiales que se tenían, en este caso una dificultad fue conseguir el núcleo adecuado para el inductor Este riiicleo tiene como propósito conseguir que el filtro al tener las iiiductancias mínima (máxima flexióii de la articulación) y máxima (niinima tleuión de la articulación) siempre esté trabajando en una zona pequena dentro de la pendiente positiva de la yafica de la hncion IH(jo)l, ademas de permitir trabajar a frecuencias bajas. Dadas las dimensiones requeridas para dicho material fue dificil conseguirlo, el que tuvo mejores propiedades magneticas fue el material del que están hechos los alfileres de costura. Debido a sus dimensiones y costo utilizamos como núcleos de los inductores precisamente alfileres de costura Dicho material ofreció una fiecuencia de traba-io de 12 5KHz 1.0s \,alores de la red utilizada son bobinas cuya inductaricia niáxinia es de 410 k t H (con el núcleo metálico totalmente dentro de la bobina) y mínima de 65 pH (sin núcleo metálico), resistencia de carga de 10 KR y un capacitor de O 1 1tF 11 De la experiencia que produjo la construcción del prototipo sabemos que por las conexiones hechas no podemos trabajar con todos los filtros a la vez, de hacerlo así las impedancias de estos se acoplan y todos los filtros actúan como uno solo. Entonces habrá que buscar la forma de que esto no suceda, con este fin se introduce un transistor al circuito, la idea es poder Controlar la corriente que fluye a través del filtro, y de este modo controlar el funcionamiento del mismo, la configuración resultante se presenta más adelante en la sección de control. 2.2.3 Amplificadores. Un elemento indispensable en la electrónica sin el cual serían imposibles muchas de las maravillas tecnológicas que conocemos, es el amplificador. Podemos contar con amplificadores integrados a los que solamente hay que conectar y calcular la ganancia, tal es el caso de los amplificadores operacionales. Los amplificadores operacionales son muy útiles y fáciles de utilizar, pero tienen el inconveniente de que su ganancia disminuye al aumentar la frecuencia de la señal de entrada, esto impide su utilización en nuestra aplicación. Para la frecuencia que estamos utilizando y la ganancia que necesitamos es conveniente la utilización de amplificadores discretos, es decir, construir los amplificadores con transistores y resistencias. Yolarizacióti del transistor BJT Podemos utilizar un transistor de unión bipolar como amplificador, para esto es necesario polarizar al transistor en su región activa, esto es la unión base-emisor debe estar polarizada en forma directa (tensión en la base, mayor que en el emisor para un transistor npn) y la unión base-colector debe ser polarizada en forma inversa (tensión en el colector, mayor que en la base para un transistor npn). El problema de la polarización del transistor consiste en hacer fluir a través del emisor una corriente constante, de tal forma que esta corriente permanezca igual no importando si se producen cambios en la temperatura o variaciones en la p de los transistores. Para polarizar al transistor se utiliza la configuración de la figura 2.9. Las fuentes VBE y Vcc son quienes proporcionan las comentes directas que polarizan al transistor y Vbe es la &ente que proporciona la señal que será amplificada. Figura 2.9 Amplificador con transistor npn. Para tener el control sobre la fuente VBE en el amplificador, se utiliza la red de la figura 2.10 (a), en donde las resistencias en la base R1y R2 tienen la función de polarizar directamente la unión base-emisor, además como la resistencia en el emisor R, deben ser elegidas de tal forma que brinden estabilidad a la comente del colector (o del emisor). El valor que le demos a la comente continua del emisor estará determinando el punto de operación (Q) del transistor, es decir, ei valor alrededor del cual estará variando la señal de entrada, tenemos que tener bien en cuenta este punto para evitar que la señal de entrada provoque que el transistor salga de la región activa y vaya a corte o saturación. Podemos evitar la transición entre regiones si logramos que la comente del colector mantenga el voltaje colector-emisor en el intervalo permitido dentro del rango de voltaje O-Vcc. Para analizar el funcionamiento del circuito en dc utilizamos el equivalente de Thévenin de las resistencias R1y R2 y la fuente de alimentación Vcc, quedando el circuito que se muestra en la figura 2.10 (b). a) b) Figura 2.10 Red para u n amplificador con transistor de unión bipolar 12 Del equivalente de Thévenin obtenemos las siguientes relaciones. o bien: Analizando el lazo que contiene la unión base-emisor resulta la ecuación: IEQ= VBB- VBEQ - ~..__~ ~~ %+WP De esta última ecuación podemos ver que si elegimos una resistencia de emisor que sea mucho mayor que el valor R&, logramos que las variaciones en la p del transistor no afecten de manera significativa las comentes de polarización. Con las ecuaciones resultantes del equivalente de Thévenin podemos entonces calcular los valores de las resistencias de la base Gana?iciade voltaje. Para amplificar una señal es necesario que la relación de el voltaje de salida entre el voltaje de entrada sea mayor que uno y para poder analizar el circuito amplificador es necesario modelar el transistor BJT. Existen dos modelos, el modelo híbrido x y el modelo T, por ser el más utilizado didácticamente utilizaremos el modelo híbrido x. Figura 2.1 1 Modelo pi híbrido del transistor npn de unión bipolar. Donde gmse define como transconductancia y es igual a IcNT y r, es la resistencia interna del transistor vista desde la base hacia el emisor y es igual a p í g,. Este modelo está construido para trabajar con una señal de entrada pequeña, esta no debe ser mayor que el voltaje térmico V., que a temperatura ambiente (3OOK) es de aproximadamente 25mV. Volviendo al circuito de la figura 2.10, la resistencia en el emisor solo se utiliza para dar estabilidad a la polarización del transistor, pero cuando entra la señal esta resistencia produce una disminución en la amplificación deseada, por lo que es deseable que a excitaciones con frecuencias distintas de cero la contribución de este elemento se anule, por esto se agrega un capacitor de desacoplo en paralelo a la resistencia. Ahora eliminamos las contribuciones de comente continua para realizar el análisis a pequeña señal de la red eléctrica, esto es cortocircuitamos fuentes de voltaje, se abre el lazo donde encontremos fuentes de corriente, cortocircuitamos capacitores y abrimos el lazo en los inductores.. Sustituimos el transistor por su modelo x Figura 2.12 Modelo del amplificador a pequeña señal. Resolvemos el circuito para es decir el voltaje a traves de la resistencia del colector. de la figura 2.12 vemos que el voltaje de salida es, (suponemos una fuente ideal) VS>iI = -R, g,,, v, como v m v,,,, (por fuente ideal) sustituimos el valor de v, en la ecuacion de v,Aly tenemos que y= 13 v,1= -R,gm vent se dividen ambos lados de la ecuación y tenemos que v,I I $,v = A, -R,gm Donde A, es la ganancia del amplificador. Con esto es posible construir un amplificador para poder trabajar las señales que nos entregan los sensores cuyos valores medidos oscilan entre los 5 y 8 mV. 1 1OOK I_ Figura 2.13 Amplificador de do etapas con ganancia=l000 a 12.5KHz. La etapa de amplificación que se utiliza es de dos etapas, encontrando en las dos la configuración de emisor común, sin embargo mientras que en la primera se realiza con un transistor tipo npn en la segunda es con un pnp. Las siguientes gráficas muestran el comportamiento en frecuencia contra ganancia del amplificador antes mostrado. 6 KV G a n a n 5 4 3 C i a 2 1 O 1 e4 Frecuencia Figura 2.14 Respuesta en frecuencia 2.2.4 Fuentes de corriente. La polarización de un transistor utilizando resistencias es para los diseñadores un trabajo formidable debido a las diferencias que existen entre transistores incluso del mismo lote Las fuentes de corriente proporcionan un medio bastante más gentil para lograr la polarización estable de un transistor, por esto las fuentes de corriente son el dispositivo preferido de polarización en la industria de los circuitos integrados ya que además de resolver el problema de la polarización ayuda a la 1-educcióndel espacio destinado a las resistencias 14 Jispejo de corrierile. tis la más simple corifiyuración para una tuciite de corriente, esi;i se muestra en la figura 2.15 Consiste de dos transistores idénticos Q, y Q con las bases y los emisores conectados entre si. el colector de Qi está conectado a las bases, los emisores pueden ir a tierra o a una alimentación negativa -Vcc , la única condición es que el voltaje de el colector de el transistor (I2 sea mayoi que el voltaje en la base para asegurar que el transistor opere en la región activa. t Figura 2.15 Fuente de corriente espelo El circuito se alimenta con una corriente l R, t y~ la salida Io se toma en el colector del transistor Qz Para ver el funcionamiento de esta red vamos a caracterizar la ganancia en comente I<J I K b I 21, B II 2h IKI F = - + IC =-+p+1 P+i P t 3 = P+ I ___ P i [I 1 P 1 0 = -11 Entonces la ganancia en corriente esta dada por, - - 8+i ~ IR1 t p+2 I r 2/13 Considerando que P >> 1 resulta que Io es aproximadamente la IR¡ I ' Para tener un niejor desempeño de la fuente y mejores propiedades corno la dependencia de I(, con j3 y la resistencia de salida. se introducen las fuentes con compensacioii en la corriente de la base Figura 2.16 Fuentes de corriente mejoradas En estas fiieiitcs de corriente la característica de ganancia es, 1,) I I - - __ ~ I K I I. I + 2/(PZ + p) I + 7/pz Para nuestros intereses es suficiente con una fuente espejo de corriente, diseñada de modo que se pueda controlar la corriente I K I ,. por medio de una resistencia variable, entonces se propone el siguiente modelo, Para un análisis más exacto refiérase a SEDRNSMITH "Microelectronic circuits" citado en la bibliografía Figura 2. I7 Fuente de corriente practica en donde \', - VHI 1111.1 L l Este tipo de fuente servirá para alimentar a dos filtros pasa banda, a saber 1 - AI pasa banda que filtrará una señal de reloj generada con el microcontrolador. Una señal cuadrada será el voltaje de alimentación para la fuente, entonces la corriente será un tren de pulsos cuadrados, que al pasar por el filtro se convertirá en una senoidal de 12.5 KHz 2.- A los filtros pasa banda que resultaron ser nuestros censores de posición. Esta fuente se alimentará con la salida del filtro mencionado arriba, dicha señal es una senoidal de frecuencia igual al armónico principal de la onda cuadrada generada por el microcontrolador con una componente de dc igual a \'(,c. 2.2.5. Sujetadores. Debido al nivel de voltaje de dc que resulta después de los amplificadores que no precisamente cumple con las especificaciones del convertidor analógico-digital, es necesario que a la salida de estos se agregue un circuito que fije la señal en un nivel de dc conveniente a nuestras necesidades il-cirrro~f~phr úe t ~ i v c > l . El circuito fijador de nivel es una red similar al circuito rectificador simple (diodo y capacitor), solo que en lugar de tomar la salida a través del capacitor, se tonla en el diodo, la fuente \iR se agrega para obtener el nivel de dc al cual se va a fijar la señal. El fijador de nivel se muestra en la figura 7 18 pqg,; c I., N - Figura 2. I8 Circuito fijador de nivel Considerando al diodo ideal y haciendo un analisis cualitativo del circuito, se ve que cuando v, es más pequeño que VI, el diodo es un corto circuito y entonces v,, = V, , esto hace que el capacitor se cargue con el valor de Vc que será e1 valor rninimo al que llega v, (v, ,,,,), luego Vc, V K - v, ,,,,,, De lo anterior resulta que v,, = Vc + v, , de aqui que la señal se fija en \iR La resistencia R será responsable de la descarga del capacitor. esto es útil cuando la señal tiene variaciones en amplitud, va que si la constante de tiempo RC es menor que el periodo de la señal esta podrá ajustarse al siguiente valor de 7 I\' í ' i r o r i t o rc~.c-íiriuaúor de dc,. El restaurador de dc es una variante del tijador de nivel, el circuito se muestra en la siguiente figura Figura 2.19 Restaurador de dc. Inspeccionando el circuito y asumiendo que e1 diodo es ideal se ve que este se enciende cuando la tension en L;, es menor que cero volts. esto ocasiona que el capacitor C se cargue con el volta-¡e niinimo que puede alcanzar v, , es decir C',. v,,,,,,,, por lo tanto v,, no podrá ser menor que O V, ya que v,, = Vc, + v, ~ lo Al colocarle una resistencia de carga al circuito, esta ocasionará que la energía que se almacenó en el capacitor se disipe en ella. Por lo tanto para evitar que la señal se vea distorsionada por el decaimiento enponencial de la descarga del capacitor, se eligen los valores de la resistencia y el capacitor tal que la constante de tiempo RC sea al menos cinco veces el periodo de la señal. Este interesante circuito se puede utilizar cuando transmitimos por ejemplo un tren de pulsos en una red con acoplamiento capacitivo. el cual elimina cualquier componente de dc; al alimentar al circuito fijador con dicha señal este logra restaurar la componente de dc perdida, es por eso que a este circuito se le denomina restaurador de dc Por las características del restaurador de dc parece ser el circuito indicado para nuestra aplicación, ya que estaríamos trabajando la señal completa en voltajes positivos, ideal para el convertidor N D que se utilizará, no obstante lo que nos interesa de la señal es únicamente el rango de voltaje en el que varia esta, es decir solo una parte de la cresta. Lo que se puede hacer es introducir una fuente de dr y hacer un circuito fijador de nivel más general, y bajar la señal de tal tbrnia que solamente tengamos como voltajes positivos la parte de la señal que esta variando con la flexión de los dedos Todavía queda la cuestión del rango de entrada del convertidor .;VD, éste se puede solucionar con un rectificador de media onda o bien encontrando una etapa de salida que se ajuste a éste requerimiento. 2.2.6. Etapa de salida. La principal hnción de la etapa de salida de un amplificador es la de proporcionar una resistencia de salida baja, para que se pueda transmitir la señal a la carga sin pérdida de ganancia. Una caracteristica muy importante de las etapas de salida es la potencia que son capaces de entregar. Las etapas de salida son clasificadas según la forma de onda de la corriente del colector cuando una señal de entrada es aplicada. Las etapas de salida son. I.,'ttipude cluse A. La etapa de clase A niás común es el emisor seguidor, el cual tiene como característica principal una baja resistencia de salida Elcircuito se muestra en la siguiente figura + -\'.. Figura 2.20 Etapa de salida clase A. El transistor Q , se presenta como el emisor seguidor polarizado por una corriente constante I dada por e1 transistor Qz, esta corriente de polarización debe ser siempre mayor que la más grande corriente negativa de la carga i,,, para evitar que el transistor Q se apague La curva característica de transferencia resultante se muestra en la figura 3 2 1 Del análisis de la curva se desprende que si elegimos un valor apropiado de la corriente de polarizacióii I, podemos lograr que el valor máximo negativo que puede alcanzar la salida sea igual a -Vcc + VCk;lsat, despreciando ei valor de los voltajes de saturación de los transistores Q2 y Q , tendriamos que la variación de la señal de salida puede estar entre Vcc y -VCc. Figura 2.21 Función de transferencia característica de la etapa de salida clase A 17 Dentro de las etapas de salida existe un parárnetro que mide la eficiencia de la red, a este se le denomina como la eficiencia para conversión de potencia q, y se define como: PL, rl=PS donde PI,e5 la potencia disipada en la carga. Ps es la potencia que suministra la fuente Un inconveniente de esta clase de etapas es que el parámetro q es demasiado pequeño, este se va a encontrar entre un IO90 y un 70°/a 1:tajm úe c l u . H. ~ La etapa de clase B son dos emisores seguidores complementarios trabajando cada uno por separado, son polarizados con una corriente igual a cero y su funcionaniiento entonces depende únicamente de que la señal de entrada sea lo suficientemente grande para que logre polarizar a los transistores La etapa se muestra en la siguiente figura Figura 2.22 Etapa de salida clase B Analizando el circuito se ve que en cualquier momento solo estará encendido un transistor. Cuando el voltaje de entrada vi es cero la salida es cero v,, = O, ya que ambos transistores estarán apagados, pero cuando v, es mayor que O 7 V el transistor QN se encenderá y se comportará como un emisor seguidor y v, = v, - V B E ~ Entonces . si v, es menor que - O 7V el transistor Qs se apaga y el transistor Qi, toma el papel de emisor seguidor y el voltaje de salida v, = Y, + vIH I > La característica de transferencia del este circuito se muestra a continuación. V,, Figura 2.23 Función de transferencia caracteristica de la etapa de salida clase B. De la gráfica llama l a atención la zona comprendida entre -0 7V< vi <O 7V, ya que en este intervalo el voltaje de salida es OV, lo que produce distorsión en el cruce de la señal La distorsión producida por esta etapa se vuelve mas severa cuando la señal de entrada es pequeña, por eso es recomendable suministrar a la etapa señales grandes Este circuito tiene como ventaja que su paránietro q esta al rededor de el 700/0. lo que lo hace bastante eficiente en cuanto a potencia se refiere. I:.1ap1 C.lL1.W A H. Esta etapa es una combinación de las etapas de clase A y B. se presenta como una etapa clase B donde se introduce un voltaje V131, entre las bases de Qs y Ql,, este pequeño voltaje servirá para polarizar con una corriente distinta de cero a los tiansistores, de tal forma que la distorsión en el cruce es eliminada Se asume que, . . is = i P = 1, = \ Ise Iji 2\ I El valor de VIIIIse elige para producir la corriente de reposo I,. t v,.,. ? Figura 2.24 Etapa de salida clase AB Si v, = OV la tensión de salida es de OV. Cuando v, se va haciendo positivo, el voltaje de la base del transistor (su y el voltaje de salida v,, se incrementan aproximadamente en el mismo valor, de esta manera, v,, = v, + V , d 2 - VBP.S Esto produce una corriente en RI, entonces il. se incrementa de modo que. . . ly = Ip + il, Este incremento en is provoca también un incremento en v ~ p sobre ; ~ V&, al producirse este incremento y como el voltaje entre las bases de los transistores QN y Qp es constante se debe generar un decremento de la misma cantidad en v13FI> y por lo tanto en ip, derivándose la relación, . . 1, Ip = I,' Entonces un incremento en iN produce un decremento en il, de tal forma que el producto de ambas corrientes sea constante. Luego QN se enciente de tal forma que se comporta como el emisor seguidor, mientras que la contribución de VI, se vuelve despreciable. Por el contrario si i p se incrementa el transistor Q,. se vuelve el emisor seguidor mientras la contribución de Q, se vuelve despreciable La característica de transferencia resultante se muestra a continuación. Figura 2.25 Función de transferencia característica de la etapa de salida clase AB Coirio se puede observar la distorsión en el cruce se ha eliminado, y el comportaniiento de esta red es básicamente de una etapa de salida clase B También las propiedades de la potencia disipada en los transistores es similar, por lo tanto se puede considerar a la etapa de salida clase AB como una etapa de salida clase B inejorada Por sus características la etapa de salida clase AB es la que traen integrada los amplificadores operacionales Recordando que necesitamos una etapa de salida que solo conduzca la parte positiva de la señal, nos referimos a la etapa de salida clase B Si utilizamos únicamente el circuito que conduce la parte positiva de la señal y ajustanios el nivel de dc, logramos entonces alimentar al convertidor N D Únicamente con la parte de la señal que deseamos, es decir utilizanios la configuración de un emicoi- seguidor. 19 3. El Microcontrolador. 3.1. Introducción. Hasta ahora tenemos resuelta la mayor parte del módulo de los sensores. es decir la parte analógica del sistema I,o siguiente es desarrollar el módulo digital y de control del dispositivo. Veamos ahora que tenemos y que es lo que necesitamos: 1 Tenemos un filtro al que hay que alimentar con una onda cuadrada con un ciclo de trabajo igual al 50%, con un voltaje bajo de OV, un voltaje alto de S V y una frecuencia de trabajo 0-1 de 12.5 Ktíz. 2 Tenemos 1 1 filtros (sensores) que se tienen que trabajar uno por uno, para evitar que por las conexiones hechas estos no se acoplen y trabajen todos como u n o solo. -3 Tenenlos 1 I señales por recibir 4 Tenemos una señal analógica que queremos codificar digitalmente 5 Queremos enviar información de forma serial a una computadora Para el punto número uno debemos generar una señal de reloj con una frecuencia igual col con el procesador, y la hacemos pasar por el filtro pasa banda, que tiene una frecuencia de resonancia igual a w.1Para el punto dos utilizamos un demultiplexor con un mínimo de 1 1 salidas, que se encargará de encender el transistor cuyo filtro tenga que estar activo, los restantes están apagados. El punto tres lo resolvemos utilizando un multiplexor analógico, el cual dejará pasar solo una señal para su proceso. Para el punto cuatro utilizamos un convertidor analógico digital de velocidad media y una resolución mínima de cuatro bits. El quinto punto obliga a tener un circuito dedicado USART, o bien buscar un procesador con el üSART integrado Durante la elaboración del prototipo, como se mencionó antes se utilizo el sistema minimo (JAM1 desarrollado por profesores del departamento de ingeniería biomédica de la Universidad Autónoma Metropolitana Unidad Iztapalapa, el cual se basa en un procesador 80188 Debido a que este sistema tenía fuera del procesador la unidad de transmisión serial y el convertidor analógico digital, no ofrecia un buen desempeño al momento de la transferencia de datos El 80188 es de arquitectura CISC lo cual implica pérdida de tiempo en la decodificación de las instrucciones, por lo que se decidió que no había necesidad de utilizar instrucciones complejas y que por lo tanto podnamos utilizar un procesador de arquitectura RISC Veamos, se necesita un procesador que tenga integrado un módulo de comunicación serial, u n convertidor analógico digital y un generador de pulsos cuadrados, que además tenga un conjunto de instrucciones reducido 3.2. El PIC16C74. Los PIC son una familia de microcontroladores de arquitectura RISC que se esta volviendo niuy popular debido a su versatilidad, los hay desde los más simples con convertidor A/D (un solo canal), memoria para programa EPROM y memoria RAM, hasta los más complejos con convertidor A/D (vanos canales), puerto de comunicación serial, puerto de comunicación paralelo, módulos temporizadores, mayor capacidad en memoria EPROM y RAM. Porque sus características fueron las que más se aproximaron a nuestros requerimientos se decidió trabajar con el PIC16C74 El PIC I6C74 es un microcontrolador de 8 bits que utiliza una pila hardware de 8 niveles de profundidad, al igual que todos los PIC su arquitectura introduce 2 buses internos uno de 14 bits de ancho utilizado para las instrucciones y otro de 8 bits de ancho para datos; la memoria EPROM admite 4 K palabras de 14 bits para el código del programa, mientras que la RAM admite 192 bytes de datos además de los 64 registros especiales de 8 bits que son utilizados para controlar el funcionamiento interno del dispositivo; contiene u n convertidor A/D de 8 bits de resolución con ocho canales, un puerto sene que se puede programar para trabajar en forma síncrona o asincrona, tres temporizadores que pueden tener tres funcioites diferentes (Captura, Comparador y blodulación de Ancho de Pulso) y un puerto esclavo paralelo de 8 bits, puede trabajar a \,arias velocidades, la más alta 200 ns por ciclo de instrucción se alcanza con una frecuencia en el cristal oscilador de 20 MHz, todas las instruc.ciones se ejecutan en un ciclo excepto las que involucra saltos, estas ocupan 2 ciclos. Con u n conjunto de 35 instrucciones es u n dispositivo excelente para nuestra aplicación ya que además lograremos procesar los datos antes de enviarlos a la computadora. El PIC 16C74 tiene un contador de programa de I3 bits con el cual se pueden direccionar un espacio de 8 K x 14 de la memoria para programa El vector de reset se encuentra en la dirección OOOOh y el vector de interrupción en la dirección 0004h La distribucii,n de la memoria EPROM en el PIC 16C74 se muestra en la figura 3 I Direccionar despues de los 3K nos dejaría atrapados ya que estaríamos direccionando a un lugar no implementado tisicamente Memona de progirami (Pagina O ) I Figura 3.1 Distribución de la memoria de programa del PIC 16C74 La memoria RAM consiste de 256 registros los cuales son distribuidos en dos bancos, cada uno de los bancos de 128 bytes ocupa los 32 registros mas bajos como registros especiales, el resto son registros de propósito general. La distribución de los registros se muestra en la figura 3 2 PORIA 07h OX11 SORTE 09h OAh Ol3h OCh I'CI.A'ICII 1NTCC)N PII¿ I ODh ( ir:il i JFh 'TRISB PCLATCI I INI'CON PIE: 1 SIR2 PEZ rmii. 'I'MRIIl WON I'ICON lOh 1 Ih 12h I3h I 4 1 I 5h l6h 17h 18h 1911 I :I11 I i3h 3ih Nota I : I N o es un mgistm fisico. Figura 3.2 Distribución de la RAM en el PIC 16C74 21 ii continuación se presentaran los registros que utilizaremos junto con los bits que nos serán Utiles. El registro STATUS contiene información acerca del estado de la unidad aritmetica Iogica, del RESET y del banco de memoria que esta siendo utilizado :A I,,I I n: l<PO I I IO I 1 1'1) I 1 ,T. Z I I o IX I I /I c hit o 1111' hit selcckir J c Iiinco (usodo para d i r t w i ~ ~ m r n i c ~iiidirccto) iio 1 =bancos 2. 3 (IUOh - 11th (úniwnimte 1'IC16C76/77)) I~ruic~ O,i ~I (OOh - 14.11) 1111 ' .I<i'O hit5 selectores de harico (usado para diracionaniieiiio dirwíol 1 1 = banw 1 ( I8011 - I W h (unleamente t'lC 16C7hn7)) I O = hanco 2 (100h - 17Fh (unleamente l'lClbC76/771) i) I haiico I (XOti - F1h) O(1 = hanco O (iNh - 7F'h) codli hiiiico es de 1x. 17) les /, bit cero I = cI rcsultado de una «pc?-aci¿h animética o Ihgiw es wro í ) = el resultado de una opmci<in antrnéiica o Iogica 110 es cero c h i l de acarreo I = tki ocurrido un acarreo 0 = No ha (xurndo tin x a r r t i i (I ~y Figura 3.3 Registro STATUS (dirección 03h, 83h) El registro INTCON controla las interrupciones globales y externas y el desbordamiento del TMRO (ill! hit de tisliilitacihn de las intempcioiics glchalcs I = liahilita todas Lis interrupciones no enniasaradas hi 7 t<xtisIus interrupciones 1'1:11.' h i t de Iiahilitacion de las interrupciones penféntns 1 = Iiahilita t(Klas las iiitempci«ncs perifthcas no tmniasciiradiis = inhiibilita todlts Ius intempciories perit'knca'; ii = iiitialiilita 1x10 Figura 3.4 Registro INTCON (direccion OBh, 8Bh) El registro PIE controla las interrupciones de cada uno de los perifencos \ I I ;u N I 1 I /I Ií1 I /1 Figura 3.SRegistro PIE: (direccion 8Ch) 33 0iierto.s de enlruúu J suliúu. El PICihC'74 cuenta con 33 pines de entraddsalida los cuales se distribuyen en 5 puertos, no todos los pines se pueden utilizar como entraddsalida de propósito general ya que algunos se encuentran multiplexados con alguna función alternativa perteneciente a los periféricos del dispositivo. I)imsi<iri OSh Nomhre 85h PORTA TRISA 9Fh AIX'ON I hit 1 I hit 6 7 1 I bit 5 hit 4 hit 3 1U.í IZA4 KA3 Registro de la dirección de los datos del puerto A I I hit 2 RA2 PCF(i2 I hit I hit 1 I<A I ] I t'CI-G 1 I (1 KAO PCt~'<iO Figura 3.7 Registros relacionados con el puerto B. P w r í o í'. El puerto C (PORTC) es un latch de 8 pines A traves del registro de configuración TRlSC podemos dar la dirección de los datos en este puerto. Cuando u n pin esta configurado como entrada, el latch interno es puesto en alta impedancia para poder recibir la señal, si está configurado como salida se habilita el latch el contenido de este es puesto en el pin seleccionado. En el registro TRlSC si el bit i (i = O. I . . 5) es puesto en 1 quiere decir que el bit i en el registro PORTC es una entrada, por el contrario si el si el bit i es O entonces el bit i en el registro PORTC es una salida Todos lo pines del puerto C están multiplesados con diversas tiinciones de los periféncos del microcoritrolador los que nos interesan se muestran en la siguiente tabla Nomhre RC! llC4 RCS turn 1<c7nu I>ireccii)ii 1)7h 8711 1 Bi hit ? hii 4 hit 5 bit 6 hit 7 Nonibrc 1Y >Kl'C 'I'I<ISC entradúsalicb cntradaisalida entrd&i/sa~ida cntraddsalida o salida del piicrto send asicrono lJSAK 1' critradaisalida o ciitradii dcl pucrto sena1 asícrono iJS.%Rl I I I 1 I hit 7 hit O iiit .í RC7 RC6 l<C5 Registro de l a d i r w i o n de 10s datos del puerto C I hit 4 KCJ I 1 hit 3 IZC? I I hit 2 RCZ I I hit I RCI I 1 hit U RCO M)R11> mrsi) bit 7 Nombre bit 5 bit h I 1 I I I hit 3 KI)3 KlX bit 2 hii 3 hit 4 bit 2 u€2 OXh IT )K'I11 XXh W'h IRISI: AIXX )N 1 I I I I I I I IKISI: I >ireccioii 1 1 bit 5 bit 4 bit6 KDj IU>J RD7 RIB Regisir<>de la dirección Jc l o s d;iios del puerto 1) I'Sl'MOI>li bit 7 Noriihrc I>ireccion ORh 8x11 wi1 I I bit 1 KI>I I I bit I I I REI I I bii o KIX) bit O REO I 13its de IU dirección de los datos del punto E PCfXi2 I PCJT;1 1 I'SPM( )DI f emprizudore 5 El PIC16C74 trae integrados tres temponzadores, a saber TMRO, TMRl y TMR2 En este trabajo solo revisaremos los temponzadores TMR I y TMR2 por ser los que vamos a utilizar f en~p~irízador f El modulo del temponzador I es un contadorhernporizador de 16 bits y consiste de dos registros de 8 bits (TMRIL y TMRIH) sobre los cuales se puede hacer tanto lectura como escntura Este temponzador puede causar interrupciones SI estas son habilitadas, esto se logra si el bit TMR I IE del registro PIE 1 es puesto en uno Tiene la opcion de preescalador que provoca que el incremento pueda ser a las siguientes razones 1 I , 1 7 , 1 4 y 1 8 El modo de funcionamiento que nos interesa de este penferico e5 el de teniporizador En este modo el reloj de entrada es interno, es decir Fosci-l Ei registro de control de este temponzador es el TI CON, el modo de operacion se configura escnbiendo en el bit 1 de este registro, y el temporizador se puede habilitar/inhabilitar escnbiendo liO en el bit O de TlCON N N lil I /l Ifi l/l bit lilt7 hit i4 I ICKPSI I 1I liii0 ieccion del prixscaladcir del reloj d e eiitrndii 1 ICKl'SO biisd = \-alar Jcl prcescailahr 1 o 2 tilor del precscaladur I I I'MK I C s h i t dc selecciiiii dc e l rcI<)jde eiitradii a l tenipnrador 1 = Relo1 euicmo O = Kclol iiiíenic I'oscil IMK I ( IN hit de cricciidido del rciriprimdor I 1 = h;ihilitri al tciiiporiador dcriciic c l teiiipiri/;idor O0 hi1 I I 1 1 IT = \ Figura 3.12Registro TlCON (dirección IOh) Figura 3.13 Registros relacionados con el temporizador I I . L4 i ¿mporizrrdor 2 El TMR2 funciona solo como temporizador, cuenta con preescalador, postescalador y piiede funcionar como la base de tiempo de la función PWM (Pulse Width Modulation) de los módulos CCP. Es posible hacer lecturas y escrituras sobre el registro TMR2. Los valores que puede tornar el preescalador son: 1: 1, 1 -4 o I : 16, el postescalador pude tomar valores desde I ' 1 hasta 1 16 Para habilitar/inhabilitar a este periférico se escribe un 110 en el bit 2 del registro T2CON I N hit7 hii &3 I hii Z hii I4 Ill,: 1 .coiri im I .A ' I t )U[IW i .n;, Ln:, I . I ( )I~I-II>s I I i,n< TOYIIW 1 KW:I( )N l,/l< 1 ECKPS I I 1.K ~IZCKIW hit O I i'c )U'i'I'S3 I ( )U'i'l'SO hits de scitwioii del psteswindor O000 = posieccaiecior I I O00 i = postcsciilad<irI Z I I 1 I = pstescaiador 1 i 6 'IMRION. hit dc encendido del tempirimdor Z 1 = habilita al icnnporirador O = deticne el temporiiador TZCKPSl 'IZCKI'SO hits de seiwion del prwscaiador del mlqj de entrada O0 = el preesulador es I Q I = el preescalador cs 4 1Y = el preescaldor es I6 Figura 3.14Registr-o T2CON (dirección 12h) Figura 3.15 Registros relacionados con el temporizador 2 MoLIZlos de U p l i r a í ómparacroti Modiiiacroii de Aticho de Piiho (('Cl)) El PIC 16C74 tiene dos modulos CCP (Capture/ComparePWM(Pulse Width Modulation)), los cuales trabajan de forma semejante Ambos tienen un registro de 16 bits (dos registros de 8 bits), el cual puede funcionar como registro de captura, como comparador o como registro del ciclo de trabajo para el modulador de ancho de pulso Este modulo se sirve de los temponzadores 1 y 2 MOJirlo ( Y Y P.! El modulo CCPl se compone de los registros CCPRIL (byie bajo) y CCPRIH (byte alto) EL, registro que controla el funcionamiento de este módulo es el CCPICON De este módulo nos interesa su función de Modulación de Ancho de Pulso (PWM), por lo que en esta sección nos concentraremos en ella. En el modo PWM el pin CCPl del procesador ofrece una señal cuadrada con modulación de ancho de pulso de hasta IO bits de resolución, utilizando como entrada el temponzador 7 Como el pin CCPl esta multiplesado con el pin 2 del puerto C, se debe configurar este como una salida en el registro T R W . Una señal modulada en el ancho del pulso tiene un tiempo base (periodo) y un tiempo durante el cual la señal permanece alta (ciclo de trabajo) AI inverso del periodo como a todas las señales periódicas se le llama frecuencia El periodo de la señal (TPlv3,)se especifica escribiendo en el registro PW. Para calcular el periodo de la señal se utiliza la formula Ti.\r.\i= [(PW) + I ] * 4 * Tosc * (Valor del preescalador del teniporizador 2) El ciclo de trabajo se especifica escribiendo en el registro C'CPRIL los ocho bits más altos y en los bits 5 y 4 del registro CCPICON los dos bits más bajos, de esta manera se logra la mayor resolución posible (10 bits de una cantidad que llamaremos CT. Para calcular el tiempo del ciclo de trabajo utilizamos la fórmula. Tci = (CT) * Tosc * (Valor del preescalador del temporizador 2) 25 La maxima resolucion para una señal dada esta dada por la ecuacion log (Fo\c 1 1 P l i d MavResplru = bits log ( 7 ) Entonces para calcular los valores de PR2 y CT que necesitamos para obtener la señal de reloj a 12 5 KHz que necesitamos para el filtro pasa banda, resolvemos con f = 12 5 KHz, preescalador de TMR2 - 4 y Fosc = 20 MHz, con un ciclo de trabajo del SO% Para PR2 1/12 SKHz = [(PR2) + I ] * 4 * !/30MH7 * 4 80ps = [(PR?) + I ] * 4 * Sons * 4 PR2 - 9 9 Para CT (1/12 íKHz)/2 = (CT) * II20MHz * 3 4 0 ~= s (CT) * Sons *4 CT = 200 Para MaxRes 1/12 s w z = 2Ma\K=7 * II20MHz gops = 2 L f n \ R a * 50ns MaxRes 10 bits ~ ~ o d l r (’(’1’2 lo El modulo CCP2 se compone de los registros CCPR2L (byte bajo) y CCP3H (byte alto) EL registro que controla el funcionamiento de este modulo es el CCP2CON De este modulo nos interesa su füncion de comparador con disparo de evento especial, por lo que en esta seccion nos concentraremos en ella En el modo de comparador con disparo de etento especial el modulo CCP3 continuamente esta comparando el valor de los registros CCP2H CCP2L con los registros del temporizador 1. cuando los valores son iguales el temponzador 1 se restablece en ceros y comienza una conversion AD,si el modulo del convertidor A/D esta activado Estas caractensticas nos proveen un modo elegante y economico de tener una conversion A/D utilizando como reloj de muestre0 al temporizador 1 A continuacion se muestra el registro de configuracion de ambos registros, se utiliza la misma figura ya que ambos registros son identicos N 1x15-4 tiit 1-0 N in In Iff I It I /I I 1 CCi’xX C C h Y hiis menos riplicativos I’WM hits inmos significativos que junto con el registro CCI’KII. daii el Lalor del ciclo d e trrihalo de la scñal en el modo I’WM i’C‘l’uhl3CCtiMO h i t s de selcxcicin del modo de trabalo Figura 3.16 Registro CCP 1CON(dirección 1 7h)iRegistro CCP2CON(dirección 1 Dh) Figura 3.17 Registros relacionados con los módulos CCPl y CCP2 26 Módiilr, de comirtircaciótl serial asiticrotro w i w r s a f . El módulo de coniunicación serial asincrono universal USAK1'( del inglés Universal Synchronous Asynchronous Receiver Transmitter) es uno de los dos módulos de comunicación serial con que cuenta el PIC I6C74.Este módulo puede configurarse para comunicaciones full duplex o semi duplex dependiendo de la aplicación y los dispositivos con los que se vaya a comunicar. Los registros de control y estado del puerto son el registro TXTA (dirección 98h) y el registro RCSTA (dirección 1 8h), además de los bits 7 y 6 del registro TRISC para indicar la dirección de los datos I ,, <I I .n; hit 6 5 hit 4 bit 2 hit I Ill. N I /I: m: 1. I'XY h i t de liahilitoci6ii del noxem) hit dc trarisniision 1 hii 1.n; = Selecciona iiiiew hits de trxisrnisioii O = Seltxciona w h o hits de transniisioii .I'Xl:N hit de liahilitacion para íraiisrnisiih 1 = trmsniisioii hahiiikia íJ = trarisrnisibn inhahilitada SYNC hit de sclcxcih del inodo de trdhalo I = Mudo siiicrono O = Modo asincrono F3R(il I hit de seleccioii para alta velocidad de tr;insinisi¿m I = alta velt%l&d O = ixija v c l ~ i d a d '1'RM-T- bit de eqtadn del repisir<>de con-iniicmtcde transniisiixn ('1'SR) I = íSR vacio = TSR Ilcno 'I'XYI) noxeiici hit de para irüiisiniiir O hit O Figura 3.18 Registro de estado y control de transision TXTA (dirección 98h) ~ I /I: hit 7 I ,n: I.,% N I./?, SI') N hit de tiabilitxion del puefio berial I = pucrto b C n J l linbilitddt~(airi~igiirilo\ piilc'. KC7/I<X \ KLh'l Y I. ~ 0 1 1 1 0pine\ ~~ I ,F. del piieflo \midl O = puerto \erial inhdhilikidii hit 6 hit J hit O KX!, hit de hdhilitacioii del no\cno bit de receixion 1 = s e l u i o n < iiiue\cbit'. de reLepcioii O = \elw,iond odio hit\ de recelxion CRI N hit de hdhilitdciim pard r n c p i o n uinliniia I = h'ihi1it.i reLepiiori c o n t i n u 0 = inhahilita riCcqnion contmud I XOI) no\eno hit de pdra recibir Figura 3.19 Registro de estado y control de recepción RCSTA (direccion 18h) El modulo USART tiene un generador de baudios dedicado de ocho bits (BRG) El registro SPBRG controla el periodo del reloj para el generador de baudios El bit 3 del registro TXTA (BRGH) en el modo asincrono tiene control sobre la velocidad de transmision, la tabla siguiente muestra las formulas para calcular la velocidad de transmision segun los valores del bit BRGH En el niodo asincrono el módulo USART utiliza el formato NRZ (nonreturn to zero). con un bit de inicio de transniisioii, ocho o nueve bits de datos y un bit de parada. El USART primero recibe o envia el bit menos signiticativo del dato. Los módulos de transmisión y de recepción son totalmente independientes, sin embargo utilizan el mismo formato de datos y la niisma velocidad de flujo de información 7i.atisnii.sor.del l L S M < 7 ~ L a parte principal del transmisor del IJSAKT es uii registro de corrimiento llamado TSR (Transmit Shift Register), este registro recibe los datos del registro de lectura/escritura TXREG (direccion 19h). Si el registro TSR está vacio autoniáticamente el dato que contiene el registro TXREG es movido al TSR, y comienza la transniisión en el momento en 27 que el generador de baudios tiene su primer ciclo, de otro modo el TXREG espera a que el bit de fin de transmision sea enviado para poder mover SLI dato al TSR. La transmisión es hecha a través del pin Ró/TX del núcrocontrolador. Es posible habilitar una interrupción para detectar el final de una transmisión habilitando el bit 4 de el registro PIE, pero para nuestros intereses basta con polear un bit que nos muestra el estado del registro TSR, este bit es el TRMT y es el bit uno del registro TXTA. l(rceptor tiel i8 A R T El receptor tiene un registro de corrimiento que es el elemento fundamental de su funcionamiento, este registro es llamado RSR (Receive Shift Register). A1 terminar de muestrear el bit de parada el registro RSR mueve el dato al registro RCREG (dirección IAh) que funciona como una cola que puede almacenar hasta dos datos, la información se obtiene leyendo el registro RCREG. Cuando la cola de información esta llena y iin dato ya está listo en el registro RSR este sobreescribe los datos de l a cola con la nueva información, lo cual provoca un error de sobreescritura. Los errores producidos durante la recepción pueden producir interrupciones habilitando los bits adecuados. I Registro gmerador de haudios Figura 3.20 Registros relacionados con el USART M&iiilo úel converiiúor analbgico digitnl. El convertidor A/D tiene ocho entradas, las cuales están distribuidas en los cinco pines del puerto A y los tres pines del puerto E. Este convertidor A/D puede transformar una entrada analógica a un código digital de 8 bits por medio del metodo de aproximaciones sucesivas El voltaje de referencia puede ser igual al voltaje de alimentación del PIC o bien puede sacrificarse un canal (el pin RA3/AN3NRFI;)del convertidor para ajustar el valor del voltaje de referencia según nuestras necesidades Este módulo tiene dos registros de control ADCONO y ADCON I . El registro ADCONO controla la operación del módulo A/D. El registro ADCONi configura el modo de trabajo de los pines de los puerto A y E. .~ [.A: I ,It< I./% l.Al I.il( I.,,], N I ,A,- Figura 3.21 Registro ADCONO (dirección I Fh) I 28 Figura 3.22 Registro ADCONl (direccion 9Fh) Cuando termina una conversión A/D el resultado se coloca en el registro ADRES (dirección lEh), y se limpia el bit 2 del registro ADCONO (GO) S i mientras se realiza una conversión A/D el bit GO es limpiado, resulta en una conversión incompleta y esto produce que el registro ADRES no sea alterado y por lo tanto conserve el valor de la última conversión completa b’uente del reloi de amerston AA) (>pzraciOn NX‘CI AWSO nc)sc O0 x rose o1 32TOSC liC Io 11 I‘reciiencia del disposit I vu 20 mi/ 1 oons’ 400ns‘ I 6 WS ’- 6 I¡’< 5 Mllz I 25 400 ns‘ 6 4 ps 1 6 p 64p.s ’5 6 p 2-6US 2 - 0 us I6p.s MI11 333 35 Lüb 6 p 24 ps 96 ps I 7 - 6 LIS I .as celdas sombreadas rstaii l u w a del rango rwotnmdado * gencraiían umvcrsioncs inas rapidas lwro de inenor resoluci<iii Figura 3.23 Tiempo de adquisición vs Frecuencias de operación del dispositivo ’urocteristiccrse.spe.cinles del PK-. La familia PIC I6C7X tiene características especiales para reducir componentes, así mismo para reducción de costo, mejorando la contabilidad y reduciendo la energía que se consume. Hay cuatro opciones para el reloj, de las cuales la RC da una solución de bajo costo, LP ofrece un bajo consumo de energía, XT es para un cristal coniún y HS para cristales de alta velocidad. La característica “sleep” nos da un niodo para ahorrar energía Se puede salir de éste modo con diferentes interrupciones y resets. El modo en que se configuró el reloj del procesador fue en cristal de alta frecuencia, HS Así mismo. el microcontrolador trae un “watchdog timer” que a su vez cuenta con un reloj propio, mismo que nos permite tener proteccióri contra ciclos infinitos de sofiware. Otra funcionalidad que tiene este circuito integrado es la protección del código fuente que contiene Para cuestiones de seguridad y protección de los derechos reservados, Microchip ha diseñado un conjunto de bits que tienen la funcionalidad de bloquear dicho acceso IC1 rt>g¡stroW’. La arquitectura del microcontrolador utilizado tiene un registro de trabajo W, que tiene la función de almacenar los datos que son utilizados por la unidad aritmética lógica para realizar operaciones Dicho registro no esta mapeado en ninguna dirección, sin embargo, puede ser accesado para realizar operaciones mediante instrucciones del procesador 29 LL *inidadaritmética lógica de este procesador tiene un ancho de 8 bits y puede realizar sumas, restas, commientos y operacioner lógicas. A menos que otra cosa se mencione las operaciones son realizadas en complemento a dos. Las operaciones regularmente se realizan con el registro W. El otro operando es un registro o una constante. En operaciones de un solo operando, el operando puede ser el registro W o un registro cualquiera 3.3. Control. La cuestión ahora es que tenemos 1 I filtros que revisar y solo tenemos 8 canales del convertidor A/D, así también tenemos para controlar 1 1 transistores y tenemos puertos de sólo 8 bits lo que con el fin de controlar los transistores de los filtros nos llevaría a un software más complejo y por lo tanto niás tiempo de procesamiento dedicado al control del hardware, tiempo que en las siguientes fases del proyecto podría hacernos falta Mu1tipiexore.y. El multiplexaje se define como la capacidad de transmitir un gran número de unidades de información sobre un pequeño número de canales o líneas Entonces un multiplexor es un circuito que selecciona datos desde 2" líneas de entrada y los direcciona a una línea de salida única, es decir, al seleccionar una línea de entrada la señal que esta transporta aparece en la salida del multiplexor. La selección de las trayectorias de entrada-salida es controlada por un conjunto de n líneas de selección. 1 2 ~ Multiplexor I Línea de salida Líneas de entrada de datos 2" n líneas de selección Figura 3.24 Representación del multiplexor como caja negra Este dispositivo va a ser utilizado en su versión de entradas analógicas para poder trabajar las 1 I líneas de salida que ofrecen los filtros, esto quiere decir que se analizarán las señales de los filtros una por una Para esto vamos a requerir entonces un multiplexor analógico que cuando menos tenga soporte para 1 1 entradas, el que más se acerco a esta necesidad fue el MC 14067 de Motorola El MC 14067 es un multiplexor analógico 1 de I6 (1 salida, 16 entradas) que es controlado digitalmente a través de cuatro líneas de selección Por sus características eléctricas el MC14067 es aplicable y las 5 entradas restantes pueden ser utilizadas en versiones posteriores del GUANTE ASL para introducir nuevos sensores t~cmiilrii>lcxor~s. La operación inversa al multiplexaje es el demultiplexaje y significa poner la información que es transportada por un solo medio o canal en un gran número de líneas El demultiplexor es el dispositivo utilizado para distribuir la información que transporta una línea en 2" canales, utilizando para seleccionar las trayectorias de la información n líneas de control 1 2 Demultiplexor Líneas de salida Linea de entrada de datos n líneas de selección Figura 3.25 Representacion del multiplexor como caja negra Recordando que en la sección de los sensores quedo pendiente el hecho de que si tenemos funcionando todo el tiempo los 1 1 filtros, las impedancias de estos se acoplan y no obtenemos la respuesta deseada al flexionar un dedo. además de que desperdiciamos potencia en 10 sensores ya que solo se analizará uno a la vez. Tenemos la necesidad de controlar el funcionamiento de los filtros haciendo que solo uno de estos esté funcionando en un momento dado. Para tener control sobre l a corriente que fluye por los filtros tomamos el diseño del llamado filtro tanque, el cual es alimentado por la corriente que pasa por el colector de un transistor polarizado en su región activa. Por la configuración del filtro tanque es posible encenderlo y apagarlo por medio de un control digital, esto es trabajar el transistor que alimenta el filtro en sus regiones 30 activa y de corte, es posible hacerlo por medio del voltaje de alimentación de las resistencias de polarización del transistor (resistencias en la base) V,,,, cuando este voltaje es igual a iJcc el transistor se polariza en su región activa, cuando el voltaje de alimentación en las resistencias de polarización es OV el transistor se encuentra polarizado en su región de corte, entonces el filtro esta apagado. v,,, (salida i del v.<'. deinultplexor) I Figura 3.26 Filtro controlado por el demultiplexor Donde Rhl = b l Con esto podemos pensar en la utilización de un demultiplexor digital 1 a 16 (una entrada, 16 salidas) que tenga la característica de que las líneas que no estén siendo utilizadas vayan a un estado lógico O, o bien que en su salida tenga un voltaje de OV. El CI que cumple con las características requeridas es el CD4514 de National, así pues a la entrada del demultiplexor ponemos un uno lógico (5 V) y entonces la salida que sea seleccionada presentará 5V y el resto de las salidas presentarán OV. Con estos dos circuitos integrados podemos controlar los I I censores tan solo ocupando la mitad de un puerto de 8 bits del microcontrolador y con muy poco código, logrando así que un sólo sensor esté activo y de este mismo se analice la salida 3.4. Comunicación serial. Como vimos en la sección 3 2 el microcontrolador dedicado al GUANTE ASL tiene un puerto serial de comunicaciones asíncrono tipo full duplex, esto es, la forma en que se comunica con alguna central de proceso es bit a bit en forma bidireccional simultánea El protocolo mas popular para comunicación serial asincrona es el llamado RC-232 y es el que vamos a utilizar para la aplicación Las especificaciones de nivel fisico de este protocolo son las siguientes La distribución de las terminales de los conectores DB2S Y DB9 se mencionan a continuación ljer~omincrcrót~ TxD RsD RTS CTS DTR BR25 (0111) BBY 2 3 3 DSR 6 RI DCD 4 5 30 fijii~) 2 7 8 4 6 72 9 8 I 7 5 1 Figura 3.27 Terminales del llescr ipcicin Transmisión de datos Recepción de datos Petición de envio Listo para enviar Terminal de datos lista Conjunto de datos listo Portadora de datos detectada Tierra de señal Protección de tierra puerto serial. El protocolo futicional esta regido por la siguiente descripción, en el momento de la inicialización del periférico, se determinan los sensores que se quieren muestrear, la frecuencia de muestre0 por segundo de la mano completa, especificación del byte de sincronización y número de repeticiones Así, los tres primeros bytes transmitidos al guante especificican los datos anteriores respectivamente. En base a in anterior, el guante entrará en operaci6n inmediatamente comenzando COI? u n paquete de sincronización, mismo que será seguido por bytes de información de cada sensor en el orden especificado El periférico seguirá trabajando en esta secuencia hasta ser inicializado de nuevo. GND 4. La computadora 4.1. La computadora personal En la actualidad el manejo de la información que mueve al mundo se hace a través de la computadora, este elemento como lo conocemos hoy tiene gran capacidad de procesamiento. gran capacidad de almacenamiento, es de bajo costo y cabe en un escritorio, lo podemos encontrar incluso en los hogares, pero no siempre fue así, en un principio su costo era muy elevado, tanto, que solo grandes eiiipresas y algunas universidades podían darse el lujo de poseer una de ellas, eran tan grandes que ocupaban edificios completos y su capacidad no rebasa la que ahora tiene una computadora personal. A continuación se presenta una corta reseña informativa acerca de la historia de la computadora. El primer intento de construir una computadora digital h e llevado a cabo el siglo pasado por el matemático inglés Charles Babbage, esta máquina fue totalmente mecánica y no era muy exacta debido a la precisión con que debían ser construidos los engranes y las levas, algo que no era posible en esa época AI no haber indicios de más esfiierzos dirigidos hacia está rama de la ingeniería en esa época, saltamos hasta los años cuarentas, donde realmente se comienza a escribir la historia de la computadora A partir de aquí podemos distinguir cuatro grandes etapas a las que se les ha dado el nombre de generaciones de computadoras: Primera generación: A mediados de este siglo welve a intentarse la construcción de una computadora, el propósito de esta máquina era meramente bélico. Fue construida totalmente a base de tubos al vacío (bulbos), de estos utilizaba una enorme cantidad, lo cual generaba mucho calor, por esto es de esperarse que la máquina ocupara cuartos enteros. Además la programación de esta solo podía ser llevada a cabo por los ingenieros creadores ya que se hacía cambiando cables. Segunda generación. El fruto de el desarrollo de la teoría de semiconductores por los laboratorios BELL. la union PN, ocasiona por inercia la invención del transistor de unión bipolar, este hecho dispara una nueva era en la electrónica El transistor da pie a una nueva generación de computadoras, más rápidas, compactas, menos caras y confiables. Tercera generación: A mediados de los sesentas comienzan a integrarse en obleas circuitos completos formados por varios transistores lo que ocasiona que las computadoras sean más compactas y más rentables para la gente en este negocio, por lo que empiezan a surgir máquinas especializadas, para cálculos científicos y de propósito comercial. En esta época comienza a distinguirse la empresa IBM (International Bussines Machines) ya que comienza a introducir el concepto de compatibilidad o familia de computadoras. Cuarta generación: A principios de los ochentas al llegar a una gran escala de integración de circuitos (LSI Large Scale Integration) ya es posible construir una computadora tan compacta que puede colocarse sobre un escritorio, hecho que IBM aprovecha para entrar en el mercado de las computadoras personales e intenta introducir en los hogares de las personas comunes una computadora, de este hecho surge la familia de computadoras personales (PC Personal Computer) 80 X86 Se dice que estamos en la quinta generación de computadoras con la introducción de máquinas que poseen procesadores con millones de transistores y una gran capacidad de procesamiento La PC es una computadora de propósito general que igual nos sirve para redactar una carta que para controlar un brazo de robot, tiene dispositivos de entrada y salida de información como el monitor, el teclado, el ratón y la impresora, con los cuales se puede comunicar con el exterior Además posee puertos en los cuales pueden conectarse otros dispositivos auxiliares de comunicación o de control, estos puertos son de dos tipos internos y externos. Los puertos internos regularmente son cuatro, y están diseñados para que en ellos se puedan insertar tarjetas de propósito especifico como módems. multimedia etcétera, la comunicación de estas tarjetas con el microprocesador principal puede ser de 8, 16 o 32 bits por lo que resultan bastante rápidas. Para colocar las tarjetas es necesario abrir el gabinete del C P U Los puertos externos generalmente son tres un puerto paralelo y dos puertos serie. El puerto paralelo tiene una interfaz de ocho bits para datos y otros bits más para señalización esto ocasiona que sea más lento que los puertos internos Para utilizar el puerto paralelo solo se necesita conectar al puerto un cable de interfaz paralela. El puerto serie es el más lento de todos ya que la inforrnacibn l a tramfiere hit a bit en paquetes de IO a 1 1 bits, ocho o nueve son de datos y e! resto de señalización Igual que el puerto paralelo para utilizar el puerto serial solo es suficiente conectar con un cable de interfaz serial. En nuestro caso utilizaremos el puer-to de comunicación serial por ser el formato que tenemos en el microcontrolador Utilizarenios una Pc' como el dispositivo con el cual se comunicará el guante debido a que es un dispositivo bastante comercial y existe la suficiente literatiira conio para poder satisfacer nuestras necesidades 32 4.2. Sistemas operativos Una computadora no es más que un montón de fierros, plástico y silicio arreglados de una forma especial, para hacer funcional esta chatarra hay que decirle que haga, para lo cual se necesita un programa, es decir una secuencia de pasos a realizar. Hacer un programa que se ejecute sin tener utilidades o servicios que controlen todos los dispositivos de la computadora es en extremo dificil, esta fue una vivencia que tuvieron los programadores de las computadoras de las primeras generaciones. Dentro de la familia de las computadoras personales esta necesidad de programas de bajo nivel es cubierta por el BlOS (Basic input Output System) y el sistema operativo. El BLOS como su nombre lo indica contiene las rutinas que se encargan de controlar los dispositivos básicos de entrada y salida, además de iniciar al procesador. El sistema operativo es quien se termina de iniciar el sistema, de administrar todos los recursos de la computadora y presentar una interfaz más amigable al usuario. En la actualidad existen tres sistemas operativos que dominan la escena UNIX, MS DOS y Windows 95. UNIX nació en los laboratorios Bell, y fue creado como un sistema multiproceso para las máquinas PDP. Sisteniu íperutivo MS'ijOS (Micro Soji Directive íyt.ratiw L\jwfem). MS DOS es un sistema regido por comandos, es decir, para hacer que la computadora ejecute una acción, es necesario escribir en la línea de ordenes el nombre del comando a ejecutar. MS DOS es creado por la necesidad de IBM de tener un sistema operativo pequeño y funcional que pudiera ser soportado por la PC XT 8088, la cual no tenia disco duro y sólo 64K de RAM. Al ir evolucionando el hardware, por supuesto que el sistema operativo tenía que evolucionar, es así que MS DOS ha llegado hasta una versión 6.22, aun en esta versión MS DOS no es capaz de cubrir sus deficiencias de manejo de memoria arrastradas desde la primera versión. Otra debilidad de este sistema operativo es la falta de protección, ya que cualquier usuario tiene acceso a todos los recursos del sistema. La falta de protección no la vemos tan mal ya que precisamente nos podemos valer de ella para poder desarrollar el presente proyecto Además M S DOS ofrece varios servicios de interrupción de los cuales existe la literatura suficiente para poder utilizarlos, esto viene a cuentas ya que se puede utilizar la intempcion 14h que pertenece al puerto serial para la recepción de los datos de un periférico como nuestro guante. Sistuna Opcrutivo W i t d o u s 95. Windows 95 surge por la necesidad de explotar a toda su capacidad los procesadores 80 386, 80 486 y Pentium de Intel, cosa que no se lograba con MS DOS en cualquiera de sus versiones. Windows 95 es un sistema operativo con entorno gráfico, esto ofiece que la interfaz hacia el usuario sea más amigable e intuitiva. A raiz de la aparición de Windows 95 comienzan a entrar en escena los compiladores de lenguajes visuales totalmente orientados a objetos Una interfaz gráfica es ideal para una aplicación que será utilizada principalmente por personas con alguna discapacidad 4.3. El lenguaje de programación C Un lenguaje de programación (y su compilador) son creados para que el programador no trabaje directamente con el lenguaje ensamblador del microprocesador, sino por encima de este. El lenguaje C fue inventado e implementado por primera vez por Dennis Ritchie usando UNIX como sistema operativo. C es el resultado de un proceso de desarrollo que comienza con un lenguaje anterior denominado BCPL. .4 menudo se denomina a C como un lenguaje de computación de nivel medio, esto no significa que sea menos potente, más dificil de usar o menos evolucionado que lenguajes de alto nivel como BASIC o Pascal; ni implica que C sea similar al lenguaje ensamblador y por tanto presente ai usuario su complejidad. C se presenta como un lenguaje de nivel medio porque combina elementos de lenguajes de alto nivel con la funcionalidad del lenguaje ensamblador. C nos permite crear subrutinas hechas a base de puro lenguaje ensamblador con el fin de crear un código que generará programas más eficientes y rápidos, ademas con C es posible cambiar las rutinas de intempción de los periféricos y también se puede tener control sobre la memoria que se asigna para los datos, estas características hacen de C un lenguaje poderoso para aplicaciones en las que se requiere cierto control sobre los recursos con los que cuenta el sistema. Para nosotros C es utilizado para la recepción de los datos que serán enviados por el GUANTE ASL y relacionará a los mismos con la tabla creada para cada símbolo del lenguaje ASL, así mismo regresará como resultado si la comparación encontró un síniholo correspondiente, o bien la posición que guarda la mano no tiene que ver con el lenguaje ASL 33 5. Programación 5.1. Descripción. Por la naturaleza misma del periférico de propósito especifico, se tuvo que programar un procesador en lenguaje ensamblador, el PIC16C74. Para que el PIC funcione como se requiere es necesario programar dos temporizadores. dos módulos CCP. un módulo de comunicación serial asíncrona. y un modulo de conversión N D , así como una rutina de interrupción. En primer lugar queremos que una señal de reloj a 12.5 KHz sea generada por el módulo CCPl a través de la función PMW del niismo, dicha señal será pasada por un filtro pasa banda entonado a 12.5 KHz, para esto se tienen que programar el temporizador 2 y el módulo CCPI. En segundo lugar queremos digitaiizar las señales que regresan los sensores, esto lo vamos a conseguir con la programación del módulo de conversión A D , aquí necesitamos que el módulo CCP2 trabaje en su modo de comparador con disparó de evento especial. En tercer lugar queremos procesar los datos obtenidos de la conversión N D . debido a que la señal que queremos obtener viene modulada en amplitud es necesario contar con un algoritmo que realice la demodulación Por último necesitamos enviar en forma serial los datos que contienen la información de la posición que guarda cada dedo, conseguiremos esto programando el módulo de comunicación serial asíncrona. En la computadora necesitamos un programa que reciba datos por el puerto serial a través de interrupciones, y que sea capaz de almacenarlos. Luego es necesario un programa que compare los datos recibidos con una tabla, dándole un rango de tolerancia a cada dato de tal forma que la decisión acerca de si es o no una posición válida sea un tanto flexible, ya que contamos con una resolución de ocho bits, lo que hace al sensor muy sensible a pequeñas variaciones. 5.2. Programación del microcontroiador. Programacicín del n i & i i h Y ’ P I . Como se mencionó antes queremos programar el módulo CCPl para generar una señal con forma de onda cuadrada de fiecuencia igual a 12.5 KHz y un ciclo de trabajo del SO YO Los datos obtenidos en la sección 3 2. Preescalador = 4, PR2 = 99 y CT = 200. Comenzamos programando el Temporizador 2 a través del registro T2CON. de tal forma que tengamos un preescalador igual a 4 y que quede encendido el temporizador, entonces ponemos el valor OOOOOlOlb en el registro T2CON MOVLW B’00000 101’ ,Mireiu el valor hriiarro OOUOU1U1 al registro w MOVWF T2CON .Mtieiw e l contenido Jcl r-cgislro W ul registro I X ’ O N í I X ’ O N l2h) Ahora tenemos que programar el módulo CCPl para que trabaje en el modo PMW, además de dar el valor del periodo por medio del registro PR2 y el valor del ciclo de trabajo eii los registros CCPRIL y CCPICON. El ciclo de trabajo lo tenemos que proporcionar en dos partes debido a que los dos bits más bajos de este valor se encuenti-an en los bits <5.4> del registro CCPlCON y los ocho bits restantes en el registro CCPRIL, la cantidad a introducir es CT cuyo valor calculado es 200, en binano 1 I O0 1000, entonces el registro CCPR I L debe contener el número O0 1 1O0 I O y los bits <S :4> del registro CCP I CON deben ser O0 Para el modo de trabajo del módulo CCPl se utilizan los cuatro bits más bajos, si los bits <3.72 del registro CCPICOM están puestos el módulo trabajará como rnodulador por ancho de pulso, entonces pondremos el valor binario I lxx* en los bits <3:0> del registro CCPICON. Con el fin de darle el periodo de la señal al módulo CCP I colocamos en el registro PR2 el valor calculado de 99 Los valores en los que aparece una x no importa si se pone I o O, el resultado de la programación será el mismo. 34 Programación del nitiu’trlo de cotiiwsión A )I1y el módulo íY.1’2. El programa principal para el microcontrolador fue estructurado secuencialmente, de tal forma que si en u n momento dado se llegan a necesitar más de dos interrupciones de los periféricos estas no se aniden y tengamos problemas de control recurrentes. La conversión IVD es un proceso que tiene un lugar especifico dentro del programa, cuando sea requerida información acerca de los sensores, el programa enciende el temponzador I y entra en un ciclo infinito mientras se están muestreando todos los sensores por medio de las interrupciones generadas por el convertidor N D , cuando la información está completa se rompe el ciclo, se apaga el temporizadorl, se detiene la conversión A/D en proceso y el programa continua ejecutándose. Queremos programar al convertidor A/D para que utilice un relo.; con frecuencia igual a Fosc/32, que siempre esté activo. que todos los pines del puerto A sean entradas analógicas, excepto el pin RA3 que proporcionará el voltaje de referencia de la conversión, que los pines del puerto E sean entradas y salidas digitales, que las conversiones N D sean disparadas por el módulo CCP2 y que las interrupciones del convertidor AID estén activas Comenzamos activando las interrupciones del convertidor A/D, esto se hace, primero activando las interrupciones globales y las interrupciones de los periféricos poniendo los bits 7 (GIE) y 6 (PEIE) del registro INICON y luego activando la interrupción del convertidor A/D poniendo el bit 6 (ADIE) del registro PIE1 BSF BSF BSF iNTCON,GIE iNTCON.PEIE PIE 1 ,ADIE ;Activa las ititerriipcrories globale, p t i i e t i d o el hit 7 del regi.stro INIY’ON :Activa ititerrupcioties de los pergericos potiretido e l hit 6 del registro iNíCílN ;Activu las ititernrpcroties del cotiivrtidor A I) potiietid(i rl hi! 6 d e l r e p t r o I>Il:‘i Continuamos con la programación del módulo de conversión A/D Configuramos la función de los pines en los puertos A y E por medio del registro ADCONI, de acuerdo a los valores presentados en la figura 3.22 y para lo que requerimos debemos darle al registro ADCONI el valor wxxxx01 1 Para que el reloj de conversión tenga una frecuencia de Fosc/32 los bits 7.6 del registro ADCONO deben tener el valor IO Dado que solo utilizaremos un canal de conversión, elegimos el canal O que proporciona el pin RAO del microcontrolador poniendo en los bits 5-3del registro ADCONO el valor O00 Finalmente activamos el módulo poniendo el bit 0 (ADON) del registro ADCONO MOVLW B’sxxxxOI I ‘ ;Idas el pierto a eritrahs atiakogicas, prierto e r s digital MOVWF ADCON 1 MOVLW B’ 10 0 0 0 0 ~ I’ MOVWF ADCONO :fi,htrada del ctmartidor A I1 KAO, reloj de cotiiwxciti FOSL. 32 M&iiiIo actiiwfo _ I Para controlar la frecuencia de muestreo es necesario activar el módulo CCP2 como comparador con disparo de evento especial Para configurar el módulo CCP2 como comparador con disparo de evento especial los bits 3 0 del registro CCP2CON deben tener el valor I 0 1 I La frecuencia de muestre0 la generamos al darle valores a los registros CCP2RH y CCP2RL, su hnción es como sigue: el valor del registro de 16 bits (dos registros de 8 bits TMR1H:TMRIL) del temporizadorl se incrementa cada I/(Fosc/4) segundos y cuando TMR1H:TMRIL = CCP2RH:CCP2RL el registro TMR1H:TMRlL se limpia y se dispara una conversión AíD. Por el teorema de muestreo la frecuencia con la que se realizan las conversiones A/D debe ser al menos dos veces la frecuencia de la señal a convertir con el fin de no perder información Debido a que la máxima frecuencia de conversión a la que puede trabajar el convertidor AíD con una Fosc = 20MHz es de 6OKHz aproximadamente y dado que la señal que deseamos convertir tiene una frecuencia de 12.5KHz, vamos a darle una Frecuencia de muestreo poco más tres veces la frecuencia de la señal, querenios generar una frecuencia de muestreo de 1OKHz, entonces el valor de los reg’ ristros CCP2RH:CCP?RL lo obtenemos 1:Li (FcisL- 14) i CCP!K 40Kl I/ = 5Mll1 í CCIVK En biriario el Lalor del registro CCP3R (CCP2RH CCP2RL) = 000000000 1 I 1 1 IO I 7 - >3 Progruniaciciti del algoritmo de demcdirlucióti et1 uniplilrrd. La técnica de modulación en amplitud se utiliza para la transmisión de mensajes cuando la informacion que se desea transmitir esta contenida en una señal de baja frecuencia, para evitar este inconveniente se multiplica esta señal por una senoidal de alta frecuencia y entonces se puede enviar la señal. Cuando una señal está modulada en amplitud se tienen dos conceptos, envolvente y portadora. La envolvente es una señal cuyas variaciones de voltaje van a afectar la amplitud de otra señal que generalmente es una senoidal de frecuencia mucho mas alta, a está se le denomina portadora. El concepto de amplitud modulada nos interesa aquí debido a que el movimiento de los dedos estará modulando una señal portadora, que en este caso es la senoidal a 12.5KHz que entrega el filtro pasa banda de la primera etapa, entonces la envolvente es la información que necesitamos para saber la posición de los dedos en la mano La amplitud de la señal portadora (senoidal) cambia de acuerdo a las variaciones de tensión de la señal envolvente, la siguiente figura muestra la forma en que esto sucede T I a) Envolvente b) Portadora T c) Señal Modulada Figura 5.1 Modulación en amplitud Existen dos métodos para la demodulación en amplitud El primer método involucra una sincronización con la señal portadora, esto nos conduciría a compensar el desfasamiento que sufre la señal al pasar por los filtros, cosa que se complica debido a que este desfasamiento no es constante, sino que varia cuando cambiamos el valor de l a inductancia en el filtro. Entonces para trabajar nos queda el método asincrono o detector de envolvente. Como se ve en la figura 5 IC. para recuperar la señal envolvente (la información), solo es necesario detectar los picos de la portadora, electrónicamente esto se logra con el circuito detector de envolvente que se muestra en la figura 5.2 en Señal amplitud modulada *-'Ti:<, - Figura 5.2 Detector de encolvente Debido a los problemas que causa el decaimiento exponencial del capacitor en el momento en que cambiamos de u n sensor a otro se decidió no implementar el detector de picos electrónicamente, sino que la detección de los picos se hará 36 por medio de un programa en el microprocesador Este algoritmo debe ser rápido debido a que será introducido en la rutina de interrupción de la conversión Aíü,es decir, despues de la conversión el dato será inmediatamente procesado. Se pensó en un filtro pasa bajos, pero este también tiene el problema de que los datos anteriores afectarían el resultado del muestre0 actual Entonces se llegó a la conclusión de que era suficiente con encontrar los valores máximos de las muestras de un sensor y ya sea que tomáramos el mayor y el menor para sacar su promedio. o bien sumar todos lor máximos y tomar su promedio. Por sencil!ez utilizaremos la primera opción. Para encontrar los máximos nos auxiliaremos de una cola de tres datos. Esta se ira llenando conforme se vayan teniendo conversiones. El máximo se obtiene comparando los tres valores de la cola, si el segundo dato de esta es mayor que el primero y el último, entonces el segundo dato es un máximo. Si es máximo se compara con otros dos valores los cuales son el máximo mayor y el máximo menor encontrados, si cae dentro de ellos se deshecha, de otro modo se coloca en el lugar correspondiente remplazando al valor anterior Finalmente cuando se ha terminado de muestrear el sensor se saca el promedio de los dos valores encontrados y continuamos con el siguiente sensor, y si este es el último entonces se continua con la transmisión de los 1 1 datos. RUTINA DE INTERRUPCION DISCRIMINA MUESTRAS ENCONTRANDO LOS MAXIMOS ****L+*+t****+******t***t,****t**+**+******************************************%*~*~ FIN ORG MOVF MOVWF OX04 STATUS,W Stat Aux MOVF MOVWF MOVF MOVWF MOVF MOVWF DAT2,W DAT I DAT3,W DATi ADRES,W DAT3 MOW SUBWF BTFSS GOTO MOVF SUBWF BTFSS GOTO DAT1,W DAT2,W STATUS,C FIN DAT3,W DAT2,W STATUS,C FIN MOVF SUBWF BTFSS GOTO MOW MO\’WF MAXIMO, W DAT2,W STAT1JS.C FIN DAT2.W MAXIMO INCF MOVF MOVWF BCF RETFLE END C0NT.F StatAuw,W STATUS PIR I ,ADIF ACTUALIZACION DE LOS DATOS DE LA COLA .................................................... *****+***+*******************%*%*%************%***** , , BUSQUEDA DE LOS MAXlMOS COMPARANDO TRES DATOS CONSECUTIVOS .**************************************%*********%*** .................................................... , . CHECA QUE EL MAXIMO ENCONTRADO SEA EL MAS GRANDE .................................................... .ACTUALIZACION DEL CONTADOR DE LOS DATOS PROCESADOS i’ro~runiucithdel yrrerto serial. Después de tener lista la información de todos los censores. esta se tiene que enviar de alguna manera a la computadora personal, la forma más sencilla y portable de hacerlo es por alguno de los puertos externos de esta Como se vio anteriormente una PC tiene generalmente tres puertos externos disponibles, a saber dos puertos seriales y uno paralelo. este último habitualiriente se encuentra ocupado por una impresora o u n dispositivo de alniacenaniiento, lo que nos deja con 37 el puerto serial. que resulta conveniente debido a que el PlC16C74 tiene integrado un módulo de comunicación serial asíncrona. De el puerto serial del niicrocontrolador tenemos que configurar el módulo de transmisión y el módulo de recepción. Para habilitar este módulo lo primero que tenemos que iniciar es el registro del generador de baudios para tener una transmisión de 9600 bauds, si tenemos puesto el bit 2 (BRGH) del registro TXSTA tenemos que darle al registro SPBRG el valor129 para obtener la velocidad de transmisión deseada. Configuramos el puerto en su modo asíncrono limpiando el bit 4 (SYNC) del registro TXTA Habilitanios el puerto poniendo el bit 7 (SPEN) del registro RCSTA. La comunicación se hará con 8 bits, entonces el bit 6 (TX9) del registro TXSTA se limpia de igual forma se limpia el bit 6 (RX9) del registro RCSTA Finalmente se habilita la transmisión poniendo el bit 5 (TXEN) del registro TXSTA y la recepción también se habilita poniendo el bit 4 (CREN) del registro RCSTA. Debido a que sabemos cuando esta ocurriendo una transmisión y una recepción no utilizaremos las interrupciones MOVLW M O W MOVLW MOVWF MOVLW MOVWF D’I 29’ SPBRG ;(;etit.rudor de bardios 129, HIIGH I. Y600 HA(J/) S, OX’ 20Mz B’ 1 O0 IOOOO‘ ;Acíi\~trlos pities M’7y M’6 como el puerto serie, habilita la recepción coti 8 hit.\ RCSTA B’OO 100100’ ; í ‘ o r f i p r a al puerto en .vimodo asiticrtm),habilita la tratismisicit~coli H hits TXSTA ;y configura la getieracióti cit. hmidios Pti su mcdo de alta velocidad. Iransmisicki de datos. La transmisión de datos se llevará a cabo por medio del poleo del bit de estado del registro TSR y en paquetes de once bytes EnvDat BCF CLRF MOVLW MOVWF SELPAG CONT IN-TAB FSR DATO BSF BTFSS GOTO BCF MOVF MOVWF SELPAG TXSTA,TRMT ,Checa que este vacío el registro de corrimiento para la transmisión INCF INCF MOVF SUBLW BTFSS GOTO RETURN ,Mueve el apuntador al inicio de la tabla de los datos $- 1 SELPAG iNDF,W TXREG FSR,F CONT,F CONT,W OXOA STATUS,Z DATO ,Envía un dato ,Incrementa el apuntador a la tabla de datos .Checa que han enviado los once datos 5.3. Programación de reconocimiento de posiciones. Como se mencionó anteriormente el dispositivo electrónico no se encarga. por si mismo, de identificar las posiciones de la mano, esto es, el guante sólo se encarga de controlar todos los sensores y la electrónica analógica, para posteriormente enviar el conjunto de vectores que describen la posición de los dedos a una computadora por medio de un puerto serial, información que es recibida y que es interpretada. El paquete de datos que el guante se encarga de mandar hacia la computadora esta compuesto por 16 elenientos. cada uno de estos de 8 bits cada uno. Tales paquetes de información están precedidos por un código digital ‘ 1 1 I I 1 I 1 1 ’, así, cada I6 conjuntos de información de ocho bits aparecerá dentro de la información estos códigos anteriores. Cada una de las posiciones esta claramente definida, el orden en que es mandada esta especificado en la siguiente figura. 7. r 'I 8 l9 d' i 7 10 Figura 5.3 Secuencia de la transmisión de los datos La tarea de esta terminal será la de rastrear el conjunto de vectores enviado por el guante dentro de una matriz de posiciones Cabe mencionar que para la tarea anterior se debe considerar las posibles holguras entre posiciones, esto es, dado que la representación de una posicion puede tener pequeñas diferencias en cuanto a su matriz. Para aclarar esto, cabe mencionar que para cada dedo se pueden identificar hasta 256 posiciones, lo anterior implica que un mjnimo movimiento en el dedo implica un vector diferente en su representación matemática. La frecuencia con que el guante envía los datos es de 30 Hz.,esto implica que se reciben 16 X 30 conjuntos de posiciones por segundo. S i el proceso que requiere la computadora principal requiere de más tiempo, no existe problema en cuanto al periférico guante, dado que se pueden ignorar los datos que el anterior esta enviando. Finalmente el circuito resultante y los valores de los elementos requeridos se presenta en la figura 5 4 39 i e 6. Conclusiones. Finalmente podenios concluir que las ciencias de la computación y la electrónica han favorecido la evolución del hombre hacia una sociedad tecnológicamente avanzada y para no privar a nadie de este avance es necesario que estas mismas ciencias contribuyan a la integración de personas que han perdido alguna facultad. La introducción del transistor provocó una aceleración increíble en el desarrollo de la tecnología. La electrónica digital le ha ganado un enorme terreno a la analógica debido a que es más exacta, más compacta, más económica y más fácil de manejar. Los procesadores digitales ahora contienen millones de transistores en unos cuantos centímetros cuadrados con un poder de procesamiento enorme Sin embargo la electrónica digital no puede competir con la analógica cuando se trata de amplificar y dar potencia es por eso que muchas aplicaciones (y el presente proyecto no es una excepción) tienen que combinar elementos digitales y analógicos. La familia de microcontroladores de Microchip son un conjunto de procesadores poderosos y versátiles, en especial el PIC 16C74 utilizado para desarrollar la aplicación. Durante el proyecto se utilizó el kit de desarrollo PICSTAR Plus de Microchip, lo cual facilitó el aprendizaje de las propiedades del PIC y su programación El control es algo que está íntimamente relacionado con la electrónica dado que los dispositivos electrónicos son creados precisamente para manipular automáticamente algún dispositivo o información La computadora es un instrumento que se está volviendo a cada momento más popular, y por eso es que se necesitan sistemas operativos más fáciles e intuitivos para que cualquier persona sea capaz de utilizar una computadora y obtenga de ella todo lo que necesita. Precisamente la proliferación de computadoras nos alentó para construir el periférico auxiliar ASL ya que si cada vez es más común ver una computadora personal en un hogar, tenemos que hacer que está no solo sea un medio de diversión vacío, sino que sea un centro de información y un instrumento que sirva para integrar a este mundo dinámico a personas que por alguna u otra razón han perdido alguna función corporal. Debido a la versatilidad que nosotros observamos en el guante, creenios que la aplicación que le dimos no es y no debe ser la única, por lo que proponemos a los lectores del presente reporte desarrollen nuevas aplicaciones para el guante. 41 Bibliografía. “Fundamentos de la teoría electromapética.” Reitz / Milford / Christy. Adison Wesley Iberoamericana. “Temas selectos de ingeniería” Instrumentación Transductores e interfa. B. R Bannister y D.G. Whitehead Segunda edición Addison Wesley Iberoamericana “Data Book.” Microchip. 199495. -‘Embedded control handbook.” Microchip. !994195. “Embedded control handbook update 1” Microchip 1995/96. “Sniall signal.” Transistors, FETs and diodes device data. Motorola “Cmos logic Data. Motorola. “Proceedings of the IEEE” Vol 68, N o 4. April 1980. “Microelectronics circuits.” SedrdSmitIi. Saunders College Publishing “Introducción a la teoría y Sistemas de comunicación.” B.1’. Lathi. Limusa. “Introducción a los sistemas de comunicación ” F G. Stremler. Adison Wesley Iberoamericana. ”Ingeniería de control moderna ” Katsuhiko Ogata. Prentice Hall. “Digital processing of speech signals” L.R. Rabinov / R.W Schafer “Advanced digital signal processing” John G. Proakis. Charles M. Reader “Digital signal processing” Aplications with the TMS320 Family. Theory, Algotihms and Implementations V i TI “Sistemas operativos modernos”, Andrew S Tanenbaum, Prentice Hall. “Los microprocesadores Intel”, Barry B. Brey, Prentice Hall. “Circuitos electrónicos discretos e integrados”, Donald L, Schilling, Charles Belove, Alfaomega marcombo “Turbo C/C++ manual de referencia”, Hebert Schildt, McGraw Hill.