Sunteți pe pagina 1din 40

MANUAL DE PRÁCTICAS

SISTEMAS
PROGRAMABLES
SCD-1023

PLAN ISIC-2004-296
INGENIERÍA EN SISTEMAS COMPUTACIONALES
Índice
INTRODUCCIÓN ---------------------------------------------------------------------------------------------------------------1

PRÁCTICA 1
Estructura de un Microcontrolador ------------------------------------------------------------------------------------------2

PRÁCTICA 2
E/S en un Microcontrolador --------------------------------------------------------------------------------------------------9

PRÁCTICA 3
Buses de Comunicación en Microcontroladores ------------------------------------------------------------------------17

PRÁCTICA 4
Interfaz mediante microcontrolador-----------------------------------------------------------------------------------------27

LISTA DE MATERIAL, EQUIPO O REACTIVO A UTILIZAR -------------------------------------------------------44

LISTA DE BIBLIOGRAFÍA REQUERIDA --------------------------------------------------------------------------------44

CONTROL DE CAMBIOS DEL MANUAL DE PRÁCTICAS --------------------------------------------------------45


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

INTRODUCCIÓN

En las actividades de prácticas de este manual, generalmente se propone la

formalización de los conceptos a partir de experiencias concretas; se busca que el

alumno tenga el primer contacto con el concepto de manera concreta y sea a través de

la observación, la reflexión y la discusión que se dé la formalización; la resolución de

problemas se hará después de este proceso.

Fecha de Actualización 04/07/2014 Página 1


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

Práctica 1
ESTRUCTURA DE UN MICROCONTROLADOR
Observaciones: Esta práctica incluye a las Prácticas sugeridas #6 del
temario de Sistemas Programables, que dice “Implementación de circuitos
para la adquisición de datos a través de sensores”.

1.- OBJETIVO
Identificar, analizar y manipular las caracteristicas de un microcontrolador

2.- MARCO TEÓRICO


 Sensor: Dispositivo que detecta una determinada acción externa, temperatura. presión, etc., y la trasmite
adecuadamente.
 Transductor: Dispositivo que transforma el efecto de una causa física, como la presión, la temperatura, la
dilatación, la humedad, Etc., en otro tipo de señal, normalmente eléctrica.

CLASIFICACION DE LOS SENSORES

Según el tipo de señal de salida:

- Analógicos. Dan como salida un valor de tensión o corriente variables enforma


continua dentro del campo de medida.
- Digitales. Dan como salida una señal en forma de una palabra digital.Todo-
nada. Indican cuándo la variable detectada rebasa un cierto umbral.
- Según la magnitud física a detectar: Posición, velocidad, fuerza y par, presión,
caudal,proximidad, etc.

Fecha de Actualización 04/07/2014 Página 2


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

ACTUADORES

Genéricamente se conoce con el nombre de actuadores a los elementos finales que permiten
modificar las variables a controlar en una instalación automatizada. Se trata de elementos que
ejercen de interfaces de potencia, convirtiendo magnitudes físicas, normalmente de carácter
eléctrico en otro tipo de magnitud que permite actuar sobre el medio o proceso a controlar. Al mismo
tiempo aíslan la parte de control del sistema de las cargas que gobiernan el proceso.

Entre los accionamientos más habituales se encuentran los destinados a producir movimiento
motores y cilindros), los destinados al trasiego de fluidos (bombas) y los de tipo térmico (hornos,
intercambiadores, etc.)

Accionador: Que se encarga de aportar la “energía” (lumínica, calorífica, …) necesaria al sistema,


para modificar los valores de la magnitud física a controlar. Una bomba, un radiador, un motor, etc.
son ejemplos claros de accionadores.

Preaccionador: Que permite de manera intermedia, la amplificación y/o conversión de la señal de


control proporcionada por el controlador para el gobierno de la instalación: relé de maniobra o
contactor, electroválvula, etc. Nos centraremos en éstos

CLASIFICACION DE ACTUADORES

Clasificación atendiendo al tipo de energía empleada en el accionamiento:

• Accionamientos eléctricos
• Accionamientos hidráulicos
• Accionamientos neumáticos
• Accionamientos térmicos

(Pre)Accionamientos eléctricos

Fecha de Actualización 04/07/2014 Página 3


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

• Relés y contactores. Dispositivos electromagnéticos que conectan o desconectan un circuito


eléctrico de potencia al excitar un electroimán o bobina de mando.
Los relés están previstos para accionar pequeñas potencias (del orden de 1kW)
• Servomotores. Pequeñas máquinas especialmente diseñadas para el control de posicionamiento

Dentro de cada una de estas tecnologías encontramos accionamientos de dos tipos:

• Accionamientos todo-nada
• Accionamientos de tipo continuo

CARACTERISTICAS Y APLICACION DE UN MICROCONTROLADOR

Son diseñados para disminuir el coste económico y el consumo de energía de un sistema en


particular. Por eso el tamaño de la CPU, la cantidad de memoria y los periféricos incluidos
dependerán de la aplicación. El control de un electrodoméstico sencillo como una batidora, utilizará
un procesador muy pequeño (4 u 8 bit) por que sustituirá a un autómata finito. En cambio un
reproductor de música y/o vídeo digital (mp3 o mp4) requerirá de un procesador de 32 bit o de 64
bit y de uno o mas Códec de (audio y/o vídeo). El control de un sistema de frenos ABS se basa
normalmente en un microcontrolador de 16 bit, al igual que el sistema de control electrónico del
motor.

