Documentos de Académico
Documentos de Profesional
Documentos de Cultura
KITPIC_USB_II
www.sandorobotics.com
SANDOROBOTICS
KITPIC_USB_II
Imagen 1
Imagen 2
Imagen 3
SANDOROBOTICS
KITPIC_USB_II
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
1 2 3 4 5 6 7 8 9 10 11
Vdd Gnd B7 B6 B5 B4 B3 B2 B1 B0 A0
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:
1 2 3 4
D2 D3 GND VCC
1 2 3 4
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
SANDOROBOTICS
KITPIC_USB_II
ESQUEMTICO DE LA TARJETA:
Imagen 5
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
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
www.sandorobotics.com
SANDOROBOTICS
KITPIC_USB_II
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
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:
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.
www.sandorobotics.com
11
SANDOROBOTICS
KITPIC_USB_II
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); } }
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); } } }
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:
////////////////////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.
14