You are on page 1of 14

SANDOROBOTICS

KITPIC_USB_II

MANUAL DE USO KITPIC_USB_II VERSION II 2011 SANDOROBOTICS

SANDOROBOTICS TECNOLOGA EN ELECTRNICA

www.sandorobotics.com

SANDOROBOTICS

KITPIC_USB_II

MANUAL DEL KITPIC_USB_II


ste es un sistema de desarrollo para el uso del microcontrolador PIC18F4550. Est diseado para ocupar la totalidad de los puertos de entrada y/o salida digital y/o analgica, el puerto rs232 y el puerto USB. El dispositivo puede ser empleado como modulo de entrenamiento del pic18f4550 o como diseo final montado a un diseo terminado como un robot o un modulo estacionario. Permiten fcilmente, agregar un lcd, sensores, relays, motores de DC, de pasos y otros dispositivos al sistema. Este sistema puede tomar energa del USB o de la fuente externa con la pequea seleccin de un jumper. La tarjeta viene precargada con un bootloader para poder descargar los programas va USB.

Imagen 1

Imagen 2

MEDIDAS DEL KIT PIC_USB

Imagen 3

SANDOROBOTICS TECNOLOGA EN ELECTRNICA sandortecnologia@hotmail.com

SANDOROBOTICS

KITPIC_USB_II

DESCRIPCIN DE LOS COMPONENTES ESENCIALES

Imagen 4

De acuerdo a la imagen 4, acontinuacin se describe lo que significa cada nmero: 1. Conector para el LCD(display) 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 A1 A2 A3 A5 E0 E1 E2 VDD GND C0 A4 C2 C1 VDD GND

2. Conector de los puertos:

1 2 3 4 5 6 7 8 9 10 11

Vdd Gnd B7 B6 B5 B4 B3 B2 B1 B0 A0

SANDOROBOTICS TECNOLOGA EN ELECTRNICA

www.sandorobotics.com

SANDOROBOTICS

KITPIC_USB_II

3. Conector db9 (dispositivo para la comunicacin RS232 o comunicacin serial) acoplado a un max232 para la conversion de niveles TTL a RS232. 4. Conector para comunicacin I2:

8. Conector para configuracin master-slave

1 2 3 4

D2 D3 GND VCC

1 2 3 4

GND VCC SDA SCL

9. Jumper para alimentar la tarjeta por medio de una fuente de DC o por medio del USB de la computadora.

5. Botn de reset. 6. Microcontrolador PIC18F4550 con un socket de 40 pines. 7. Conector para el programador [VPP,VDD,GND, PGD,PGC] ICSP

10. Conector USB 2.0 tipo B 11. Led(power) indicador de que el sistema esta encendido 12. 8 Leds de prueba de salida de datos (conectados al puerto D) 13. 2 Switches de prueba de entrada de datos (conectados al puerto B) izquierda b5 y derecha b4

1 2 3 4 5

VPP VDD GND PGD PGC

14. Conector para la pila

SANDOROBOTICS TECNOLOGA EN ELECTRNICA sandortecnologia@hotmail.com

SANDOROBOTICS

KITPIC_USB_II

ESQUEMTICO DE LA TARJETA:

Imagen 5

SANDOROBOTICS TECNOLOGA EN ELECTRNICA

www.sandorobotics.com

SANDOROBOTICS

KITPIC_USB_II

ALIMENTACIN DE LA TARJETA.
1. La tarjeta puede ser alimentada va USB es decir puede conectarse el cable usb a la computadora, sin embargo, y dependiendo del hub de la computadora, no se recomienda que consuma ms de 100[mA], para esto, solo se tiene que seleccionar el jumper de la siguiente manera (cambiando el jumper al lado izquierdo):

JUMPER

Imagen 6

Jumper para alimentar la tarjeta por medio del USB de la computadora 2. Tambin se puede alimentar por medio de una fuente externa ya sea un eliminador o una pila por el conector JST situado en la parte inferior derecha (imagen 7)

Imagen 7

SANDOROBOTICS TECNOLOGA EN ELECTRNICA sandortecnologia@hotmail.com

SANDOROBOTICS

KITPIC_USB_II

Para alimentarlo con una pila o fuente externa se necesita seleccionar el jumper de la siguiente manera (cambiando el jumper al lado derecho):

JUMPER

Imagen 8

imagen 9

Jumper para alimentar la tarjeta por medio de una fuente de D.C o Pila

El kit cuenta con un cable de conexin como se muestra en la Imagen 10 para el conector JST.

Imagen 10