El procesador: Es el elemento más importante del microcontrolador y determina sus principales


características, tanto a nivel hardware como software. Se encarga de direccionar la memoria de
instrucciones, recibir el código OP de la instrucción en curso, su decodificación y la ejecución de la
operación que implica la instrucción, así como la búsqueda de los operandos y el almacenamiento

Fecha de Actualización 04/07/2014 Página 4


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

del resultado. Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los


procesadores actuales.

Memoria: En los microcontroladores la memoria de instrucciones y datos está integrada en el propio


chip. Una parte debe ser no volátil, tipo ROM, y se destina a contener el programa de instrucciones
que gobierna la aplicación. Otra parte de memoria será tipo RAM, volátil, y se destina a guardar las
variables y los datos.

Hay dos peculiaridades que diferencian a los microcontroladores de los computadores personales:

No existen sistemas de almacenamiento masivo como disco duro o disquetes. Como el


microcontrolador sólo se destina a una tarea en la memoria ROM, sólo hay que almacenar un único
programa de trabajo.

La RAM en estos dispositivos es de poca capacidad pues sólo debe contener las variables y los
cambios de información que se produzcan en el transcurso del programa. Por otra parte, como sólo
existe un programa activo, no se requiere guarda r una copia del mismo en la RAM pues se ejecuta
directamente desde la ROM.

Puertas de Entrada y Salida: Las puertas de Entrada y Salida (E/S) permiten comunicar al
procesador con el mundo exterior, a través de interfaces, o con otros dispositivos. Estas puertas,
también llamadas puertos, son la principal utilidad de las patas o pines de un microprocesador.
Según los controladores de periféricos que posea cada modelo de microcontrolador, las líneas de
E/S se destinan a proporcionar el soporte a las señales de entrada, salida y control.

Reloj principal: Todos los microcontroladores disponen de un circuito oscilador que genera una onda
cuadrada de alta frecuencia, que configura los impulsos de reloj usados en la sincronización de
todas las operaciones del sistema. Esta señal del reloj es el motor del sistema y la que hace que el
programa y los contadores avancen.

Generalmente, el circuito de reloj está incorporado en el microcontrolador y sólo se necesitan unos


pocos componentes exteriores para seleccionar y estabilizar la frecuencia de trabajo. Dichos
componentes suelen consistir en un cristal de cuarzo junto a elementos pasivos o bien un resonador
cerámico o una red R-C.

Aumentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutan las instrucciones pero
lleva aparejado un incremento del consumo de energía y de calor generado.

Temporizadores o Timers: Se emplean para controlar periodos de tiempo (temporizadores) y para


llevar la cuenta de acontecimientos que suceden en el exterior (contadores).
Para la medida de tiempos se carga un registro con el valor adecuado y a continuación dicho valor
se va incrementando o decrementando al ritmo de los impulsos de reloj o algún múltiplo hasta que
se desborde y llegue a 0, momento en el que se produce un aviso. Cuando se desean contar
acontecimientos que se materializan por cambios de nivel o flancos en alguna de las patitas del
microcontrolador, el mencionado registro se va incrementando o decrementando al ritmo de dichos
impulsos.

Fecha de Actualización 04/07/2014 Página 5


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

3.- MATERIAL, EQUIPO, REACTIVO o SOTFWARE A UTILIZAR


1. Tarjeta electronica Arduino (UNO o MEGA)
2. Sensor LM35
3. Interruptor sencillo
4. Resistencia de 1K
5. Cable UTP Categoria 3
6. 5 LED’s
7. 5 Resistencias 330 ohms
8. Cable USB/RJ-45
9. Un ordenador con el software LabView 2009 o posterior con el Arduino ToolKit instalado

4.- COMPETENCIAS ESPECÍFICAS


1. Medir los valores captados por el Arduino debido al Sensor LM35. LI

2. Observar en un indicador Boleano el comportamiento de 5 entradas digitales. CD

Con estas medidas rellenamos la siguiente tabla:

Tabla 4.1 Resultados Experimentales

Magnitud Escala Empleada Valor Incertidumbre

Fecha de Actualización 04/07/2014 Página 6


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

Valor LM35

Valor con
encendedor
Valor Convertido

Valor Convertido
encendedor

4. A continuación montamos el circuito y creamos el VI figura 4.4. CD

Fecha de Actualización 04/07/2014 Página 7


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

Figura 4.4. VI para medir temperatura con el sensor LM

5. Realizamos a continuación el montaje de la figura 4.5 con el fin de poder medir la


temperatura. Lo que se debe observar en la pantalla del VI debe ser similar a lo representado en
la figura 4.4. LI

Figura 4.5. Montaje


para medir la
temperatura

Fecha de Actualización 04/07/2014 Página 8


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

6. Finalmente, como los valores reales de los componentes no coinciden con los teóricos
evaluaremos las raíces del polinomio característico de la ecuación diferencial 4.1 con los valores
experimentales obteniendo los nuevos valores de las dos constantes de tiempo. Con ellas
obtendremos las tensiones en el condensador y en la resistencia en función del tiempo. Este
cálculo se hará numéricamente con ayuda del MATLAB. LI

5. RESULTADOS

Captura del comportamiento del VI

Tensión del LM35 y Características

Código LabView

6. CONCLUSIONES

El alumno conocerá el funcionamiento del sensor LM35, muy utilizado como sensor de temperatura y es de

los principales elementos pasivos en circuitos electronicos. En esta práctica podemos, analizar básicamente

una adquisición de datos donde se acoplan voltajes, temperaturas y el control de actuadores, y algunas de las

