Está en la página 1de 24

Guia de laboratorio -- Microcontroladores

Lab 7. Aplicación de COMUNICACIÓN SERIAL


ASINCRONA para el control de motores paso.

OBJETIVOS

Principales
El objetivo de este proyecto es demostrar que se puede mantener una comunicación entre una laptop
sin puerto serial y un microcontrolador, sin tener incluido el protocolo USB, gracias al circuito
integrado.

Generales
- Entender los principio de una comunicación serial asíncrona.
- Conocer y configurar el modulo SCI de un MCU.
- Establecer la comunicación serial entre una PC y MCU a través del protocolo UART.
- Conocer y desarrollar un sistema para el control de motores paso a paso.

MATERIALES Y EQUIPO NECESARIO


- Computador.
- Software para la programación del MCU de Freescale S08, Code Warrior 10.4 o superior.
- MCU de la familia HS08 de Freescale, según la referencia que desee utilizar.
- Reference Manual del microcontrolador escogido.
- BDM Multilink.
- LEDs diferentes colores.
- ULN-2003 o ULN -2008
- 1 pulsador.
- Motor Paso.
- Resistencias: 220 x 6, 1k x 3
- Condensadores.
- GP1S58VJ000F.

MARCO TEORICO

Transmisión asíncrona en serie

Considérese un sencillo sistema de transmisión binaria de datos en serie


con el siguiente esquema de codificación de línea, representado en la figura 1 y denominado código
de nivel de no retorno a cero (NRZ, Non Return to Zero): la transmisión del símbolo
Guia de laboratorio -- Microcontroladores

Figura 1: Código NRZ.

1 se realiza emitiendo un pulso de tensión constante V durante un intervalo de tiempo


T y la transmisión de un símbolo 0 con la emisión de un pulso de tensión de nivel –V también de
duración T.

La señal NRZ resulta muy sencilla de generar a partir de una cadena de símbolos binarios y se
caracteriza en el dominio de la frecuencia por la ausencia de componente continua, supuesto que
hay la misma proporción de ceros y unos en la información que se quiere transmitir y que los
símbolos binarios están incorrelados. La denominación NRZ sugiere que existen esquemas
alternativos de codificación de línea en los que la duración del pulso es menor que la del elemento
de señal T, los cuales, aunque requieren mayor ancho de banda, poseen la ventaja de que contienen
una componente espectral no nula a la frecuencia de transmisión 1=T que se puede aprovechar para
recuperar una señal periódica de temporización.

En recepción, para determinar el valor del bit transmitido en cada intervalo de señalización, se
muestrea la señal recibida una vez en cada intervalo de bit. En función del nivel de tensión
observado, positivo o negativo, el receptor decide si el símbolo emitido correspondía,
respectivamente, a un uno o a un cero. Idealmente, el instante de muestreo debe situarse en el punto
medio de cada intervalo de bit, para tratar así de evitar la distorsión en la señal recibida y que afecta
fundamentalmente a los flancos de cada pulso. El motivo es que el efecto de un canal real sobre la
señal transmitida puede modelarse en muchos importantes casos como una operación de filtrado
lineal e invariante en el tiempo con una respuesta en frecuencia que decae en frecuencias altas y que
tiende, por tanto, a atenuar y expandir en duración las transiciones bruscas de nivel en la señal
transmitida.

Pero como el receptor opera muestreando los bits recibidos, debe conocer tanto el instante de
llegada de cada uno como la duración T de los mismos. Y si, como ocurre en los sistemas de
transmisión digital asíncronos, el receptor delimita la duración de cada bit basándose en un reloj
propio o local de frecuencia 1=T , entonces pueden ocurrir problemas si los relojes del emisor y el
receptor no están sincronizados con precisión. La frecuencia real de un circuito oscilador no es
exacta a la nominal debido a pequeñas tolerancias en los procesos tecnológicos de fabricación y a
diversas condiciones operativas como la temperatura.

Cuando no se dispone de relojes perfectamente sincronizados, la única manera de evitar este


desajuste es limitar la cantidad de bits consecutivos que se transmiten, y obligar al receptor a
resincronizar al comienzo de cada nuevo grupo de bits. Con este procedimiento, la transmisión de
una secuencia binaria consiste en la transmisión de una secuencia de grupos de bits consecutivos,
estando cada grupo separado del anterior y del siguiente por un intervalo de tiempo en principio
variable.
Guia de laboratorio -- Microcontroladores

Es por causa de esta separación arbitraria que tal técnica de transmisión se conoce como
transmisión asíncrona en serie. Obsérvese, sin embargo, que la asincronía se refiere tanto a los
instantes de comienzo de los grupos de bits como al hecho de que emisor y receptor no utilizan una
referencia de reloj común.

Un grupo de bits de información que se transmiten consecutivamente se denomina palabra o,


también, carácter3 y consta, en los sistemas de transmisión más simples, de entre 5 y 8 bits. Ahora
bien, el receptor precisa conocer con exactitud el instante de comienzo de una palabra para
determinar sin error la base de tiempos, así como señalar dónde finalizan.

La manera de lograrlo en la transmisión asíncrona en serie es introducir una transición artificial en


