Universidad Autónoma Metropolitana

Anuncio
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.
Descargar