principales características de estos. Analizar intentar comprender el comportamiento que tienen estos

elementos en la elaboración de circuitos electrónicos y su posible utilización.

Fecha de Actualización 04/07/2014 Página 9


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

cabe aclarar que hay dos formas en las que arduino envía informacion por el puerto serie son Serial.write ();

y Serial.println(); uno envia el valor real y el otro pinta el resultado sin importarle cual es su valor. ejemplo si

estamos a 61°c el método Serial.write (); mandaría una a ¿por que? es simple por que en la tabla ascii a=61

entonces cuando java reciba esta "a" sabrá que es un 61 y lo graficara en el termómetro.

El metodo Serial.println (); este no le importara su valor real y simplemente pondrá en el puerto serie el 61

entonces cuando java reciba este este 61, tomara el "6" y graficara en el termómetro el 54, tabla ascci 6 =54

e inmediatamente tomara el "1" y graficara en el termómetro el 49, por la misma razon 1 en la tabla ascii=49.

7.- BIBLIOGRAFÍA
1. Brey, Barry B. (2006). Microprocesadores intel : arquitectura, programacion e
interfaz : 8086 (7a edición). : pearson educación isbn: 9789702608042.
2. Palacios, E., Remiro, F.,Lopez, L. (2004). Microcontrolador pic16f84 desarrollo
de proyectos. Mexico, D. F.: alfa omega, ra-ma.
3. Brey, Barry B. (Ed.). (2008). Applying pic18 microcontrollers: Architecture,
programming, and interfacing using c and assembly. : pearson/prentice hall isbn:
9780130885463.
4. Álvarez Antón, Juan C., Campo Rodríguez, Juan C., (2007). Instrumentación
Electrónica.: Paraninfo
5. Pallas/Casas/Bragós. (2008) Sensores y Acondicionadores de Señal. Problemas
Resueltos: marcombo

Fecha de Actualización 04/07/2014 Página 10


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

Práctica 2
E/S EN UN MICROCONTROLADOR
Observaciones: Esta práctica incluye a las Prácticas sugeridas # 1,2 del
temario de Sistemas Programables, que dicen “Identificar de manera física
características, formas, y materiales con los que se construyen los
diferentes tipos de sensores”, “Identificar de manera física características,
formas, y materiales con los que se construyen los diferentes tipos de
sensores”; aunque en esta última debería decir actuadores en lugar de
sensores.

1.- OBJETIVO
Manipular entradas y salidas en un microcontrolador
2.- MARCO TEÓRICO
Características y funciones

Una de la característica más importante del microcontrolador es un número de pines de entrada / salida
utilizados para la conexión con periféricos . En este caso , hay en total de treinta y cinco de uso general
E / S pines disponibles , que es más que suficiente para la mayoría de las aplicaciones .

El funcionamiento de los pins puede coincidir con la organización interna de 8 bits, todos ellos son , de
forma similar a los registros , agrupados en cinco llamados puertos denotados por A, B , C , D y E.

Todos ellos tienen varias características en común:


• Por razones prácticas, muchos pines de E / S tienen dos o tres funciones. Si un pasador se utiliza
como cualquier otra función , no puede ser utilizado como un pin de entrada / salida de propósito
general ; y
• Cada puerto tiene su " satélite" , es decir, el registro TRIS correspondiente: TRISA , TRISB , TRISC
etc que determina el rendimiento, pero no el contenido de los bits del puerto .

En la limpieza de algún bit del registro TRIS (bit = 0), el pin correspondiente del puerto se configura
como salida. Del mismo modo , mediante el establecimiento de algunos bits del registro TRIS (bit = 1 ) ,
el pasador de puerto correspondiente está configurado como entrada. Esta regla es fácil de recordar 0
= Salida , 1 = Entrada .

Fecha de Actualización 04/07/2014 Página 11


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

Con el Atmega168 Arduino los pines de E / S digitales están etiquetados simplemente de 0 a 13 y se


fijan a ser sólo los pines de E / S digitales. El Atmega168 Arduino también tiene seis pins ADC
etiquetados de 0 a 5, también se fijan como único ADC.

Fecha de Actualización 04/07/2014 Página 12


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

Fig. 2

En la Figura 2 anterior ilustra el estado por defecto de un pin de E / S típico cuando un micro-
controlador se enciende por primera vez. He simplificado el complejo de conmutación electrónica
interna a una serie de interruptores on / off. La electrónica digital, después de todo no es más que una
serie de detectores de estado sólido.

El estado inicial de la mayoría de los pines de E / S que está flotando en el sentido eléctrico cada pin
del chip es un pedazo de alambre que cuelga en el aire. Toda la conmutación interna está abierta hasta
que un programa o software configuran las distintas combinaciones de interruptores.

Fecha de Actualización 04/07/2014 Página 13


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

En breve:

Es probable nunca escribir un programa que utiliza al máximo todos los puertos de una manera
eficiente para justificar el aprendizaje de todo lo que hay que saber sobre estos puertos . Sin embargo,
son probablemente los módulos más simples dentro del microcontrolador . Esta es la forma en que se
utilizan :

• En el diseño de un dispositivo, seleccione un puerto por el que el microcontrolador se comunica con el


entorno periférico. Si tiene intención de utilizar las entradas / salidas digitales sólo , seleccione cualquier
puerto que desee . Si tiene intención de utilizar algunas de las entradas analógicas , seleccione los
puertos correspondientes en apoyo de dicha configuración pins ( AN0 - AN13 );

