DESARROLLO Y CONSTRUCCION  DE   UN MICROBOT

 

                                        1.INTRODUCCIÓN. LA MICROBOTICA

Estamos en el nuevo siglo XXI y nuestra casa nose parece a aquellas que se veían en las peliculas. No tenemos un mayordomo robotico,ni somos saludados al entrar por una pantalla que nos preguntan que tal nos ha ido el dia.¿O quizas si?Lo cierto es que existe mas tecnología de la que se piensa trabajando a nuestro alrededor,aunque de tipo industrial,y la de consumo sigue desarrollandose para acercarse cada vez a un publico mas extenso.

El "cerebro" del robot lo constituye un microcontrolador PIC 16F84, que es, posiblemente, la mejor elección hoy en día para este tipo de automatismos. Además de su pequeño tamaño, su bajo precio, su bajo consumo (importante en circuitos con pequeñas baterías) y la sencillez de su código, es programable y borrable eléctricamente desde cualquier PC. A continuación muestro la pequeña placa donde se aloja el PIC, que constituye la parte principal del microbot. En ella se observa el cuarzo de 4 MHz (frecuencia de reloj para el microcontrolador) y el regulador de tensión de 5v LM7805, que rebaja la tensión de la pila de 9v que alimenta a toda la parte electrónica del robot. También hay un interruptor de alimentación y un LED indicador de encendido.

 

Cristal de cuarzo 4 MHz

Pic 16F84

Regulador de Tension LM317T.....

circuito1.jpg (14174 bytes)

 

 

2.-CARACTERÍSTICAS DEL PIC 16F84 Y BREVES ANTECEDENTES RELACIONADOS.

-. Breves antecedentes relacionados.
Inicialmente cuando no existían los microprocesadores las personas se ingeniaban en diseñar sus circuitos electrónicos y los resultados estaban expresados en diseños que implicaban muchos componentes electrónicos y cálculos matemáticos. Un circuito lógico básico requería de muchos elementos electrónicos basados en transistores, resistencias, etc; pero en el año 1971 apareció el primer microprocesador el cual originó un cambio decisivo en las técnicas de diseño de la mayoría de los equipos. Al principio se creía que el manejo de un microprocesador era para aquellas personas con un coeficiente intelectual muy alto; por lo contrario con la aparición de este circuito integrado todo sería mucho mas fácil de entender y los diseños electrónicos serian mucho mas pequeños y simplificados. Entre los microprocesadores mas conocidos tenemos el popular Z-80 y el 8085. Los diseñadores de equipos electrónicos ahora tenían equipos que podían realizar mayor cantidad de tareas en menos tiempo y su tamaño se redujo considerablemente; sin embargo, después de cierto tiempo aparece una nueva tecnología llamada microcontrolador que simplifica aun mas el diseño electrónico.

.- Diferencias entre un Microprocesador y un Microcontrolador.
Si usted tuvo la oportunidad de realizar un diseño con un microprocesador pudo observar que dependiendo del circuito se requerían algunos circuitos integrados adicionales además del microprocesador como por ejemplo: memorias RAM para almacenar los datos temporalmente y memorias ROM para almacenar el programa que se encargaría del proceso del equipo, un circuito integrado para los puertos de entrada y salida y finalmente un decodificador de direcciones.
Un microcontrolador es un solo circuito integrado que contiene todos los elementos electrónicos que se utilizaban para hacer funcionar un sistema basado con un microprocesador; es decir contiene en un solo integrado la Unidad de Proceso, la memoria RAM, memoria ROM, puertos de entrada, salidas y otros periféricos.