el nivel de tensión al comienzo de una nueva palabra y forzar un nivel de señal para marcar el final.
El procedimiento es el siguiente: cuando el emisor no está enviando datos, mantiene la señal en el
nivel de 1 lógico. Antes de comenzar a transmitir la señal correspondiente a los bits de datos de una
palabra, cambia el nivel de la señal eléctrica transmitida de uno lógico a cero lógico, y la emite
durante un tiempo igual al intervalo de bit. A continuación, transmite los bits de datos y, para
terminar, vuelve a situar el nivel de señal de salida en un uno lógico durante un tiempo igual a un
intervalo de bit, igual a un intervalo de bit más medio intervalo de bit o bien igual a dos intervalos
de bit.

El pulso inicial se denomina bit de inicio, aun cuando es claro que no se trata de un “bit” sino de
una señal de control. Y el convenio para indicar el final de un grupo de bits de información se
denomina bits de parada. Estrictamente, los bits de parada no son necesarios, pues el receptor
conoce el número de bits de cada palabra, pero al utilizarlos se obtiene una ventaja añadida, y es
que entre dos palabras consecutivas el nivel de la señal eléctrica siempre retorna al nivel de uno
lógico durante un tiempo al menos igual a la duración de un bit, lo que introduce una separación
mínima entre ellas. En la figura 2 se han representado todos los convenios a los que se recurre en la
transmisión asíncrona en serie, en caso de transmitir palabras de 7 bits de datos.

Además de las reglas de señalización con bit de inicio y bit(s) de parada, se suele transmitir
también, después del último bit de datos de una palabra, un bit adiciona 4 bit de inicio bits de datos

Figura 2: Formato de un carácter en la transmisión asíncrona en serie.

que permite que el receptor detecte posibles fallos en la transmisión. Este bit es el bit de paridad, y
su valor lógico se elige de acuerdo con uno de dos convenios. En el convenio de paridad par se
calcula de modo que el número total de unos de toda la palabra (incluido el propio bit de paridad)
sea par; en el convenio de paridad impar, se fuerza a que el número total de unos en toda palabra
sea impar.
Guia de laboratorio -- Microcontroladores

Supóngase, entonces, que durante la transmisión o bien en el proceso de decodificación ocurre un


error en un bit cualquiera, sea de datos o el de paridad, de manera que el receptor detecta un valor
lógico diferente al que en realidad se transmitió. La alteración de un solo bit siempre incrementa o
disminuye en una unidad el número total de unos, por lo que si éste era originalmente par ahora será
impar y viceversa. Por tanto, ya sea con el convenio de paridad par o con el de paridad impar, el
receptor observará una palabra que nunca se podría haber transmitido con el esquema de paridad en
uso, y deduce que necesariamente debe haber ocurrido algún error durante la transmisión.

Desconoce, sin embargo, cuál es la posición del bit erróneo, pero reconoce al menos el fallo. Este
mismo razonamiento se puede generalizar para tratar con el caso de que ocurra más de un bit
erróneo. Supóngase ahora que el número total de bits con error es par.
El cambio de valor de un número par de bits de una palabra no altera la paridad: si era par, el
número total de unos sigue siendo par, y si era impar el número total de unos también es ahora
impar. Así pues, teniendo el conjunto de bits de la palabra recibida la misma paridad que la emitida,
el receptor asume que no ha sucedido ningún error, puesto que esta es la situación más frecuente.
Pero si el número total de bits erróneos es impar, entonces, como la paridad de la palabra recibida
cambia, sí se detectan los errores. En cualquier caso, véase que el uso de un bit de paridad tan sólo
permite la detección de los errores de transmisión pero no su corrección, porque no existe forma de
deducir en qué posición han ocurrido.

El mecanismo de adición y detección de un bit de paridad es muy sencillo de implementar con un


pequeño circuito combinacional. Basta generalizar la operación binaria booleana O-EXCLUSIVO,
que aquí representaremos por el símbolo y que se define por las identidades:

Obsérvese que el resultado de es siempre el bit de paridad par correspondiente a sus dos
operandos y que el resultado invertido es, obviamente, el bit de paridad impar 5 bit de inicio bits de
datos

Figura 3: Formato de un carácter en la transmisión asíncrona en serie.

La interfaz en la comunicación de datos asíncrona en serie

Cuando los equipos de procesamiento de datos (terminales y ordenadores) transmiten información


con un sistema de transmisión asíncrona en serie, pueden hacerlo sólo a distancias limitadas porque
la codificación de línea empleada es elemental. En consecuencia, si entre esos equipos existe una
Guia de laboratorio -- Microcontroladores

distancia grande o bien no se dispone se un medio de comunicación directo, nos veremos obligados
a utilizar otro tipo de técnicas más avanzadas.

Una solución simple para estos casos es recurrir a las facilidades de transmisión que proporcionan
los servicios públicos de telecomunicaciones como la red telefónica. Con este planteamiento, para
enviar información de un punto a otro se establece primero una conexión telefónica entre ambos, y
los dispositivos de transmisión de datos se comunican entonces a través de ella. Sin embargo, las
redes telefónicas tradicionales se han construido para transmitir señales analógicas y no digitales, de
forma que se precisa de algún tipo de dispositivo de conversión de señal digital/analógico, del lado
del emisor, y analógico/digital del lado del receptor para que la comunicación pueda ser efectiva.
Los equipos que realizan estas funciones de conversión se denominan de manera genérica modem4.
La configuración del sistema de comunicaciones quedaría, por tanto, según el esquema siguiente:

Figura 4: Interfaz de transmisión de datos.

