Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Ing. Guillermo Murcia [email protected] Ing. Jorge Luis Strack [email protected]
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Problema a resolver Ejercicio 2.1
Tomando el ejercicio 1.4 realizar los ajustes necesarios para que además de
encenderse un LED en pantalla se encienda un LED físicamente sobre la placa
PIC suministrada por la cátedra.
Recordemos el ejercicio 1.4:
2
Desarrollo de una solución con PIC:
El PIC18F2550 tiene la siguiente distribución de pines:
3
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
El PIC18F2550 tiene la siguiente distribución de pines:
4
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Un puerto A con 7 pines
Desarrollo de una solución con PIC:
El PIC18F2550 tiene la siguiente distribución de pines:
5
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Un puerto B con 8 pines
Desarrollo de una solución con PIC:
El PIC18F2550 tiene la siguiente distribución de pines:
6
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Un puerto C con 8 pines
Desarrollo de una solución con PIC:
El PIC18F2550 tiene la siguiente distribución de pines:
7
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
13 entradas analógicas
Desarrollo de una solución con PIC:
El PIC18F2550 tiene la siguiente distribución de pines:
8
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Posibilidad de comunicarse vía USB con una PC
Desarrollo de una solución con PIC:
El PIC18F2550 tiene la siguiente distribución de pines:
9
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Posibilidad de comunicarse a otro dispositivo vía RS232
Desarrollo de una solución con PIC:
Uso del PIC18F2550 como Placa de Adquisición Didáctica
Comunicación USB
Comunicación RS232 no la usaremos
RB4 a RB7 las usaremos como
entradas digitales
RB0 a RB3 las usamos como salidas digitales
AN0 a AN3 las utilizaremos como
entradas analógicas
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
10
11
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Uso del PIC18F2550 como Placa de Adquisición Didáctica
AN0 AN1 AN2 AN3
Vcc (5V si se alimenta por terminal de
alimentación 4,28V si se
alimenta por USB)
GND
Puerto B (RB0 a RB7)
Puerto B (RB0 a RB7)
Terminal de Alimentación
(>7V)
LED RG
LED (se enciende si se alimenta
por terminal de alimentación)
12
Construir dos programas que permitan activar las salidas digitales RB0 a RB3 del PIC desde la PC
• Que escriba un carácter en el puerto COM que actué de “instrucción” para el PIC. • Seguida a esa instrucción podríamos enviar al COM virtual otros cuatro caracteres que sean “1” o “0” según se quiera encender o apagar las salidas RB0 a RB3 del PIC.
¿Es la “instrucción”?
Que lea un carácter en el buffer de recepción COM virtual
NO
SI
Que lea los cuatro caracteres “1” o “0”
Que escriba los “1” o “0” en RB0 a RB3
Programa en PC Programa en PIC
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Tendríamos que…
Generar un programa en un lenguaje
conocido
Crear un código de máquina
Cargar el código en el
PIC
• Existen varios programas para generar el código. MPLAB, picbasic, PIC C compiler, etc.
• Una vez creado el programa (proyecto) en lenguaje conocido se genera un archivo que contiene el proyecto en código de máquina (*****.hex)
• Una vez creado el archivo .hex se lo graba en el microcontrolador con el uso de una placa cargadora de PIC y un soft de acuerdo a esta placa cargadora.
(ejemplo: Placa cargadora ZIF SERIAL + soft Winpic800).
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Recordemos como se programaba un microcontrolador PIC
13
Generar un programa en un lenguaje
conocido
Crear un código de máquina
Cargar el código en el
PIC
• Para estas dos tareas usaremos PIC C compiler
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Recordemos como se programaba un microcontrolador PIC
14
El PIC C compiler está en la carpeta “Placa PIC” del DVD de la Asignatura
También lo instalamos a menos que usemos una Placa PIC didáctica ya programada…
Generar un programa en un lenguaje
conocido
Crear un código de máquina
Cargar el código en el
PIC
• Para cargar un archivo .hex al PIC podemos usar:
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Recordemos como se programaba un microcontrolador PIC
15
Hardware y Software disponible en la cátedra
Software WinPic 800 para la carga
Plaqueta cargadora ZiF Serial
Generar un programa en un lenguaje
conocido
Crear un código de máquina
Cargar el código en el
PIC
• Para evitarnos retirar el PIC de la Placa PIC cada vez que queremos reprogramarlo se ha diseñado un código.hex especial denominado usb_bootloader .
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Método simplificado para reprogramar un microcontrolador
16
El código usb_bootloader .c se en encuentra en las librerías del soft PIC C Compiler .
Si generamos un usb_bootloader .hex y lo cargamos en
el PIC con la plaqueta cargadora y el WinPic800 ya no necesitamos colocarlo nuevamente en la placa cargadora, es decir, mediante el puerto USB podemos transferirle un nuevo archivo.hex
17
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Método simplificado para reprogramar un microcontrolador
Es decir, un BootLoader es un pequeño conjunto de instrucciones que forman un programa y se graban (con una placa cargadora como la ZIF SERIAL + soft Winpic800
por ejemplo) para permitir una posterior carga de archivos .hex (firmware) sin necesidad de utilizar de nuevo la placa cargadora.
Con un BootLoader pre-cargado en el microcontrolador, eliminas el uso de una plaqueta cargadora cada vez que se necesita cambiar el programa
Por comodidad en la cátedra ya lo hemos grabado en los PICs de las Placas PIC didácticas.
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
18
Paso 1 para resolver el ejercicio propuesto: grabar el usb_Bootloader.hex en el PIC…
Solo queda saber usarlo….
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Microchip ha desarrollado un driver para que el PIC18F2550 que tiene cargado un BootLoader pueda ser conectado al puerto USB y este sea reconocido como un nuevo dispositivo.
Este driver llamado “mchpcdc” hace que el PIC18F2550 conectado a un puerto USB sea reconocido por la PC como un nuevo dispositivo conectado a un puerto serie COM emulado.
Al comportarse como un dispositivo COM “emulado o virtual” podemos enviar o recibir caracteres a ese puerto y así comunicarnos con él. De esta forma:
19
Paso 2 para resolver el ejercicio propuesto: instalamos el driver PIC…
• Reprogramaremos el PIC. • Enviaremos y recibiremos caracteres como si fuera una impresora, mouse, instrumento, etc
El driver mchpcdc está en la carpeta “Placa PIC” del DVD de la Asignatura
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
20
Paso 2 para resolver el ejercicio propuesto: instalamos el driver PIC…
Desarrollo de una solución con PIC:
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Conectamos nuestra Placa PIC didáctica y cuando Windows nos lo solicite vamos a la carpeta “driver usb pic18f2550” del DVD y lo instalamos. Debería aparecer la siguiente pantalla….
21
Paso 2 para resolver el ejercicio propuesto: instalamos el driver PIC…
22
Podemos comprobar si la instalación fue exitosa yendo a “Panel de control” y localizando la pestaña “Administrador de dispositivos”. Allí podemos detectar el número de puerto COM virtual asignado por el sistema.
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Paso 2 para resolver el ejercicio propuesto: instalamos el driver PIC…
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Paso 2 para resolver el ejercicio propuesto: instalamos el driver PIC…
23
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
¿Cómo funciona el conjunto usb_Bootloader + driver en nuestro PIC?
24
Cuando se energiza el microcontrolador se ejecuta el código usb_Bootloader.hex que ya le cargamos en la cátedra
Si Tensión AN3 > 0 V
Se ejecuta el código.hex que nosotros le hayamos cargado
Cuando conectas la Placa PIC didáctica al puerto USB se energiza el microcontrolador
El Bootloader lee la tensión de la entrada AN3 (pin 5) del PIC18F2550
Si Tensión AN3 = 0 V
Podemos cargar un nuevo código.hex mediante el software SIOW.exe
vía USB sin retirar el PIC de la Placa PIC
Software SIOW.exe para cargar el código al PIC
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
¿Cómo funciona el conjunto ex_usb_Bootloader + driver en nuestro PIC?
El SIOW.exe está en la carpeta “Placa PIC” del DVD de la Asignatura
25
26
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
¿Cómo funciona el conjunto ex_usb_Bootloader + driver en nuestro PIC?
El código .hex que contenga lo que queremos que el PIC haga se puede cargar en el microcontrolador yendo a la “Download Software” de la pestaña “File”
27
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Paso 3 para resolver el ejercicio propuesto: instalamos el NI-VISA…
VISA (Virtual Instrument Software Architecture) es una librería desarrollada por varios fabricantes de equipos que proporciona un estándar software para las operaciones de lectura-escritura en instrumentación. NI-VISA es la implementación de National Instrument de este estándar, y a través de él LabVIEW puede establecer comunicaciones con dispositivos GPIB, serie o Ethernet.
NI-VISA está en la carpeta donde se encuentra “LabVIEW2011” del DVD de la Asignatura
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
28
Paso 3 para resolver el ejercicio propuesto: instalamos el NI-VISA…
También lo instalamos si es que ya no lo hicimos…
29
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Paso 3 para resolver el ejercicio propuesto: instalamos el NI-VISA…
Si bien hay muchos VIs dedicados a VISA nosotros utilizaremos en general los siguientes:
• Configure Serial Port • Write • Read • Bytes at port • Close
30
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Paso 3 para resolver el ejercicio propuesto: instalamos el NI-VISA…
No es estrictamente necesario su uso para un COM virtual
Escribe caracteres en el puerto COM especificado en “VISA resource name”
31
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Paso 3 para resolver el ejercicio propuesto: instalamos el NI-VISA…
Lee caracteres en el puerto COM especificado en “VISA resource name”
Cierra el puerto COM especificado en “VISA resource name”
32
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Paso 4 para resolver el ejercicio propuesto: generamos nuestro código.hex para PIC…
32
Dijimos resolver el problema de activar las salidas digitales RB0 a RB3 del PIC desde la PC con:
• Que escriba un carácter en el puerto COM que actué de “instrucción” para el PIC. • Seguida a esa instrucción podríamos enviar al COM virtual otros cuatro caracteres que sean “1” o “0” según se quiera encender o apagar las salidas RB0 a RB3 del PIC.
¿Es la “instrucción”?
Que lea un carácter en el buffer de recepción COM virtual
NO
SI
Que lea los cuatro caracteres “1” o “0”
Que escriba los “1” o “0” en RB0 a RB3
Programa en PC Programa en PIC
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
33
Usando el software PIC C Compiler creamos un nuevo “Source File” y escribimos el código en lenguaje C:
ver código fuente
Paso 4 para resolver el ejercicio propuesto: generamos nuestro código.hex para PIC…
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Paso 5 para resolver el ejercicio propuesto: cargamos el código.hex en el PIC…
34
Una vez compilado el programa anterior (generación del archivo.hex) cargamos el código en el PIC con el software SIOW.exe, haciendo uso del BootLoader previamente cargado en el 18F2550. Para esto unimos GND con AN3 y energizamos el PIC
El BootLoader permite la carga de un nuevo archivo.hex con el soft SIOW.exe
Una vez cargado el PIC unimos VCC con AN3 y lo energizamos
Ahora se ejecuta el archivo.hex cargado. Note que se enciende el LED de dos colores
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Paso 6 para resolver el ejercicio propuesto: programamos la PC…
35
El programa en la PC haciendo uso de la librería VISA tendrá que:
1. Abrir una comunicación al puerto COM. 2. Enviar el carácter “A” (que actúa como instrucción para entrar en la rutina
de escribir salidas digitales según el código programado en el PIC). 3. Enviar cuatro caracteres que sean “0” o “1” para encender o apagar los
LEDs respectivos. 4. Cerrar la comunicación al puerto COM abierto en 1).
INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Desarrollo de una solución con PIC:
Paso 6 para resolver el ejercicio propuesto: programamos la PC…
36
Finalmente:
Guía de
Ejercicios
N° 2
37