• Cada pin del puerto puede configurarse como entrada o salida. Bits del TRISA , TRISB , TRISC ,
TRISD y registros TRISE determinan cómo los puertos apropiados pins - PORTA , PORTB , PORTC ,
PORTD y PORTE actuarán ;

• Si utiliza alguna de las entradas analógicas , establecer los bits correspondientes del ANSEL y
ANSELH registra al inicio del programa;

• Si utiliza conmutadores y pulsadores como fuente de señal de entrada, conectarlos a pines del puerto
B porque tienen resistencias pull-up . El uso de estas resistencias está habilitada por el bit RBPU del
registro OPTION_REG , mientras que la instalación de las resistencias individuales está habilitado de
bits del registro WPUB ; y

• Por lo general, es necesario reaccionar tan pronto como pines de entrada cambien su estado lógico.
Cómo siempre , no es necesario escribir un programa para el cambio de estado lógico de los pines . Es
mucho más simple para conectar dichas entradas a los pines PORTB y habilitar la interrupción en cada
cambio de voltaje . Bits del IOCOB registros y INTCON se encargan de eso.

3.- MATERIAL, EQUIPO, REACTIVO o SOTFWARE A UTILIZAR

1. Tarjeta electronica Arduino (UNO o MEGA)


2. Interruptor sencillo
3. 10 Resistencias de 10K
4. Cable UTP Categoria 3
5. Cable USB/RJ-45
6. Un ordenador con el software LabView 2009 o posterior con el Arduino ToolKit instalado
7. Fuente de alimentación
8. LEDs (opcionales, con resistencias de 330 Ω)
9. Protoboard
10. 3 Diodos de proposito general (1N4001 – 1N4004)
11. 3 Transistores BC547/2N3906
12. 3 Relé de 5V- Contactos a 127v
13. 3 soquets tipo Vela
14. 3 focos tipo vela 127v

Fecha de Actualización 04/07/2014 Página 14


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

4.- COMPETENCIAS ESPECÍFICAS

Realizar el siguiente circuito

Fecha de Actualización 04/07/2014 Página 15


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

Fecha de Actualización 04/07/2014 Página 16


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

5. RESULTADOS
1.- Que entiende por entrada/Salida.

2.- Describa los puertos presentes en un microcontrolador.

3.- Que entiende por circuito de conmutación

4.- Realice el diagrama electrico empleando como interruptores los switch normales como entradas en el
arduino, en circuito sencillo y escalera, y desde LabView

5.- Que actuadores se utilizaron para la practica.

6. CONCLUSIONES

Fecha de Actualización 04/07/2014 Página 17


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

Una distinción importante entre un microcontrolador y un microprocesador es que un microcontrolador por lo

general tiene un hardware especial para tratar con el mundo exterior. Estos se llaman líneas de entrada / salida

o I / O líneas. Generalmente utilizamos líneas de E / S para interconectar el microcontrolador a los sensores o

actuadores. Para una discusión sobre los diferentes tipos de sensores, echa un vistazo a The Basics - Sensores.

Una parte de la mezcla de saber qué microcontrolador para elegir es tener una idea de la cantidad de líneas de

E / S que se van a necesitar. La mayoría de los microcontroladores tienen al menos 8 líneas de E / S digitales.

Algunos, como el 68HC812A4, tienen 96 I / O líneas. Es bastante común encontrar microcontroladores que

tienen entre 12 y 32 E / S de líneas para su uso.

Atmel AVR microcontroladores de 8 bits proporcionan alfileres para tomar información de entrada / salida, desde

/ hacia el exterior en forma de valores lógicos. Estos pines se organizan generalmente en grupos de ocho (8) y

se utilizarán para un puerto. El AVR utiliza el alfabeto para nombrar estos puertos, ejemplo Porta, PortB, etc La

siguiente figura muestra los pines de un microcontrolador AVR de 8 bits que tiene cuatro (4) puertos de E / S

digitales: PORTA, PORTB, PORTC y PORTD. Las clavijas de PortA son: PA0 - PA7.

Fecha de Actualización 04/07/2014 Página 18


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

7.- BIBLIOGRAFÍA

6. I. Scout Mackenzie, Rápale C. W. Phan (). MICROCONTROLADORES 8051 .


4a. Edición : Pearson Educación.
7. Diaz Estrella, Antonio (2009). Microcontroladores: El MCF51QE de Freescale.
Mexico: Mcgraw Hill.
8. Angulo, J. M., Etxebarría, A., Angulo, I. Trueba I. (2006). Microcontroladores
Dspic. Diseno Practico De Aplicaciones. México: McGraw Hill.
9. Angulo, J. M., Romero, S., Angulo, I. (2006). Microcontroladores PIC 2ª Parte.
México: McGraw Hill.
10. Valdés, F., Pallás, R. (2007). Microcontroladores: Fundamentos y aplicaciones
con PIC. España: Marcombo.

Fecha de Actualización 04/07/2014 Página 19


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

Práctica 3
COMUNICACION EN MICROCONTROLADORES
Observaciones: Esta práctica incluye a las Prácticas sugeridas # 5,7 del
temario de Sistemas Programables, que dicen “Realizar la programación y
simulación del microcontrolador para transmitir y recibir información
utilizando los puertos y los buses de comunicación (RS-232, I2C, etc.)” e
“Implementación de circuito de adecuación entre actuadores y
microcontroladores”.

1.- OBJETIVO
Manipular los buses y protocolos de comunicación soportados por un microcontrolador

2.- MARCO TEÓRICO