En general, se dice que los equipos que transmiten o reciben datos son equipos terminales de datos
o DTE (Data Terminal Equipment); y que los modem son equipos terminadores del circuito de
datos o DCE (Data Terminating Circuit Equipment). Así, con el esquema representado, un DTE
emplea el medio de transmisión —que en este caso es un circuito de la red telefónica—
indirectamente a través de su DCE asociado.

Pero para que el intercambio de información entre un DTE y un DCE pueda producirse, es
necesario un cierto grado de cooperación entre ambos. No basta sólo con que DTE y DCE empleen
el mismo método de codificación y la misma velocidad de transmisión, sino que se requieren un
conjunto de circuitos de control específicos para coordinar la transferencia de los datos.

Con el propósito de simplificar las operaciones por parte de los usuarios y de uniformizar
la construcción e interconexión de los equipos por parte de los distintos fabricantes, se han definido
sistemas normalizados de intercambio de datos entre equipos DTE y DCE. Estas normas consisten
en la especificación de cuatro conjuntos de características:
mecánicas: aquellas que detallan la configuración del conector mecánico del DTE y del DCE
(número de contactos, dimensiones, tolerancias mecánicas )
Eléctricas: las que definen las características relativas a los niveles de tensión de las señales que
se intercambian, así como su temporización
Funcionales: definen el conjunto de señales de control, la función y el significado asignado a
cada una. Más adelante se ofrece un ejemplo concreto
Procedimentales: especifican la secuencia de activación de señales de control ordenada en el
tiempo que debe darse para que se produzca la transmisión de los datos.

La interfaz RS-232
Guia de laboratorio -- Microcontroladores

La normalización de interfaz entre DTE y DCE que más se utiliza es la V.24/RS-232-E. La


denominación V.24 se refiere al documento de la ITU-T donde se define. En realidad, en este
documento sólo se presentan las características funcionales y procedí mentales, asiéndose referencia
a otras normas para las especificaciones mecánica y eléctrica (V.28).
Los orígenes de la norma V.24 se remontan a una especificación anterior promovida por un
consorcio de fabricantes de equipos de comunicaciones y conocida por EIA-232 o RS-232. La EIA-
232 se estableció por vez primera en 1962 y ha sido revisada desde entonces en varias ocasiones
(eso sí, sin alterar las características fundamentales). La versión actual está fechada en 1991 y se
conoce como EIA-232-E.

La revisión más reciente de V.24 es de 1993. A excepción de la terminología, ambas normas son
idénticas y por eso se suelen presentar conjuntamente.

Especificaciones mecánicas
Las especificaciones mecánicas de la EIA-232 prescriben un conector mecánico en el DTE y el
DCE de 25 contactos metálicos distribuidos en dos filas de 13 y 12 contactos.

Este tipo de conectores se definen también en un documento independiente, el ISO6 2110 y se


llaman conectores DB25. Cada contacto corresponde a un circuito diferente, si bien casi todos los
circuitos están duplicados. Por tal motivo, y puesto que no se utilizan simultáneamente, se han
adoptado posteriormente conectores del mismo tipo pero con menor número de contactos, en
concreto conectores DB9 y DB15.

Especificaciones eléctricas
Las especificaciones eléctricas indican una señalización digital binaria para todos los circuitos de
intercambio. Respecto a una referencia de tierra común a todos los circuitos, un nivel de tensión
más negativo que -3V. se interpreta como un 1 lógico, mientras que cualquier nivel de tensión
mayor de 3V. se toma como un 0 lógico. La codificación de línea es, por tanto, NRZ. Estos valores
asumen distancias menores de 15 m. y velocidades no superiores a 20 Kbps. Ambas cifras son
conservadoras, pero es adecuado atenerse a estos límites.

Especificaciones funcionales y procedimentales

Las especificaciones funcionales indican el tipo, función y asignación a los contactos mecánicos de
cada uno de los circuitos de la interfaz. Estos pueden ser de tres clases diferentes: de datos, de
control y de temporización. En la tabla 1 se resumen sus características.

La interfaz RS-232 posee dos canales de transmisión de datos, uno primario y otro secundario, y en
cada uno de ellos los circuitos de transmisión y recepción están separados,
lo que hace posible el funcionamiento en modo full-duplex. Normalmente, el canal secundario sólo
se utiliza para enviar algún mensaje de control distinto de los preasignados (véase la tabla 1) cuando
los dispositivos operan en modo semi-duplex, y su tasa de transmisión es reducida.

De los 15 circuitos de control, diez controlan funciones relacionadas con la transmisión de datos
sobre el canal primario. La transmisión asíncrona utiliza las señales 105, 106, 107, 108.2, 125 y 109
(designación V.24) de la manera que a continuación se expone. Es práctica común referirse a estos
circuitos con un acrónimo que resume su función y que aquí se indica entre paréntesis.
Guia de laboratorio -- Microcontroladores
Guia de laboratorio -- Microcontroladores

Tabla 1: Asignación y función de los circuitos de la especificación V.24/RS-232.

Los circuitos 125 (RI, Ring Indicator) y 109 (CD, Carrier Detect) controlan el establecimiento de la
conexión telefónica entre los dos equipos DCE. Cuando se realiza una llamada desde un DTE local
a otro remoto, ya sea con un procedimiento manual o automático, el DCE llamado avisa a su DTE
asociado activando la señal RI, y la detección del cambio de nivel en esta señal activa al equipo
DTE. Además, el DCE remoto activa la señal CD siempre que recibe una señal eléctrica válida en
su línea de entrada telefónica, y comunica de este modo al DTE la presencia de una conexión válida
establecida.