-. Ventajas de un Microcontrolador Vs. un Microprocesador.
Estas ventajas son reconocidas inmediatamente para aquellas personas que han trabajado con los microprocesadores y después pasaron a trabajar con los microcontroladores. Estas son las diferencias mas importantes:
Por ejemplo la configuración mínima básica de un microprocesador estaba constituida por un Micro de 40 Pines, Una memoria RAM de 28 Pines, una memoria ROM de 28 Pines y un decodificador de direcciones de 18 pines; pero un microcontrolador incluye todo estos elementos en un solo Circuito Integrado por lo que implica una gran ventaja en varios factores: En el circuito impreso por su amplia simplificación de circuiteria, el costo para un sistema basado en microcontrolador es mucho menor y, lo mejor de todo, el tiempo de desarrollo de su proyecto electrónico se disminuye considerablemente.
Existen unos microcontroladores mas avanzados que otros por los componentes especiales que estos incluyen. Algunos solamente contienen puertos de entrada y de salida, otros incluyen pines hasta de 12 Bits para conversiones analógicas digitales entre otros. Podemos mencionar algunas características especiales que poseen los microcontroladores actuales: Modulación por ancho de pulso, Comunicación Serial Sincrona, Comunicación Serial Asíncrona, Temporizadores, Contadores, etc.
-. Los Microcontroladores, aspecto básico general.
En la actualidad existen muchos microcontroladores de diferentes empresas reconocidas mundialmente, pero nuestra meta especifica es tratar el microcontrolador de la empresa Microchip Tecnologies modelo PIC16F84.
-.¿Que es un Microcontrolador ?.
Un microcontrolador es un circuito integrado programable que contiene internamente todos los componentes de un computador. Este se utiliza para controlar el funcionamiento de una tarea determinada. Sus pines de entradas y salidas se utilizan para conectar motores, relays, actuadores, etc. Una vez que el microcontrolador esta programado, se encargara de ejecutar al pie de la letra la tarea encomendada.

              

          MICROCONTROLADOR PIC 16F84
-. Conociendo al Microcontrolador PIC16F84.
El microcontrolador PIC16F84 es un circuito integrado fabricado por la empresa Microchip Tecnologies y es actualmente uno de los mas utilizados a nivel mundial, la razón de esto es por que son sencillos, rápidos, modernos y principalmente baratos, se podrán escribir los programas y borrarlos muchísimas veces, poseen gran documentación a nivel mundial en la Red de Internet y esta accesible para la mayoría de los bolsillos. Existen microcontroladores que una vez programados con el programa de control estos tienen que ser borrados con luz ultra violeta en el caso de requerir borrar el programa. Para el caso del PIC16F84, este podrá ser programado Eléctricamente con una circuiteria que proporciona la empresa Microchip Tecnologies. Este programador es sumamente sencillo y debe ser conectado al puerto paralelo de su computador.
-. Características Básicas del PIC16F84.
El Microcontrolador PIC16F84 es un circuito integrado de 18 pines fabricado con tecnología CMOS, existen en diferentes versiones de encapsulado como por ejemplo el DIP (Versión convencional ) y el SOIC ( Montaje superficial ). La frecuencia de trabajo esta entre 4 Mhz y 20 Mhz. Las versiones que se estipulan en una frecuencia de trabajo de 4 Mhz podrán trabajar sin ningún problema hasta los 10 Mhz, prueba que hemos realizado muchas veces en nuestros diseños. Observemos la siguiente imagen que muestra como están organizados los pines del microcontrolador PIC16F84:
-. Identificación de los Pines utilizados para los puertos de entrada y salidas.
En la imagen anterior se podrá observar claramente que el microcontrolador tiene dos puertos denominados "A" y "B". El puerto "A" tiene 5 líneas disponibles (RA0, RA1, RA2, RA3, RA4 ) y el puerto "B" tiene 8 lineas disponibles (RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7 ). Ambos Puertos suman un total de 13 lineas que podrá ser programadas independientemente como entradas o como salidas. Estas son las lineas que estarán destinadas para comunicar el microcontrolador con el mundo exterior, como por ejemplo: Un motor Paso a Paso, Diodos Luminosos "Leds", Módulos LCD, Teclados Matriciales, etc. También observe que el Pin No. 3 perteneciente al puerto "A" = RA4 también tiene otra nomenclatura denominada "TOCKI" lo cual quiere decir que esta línea podrá ser programada como entrada, salida y temporizador/contador.
-. Identificación de los pines de alimentación del Microcontrolador.
El microcontrolador trabaja con una tensión de 5 Vlts. DC y los pines para ello son el Pin No. 14 (+) y el Pin No. 5 (-).

El pic 16f84 tiene dos puertos. El puerto A con cinco líneas y el puerto B con 8 líneas. Cada pin se puede configurar como entrada o como salida independiente programado por un par de registros diseñados para tal fin. En ese registro con un 0 configura el pin del puerto correspondiente como salida y un 1 lo configura como entrada.

