Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ...€¦ · Desarrollo de una solución con...

Post on 09-Apr-2020

7 views 0 download

Transcript of Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.ar Ing. Jorge ...€¦ · Desarrollo de una solución con...

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