La comunicación que poseen los pics, se pueden utilizar varias formas:
-El bus I2C, un estándar que facilita la comunicación entre microcontroladores, memorias y otros
dispositivos con cierto nivel de “inteligencia”, sólo requiere de dos líneas de señal y un común o masa.

La metodología de comunicación de datos del bus I2C es en serie y sincrónica. Una de las señales del
bus marca el tiempo (pulsos de reloj) y la otra se utiliza para intercambiar datos.

Fecha de Actualización 04/07/2014 Página 20


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

Otro tipo de es la comunicacion Rs-485 que es un ESTANDAR que especifica la conexion fisica y
electrica de un bus de comunicaciones FULL DUPLEX (entre solo dos dispositivos) o HALF
DUPLEX. Bueno este tipo de comunicacion del pic puede ser parecida ala RS232,pero este tipo de
comunicacion sirve apara hacer varios tipos de proyectos bueno por ejemplo comunicar 2 pics 16f876
teniendo un maestro y un pic esclavo.
Ahora revisemos sobre el protocolo rs232, es similar al rs485 con algunas diferencias RS-232 es un
protocolo, o sea una forma de comunicación. Esta define las condiciones físicas y lógicas que se tienen
que dar para una comunicación de este tipo pic a pic o pic con pc. O sea que es un “acuerdo” para que
dos dispositivos conectados usen las mismas “reglas” y se entiendan.
Bueno estos dos protocolos usados bastante en la familia de los microcontroladores de microchip en la
familia 16f8xx.
-Los pics con estos protocolos podemos conectarlos directamente pero en distancias cortas si van a ser
distancias grandes 15 metros tendremos que usar el max232 o el max485 segun sea el caso.

Fecha de Actualización 04/07/2014 Página 21


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

Bueno el bus CAN es ma confiable, Hay transceivers de bus CAN a usart y es mucho más fiable
(detección de errores) que el 485.
El bus CAN es un bus serie utilizado, entre otras aplicaciones, en los automóviles para la captura de
datos en los diversos sensores del motor.
Bueno hay otros tipos de comunicacion como el USART, UART, SPI, Codigo de Manchester.
Bus I2C
– Todos los dispositivos conectados a las mismas líneas Microcontrolador Dispositivos
– Las salidas deben ser en colector o drenador abierto como lo indican las figuras siguientes.

Fecha de Actualización 04/07/2014 Página 22


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

– Permite conectar varias fuentes de datos a un mismo hilo


– Nivel alto en el bus
– Si ningún dispositivo accede al bus
– Si ningún dispositivo transmite un cero
– Nivel bajo en el bus
– Si un dispositivo pone un nivel bajo
– Si dos dispositivos escriben a la vez siempre prevalecen los ceros AND cableada
– Si un dispositivo escribe un nivel alto pero lee un cero indica que otro dispositivo está también
accediendo al bus
– Las capacidades de la línea se cargan a través del pull-up
– Se puede solucionar utilizando una carga activa en lugar de un resistor

Fecha de Actualización 04/07/2014 Página 23


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

Protocolo de acceso al medio: maestro - esclavo


– El maestro controla la comunicación
• Genera la señal de reloj del bus (SCL)
• Inicia y termina la comunicación
• Direcciona a los esclavos
• Establece el sentido de la comunicación
– El protocolo requiere que cada byte de información sea confirmado
por el destinatario
Nomenclatura
– Emisor: Dispositivo que envía datos al bus
– Receptor: Dispositivo que recibe datos del bus
– Maestro: Dispositivo que inicia una transferencia, genera las señales
de reloj y termina la transferencia
– Esclavo: Dispositivo direccionado por un maestro

Transmisión de bits
– Los bits de datos van por SDA
– Por cada bit de información es necesario un pulso de SCL
– Los datos sólo pueden cambiar cuando SCL está a nivel bajo

Fecha de Actualización 04/07/2014 Página 24


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

Transmisión de datos

– La unidad básica de transmisión en el byte


– Las transferencias de datos son de 8 bits
– Cada byte enviado requiere una respuesta de confirmación
• ACK: el destinatario (maestro o esclavo) mantiene SDA a nivel bajo durante un
tiempo de bit (si no lo hace pasa al estado NACK)
• El maestro genera un pulso de SCL

UART o USART (Transmisor y Receptor Síncrono Asíncrono Universal)


Se diseñaron para convertir las señales que maneja el microcontrolador compatibles con el protocolo
RS232 y transmitirlas al exterior.

La USART del PIC puede ser configurada para operar en tres modos:

 Modo Asíncrono (full duplex (transmisión y recepción simultáneas)),


 Modo Síncrono – Maestro (half duplex)
 Modo Síncrono – Esclavo (half duplex)

El módulo Asíncrono de la USART consta de 4 módulos fundamentales:

 El circuito de muestreo
 El generador de frecuencia de transmisión (Baud Rate)
 El transmisor asíncrono
 El receptor asíncrono.

Fecha de Actualización 04/07/2014 Página 25


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

El RS-232 (también conocido como Electronic Industries Alliance RS-232C) es una interfaz que designa
una norma para el intercambio serie de datos binarios entre un DTE (Equipo terminal de datos) y un DCE
(Data Communication Equipment, Equipo de Comunicación de datos).

La interfaz RS-232 está diseñada para distancias cortas, de unos 15 metros o menos, y para velocidades
de comunicación bajas, de no más de 20 [Kb/s]. A pesar de ello, muchas veces se utiliza a mayores
velocidades con un resultado aceptable.