La señal 108.2 (DTR, Data Terminal Ready) está activa siempre que el DTE se encuentra preparado
para transmitir y sirve para señalar esta condición a su DCE. Análogamente, la señal 107 (DSR,
Data Set Ready) está activa cuando el DCE está preparado para recibir datos del DTE. La
transmisión de datos está prohibida si cualquiera de estas dos señales de control se encuentra
inactiva. En condiciones operativas normales, cuando el DTE quiere enviar datos activa el circuito
105 (RTS, Request To Send) y espera la respuesta del DCE, que consiste en la activación de la señal
106 (CTS, Clear To Send). Una vez se haya recibido el permiso, el DTE puede proceder a enviar
datos por su circuito de transmisión mientras la señal CTS permanezca activa; durante todo ese
tiempo, mantiene la señal RTS también activa. El intercambio RTS– CTS constituye un par de
señales de acción-reacción, y ofrece la posibilidad de regular el flujo de datos entre DTE y DCE.

Además de la asíncrona, la interfaz RS-232 permite utilizar un sistema de transmisión síncrona, y


para ello emplea tres circuitos de control, los 110, 111 y 112. Aunque no se expondrá el
funcionamiento en modo síncrono, sí se presentará someramente la función de cada señal; el
circuito 110 (SQD, Signal Quality Detector) es activado por el DCE para indicar que la calidad de
la señal de datos que recibe ha caído por debajo de un nivel mínimo aceptable. Casi todos los
modem modernos pueden transmitir a más de una velocidad, así que la activación de la señal suele
ser interpretada por el DTE como una petición para reducir la velocidad de transmisión/recepción
cuando la línea telefónica se vuelve en exceso ruidosa. Los circuitos 111 y 112 (DSRD, Data Signal
Rate Detector) se utilizan precisamente para este propósito, puesto que tanto el DTE como el DCE
pueden iniciar la modificación.
Los circuitos 120 (S-RTS, Secondary Request To Send), 121 (S-CTS, Secondary Clear To Send) y
122 (S-CD, Secondary Carrier Detect) son señales de control del canal secundario; su función se ha
explicado anteriormente.
Guia de laboratorio -- Microcontroladores

Las señales de control 140 (RL, Remote Loop), 141 (LL, Local Loop) y 142 (TM, Test Mode) sirven
para comprobar el grado de calidad de la conexión entre el DTE y el DCE, siempre y cuando el
DCE ofrezca la posibilidad de realizar un bucle interno de control, lo que es común en los equipos
modernos. En el modo local, la salida de transmisión del modem se conecta intercamente con la
entrada de recepción, desconectando así efectivamente al modem de la línea de transmisión. Todos
los datos emitidos por el DTE le son devueltos. En el modo de bucle remoto el DCE local se
conecta al DCE remoto a través de la línea de transmisión y es la entrada de recepción del modem
remoto la que se conecta a la salida de transmisión. Las señales de bucle se utilizan casi
exclusivamente para la detección de fallos en la línea de transmisión, o en la conexión entre DTE y
DCE.

El último grupo de circuitos es el de temporización 113 (TxClk, Transmitter Clock), 114 (TcClk,
Transmitter Clock) y 115 (RxClk, Receiver Clock). Se utilizan tan sólo en

Tabla 2: Asignación de contactos de la interfaz RS-232. Conectores DB25 y DB9.

El modo de transmisión síncrona y sirven para enviar pulsos de reloj entre el DTE y el
DCE y a la inversa, con objeto de establecer una referencia de tiempos común.

Para terminar, el circuito 102 (GND o SIG, Signal Ground) es l retorno de tierra común a todos los
demás circuitos, de datos, control o temporización. La transmisión no es, por tanto, balanceada.

Modem nulo

Cuando la separación entre dos equipos DTE es tan corta que permite interconectarlos directamente,
se puede hacer uso de una configuración especial sin dejar de utilizar la interfaz de comunicaciones
RS-232 pero también sin necesidad de utilizar equipos DCE. Para ello, los circuitos de intercambio
de las interfaces RS-232 de los dos DTE se deben interconectar de manera que cada uno crea que
está intercambiando datos con un DCE y no con el otro DTE. Se denomina a esta configuración
modem nulo y, en realidad, no hay una única manera de conseguirla.
Guia de laboratorio -- Microcontroladores

En la figura 5 se ha representado una posible configuración de modem nulo. En ella, y con respecto
a las señales de control, obsérvense las siguientes características:
La señal de salida DTR de cada DTE se ha conectado directamente a la entrada DSR del otro y,
al mismo tiempo, a la entrada RI. De este modo, siempre que el DTE local está preparado para
transmitir, el remoto advierte esta condición
La salida RTS de cada DTE se ha unido con la entrada CTS del mismo DTE y con la entrada
CD del DTE remoto. La activación de la señal RTS implica así el permiso inmediato para
transmitir, siempre que el DTE remoto esté preparado. La conexión de la salida RTS a la
entrada CD sirve para señalar al DTE remoto que el local se encuentra transmitiendo.

Figura 5: Esquema de modem nulo.

DB9