-Puerto A
RA0 = Pin de entrada / salida (TTL)
RA1 = Pin de entrada / salida (TTL)
RA2 = Pin de entrada / salida (TTL)
RA3 = Pin de entrada / salida (TTL)
RA4/TOCKI = Pin de entrada / salida o entrada de Reloj Externo para TMR0, cuando este pin se configura como salida es de tipo Open Drain (ST), cuando funciona como salida se debe conectar a Vcc (+5V) a traves de una resistencia.
-Puerto B
RBO / INT = Pin de entrada / salida o entrada de interrupción externa (TTL/ST)
RB1 = Pin de entrada / salida (TTL)
RB2 = Pin de entrada / salida (TTL)
RB3 = Pin de entrada / salida (TTL)
RB4 = Pin de entrada / salida con interrupción por cambio de flanco (TTL)
RB5 = Pin de entrada / salida con interrupción por cambio de flanco (TTL)
RB6 = Pin de entrada / salida con interrupción por cambio de flanco (TTL/ST)
RB7 = Pin de entrada / salida con interrupción por cambio de flanco (TTL/ST)
-Pines adicionales
MCLR = Pin de reset del microcontrolador (Master Clear). Se activa (el pic se reinicia) cuando tiene un “0” lógico en su entrada.
Vss = Ground o Masa
Vdd = Fuente positiva (+5V)
OSC2/CLKOUT = Entrada del oscilador del cristal / entrada de reloj de una fuente externa
El puerto B tiene internamente unas resistencias de pull-up conectadas a sus pines (sirven para fijar el pin a un nivel de cinco voltios), su uso puede ser habilitado o deshabilitado bajo el control del programa. Todas las resistencias de pull-up es desconectada automáticamente en un pin si este se programa como salida. El pin RB0/INT se puede configurar por software para que funcione con interrupción externa.
El pin RA4/TOCKI del puerto A puede ser configurado como un pin de entrada / salida como se mencionaba anteriormente o como entrada del temporizador / controlador. Cuando este pin se programa como entrada digital, funciona como un disparador de Schmitt (Schmitt trigger, ST), esto quiere decir que puede reconocer señales un poco distorsionadas y llevarlas a niveles lógicos (cero y cinco voltios). Cuando se usa como salida digital se comporta como colector abierto, por lo tanto se debe poner una resistencia pull-up (resistencia externa conectada a un nivel lógico de cinco voltios). Como salida, la lógica es inversa: un “0” escrito al pin del puerto entrega en el pin un “1” lógico. Además como salida no puede manejar cargas como fuente, sólo en el modo sumidero.
Como este dispositivo es de tecnología CMOS, todos los pines deben estar conectado a alguna parte, nunca dejarlos al aire por lo que se puede dañar el integrado. Los pines que se estén usando se deben conectar la fuente de alimentación +5V con una resistencia de < 5 K Ohmio
La máxima capacidad de corriente de cada uno de los pines de los puertos en modo sumidero (sink) es de 25 mA y en modo fuente (source) es de 20 mA
El consumo de corriente del microcontrolador para su funcionamiento depende del voltaje de operación, la frecuencia y de las cargas que tengan sus pines.

   


-. Ventajas de un Microcontrolador Vs. un Microprocesador.
Estas ventajas son reconocidas inmediatamente para aquellas personas que han trabajado con los microprocesadores y después pasaron a trabajar con los microcontroladores. Estas son las diferencias mas importantes:

Por ejemplo la configuración mínima básica de un microprocesador estaba constituida por un Micro de 40 Pines, Una memoria RAM de 28 Pines, una memoria ROM de 28 Pines y un decodificador de direcciones de 18 pines; pero un microcontrolador incluye todo estos elementos en un solo Circuito Integrado por lo que implica una gran ventaja en varios factores: En el circuito impreso por su amplia simplificación de circuiteria, el costo para un sistema basado en microcontrolador es mucho menor y, lo mejor de todo, el tiempo de desarrollo de su proyecto electrónico se disminuye considerablemente.
Existen unos microcontroladores mas avanzados que otros por los componentes especiales que estos incluyen. Algunos solamente contienen puertos de entrada y de salida, otros incluyen pines hasta de 12 Bits para conversiones analógicas digitales entre otros. Podemos mencionar algunas características especiales que poseen los microcontroladores actuales: Modulación por ancho de pulso, Comunicación Serial Sincrona, Comunicación Serial Asíncrona, Temporizadores, Contadores, etc.
-. Los Microcontroladores, aspecto básico general.
En la actualidad existen muchos microcontroladores de diferentes empresas reconocidas mundialmente, pero nuestra meta especifica es tratar el microcontrolador de la empresa Microchip Tecnologies modelo PIC16F84.
-. ¿Que es un Microcontrolador ?.
Un microcontrolador es un circuito integrado programable que contiene internamente todos los componentes de un computador. Este se utiliza para controlar el funcionamiento de una tarea determinada. Sus pines de entradas y salidas se utilizan para conectar motores, relays, actuadores, etc. Una vez que el microcontrolador esta programado, se encargara de ejecutar al pie de la letra la tarea encomendada.

          

3.-LISTA DE COMPONENTES Y BREVE DESCRIPCION.

DESARROLLO DE PROYECTOS DE PRODUCTOS ELECTRÓNICOS
   PRESUPUESTO PARA MICROBOT
Producto Coste Unidad Nº Productos Coste Total
 Motor 48paso/vuelta 5Vlts. 250mA Bipolar CC 8,26 € 2 16,52 €
Sensor de detección infrarrojos IS471F-SH 5,09 € 1 5,09 €
PIC 16F84A-04/P (manual.pdf) 4,96 € 1 4,96 €
Batería 4,8 V/600 mA 5,5 x 5 x1,3 cm 4 batt R6 12,20 € 1 12,20 €
L293 (control mando  motores) 7,87 € 2 15,74 €
Regulador ajustable tensión LM317T 0,51 € 1 0,51 €
Cristal de cuarzo 4Mhz Xtal 0,84 € 1 0,84 €
Transistor BC547B 0,09 € 1 0,09 €
Resistencias (6Ω8 y 180Ω) 0,10 € 2 0,20 €
Condensador 10uF 0,17 € 1 0,17 €
Condensador 15-18pF 0,17 € 2 0,34 €
Total sin IVA: 57,17 €
16% IVA: 9,15 €
Total: 66,32 €

 

                   

3.1.-BREVE DESCRIPCIÓN DE LOS COMPONENTES UTILIZADOS

                                     MOTORES PASO A PASO UNIPOLARES

                                       Pequeña introducción a los motores Paso a Paso

Los motores Paso a Paso son motores en los que podemos controlar el desplazamiento del rotor en función de tensiones que se aplican a las bobinas. Por lo que podemos conseguir controles de los desplazamiento adelante y detrás y determinado numero de pasos por vuelta.

En los motores paso a paso debemos diferenciar los motores unipolares de los bipolares, los unipolares . Los motores unipolares se llaman así porque la corriente que circula por los diferentes bobinados siempre circula en el mismo sentido. En los motores bipolares para que el motor funcione la corriente que circula por los bobinados cambia de sentido en función de la tensión que se aplica. por lo que un mismo bobinado puede tener en uno de sus extremos distinta polaridad (bipolar). 

Motor unipolar lo utilizaremos para la construcción del microbot:

Algunos motores tienen los bobinados de tal manera que en función de puentes pueden convertirse en unipolares o bipolares.

Lo mas importante de un motor es saber el tipo de motor que es, la potencia, el numero de pasos, el par de fuerza, la tensión de alimentación y poco mas si son motores sencillos. 

En los motores unipolares el punto medio de ambos bobinados es alimentado eléctricamente por uno de los polos y el otro polo de alimentación se aplica a los diferentes terminales de los bobinados siguiendo un determinado ritmo que hace que el motor funcione en determinada dirección y velocidad.

Para el funcionamiento del un motor unipolar, uno de los sistemas mas sencillos y económicos es hacerlo funcionar a través de un circuito integrado denominado ULN2003.

Lógicamente la entrada a este circuito integrado esta controlado por un microcontrolador, las entradas 1,2,3,4 corresponden a las puertas de salida de un microcontrolador y las salidas denominadas 1, 2, 3 y 4 corresponden a las entradas del motor .

 

                                                             

 

                                                   EL DRIVER L293B