Para la conversión de voltajes aceptables para el protocolo RS232 se utilizan convertidores de niveles
RS232 a TTL y viceversa.
A continuación se presenta un ejemplo del circuito de comunicación por RS232 del PIC16F628A y una
PC:

3.- MATERIAL, EQUIPO, REACTIVO o SOTFWARE A UTILIZAR


1. 2 Arduino (UNO o MEGA)
2. Sensor LM35
3. Interruptor sencillo

Fecha de Actualización 04/07/2014 Página 26


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

4. Resistencia de 1K
5. Cable UTP Categoria 3
6. 5 LED’s
7. 5 Resistencias 330 ohms
8. Cable USB/RJ-45
9. Un ordenador con el software LabView 2009 o posterior con el Arduino ToolKit instalado
4.- COMPETENCIAS ESPECÍFICAS

1. Comprender los conceptos fundamentales de los protocolos de comunicación. LI


2. Comprender las técnicas de diseño de Buses de comunicación entre dispositivos electronicos.
CD

3. Investigar las diferentes configuraciones de transmisión de datos en uC. LI

4. Seleccionar los componentes eléctricos y electrónicos a utilizar. LI

5. Analizar y diseñar el circuito mas conveniente. CD

6. Armar el circuito y probarlo CD

5. RESULTADOS

De todo lo anterior podemos concluir:

Bus I2C

Un bus serie permite reducir el tamaño general del circuito


El protocolo del bus I2C contempla
Conexión de nivel físico
Intercambio de datos
El protocolo se puede implementar
Utilizando puertos de entrada/salida maestro
Unidad específica
Gran cantidad de dispositivos compatibles con I2C

Fecha de Actualización 04/07/2014 Página 27


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

Serial Periferical Interface


El Spi es un bus de tres líneas, sobre el cual se transmiten paquetes de información de 8 bits. Cada una
de estas tres líneas porta la información entre los diferentes dispositivos conectados al bus. Cada
dispositivo conectado al bus puede actuar como transmisor y receptor al mismo tiempo, por lo que este
tipo de comunicación serial es full duplex. Dos de estas líneas trasfieren los datos (una en cada dirección)
y la tercer línea es la del reloj.
Algunos dispositivos solo pueden ser transmisores y otros solo receptores, generalmente un dispositivo
que tramite datos también puede recibir.

Un ejemplo podría ser un memoria EEPROM, el cual es un dispositivo que puede transmitir y recibir
información.
Los dispositivos conectados al bus son definidos como maestros y esclavos. Un maestro es aquel que
inicia la transferencia de información sobre el bus y genera las señales de reloj y control. Un esclavo es
un dispositivo controlado por el maestro. Cada esclavo es controlado sobre el bus a través de una línea
selectora llamada Chip Select o Select Slave, por lo tanto es esclavo es activado solo cuando esta línea
es seleccionada. Generalmente una línea de selección es dedicada para cada esclavo.

En un tiempo determinado T1, solo podrá existir un maestro sobre el bus. Cualquier dispositivo esclavo
que no esté seleccionado, debe deshabilitarse (ponerlo en alta impedancia) a través de la línea selectora
(chip select).

Comunicación Serie (SCI), Serial RS-232, RS-45

El protocolo serial asincrónico SCI utiliza 2 líneas, una para transmisión Tx y una para recepción RX. Las
velocidades de transmisión más comunes son: 1200, 2400, 4800, 9600, 19200, 38400, 57600 y 115200
baudios.

El protocolo SCI usa el formato estándar de transmisión non-return-to-zero (NRZ), que consiste en un bit
de inicio seguido de 8 bits de datos y un bit de parada. Esto es comúnmente referenciado como Formato
8-N-1 (8 bits de datos, sin bit de paridad, un bit de parada). El dato es transmitido y recibido comenzando
por el bit menos significativo (LSB). Cada bit tiene una duración Tp que define el Baud Rate (tasa de
baudio).

 Full duplex, Alta Velocidad, asincrónico, programable de 8 o 9 bit de largo de caracter.

 Dos métodos de “receiver wakeup”.

 Pedidos de Interrupción separados para Rx y Tx.

Fecha de Actualización 04/07/2014 Página 28


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

 Habilitación separada del Transmisor y el Receptor.

 Polaridad programable de la salida del Transmisor.

 Operación dirigida por interrupciones con ocho Flags de interrupción.

 Transmitter Empty

 Transmission Complete

 Receiver Full

 Idle Receiver Input

 Receiver Overrun

 Noise Error

 Framing Error

 Parity Error

 Modo de operación “Low power”

 Detección de Error de frame en el receptor

 Baud rate programable

 Chequeo de Paridad por Hardware

7.- BIBLIOGRAFÍA

1. Angulo, J. M., Etxebarría, A., Angulo, I. Trueba I. (2006). Microcontroladores


Dspic. Diseno Practico De Aplicaciones. México: McGraw Hill.HILBURN, JOHN I. ,

2. Álvarez Antón, Juan C., Campo Rodríguez, Juan C., (2007). Instrumentación
3. Valdés, F., Pallás, R. (2007). Microcontroladores: Fundamentos y aplicaciones
con PIC. España: Marcombo.

Fecha de Actualización 04/07/2014 Página 29


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

Práctica 4
INTERFAZ MEDIANTE MICROCONTROLADOR
Observaciones: Esta práctica incluye a las Prácticas sugeridas # 3,4,8,9 del
temario de Sistemas Programables, que dicen “Codificar un programa de
ejemplo que despliegue un mensaje en la pantalla de LCD de 2 líneas”,
“Activar un servomotor mediante la programación de los temporizadores
del microcontrolador”, “Realizar un programa de monitoreo del hardware
de la PC” y “Diseñar y programar interfaces para la detección de diferentes
variables”.