Las comunicaciones serie se utilizan para enviar datos a través de largas distancias, ya que las
comunicaciones en paralelo a parte de resultar demasiado costosas exigen demasiado cableado para
ser operativas. Los datos serie recibidos desde un modem o otros dispositivos son convertidos a
paralelo gracias a lo cual pueden ser manejados por el bus del PC.

Los equipos de comunicaciones serie se pueden dividir en simplex, half-duplex y full-duplex.


Una comunicación serie simplex envía información en una sola dirección (ej. una emisora de radio
comercial). Half-duplex significa que los datos pueden ser enviados en ambas direcciones entre dos
sistemas, pero en una sola dirección al mismo tiempo. En una transmisión full-duplex cada sistema
puede enviar y recibir datos al mismo tiempo.

Hay dos tipos de comunicaciones: síncronas y asíncronas. En una transmisión síncrona los datos
son enviados en bloques, el transmisor y el receptor son sincronizados por uno o más caracteres
especiales llamados caracteres sync.

El puerto serie del PC es un dispositivo asíncrono. En una transmisión asíncrona, un bit identifica
su bit de comienzo y 1 o 2 bits identifican su final, no es necesario ningún caracter de sincronismo.
Los bits de datos son enviados al receptor después del bit de start. El bit de menos peso es
transmitido primero. Un caracter de datos suele consistir en 7 o 8 bits. Dependiendo de la
configuración de la transmisión un bit de paridad es enviado después de cada bit de datos. Se utiliza
para corregir errores en los caracteres de datos. Finalmente 1 o 2 bits de stop son enviados.
Guia de laboratorio -- Microcontroladores

En transmisión serial solo un canal o camino electrónico, es usado y todos los datos son enviados
en secuencia. Casi siempre este tipo de transmisión es lenta, la transmisión serial es usada para
virtualmente todas las comunicaciones envolviendo largas distancias. Este método envía caracteres
(bytes) a ser transmitido uno en un tiempo hasta el ingreso del mensaje el cual es enviado.

La transmisión serial ha sido usada por muchos años por lo que esta es muy simple y
relativamente el equipo utilizado en su implementación es cómodo, pero una de sus grandes
limitaciones es su baja velocidad.

Las líneas de datos transportan información desde la PC hacia el periférico. Lo hacen en grupos
de ocho bits (un byte) al mismo tiempo y utilizan las terminales 2 al 9 del conector DB-25. El bit
D0 es el de menor peso o LSB y el bit D7 es el de mayor peso o MSB (recordemos que un bit se
representa por niveles de tensión, tal que una señal entre 2.5v y 5v es un nivel alto, y entre 0.8 y 2.4
corresponde a un nivel bajo).

ESTÁNDAR USB

USB es el acrónimo de Universal Serial Bus, este protocolo se usa principalmente para la conexión
de distintos periféricos a los computadores tales como, impresoras, teclados, teléfonos, etc.
Actualmente se puede decir, sin temor a equivocarse, que este estándar desplazó del mercado a su
antecesor el RS-232, este último es usado para el desarrollo de proyectos o dispositivos antiguos
pero, lo que hoy se refiere los grandes fabricantes de la industria del desarrollo tecnológico del
campo de las comunicaciones, prefiere el uso del estándar USB, debido a características como:

• Velocidad de transmisión desde unos Kbps hasta Mbps.


• Es capaz de trabajar tanto de forma síncrona como asíncrona.
• Se pueden conectar hasta 127 periféricos.
• Comunicación de alta fiabilidad gracias al control de errores.
• Tiempo de respuesta garantizado.
• La mayoría de accesorio por USB son plug and play, es decir, conectar y usar.
• Posible expansión del bus.

Para entender el modo en el que funciona este estándar se aclarará inicialmente los siguientes
términos:

• Host (Anfitrión): Es el dispositivo encargado de comenzar el enlace.


• Hub (Concentrador): Es el encargado de permitir la comunicación entre el host y otros
dispositivos.
• Driver (Controlador): Suele ser un programa que contiene la información necesaria para
que el host puede identificar el periférico que se le ha conectado.
• Endpoints (Puntos terminales): Es un registro o módulo encargado de recibir y procesar las
peticiones durante la enumeración del dispositivo sobre el bus.
• Pipes (Tuberías): Es el enlace virtual entre el host y el endpoint.
Guia de laboratorio -- Microcontroladores

Según la norma USB se definen dos tipos de pipes:

• Stream pipes: se refiere a la transferencia de datos con formato diferente al protocolo USB,
es decir que se puede enviar y recibir información con diferentes formatos, tales como:
o Bulk: usado para realizar transferencias de grandes cantidades de datos y sin
errores, haciendo de esta una trasmisión lenta pero segura, por esto es usada
principalmente en dispositivos de alta velocidad.
o Isochronous: es una transmisión de datos en tiempo real como los formatos de
audio y video, para teleconferencias por ejemplo.
o Interrupt: este tipo de enlace es usado para intercambiar pequeños paquetes de
datos y para atender periódicamente dispositivos que lo necesiten.
• Messages pipes: enlace virtual con formato USB, tal como:
o Control: junto a los drivers es el encargado de realizar las configuraciones
necesarias en el endpoint. No tiene pérdidas de datos gracias a que la detección y
detección de errores se basa en la norma USB.

Otro punto importante es la enumeración, en este proceso se presenta el dispositivo USB ante el
host brindándole la información necesaria para su buen funcionamiento, por ejemplo, su consumo
de energía, número y tipos de endpoints, tipo de periférico, tasa de transferencia de datos, etc.
Cuando el host detecta el dispositivo y lo enumera es porque el dispositivo ha sido agregado al bus,
a este le es asignado una dirección para habilitar su configuración y su transferencia de datos.

