bootlader pic

Upload: jhon-huaman-cconis

Post on 03-Jun-2018

228 views

Category:

Documents


1 download

TRANSCRIPT

  • 8/12/2019 Bootlader Pic

    1/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    1

    Manual para placa Bootloader con elPIC18F4550 y el programa PDFSUSB V1.0.

    Desarrollado por el estudiante de la carrera de Ingeniera de Ejecucinen Electrnica Felipe Eduardo Reyes Esparza.

    Laboratorio.

  • 8/12/2019 Bootlader Pic

    2/23

  • 8/12/2019 Bootlader Pic

    3/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    3

    La implementacin de un sistema basado en un bootloader ofrecegrandes y rpidas prestaciones a la hora de llevar a cado un proyectorelacionado con los microcontroladores.

    El proyecto propuesto por este documento consiste en el desarrollo eimplementacin de una tarjeta de entrenamiento, como se indica en lafigura 2, con el microcontrolador PIC18F4550, para ser utilizada con lainterfaz de usuario PDFSUSB ofrecido de forma gratuita por el fabricanteMICROCHIP. Se escogi el uC PIC18F4550 debido a la gran cantidad deinformacin dedicada a el y dada la particularidad de que posee un puertoUSB, puerto con el cual se realiza la comunicacin con la aplicacinPDFSUSB.

    Gui PC Bootloader

    Figura 2. Sistema basado en la implementacin del bootloader.

  • 8/12/2019 Bootlader Pic

    4/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    4

    Esquema elctrico del Bootloader.

    En la figura 3 se presenta el esquema elctrico para la realizacin dela tarjeta. El botn indicado como sw1 es el botn de reset y el botn

    indicado como sw2 es el botn de entrada al modo Bootloader. A dems enel esquema no se muestran los conectores pin header que aparecen en lafoto de la placa terminada y que estn conectados a cada puerto de salidadel uC. El led verde comienza a parpadear e indica que el uC a entrado enmodo bootloader. El led rojo seala que el uC se encuentra energizado yasea por la conexin del puerto usb o por una fuente externa.

    Figura 3. Esquema elctrico de la tarjeta.

  • 8/12/2019 Bootlader Pic

    5/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    5

    Diseo del circuito impreso.

    Para realizar el diseo de la tarjeta se utilizo el programa CAD(dibujo asistido por computadora) PCBWizard el cual cumpla con lamayora de las herramientas para poder llevar a cabo el diseo y dada sugran facilidad de uso. En la figura numero 4 se muestra una presentacinpreeliminar de la tarjeta.

    Figura 4. Diseo finalizado de la tarjeta con el programa PCB Wizard.

  • 8/12/2019 Bootlader Pic

    6/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    6

    Presentacin de la placa y sus puertos.

    A continuacin se presenta la tarjeta finalizada y se indican algunasde sus caractersticas ms relevantes con respecto al hardware como las

    formas de conectar la alimentacin y el nombre de cada pin.

    Figura 3. Tarjeta finalizada.

  • 8/12/2019 Bootlader Pic

    7/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    7

    Funcionamiento del bootloader.

    El sistema del bootloader consiste en la utilizacin de un programainstalado en el computador que se encarga de realiza la comunicacin del

    PC con el frimware que se encuentra grabado en el microcontrolador,siendo el frimware un programa residente en las primeras posiciones dememoria del microcontrolador que permite grabar el resto de la memoriacon los datos provenientes del computador.

    Figura 4. Ubicacin del frimware en la memoria del uC y ubicacin del espacio dememoria reservado para el usuario.

    Proteccin de la zona de memoria del bootloader.

    Para poder utilizar la placa con el bootloader se ase uso delcompilador de c CSS en su versin 4.084 (se utiliza esta versin delprograma debido a que es la nica que presenta la funcin de redireccionarel origen del programa sin errores y complicaciones), dada por la facilidady comodidad que brinda a la hora de realizar alguna aplicacin,especialmente con los microcontroladores de 8 bits. Para evitar escribir enlas zonas de memoria en donde se encuentra cargado el frimware, elprograma del usuario se debe iniciar siempre con las siguientes lneas decomandos:

    #include #use delay(clock= 48000000 )#fuses HSPLL, NOWDT, NOBROWNOUT, NOPROTECT, NOLVP, NODEBUG, USBDIV, PLL5,CPUDIV1, VREGEN, MCLR, NOPBADEN, WRTB, CPB#build(reset=0x000800,interrupt=0x000808:0x000818)#ORG 0x0000, 0x07ff {}

  • 8/12/2019 Bootlader Pic

    8/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    8

    Con el fin de no sobrescribir el programa del bootloader y perder lacapacidad de auto grabado del PIC. Otro punto importante a destacar es quela placa siempre debe trabajar a 48MHz (12 millones de instrucciones porsegundo) debido a que as estn configurados los fuses (palabra de

    configuracin del uC.) con los que funciona el frimware y permite lacomunicacin por el puerto USB.

    Funcionamiento de la placa en modo bootloader.

    Cuando se energiza la tarjeta o sufre algn reset, automticamentecomienza a correr el programa del usuario, pero para hacer correr elprograma bootloader se debe tener conectado el cable usb al computador ya la placa, para luego realizar la siguiente maniobra con los pulsadores:primero, mantener presionado el botn de reset, luego presionar el botn deentrada al modo bootloader (RB4) a continuacin soltar el botn de reset ypor ultimo soltar el botn de modo bootloader, si realizamos con xito estaoperacin el led verde que se encuentra en la placa conectado al pin RD0del uC comenzara a parpadear .

    Programa para usar con la placa.

    El programa que se utiliza para cargar los programas de usuario almicrocontrolador de la placa es el PDFSUSB.exe (PICDEM FS USBDEMO TOOL) que se encuentra en las libreras de aplicacin que ofreceMICROCHIP, las cuales se pueden descargar en el siguiente enlace:http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en547784 . Una vez finalizada la descarga einstalacin de las libreras, se crea en el disco c el directorio C:/MicrochipSolutions v2010-10-19/USB Tools/USB Tools/Pdfsusb, en donde seencuentra el programa PDFSUSB.exe. En la figura 5 se muestra la ventanaprincipal del programa.

    Figura 5. Programa para cargar el .HEX al uC.

  • 8/12/2019 Bootlader Pic

    9/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    9

    Uso del programa PDFSUSB.

    Una vez teniendo conectada la tarjeta al computador y habiendorealizado la operacin para que esta entrara en modo bootloader (el led

    verde comienza a parpadear), la tarjeta esta reconocida por el programa, sial pinchar en la pestaa aparece el tem de seleccin PICDEM FS USB 0(boot), tal como se puede apreciar en la figura 6.

    Figura 6. Reconocimiento de la tarjeta por el programa.

    Al tener conectada y reconocida la tarjeta se activan los botones deLoad HEX File, Read Device, Execute y Erase Device como se indica en lafigura 7.

    Figura 7. Programa listo para se utilizado con la tarjeta.

  • 8/12/2019 Bootlader Pic

    10/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    10

    Para gravar el uC primero se debe cargar un fichero.HEX en elprograma para hacer esto se debe seleccionar el botn Load HEX File ybuscar la direccin en donde se encuentra nuestro fichero.hex quedeseamos cargar como lo indica la figura 8. Cuando el fichero este cargado

    con xito se activara el botn Program Device.

    Figura 8. Directorio para buscar el fichero .HEX.

    Una vez encontrado el fichero que deseamos cargar se pincha elbotn Aceptar, si el fichero que acabamos de cargar no tiene los FUSESiguales a los que tiene el frimware del uC nos aparece la advertencia que semuestra en la figura 9. En la ventana de advertencia nos dice que los datosde configuracin contenidos en este archivo.HEX son diferentes a los datospor defecto que tiene el uC. Usar una configuracin distinta puedeocasionar interferencia con el funcionamiento normal del uC. Acontinuacin del mensaje aparecen las opciones de si, si queremos cambiarlos datos de configuracin, no, si deseamos mantener los datos deconfiguracin por defecto y la opcin cancelar para no cargar elfichero.hex. Pulsamos la opcin NO.

    Figura 9. Advertencia durante la carga del fichero .HEX cuando los fuses del programausuario NO coinciden con los del frimware.

  • 8/12/2019 Bootlader Pic

    11/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    11

    En la figura 10 se aprecia una imagen del fichero cargadoexitosamente en el programa PDFSUSB.

    Figura 10. Fichero .HEX cargado exitosamente.

    Para grabar el uC se debe presionar el botn Program Device, yaparecer un registro del funcionamiento de esta operacin como se

    muestra en la figura 11.

    Figura 11. Fichero .HEX programado satisfactoriamente en la memoria del uC.

  • 8/12/2019 Bootlader Pic

    12/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    12

    Instalacin del driver en Windows 7.

    Si se esta trabajando con el sistema operativo Windows 7, el driverque permite la comunicacin va el puerto usb puede no ser instalado

    automticamente cuando se conecta la tarjeta, para instalarlo se debernrealizar las instrucciones que se presentan a continuacin.

    1. Ir al men inicio y en la pestaa de ejecutar escribir hdwwiz y pulsarel botn Aceptar.

    Figura 12.

    2. Con esto aparecer la ventana de Agregar hardware, pulsar el botnSiguiente.

    Figura 13.

  • 8/12/2019 Bootlader Pic

    13/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    13

    3. Pinchar el botn de buscar e instalar el hardware automticamente yluego pulsar el botn de siguiente.

    Figura 14.

    4. El programa asistente buscara si hay algn driver para instalar y siNO lo encuentra aparecer la siguiente ventana. Presionar el botnsiguiente.

    Figura 15.

  • 8/12/2019 Bootlader Pic

    14/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    14

    5. Presionar el botn Siguiente.

    Figura 16.

    6. A continuacin aparece la ventana de seleccionar el controlador dedispositivo que desea instalar para este hardware. Presionar botnUsar disco.

    Figura 17.

  • 8/12/2019 Bootlader Pic

    15/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    15

    7. En la ventana que aparece buscar el driver en la direccin:C:/Microchip Solutions v2010-10-19/USB Tools/USBTools/MCHPUSB Custom Driver/MCHPUSB Driver/Release/ mchpusb.inf

    Figura 18.

    8. Finalmente pulsar en el botn aceptar y se dar inicio a la instalacindel driver.

    Figura 19.

  • 8/12/2019 Bootlader Pic

    16/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    16

    Sistema basado en una microcomputadora.

    Al igual que un computador personal como se indica en la figura xxprocesa los datos provenientes de los perifricos de entrada como el

    Mouse, teclado, micrfono la unidad lectora de CD etc. para generar algntipo de control sobre los perifricos de salida como el monitor la impresoray los parlantes, una microcomputadora es un sistema electrnico que haceuso de un microcontrolador o microprocesador, dependiendo de lacapacidad de procesamiento que se requiera para ejecutar la tarea, paraprocesar seales de entrada provenientes de los sensores y efectuar algunaaccin de control en un dispositivo de salida, comnmente denominadoactuador. La accin de control es un programa que se encuentra grabado enla memoria de programa del uC.

    Figura 20. Esquema general de un computador personal.

    Figura 21. Esquema de un sistema usando un uControlador.

  • 8/12/2019 Bootlader Pic

    17/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    17

    Dispositivos de salida.

    Los dispositivos de salida o actuadores son los elementos encargadosde realizar las funciones y/o tareas concretas que el microcontrolador les

    indica, por lo general en los proyectos relacionados con la robtica losprincipales actuadores son los dispositivos que pueden transformar laenerga elctrica en una fuerza mecnica como los motores paso a paso oservo motores para crear una maquina capaz de desplazarse. Adems de losdispositivos que pueden transformar la energa elctrica en energamecnica existen otro tipo de actuadores como los reles que permitenrealizar una accin de control sobre una carga elctrica de gran potenciacomo una ampolleta o un motor monofsico y por ultimo los actuadoresque permiten la visualizacin de alguna variable de control o seal desalida o entrada como las pantallas LCD, displays numricos,alfanumricos y los leds.

    Servomotor: Es un dispositivo que tiene la capacidad de ubicarse encualquier posicin dentro de su rango de operacin, y de mantenerseestable en dicha posicin. Est formado por un motor de corrientecontinua, una caja reductora y un circuito de control, y su margen defuncionamiento generalmente es de menos de una vuelta completa.Dependiendo del modelo del servo, la tensin de alimentacin puedeestar comprendida entre los 4 y 8 voltios. El control de un servo sereduce a indicar su posicin mediante una seal cuadrada de voltajedonde el ngulo de ubicacin del motor depende de la duracin delnivel alto de la seal. Cada servo, dependiendo de la marca y modeloutilizado, tiene sus propios mrgenes de operacin. Por ejemplo, paraalgunos servos los valores de tiempo de la seal en alto estn entre 1y 2 ms, que posicionan al motor en ambos extremos de giro (0 y180, respectivamente). Los valores de tiempo de alto para ubicar elmotor en otras posiciones se halla mediante una relacincompletamente lineal donde el valor 1,5 ms indica la posicincentral, y otros valores de duracin del pulso dejaran al motor en laposicin proporcional a dicha duracin.

  • 8/12/2019 Bootlader Pic

    18/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    18

    Rele : El rel o relevador es un dispositivo electromecnico quefunciona como un interruptor controlado por un circuito elctrico oelectrnico en el que, por medio de un electroimn, se acciona un

    juego de uno o varios contactos que permiten abrir o cerrar otros

    circuitos elctricos independientes. La gran ventaja de usar los relses la completa separacin elctrica entre la corriente deaccionamiento, la que circula por la bobina del electroimn, y loscircuitos controlados por los contactos, lo que hace que se puedanmanejar altos voltajes o elevadas potencias con pequeas tensionesde control. Para poder usar un rele (rele de 5 V) con la tarjeta deensayos se debe implementar un circuito buffer de corriente con untransistor como el de la figura para no sobre exigir la capacidad decorriente que puede entregar el pin del uC para no causar ningndao al puerto.

  • 8/12/2019 Bootlader Pic

    19/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    19

    Indicadores visuales : Los dispositivos de indicacin son utilizadosprincipalmente para hacer una funcin llamada debugging queconsiste en la correccin de algn posible error en el programa. Losindicadores visuales tambin se utilizan para mostrar alguna variable

    de entrada como por ejemplo visualizar la medicin de algunatemperatura, la medicin de distancia por medio de los sensores deultrasonido etc.

    Pantalla LCD 16x2

    Displays numrico y display alfa numrico.

    Leds.

  • 8/12/2019 Bootlader Pic

    20/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    20

    Dispositivos de entrada.

    Los dispositivos de entrada son sensores compuestos por elementoscapases de convertir alguna variable fsica como la temperatura, presin,

    fuerza y humedad por mencionar algunas, en seales elctricas seguido dealguna etapa amplificadora para que la seal que entrega el sensor seaadecuada para que puedan ser interpretadas por el microcontrolador.

    Sensores de ultrasonido: Los sensores de ultrasonido estnformados por dos elementos piezoelctricos uno encargado detransformar las diferencias de presin en el aire en seales elctricasde pequea amplitud y el otro realiza el proceso contrario, las sealeselctricas que se le apliquen las convierte en diferencias de presin,con una frecuencia que se encuentra entre los 38 y 42 KHz, siendoun valor tpico los 40KHz. Este tipo de sensores permiten ladeteccin de obstculos que se encuentran a una determinadadistancia mediante el envi de un tren de pulsos de ultrasonido y laespera del eco de esos pulsos. En el proceso de espera el sensordetermina el tiempo que se tarda en llegar el pulso del eco, una vesconocido el tiempo que se demora en llegar el eco el sensor procedea calcular la distancia a la cual se encuentra el objeto que esta alfrente del sensor mediante la siguiente relacin:

    Sensor de ultrasonido.

    Esquema de la medicion de distancia con ultrasonido.

    dObjeto = V Sonido * t2

  • 8/12/2019 Bootlader Pic

    21/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    21

    Sensores infrarrojos:

  • 8/12/2019 Bootlader Pic

    22/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    22

    Practicas de ejemplo.

    1. Programa para girar eje del servomotor de 0 a 180, para eldesarrollo de la prctica se utilizo el servomotor Standard HS-311 de

    la marca Hitec.

    #include #use delay(clock= 48000000 )#build(reset=0x000800,interrupt=0x000808:0x000818)#ORG 0x0000, 0x07ff {}

    #use standard_io(b)

    int8 i;

    void main( void ){do{

    for (i=0;i

  • 8/12/2019 Bootlader Pic

    23/23

    Universidad del BIO-BIOLaboratorio CimUBBGrupo de Robtica

    2. Programa que mueve de un extremo a otro el eje de salida de unservomotor Standard, el HS-311 de la marca Hitec con unpotencimetro conectado a la pata RA0 (AN0).

    #include #device adc= 10 #use delay(clock= 48000000 )#build(reset=0x000800,interrupt=0x000808:0x000818)#ORG 0x0000, 0x07ff {}#use standard_io(a)#use standard_io(b)

    int16 q;int16 p; int8 i;

    void main( void ){setup_adc_ports(an0);setup_adc(adc_clock_internal);

    do{set_adc_channel(0);delay_us(20);q=read_adc();p=q*1.5625;output_high(pin_b0);delay_us(700+p);output_low(pin_b0);delay_us(18200-p);

    }while(1);}