SANDOROBOTICS TECNOLOGA EN ELECTRNICA

www.sandorobotics.com

SANDOROBOTICS

KITPIC_USB_II

ANEXO 1 BOOTLOADER USB


El termino bootloader hace referencia a un pequeo programa que se realiza para determinado microcontrolador, ya sea PIC, Freescale, Atmel, etc. Este cdigo lo que hace es tomar los datos que se le enviaran por puerto serial (UART), USB, Ethernet, el que sea que pueda enviar una cadena de Bytes al microcontrolador. El microcontrolador va tomando esos datos que le van llegando y los va "Programando" en su propia memoria Flash. Con esto, puedes actualizar en cualquier momento el cdigo del PIC. PARA PODER GRABAR CUALQUIER PROGRAMA A LA TARJETA PIC-USB SE DEBE HABER INSTALADO LA APLICACIN PICDEM FS USB DEMOTOOL( ver manual de instalacin del software) Para entrar en modo Bootloader, se debe presionar el botn conectado en RB4, mantenindolo presionado, se debe dar RESET a la tarjeta o, conectarlo directamente al usb del pc y listo, lo primero que hace el PIC es preguntar por el estado del PIN RB4 donde est el pulsador. De estar presionado este botn, el PIC entra en modo Bootloader y si no ejecuta el cdigo normal que le grabamos al PIC. Los leds conectados en el puerto RD0 y RD1 flashean cuando entra en modo Bootloader. Este cdigo residente no es necesario desarrollarlo, MICROCHIP regala el cdigo que se deba grabar por primera vez en el PIC, el cdigo fuente si se quiere ver cmo est hecho, la plantilla sobre la que debe programar las aplicaciones siguientes y tambin entrega programas de ejemplo usando la plantilla siguiente: Tambin es indispensable tener una aplicacin en el PC con la cual se pueda buscar el archivo .hex que se quiere grabar en el PIC y con la que se pueda enviar los datos por el USB al PIC. Esta tambin puede descargarse de la pgina del autor MICROHIP: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en021940 Para poder empezar a trabajar con esto, se debe descargar la aplicacin desde la pgina de MICROCHIP llamada USB Bootloader Setup.EXE despus de descargarlo, solo se debe instalar para generar los siguientes archivos:

Carpetas creadas al instalar el USB Bootloader Setup.EXE

SANDOROBOTICS TECNOLOGA EN ELECTRNICA sandortecnologia@hotmail.com

SANDOROBOTICS

KITPIC_USB_II

1. fw (Firmware). En esta estn los cdigos para el microcontrolador PIC. Vemos 4 nuevas carpetas. a. _factory_hex. Solo encontramos el archivo .hex a grabar en el PIC. Es decir el programa residente. b. Boot. Es el cdigo fuente del programa residente (Bootloader). Si se quiere, se puede compilar este codigo fuente y trabajara igual que el .hex encontrado en la carpeta anterior.

c. Demo y Demo02. Son programas de ejemplo con cofigo fuente para saber como se usa la plantilla para crear el programa que ejecutara el PIC cuando no esta en modo Bootloader. 2. Pc. Herramientas para usar en el PC. a. MCHPUSB Driver. Cuando el PIC entra en modo bootloader, el Windows detectara un nuevo dispositivo conectado en uno de sus puertos USB. Seguido pedir el Driver a instalar. En ese momento, se le debe buscar manualmente en esta carpeta. b. Mpusbapi. Esta es un DLL entregada por Microchip pues es con esta que se desarrolla la aplicacin de Windows que se encarga de enviarle los datos al PIC. Con esta podramos desarrollar nuestra propia aplicacin Windows. c. Pdfsusb. Es la aplicacin que se debe usar siempre que se quiere programar el PIC en modo Bootloader

GRABANDO EL PIC
Si el PIC no tiene el programa residente, debemos usar un programar de PICs externo, con el grabaremos el archivo .hex encontrado en la carpeta _factory_hex. Ya grabado el PIC, se presiona el pulsador, mantenindolo presionado el botn B4 de la tarjeta conectarlo al puerto USB. Inmediatamente el Windows lo reconocer.

Instante en que Windows detecta al PIC entrando en modo Bootloader. Ahora buscamos manualmente el driver en la carpeta que se cre al instalar el Bootloader Setup.EXE, normalmente se encuentra en esta direccin: C:\MCHPFSUSB\Pc\MCHPUSB Driver\Debug

SANDOROBOTICS TECNOLOGA EN ELECTRNICA

www.sandorobotics.com