En cuanto a sus características eléctricas y tasas de transferencia de datos, el protocolo USB cuenta
con las siguientes:

• El puerto USB transmite la información sobre cuatro hilos de cobre de los cuales dos están
trenzados para evitar ruidos, veáse la figura.

Estructura física de un cable USB.

Conversor de RS-232 a UART.

El MAX232 es un circuito integrado que convierte los niveles de las líneas de un puerto serie
RS232 a niveles TTL y viceversa. Lo interesante es que sólo necesita una alimentación de 5V, ya
que genera internamente algunas tensiones que son necesarias para el estándar RS232. Otros
integrados que manejan las líneas RS232 requieren dos voltajes, +12V y -12V.
voltajes, +12V y -12V.
Guia de laboratorio -- Microcontroladores

Conversor de RS-232 a UART

El MAX232 soluciona la conexión necesaria para lograr comunicación entre el puerto serie de una
PC y cualquier otro circuito con funcionamiento en base a señales de nivel TTL/CMOS.

El circuito integrado posee dos conversores de nivel TTL a RS232 y otros dos que, a la inversa,
convierten de RS232 a TTL.
Estos conversores son suficientes para manejar las cuatro señales más utilizadas del puerto serie del
PC, que son TX, RX, RTS y CTS. TX es la señal de transmisión de datos, RX es la de recepción, y
RTS y CTS se utilizan para establecer el protocolo para el envío y recepción de los datos.

El MAX232 dispone internamente de 4 conversores de niveles TTL al bus standard rs232 y


viceversa, para comunicación serie como los usados en los ordenadores y que ahora están en
desuso, el Com1 y Com2.

El circuito integrado lleva internamente 2 conversores de nivel de TTL a rs232 y otros 2 de rs232 a
TTL con lo que en total podremos manejar 4 señales del puerto serie del PC, por lo general las mas
usadas son; TX, RX, RTS, CTS, estas dos ultimas son las usadas para el protocolo handshaking
pero no es imprescindible su uso. Para que el max232 funcione correctamente deberemos de poner
unos condensadores externos, todo esto lo podemos ver en la siguiente figura en la que solo se han
cableado las líneas TX y RX que son las mas usualmente usadas para casi cualquier aplicación.

Este integrado es usado para comunicar un microcontrolador o sistema digital con un PC o sistema
basado en el bus serie rs232

Conversor de USB a UART

El FTDI, FT o cualquier otro circuito integrado básicamente cumple la función de pasar de


protocolo USB a serial, diseñado con la finalidad de minimizar los componentes externos
necesarios para este objetivo, además de eliminar parte de la programación, pues solo necesita
polarizarlo y agregar cierta cantidad de dispositivos para su correcto funcionamiento. Su principales
características son:

• Hace conversión de protocolos de USB a UART, para transmisión de datos.


• Protocolo USB viene integrado no necesita ser programado
• Trabaja con la alimentación suministrada por el puerto USB del host.
Guia de laboratorio -- Microcontroladores

• Puede trabajar de voltajes de 3.3 V y a niveles USB.


• Necesita un driver en el host.
• Consume poco ancho de banda del USB.
• Capaz de trabajar en bajo consumo.
• Estructura física de un cable USB.

En la figura se observa una conversor de USB2UART con el integrado FTDI1.

Conversor USB to Serial UART, integrado FTDI. Viste tienda de robótica Colombia.

Es una tarjeta básica para comenzar a usar el circuito integrado USB a serial FTDI FT232RL.
También se puede utilizar para aplicaciones generales de comunicación serial. La principal
diferencia de esta tarjeta es que pone al alcance el pin DTR en lugar del pin RTS del cable FTDI.

Esta tarjeta tiene LEDs para indicar la actividad de las terminales TX y RX que facilitan el uso del
cable FTDI. Esto permite ver el tráfico de información serial y verificar si la tarjeta está
funcionando. Esta tarjeta fue diseñada para reducir el costo de desarrollo y aumentar la facilidad de
uso

Para que la tarjeta cualquiera que se seleccione es necesario instalar un software o driver en el host
o PC donde se conecte el dispositivo.2

Herramientas para probar comunicación serial.


Para comprobar el funcionamiento inicial de la comunicación serial resulta muy útil hacer uso de la
herramienta que se ve en la imagen. Se puede descargar de la web.

Real Term,
Programa de terminal de serie para la ingeniería. Ideal para el desarrollo, y visualizar datos
enviados desde y hacia el PC, permite la depuración, el registro de datos y captura, y la prueba
automática.
Descarga. http://sourceforge.net/projects/realterm/
Tutorial: http://realterm.sourceforge.net/

1
http://tienda.tdrobotica.co/producto/106
2
http://www.ftdichip.com/FTDrivers.htm
Guia de laboratorio -- Microcontroladores

RealTerm es programa emulador de terminal para puertos seriales y TCP.

Terminal, es otra interfaz de puerto virtual para depuración.

Terminal es un simple serial port (COM) terminal emulation program.


Guia de laboratorio -- Microcontroladores

Librería en PC para desarrollar aplicación.