1.- OBJETIVO
Crear una interfaz HMI, con un microcontrolador.
2.- MARCO TEÓRICO

La estandarización de protocolos en la industria es un aspecto en constant discusión, donde intervienen


problemas de carácter técnico y comercial. Los protocolos de comunicaciones digitales en la industria
siguen, en general, el modelo estándar de interconexión de sistemas abiertos OSI. Sobre esta base y las
recomendaciones de ISA (International Society for Measurement and Control) y la IEC (International
Electrotechnic Committees) se ha establecido normas al respecto, en particular la IEC 1158 en desarrollo
aun.

OPC corresponde a un conjunto de especificaciones basadas en los estándares de Microsoft (COM6,


DCOM7, OLE Automation y Active X8) que cubren los requerimientos de comunicación industrial entre
aplicaciones y dispositivos, especialmente en lo que se refiere al tiempo real.

INTERFAZ GRÁFICA.

La interfaz gráfica se refiere al entorno visual que un usuario dispone para actuar con las funcionalidades
de una aplicación o programa. Puede haberse invertido mucho en la aplicación, pero estaría fallando si
los usuarios finales no encuentran un entorno fácil e intuitivo con el cual operar para conseguir sus metas.

Fecha de Actualización 04/07/2014 Página 30


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

La interfaz gráfica del usuario, o GUI, es el conjunto de elementos gráficos (ventanas, menús, botones,
etc.) que permiten la interacción entre el usuario y la aplicación informática. Es el conjunto de
componentes empleados por los usuarios para comunicarse con las computadoras. El usuario dirige el
funcionamiento de la máquina mediante instrucciones, denominadas genéricamente entradas.

La compañía fabricante proporciona software de desarrollo para PC gratuito, este se llama MPLAB,
incluye un simulador software y un ensamblador. Otras empresas desarrollan compiladores C y BASIC,
entre ellas están Mikroelektronica, CCS, SDCC y otras.

Todos los PIC’s manejan datos en paquetes de 8 bits, todos menos los dsPIC19, por lo que se deberían
llamar microcontroladores de 8 bits. Pero a diferencia de la mayoría de CPUs, la arquitectura del PIC
permite que el tamaño de las instrucciones pueda ser distinto del de la palabra de datos.

Las familias de los microcontroladores PIC se pueden ver en el siguiente diagrama de Funcionalidad y
Desempeño.

Todo programa en C debe contener una función “main”, que es el punto de inicio del programa en
ejecución. El programa puede ser partido en múltiple funciones de acuerdo con su propósito y las
funciones pueden ser llamadas desde la función “main” o desde otras subfunciones. En grandes
funciones de proyecto las subfunciones pueden ser colocadas en diferentes archivos de C o encabezado
de archivos, y estos pueden ser incluidos en el archivo “main” de C. CCS C también requiere la inclusión
del archivo de dispositivo apropiado, usando la directiva #include para incluir las funcionalidades del
dispositivo a usar. También hay unas directivas de procesador como #fuses para especificar los fusibles
del chip, y #use para especificar la velocidad del clock. Las funciones contienen las declaraciones de
datos, definiciones, declaraciones, y expresiones. El compilador también provee un gran número de
librerías Standard de C, así como también drivers para otros dispositivos que pueden ser incluidos y
usados en los programas. CCS también provee un gran número de funciones incorporadas para acceder
a varios periféricos incluidos en los microcontroladores PIC.

Antes de definir el control OCX utilizado para el control del puerto USB, se dará una pequeña introducción
de lo que es el Puerto USB y la clase que se utilizará, que es el estándar HID.

El USB o Universal Serial Bus es una interfaz para la transmisión serie de datos y distribución de energía
desarrollado por empresas líderes del sector de las telecomunicaciones y de los ordenadores, y que ha
sido introducida en el mercado de las computadoras personales y periféricos para mejorar las lentas

Fecha de Actualización 04/07/2014 Página 31


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

interfaces serie rs-232 y paralelo. Provee una mayor velocidad de transferencia (de hasta 100 veces más
rápido) comparado con el puerto paralelo de 25-pin y el Serial DB-9, DB-25, rs-232 que son los puertos
que se encuentran en la mayoría de los computadores. Tenía en principio como objetivo el conectar
periféricos relativamente lentos (ratones, impresoras, cámaras digitales, unidades zip, etc.) de una forma
realmente sencilla, rápida y basada en comunicaciones serie, aunque por sus características también
podía conectarse hasta discos duros.

Esta interfaz de 4 hilos distribuye 5V para la alimentación y puede transmitir datos a una velocidad de
hasta 480 Mbps en su versión 2.0. Es un bus serie que hace posible la conexión de hasta 127 periféricos
a una única puerta de un PC,

3.- MATERIAL, EQUIPO, REACTIVO o SOTFWARE A UTILIZAR

1. Tarjeta electronica Arduino (UNO o MEGA)


2. Sensor LM35
3. Interruptor sencillo
4. Resistencia de 1K
5. Cable UTP Categoria 3
6. 5 LED’s
7. 5 Resistencias 330 ohms
8. Cable USB/RJ-45
9. Un ordenador con el software LabView 2009 o posterior con el Arduino ToolKit instalado

4.- COMPETENCIAS ESPECÍFICAS


