Estructura de Un ROBOT
Estructura de Un ROBOT
htm
Estructura de un Microbot
Para analizar la estructura de un microbot utilizaremos la clasificacin que la empresa Microbtica, una de las pioneras en este campo en Espaa, utiliza y que denomina la torre de Bot o torreBot, que es una clasificacin donde desde el nivel 1 al seis indica un paso en el diseo y construccin del microbot.
Nivel de Cooperacin Nivel de comunicacin Nivel de Inteligencia Nivel de Control Nivel de Reaccin Nivel Fsico
1. Nivel Fsico: Comprende la estructura fsica, las unidades motoras, y las etapas de potencia. Es posible encontrar desde sistemas sumamente sencillos basados en un nico motor, hasta estructuras sumamente complejas que buscan emular las capacidades mecnicas de algunos insectos.
1. Nivel de reaccin: Est formado por el conjunto de sensores, as como los sistemas bsicos para su manejo (circuitos de polarizacin). Estos transductores cubren un amplio margen de posibilidades, as podemos encontrar desde simples bumpers ( finales de carrera), hasta micro cmaras digitales con sistemas de reconocimiento.
Un microbot que haya superado en cuanto a su construccin tanto el nivel fsico como el de reaccin, se denomina microbot reactivo. Este tipo de unidades, trabajan cumpliendo la premisa, accin-reaccin. En este caso, los sensores son los propios controladores de las unidades motoras, sin ningn tipo de control intermedio. 3. Nivel de Control: Incluye los circuitos ms bsicos que relacionan las salidas de los sensores con las restantes unidades. Partiendo de una simple lgica digital hasta potentes microcontroladores, se busca dotar al microbot de la capacidad para procesar la informacin obtenida por los sensores, as como actuar de una manera controlada sobre las unidades motoras. 4. Nivel de Inteligencia: Abarca la planificacin a largo plazo; en este nivel, se introducen los objetivos del microbot que tienen relativa idependencia de los sensores. Este es el ms alto nivel de inteligencia que puede alcanzar un microbot como una unidad individual. 5. Nivel de comunidad: Se trata de la puesta en funcionamiento de ms de un microbot dentro de un mismo entorno de forma simultnea y sin que ninguno de ellos tenga conocimientos explcitos de la existencia de otros en su mismo entorno. A estos recintos se los denomina granjas. Los centros de investigacin utilizan las granjas como entornos de observacin de los microbot. Dichos establecimientos pueden contar con sistemas sofisticados que permitan a un operario monitorizar el comportamiento de la comunidad as como alterar las condiciones externas del sistema (agregar obstculos, cambiar la temperatura, etc...) 6. Nivel de Cooperacin: Comprende los sistemas donde a partir de un nivel de comunidad, se planifican o programan los microbot para que tengan conocimiento de la existencia de otros, de manera que posean la capacidad de cooperar para el buen desarrollo de una tarea. *****************
Por Segundo (RPS) es muy elevado, lo que no les hace muy apropiados para la construccin de un microbot que por ejemplo siga una lnea, si no se utilizan reductores adicionales o un sistema de regulacin electrnico.
Motores de corriente continua con reductores, en los juguetes del tipo Mecano o Lego, podemos encontrar motores con reductores o sistemas reductores para acoplar a los motores. Esta es una buena opcin si se dispone de ellos, en caso contrario, existen en el mercado motores reductores como los que se muestran en la siguiente tabla con Figuras, que adems de disminuir la velocidad le dan ms potencia al microbot para mover por su estructura y la batera (que proporcionalmente pesa mucho) y otros objetos para lo cual se necesita disponer de motores con buen par de arranque.
Motor reductor de relacin 194:1 con doble eje 2,4x6 mm, tensin de trabajo entere 1,5 V y 12 V
Motor reductor de relacin 23:1 con doble eje 4x40 mm, tensin de trabajo entere 1,5 V y 12 V
Motor con reductor de relacin 17:1 con doble eje de 4x20 mm, tensin de trabajo entere 1,5 V y 12 V
Motor reductor de relacin 10:1 con doble eje de 2x20 mm, tensin de trabajo entere 1,5 V y 4,5 V
Sevomotores de los utilizados en modelismo y radiocontrol, se trata de unos motores con un circuito electrnico al que dedicaremos un capitulo cuando intentemos construir un microbot del tipo hexpodo (es decir un criatura de 6 patas como los insectos), estos servomotores cumplen una caractersticas que les hacen idneos para la construccin de nuestro microbot, tales como un buen par de salida, potencia suficiente para trasladar objetos o una batera , baja inercia, son capaces de mover 3,5 Kg x cm, incluyen multitud de accesorios para poder fijar las ruedas del microbot, son fciles de fijara a una estructura plana al ir dentro de una carcasa de platico rectangular con soportes para fijar los tornillos. Pero tienen un pequeo inconveniente y es que hay que trucarlos para que el eje del motor pueda girar los 360 ya que normalmente no giran ms de 180 por motivos de seguridad en las aplicaciones para las que estn diseados. El trucado de los servomotores los har inservibles para su uso en radiocontrol pero desde luego para nuestro fin no tiene ningn problema. Seguidamente se muestra los pasos a realizar para convertir los servomotores en motores con desmultiplicadores es decir, como trucar el servomotor. Casi todos los servomotores son iguales, nosotros vamos a trucar el que tenemos a mano que es Hitec modelo HS-300BB.
Los servomotores de origen son tan solo capaces de girar como mucho hasta 180 como es requerido para las aplicaciones para las que estn pensadas inicialmente, esta restriccin viene impuesta por unos topes mecnicos que limitan el giro a 180 y un circuito electrnico. Si eliminamos las dos cosas podemos conseguir el giro de 360 y por lo tanto que se comporte como un motor de DC con caja reductora
Quitamos el tornillo que sujeta el soporte de la rueda tractora al eje que es estriado, por lo que habr que sacarla despus a presin.
Se quitan los cuatro tornillos de la tapa posterior y al quitarla se pueden ver un circuito electrnico que en nuestro caso est metido a presin, para poder quitarlo hay que quitar el tornillo que sujeta el
eje potencimetro por la parte de los engranajes que estn en la cara opuesta a la que hemos abierto.
En esta figura podemos apreciar los engranajes de la etapa reductora cuya misin es reducir la velocidad del motor y dar mayor potencia y par de arranque al sistema.
Desmontar las ruedan dentadas, teniendo mucho cuidado de no perder ninguna de ellas prestar atencin al pequeo eje que hay entre las ruedas intermedias, en algunos modelo de servomotores es mvil, en nuestro caso est fijado a la carcasa. Con unos alicates de punta plana, podemos quitar ahora la tuerca que sujeta el potencimetro.
Ahora ya podemos desmontar la placa del circuito impreso y el potencimetro ayudndonos con un destornillador haciendo un poco de palanca.
Desoldamos el los cables que estn conectado al motor para desprenderlo del circuito impreso. Hacemos lo mismo con los cables que conectan el exterior a la placa de circuito impreso para poder reutilizarlos. Seguidamente conectaremos dos de estos tres cables al motor, conectar el rojo al terminal con el punto rojo y el negro al otro, eliminando el tercero que no se utiliza
Ahora eliminamos el limitador mecnico que consiste en una pestaa de la rueda dentada, para utilizamos unos alicates de corte tal y como se muestra en la figura. Utilizar una lima para eliminar los restos de la pestaa. Tener mucho cuidado para no romper la rueda por que se volvera inservible el servomotor. En caso de partir la rueda se puede intentar pegar con un pegamento de contacto.
Volver a montar las ruedas dentadas de la caja reductora fijndose en la figura para no confundirse y tener mucho cuidado de no forzar ninguno de los engranajes, de manera que puedan deteriorarse. La tapa superior deber de entrar sin forzarla, en nuestro caso tener cuidado con el eje de las ruedas superior e inferior que est en la propia carcasa.
Atornillar nuevamente la tapa inferior pero es aconsejable hacer antes un nudo en los cables del motor y dejar el nudo en el interior para que proteja las soldaduras en el caso de tirar del cable.
Pues bien, ya tenemos uno de los motores preparados para nuestro microbot, deberemos hacer lo mismo con el otro para tener la pareja necesaria. Para fijar esta estructura al chasis de nuestro microbot, tan solo tendremos que conseguir unas escuadras con unos taladros o hacerlas nosotros mismos con un trozo de aluminio y la ayuda de un tornillo de banco. Si utilizamos cualquiera de los otros tipos de motores de corriente continua que se han mostrado la fijacin al chasis puede ser ms o menos compleja, nosotros te damos dos. Si el motor tiene una carcasa redonda, que es lo normal, se puede utilizar una grapa de las utilizadas para fijar el tubo de las instalaciones elctricas de superficie, tal y como se muestra en la Foto
Otra opcin por ejemplo es utilizar bridas de plstico, tambin conocidas como conectores unex para la fijacin de los motores al chasis del microbot.
Fijar este motor es relativamente fcil debido a que es prcticamente plano, adems tiene unas pequeas muescas para poder fijar en la superficie del chasis
En este caso hemos colocado una escuadra de un mecano sobre las que se fijan en motor con ayuda de una bridas, Esto permite atornillar al chasis el motor en la mejor posicin y con bastante
robustez
3 parte: Estructura
ESTRUCTURAS
Para la construccin de nuestro microbot podemos utilizar muchos tipos de estructuras, que dependern de la funcin que queramos realizar, no es lo mismo disear un robot bpedo que un rastreador. Unas de las estructuras ms utilizadas es la de los juegos educacionales de construccin tipo Lego, Mecano o Eitech interesantes por su flexibilidad, y de forma un poco ms profesional las estructura de los Fischertechnik que fueron diseadas originariamente para aplicaciones tcnicas tanto estticas como de estructuras mecnicas con movimiento.
Una estructura realizada con un Mecano es por ejemplo el caso del Pvot-1 de la empresa Microsystems Engineering que se muestra en la Figura 2, donde podemos ver como sus diseadores han integrado hbilmente la placa de circuito impreso de control en la estructura mecnica y justamente debajo de l se encuentra alojada una batera de plomo de 12V y 0,8 mA/h.
Para el caso de nuestro rastreador que no debe salvar obstculos y que ser un microbot experimental de bajo coste, podemos utilizar una estructura mas sencilla como por ejemplo un trozo de metacrilato, poliestireno, PVC, placa de circuito impreso o incluso puede servirnos la caja de plstico de un Compact Discs. En nuestro caso vamos a utilizar dos placas de poliestireno blanco de 180 x 13,5 mm, pero pueden utilizarse otras medidas, el hecho de utilizar dos placas, es por que de esta manera, como luego se ver, se pueden poner las bateras en el piso inferior y el circuito de control de los motores y sensores en el superior. A la hora de disear la traccin del microbot utilizando ruedas, podemos pensar en varias opciones que podemos utilizar dependiendo de la aplicacin que se le quiera dar a nuestro microbot de investigacin. As pues, podemos optar por una estructura formada por dos ruedas a traccin independientes y una rueda loca como la que se muestra en el diagrama de la Figura 3a, o por una arquitectura de triciclo, como la de la Figura 3b, formada por dos ruedas de traccin y una de direccin independientes o por una estructura similar a los coches tradicionales formada por dos ruedas tractoras con control de la direccin y dos ruedas sin traccin como la que se muestra en la Figura 3c
Figura 3d .- Estructura para el diseo de nuestro microbot Figura 3 c.- Estructura tipo coche
Las ruedas locas , deben ser capaces de rodar y pivotar sobre si mismas, al igual que las ruedas motrices debern de ser capaces de adaptarse a los obstculos del terreno. Su movimiento alrededor del eje sobre el que pivota debe ser lo ms suave posible, para no dificultar la rotacin del microbot, de lo contrario es posible que se bloquee y patine si no se elige de forma adecuada, Las soluciones para este tipo de ruedas pueden ser muchas, nosotros hemos optado por una rueda que gira libremente sobre su eje gracias a una pequea plataforma con rodamientos de las que podemos encontrar casi en cualquier ferretera, adems hay un
gran surtido de ellas en lo referente a tamaos (Foto 4). Otra opcin podra ser utilizar la bola de un roln de desodorante, a la que se le adapten una pequeas escuadras para fijarla a la estructura. Respecto a las ruedas motrices que hemos utilizado para la traccin del microbot son de las utilizadas en juguetes y que se pueden encontrar fcilmente en las tiendas que venden material a los centros de educacin secundara para la asignatura de Tecnologa, tambin pueden fabricarse de madera o utilizar unos discos compactos estropeados y por supuesto tambin pueden comprarse en tiendas de modelsmo, estas suelen ser mejores pero mucho ms caras.
Figura 4.a.- Movimiento hacia delante, se hacen girar los dos motores en la misma direccin hacia delante (sentido horario) . Esto provoca un movimiento rectilnea suponiendo que los dos motores son exactamente iguales.
Figura 4.b.- Movimiento hacia atrs, se hacen girar los dos motores en la misma direccin hacia atrs (sentido contrario a la agujas del reloj). Esto provoca un movimiento rectilnea suponiendo que los dos motores son exactamente iguales.
Figura 4.c.- Movimiento de giro a la derecha, se hacen girar el motor izquierdo en sentido horario (hacia delante) y el motor de la derecha en sentido antihorario (hacia atrs). Esto provoca un movimiento de giro a la derecha de la estructura
Figura 4.d.- Movimiento de giro a la izquierda, se hacen girar el motor izquierdo en sentido antihorario (hacia atrs) y el motor de la derecha en sentido horario (hacia adelante). Esto provoca un movimiento de giro a la izquierda de la estructura
Figura 4.e.- El movimiento de giro completo sobre su propio eje, abarca una superficie muy grande que no hace la estructura muy adecuada para moverse en recintos muy pequeos, como podra ser el caso de movimientos en pruebas de laberintos.
PROCESO DE CONSTRUCCIN:
En primer lugar marcamos las placas con un rotulador, para poder luego taladrar a 10 mm de cada esquina. Esto lo haremos sin quitar el plstico protector contra araazos que llevan pegadas por encima las placas de poliestireno, de esta manera, despus quedarn totalmente limpias y sin araazos.
Foto1.- Trazado de las placas de poliuretano Una vez marcadas las placas pasamos a taladrar cada una de las placas utilizando un taladro de sobremesa. Utilizaremos una broca para metal de 3 mm, ya que estos taladros son para fijar posteriormente unos separadores metlicos de los utilizados para fijar las palcas de circuito impreso a los chasis o cajas. Foto 2.- Taladro de la placas utilizando un taladro de sobremesa En este primer montaje utilizaremos dos motores que vamos de corriente continua con caja reductora de 17:1 con doble eje que trabaja con tensiones de 1,5V a 12 V, previamente le haremos tambin unos taladros de 3 mm como los que se muestran en la foto 3 para su posterior fijacin a la placas base mediante tornillos. Estos motores tienen la ventaja de su bajo precio pero el Foto 3.- Motor con reductor de doble eje sobre el que inconveniente de que la se han realizado 3 taladros para su anclaje con velocidad que alcanzan en tornillos a la estructura del microbot. grande y por lo tanto son ms
difciles de controlar.
Antes de realizar el montaje, se recomienda soldar unos cables flexibles a los terminales del motor, ya que ahora ser mas fcil que cuando est montado. Como tercer punto de apoyo de nuestra estructura vamos a utilizar una rueda loca de las que se pueden encontrar prcticamente en cualquier ferretera, estas concretamente las hemos comprado en el Rastro Madrileo, utilizaremos la mas pequea que es la que mejor se adaptaba a nuestra estructura. Como rueda loca puede incluso utilizarse un roln de desodorante con la oportuna adaptacin para fijarla en la Foto 4.- Ruedas locas, nosotros utilizamos la ms estructura. pequea en nuestro prototipo. El siguiente paso es fijar los motores y la rueda loca a nuestra estructura utilizando tornillos, es recomendable que todos los tornillos sean del mismo paso por ejemplo de mtrica 3, de esa forma podremos intercambiarlos y adems de esta forma con una sola broca podremos hacer todos los taladros. Estamos ya preparados para montar el piso superior. Foto 5.- Motores con sus ruedas y la rueda loca fijadas ala estructura inferior del microbot
Para montar el piso superior hemos utilizado separadores de los utilizados por los circuitos impresos para fijarlos a los chasis metlicos. Para conseguir una separacin de 30 mm hemos utilizado cuatro separadores de 20 mm y otros cuatro de 10 mm y los correspondiente tronillos de 20 y 10 mm.
Foto 6.- Las dos plataformas montadas y preparadas para soportar la batera o bateras del microbot y su circuitera electrnica
Pulsar aqu para ver el esquema Figura 1.- Circuito de control del microbot utilizando transistores en un puente en H
receptor. Los valores de las resistencias son tpicamente de RT=10K para el fototransistor, mientras que para el diodo emisor es RD=220, siendo tpicos los dos montajes que se indican en la Figura 2.
En el circuito por el que nos hemos inclinado en el diseo es el de la opcin a, de manera que cuando el sensor est sobre la lnea negra la luz es absorbida y el fototransistor se mantiene en corte, por lo que a la salida el circuito entrega un nivel bajo, mientras que cuando el sensor est sobre el fondo blanco que refleja la luz, el fototransistor se satura y a la salida del circuito obtenemos un nivel alto. El funcionamiento del circuito b es justamente al contrario, cuando el sensor est sobre la lnea negra, el fototransistor permanece en corte y entregando a la salida un nivel alto en el colector, mientras que si se encuentra sobre un fondo blanco, el haz infrarrojo se refleja y el fototransistor se satura entregando a la salida del circuito un nivel bajo.
asciende desde 0V hasta un nivel alto, la transicin se produce siguiendo la curva A y se produce para el valor VT+ denominado umbral ascendente. Por el contrario, si la entrada est a un nivel alto y se va disminuyendo hasta 0V, la transicin se produce siguiendo la curva B, cuando se alcanza el denominado umbral descendente VT-.
Los valores de VT+ y de VT- para las puertas de tecnologa TTL son de 1,7V y 0,9V respectivamente, pero para el caso del 40106 depende de la tensin de alimentacin y puede tomar los valores de la siguiente tabla .
Vdd Mnimo 5.0 2.2 10 4.6 15 6.8 5.0 0.9 10 2.5 15 4.0
Tpico Mximo 2.9 3.6 5.9 7.1 8.8 10.8 1.9 2.8 3.9 5.2 5.8 7.4
Unidades V
Estos circuitos son de gran utilidad cuando se desea controlar un circuito digital con seales que no lo son. En la Figura 4 se muestra como acta un circuito no inversor el circuito frente a una seal que no es puramente digital. Cuando la seal V1 alcanza el valor VT+ la salida VO bascula a un nivel alto, y no vuelve a tomar un nivel bajo hasta que la entrada no llegue a VT-.
Figura 5b.- Puente de transistores TR2 y TR3 saturados, TR1 y TR4 en corte, el motor gira en un sentido
Figura 5c.- Puente de transistores TR1 y TR4 saturados, TR2 y TR3 en corte, el motor gira en sentido contrario.
El problema de este tipo de circuitos es cada de tensin real que hay en los transistores y que habr que compensarla con la batera, que por supuesto, cuando est en funcionamiento el consumo hace que vaya cayendo la tensin. Para evitar estos problemas en el diseo final hemos utilizado un puente integrado, el LM293B. Este circuito integrado cuyas caractersticas podemos encontrar en el website de SGSThomson http://eu.st.com/stonline/index.shtml . Sobre este circuito prometemos su descripcin de funcionamiento muy prximamente. No obstante diremos que es un driver de 4 canales capaz de proporcionar una corriente de salida de hasta 1 A por canal. Cada canal es controlado por seales de entrada compatibles TTL y cada pareja de canales dispone de una entrada de habilitacin que desconecta las salidas de los mismos. El circuito dispone adems de una patilla para la alimentacin de las cargas que se estn controlando, de forma que dicha alimentacin es independiente de la lgica de control. En la Figura 6 se muestran su encapsulado de 16 pines, su distribucin de patillas y la descripcin de las mismas. Pin
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Nombre
Chip Enable 1 Input 1 Output 1 GND GND Output 2 Input 2 VS Chip Enable 2 Input 3 Output 3 GND GND Output 4 Input 4 VSS
Descripcin
Habilitacin de los canales 1 y 2 Entrada del canal 1 Salida del canal 1 Tierra de alimentacin Tierra de alimentacin Salida del canal 2 Entrada del Canal 2 Alimentacin de ls cargas Habilitacin de los canales 3 y 4 Entrada del canal 3 Salida del canal 3 Tierra de alimentacin Tierra de alimentacin Salida del Canal 4 Entrada del canal 4 Alimentacin del C.I.
Patillaje
Figura 6
Pulsar aqu para ver el esquema Figura 7.- Circuito final para el microbot rastreador En la Fotos siguientes, se muestra el circuito montado sobre placa de prototipo de insercin rpida y el montaje final de nuestro microbot, en el que puede verse como se ha colocado una escuadra de aluminio como soporte para los sensores CNY70 y para
sujetarlos hemos utilizado una cinta adhesiva por las dos caras, que es un sistema muy econmico y sencillo de sujecin. Igualmente, para sujetar la placa del circuito y las bateras hemos utilizado unas gomas elsticas, las bateras despus de la foto las hemos metido entre las dos placas de poliestireno para que no estorben. Los sensores para poder utilizarlos posteriormente en otros montajes los hemos conectado a travs de un cable plan a un conector tipo poste hembra y en la placa hemos colocado el conector macho correspondiente.
Foto 1 .- Placa de insercin rpida con nuestro Foto 2.- Nuestro microbot terminado. circuito y los sensores
Ya solo nos queda darle nombre, por que todas estas bestiecillas deben tener uno, como si se tratase de nuestra mascota, nosotros le hemos bautizado con el nombre de TRASTO.
Bueno pues en la prxima entrega de esta Revista, vamos a construir ahora un sistema de control por microcontrolador para evitar estos problemas, pero antes como prometamos en el ltimo numero, vamos a hacer un anlisis detallado del funcionamiento del driver L293 y su control a travs de un microcontrolador, para el manejo de motores de corriente continua, cuando analicemos los motores paso a paso veremos como utilizarlo en este tipo de motores. Para el control del motor hemos elegido el PIC16F84 para ello. El L293B es un driver de 4 canales capaz de proporcionar una corriente de salida de hasta 1A por canal. Cada canal es controlado por seales de entrada compatibles TTL y cada pareja de canales dispone de una seal de habilitacin que desconecta las salidas de los mismos. Dispone de una patilla para la alimentacin de las cargas que se estn controlando, de manera que dicha alimentacin es independiente de la lgica de control. La Tabla 1se muestra su encapsulado de 16 pines, la distribucin de patillas y la descripcin de las mismas.
Pin
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Nombre
Chip Enable 1 Input 1 Output 1 GND GND Output 2 Input 2 VS Chip Enable 2 Input 3 Output 3 GND GND Output 4 Input 4 VSS
Descripcin
Habilitacin de los canales 1 y 2 Entrada del canal 1 Salida del canal 1 Tierra de alimentacin Tierra de alimentacin Salida del canal 2 Entrada del Canal 2 Alimentacin de ls cargas Habilitacin de los canales 3 y 4 Entrada del canal 3 Salida del canal 3 Tierra de alimentacin Tierra de alimentacin Salida del Canal 4 Entrada del canal 4 Alimentacin del C.I.
Patillaje
Figura 1
Tabla 1
En la Figura 2, se muestra el diagrama de bloques del L293B. La seal de control EN1 activa la pareja de canales formada por los drivers 1 y 2. La seal EN2 activa la pareja de drivers 3 y 4. Las salidas OUTn se asocian con las correspondientes INn. Las seales de salida son amplificadas respecto a las de entrada tanto en tensin, como en corriente (mx. 1 A) y la Tabla 2 es la de funcionamiento para cada uno de los drivers.
VInn H L H L
VOUTn H L Z Z
VENn H H L L ---
Donde:
Tstg, Tj
-40 a +150
CARACTERSTICAS ELECTRICAS
Para cada canal para los siguiente parmetros: VS = 24V, VSS =5V, Tamb = 25C
Parmetro
Smbolo
VS VSS IS
Condiciones de Test
Tpica
Max 36 36
Unidades V V mA
Tensin de alimentacin de las cargas Tensin de alimentacin de la lgica Corriente total de reposo Vi =L IO=0 Vinh=H Vi =H Vinh=H IO=0
2 16
6 24 4
ISS
Vinh=L Corriente de reposo con seal de Vi =L IO=0 Vinh=H control Vi =H IO=0 Vinh=H Vinh=L
44 16 16
mA
VIL VIH IIL IIH VinhL VinhH IinhL IinhH VCesatH VCesatL
Tensin de entrada a nivel bajo Tensin de entrada a nivel alto Corriente de entrada a nivel bajo Corriente de entrada a nivel alto Tensin de habilitacin a nivel bajo Tensin de habilitacin a nivel alto Corriente de habilitacin a nivel bajo Corriente de habilitacin a nivel alto Tensin de salida con fuente saturada Tensin de salida con el sumidero saturado
VSS 7V VSS >7V ViL =1.5V 2.3V VIH VSS 0.6 VSS 7V VSS > 7V VInhL=1.5V 2.3VVIHVSS-0.6 IO = 1 A IO = 1 A
V V A A V V A A V V
1.4 1.2
1.8 1.8
Veamos seguidamente algunas forma de conectar los motores de corriente continua al driver.
Giro de dos motores en un nico sentido: En la Figura 3 se muestra el modo de funcionamiento de dos motores de corriente continua que giran en un nico sentido.
El motor M1 se activa al poner a nivel bajo la entrada de control A. El motor M2 se activa al poner a nivel alto la entrada de control B
Vinh H H L
A H
Motor M1
B H Giro
Motor M2
Los diodos D1 y D2, estn conectados para proteger el circuito cuando se generan los picos de arranque de los motores. Si no se trabaja a mxima potencia de trabajo, pueden eliminarse del circuito. Giro de un motor en los dos sentidos: El circuito de la Figura 4 permite controlar el doble sentido de giro del motor. Cuando la entrada C est a nivel bajo y la D a nivel alto, el motor gira hacia la izquierda. Cambiando la entrada C a nivel alto y la D a nivel Bajo, se cambia el sentido de giro del motor hacia la derecha.
Figura 4.- Circuito de control para el doble giro de un motor de corriente continua
Si se quiere proteger el circuito contra posibles picos de corriente inversa en el momento de arranque del motor, se recomienda conectar unos diodos tal y como se muestra en la Figura 5.
Vinh H H H H
A L H L H
B L H H L
Motor Parada rpida del motor Parada rpida del motor Giro a la Izquierda Giro a la derecha
Figura 6.- Esquema del montaje para el control de motores con el driver L293B y el PIC16F84
Para comprobar su funcionamiento, vamos a escribir el programa motor1.asm, que controla el driver del motor de manera que dependiendo del estado del conmutador RA0. Si RA0 cerrado (0) o abierto (1), el motor se para o gira respectivamente. El organigrama del programa es el que se muestra en la Figura 7 y el programa en el Cuadro 1.
;Este programa comprueba el funcionamiento del driver L293B conectado el PIC16F84. ;Controla el driver del motor de manera que si el conmutador RA0 est cerrado (0) ;el motor se para y si el conmutador RA0 est abierto ("1"), el motor gira. ;Velocidad del Reloj: 4 MHz ;Perro Guardin: deshabilitado ;Proteccin del cdigo: OFF ;*************************************************************************************************** title page list List List p = 16f84 C = 132 N=66 ;Eleccin del modelo del PIC ;N de caracteres de la lnea ;N de lneas por pgina ;Sistema de numeracin hexadecimal. "Motor1.asm" Reloj Instruccin: 1 MHz = 1 s Tipo de Reloj : XT
RADIX HEX
include "p16F84.inc"
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC ; Configuracin del PIC16F84, No hay proteccin de cdigos, Perro guardin deshabilitado ; habilitado el PWRTE y oscilador por cristal de cuarzo externo. ORG goto 0x00 INICIO ;El programa comienza en la direccin 0.
ORG
INICIO
clrf bsf
PORTB
STATUS, RP0 ;Selecciona el Banco 1. ;Se configura RA0 como entrada y el resto ;del PORTA como salida. ;Se congigura todo el PORTB como salida
BUCLE btfss
;Mira el estado del interruptor RA0. ;Salta a PARADO si es "0" ;Si RA0=1 salta a GIRA
PARADO GIRA
PARADO
movlw b'00000000' movwf PORTB ;Apaga el motor poniendo a 0 al PORTB con ;lo que EN1 queda a 0. goto BUCLE ;vuelve a comprobar el estado de RA0 ;Para encender el motor se pone RA1=EN1=1, ;del controlador L293B que activa el ;encendido del motor goto BUCLE ;vuelve a comprobar el estado de RA0
GIRA
END
El circuito montado es el que se muestra en la Foto 3., en el que se puede ver que el microcontrolador ha sido sustituido por la tarjera PICF84 que es una tarjeta capaz de
programar el microcontrolador en el circuito, utilizando el popular programa ICPROG y que adems lleva incorporado el circuito de reloj del sistema.
Foto 3.- Circuito montado en la placa de insercin rpida con la placa PICF84 Foto 4.- Detalle de la placa PICF84
Siguiendo con el modo de funcionamiento del driver conectado al microcontrolador, realizamos este segundo ejercicio motor2.asm, que dependiendo del estado del interruptor RA0 est cerrado (0) o abierto (1), el motor gira en el sentido que le marca el estado de conmutador de RA1. Si RA1=0 se realiza el giro a la derecha del motor, si por el contrario RA1=1 el sentido de giro del motor es hacia la izquierda. El organigrama de este programa es el que se muestra en la Figura 8 y el programa es el que se muestra en el Cuadro 2.
;Con este programa se puede controlar el encendido y apagado de un motor conectado ;a la salida del circuito de control, as como su sentido de giro. Con RA0 a "0" el motor ;se pone en marcha y su sentido de giro depender del valor que tenga RA1, ;cuando est a "0" gira en un sentido y cuando est a "1" en el otro. ;Velocidad del Reloj: 4 MHz ;Perro Guardin: deshabilitado ;Proteccin del cdigo: OFF;; ;*************************************************************************************************** Reloj Instruccin: 1 MHz =1S Tipo de Reloj: XT
title
"Motor2.asm"
page list p = 16f84, C=131, N=66, R=HEX ;Eleccin del modelo del PIC ;N de caracteres de la lnea ;N de lneas por pgina ;Sistema de numeracin hexadecimal. include "p16F84.inc" ;Se incluye la definicin de registros para el PIC 16F84.
ORG goto
0x00 INICIO
ORG
INICIO
clrf bsf
PORTB
STATUS, RP0 ;Banco 1. ;Se configura RA0 y RA1 como entrada y el resto de ;lneas del PORTA como salida.
movlw b'00000011'
movwf TRISA movlw b'00000000' movwf TRISB bcf STATUS, RP0 ;Vuelta al banco 0. ;Se configura el PORTB como salida
BUCLE btfss
;Comprueba el estado del interruptor RA0. ;Si RA0=0, salta a PARADO ;SI RA0=1, salta a GIRA
PARADO GIRA
PARADO
clrf
PORTB
;y RB0=IN1 y por lo tanto EN1 queda a 0. goto BUCLE ;Volver a comprobar el estado de ERA1
GIRA
;Si RA0=1 se mira cul es el estado de RA1 ;para hacer que este gire hacia la derecha ;o hacia la izquierda.
DERECHA
;Para activar el motor se pone un 1 en EN1=RB1 ;y para que gire hacia la derecha un 0 a IN1=RB0 y ;IN2=/RB0
goto
BUCLE
IZQUIERDA movlw b'00000011' movwf PORTB ;Para activar el motor se pone un 1 en EN1=RB1, ;y ara que gire hacia la izquierda un 1 a IN1=RB0 y ; IN2=/RB0 . goto BUCLE
END
El sentido de giro de los programas, depender de cmo se hallan realizado las conexiones de las bornas de los motores, si no coinciden, intercambiar las conexiones. El conmutador y la resistencia conectados a la entrada RA1, podemos sustituirlos por el circuito de la Figura 9, de manera que cuando el sensor est sobre un objeto blanco, el haz de infrarrojos se refleja, el transistor se satura y en RA1 se obtiene un nivel alto,
mientras que si se enfrenta el emisor a un objeto negro, el haz de infrarrojos del emisor es absorbido, por lo que el transistor no conduce y en RA1 se obtendr un nivel bajo.
Figura 9.- Circuito de entrada en RA1 al sustituir el conmutador y la resistencia por el sensor CNY70 y su circuito de polarizacin.
Como se puede apreciar en el circuito, hemos utilizado los mismos sensores CNY70 que utilizbamos en el microbot Trasto realizado tan solo con transistores que se publico en el n 185 y cuyas caractersticas tcnicas hemos publicado en el n 186. Como puede apreciarse segn el montaje de los sensores cundo detecten un fondo blanco a la entrada del microcontrolador, es decir despus del inversor que utilizamos para conformar las seales lgicas, obtenemos un 0, por el contrario si el sensor est sobre un fondo negro, a la entrada de la lnea del PortA al que est conectado, le llega un 1. Al L293 le hemos conectado los dos motores que necesita el microbot. El motor derecho se encuentra conectado a los drivers 1 y 2 que estn controlados por las lneas RB0 y RB1 del microcontrolador y el motor izquierdo se encuentra conectado a los drivers 3 y 4, que a su vez estn controlados por las lneas RB2 y RB3 del microcontrolador. Teniendo en cuenta el esquema, el modo de funcionamiento de los motores es el que se muestra en las Tablas 1 y 2.
Salidas PIC16F84
Entradas Driver
Salidas Driver
Motor
RB0 0 1 1
RB1 0 1 0
EN1 0 1 1
IN1 0 1 0
IN2 1 0 1
OUT1 0 1 0
OUT2 0 0 1
Motor Motor Izquierdo No gira Gira en sentido horario Gira en sentido antihorario
0 1 1
0 1 0
1 0 1
El aspecto que presenta Trasto con el circuito implementado es el que se muestras en las Fotos 2 y 3.
Antes de realizar nuestro programa debemos fijar la estrategia que debe seguir el microbot, ya sea para que se comporte como un robot rastreador o para cualquier otra funcin, de esta manera podremos fijar el algoritmo de funcionamiento. En principio parece razonable que hagamos estos dos razonamientos.
Primer Algoritmo: Dependiendo de la posicin de los sensores podemos hacer que el microbot tome las decisiones que se muestran en la Figura 2:
Para que el microbot siga un movimiento lineal hay que hacer que los dos motores giren en sentido horario. Si lo que pretendemos es que el microbot gire a la derecha, se hace girar la rueda derecha en sentido antihorario y la rueda izquierda en sentido horario. Por el contrario si en sentido de giro del microbot ha de ser hacia la izquierda se hace girar la rueda derecha en sentido horario y la izquierda en sentido antihorario. Esto podemos verlo grficamente en la Figura 3.
El organigrama del programa para la primera estrategia sera el que se muestra en la Figura 4
El programa para la primera estrategia que hemos denominado Rastreador1.asm es el que se muestra en el Cuadro 1.
;Este programa hace que el Microbot TRASTO se mueva siguiendo una lnea ;marcada en el suelo mediante una lnea negra (cinta aislante) sobre fondo ;blanco a modo de pista. ;Los sensores pticos de reflexin CNY70 se han situado en la parte delantera ; inferior del microbot de la siguiente manera. El sensor de la derecha est ; conectado a RA0, y el sensor de la izquierda a RA1. ;La estrategia a seguir por el programa es la de seguir la lnea, si el sensor de ;la derecha se sale, se hace girar al microbot a la izquierda y si se sale por el ;lado izquierdo se le hace girar a la derecha. Si el microbot tiene los dos ;sensores sobre la lnea negra se le hace seguir hacia adelante. ; Velocidad del Reloj: 4 MHz ; Perro Guardin :habilitado ; Proteccin del cdigo : OFF ;******************************************************************************************* title page list List List p = 16f84 C = 132 N=66 "P16F84.INC" PORTA,0 ;Eleccin del modelo del PIC ;N de caracteres de la lnea ;N de lneas por pgina ;Definiciones de registros internos ;Sensor ptico Derecho "Trasto1.asm" Reloj Instruccin: 1 MHz = 1 S Tipo de Reloj : XT
#DEFINE
RA1
PORTA,1
ORG 0x05
movlw b'00011111' movwf TRISA movlw b'00000000' movwf TRISB bcf BUCLE btfsc goto STATUS,RP0 RA1 NO_SALEIZ ;RB0-RB7 se configuran como salidas ;Selecciona banco0 de registros ;Ha salido por la izquierda?? ;No ;Si,movimiento a la derecha movlw b'00001110' ;Habilita Driver 1 y 2 gira sentido ;horario la rueda derecha movwf PORTB ;Y habilita Driver 3 y 4 gira en sentido ;antihorario el motor de la izquierda goto NO_SALEIZ btfsc goto BUCLE RA0 ;NO ;Si, movimiento a la izquierda movlw b'00000111' ;Habilita Driver 1 y 2 gira sentido ;antihorario la rueda derecha ;Ha salida por la derecha ;RA0-RA4 se configuran como entrada
NO_SALEDCHA
movwf PORTB
goto NO_SALEDCHA
BUCLE ;Avance del Microbot ;Habilita Driver 1 y2 gira sentido horario ;la rueda derecha
movlw b'00001111'
movwf PORTB
goto END
BUCLE
Si analizamos este algoritmo detenidamente, podemos ver que no es lo suficientemente bueno, puesto que la el seguimiento de la lnea depende de la imprecisin del camino seguido por el microbot, es decir, depende de la anchura de la pista. Esto nos puede ocasionar retrasos en el recorrido o incluso que llegue a perderse. Por ejemplo en el caso de encontrarse con una bifurcacin en forma de Y el microbot ir por la izquierda o la derecha segn su posicin sobre la zona negra.
Segundo Algoritmo
Otra opcin ser la siguiente. Dependiendo de la posicin en que se encuentra el microbot sobre la lnea, decidimos seguir el borde derecho, es decir la deteccin de negro-blanco respectivamente por los sensores colocado a la derecha y a la izquierda (si se prefiere tambin se puede seguir el borde izquierdo, es decir blanco-negro, en cuyo caso se deber cambiar el algoritmo) tal y como se muestra en la Figura 5.
El organigrama correspondiente a esta estrategia es la que se muestra en la Figura 6 con el nombre de rastreador2.asm.
El programa para la segunda estrategia que hemos denominado Rastreador2.asm es el que se muestra en el Cuadro 2.
; Este programa hace que el Microbot TRASTO se mueva siguiendo una lnea ; marcada en el suelo mediante una lnea negra (cinta aislante) sobre fondo ; blanco a modo de pista. ; Los sensores pticos de reflexin CNY70 se han situado en la parte delantera ; inferior del microbot de la siguiente manera. El sensor de la derecha ; est conectado a RA0, y el sensor de la izquierda a RA1. ; La estrategia a seguir por el programa es la de seguir la lnea por el borde ; derecho, si el sensor de la izquierda detecta que se sale, se hace girar ;al microbot a la derecha y si no se sale por ninguno de los bordes se le hace ; girar a la derecha, por ltimo si se sale por el borde derecho, se le hace seguir ; hacia adelante. ; Si el microbot tiene los dos sensores fuera de la lnea se le hace girar a la ;izquierda hasta que vuelve a encontrarla. ; Velocidad del Reloj: 4 MHz ; Perro Guardin :habilitado ; Proteccin del cdigo : OFF ;********************************************************************************************* title page list List List p = 16f84 C = 132 N=66 ;Eleccin del modelo del PIC ;N de caracteres de la lnea ;N de lneas por pgina ;Definiciones de registros internos ;Sensor Optico Derecho "Trasto2.asm" Reloj Instruccin: 1 MHz = 1 S Tipo de Reloj : XT
#DEFINE
RA1
PORTA,1
ORG 0x05
movlw b'00011111' movwf TRISA movlw b'00000000' movwf TRISB bcf BUCLE btfsc goto btfsc STATUS,RP0 RA0 DERECHA RA1 ;RA0-RA4 se configuran como entrada ; ;RB0-RB7 se configuran como salidas ;Selecciona banco0 de registros ;Ha salido por la derecha?? ;No gira a la derecha ;Han salido los dos sensores ;por la derecha? goto IZQUIERDA RECTO ;NO Sigue recto ;SI gira a la izquierda
DERECHA
;Gira a la derecha
RECTO
movlw b'00001111'
;Sigue recto
BUCLE
Si los motores que se estn utilizando no tienen un rango alto de reduccin, puede ocurrir que la velocidad que toma el microbot sea tal que se pierda fcilmente. Por eso es recomendable utilizar servomotores de los utilizados en modelismo trucados, tal y como vimos en el primer artculo de esta serie en la revista n 184. No obstante pueden utilizarse motores con menos coeficiente de reduccin pero se ha de controlar la velocidad del mismo mediante una modulacin en anchura de impulsos (PWM) para cada uno de los motores. Otro problema es el de las bateras a utilizar. Hasta ahora hemos utilizado cuatro bateras en serie de Niquel Metal-Hidruro (NiMH) que son capaces de entregar 1600mA/h , pero otra opcin es la de utilizar bateras de plomo que pueden entregar fcilmente sus 12V a 0.7 A/h. Esta opcin tiene dos contrapartidas. La primera es que debemos de utilizar un circuito regulador de tensin, como por el ejemplo el LM 7805, para conseguir los 5V con los que debemos de alimentar al microcontrolador y al resto de los circuitos. La segunda es el peso de esta batera es grande comparado con las NiMH.