El componente TComPort (desarrollado por Dejan Crnila de Eslovenia) es un componente gratuito
para comunicaciones seriales para Delphi y C++ Builder. Permite el acceso al puerto serie del PC
en Windows XP, Vista y Windows 7. TComPort se basa en la API de Windows por lo que es
totalmente compatible con los controladores o drivers pasarela tipo USB - RS232., USB-UART. Es
fácil de utilizar para propósitos de comunicación serie básicos. En tcomport.rar e en la página
oficial. http://sourceforge.net/projects/comport/ .

Existen otros componentes, TurboPower Async Professional (desarrollado por durkin10). Es una
solución completa para Delphi, C++ Builder y entornos ActiveX. Proporciona acceso directo al
puerto serie y al API de Microsoft, incluyendo el TAPI (Telephony Application Programming
Interface). Soporta fax, emulación de terminal, VOIP y mas. Se encuentra disponible
en http://sourceforge.net/projects/tpapro/

Motores paso.

¿Qué es un motor paso a paso?

Un motor paso a paso, como todo motor, es en esencia un conversor electromecánico,que


transforma energía eléctrica en mecánica. Mientras que un motor convencional gira libremente al
aplicarle una tensión, el motor paso a paso gira un determinado ángulo de forma incremental
(transforma impulsos eléctricos en movimientos de giro controlados), lo que le permite realizar
desplazamientos angulares fijos muy precisos (pueden variar desde 1,80º hasta unos 90º)

Están constituidos esencialmente por dos partes:

• Estator: parte fija construida a base de cavidades en las que van depositadas las bobinas.
• Rotor: parte móvil construida mediante un imán permanente. Este conjunto va montado
sobre un eje soportado por dos cojinetes que le permiten girar libremente.

Funcionamiento

Al excitar el estator, se crearan los polos N-S, provocando la variación del campo magnético
formado. La respuesta del rotor será seguir el movimiento de dicho campo (tenderá a buscas la
posición de equilibrio magnético), es decir, orientará sus polos NORTE-SUR hacia los polos SUR-
NORTE del estator, respectivamente. Cuando el rotor alcanza esta posición de equilibrio, el estator
cambia la orientación de sus polos y se tratará de buscar la nueva posición de equilibrio.
Manteniendo dicha situación de manera continuada, se conseguirá un movimiento giratorio y
Guia de laboratorio -- Microcontroladores

continuo del rotor, produciéndose de este modo el giro del eje del motor, y a la vez la
transformación de una energía eléctrica en otra mecánica en forma de movimiento circular.

Al número de grados que gira el rotor, cuando se efectúa un cambio de polaridad en las bobinas del
estator, se le denomina "ángulo de paso". Existe la posibilidad de conseguir una rotación de medio
paso con el control electrónico apropiado, aunque el giro se hará con menor precisión.

Los motores son fabricados para trabajar en un rango de frecuencias determinado por el fabricante,
y rebasado dicho rango, provocaremos la pérdida de sincronización.

Los motores paso a paso, se controlan por el cambio de dirección del flujo de corriente a través de
las bobinas que lo forman:

• Controlar el desplazamiento del rotor en función de las tensiones que se aplican a las
bobinas, con lo que podemos conseguir desplazamientos adelante y atrás.
• Controlar el número de pasos por vuelta.
• Controlar la velocidad del motor.

Además estos motores poseen la habilidad de poder quedar enclavados en una posición (si una o
más de sus bobinas está energizada) o bien totalmente libres (si no circula corriente por ninguna de
sus bobinas).

Según la construcción de las bobinas del estator, dos tipos de MPAP:

o Unipolares: se llaman así porque la corriente que circula por los diferentes bobinados
siempre circula en el mismo sentido. Tienen las bobinas con un arrollamiento único

Motor paso Unipolar. De 5 hilos o de 6 hilos

o Bipolares: la corriente que circula por los bobinados cambia de sentido en función de la
tensión que se aplica. por lo que un mismo bobinado puede tener en uno de sus extremos
distinta polaridad (bipolar). Tienen las bobinas compuestas por dos arrollamientos cada
una.
Guia de laboratorio -- Microcontroladores

Motor Paso Bipolar de 4 hilos.

Algunos motores tienen los bobinados de tal manera que en función de puentes pueden convertirse
en unipolares o bipolares. Lo más importante de un motor es saber el tipo de motor que es, la
potencia, el número de pasos, el par de fuerza, la tensión de alimentación y poco más si son motores
sencillos.

Secuencias para manejar motores:

Existen tres métodos para el control de este tipo de motores , según las secuencias de encendido de
bobinas.
Guia de laboratorio -- Microcontroladores

Control motor paso unipolar: Para controlar un motor paso a paso unipolar se alimenta el común del
motor con Vcc y se conmuta con masa en los cables del devanado correspondiente y pasa la
corriente por la bobina del motor adecuada y esta generará un campo electromagnético que atraerá
el polo magnetizado del rotor y el eje del mismo girará.

Para hacer el control del motor paso se puede usar transistores montados en configuración
Darlington o usar un circuito integrado como el ULN2003 que ya los lleva integrados en su interior
aunque la corriente que aguanta este integrado es baja. Las entradas son TTL y se activan a nivel
alto, también disponen de resistencias de polarización internas con lo que no deberemos de
preocuparnos de esto y podremos dejar "al aire" las entradas no utilizadas. Las salidas son en
colector abierto.
Guia de laboratorio -- Microcontroladores

Conexión de motor paso unipolar a través de un ULN2003 o con un integrado L293D

