Está en la página 1de 3

Vladimir Vargas, Escuela Politécnica Nacional (EPN), Quito – Ecuador

Práctica 1: COMUNICACIÓN SERIAL


byron.vargas@epn.edu.ec

ASINCRÓNICA

End Using
Resumen – Práctica número 1 del laboratorio de control con Return returnStr
microprocesadores, correspondiente al estudio de la End Function
comunicación serial entre un ordenador y un microcontrolador.
Para la misma se hará uso del microcontrolador atmega 164p MatLab:
debido a que cuenta con las características suficientes para el
desarrollo de esta práctica, cuenta con un conversor analógico Lectura:
digital y salidas para comunicación serial, además de esto se
requerirá del conversor MAX 232 para realizar la conversión de El comando readasync(obj) inicia una operación de lectura
la señal TTL al estándar RS 232. Para la recepción de los datos asíncrona en el puerto serie, obj .
se utilizara una interfaz realizada en el software LabView. La
práctica requiere que se recepte una señal analógica de 0 a 5 s = serial('COM1');
voltios la cual mostrar un número en el ordenador u en 8 leds
fopen(s)
conectados a las salidas del microcontrolador, además se
recibirá un número de la interfaz de LabView el cual se s.readasyncMode = 'manual';
mostrara en tres display de 7 segmentos. Para la realización se fprintf(s,'Measurement:Meas1:Source CH1')
requería la configuración de los registros correspondientes al fprintf(s,'Measurement:Meas1:Type Pk2Pk')
conversor AD y de comunicación serial y será necesaria una fprintf(s,'Measurement:Meas1:Value?')
transformación de la señal analógica de 10 bits a 8 bits.
Escritura:
Para esto se utiliza el comando transID =
I. CONSULTA writeasync(GObj,Values) que permite la escritura de forma
asíncrona de valores a todos los artículos contenidos en el
A. Consultar los comandos que permiten manejar el puerto objeto dagroup GObj. Values es un conjunto de células de los
de comunicación serial asincrónico de un PC, usando Visual
valores y es del mismo tamaño que el número de artículos en
Studio, Matlab y LabView.
GObj.
Visual Studio: TransID es un ID de transacción única para la solicitud
Escritura: asíncrona.
Codirgo para enviar datos por el puerto serial Com2:
Sub SendSerialData(ByVal data As String) ps = serial('COM2'); %se crea un objeto que representa
' Send strings to a serial port. el puerto
Using com1 As IO.Ports.SerialPort = _ set(ps,'Baudrate',9600); % se fijan las características del
My.Computer.Ports.OpenSerialPort("COM1") objeto (no es necesario, estas están por default)
com1.WriteLine(data) set(ps,'DataBits',8);
com1.Close() set(ps,'Parity','none');
End Using set(ps,'StopBits',1);
End Sub set(ps,'FlowControl','none');
fopen(ps); % se abre el objeto para poder utilizarlo
Lectura: fwrite(ps,dato,'uint8'); % se envía un dato de tipo entero
sin signo de 8 bits, por el objeto ps
Function ReceiveSerialData() As String fclose(ps); % se cierra el objeto; si no se cierra y luego se
' Receive strings from a serial port. intenta abrir de nuevo, este puerto se bloquea
Dim returnStr As String = "" delete(ps);
Using com1 As IO.Ports.SerialPort = _ clear ps
My.Computer.Ports.OpenSerialPort("COM1")
Do
Dim Incoming As String = com1.ReadLine() LabView:
If Incoming Is Nothing Then LabView cuenta con la librería Visa la cual implementa los
Exit Do comandos necesarios para la comunicación serial.
Else
returnStr &= Incoming & vbCrLf Lectura:
End If
Loop Se inicia una session VISA y se configura el tipo de
com1.Close() comunicación de la siguiente forma:
- Se hace clic en funciones

- En Instrument I/O
- Serial
- Visa Configure Serial Port TABLA I
- Se utiliza la opción “ VISA Read ” para configurar la Parámetros y Características del ATmega 164p
lectura Parametro Valor
Memoria de Programa Flash
Escritura: Tamaño de Memoria 16
Velocidad de CPU 20
Se inicia una session VISA y se configura el tipo de SRAM 1024
comunicación de la siguiente forma: EEPROM 512
- Se hace clic en funciones Tmers 2x8 bit,1x16 bit
- En Instrument I/O Comparadores 1
- Se utiliza la opción “ VISA Write” para escribir Rango de Temperatura -40 a 85
Voltaje de operación 1.8 a 5.5
Una vez realizado esto se cierra la sesión visa con la opción Entradas y Salidas 32
VISA Close y Simple Error Handler Pines 44
El VI de escritura en puerto serial puede quedar de la Baja potencia Si
siguiente forma:
Se debe considerar la velocidad de transferencia, por tanto se Este micro controlador cuenta con un conversor A/D
tiene que sincronizar las tareas de lectura y escritura para que
el microcontrlador o la computadora estén listos para enviar o III. JUSTIFICACIÓN DEL MICRO A UTILIZAR
recibir un dato en el puerto serial, para ello es necesario El microcontrolador utilizado será un ATmega 164p debido
programar un loop (lazo) de modo que el programa no avance a la disponibilidad de entradas y salidas ya que serán
hasta que reciba un texto. necesarias 20 salidas y una entrada analógica, así como a la
facilidad de programación para realizar la transferencia serial
B. Diseñar un sistema que funcione de la siguiente manera: de datos entre el microcontrolador y la PC.
El microcontrolador ATmega 164p cuenta con 32 puertos de
Adquirir una señal analógica variable de 0V a 5V entrada y salida por lo que para mostrar el valor adquirido
usando el conversor AD del microcontrolador, el valor de por comunicación serial, además será fácil la recepción de la
dicha señal se debe mostrar en 10 leds y en una interfaz señal analógica.
gráfica en la PC se debe mostrar los 8 bits más
significativos. Adicionalmente el sistema debe permitir
ingresar un número en la interfaz de la PC, el cual se
envía por comunicación serial al microcontrolador y será IV. DIAGRAMA DE FLUJO
mostrado 3 displays 7 segmentos. El programa para el
microcontrolador debe ser desarrollado en Assembler y
para el HMI emplear uno de los programas del numeral
3.1.

II. RECURSOS DEL MICROCONTROLADOR

Fig. . Pines Del ATmega164p


V. ESQUEMA DEL CIRCUITO

VI. REFERENCIAS

[1] Apuntes de clase Sistemas Microprocesados 2017-A, Ing. Andres Cela,


GR2
[2] Atmel Instruction Set Manual,
[3] MODULO 0 TUTORIALES, Leer Datos de Puerto Serial, Sitio Web :
youtube.com, URL: https://www.youtube.com/watch?v=KJP24mesUxY

VII. BIOGRAFÍAS

Vladimir Vargas, nació en Ambato-


Ecuador el 13 de Julio de 1995. Realizo
sus estudios primarios en la ciudad de
quieto así como sus estudios secundarios
en la Unidad Educativa FESVIP,
recibiéndose como bachiller en Fisica y
Matemática en el año 2013, año en que
entro a la Escuela Politécnica Nacional
a la carrera de Ingeniería en Electrónica
y Control. Sus áreas de interés son la
domótica, estudio de redes neuronales e instrumentación
biomédica.

También podría gustarte