1. Diseñar un circuito que incluya la interaccion de los componentes siguientes, LM35, 4 Leds, arduino LI, CD,
Cl
2. Desarrollar el VI de la siguiente Figura CD

3. Programar el dispositivo Arduino CD

Fecha de Actualización 04/07/2014 Página 32


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

4. Ahora implemente el circuito en la tablilla de conexiones siguiendo el diagrama obtenido en el archivo.


Reporte como lo indica la siguiente figura. CD

Muestre el valor del sensor de temperatura y la posición de un servomotor en una lcd conectando de la
siguiente forma

Fecha de Actualización 04/07/2014 Página 33


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

5. RESULTADOS

1. ¿Cuál es el significado de las siglas VI?

2. ¿Cuántas entradas como máximo puede tener el arduino uno y mega?

3. ¿Cuántas salidas como máximo puede tener el Arduino uno y mega?

4. ¿Qué significa HMI?

Fecha de Actualización 04/07/2014 Página 34


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

6. CONCLUSIONES

Un simulador es una herramienta importante en el área académica porque posibilita tener una percepción
rápido de las limitaciones y alcances que poseen los diseños que se desarrollan en esa etapa.

 Las interfaces graficas poseen un gran valor porque es la manera con que los humanos se
comunican con las máquinas para poder operarlas.

 Los microcontroladores PIC’s pueden utilizarse en muchas aplicaciones y los alcances dependen
del programador dado que poseen muchos subsistemas y son compatibles con muchas
interfaces y protocolos facilitando con esto adaptarlos a nuestras necesidades para este caso se
utilizó como interfaz entre computadora-PLC y no hubo necesidad de utilizar más circuitería que
la protección que todo circuito electrónico debe poseer.

 OPC permite observar y modificar el comportamiento del PLC en tiempo real, esta característica
se puede utilizar para diversas aplicaciones como de supervisión y control de sistemas que
tengan elementos que soporten este estándar y permite integrar mucho hardware que no sea del
mismo proveedor.

 USB ha venido a facilitar la conexión de periféricos a las computadoras provee una forma sencilla
y robusta de comunicar dispositivos se puede adaptar a cualquier necesidad y existen
actualmente muchas herramientas para poder programar aplicaciones usando USB.

 LabVIEW es una poderosa herramienta de simulación dado que provee una alta interoperabilidad
con otras plataformas de software y hardware

En general, LabVIEW es una herramienta óptima para desarrollar aplicaciones de supervisión y control.
La programación es muy fácil e intuitiva cuando se realizan las operaciones básicas para las que está
configurado, los ejemplos son una gran ayuda a la hora de programar y hay muchas funciones (VI) que
permiten resolver rápidamente las especificaciones planteadas. Los problemas aparecen cuando no se
quiere (o no se puede) recurrir a las funciones predefinidas y el código se complica. Este tipo de
programación presenta algunos problemas a la hora de depurar errores.

Fecha de Actualización 04/07/2014 Página 35


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

7.- BIBLIOGRAFÍA

1. Maloney, T. (). Electrónica Industrial Moderna (3a edición). Estados Unidos:


Pearson Educación.
2. Mandado, M., Mandado, Y. (2008). Sistemas electrónicos digitales (9a
edición). : Marcombo.
3. Gook, Michael. (2004). PC Hardware Interfaces A Developer’s Reference.:
Alist
4. James, Kevin. (200). PC Interfacing and Data Adquisition.: Newnes.

Fecha de Actualización 04/07/2014 Página 36


SCD-1018
SISTEMAS PROGRAMABLES [SCD-1023]

8.- LISTA DE MATERIAL, EQUIPO O REACTIVO A UTILIZAR

FOLIO NOMBRE DEL MATERIAL, EQUIPO O REACTIVO CANT. UNIDAD

1 PC Windows 8 1

2 Labview 2009 o posterior 1

3 Placa de desarrollo libre Arduino UNO o Mega 1

9.- LISTA DE BIBLIOGRAFÍA REQUERIDA

FOLIO BIBLIOGRAFIA CANT


Angulo, J. M., Echevarría, A., Angulo, I. Trueba I. (2006). Microcontroladores 1
1
Dspic. Diseno Practico De Aplicaciones. México: McGraw Hill.
Palacios, E., Remiro, F.,Lopez, L. (2004). Microcontrolador pic16f84 desarrollo 1
2
de proyectos. Mexico, D. F.: alfa omega, ra-ma.
3

Fecha de Actualización 04/07/2014 Página 37


Sistemas Programables [SCD-1023]
10.- CONTROL DE CAMBIOS DEL MANUAL DE PRÁCTICAS

DATOS GENERALES
FECHA DE
ELABORÓ Y/O ACTUALIZÓ DESCRIPCIÓN DE LA ACTUALIZACIÓN
ACTUALIZACION
 SE DISEÑARON 4 PRACTICAS DE ACUERDO AL NUEVO PLAN VIGENTE
 SE APLICO LA TEORIA CUADRISECTORIAL EN LAS ACTIVIDADES DEL MANUAL
26/05/2014  ING. ERIKSSEN AQUINO DIAZ  SE MONTARON CIRCUITOS EJEMPLO Y SE DESARROLLARON LOS PROGRAMAS ADECUADOS PARA EL FUNCIONAMIENTO DE
LAS MISMAS
 SE COLOCARON LAS FUENTES DE INFORMACION ADECUANDOLAS AL ACERVO EN EL INSTITUTO

Fecha de Actualización 04/07/2014 Página 38

S-ar putea să vă placă și