analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
Comunicación Serial entre un microcontrolador y un PC
1. UNIVERSIDADPOLITÉCNICA SALESIANA LABORATORIODE SISTEMAS MICROPROCESADOSII
Fecha:18/05/2016
1
INFORME PRÁCTICA Nº4
COMUNICACIÓN SERIAL RS-232 ENTRE UN MICROCONTROLADOR Y
UN PC
Cahueñas Maliza Juan Fernando
jcahuenas@est.ups.edu.ec
Paredes Rodríguez Santiago Andrés
sparedesr1@est.ups.edu.ec
Villarruel Delgado Stalin Patricio
svillarroel@est.ups.edu.ec
RESUMEN: En la presente práctica se realizó la
programación,simulación y posteriormente se armó un
circuito para el manejo del módulo GLCD con touch, el
cual consiste en realizar la programación de una
calculadora de matrices, con base en los
conocimientos adquiridos previamente acerca del
manejo de la touch e interrupciones, se pudo
desarrollar un código que cumpla con los enunciados
requeridos.
KEYS WORDS: PIC 18F4550, GLCD, Matrices, touch.
1. OBJETIVOS
1.1 OBJETIVO GENERAL
Realizar una aplicación electrónica donde se
evidencie el establecimiento de una
comunicación serial asincrónica RS-232 entre
un microcontrolador y un HMI implementado
sobre algún entorno gráfico de programación
en el PC.
1.2 OBJETIVOS ESPECIFICOS
• Definir las configuraciones necesarias para que
un microcontrolador esté en la capacidad de
comunicarse mediante protocolo RS-232 con
una aplicación HMI implementada sobre un PC y
poder recibir información del mismo.
• Utilizar un sistema GLCD +TOUCH PANEL para
el ingreso de datos y establecimiento de
operaciones dentro del proceso de control
solicitado.
2. MARCO TEÓRICO
2.1. COMUNICACIÓN SERIAL RS-232
Una comunicación serial RS-232 es una de las
normas más utilizadas para establecer una interfaz de
comunicación en modo asincrónico con velocidades
bajas y medias. Popularmente es conocida como RS-
232C y es utilizada para la conexión entre equipos de
datos a corta distancia (originalmente menos de 16.4
m) en un entorno ruidoso.
La norma RS232 básicamente comunica un equipo
terminal de datos (DTE) y el equipo de comunicaciónde
datos (DCE). El esquema general de un sistema de
comunicación de datos es el ilustrado en la siguiente
figura. Los DTE son los equipos que producen la señal
de datos o son los receptores finales de la señal de
datos.Los DCE son los equipos que adecuan la señal
de datos al medio de transmisión utilizado o reciben
esta señal del medio de transmisión ofreciéndola de
forma apropiada al receptor final.
Figura 1. Comunicación
Cada combinación de DTE y DCE puede ser un
transmisor o un receptor en función de la dirección de la
transferencia de datos. Un equipo terminal de datos
muy común es el ordenador personal, que puede, por
ejemplo, generar la señal de datos con el formato
asincrónico.
2. UNIVERSIDADPOLITÉCNICA SALESIANA LABORATORIODE SISTEMAS MICROPROCESADOSII
Fecha:18/05/2016
2
La comunicación serial asincrónica se caracteriza por
introducir un elemento de sincronización en cada dato
transmitido, que consiste en un bit con valor 0 para
indicar el comienzo de cada palabra y otro bit con valor
1 para indicar el final de las palabras. El 0 inicial se
denomina bitde inicio o start y el 1 final se denomina bit
de parada o stop. Cuando el transmisor hace una
pausa porque no tiene palabras para transmitir,
mantiene en su terminal de salida una secuencia de bits
de parada,es decir,la salida permanece en 1 mientras
dura la pausa. El formato de la señal asincrónica se
muestra en la siguiente figura,donde puede apreciarse
que la sincronización del receptor ocurre en cada dato
transmitido.
El bit de paridad o parity, a diferencia de los bits de
inicio y de parada, es un parámetro opcional (el último
bit después de los bits de datos) que se utiliza en las
comunicaciones serie para determinar si el dispositivo
remoto está recibiendo correctamente el carácter de
datos que se transmite, es decir, permite la detección
de errores pero no los corrige. Existen dos variantes de
este método, bit de paridad par y bit de paridad impar.
Para que la lectura de los datos sea correcta, ambos
equipos deben estar configurados a la misma velocidad
y demás parámetros y no exceder más allá de los 2
metros, pasado esta distancia los datos recibidos
pueden no ser los correctos debido a la pérdida de
voltaje en el cable, ruido, etc.
La explicación desarrollada hasta el momento, ha
tomado en consideración que los niveles de voltaje del
dispositivo son del tipo TTL (0V - 0 lógico y 5V – 1
lógico) como por ejemplo los voltajes manejados por un
microcontrolador PIC, pero en realidad los niveles
establecidos por el estándar RS-232 son los siguientes:
para una señal 1 lógico entre -3V a –15V con carga y
hasta -25V sin carga y para una señal 0 lógico entre
+5V a +15V y hasta +25V sin carga; es decir se cuenta
con una lógica inversa. Cualquier dispositivo que
implemente comunicación RS-232 debe manejar algún
nivel de voltaje dentro de estos rangos,asípor ejemplo,
el computador maneja típicamente niveles voltajes
entre -12V y 12V con lógica inversa para establecer
comunicaciones del tipo serial, tal y como se muestra
en el ejemplo de la siguiente figura.
Figura 2. Niveles de voltaje del computador
Como se puede apreciar los niveles de voltaje
empleados en la norma RS-232 sobre el computador
son diferentes al empleado por el PIC, por ello, suele
ser necesaria la utilización de circuitos externos de
adaptación cuando se requiera comunicar el PC con un
microcontrolador.
Figura 3. Comunicación PC-microcontrolador
Los microcontroladores PIC de la gama media
poseen un puerto serie para comunicaciones
denominado USART (Universal Synchronous
Asynchronous Receiver Transmitter) o también
conocido como SCI (Serial Communicaction Interface)
el cual es un DTE y puede ser configurado para
establecer una comunicación asincrónica bidireccional
simultánea (full duplex) o sincrónica (con transmisiónde
la señal de reloj) bidireccional no simultánea (half
duplex) [1].
2.2. PIC18F4550
El PIC18F4550 es uno de los mas populares
microcontroladores cuando de conectividad USB se
trata, también cuenta con memoria RAM, EEPROM, y
FLASH superior a la de los PIC de la familia 16F. Ideal
para pequeñas potencias (nanovatio) y aplicaciones de
conectividad que benefician de la disponibilidad de los
tres puertos seriales: FS-USB (12 Mbit/s), I²C y SPI
(hasta 10 Mbit/s). Su gran capacidad de memoria RAM
para almacenamiento temporal y su memoria FLASH
de programa mejoradas hacen que sea ideal para el
control integrado y aplicaciones de monitoreo que
requieren conexión periódica con un ordenador
personal a través de USB para la carga / descarga de
datos y / o actualizaciones de firmware.
Entre sus principales características están:
• Puerto USB V2.0 que puede trabajar en modo
low speed (1.5 Mb/s) y Full speed(12 Mb/s).
• RAM 1-Kbyte accesible por USB.
• Reloj externos hasta de 48 MHz.
• Oscilador interno de 31 KHz–8 MHz configurable
por software .
• Pines con salida de alta corriente de hasta 25
mA.
3. UNIVERSIDADPOLITÉCNICA SALESIANA LABORATORIODE SISTEMAS MICROPROCESADOSII
Fecha:18/05/2016
3
• 4 TIMERS de los cuales: hasta 2 pueden ser
utilizados como modulos de
captura/comparación/PWM.
• Puerto USART con soporte
para comunicaciones MSSP, SPI e I²C.
• Hasta 13 canales ADC de 10 bits.
• Memoria FLASH con 100,000 ciclos de lecturas
escritura típicos.
• Memoria EEPROM con 1,000,000 ciclos de
lectura escritura típicos y retención de datos de
hasta 40 años.
• Programación con codigo de protección.
• Programación ICSP via dos pines.
El PIC 18F4550 posee una arquitectura tipo
Hardvard, ya que dispone de diferentes buses para
acceder a la memoria de programa o a la memoria de
datos. Esto nos da la opción de acceder a la memoria
de datos para ejecutar una instrucción, mientras se lee
de la memoria de programa la siguiente instrucción.
Es decir, podemos acceder de forma simultánea a
ambas memorias.
El Bus de memoria de programa:Está formado por 21
líneas de dirección, 16 lineas para instrucciones y 8
lineas para datos.
El Bus de memoria de datos: Compuesto por 12
líneas de dirección y 8 líneas de datos [1].
Figura 4. Encapsulado del PIC 18F4550
2.3. GLCD
Un LCD gráfico (GLCD) es una pantalla de cristal
líquido cuya resolución es medida en pixeles y la cual
proporciona un método avanzado para visualizar
mensajes.Mientras que un LCD de caracteres puede
visualizar sólo caracteres alfanuméricos,el LCD gráfico
puede visualizar los mensajes en forma de dibujos y
mapas de bits.Los LCD gráficos permiten imprimir
fragmentos de líneas horizontales o verticales,
rectángulos,barras,círculos ytextos, los cuales arman
en conjunto una imagen total.
Los GLCDs son comúnmente utilizados en muchas
aplicaciones científicas, en las que se desea visualizar
datos gráficos, como un gráfico de barras o un gráfico
de líneas x-y, por ejemplo, un gráfico que muestre el
cambio de temperatura con el tiempo, y así
sucesivamente. Los GLCDs también se utilizan en
muchas aplicaciones de consumo,tales como teléfonos
móviles, reproductores MP3, sistemas GPS, juegos,
juguetes educativos, entre otras. Otra área de
aplicación importante de los GLCDs está en la
automatización y control industrial, donde varias
características de la planta pueden ser fácilm ente
monitorizadas o cambiadas.
Actualmente, en el mercado existen varias pantallas
GLCD, así como los controladores que determinan su
funcionamiento. Para aplicaciones pequeñas, uno de
los más comúnmente utilizados es el GLCD
monocromático (blanco y negro) con un tamaño de
128X64 pixeles y con un controlador KS0108.
El origen de la pantalla del GLCD es la esquina
superior izquierda, según se muestra en la siguiente
figura. La dirección X se extiende hacia la derecha, y la
dirección Y se extiende hacia la parte inferior de la
pantalla. En la dirección X, los píxeles van de 0 a 127,
mientras que en la dirección Y, los píxeles van de 0 a
63. La coordenada (127, 63) representa la esquina
inferior derecha de la pantalla.
Figura 5. Representación del GLCD
En la siguiente tabla se muestran las descripciones
de los 20 pines disponibles en el módulo GLCD AG-
12864C (que se tomará como referencia en esta
práctica). Los dos primeros pines (1 y 2) son los pines
de selección de chip para el lado izquierdo y derecho
del controlador de la pantalla. Estos pines son
activados en bajo en el módulo AG-12864C, pero
podrían ser activados en alto en algunos otros modelos,
4. UNIVERSIDADPOLITÉCNICA SALESIANA LABORATORIODE SISTEMAS MICROPROCESADOSII
Fecha:18/05/2016
4
por eso es importante revisar la hoja de datos del
fabricante.
Tabla 1. Descripción de los pines del GLCD
El módulo AG-12864C funciona con una fuente de
alimentación de 5,0 V. El pin número 6 D/I es de
Data/Instruction (también llamado Register Select, RS).
Los datos de 8 bits alimentados a los pines D0-D7 del
GLCD son recibidos por el chip controlador del LCD
como un comando si D/I = 0, y como datos si D/I es 1.
Los pines R/W y E tienen similares funciones como en
un módulo LCD basado en un controlador HD44780.
Una resistencia fija debe ser conectada en serie con el
LED de luz de fondo (pin 19) para limitar la corriente.
Un potenciómetro externo (normalmente 10 KΩ) está
conectado entre los pines VDD y VEE para ajustar el
voltaje de funcionamiento del LCD (contraste) en el pin
Vo [1]
2.4. PANEL TOUCH
Un panel táctil es un fino panel autoadhesivo
colocado sobre la pantalla de un LCD gráfico (GLCD) y
juntos constituyen una pantalla táctil (GLCD + Panel
táctil = Pantalla táctil). Es muy sensible a la presión de
manera que un suave toque provoca algunos cambios
en la señal de salida. Hay diferentes tipos de paneles
táctiles. El más sencillo de ellos es el panel táctil
resistivo que será del que hablaremos aquí.
Figura 6. Panel Touch
2.4.1 FUNCIONAMIENTO
Un panel táctil resistivo está compuesto por dos
láminas rígidas transparentes,formando una estructura
“sándwich”,que tienen una capa resistiva en sus caras
internas. La resistencia de estas capas no excede
normalmente de 1Kohm. Los lados opuestos de las
láminas disponen de contactos para acceder a un cable
plano.
El procedimiento para determinar las coordenadas de
la posición del panel que ha sido presionada puede
dividirse en dos pasos.
El primero es la determinación de la coordenada X y
el segundo el de la coordenada Y del punto.
Para determinar la coordenada X, es preciso conectar
el contacto izquierdo de la superficie X a masa y el
contacto derecho a la fuente de alimentación. Esto
permite obtener un divisor de tensión presionando el
panel táctil. El valor de la tensión obtenida en el divisor
se puede leer en el contacto inferior de la superficie Y.
La tensión variará en el rango de 0V a la tensión
suministrada por la fuente de alimentación y depende
de la coordenada X. Si el punto está próximo al
contacto izquierdo de la superficie X, la tensión estará
próxima a 0V. Para la determinación de la coordenada
Y, es preciso conectar el contacto inferior de la
superficie Y a masa, mientras que el contacto superior
se conectará a la fuente de alimentación.En este caso,
la lectora de la tensión se hará en el contacto izquierdo
de la superficie X.
Figura 7. Principio de funcionamiento de un panel Touch
2.5. MAX3232
La placa MAX3232 se utiliza para conectar un
microcontrolador a los dispositivos RS-232 tal como
puerto serie del PC
Sus características principales son:
- Comunicación UART serial
- Bajo consumo de energía
- Alimentación de 3.3 a 5V
5. UNIVERSIDADPOLITÉCNICA SALESIANA LABORATORIODE SISTEMAS MICROPROCESADOSII
Fecha:18/05/2016
5
Figura 8. Placa adicional MAX3232
La placa adicional se puede conectar con facilidad a
un microcontrolador por un conector 1x6 CN2. El
conector CN2 se utiliza para establecer la conexión con
un dispositivo RS-232.
El microcontrolador envía/recibe un dato a/de la
placa adicional por medio de la comunicación UART
serial.La placa primero convierte el dato para ajustarlo
al estandar RS-232, luego lo envía al dispositivo RS-
232 [2]
Figura 9. Esquema de conexión de la placa adicional
MAX3232
3. MATERIALES Y EQUIPO
PIC 18F4550
GLCD con Touch
Fuente de 5VDC
Cables de conexión
Protoboard
Resistencias de varios valores
Capacitores de 22pF
Cristal 4MHz
Tarjeta programadora para microcontroladores
Placa adicional MAX3232
Computadora de escritorio del laboratorio
4. DESARROLLO Y PROCEDIMIENTO
Para establecer una interfaz de comunicación en
modo asincrónico se utiliza la comunicación serial RS-
232, por medio de la placa adicional MAX3232 y con el
desarrollo de un programa que envie los datos a la PC
y el software PUTTY que recoja dichos datos se control
de velocidad del motor se realizará el control de
velocidad de un motor.
Para el desarrollo de los difetentes enuncioados se
procederá a la aplicación de los conceptos de
programación del GLCD y la pantalla táctil, asícomo
tambien el desarrollo de un codigo que contenga las
animaciones solicitadas en cada item a presentar
Figura 10. Diagrama de bloques de la práctica.
5. ANÁLISIS DE RESULTADOS
5.1. ENUNCIADO 1
Tiene implementada la aplicación HMIsobre cualquier
entorno de desarrollo gráfico.
Para la interfaz con el computador se utilizará el
software PuTTY, que es es
un cliente SSH, Telnet, rlogin, y TCP raw con
licencia libre [3].
5.2. ENUNCIADO 2
Existe la comunicación RS-232.
Para que exista una comunicación entre la
computadora y el microcontrolador se utiliza el
MAX3232 previa su conexión y respectiva polarización
Figura 11. MAX3232 con conecciones
6. UNIVERSIDADPOLITÉCNICA SALESIANA LABORATORIODE SISTEMAS MICROPROCESADOSII
Fecha:18/05/2016
6
5.3 ENUNCIADO 3
Se visualizan los botones de encendido y apagado en
el GLCD.
El programa consta con botones de ON y de OFF
para su funcionamiento, de esta manera el código de
comunicación yde control de velocidad del motor inicia.
Figura 12. GLCD con botones de encendido y apagado
El GLCD es un dispositivo de visualización; es decir,
de salida,pero al añadirle el panel touch y el driver para
ser posible su manejo; permiten que el conjunto sirva
para el ingreso de datos, ya que al presionar las teclas
seleccionadas se pueda realizar las operaciones
establecidas previamente mediante software, como
también eliminar datos que han sido ingresados por
error.
5.4 ENUNCIADO 4
Funcionan los botones de encendido y apagado.
Los botones de encendido y apagado; en el código
del programa, son interrupciones que ejecutan el
programa que en ellas se encuentran; en este caso el
control de velocidad del motor.
5.5 ENUNCIADO 5
Se observa la animación (ON/OFF) de los botones de
encendido y apagado.
La animación de los botones son parte de líneas de
programa que ejecutan varas imágenes formando así
una animación para cada opción.
5.6 ENUNCIADO 6
Se observa la variación de la velocidad del motor.
Para el control de velocidad se utiliza el PWM, por
medio de la comunicación con la computadora, esta
envía las órdenes al microcontrolador para que este
ejecute el control de la velocidad del motor.
Figura 13. Motor con control de velocidad
5.7 ENUNCIADO 7
Se observa el cambio de giro del eje del motor.
Con las órdenes enviadas desde el computador:D para
derecha e I para Izquierda, se controla el giro del motor.
Estas letras son asignadas en el código de programa
para que sean ingresadas por la interfaz del PuTTY y
posteriormente enviadas al microcontrolador PIC
18F4550
Figura 14. Simulación en Proteus con la interfaz del
control del motor
6. CONCLUSIONES
Cahueñas Maliza Juan Fernando
La utilización de interfaces con el usuario
hacen posible el control; en este caso, de un
circuito, al haber algunos métodos de
comunicación el utilizado en la presente
práctica es uno de los más elementales, de
esta manera se aprendió como realizar una
comunicación entre un computador y un
microcontrolador y entender sus fundamentos
7. UNIVERSIDADPOLITÉCNICA SALESIANA LABORATORIODE SISTEMAS MICROPROCESADOSII
Fecha:18/05/2016
7
Paredes Rodríguez Santiago Andrés
Al incorporar en un mismo circuito el control
con la pantalla GLCD y la pantalla táctil, se
logra la reducción de elementos que pueden
consumir recursos; de esta manera se
optimiza el funcionamiento del circuito y se
aprendió a realizar el control a través de una
interfaz, en este caso una computadora de
escritorio.
Villarruel Delgado Stalin Patricio
Las configuraciones necesarias para realizar la
comunicación entre la máquina y el
microcontrolador son fundamentales, ya que
de estas dependen el correcto funcionamiento
del circuito, en esta práctica se aprendió a
realizar las correctas conexiones y definir las
configuraciones para la comunicación y el
correcto funcionamiento del circuito
implemetado.
7. RECOMENDACIONES
Se debe disponer de los elementos necesarios
para cumplir con los enunciados establecidos.
Se deben revisar las conexiones del GLCD y
del driver de la pantalla táctil, ya que éstas son
numerosas e indispensables para el correcto
funcionamiento del circuito.
Hay que revisar la polarización del
microcontrolador para evitar cortocircuitos y el
daño permanente del mismo.
8. BIBLIOGRAFÍA
[1] Prácticas de Laboratorio de Sistemas
Microprocesados II.
[2] http://download.mikroe.com/documents/add-on-
boards/other/interface/max3232/max3232-board-
manual-spa-v100.pdf
[3] https://es.wikipedia.org/wiki/PuTTY