SANDOROBOTICS

KITPIC_USB_II

Antes que el Windows Instale el Driver, el led permanece apagado. Una vez completado el proceso y el Windows instale el PIC, 2 leds empezarn a parpadear indicando espera de archivo .hex.

Podemos verificar la correcta instalacin del pic en administrador de dispositivos como se ve en la figura siguiente:

CARGAR UN PROGRAMA A LA TARJETA KITPUC_USB APARTIR DE SU HEXADECIMAL


En este momento, ejecutamos el archivo PDFSUSB.exe y seleccionamos PICDEMFSUSB 0(Boot)

SANDOROBOTICS TECNOLOGA EN ELECTRNICA sandortecnologia@hotmail.com

10

SANDOROBOTICS

KITPIC_USB_II

Se carga el archivo.hex que se quiere grabar en el pic y en Configuration Data damos click en cancelar

Se programa el microcontrolador con program device, y si nos aparecen los mensajes de pantalla, la programacin fue todo un xito.

SANDOROBOTICS TECNOLOGA EN ELECTRNICA

www.sandorobotics.com

11

SANDOROBOTICS

KITPIC_USB_II

EJEMPLO DE PROGRAMACION EN LA TARJETA

El cdigo que se debe utilizar para reservar la memoria de bootloader para este pic es: ////////////////////bootloader code////////////////////// #build(reset=0x800) #build(interrupt=0x808) #org 0x0000, 0x07ff void bootloader() {} ////////////////////////////////////////////////////////////

EJEMPLO 1 CON USB BOOTLOADER. El siguiente cdigo, muestra cmo hacer parpadear un led conectado al pin D0 del PIC18f4550
#include <18F4550.h> #fuses HS,NOWDT,NOPROTECT,NOUSBDIV,CPUDIV1,VREGEN #use delay(clock=48000000) ////////////////////bootloader code////////////////////// #build(reset=0x800) #build(interrupt=0x808) #org 0x0000, 0x07ff void bootloader() {} //////////////////////////////////////////////////////////// void programa_puertos() { set_tris_d(0xfe); } void main() { programa_puertos(); while(true) { output_high(pin_d0); delay_ms(500); output_low(pin_d0); delay_ms(500); } }

SANDOROBOTICS TECNOLOGA EN ELECTRNICA sandortecnologia@hotmail.com

12

SANDOROBOTICS

KITPIC_USB_II

EJEMPLO2 El siguiente cdigo, muestra un contador binario por el puerto D del PIC4550 #include <18F4550.h> #fuses HS,NOWDT,NOPROTECT,NOUSBDIV,CPUDIV1,VREGEN #use delay(clock=48000000)

////////////////////bootloader code////////////////////// #build(reset=0x800) #build(interrupt=0x808) #org 0x0000, 0x07ff void bootloader() {} //////////////////////////////////////////////////////////// void programa_puertos() { set_tris_d(0x00); } void main() { int i; programa_puertos(); output_d(0x00); while(true) { delay_ms(1000); for(i=0;i<255;i++) { output_d(i); delay_ms(250); } } }

SANDOROBOTICS TECNOLOGA EN ELECTRNICA

www.sandorobotics.com

13

SANDOROBOTICS

KITPIC_USB_II

Para poder programar el microcontrolador en la tarjeta ya sea por medio del CCS o el MPLAB, es necesario tener en cuenta estas directivas para su buen funcionamiento:

#include <18F4550.h> #fuses HS,NOWDT,NOPROTECT,NOUSBDIV,CPUDIV1,VREGEN #use delay(clock=48000000)

////////////////////bootloader code////////////////////// #build(reset=0x800) #build(interrupt=0x808) #org 0x0000, 0x07ff void bootloader() {} ////////////////////////////////////////////////////////////

La primera lnea hace referencia al microcontrolador que estamos ocupando. La segunda lnea hace referencia a los fusibles que se utilizan para poder descargar los programas por medio del usb es indispensable que no se cambien. La tercera lnea hace referencia al reloj que se est ocupando en la tarjeta viene un reloj de 20 MHZ pero al usar el usb se necesita incrementar el reloj por medio del PLL y al calcularlo nos da un valor de 48 MHZ Y las ltimas lneas son para la reserva del bootloader, es necesario ponerlas, porque si no se ponen pueden sobrescribir el bootloader que traen cargadas la tarjetas y es posible que se borre y hay que volver a cargar este programa por medio de un programador de PICS.

SANDOROBOTICS TECNOLOGA EN ELECTRNICA sandortecnologia@hotmail.com

14