Prpoyectos Pic

download Prpoyectos Pic

of 102

Transcript of Prpoyectos Pic

  • 8/12/2019 Prpoyectos Pic

    1/102

    UNIVERSIDAD DE NAVARRA

    ESCUELA SUPERIOR DE INGENIEROS INDUSTRIALES

    SAN SEBASTIN

    CONTROL Y PROGRAMACIN DEROBOTS: APUNTES DECRT

    Club de Microrrobtica de TECNUN

    Profesor: Dr. EMILIO JOS SNCHEZ TAPIA

    San Sebastin, Septiembre 2010

  • 8/12/2019 Prpoyectos Pic

    2/102

  • 8/12/2019 Prpoyectos Pic

    3/102

    AGRADECIMIENTOS

    Los apuntes que acabas de descargarte es un resumen-compendio de lainformacin que me pareca de inters para los alumnos que integran el club demicrorrobtica de la Escuela Superior de Ingenieros de San Sebastin.

    Por ello, y antes de nada quera agradecer a todos aquellos que de forma directae indirecta han colaborado a la escritura de estos apuntes y, a su publicacin, y que

    por una u otra razn no estn incluidos en los crditos de este documento.Ahora, el objeto de los mismos es que los alumnos de la universidad donde

    imparto clases, sean capaces de introducirse en el apasionante mundo de lamicrorrobtica.

    Por ltimo, estimado lector, animarte a que me ayudes a corregir cualquier falloque veas y, por supuesto, a re-distribuirlos siempre y cuando conserves, en cada unade las copias, el logotipo de TECNUN.

  • 8/12/2019 Prpoyectos Pic

    4/102

    Curso de microrrobtica CnuRT 4

    INDICE

    Introduccin ................................................................................................................... 71.1 Descripcin general del microcontrolador ..................................................... 7

    1.1.1 Resumiendo: Qu es un microcontrolador? ......................................... 91.2 Los microcontroladores PIC .......................................................................... 9

    1.2.1 Cmo se conecta el microcontrolador PIC16F84A? .......................... 101.2.2 El PIC 16F87x...................................................................................... 12

    1.2.3 El PIC 18F4550.................................................................................... 13Software de Programacin del PIC .............................................................................. 17

    2.1 MPLAB ........................................................................................................ 172.2 Grabacin del programa en el microcontrolador. ........................................ 222.3 Uso del ICD2 como debuggeador ................................................................ 242.4 Diagrama de Conexiones del ICD2 ............................................................. 25

    Sensores ....................................................................................................................... 273.1 LDR (Light dependent resistor) ................................................................... 273.2 CNY70 ......................................................................................................... 283.3 Bumpers ....................................................................................................... 303.4 Ultrasonidos: ................................................................................................ 313.5 Potencimetros:............................................................................................ 323.6 ENCODERS ................................................................................................ 32

    3.6.1 GP2D12: Sensor de medida de distancias por infrarrojos ................... 34Motores ........................................................................................................................ 37

    4.1 Motores de corriente continua ..................................................................... 374.1.1 Mtodo de ensayo de motores DC ....................................................... 38

    4.2 SERVOS ...................................................................................................... 394.2.1 Modificacin de servomotores ............................................................. 41

    4.3 Motores Paso a Paso .................................................................................... 444.3.1 1 secuencia: paso completo ................................................................. 44

    4.3.2 2 secuencia: medio paso ..................................................................... 44Etapas de potencia........................................................................................................ 475.1 Etapas de potencia........................................................................................ 475.2 Puente-H ...................................................................................................... 48

    Puerto Serie .................................................................................................................. 516.1 El Puerto serie del PIC ................................................................................. 51

    6.1.1 Max232 ................................................................................................ 52PCB (Printed Circuit Board) ........................................................................................ 53

    7.1 Introduccin ................................................................................................. 537.2 EMpleo de PCBs universales ....................................................................... 537.3 Placas en cido (PCB): ................................................................................. 54

    7.3.1 Normas de seguridad............................................................................ 54

  • 8/12/2019 Prpoyectos Pic

    5/102

    Curso de microrrobtica CnuRT 5

    7.3.2 Algunas recomendaciones al respecto son: .......................................... 547.4 Consejos para soldar bien ............................................................................ 55

    Algunos trucos y algunos errores:................................................................................ 57Consideraciones mecnicas ......................................................................................... 61

    9.1 La estructura o chasis ................................................................................... 61

    9.2 Traccin y direccin .................................................................................... 619.2.1 Criterio de Ackerman ........................................................................... 62

    Anejos .......................................................................................................................... 6510.1 Manual Rpido del Eagle ............................................................................. 65

    10.1.1 Creacin de un nuevo proyecto. ........................................................... 6510.1.2 Creacin del diagrama esquemtico del circuito. ................................ 6610.1.3 Verificar el circuito .............................................................................. 6710.1.4 Crear el PCB ........................................................................................ 6710.1.5 Impresin de la mscara....................................................................... 70

    10.2 Patillaje del PIC16F84 ................................................................................. 7110.3 Manual de referencia del PIC16F877 .......................................................... 71

    10.3.1 Puertos programables de E/S. .............................................................. 7210.3.2 Timers .................................................................................................. 7410.3.3 CAPTURE/COMPARE/PWM ............................................................ 7710.3.4 Master Synchronous Serial Port........................................................... 7910.3.5 Addressable Universal Synchronous Asynchronous ReceiverTransmitter (USART). ......................................................................................... 8010.3.6 Analog/Digital Converter..................................................................... 8110.3.7 Sleep ..................................................................................................... 8310.3.8 Reset ..................................................................................................... 8411.1.1 Bits de Configuracin .......................................................................... 8511.1.2 Mapa de direcciones de datos del PIC 16F87 ...................................... 8711.1.3 Interrupciones en el PIC16F87 ............................................................ 87

    11.2 Resumen de Instrucciones de programacin en C. ...................................... 8911.2.1 Ejemplo de entrada analgica, entrada/salida digital y puerto serie .... 9211.2.2 Ejemplo de PWM, conversor A/D, y puerto serie ............................... 9211.2.3 Cdigo de ejemplo de testeo de la tarjeta genrica basada en el PIC18F4550 (Figura 5) .............................................................................................. 9411.2.4 Cdigo de bsico ejemplo de testeo de la tarjeta genrica basada en elPIC 18F4550 (Figura 5) ....................................................................................... 95

    11.3 Juego de instrucciones en ensamblador ....................................................... 9611.3.1 Descripcin del juego de instrucciones ................................................ 99

  • 8/12/2019 Prpoyectos Pic

    6/102

  • 8/12/2019 Prpoyectos Pic

    7/102

    CAPTULO 1

    INTRODUCCIN

    1.1 DESCRIPCIN GENERAL DEL MICROCONTROLADOR

    Un microcontrolador es un pequeo computador en un chip, pero con sus

    capacidades y recursos muy limitados. Dependiendo de la aplicacin, lascaractersticas que debe reunir el microcontrolador son diferentes. Ante tal diversidadde requerimientos, de acuerdo con las aplicaciones, los fabricantes ofertan una enormevariedad de microcontroladores, desde los ms sencillos y baratos destinados a

    productos bsicos, hasta otros muy complejos capaces de controlar avanzadossistemas.

    Aunque inicialmente todos los microcontroladores adoptaron la arquitecturaclsica de Von Neumann, actualmente se impone la arquitectura Harvard. Laarquitectura de Von Neumann se caracteriza por disponer de una sola memoria

    principal donde se almacenan datos e instrucciones de forma indistinta. A dicha

    memoria se accede a travs de un sistema de buses nico (direcciones, datos ycontrol).

    La arquitectura Harvard dispone de dos memorias independientes, una que slocontiene instrucciones, y otra slo datos. Ambas disponen de sus respectivos sistemasde buses de acceso y es posible realizar operaciones de acceso (lectura o escritura)simultneamente en ambas memorias.

    Figura 1. Estructura Harvard. Relaciones entre las memor ias y la CPU.

    Un microcontrolador, en general, consta de cuatro partes: Memoria deprograma, Memoria de datos, Procesador y Recursos auxiliares. A continuacin seexplican brevemente las diferentes partes:

    Memoria de programa: Contiene las instrucciones del programa quegobierna la aplicacin a la que se destina el microcontrolador. Comosiempre se realiza la misma tarea se trata de una memoria no voltil, que

  • 8/12/2019 Prpoyectos Pic

    8/102

    Curso de microrrobtica CnuRT 8

    no debe perder la informacin grabada cuando se desconecta laalimentacin.

    Memoria de datos: Almacena los datos variables y los resultadostemporales, por lo tanto debe permitir lectura y escritura.

    Procesador: Es el bloque del computador encargado de interpretar yejecutar las instrucciones del programa.

    Recursos auxiliares: Entre los ms conocidos destacan las puertas deentrada y salida digitales; temporizadores; comparadores y capturadoresde seales; conversores A/D y D/A; perro guardin y modo de trabajo enreposo.

    Interrupciones, etc.

    Es conveniente explicar un poco ms sobre los recursos auxiliares:

    Puertas de E/S digitales: Todos los microcontroladores destinan

    algunos de sus pines a soportar lneas de E/S digitales. Por lo general,estas lneas se agrupan de ocho en ocho formando Puertas. Las lneasdigitales de las Puertas pueden configurarse como Entrada o como Salidacargando un 1 un 0 en el bit correspondiente de un registro destinado asu configuracin.

    Temporizadores o Timers: Se emplean para controlar periodos detiempo (funcin de temporizador) y para llevar la cuenta deacontecimientos que suceden en el exterior (funcin de contador). Para lamedida de tiempos se carga un registro con el valor adecuado y acontinuacin dicho valor se va incrementando o decrementando al ritmo

    de los impulsos de reloj o algn mltiplo hasta que se desborde y lleguea 0, momento en el que se produce una interrupcin. Cuando se deseancontar acontecimientos que se materializan por cambios de nivel oflancos en alguno de los pines del microcontrolador, el mencionadoregistro se va incrementando o decrementando al ritmo de dichosimpulsos.

    Conversor A/D (CAD): Los microcontroladores que incorporan unConversor A/D (Analgico/Digital) pueden procesar seales analgicas,tan abundantes en las aplicaciones. Suelen disponer de un multiplexorque permite aplicar a la entrada del CAD diversas seales analgicas

    desde los pines del circuito integrado. Modulador de anchura de impulsos o PWM: Son circuitos que

    proporcionan en su salida impulsos de anchura variable, que se ofrecenal exterior a travs de los pines del encapsulado. Son extremadamentetiles para controlar etapas de potencia. Muchos micros tienen este

    perifrico en sustitucin del conversod D/A (Digital/Analgico).

    Puertas de comunicacin: Con objeto de dotar al microcontrolador dela posibilidad de comunicarse con otros dispositivos externos, buses deotros microprocesadores, buses de sistemas, buses de redes y poderadaptarlos con otros elementos bajo otras normas y protocolos. Algunos

    modelos, como el PIC 18F4550 usado en este proyecto, disponen deUSART, adaptador de comunicacin serie sncrona y asncrona.

  • 8/12/2019 Prpoyectos Pic

    9/102

    Curso de microrrobtica CnuRT 9

    1.1.1 Resumiendo: Qu es un microcontrolador?

    Un microcontrolador es un microprocesador, con perifricos y memoria(ROM/RAM) integrados dentro del mismo chip.

    Por eso, en microrrobtica se tiende a usar microcontroladores, porque, aunque

    son ms limitados, para estas tareas sencillas (que, en principio, realizan losmicrorrobots) son ms que suficientes. Adems, son mucho ms sencillos deprogramar y de manejar. Al tener muchas funcionalidades encapsuladas en el mismochip, los circuitos de conexionado externo se simplifican enormemente, y, comoconsecuencia de ello, se abaratan los costes y el mantenimiento.

    1.2 LOS MICROCONTROLADORES PIC

    En CMRT hemos utilizado hasta ahora el microcontrolador de MicrochipPIC16F84A (de la empresa MICROCHIP) porque es uno de los ms sencillos paracomenzar, y es muy habitual en los concursos de microrrobtica. Posteriormenteusamos el PIC16F877A ya que el 16F84 est muy limitado.

    A pesar de todo, cada vez usamos ms el PIC 18F4550, pues ofrece mayoresprestaciones y la posibilidad de programar tareas de una complejidad superior. Noobstante, los conocimientos que se poseean en cualquiera de las familias PIC deMicrochip, pueden ser reutilizados y aplicados de manera general sobre cualquiera delas otras familias.

    Esto es as, gracias a la poltica de MICROCHIP de que los chips ms potentesmantengan siempre la compatibilidad con sus hermanos menos potentes. Losmicrocontroladores PIC de Microchip han sido y son tan populares, entre cosas, por losiguiente:

    Sencillez de manejo: Tienen un juego de instrucciones reducido (RISC);35 en la gama media.

    Buena informacin, fcil de conseguir y econmica.

    Precio: Su coste es comparativamente inferior al de sus competidores.

    Poseen una elevada velocidad de funcionamiento. Buen promedio deparmetros: Velocidad, consumo, tamao, alimentacin, cdigocompacto, etc.

    Herramientas de desarrollo fciles y baratas. Muchas herramientassoftware se pueden recoger libremente a travs de Internet desde

    Microchip (http://www.microchip.com) Existe una gran variedad de herramientas hardware que permiten grabar,

    depurar, borrar y comprobar el comportamiento de los PIC.

    Diseo rpido.

    La gran variedad de modelos de PIC permite elegir el que mejorresponde a los requerimientos de la aplicacin.

    Las caractersticas ms representativas de los PIC son:

    Arquitectura: La arquitectura del procesador sigue el modelo Harvard.

    En esta arquitectura, la CPU se conecta de forma independiente y conbuses distintos con la memoria de instrucciones y con la de datos. Esta

  • 8/12/2019 Prpoyectos Pic

    10/102

    Curso de microrrobtica CnuRT 10

    arquitectura permite a la CPU acceder simultneamente a las dosmemorias. Adems, propicia numerosas ventajas al funcionamiento delsistema como por ejemplo la segmentacin que se explica acontinuacin.

    Segmentacin: Se aplica la tcnica de segmentacin (pipe-line) en laejecucin de las instrucciones. La segmentacin permite al procesadorrealizar al mismo tiempo la ejecucin de una instruccin y la bsquedadel cdigo de la siguiente (Prefetch). De esta forma se puede ejecutarcada instruccin en un ciclo (un ciclo de instruccin equivale a cuatrociclos de reloj). Las instrucciones de salto ocupan dos ciclos al noconocer la direccin de la siguiente instruccin hasta que no se hayacompletado la de bifurcacin.

    Formato de las instrucciones: El formato de todas las instrucciones esde la misma longitud. Las instrucciones de los microcontroladores de lagama baja tienen una longitud de 12 bits (PIC16Cxxx). Los de la gama

    media tienen 14 bits (PIC16Fxxx), y 16 bits los de la gama alta(PIC17Fxxx) y la gama mejorada (PIC18Fxxx). Esta caracterstica esmuy ventajosa en la optimizacin de la memoria de instrucciones yfacilita enormemente la construccin de ensambladores y compiladores.

    Juego de instrucciones: Los PIC poseen un procesador RISC(Computador de Juego de Instrucciones Reducido). Los modelos de lagama baja disponen de un repertorio de 33 instrucciones, 35 los de lagama media y casi 60 los de la alta.

    Arquitectura basada en un banco de registros: Esto significa quetodos los objetos del sistema (puertas de E/S, temporizadores, posicionesde memoria, etc.) estn implementados fsicamente como registros.

    Diversidad de modelos de microcontroladores con prestaciones yrecursos diferentes: La gran variedad de modelos de microcontroladoresPIC permite que el usuario pueda seleccionar el ms conveniente para su

    proyecto.

    Herramientas de soporte potentes y econmicas: La empresaMicrochip y otras que utilizan los PIC ponen a disposicin de losusuarios numerosas herramientas para desarrollar hardware y software.Son muy abundantes los programadores, los simuladores software, los

    emuladores en tiempo real, Ensambladores, Compiladores C, Intrpretesy Compiladores BASIC.

    1.2.1 Cmo se conecta el microcontrolador PIC16F84A?

    Para tenerlo listo para funcionar, basta con conectarle alimentacin, tierra y elcircuito oscilador externo que es el que determina la frecuencia de funcionamiento.

    El PIC16F84A funciona entre 4 y 10MHz. En CMRT lo hacemos funcionar a4MHz.

  • 8/12/2019 Prpoyectos Pic

    11/102

    Curso de microrrobtica CnuRT 11

    Figura 2. Conexionado bsico del PIC 16F84.

    En la figura se ven (en un chip, el patillaje en sentido contrario a las agujas delreloj, empezando por la superior izquierda, esta parte suele estar marcada por una

    pequea muesca en el encapsulado)

    Alimentacin:

    1. +5V en el pin 14. Se debe colocar un regulador de tensin queproporcione al micro 5V exactos. Los condensadores soncomponentes que ayudan al regulador en caso de pequeasfluctuaciones de tensin.

    2. Se coloca un LED a continuacin del regulador con suresistencia de absorcin para ver que el micro est encendido.Sin ms.

    3. Los 9V son los de la tpica pila cuadrada de 9V. Y obviamente

    un interruptor. Tierra:

    1. En el pin nmero 5.

    Oscilador:

    1. Se coloca en los pines 15 y 16. Esta es la configuracin msadecuada. Existen otro tipo de circuitos osciladores menos

    precisos que no utilizan un cristal de cuarzo como este.

    Botn de RESET:

  • 8/12/2019 Prpoyectos Pic

    12/102

    Curso de microrrobtica CnuRT 12

    1. En el PIC16F84A, el pin de reset es la 4. El micro se reseteacon un 0 fsico, es decir, el pin del reset se pone a tierra. Alresetear el micro, el programa vuelve al comienzo. Lasresistencias son indispensables, y el condensador es para evitarlos rebotes.

    El patillaje restante son todas lneas de entrada/ salida digital (a partir de ahora,diremos lneas de E/S).

    Lneas de E/S: Puerta A y Puerta B

    Una puerta es la agrupacin de lneas E/S digital. La Puerta A integra 5 lneasE/S, y la Puerta B, 8 lneas.

    Son lneas de E/S (es decir, de entrada de salida). En algn momento y enalgn sitio hay que establecer si es un pin de E/S va a ser una entrada o si por elcontrario va a ser una salida.

    1.2.2 El PIC 16F87x

    Las caractersticas principales del PIC 16F877 que tiene las siguientescaractersticas generales:

    33 lneas de entrada o salida divididas en 5 puertas, de la A a la E.

    Comunicacin serie tipo USART, MSSP e I2C.

    8 k de Memoria de programa, con palabras de 14 bits. 386 bytes deMemoria RAM de datos y 256 de memoria EEPROM.

    Mdulos de captura y comparacin y de PWM (CCP).

    Timers, uno de 16 bits y dos de 8, utilizables para diferentesaplicaciones.

    Frecuencia de funcionamiento entre 4 y 20 MHz. En este caso setrabaja con una frecuencia de 4 MHz.

    Un conversor analgico-digital de 10 bits con 8 canales de entrada.

    Voltaje de alimentacin entre 2 y 5,5 V en corriente continua.

    Bajo consumo. Menos de 2 mA a 5 V y 5 MHz.

  • 8/12/2019 Prpoyectos Pic

    13/102

    Curso de microrrobtica CnuRT 13

    Figura 3 PIC 16F877.

    En la anterior figura se muestra en diagrama de conexionado del PIC 16F877.Como se observa, el microcontrolador elegido tiene un encapsulado de 40 pines. Paraser un circuito integrado ocupa bastante espacio, cuestin que se ha tenido en cuenta ala hora de disear el microrrobot.

    Para una mayor referencia de los mdulos y arquitectura interna del PIC 16F87xconsultar la seccin 10.3.

    1.2.3 El PIC 18F4550

    Las caractersticas principales del PIC 18F4550 se presentan a continuacin:

    35 lneas de entrada o salida divididas en 5 puertas, de la A a la E.

    Comunicacin serie tipo USART, MSSP, I2C y USB V.2.0 .

    32 K de Memoria de programa. 2048 bytes de Memoria RAM dedatos y 256 de memoria EEPROM.

    Frecuencia de funcionamiento entre 4 y 48 MHz. En este caso setrabaja con una frecuencia de 48 MHz.

    Un conversor analgico-digital de 10 bits con 13 canales deentrada.

    Posee 4 mdulos de Timer o fuentes de reloj internas.

    Mdulo de 2 canales para la generacin de seales PWM.

    Voltaje de alimentacin entre 2 y 5,5 V en corriente continua.

    Bajo consumo. Menos de 2 mA a 5 V y 4 MHz.

  • 8/12/2019 Prpoyectos Pic

    14/102

    Curso de microrrobtica CnuRT 14

    Figura 4 PIC 18F4550.

    En la Figura 2 se muestra un diagrama de conexionado del PIC 16F4550. Comose observa, el microcontrolador elegido (18F4550) tiene un encapsulado de 40 pines adiferencia del 16F84 que posee tan slo 18 pines.

    A pesar de la notoria diferencia, si observamos con detenimiento los pines deconexionado bsico coinciden para ambos encapsulados. De esta manera el diagramadescrito para la conexin del 16F877 es aplicable para el 18F4550, teniendo la

    precaucin de ubicar los pines homlogos entre ambos encapsulados.

    La siguiente figura muestra un esquema de interconexionado tpico del PIC. Ella seccin 11.2.3 se muestra un cdigo fuente escrito en C de testeo de la placa.

  • 8/12/2019 Prpoyectos Pic

    15/102

    Curso de microrrobtica CnuRT 15

    Figura 5 Interconexionado tpico PIC 18F4550.

  • 8/12/2019 Prpoyectos Pic

    16/102

    Curso de microrrobtica CnuRT 16

    Figura 6 Diagrama por bloques del interconexionado tpico PIC 18F4550.

    DIO

    ADC

    USART PWM

    Vs

    9v

    Vcc

    5v

    X2

    in1

    in2

    MT1 MT2

    DI

    DO

    ACTUATORS

    PIC18F4550

  • 8/12/2019 Prpoyectos Pic

    17/102

    CAPTULO 2

    SOFTWARE DE PROGRAMACINDEL PIC

    La programacin del PIC puede realizarse en diferentes lenguajes. Sin embargoes recomendable utilizar el lenguaje C. Gracias a un compilador de C la programacinse simplifica (programacin de alto nivel). Por contra, el rendimiento del cdigoempeora respecto al nemnico (programacin de bajo nivel)1.

    Al usar el nemnico, ensamblador o cdigo mquina se eliminan los grados delibertad que introduce el compilador.

    2.1 MPLAB

    Es un entorno de programacin gratuito suministrado por MICROCHIP. Admitela instalacin de plug-ins, como el compilador de C que vamos a emplear. De forma

    nativa, el MPLAB slo soporta la programacin en nemnico.Para empezar a programar habr que crearse un proyecto nuevo, para ello:

    Project wizard next

    Device: elegir y luego next 16F84A

    16F877

    18F4550

    Compilador CCS C compiler next

    Name y directory next finishFile new (*.c que vamos a programar)Add file

    1En el caso de la familia 18Fxx, esta afirmacin no es del todo correcta ya que su diseo est pensadopara ser programado en C con eficiencia.

  • 8/12/2019 Prpoyectos Pic

    18/102

    Curso de microrrobtica CnuRT 18

    Figura 7 Inicio del project wizard de MPLAB.

    Figura 8 Seleccin del dispositivo en el project wizard de MPLAB.

  • 8/12/2019 Prpoyectos Pic

    19/102

    Curso de microrrobtica CnuRT 19

    Figura 9 Seleccin del compilador de C en el project wizard de MPLAB.

    Figura 10 Definicin del nombre del proyecto y directorio de almacenaje en el project wizardde MPLAB.

  • 8/12/2019 Prpoyectos Pic

    20/102

    Curso de microrrobtica CnuRT 20

    Figura 11. Pantalla de programacin del MPLAB.

    Primero hay que incluir el fichero 16f84.h (o el 18F4550.h o el PIC que se vayaa usar); este fichero define algunas constantes que sern tiles durante el proceso deescritura del cdigo. Lo siguiente a incluir es el valor del oscilador (los Mhz deloscilador contectado), y finalmente hay que definir la posicin de memoria de las

    puertas a y b. Y a partir de aqu ya se puede comenzar programar.

    Un resumen de las funciones de C ms importantes pueden consultarse en laseccin 11.2.

    Una vez que se tiene listo el programa, hay que compilar con la opcin:

    ProjectBuild All

    Si el proceso de compilacin no da errores, aparecer una pantalla informando

    que se ha creado un fichero *.hex. Este fichero es el que contiene el programa quedeber ser grabado en el micro.

    Adems, con este fichero *.hex, se puede simular el funcionamiento delprograma antes de grabarlo sobre el micro:

    Se definen unos botones que permiten introducir impulsos en los pines del PIC.Se escoge un botn para cada pin, y tambin se escoge qu tipo de impulso se va aaplicar: pulso, cero, uno, cambio.

    Debugger Select Tool MPLAB SIM

    Debugger Stimulus New Workbook

  • 8/12/2019 Prpoyectos Pic

    21/102

    Curso de microrrobtica CnuRT 21

    Figura 12. Configuracin de estmulos del simulador del Mplab.

    Una vez que se tiene la ventana mostrada en la Figura 12, se introducen losestmulos deseados. Para ver las seales, del men view se selecciona lo que sedesea ver (EEPROM, Hardware Stack, Locals, Program Memory, etc).

    Figura 13. Ventanas disponibles en el simulador del Mplab.

  • 8/12/2019 Prpoyectos Pic

    22/102

    Curso de microrrobtica CnuRT 22

    Un punto interesante es que podemos ver las variables en decimal, hexadecimalo binario. Muchas veces es ms interesante ver en binario (por ejemplo, las salidas olas entradas)

    En este punto ya podemos simular el programa: Debugger Run

    Las variables cambian a color rojo en el momento en que cambian, y una barranegra ir recorriendo el programa de arriba abajo indicando en qu parte se encuentra.Por supuesto, tambin existen los habituales break point, step over, etc...

    Figura 14 Control de ejecucin del simulador del Mplab.

    2.2 GRABACIN DEL PROGRAMA EN EL MICROCONTROLADOR.

    Cuando ya se ha generado el fichero *.hex que se desea programar sobre elmicro, se procede a la grabacin del micro. Para ello se cuenta con un perifricoconectado al PC llamado ICD2.

    Figura 15. Programador de PICs ICD2.

  • 8/12/2019 Prpoyectos Pic

    23/102

    Curso de microrrobtica CnuRT 23

    Primero de todo, hay que conectar fsicamente el ICD2 al PC por medio de un puertoUSB. Posteriormente, declarar en el MPLAB que el programador est conectado yconectarlo a nivel de software .

    ProgrammerMPLAB ICD2

    Programmerconnect

    Figura 16. Declaracin del p rogramador ICD2 en el MPLAB.

    Figura 17. Conexin del programador ICD2 en el MPLAB.

    Si todo va bien, saldr una ventana explicando que el programador se encuentra bienconectado y disponible para programar el PIC en cuestin.

    Si ha habido algn problema (el programador no est bien conectado o el PICconectado no se corresponde al que habamos configurado al crear el proyecto), seemitir un mensaje de error como el de la figura siguiente:

  • 8/12/2019 Prpoyectos Pic

    24/102

  • 8/12/2019 Prpoyectos Pic

    25/102

    Curso de microrrobtica CnuRT 25

    El ICD2, adems de usarse como programador, tambin se puede usar paradebuggear (depurar) el programa ejecutndose en el PIC real. Para eso deberemos iral men Debugger y seleccionar como herramienta el MPLAB ICD 2 en lugar deMPLAB SIM. El manejo es similar.

    Debugger Select Tool MPLAB ICD 2

    Figura 20. Usando el ICD2 como debuggeador .

    2.4 DIAGRAMA DE CONEXIONES DEL ICD2

    La siguiente figura muestra el diagrama de conexiones completo que tiene queimplementarse para que el ICD2 pueda programar un PIC. Ntese que este diagramaes genrico y vale para cualquier PIC, ya que muestran los nombres de los pines delPIC (ntese que la nomenclatura de los pines es estndar para todos los PICs).

    Figura 21. Diagrama de conexiones PIC-ICD2.

    En el caso de que no se quiera usar el ICD2 como debuggeador on-line, slo comoprogramador, no hace falta que el circuito cuente con un oscilador:

    Figura 22. Diagrama de conexiones PIC-ICD2 para usar el ICD2 slo comoprogramador.

    En el caso de que se quiera aprovechar la capacidad del ICD2 como debuggeador,

    adems de conectar el oscilador, se deben cumplir los siguientes requisitos:

  • 8/12/2019 Prpoyectos Pic

    26/102

    Curso de microrrobtica CnuRT 26

    El ICD 2 debe conectarse a los pines VPP, PGC, PGD, VSS y VDD tal ycomo se muestra en la Figura 22.

    El PIC debe tener conectado correctamente un oscilador Si por cualquier razn el PIC no ejecuta instrucciones, el ICD2 no podr hacer

    ninguna labor de debug Los bits de configuracin del PIC tienen que ajustarse correctamente:

    o Oscillator Configuration bitslo que corresponda segn el osciladorconectado al PIC (RC, XT, etc.),

    o Watchdog Timer deshabilitadoo Code Protection deshabilitadoo Dejar un espacio de memoria libre para el programa debug

    executive, que ocupa unas 120 palabras de la memoria de programa.

    Figura 23. Diagrama de conexiones PIC-ICD2 para usar el ICD2 como debuggeador.

  • 8/12/2019 Prpoyectos Pic

    27/102

    Curso de microrrobtica CnuRT 27

    CAPTULO 3

    SENSORES

    Todo robot que se precie debe estar dotado de un buen nmero de sensores paraobtener una informacin precisa del medio que le rodea y as poder cerrar un lazo decontrol. Existen todo tipo de sensores:

    Sensores de luz (LDR,...)

    Snar.

    Sensores de infrarojos.

    Sensores de impacto (bmper).

    Sensores de movimiento. Cmaras de vdeo

    Brjula electrnica

    Sensores de giro de las ruedas.

    Sensor de desplazamiento 2D (como el mecanismo de un ratn)

    Sensor de nivel de bateras.

    Encoders.

    Y muchos ms...

    En microrrobtica se pueden emplear todos los sensores que se deseen. Pero losms habituales por ser los ms comunes son:

    3.1 LDR (LIGHT DEPENDENT RESISTOR)

    ...o dicho de otra forma, fotorresistencias.

    Estos componentes electrnicos varan su resistencia al incidir la luz sobreellos. Esto permite detectar la luz, y tambin se puede emplear para detectar grandescontrastes de color (la tpica lnea blanca sobre fondo negro).

  • 8/12/2019 Prpoyectos Pic

    28/102

    Curso de microrrobtica CnuRT 28

    Presentan el inconveniente de que tardan un tiempo en cambiar su valor, y poreso no son del todo adecuados para seguir una lnea en el caso de un microrrobotrastreador.

    El circuito de conexin tpico se encuentra en la Figura 24.

    Figura 24. Esquema de conexin de una LDR.

    En el esquema se puede ver de izquierda a derecha:

    Un Led para iluminar justo debajo de la fotorresistencia para hacerlo msrobusto a cambios de luminosidad. As se pueden tapar los sensores para queno les d la luz exterior que podra variar.

    Un divisor de tensiones formado por la fotorresistencia y un potencimetro.Este potencimetro permite regular la sensibilidad.

    Un comparador con otro potencimetro como divisor de tensiones. Estetambin permite regular la sensibilidad. Al tener dos puntos de regulacin,

    permite mayor rango de regulacin, pero tambin es mucho ms complicadoajustarlo y a cambio, mucho ms fcil que se desajuste. Se comparan lastensiones, y saca una seal igual que la de alimentacin en funcin de cul seamayor.

    El Led piloto, que parece una cosa sin importancia, es casi podramos decirimprescindible. Si no se coloca un Led para ver qu seal proporciona elsensor, ser necesario medir constantemente con el voltmetro, lo cual puederesultar bastante engorroso.

    Una ltima observacin es el valor de las resistencias. ste debe ser bien grandepara que circule poca intensidad y consuma poco nuestro sensor.

    Este es un circuito que opera con una LDR (que proporciona una sealanalgica) y lo convierte en digital, que es lo que entiende el PIC16F84. Sin embargo,si lo que se usa es un PIC16F87X (o similar), podra conectarse directamente a una desus entradas analgicas.

    Existen otras muchas maneras de emplear la fotorresistencia: la ms frecuente esaprovechar el cambio de la resistencia para disparar un transistor.

    3.2 CNY70

    El CNY70 es un sensor comercial de infrarrojos por reflexin. Consta de undiodo emisor de infrarrojos y un fototransistor, ambos apuntando en la misma

  • 8/12/2019 Prpoyectos Pic

    29/102

    Curso de microrrobtica CnuRT 29

    direccin, de manera que cuando se enfrenta a una superficie suficientementereflectora, la luz infrarroja refleja y activa el fototransistor.

    Figura 25. El CNY70.

    El CNY70 tiene cuatro pines de conexin. Dos de ellos se corresponden con elnodo y ctodo del diodo emisor, y las otras dos se corresponden con el colector y elemisor del fototransistor. En el esquema siguiente se ve el conexionado de este sensor

    para un microrrobot que tenga que distinguir un fondo blanco de uno negro:

    Figura 26. Esquemtico de conexionado del CNY70 al PIC.

    Los pines del sensor de infrarrojos CNY70, mirando a los sensores son:

    Figura 27. Pines del CNY70.

    Y mirando desde los pines (colectoren el lado de las letras blancas):

    ATENCIN: Esto esun es un esquemtico,y los pines no estnen este orden en elsensor!

    220

    +5V

    +5V

    47K

  • 8/12/2019 Prpoyectos Pic

    30/102

    Curso de microrrobtica CnuRT 30

    Figura 28. Layout del CNY70.

    El esquema funciona de la siguiente manera:

    El LED emisor de infrarrojos emite constantemente El fototransistor se abrir cuando refleje suficiente luz (por ejemplo en una

    superficie clara) La entrada del circuito 40106 se pondr a 5V (un 1 lgico) cuando esto ocurra.

    Mientras no sea as, permanece a 0V (un 0 lgico)

    El 40106 es un Smith-Trigger. Es decir, un integrado que nos permite pasar alimpio la seal que nos da el sensor, quitndole ruido y haciendo que quede unaseal digital de calidad que pueda ser procesada por el PIC y resto de lgica TTL.Adems, invierte la seal (Si el sensor da unos 1.4V, otras veces 1.2V 0.9V, al pasarel 40106 tendremos 5V exactos, y si nos da el sensor sus 4.5V, 4.1V nos dar al pasarel Smith-Trigger 0V exactos)

    Y no poda faltar el LED piloto, que es completamente imprescindible.

    3.3 BUMPERS

    ...o pulsadores parachoques. Son sencillamente interruptores que se colocannormalmente en el exterior del microrrobot y se cierran al chocar con algo. Son muysimilares a los botones del ratn.

    Tambin se suelen poner como sensores de final de carrera (parecido a la luz dela nevera, que se enciende al abrir la puerta gracias al interruptor que suele habercerca de las bisagras.

    Al ser mecnicos, se produce un pequeo chisporroteo transitorio al pulsarlos(rebotes) que da lugar a oscilaciones en la seal. Hay tres maneras diferentes de evitarestos rebotes:

    Con un circuito FLIP-FLOP, que permanece activo aunque haya rebotes.

    Por programacin, determinando un tiempo de espera de unos pocosmilisegundos antes de mirar el valor del pin. En ese tiempo, se habr terminado eltransitorio.

    Con un circuito anti-rebotes formado por un condensador y unas resistencias.Es el ms sencillo, y funciona bien.

  • 8/12/2019 Prpoyectos Pic

    31/102

    Curso de microrrobtica CnuRT 31

    Figura 29. Conexionado de bumpers.

    Cuando el bumper est abierto, el condensador est cargado y se introduce unnivel alto por la lnea de entrada. Al activar el bumper, el condensador se descarga atravs de la resistencia de 1k y aplica un nivel lgico bajo. Al desactivar el bumper, elnivel alto no se alcanza hasta que se cargue el condensador con la tensin positiva dealimentacin a travs de la resistencia de 10k.

    3.4 ULTRASONIDOS:

    Este sensor consta de un circuito bastante ms complicado que los anteriores,pero lo mencionamos porque aparece con mucha frecuencia en las competiciones demicrorrobtica, especialmente en las pruebas de sumo y laberinto.

    Figura 30. Conexionado de ultrasonidos.

  • 8/12/2019 Prpoyectos Pic

    32/102

    Curso de microrrobtica CnuRT 32

    El circuito est formado por dos partes independientes:

    El emisor de ultrasonidos:

    Consta de un circuito integrado LM555. Su funcin es la de generar pulsos a unafrecuencia fija que depende de los valores de los condensadores y resistenciasexternas del circuito. En este caso de unos 40kHz.

    Esta frecuencia se utiliza para generar tonos en el altavoz, previa amplificacinmediante un transistor.

    El receptor de ultrasonidos:

    Tiene una etapa de amplificacin con un operacional.

    La seal entonces la toma el LM567, que se trata de un integrado decodificadorde tonos. Es capaz de distinguir la frecuencia que se le marque con los condensadoresy resistencias externas.

    Un comparador al final del circuito determina el nivel de audicin y mejora laseal eliminando ruidos. Si el sensor ve algo, el LED se enciende.

    Otros circuitos de ultrasonidos son comerciales (se hace saber al personal quemuchos participantes en los concursos de microrrobtica llevan estos elementos,

    bastante fiables por lo que parece).

    Existen detectores de presencia (si se coloca algo delante lo ven) y sensores demovimiento (slo ven algo si ese algo se mueve, como las alarmas).

    Hay que decir que ajustar el circuito para que funcione bien tiene su dificultad...

    3.5 POTENCIMETROS:En el caso de que el microcontrolador tenga entrada analgica, se podra

    emplear un convertidor A/D (caso del PIC18F4550) para hacer lecturas directas devalores de tensin. En el caso de un micro pequeo como el PIC16F84, no tienemucho inters pues no tiene entrada analgica, y un convertidor A/D ocupara unasentradas digitales (normalmente 8 para el bus de datos y 2 3 para el bus de control),con lo cual, pocas ms quedaran para el resto de funciones del microrrobot.

    Las entradas analgicas habitualmente se emplean para medir giros, como porejemplo, giro de ruedas directrices en un vehculo. Los servos de radio control llevan

    potencimetros para saber la posicin del eje. Tambin existen potencimetros

    lineales.

    3.6 ENCODERS

    Un encoder es un sensor que consiste en un disco con marcas que se vancontando para saber cunto ha girado un eje, en qu sentido lo hace y a qu velocidad.

    Normalmente es un disco ranurado en su permetro. Un sensor de luz se activar cadavez que una ranura deje hueco por el que pasar la luz de otro emisor que tieneenfrentado. As se obtienen una seal cada vez que pasa una ranura. Pueden llegar atener ms de doscientas ranuras.

  • 8/12/2019 Prpoyectos Pic

    33/102

    Curso de microrrobtica CnuRT 33

    Figura 31. Principio de funcionamiento del encoder.

    En microrrobtica se pueden construir unos encoders rudimentarios utilizandosensores de infrarrojos CNY70 reflejando sobre discos con franjas blancas y negras.

    Los discos pueden construirse imprimiendo en un papel un dibujo similar a este:

    Figura 32. Disco de encoder casero.Los discos, una vez cortados, se pegan por la parte interna de las ruedas

    intentando que sus centros coincidan con los ejes de las ruedas.

    El problema para implementar encoders es ir contando los pulsos sin perder lacuenta, al tiempo que el micro hace otra cosa. Esto se consigue bien por programacinmediante excepciones, o bien con un contador de encoders, que cuenta los pulsos ydirectamente pasa el nmero al micro cuando este lo requiere. Un ejemplo decontador de encoders es el HTCL2016 el HTCL2020.

    Figura 33. HTCL2020: contador de encoder.

    Si bien podra usarse alguno de los temporizadores/contadores del PIC, sabiendoque los contadores del PIC slo cuentan en un sentido, es decir, el valor de cuenta

  • 8/12/2019 Prpoyectos Pic

    34/102

    Curso de microrrobtica CnuRT 34

    slo se incrementa y no puede decrementarse. Este inconveniente puede obviarse si elencoder slo va a girar en un nico sentido.

    3.6.1 GP2D12: Sensor de medida de dis tancias por infrarrojos

    Cmo funciona el autofocus de una cmara de fotos? Con uno similar a estos.

    La familia de sensores Sharp GP2Dxx es una de las ms utilizadas tanto en loque viene a denominarse robtica mvil casera como en el mbito de investigacindebido principalmente a su facilidad de integracin y su bajo coste (unos 15 Euros).En la Figura puede verse una imagen de un GP2D12.

    Figura 34. El sensor de infrarrojos GP2D12.

    Otro dispositivo de esta familia bastante utilizado es el GP2D02. La principaldiferencia entre ambos es que los GP2D02 ofrecen una salida digital (veo/no veo) sin

    posibilidad de medir distancias, mientras que los GP2D12 dan una salida analgicaentre 0 y 3 voltios dependiendo de la distancia a la que se encuentre el objeto.

    Tambin existen modelos conocidos como GP2Dx5 que dan una salida a nivelalto cuando la medida sobrepasa determinado umbral y que funcionan como

    optointerruptores. En las pginas de Sharp2puede encontrarse informacin adicional alrespecto.

    Tanto unos como otros se basan en elprincipio de triangulacinpara realizar lasmedidas. El elemento a la izquierda del sensor segn vemos la Figura es un ledinfrarrojo que emite un haz que ser rebotado por el objeto y posteriormente recogido

    por el elemento situado a la derecha. Este ltimo se conoce como PSD (PositionSensing Device, Dispositivo de Percepcin de Posicin) y puede entenderse como unalente situada sobre un array de clulas sensibles a la luz infrarroja. Dependiendo delngulo de incidencia del haz rebotado en la lente, se activa una u otra clula del arraylo que permite estimar la distancia a la que se encuentra el objeto.

    El conexionado de los GP2D12 con un microcontrolador es sumamente sencillorequiriendo solamente una entrada del conversor analgico-digital a la que seconectar el pin de salida del sensor (el de ms a la izquierda visto de frente segn semuestra en la Figura). Los otros dos pines corresponden, respectivamente, con GND ycon Vcc, la tensin de alimentacin, que deber ser prxima a los 5 voltios. Serecomienda el uso de una tensin regulada (por ejemplo, mediante un 7805) para nointroducir ruido en las medidas debido a que la tensin caiga por debajo de su umbralde funcionamiento. As mismo, se recomienda utilizar un condensador de 22 uF entreVcc y GND para reducir el ruido en la alimentacin debida a la corriente requerida

    por el led emisor. Tambin podra utilizase un condensador entre la seal de salida Vo

    2http://www.sharp.co.jp/ecg/opto/products/osd/qr10-01.html

  • 8/12/2019 Prpoyectos Pic

    35/102

    Curso de microrrobtica CnuRT 35

    y Vcc o GND (filtro paso bajo) pero se disminuye considerablemente la dinmica delsensor.

    Figura 35. Conector de los GP2D12.

    El rango de medida se encuentra entre los 10 y 80 cm. Si se baja de los 10cmumbral, el sensor no funciona correctamente. Dada esta caracterstica, es bastantehabitual colocar el sensor de forma que nunca puedan darse medidas menores a los 10cm, dejando, por ejemplo, que esa distancia sea cubierta por el chasis del robot.

    Figura 36. Curva caracterstica del GP2D12.

  • 8/12/2019 Prpoyectos Pic

    36/102

  • 8/12/2019 Prpoyectos Pic

    37/102

  • 8/12/2019 Prpoyectos Pic

    38/102

    Curso de microrrobtica CnuRT 38

    4.1.1 Mtodo de ensayo de motores DC

    Introduccin

    Cuando estamos trabajando con microrobots, es muy comn emplear motores decorriente continua, por eso durante la construccin de un microrobot a menudo serecurre al uso de motores de continua reciclados de otras aplicaciones sobre los cualesno tenemos ninguna clase de informacin.

    Esto supone en muchos casos que los motores que hemos aplicado para larealizacin de ciertas tareas, no sean los adecuados, porque sus caractersticas no sonlas apropiadas para el cumplimiento de dichas tareas.

    A continuacin se va a describir un mtodo sencillo mediante el cual podremosobtener algo fundamental en todo motor, su curva caracterstica de par/velocidad.

    Material necesario

    A la hora de dimensionar un motor, necesitaremos los siguientes aparatos,algunos pueden ser difciles de encontrar:

    Taladro normal de 400/600W de potencia

    Tacmetro

    Cinta aislante blanca

    Polmetro

    Motor de continua a dimensionar

    En caso de no poseer el tacmetro, hara falta un motor del cual se supieran conseguridad las revoluciones por minuto (RPM)

    Procedimiento a seguir

    En primer lugar deberemos introducir el eje de salida del motor que deseamosdimensionar en el porta brocas del taladro, como si tratara de una broca, acontinuacin colocaremos un trozo de cinta aislante blanca por la parte exterior del

    porta brocas del taladro.

    Una vez realizado esto, encenderemos el taladro y sujetando el motor con la

    mano, para evitar que gire la carcasa (nos interesa que gire el rotor del motor),mediremos la tensin inducida entre las dos bornas del motor usando el polmetro y lavelocidad de giro del motor usando el tacmetro. Para ello debemos apuntar con eltacmetro al porta brocas del taladro, as, el tacmetro lanza un haz de luz sobre el

    porta brocas y recibe un pulso cada vez que pasa la cinta aislante blanca. Con estoconseguiremos la tensin inducida en el motor cuando este gira a una determinadavelocidad.

    Una vez obtenidos estos datos, a continuacin debemos medir la resistenciainterna de los bobinados de nuestro motor. Para ello, usaremos el polmetro.

  • 8/12/2019 Prpoyectos Pic

    39/102

    Curso de microrrobtica CnuRT 39

    RPM

    Taladro

    Motor

    Tacmetro

    Polmetro

    CintaBlanca

    Figura 38 Ensayo de un motor DC Comn.

    Clculos a realizarCon los datos obtenidos del ensayo, obtendremos el valor de (k) mediante la

    expresin:

    =

    EK

    Una vez obtenida dicha constante, se sustituye en la ecuacin que nos dar lacurva par/velocidad del motor, que en este caso debe ser una lnea recta:

    = R

    K

    KR

    VT

    2

    Siendo:

    T: Par entregado por el motor [N/m]

    V: Voltaje aplicado a las bornas del motor

    : Velocidad de giro del motor [rad/s]

    Hay que destacar que la ecuacin obtenida es para un comportamiento

    totalmente ideal del motor, en el que se ha despreciado el rozamiento producido porlas escobillas del motor. Realmente el motor trabajar en torno al 25% de lasrevoluciones mximas obtenidas idealmente.

    Por ltimo solo queda dibujar la curva de par/velocidad y con el datoaproximado de la velocidad real de salida en vaco del motor, sabremos cual es el paraproximado entregado por el motor, trabajando ste en vaco.

    4.2 SERVOS

    Los servos de modelismo son los que se usan en aviones, coches y vehculos aescala a control remoto. Tienen la ventaja de que llevan un pequeo circuito que hace

    que su control sea sencillo (de lazo abierto, que ya diremos luego lo que es).

  • 8/12/2019 Prpoyectos Pic

    40/102

    Curso de microrrobtica CnuRT 40

    Este tipo de motor es bueno para definir el ngulo de giro que se desea; porejemplo, t quieres que el servo gire 30 grados. Pues se enva la referencia (a travsde su seal correspondiente), y el servo se pone a 30 grados. Esto con un motor DCconvencional, no se puede conseguir as de fcil (hay que hacer el famoso lazocerrado de control).

    Este es el diagrama de un servomotor tpico para modelismo:

    Figura 39. Servomotor.

    Un servomotor de estos es bsicamente un motor elctrico que slo se puedemover en un ngulo de aproximadamente 180 grados (no dan vueltas completas comolos motores normales). Ver que solo tiene TRES cables que salen de su cajita. El rojoes de alimentacin de voltaje (+5V), el negro es de tierra y el cable blanco (a vecesamarillo) es el cable por el cul se le pide al servomotor a qu posicin debe ir (entre0 grados a 180); en ese cable se debe meter un tren de pulsos.

  • 8/12/2019 Prpoyectos Pic

    41/102

    Curso de microrrobtica CnuRT 41

    Figura 40. Partes de un servo.

    La seal de pulsos controla al servo de la siguiente forma:

    Figura 41. Diagrama de tiempos de control de un servo.

    Teneis que saber que el intervalo de pulsos se mantiene constante, y que lo quehace cambiar la posicin del servo es el ancho del pulso de entrada. Responden bien a

    pulsos desde 50 Hz hasta aproximadamente 100 Hz. Para cada tipo de servo que sedesee controlar, se deber realizar una prueba preliminar para encontrar exactamenteel perodo y la duracin de los pulsos que mejor le funcionen. Un osciloscopio y ungenerador de seales facilitan mucho las cosas (y lo mejor sigue siendo mirar en lahoja de caractersticas).

    4.2.1 Modificacin de servomotores

    Los servomotores se pueden usar como vienen de fbrica para posicionar el ejeen un ngulo concreto, que es su funcin y para lo que estn diseados, o modificarlosy conseguir otras funciones. Dependiendo de las modificaciones que se efecten se

    conseguirn diferentes tipos de motor o de actuaciones.

  • 8/12/2019 Prpoyectos Pic

    42/102

    Curso de microrrobtica CnuRT 42

    A continuacin se muestra cuales pueden ser las posibilidades: Sin modificacin: El servo acta en su funcin nominal, para lo

    que est diseado. Al aplicar un tren de pulsos determinado, seposiciona con un ngulo concreto.

    Quitando el tope de un engranaje y la placa de control: En este

    caso queda un motor de corriente continua comn con una cajareductora.

    Quitando el tope de un engranaje y el potencimetro ymanteniendo la placa de control: Queda un motor de girocompleto, controlndose la velocidad y el sentido medianteseales PWM.

    El trucaje de cada servo se ha realizado siguiendo los siguientes pasos:

    Lo primero que se ha hecho es abrir la caja posterior del servodesenroscando los cuatro tornillos.

    Se ha extrado la tapa superior del servo que encierra la cajareductora compuesta por engranajes rectos.

    Valindose de una cuchilla, se ha cortado el tope mecnico delengranaje de salida del servo para dejar girar libremente y sinlimitaciones al eje en los 360.

    Se ha sustituido el potencimetro original del servo de 5K poruno del mismo valor multivuelta vertical, en la posicin anloga

  • 8/12/2019 Prpoyectos Pic

    43/102

    Curso de microrrobtica CnuRT 43

    a la del original. Para poder hacerlo, se han soldado tres cables alas patas del potencimetro y a la placa.

    Para terminar, se ha practicado un agujero de 3 mm de dimetroa la altura a la que ha quedado el tornillo de ajuste del

    potencimetro, para poder ajustarlo y actuar sobre l desde elexterior.

    Para que el servo se comporte como se espera, es necesario un ajuste del

    potencimetro multivuelta. Para ello se ha conectado a un circuito que da la sealrequerida en uno no trucado para posicionarlo en el centro y se ha variado el valor del

    potencimetro hasta que el eje del servomotor trucado se ha detenido. De este modo,se consigue que la analoga posicin-velocidad entre un servo trucado y uno notrucado, tengan el mismo valor central, que corresponde en el primero en la posicinmedia y en el segundo con velocidad nula. Para que dos servos trucados obtengan lamisma velocidad ante la misma seal de control, se requiere que el ajuste se realicecon idntica seal para los dos.

    Al trucar un servo, en realidad lo que se hace es abrir el lazo de control dejandoel potencimetro con un valor fijo. El controlador espera que el valor ledo de la resta

    entre la seal de entrada y la del potencimetro vaya reducindose, pero como elpotencimetro tiene un valor constante, el resultado de la resta no cambia. Con estetrucaje se consigue engaar a la tarjeta controladora para que constantementemande al motor la orden de girar.

    Figura 42. Diagrama de bloques de la controladora de servomotor.

  • 8/12/2019 Prpoyectos Pic

    44/102

    Curso de microrrobtica CnuRT 44

    Figura 43. Diagrama de bloques de la controladora de servomotor trucado

    Tras estas modificaciones, el servomotor se controla en velocidad mediante una sealPWM con un periodo alrededor de 20 ms. El servo estar parado cuando el ancho de

    pulso sea 1.5 ms y girar a velocidad mxima cuando sea 0.5 o 2.5 ms, dependiendodel sentido de giro.

    4.3 MOTORES PASO A PASO

    Simplificando el motor lo podemos esquematizar mediante 4 bobinas. Cuandoalimentamos una bobina se va a incidir un campo magntico el cual conseguirmover el rotor (es decir, el eje del motor).

    Va a haber 2 secuencias bsicas. A partir del paso 4 la secuencia es repetidadesde el paso 1.

    4.3.1 1 secuencia: paso completo

    Figura 44. Secuencia de un motor PAP de paso completo.

    Cada bobina es alimentada una vez. Esta secuencia produce el movimiento mssuave y es el que consume menos potencia.

    4.3.2 2 secuencia: medio paso

    Figura 45. Secuencia de un motor PAP de medio paso.

    Cada turno son alimentadas una dos bobinas.

  • 8/12/2019 Prpoyectos Pic

    45/102

    Curso de microrrobtica CnuRT 45

    El movimiento es ms suave pero conseguimos un par mucho mayor cuandotenemos dos bobinas energizadas.

    Las conexiones del motor PAP son de este modo:

    (NOTA: Coil = Bobina.)

    Figura 46. Pinamen de un motor PAP.

    Para la etapa de potencia se puede utilizar el L297 y L298, diseados paracontrolar motores paso a paso, tanto uni como bipolares, con un voltaje mximo de35v. y hasta 3 A. de consumo por bobinado. Hay que tener en cuenta que las etapas de

    potencia hay que elegirlas segn las caractersticas del motor .

    Figura 47. Foto de un motor PAP.

  • 8/12/2019 Prpoyectos Pic

    46/102

  • 8/12/2019 Prpoyectos Pic

    47/102

  • 8/12/2019 Prpoyectos Pic

    48/102

    Curso de microrrobtica CnuRT 48

    Figura 48. Esquema de una etapa de potencia simple.

    5.2 PUENTE-H

    Los puentes-H (llamados "H BRIDGES" en ingls) son circuitos que permiten

    controlar motores elctricos de corriente continua en dos direcciones desde uncircuito digital (TTL, CMOS, el puerto de una computadora, desde unmicrocontrolador, etc...). Se les llama "Puentes H" porque precisamente su formarecuerda (muy vagamente)a una letra "H".

    Figura 49. Esquema de un puente H.

    Estos interruptores (A, B, C y D) pueden ser de transistores bipolares (como elde arriba), de mosfets, de jfets.

    Este circuito, adems de permitir el arranque y parada del motor, controla elsentido de giro.

    Si se cierran solamente los contactos A y Dla corriente circular en un sentido a

    travs del motor (o del relevador o de cualquier sistema que est conectado ah enmedio), y si se cierran solamente los contactos B y Cla corriente circular en sentidocontrario. De preferencia nunca cierres los contactos A y B al mismo tiempo(tampoco C y D) porque podras fundir un fusible en alguna parte. Observa tambinque un puente H necesita de cuatro diodos de proteccin para el motor.

    El siguiente esquemtico muestra cmo se conectara un puente-H. Una cosaimportante a sealar es que suele ser interesante tener dos pilas o fuentes dealimentacin: una para alimentar la electrnica de control (PIC y dems) y otra quesuministre la corriente de los motores.

  • 8/12/2019 Prpoyectos Pic

    49/102

    Curso de microrrobtica CnuRT 49

    Figura 50. Etapa de potencia basada en un L293.

    El PIC puede controlar el puente L293B mediante las seales que enva porsalidas digitales que estn conectadas al ENABLE del puente y a las entradas IN1 eIN2, de manera que el sentido de giro se le asigna a una sola salida y la velocidad a laotra si sta se conecta a una de las salidas PWM del PIC16F87x. En realidad, este

    puente se dise para dejar el ENABLE habilitado y jugar con las entradas IN1 e IN2,pero esto supone relizar una modulacin PWM en dos pines distintos del PIC, lo cualcomplicara bastante la programacin.

    Si el PIC no tuviera salidas PWM, stas podran intentarse simular por software.Es decir: el PWM que se hace en el micro se consigue programando bucles. Y resultadifcil conseguir un bucle que proporcione distintas frecuencias. En este caso, la carga

    de cmputo que le pedimos al PIC es mucho mayor, dejando pocos recursos parahacer otras cosas.

  • 8/12/2019 Prpoyectos Pic

    50/102

  • 8/12/2019 Prpoyectos Pic

    51/102

    CAPTULO 6

    PUERTO SERIE

    6.1 EL PUERTO SERIE DEL PIC

    El PIC16F87x y el PIC18F4550 (no as el 16F84) tienen una interfaz de puertoserie sencilla de utilizar. A travs del puerto serie del PIC podran conectarse consolasde RS232 e incluso un PC para comunicarnos con el PIC.

    Aprovechando la conexin desde el PC podemos realizar un programa en C,Visual Basic, Java, LabView para completar las capacidades del software grabado enel PIC o simplemente si usamos el HyperTerminal, podemos usar el PC comodispositivo entrada-salida del programa en el PIC.

    En la siguiente figura se representa la parte del esquemtico bsica para hacerfuncionar el puerto serie de un PIC, donde se pueden distinguir las diferentes partes

    que lo rodean: el oscilador, la circuitera de reset, las entradas de los dos sensores, lassalidas PWM con sus seales de control (SELECT) y las dos lneas de comunicacinserie (TX y RX).

  • 8/12/2019 Prpoyectos Pic

    52/102

    Curso de microrrobtica CnuRT 52

    Figura 51. Circuito bsico del PIC16F87: los puertos usados para comunicacin serieson el pin 28 para el TX y para el 27 el RX.

    6.1.1 Max232

    El problema que ahora se plantea es que los pines 27 (Rx) y 28 (Tx) trabajancon tensiones TTL (0-5V) que no son compatibles con los niveles de tensiones de la

    norma RS232. Se necesita un convertidor TTL/RS232.El convertidor TTL / RS232 tiene como objetivo realizar un enlace a travs del

    puerto serie del PC, de manera que se puedan enviar y recibir datos de la tarjeta decontrol. Est basado en el circuito integrado MAX232 de la casa Maxim.

    La siguiente figura muestra en detalle el esquema utilizado para la conversin delas seales TTL en seales compatibles RS232:

    Figura 52. Conexionado del Max232.

    NOTA:Los condensadoresC3, C4, C5, C6 sonde 1 microfaradio

  • 8/12/2019 Prpoyectos Pic

    53/102

    CAPTULO 7

    PCB (PRINTED CIRCUIT BOARD)

    7.1 INTRODUCCINAhora es el turno de hablar sobre la tpica placa perforada donde se insertan

    los componentes electrnicos.Existen dos opciones de atacar el problema. La primera es ir a Electrosn y

    comprar las PCBs universales. La segunda es disear nuestra propia PCB yconstruirla con el proceso de ataque por cido.

    7.2 EMPLEO DE PCBS UNIVERSALESEn un primer momento puede parecer la solucin ms fcil y ms rpida.

    Pero si no se hace con mucho cuidado puede ser el mtodo ms frustrante. El mejor

    consejo que puede darse es que hay que hacerlo con mucho orden.Antes de nada, hay que dibujar el circuito en papel cuadriculado (o en el

    ordenador) antes de soldar nada. De esta manera se prev hueco para todos loscomponentes y se pueden trazar las pistas minimizando el tamao y el nmero decables que se pueden enredar, romper, cortocircuitar...adems, queda constancia porescrito del circuito, en la que se puede ver qu es cada cosa y cada pista.

    Si hay que cruzar pistas, los puentes se pueden hacer con los trozos sobrantesde los pines de los componentes. (Para que encajen perfectamente, se cuentan losagujeros que se quieren saltar y se introduce lo que ser el puente en el borde de la

    placa a una distancia igual al nmero de agujeros que se han contado. Al estar en elborde, lo podemos doblar con gran facilidad y nos quedar una grapa perfecta y amedida para poner donde queramos)

    Si el puente que hay que echar es muy largo, un cable rgido aislado es msapropiado que uno trenzado, porque lo podemos dejar doblado al ras de la placa, y nocuelga. Si el cable es para conectar la placa a otros elementos susceptibles demoverse, es ms recomendable el trenzado, al ser ms flexible y no romperse cuandose manipula.

    Si se van a soldar cables trenzados a la placa, es muy interesante cubrir susextremos con estao. Esto evitar que se deshilachen y que se rompan.Para que los componentes se sujeten al dar la vuelta a la placa, abrimos un poco sus

    pines.

  • 8/12/2019 Prpoyectos Pic

    54/102

    Curso de microrrobtica CnuRT 54

    La mayora de los componentes encajan en los agujeros sin forzar sus patas.Ponerlos bien pegados a la placa evitar que se doblen de un lado para otro y acabenrompindose.

    7.3 PLACAS EN CIDO (PCB):

    Partiendo del esquema del circuito se dibujan las pistas con la ayuda de unprograma de ordenador (Protel, Eagle...).

    Ahora se construye la mscara: el layout, generado por el programa de CAD,debe imprimirse, a la mxima calidad posible, en transparencia para pasarlo a la placa.Si la impresora que se tiene no es de muy buena calidad, usar dos transparencias sueleser un truquillo que funciona bastante bien.

    El procedimiento de ataque con cido es el siguiente: Se compra una placa PCB para atacar de las denominadas positivas.

    Esto es, la mscara que se usa es positiva a diferencia de las placas derevelado negativo.

    Se quita la proteccin de la placa fotosensible en un cuarto oscuro(usad la luz roja) para que no se vele.

    Se coloca la transparencia sobre la placa por el lado sensible a la luz(se sujeta con cinta adhesiva)

    Se mete en la insoladora durante unos tres minutos. Se revela la placa en una disolucin de: 1 parte de Reveladorpor 5 de

    agua . Una vez bien revelado (es decir, se ven que aparecen las pistas), se

    aclara con agua. Una vez aclarado, ya se puede encender la luz normal. Atacar entonces con cido hasta que se coma todo salvo las pistas con:

    1 parte deAtacador Rpido Spor 5 partes deAtacador Rpido L. Aclarar entonces con agua, y limpiar con alcohol. Tanto el revelador como el cido pueden utilizarse varias veces, pero

    con el uso pierden sus propiedades, por lo que hay que cambiarlos porsoluciones nuevas.

    7.3.1 Normas de seguridad

    Los productos utilizados en el proceso de fabricacin de la PCB son peligrosos, por locual debis extremar la atencin:

    Usad siempre guantes desechables No rascarse los ojos, ni meterse las manos en la boca (s no os riis)

    cuando estis trabajando con estos productos Despus de revelar las placas, lavaros las manos con agua abundante Los productos residuales deben verterse en los bidones a tal fin: uno de

    ellos es para el revelador y otro es para el cido.

    7.3.2 Algunas recomendaciones al respecto son:

    No hacer las pistas demasiado finas porque el cido podra comrselas: es ms,intentar hacerlas lo ms gruesas posibles e intentar que el cido tenga que comerslo lo imprescindible.

  • 8/12/2019 Prpoyectos Pic

    55/102

  • 8/12/2019 Prpoyectos Pic

    56/102

    Curso de microrrobtica CnuRT 56

    Figura 55. Pasos a seguir par so ldar bien.

    El orden recomendado para montar los componentes es: Zcalos y conectores Resistencias Condensadores y diodos Circuitos integrados y SMDs (Surface Mounted Device).

  • 8/12/2019 Prpoyectos Pic

    57/102

    CAPTULO 8

    ALGUNOS TRUCOS Y ALGUNOSERRORES:

    Estas cosillas conviene saberlas si se va a enredar en un laboratorio concircuitillos, motores, multmetros...

    Fuentes de alimentacin con voltaje e intensidad regulables:

    Normalmente se fija un voltaje para el circuito, y si todo va bien, circular lacorriente que deba. Si todo va mal, se producir un cortocircuito, o algn componenteestar al revs y se quemar. Estas fuentes permiten limitar la corriente y evitar estasbarbacoas.

    Cuando el circuito pide ms corriente de la que le da la fuente de alimentacin

    (que no le da ms porque la limitamos), se enciende un piloto rojo que nos advierte.Adems, en el voltmetro que llevan se puede ver cmo baja el voltaje. El gran crasoerror es intentar subir el voltaje con el piloto de la intensidad encendido. Por msvueltas que le demos a la ruedita, el voltaje no subir, y el circuito seguir soportandola sobrecarga. Lo nico que se debera tocar es el interruptor de apagado bienreducir la intensidad con su ruedita.

    Los motores estn formados por bobinas que al arrancar y en los cambios desentido absorben mucha intensidad. A veces, parece que no funciona el robot porquela corriente de los motores est limitada.

    Fuentes de alimentacin regulables y no regulables. Pilas y bateras tambin:

    Si colocamos para un mismo circuito distintas alimentaciones por el motivo quesea (por ejemplo, lgica a 5V y motores a 9V), hay que referenciarlo todo a la mismatierra. Es decir: conectar las tierras de ambos. Esto es importante, porque si no, elcircuito no funcionar.

    Componentes digitales:

    Los pines al aire no son nada buenas, porque no se sabe si est a tierra o acualquier otro voltaje. La respuesta del circuito es imprevisible...

    Qu bien ya tenemos montada una antenita lista para captar nuestra emisora deradio favorita!!

    Seleccin del TRIS

  • 8/12/2019 Prpoyectos Pic

    58/102

    Curso de microrrobtica CnuRT 58

    Se recomienda el definir la configuracin inicial de las lneas E/S, a travs deset_tris_x, aunque stas no se usen como E/S digitales. Por ejemplo, las lneas que sevayan usar como entradas analgicas se deberan configurar como entradas. Si se usala lnea serie, la pata RX hay que configurarla como salida, y TX, como entrada.

    Circuitos integrados:

    ...y todos aquellos susceptibles de estropearse con el calor, hay que evitarsoldarlos directamente. Por eso estn los zcalos.

    Cdigo de colores de los cables:

    Su importancia no conoce lmites. Evita errores garrafales del tipo oops!,conect la polaridad al revs.... Los ms importantes son: Cero Voltios siempre decolor NEGRO. Alimentacin siempre de color ROJO. Otro color tpico es blanco

    para seal (cuando es nica).

    Trabajo en grupo:

    Un error frecuente al trabajar en grupo es descubrir un error cometido por otro,corregirlo y ms tarde descubrir que noera un error.

    Papel:

    Pensar las cosas en papel, ahorra tiempo y facilita comprender qu ocurrecuando un circuito no funciona. Tener el esquemtico delante es muy interesante.Saber qu seal proporcionan los sensores, tambin lo es (en el rastreador, qu nivellgico proporcionan los sensores al ver color negro? con qu color se enciende elled?

    Ms papel:

    ...tener las hojas de caractersticas delante ayuda mucho a comprender loscircuitos y a no cometer errores de conexionado.

    Zcalos:

    Cuando se va a meter y sacar un componente varias veces, es muy fcil(terriblemente fcil) que se rompa alguno de sus pines. Para evitarlo, lo metemos enun zcalo. De esta manera, si se rompe algn pin es del zcalo, se cambia y ya est.As que no haya nadie que no le ponga un zcalo al PIC.

    Cable plano:

    Cerrar el conector hembra sin el cable es un error. Luego no se puede abrir... Y

    cuanto ms corto, mejor. Y nunca ms de 5 metros... Condensadores:

    Algunos tienen polaridad: son los condensadores electrolticos. Parecenpequeas pilas. La pata positiva es la ms larga. Corren rumores de que si se conectanal revs, explotan.

    Tntalo: naranjas o de color mostaza. La pata positiva viene marcada con unaseal. A veces son tan (...) que la marcan con una rayita y parece un signo menos. Noos dejeis engaar. (Parece ser, adems, que tienen muy buen comportamiento a altasfrecuencias).

  • 8/12/2019 Prpoyectos Pic

    59/102

  • 8/12/2019 Prpoyectos Pic

    60/102

  • 8/12/2019 Prpoyectos Pic

    61/102

    CAPTULO 9

    CONSIDERACIONES MECNICAS

    Cuando se quiere disear un microrrobot, lo primero que se debe tener claro esla aplicacin para la que se disea, en este caso, viene definida en los objetivos del

    proyecto. Una vez decidido para qu servir, se debe disear la estructura mecnica,sobre la que estarn el resto de componentes que lo conforman.

    9.1 LA ESTRUCTURA O CHASIS

    Para la construccin de un microrrobot se pueden utilizar muchos tipos deestructuras, que dependern de la funcin que se desea que realice.

    Se pueden usar diversos materiales: Plstico, metal o madera, por citar algunosejemplos. Algunos microrrobots estn realizados con estructuras a base de juegoseducacionales de construccin como los conocidos Lego o Mecano, muy interesantesdada su flexibilidad, pero a costa de falta de durabilidad ya que se desmontan

    fcilmente. Otras opciones ms durables son los mecanizados en alumnio, acero ymetacrilato.

    9.2 TRACCIN Y DIRECCIN

    A la hora de disear la traccin de un microrrobot utilizando ruedas, se puedepensar en varias opciones:

    Estructura formada por dos ruedas de traccin independiente yuna rueda loca para darle estabilidad.

    Figura 57. Arquitectura cinemtica de eje motriz-directriz ms rueda loca.

    Arquitectura tipo triciclo, formada por dos ruedas de traccin yuna de direccin independientes.

  • 8/12/2019 Prpoyectos Pic

    62/102

  • 8/12/2019 Prpoyectos Pic

    63/102

    Curso de microrrobtica CnuRT 63

    Figura 60. Criterio de de Ackerman.

    La relacin que se obtiene es la siguiente:

    Co Co BL

    e itan( ) tan( ) =

    Existe una relacin geomtrica, que si se cumple, hace que tambin se cumpla laanterior ecuacin. Esta relacin se ha representado en la Figura 60 y consiste en que siel punto Q, en el que se cortan las rectas trazadas desde D y C con ngulos ey irespectivamente, tambin pertenece a la recta que une F con el punto M (punto mediodel eje anterior), en este caso, se demuestra que se cumple tambin la ecuacin.

  • 8/12/2019 Prpoyectos Pic

    64/102

  • 8/12/2019 Prpoyectos Pic

    65/102

    CAPTULO 10

    ANEJOS

    10.1 MANUAL RPIDO DEL EAGLE

    El editor EAGLE es una sencilla herramienta para disear circuitos impresos(PCB's). El nombre EAGLE es un acrnimo (Easily Applicable Graphical LayoutEditor).

    El programa consta de dos mdulos principales:

    Editor de diagramas esquemticos (Schematic Editor): usndolo seintroduce el esquemtico del cual queremos elaborar la PCB.

    Editor de circuito impreso (Layout Editor) que incluye unAutouter: a partir del esquemtico implementado en el editor deesquemticos, se genera el PCB.

    La versin de evaluacin del software permite crear circuitos impresos de hastados caras y con rea mxima de 100 x 80 mm, suficiente para una gran variedad decircuitos sencillos. La versin de evaluacin del programa, as como un tutorial, se

    pueden descargar de manera gratuita de http://www.cadsoftusa.com

    10.1.1 Creacin de un nuevo proyecto.

    Al ejecutar el EAGLE aparece el Panel de control (Control Panel). En lacolumna izquierda hay un rbol de opciones desde donde se accede a todos losmdulos del programa, mientras que en la parte derecha hay una descripcin de laseleccin dentro del rbol.

    Figura 61. Panel de contro l del Eagle.

  • 8/12/2019 Prpoyectos Pic

    66/102

    Curso de microrrobtica CnuRT 66

    Para crear un nuevo proyecto, haga click con el botn derecho en projects yluego click en new project, y escriba el nombre del nuevo proyecto.

    10.1.2 Creacin del diagrama esquemtico del circui to.

    Para crear el diagrama esquemtico del circuito:

    File new Schematic. Se abrir la ventana del editor de diagramas esquemticos.

    Figura 62. Editor de esquemticos.

    File save: entonces se guarda y se le da nombre al nuevoesquema

    Ahora hay que comenzar a dibujar el esquema:

    Pinchar el botn ADDde la barra de herramientas del ladoizquierdo o escribir ADD en la barra superior de entrada decomandos.

    Aparecer el cuadro de dilogo ADD que muestra todas laslibreras de componentes instaladas.

    Se puede explorar las libreras para buscar el componentedeseado o usar la opcin search para buscar todos loscomponentes de una misma familia. Por ejemplo si deseaagregar un buffer 74LS244, se escribe en el campo search:74*244*. En el resultado de la bsqueda aparecern todos

    los componentes relacionados.

    Selecciona el componente deseado OK.

    Finalmente se ubica el componente en el lugar deseado yclick para fijarlo.

    Se puede seguir poniendo ms unidades del mismocomponente o presione ESC para terminar.

  • 8/12/2019 Prpoyectos Pic

    67/102

    Curso de microrrobtica CnuRT 67

    Figura 63. Ubicacin de componentes.

    A continuacin hay que hacer las conexiones entre los componentes:

    Pinchar el botn NETde la barra de herramientas del lado

    izquierdo o escribir NET en la barra superior de entrada decomandos. (No usar nunca la opcin WIRE)

    Para conectar dos hilos:JUNCTION.

    Para crear un bus BUS +

    Para poner etiquetas en el diagrama a las conexiones o a losbuses LABEL.

    Figura 64. Esquema listo .

    10.1.3 Verificar el circuito

    Despus de dibujar el circuito en el editor esquemtico, se puede utilizar elElectrical Rule Check (ERC)para verificar las conexiones:

    Chequear circuito ERC

    Como resultado se emite un informe con todos los errores ywarningsdetectados.

    10.1.4 Crear el PCB

    Una vez que el circuito esquemtico est terminado, se carga el editor de layout:

  • 8/12/2019 Prpoyectos Pic

    68/102

    Curso de microrrobtica CnuRT 68

    ComandoBOARD

    Se abrir entonces la ventana del editor de circuito impreso, con todos loscomponentes alineados junto un rectngulo blanco. Todas las conexiones o redes delesquemtico se muestran en el editor como lneas finas (airwires).

    Figura 65. Layout editor.

    Ahora hay que situar todos los componentes dentro del rectngulo blanco, quedefine los lmites de la PCB que se va a fabricar. Si la versin del eagle es demo, nose podr ampliar la extensin del rectngulo por defecto.

    Mover componentes MOVE

    Se puede rotar el componente que est siendo movido click botn derecho del ratn

    Figura 66. Componentes dentro de los lmites del PCB.

    El siguiente paso es rutear las pistas. Pero antes de intentar rutear, es

    preferible con elDRCeditor ajustar los tamaos de las pistas, pads, distancias entrelas pistas, etc. Las unidades estn en que son milsimas de pulgada.

    Una vez hechos los ajustes, ahora s que hay que rutear. Para ello hay dosmtodos:

    Manual comando ROUTE click en una lnea clickbotn derecho ajusta el ngulo.

    Automtico comandoAUTOAparecer un cuadro dedilogo con los parmetros que por omisin usa elAutorouter. Se puede escoger la orientacin preferida para

    las pistas en cada una de las dos caras del circuito (TopyBottom). aceptar para que el Autorouter comience a

  • 8/12/2019 Prpoyectos Pic

    69/102

    Curso de microrrobtica CnuRT 69

    acomodar las pistas del circuito. En circuitos muycomplejos puede ser que el Autorouter no consigacompletar el 100% de las pistas y que queden algunas lneassin rutear; en ese caso es necesario rutear manualmentelas lneas restantes.

    Figura 67. PCB ruteado.

    Si se quiere desrutear una pista comando RIPUP click en la pista que se desea desrutear y cuando se deseafinalizar alESC.

    Si se quiere desrutear todo comando RIPUP clicken la luz verde del semforo.

    El ltimo paso es llenar con polgonos las reas que no han sido ocupadas porpistas para facilitar el proceso de atacado de la PCB:

    POLYGON En la barra de herramientas superior puedecambiar los parmetros del comando como separacin entre

    pistas y el polgono, patrn de llenado, etc.

    Para cubrir todas las reas libres de la PCB, de una sola vez,hay hacer click en la parte superior izquierda del rectngulolmite de la PCB y describir un rectngulo que cubra toda laPCGB haciendo haciendo clicks en los sucesivos vrticesterminar de nuevo en el vrtice se comenz.

    Finalmente, pulsarRATSNEST.

    El diseo est completo.

    Figura 68. Diseo del PCB terminado.

    NOTA: La cara en la que se est dibujando el polgono, depende de la capa(Layer) que est seleccionada en la barra de herramientas superior.

  • 8/12/2019 Prpoyectos Pic

    70/102

    Curso de microrrobtica CnuRT 70

    10.1.5 Impresin de la mscara

    Una vez que el diseo est completo, se debe realizar la mscara que se usarpara insolar el PCB. Para ello basta con imprimir el diseo desde el layout editor.Antes de mandar imprimir, con el comando DISPLAYhay que desactivar todas lascapas que no deseamos sean impresas. Se debe conseguir que se queden activas lassiguientes capas: Top Bottom (segn la cara del diseo que se va a imprimir), Pads,Vasy Dimension. Las opciones se activan y desactivan haciendo click en el nmerode la opcin. Adems es conveniente quitar las opciones de color para que laimpresin se realice en blanco y negro. En este caso el diseo se muestra en blanco ynegro.

    Figura 69. Preparacin para imprimir la mscara.

    Ya slo queda imprimir, a la mayor resolucin posible (mn. 600dpi), la mscaraque se utilizar para el atacado en cido. Si la impresora no puede imprimir a calidadalta o tiene poca tinta, un truco fcil es imprimir dos mscaras, y, a la hora de insolar,superponerlas.

  • 8/12/2019 Prpoyectos Pic

    71/102

    Curso de microrrobtica CnuRT 71

    10.2 PATILLAJE DEL PIC16F84

    Figura 70. Patillaje del 16F84.

    10.3 MANUAL DE REFERENCIA DEL PIC16F877

    Figura 71. Patillaje del 16F877.

    Los perifricos que tiene el PIC16F877 son:

    Puertos programables de E/S

    Timers/Counters

    Puertos de captura/comparacin de datos Moduladores de ancho de pulso (PWM)

    Conversor Analgico/Digital de 10 bits

    Puerto serie sncrono

    USART

    Parallel Slave Port

  • 8/12/2019 Prpoyectos Pic

    72/102

    Curso de microrrobtica CnuRT 72

    Figura 72. Arqui tectura del PIC 16F87x.

    10.3.1 Puertos programables de E/S.

    Pueden disponerse hasta de 33 pines bits de E/S. Sin embargo y debido a que lospines del PIC pueden tener otras funciones, el nmero de E/S puede ser bastanteinferior. Las principales caractersticas pueden resumirse en:

    Programables como entradas o salidas individualmente. Corriente mxima de cada lnea 25 mA (pueden alimentar un

    LED directamente). No obstante la corriente total en los puertos A,B y E no puede superar los 200 mA. y en los puertos C y D otros200 mA.

    Entradas tipo TTL o ST (Schmitt Trigger).

    Resistencias Pull-up (habilitables por programa) en el puerto B

    Cada puerto de E/S cuenta dos registros TRISX y PORTX. El registro TRISXtiene asociado un bit a cada lnea del puerto: si el bit se pone a 1, la lnea funciona

    como entrada, y si se pone a 0, la lnea funcionar como salida:

  • 8/12/2019 Prpoyectos Pic

    73/102

    Curso de microrrobtica CnuRT 73

    1input

    0output

    El segundo registro, PORTX, nos permite acceder al puerto. Si se escribe en esteregistro, se modifica el estado de cada lnea que se haya programado como salida. En

    modo lectura, nos informa del estado de las lneas (E/S).No es conveniente realizar una lectura del estado del puerto inmediatamente

    despus de haber realizado una operacin de escritura sobre el mismo.

    Las lneas de E/S estn agrupadas en 5 puertos:

    Puerto A: 6 bits ( pines RA0-RA5),

    El puerto A tiene todas sus salidas Totem pole, excepto la RA4 que esdel tipo Open collector (open drain de forma ms exacta). RA4 puedefuncionar como entrada de reloj externo del TMR0. RA0-RA3 y RA5 estnmultiplexados con el conversor A/D.

    Puerto B: 8 bits (pines RB0-RB7)

    Los pines del puerto RB3, RB6 y RB7 estn multiplexados con elmdulo de programacin del PIC.

    Otra caracterstica del puerto B es que dispone de resistencias Pull-upprogramables, es decir que pueden activarse por software cuando la lneacorrespondiente funciona como entrada. La activacin se realiza con el bitRBPU (bit 7) del registro OPTION_REG (direcciones 81h y 181h).

    Adems la lnea RB0 puede funcionar como entrada de peticin deinterrupcin por flanco de subida o flanco de bajada. Para ello se debe

    activar el bit INTE (bit 4) del registro INTCON (direcciones 0Bh, 8Bh,10Bh y 18Bh). Con el bit INTDEG (bit 6) de OPTION_REG (direcciones81h y 181h) se selecciona si se activa la interrupcin con flanco de subida(1) o de bajada (0). Con el bit INTF (bit 1) del registro INTCON(direcciones 0Bh, 8Bh, 10Bh y 18Bh) puede verse si RB0 ha generado unainterrupcin.

    Los bits RB4 a RB7 tambin pueden generar una interrupcin especialllamanda Interrupt-on-change, es decir, se solicita una interrupcin cadacada vez que se detecta un cambio de estado en cualquiera de los bitsmencionados. Este tipo de interrupcin es bastante usado en teclados. Esta

    interrupcin est controlada por los bits RBIF y el RBIE del INTCON. Puerto C: 8 bits (RC0-RC7)

    Este puerto tiene asociados otros perifricos que se resumen en:

    o RC0: Salida del oscilador o entrada del reloj del TMR1.

    o RC1: Entrada del oscilador del TMR1 o entrada del Capture2 osalida del Capture2 o salida del PWM2

    o RC2: Entrada del Capture1 o salida del Capture1 o salida delPWM1

    o RC3: Entrada/salida de reloj para modo sncrona del mduloSPI, entrada/salida de reloj para modo sncrona del mdulo I2C

  • 8/12/2019 Prpoyectos Pic

    74/102

    Curso de microrrobtica CnuRT 74

    o RC4: Entrada de datos en modo SPI, entrada/salida de datos enmodo I2C

    o RC5: Salida de datos en modo SPI

    o RC6: Salida asncrona del USART (RS232)

    o RC7: Entrada asncrona del USART (RS232)

    Puerto D: 8 bits (RD0-RD7)

    La principal caracterstica del puerto D es que tiene dos modos defuncionamiento: o como un puerto adicional normal del PIC de 8 bits ocomo bus de datos del puerto paralelo esclavo.

    Puerto E (3 bits):

    Las funciones multiplexadas que presenta el puerto E son las siguientes:

    o RE0: bit de control de lectura del puerto paralelo esclavo (RD,

    activo en bajo) o entrada analgica 5o RE1: bit de control de escritura del puerto paralelo esclavo (WR,

    activo en bajo) o entrada analgica 6

    o RE2: bit de control de seleccin del puerto paralelo esclavo (CD,activo en bajo) o entrada analgica 7.

    Los puertos A y B cuando se configuran como entradas, trabajan con nivelesTTL (salvo la lnea RA4), y los puertos C, D y E como Schmitt Trigger (tambinRA4)3.

    10.3.2 Timers

    El PIC tiene 3 temporizadores, numerados del 0 al 2, y un Watch Dog Timer.

    Timer0

    Timer0 es un temporizador/contador de 8 bits de resolucin. Puede ser ledo yescrito a travs del registro TMR0 (direcciones 01h y 101h). La entrada de reloj deltemporizador puede seleccionarse que sea interna o externa:

    Interna: Frecuencia de reloj CPU dividida por 4.

    Externa: Entrada RA4/T0CKI.

    Para configurar la entrada del reloj debe modificarse el bit T0CS (bit 5) delOPTION_REG (direcciones 81h y 181h), de forma que si se escribe un cero, seselecciona el reloj interno (modo temporizador), y si se escribe un 1, se selecciona elreloj externo (modo contador).

    Si se usa un reloj externo, la frecuencia mxima de entrada estar limitada a lamitad de la frecuencia de la entrada de reloj de la CPU.

    La funcin de reloj externo puede ser interesante para contar pulsos/eventos atravs de la entrada RA4/T0CKI. En este caso se puede seleccionar si se activa laentrada por flanco de subida o de bajada, escribiendo en el bit T0SE (bit 5) del

    3Las entradas Schmitt trigger permiten cambios lentos en las variaciones de los niveles lgicos

  • 8/12/2019 Prpoyectos Pic

    75/102

    Curso de microrrobtica CnuRT 75

    OPTION_REG (direcciones 81h y 181h). Un 0 provocara la deteccin del flanco desubida, y con un 1 se detectara el flanco de bajada.

    El Timer0 admite un preescaler o circuito divisor de frecuencia. Para ello seemplea el bit PSA (bit 3) del OPTION_REG (direcciones 81h y 181h). Este preescalerest compartido por el Watchdog, es decir, si se pone el bit a 0, se asigna el preescaleral Timer0, y en el caso de que se escriba un 1 en ese bit, el preescaler ser asignado alWatchdog. Para ajustar el factor de divisin del preescaler se disponen de tres bits:PS2, PS1 y PS0, (bits 2, 1 y 0) del OPTION_REG (direcciones 81h y 181h) queintroducen los factores de divisin mostrados en la siguiente tabla:

    Figura 73. Configuracin del factor de divisin del preescaler del Timer0 y delWatchdog.

    Si se quiere que se genere una interrupcin cada vez que se produzca undesbordamiento/overflow del contador (el valor de contaje pasa de FFh a 00h), sedebe poner a uno el bit T0IE (bit 5) del registro INTCON (0Bh y 8Bh). A travs del

    bit T0IF (bit 2) del registro INTCON (0Bh y 8Bh) puede comprobarse si el timer0 hagenerado una interrupcin.

    Timer1

    El Timer1 es un temporizador/contador de 16 bits. El valor de contaje se accedea travs de los registros TMR1H (0Fh) y TMR1L (0Eh).

    Tal y como sucede ya con el Timer0. la entrada de reloj del temporizador puedeser interna o externa:

    Interna: Frecuencia de reloj CPU dividida por 4.

    Externa: Entrada RC1/T1OSICCP2 y RC0/T1OSO/T1CKI.

    La configuracin de la entrada se realiza a travs del bit TMR1CS (bit 1) delregistro T1CON (10h):

    0reloj interno. 1reloj externo (frec. Max. Es la mitad de la frec. Del reloj del PIC), y

    la activacin del timer se produce en el flanco de subida si y slo si se haproducido antes un flanco de bajada.

    Adems se dispone de un bit que permite activar y desactivar el Timer: bitTMR1ON (bit 0) del registro T1CON (10h).

    Nuevamente, este temporizador dispone de un preescaler no compartido. Estepreescaler est controlado por los bits T1CKPS0 (bit 4) y T1CKPS1 (bit 5) delregistro T1CON (10h). Los factores de divisin vienen dados por la siguiente tabla:

  • 8/12/2019 Prpoyectos Pic

    76/102

    Curso de microrrobtica CnuRT 76

    Figura 74. Configuracin del factor de divisin del pre