Es un circuito integrado de 16 patillas compuesto por 4 canales que pueden soportar una corriente de hasta 1 A. Cada canal o driver es controlado por una señal de permiso EN, compatible TTL, y cada pareja dispone también de una señal de habilitación que puede desconectar sus salidas. Cada canal permite pasar la señal de entrada aplicada en IN a la salida OUT, cuando la señal de control EN esta activada. En las figuras se muestra el diagrama de conexionado del L293B con la misión de cada patita y un diagrama por bloques con la tabla de la verdad correspondiente a cada canal.
                    

                                               EL BUMPER: SENSOR DE CONTACTO

Se trata de un dispositivo de estructura mecánica, funcionamiento sencillo y económico, que es muy apreciado y utilizado en microbotica, porque permite detectar cuando se produce un contacto entre la superficie del robot móvil y cualquier obstáculo.

FUNCIONAMIENTO Y MANEJO

El terminal común ( C )del bumper esta permanentemente en contacto con el terminal de reposo ( R ) , lo cual sucede cuando la lamina móvil no esta presionada. Cuando se presiona dicha lamina y se cierra el contacto, el terminal C pasa a ponerse en contacto con el terminal A (Activado), al mismo tiempo que se deconecta de R.

               

4.-EJEMPLO DE HARWARD UTILIZADO.

WINPIC PROGRAMMER:

               Diferencias entre este programador y uno convencional.


-Los pasos a seguir para desarrollar una aplicación con un PIC16F84 usando un programador convencional son:
 1º- Insertar el microprocesador en el zócalo del programador, alimentar el programador.
 2º-Volcar el programa a la memoria del PIC
 3º-Desconectar el programador, sacar el PIC del zócalo del programador
 4º- Insertar el PIC en el zócalo del circuito impreso de la aplicación en desarrollo, alimentar la placa
 5º-Descubrir con desesperación que por enésima vez que el programa no es correcto
 6º-Volver a repetir los cinco anteriores pasos hasta conseguir un programa depurado y estable que cumpla nuestras especificaciones.

Pues bien, HARTO DE ESTA TEDIOSA TAREA, a parte de haber tirado varios micros a la basura al romper alguna patilla.
Decidí diseñar un programador que eliminase la mayoría de estos inconvenientes, los requisitos tenían que ser:
 1º- No tener que sacar en ningún momento el PIC de su zócalo, evitando la rotura de las patillas del chip.
 2º-No tener que desconectar ni cables ni tensiones del programador, ni del circuito en desarrollo.
 3º-Poder ejecutar inmediatamente el programa sobre la aplicación real después de programar el PIC.
 

 

5.-PROGRAMAS PARA CONTROLAR LOS MOTORES Y MAS PRÁCTICOS.

5.1.-DIAGRAMA DE FLUJOS PARA EL PROGRAMA EN ENSAMBLADOR.

EJEMPLOS:

LIBRERIA PARA PIC 16F84
MOTOR1.ASM SENSOR1.ASM SENSOR6.ASM
MOTOR2.ASM SENSOR2.ASM PAP1.ASM
MOTOR3.ASM SENSOR3.ASM PAP2.ASM
MOTOR4.ASM SENSOR4.ASM LCD.ASM
MOTOR5,ASM SENSOR5.ASM MICROBOT.ASM( Programa principal)

 

 

7.-DOCUMENTACIÓN.

-Para hacer este pequeño proyecto interesante me ha basado en una documentación extraida de paginas de Internet de microcontroladores, motores,sensores,tiendas de electronica;tambien e cogido información de los libros dados por el profesor Juan Muñoz para el curso 2°curso de Desarrollo de Proyectos.

                                                                                                                                         

8.-PAGINAS A DESTACAR.

Empresa fabricante de los PIC: www.microchip.com

Página sobre microcontroladores PIC y Robótica: http://www.micropic.arrakis.es/

Bibliografía sobre microcontroladores PIC: http://www.microcontroladores.com/

Página de Fernando Remiro (profesor de un I.E.S.) con varios proyectos en los que se emplean los microcontroladores PIC e instrucciones sobre el manejo de pantallas LCD: http://teleline.terra.es/personal/fremiro/

Página de electrónica en la que a veces puedes encontrar algo relacionado con los PIC: http://www.odisea2010.com.

 

                    TRABAJO REALIZADO POR: PEDRO PABLO BARROSO GONZÁLEZ.