PROCEDIMIENTO.
ARQUITECTURA DE LA APLICACIÓN

La arquitectura de la aplicación esta compuesta por cuatro elementos:

1. PC de tecnología convencional (Sistema Supervisor)


2. Modulo de control basado en micro controlador (Sistema de Control)
3. Motor paso a paso de 5 hilos (Sistema a controlar)
Guia de laboratorio -- Microcontroladores

4. Optoacoplador par fototransistor diodo infrarrojo (sensor de realimentación).

Se desea implementar esta arquitectura modular es controlar la velocidad del motor paso cuya
resolución es de 1.8 grados/secuencia, variando el tiempo entre secuencias de forma que el motor
pueda alcanzar velocidades de hasta 5m/min. La variable de entrada al sistema es frecuencia
(1/tiempo entre secuencias) y la variable de salida es revoluciones por segundo (tiempo que toma al
rotor dar un giro de 360°).

Pantalla de supervisión y control

Es en host es necesario crear una aplicación para supervision y control (puede ser realizada en
python, Matlab o cualquier otro software de desarrollo). En la interface es posible variar la
velocidad del motor de paso y conocer la velocidad a la que realmente responde el dispositivo,
también hay una gráfica que permite observar los cambios de velocidad a través del tiempo en un
buffer de 1024 puntos. En esta pantalla se puede detener el motor, dar marcha al motor, limpiar el
buffer gráfico para comenzar a graficar comportamientos desde cero controlar la velocidad y el
sentido de giro. También es posible observar el estado del bus de comunicaciones de forma que el
usuario pueda saber si las comunicaciones con el modulo de control son correctas o existen, a la vez
de saber si el motor esta detenido o se encuentra en marcha.

GP1S58VJ000F
Guia de laboratorio -- Microcontroladores

Ejemplo: comunicación serial en Matlab


\
p=serial('COM3','BaudRate',19200,'Timeout',1,'Terminator',';');
% Crea el objeto puerto
fopen(p); % Abri Puerto serie
fprintf(p,'/D1;'); % Escribe en el puerto serial
resp=fscanf(p); % Lee el Puerto serial
fclose(p)

Para
hacer que el movimiento sea mas rápido, el tiempo entre secuencias debe ser corto. En caso
contrario el tiempo entre secuencias debe ser alto.

DISPOSITIVO SENSOR

El elemento de realimentación consiste de un par opto acoplado (LED infrarrojo y fototransistor) el


cual envía un pulso de 5 VDC cada vez que hay una interrupción en el haz de luz que alimenta al
fototransistor.

Elemento de realimentación

El ancho de banda es de 160 Hz (de 83 ms hasta 65.535 s por giro del rotor) además al ser una señal
digital. Encoder propuesto, puede se realizado en un programa de CAD, tiene una separación cada
36 grados. Las limitantes del sensor estarían involucradas con la resolución del encoger (aspas en la
figura anterior) utilizado, en este caso la resolución es de 1/10 de giro por impulso. Sin embargo
esta limitante puede ser superada incrementando la cantidad de pasos que por giro en el encoder. La
separación de cada uno de los pasos se hizo cada 36 grados, esto teniendo en cuenta que múltiplos
enteros de la resolución del motor ya mencionada
Guia de laboratorio -- Microcontroladores

La variable de salida del sistema es la velocidad del motor expresada en el tiempo que toma al rotor
dar 1/10 de giro, este momento es detectado por el microcontrolador por medio de una interrupción
de hardware, mientras tanto la MCU internamente está ejecutando el conteo del tiempo llenando un
registro.

NOTA 1.
1. EN EL LABORATORIO HAY DISONIBLES VARIOS MOTORES PASO.
2. LOS GRUPOS DE 3 PERSONAS TIENE QUE HACER EL DESARROLLO POR
GRUPO.

INFORME

En el código se debe especificar en qué parte se está realizando cada rutina, así mismo indicar la
lógica que se usa para la lectura del teclado. Una buena organización y documentación del
programa facilita su depuración.

Debe contener:
- Título
- Resumen (Abstract)
- Tabla de requerimientos
- Diseño de hardware
- Esquemas electrónicos
- Diagramas de estados
- Diagrama de flujo – Maquina de estados o redes de Petri.
- Simulaciones

EVALUACION
- Funcionamiento y sustentación 65%
- Informe de la practica 35% Si funcional la parte práctica.

FUENTES DE INFORMACION.

1. Hoja técnica de microcontrolador utilizado.


2. Resumen set de instrucciones
3. AN3499 Clock Options on the HC9S08 Family
4. Terminal com port development tool en el PC https://sites.google.com/site/terminalbpp/
5. El componente TcomPort, http://perso.wanadoo.es/pictob/tcomport.htm
6. SIGMA ELECTRONICA.
7. LÁZARO, A. M. LabView 7.1. Programación gráfica para el control de instrumentación. Thomson,
2005, ISBN: 84-9732-391-2.
8. Developing Embedded Software in C Using ICC11/ICC12/Hiware, Jonathan W. Valvano.
9. Movil Robots, Jhosep Jones.
10. Serial communication interface (SCI), WEBINAR FREESCALE.
Guia de laboratorio -- Microcontroladores

11. Ejemplo Motores Paso desde PC. http://server-die.alc.upv.es/asignaturas/lsed/2002-


03/MotoresPasoaPaso/Motorespasoapaso.pdf

También podría gustarte