MONOGRÁFICO: ROBOT-BICHOS - ROBOT-BICHOS DIGITALES |
CAJON DE SASTRE - Cajon de sastre | |||||||
Escrito por Leopoldo Mosquera Taboada | |||||||
Venres, 02 Maio 2008 00:00 | |||||||
Páxina 5 de 5
ROBOT-BICHOS DIGITALESa) IntroducciónCualquier proyecto de robótica tiene como objetivo lograr la comunicación del robot con un ordenador, y que éste permita la programación de sus comportamientos utilizando un software de lenguaje natural. Entre ambos dispositivos se sitúa una tarjeta controladora que, en su función de interfase, se conecta por un lado a un puerto del ordenador, y por otro a los motores. Teniendo en cuenta el bajo valor de potencia eléctrica consumido por los robot-bichos, será necesario diseñar una tarjeta de reducido tamaño, de fácil sujeción sobre el portapilas, compuesta del mínimo de componentes electrónicos y sin presencia de relés (utilizados para determinar el sentido de salida de la corriente hacia el motor) que encarezcan su coste. Podemos programar nuestra tarjeta “controla-bichos” utilizando el lenguaje LOGO, de fácil aprendizaje para alumnos de secundaria; una vez conectada la tarjeta al puerto paralelo del ordenador, a su batería de alimentación y a los motores del insectoide, crearemos sencillos programas que automaticen sus movimientos, logrando incluso poder controlarlo directamente a través del teclado en tiempo real. b) Diseño de la tarjeta controladoraEl puerto paralelo del ordenador se ha utilizado, antes de la generalización del standard USB para la conexión de periféricos, como puerto para el intercambio de datos con la impresora, pero la sencilla configuración de funciones en sus patillas, nos permite también utilizarla en aplicaciones como la nuestra, en la que sólo se necesitan intercambiar 4 bits de datos en la salida, es decir, una cantidad muy pequeña de información en código binario a procesar, algo que está perfectamente al alcance de la comprensión de nuestros alumnos. Las controladoras comerciales utilizadas tradicionalmente en el área de Tecnología para la iniciación a la robótica en la ESO, a pesar de sus elevadas prestaciones y fácil implementación, presentan varios inconvenientes: son relativamente costosas (que no significa caras), su diseño electrónico y los programas que la inicializan son incomprensibles para el alumnado (y gran parte del profesorado) y además son aparatosas de manejar (necesitan una fuente de alimentación de 12 V y conectarse al ordenador con un cable muy rígido como es el utilizado para las conexiones al puerto paralelo). Además, en el propósito de poder programar el movimiento de un robot-bicho, hay que tener en cuenta que los ejes de sus motores giran a gran velocidad con apenas un 1 voltio entre sus bornes, de modo que la tensión de 5 V que suministran las salidas de las controladoras comerciales, provoca una excesiva velocidad. Las tarjetas controladoras son necesarias porque la corriente suministrada por el ordenador a través del puerto paralelo es insuficiente para activar con eficacia un pequeño motor de corriente continua, y se necesita un circuito de potencia (o driver) que le suministre la intensidad necesaria. La configuración escogida es la clásica de “puente en H”, que consiste en conectar los colectores de 4 transistores (dos PNP y dos NPN) a los bornes de cada motor; al estar constituido por transistores, el robot-bicho es directamente controlado mediante la débil señal de los pines de datos del puerto paralelo, que se conectarán a la base de dichos transitores (se eligen tipo TIP 120 Y 125 por ser un montaje Darlington de alta ganancia y protegido con diodos y resistencias, lo que evita daños en la placa base del ordenador). El funcionamiento de estos circuitos se explica muy fácilmente: cuando el bit D0 (pin 2) se pone en on y el D1 (pin 3) en OFF, el borne derecho del motor se encuentra a 4,5 V y el izquierdo a 0 V, con lo que el motor gira en un sentido; cuando el bit D0 está OFF y el D1 en on, es el borne izquierdo el que está alimentado mientras que el derecho se halla conectado a tierra, de modo que el motor gira en sentido opuesto. Para el segundo motor se utilizarán los pines 4 (D2) y 5 (D3); con ambos motores debe evitarse que el programa cree un conflicto al poner en on las dos entradas de datos a la vez.
Para la construcción de la tarjeta se utilizan: un conector DB25 macho (para el cable procedente del puerto paralelo del ordenador), la etapa de potencia y control del sentido de giro o parada de los dos motores (constituida por transistores TIP 120 y 125), resistencias de 10K (para la protección de la base de los transistores) y los conectores para los motores y para la alimentación de la placa (una pila de 4,5 voltios se encargará de que todo funcione según las indicaciones del programa de la pantalla). Con un programa de diseño asistido de placas PCB se dibujan las pistas de cobre que relacionarán los componentes electrónicos y los pines del conector; después se imprime en blanco y negro en un papel vegetal utilizando una impresora láser. La fabricación se hará utilizando una placa fotosensible de fibra de vidrio que una vez recortada al tamaño estimado se lleva, con el papel vegetal encima, a una insoladora de rayos ultravioleta donde se expondrá a la luz durante unos 4 minutos. La resina fotosensible que cubre la placa habrá sufrido una reacción química, a excepción de las pistas tapadas con la tinta negra del papel, circunstancia que es aprovechada en el proceso de revelado; éste consiste en sumergir la placa unos minutos en un líquido, denominado revelador, en el que la resina sensibilizada se irá diluyendo para dejar en primer plano una superficie de cobre desprotegida, exceptuando las pistas todavía cubiertas de resina. En el siguiente proceso, denominado de atacado con un ácido (cloruro férrico), el cobre de la placa, sumergida en otra cubeta, se disuelve dejando al cabo de unos minutos las pistas de nuestra tarjeta controladora nítidamente marcadas sobre la superficie de fibra de vidrio. Por último se lava la placa y se elimina la resina que cubre las pistas con estropajo y alcohol de quemar; cuando se realicen los taladros en los puntos correspondientes a la ubicación de los componentes del circuito, se irán introduciendo sus patillas y se soldarán.
c) Programación de la tarjetaPara automatizar los movimientos del bichoide utilizo el programa gratuito MsLogo, que utiliza un lenguaje de programación muy sencillo de comprender (y en castellano) . La instrucción ESCRIBEPUERTO 888 es la que me va a servir para, a través del puerto paralelo, enviar a los motores los datos 1, 2, 4 ó 8 (que corresponden a la numeración en binario) para que funcionen independientemente y girando en uno u otro sentido; para que funcionen ambos a la vez debo sumar dichas cifras y enviar los datos 5, 6, 9 ó 10. Los siguientes programas sirven de ejemplo: PROGRAMACIÓN DE LA TARJETA ROBOT-BICHOS CON LOGO PARA OFF ESCRIBEPUERTO 888 0 FIN (se desconectan los dos motores) PARA DATOS ESCRIBEPUERTO 888 1 ESPERA 100 OFF (el motor 1 gira un segundo y se para) ESCRIBEPUERTO 888 2 ESPERA 100 OFF (cambia el sentido de giro un seg. y se para) ESCRIBEPUERTO 888 4 ESPERA 100 OFF (el motor 2 gira un segundo y se para) ESCRIBEPUERTO 888 8 ESPERA 100 OFF (cambia el sentido de giro un seg. y se para) FIN PARA AVANCE ESCRIBEPUERTO 888 5 ESPERA 200 OFF FIN (el insectoide avanza dos segundos y se para) PARA ATRAS ESCRIBEPUERTO 888 10 ESPERA 200 OFF FIN (retrocede durante dos segundos y se para) PARA GIRO_D ESCRIBEPUERTO 888 9 ESPERA 50 OFF FIN (gira a la derecha medio segundo y se para) PARA GIRO_I ESCRIBEPUERTO 888 6 ESPERA 50 OFF FIN (gira a la izquierda medio segundo y se para) PARA ZIGZAG GIRO_I GIRO_D AVANCE ATRAS FIN (se mueve con los procedimientos definidos anteriormente) PARA TECLA HAZ “X LC (lee carácter pulsado en el teclado) SI :X = “Y [AVANCE] (asigna la tecla “Y” para avanzar) SI :X = “H [ATRAS] (asigna la tecla “H” para retroceder) SI :X = “U [GIRO_D] (asigna la “U” para girar a la derecha) SI :X = “T [GIRO_I] (asigna la “T” para girar a la izquierda) TECLA (repite el programa indefinidamente) FIN NOTA: el último ejemplo (una vez definidos los prodcedimientos que lo integran) nos permitiría el control del robot-bicho desde el teclado en tiempo real, y una vez en funcionamiento, la posibilidad de trazar trayectorias termina sólo cuando pulsemos la tecla Esc. Como queda patente, no se necesita cargar ninguna instrucción que inicialice la tarjeta, sino que se programa casi en lenguaje máquina, expresando los datos que van a controlar los motores en código binario. d) Montaje del robot-bicho y su cableadoCuando la placa controladora esté terminada, podremos construir el robot-bicho pegando los motores (con un cable de unos 4 cm soldado en cada borne) al perfil y éste al portapilas; la tarjeta se situará sobre la batería sujeta con pegamento o con un velcro adhesivo. Una vez comprendida la programación y construido el robot-bicho, falta preparar un cable que me conecte ordenador y móvil; bastarán dos conectores de 25 pines (un macho y una hembra) y cinco cables de colores,uno para cada pin de datos y otro para la masa (pines del 18 al 25). Yo he utilizado el cable de un ratón antiguo, y una vez soldados punto a punto a ambos conectores, será el momento de ponerlo a prueba y disfrutar de este experimento robótico. e) Conclusión:Para construir un pequeño robot programable no hace falta efectuar grandes inversiones ni tener profundos conocimientos de electrónica, tampoco es necesario utlizar un sistema propietario que obligue a utilizar componentes comerciales no estandarizados ni localizables en cualquier tienda de electrónica. El proceso de desarrollo y montaje de una placa controladora como la propuesta permitiría iniciarse a cualquier alumno en el campo de la robótica básica de una forma atractiva y sin dedicar excesivo tiempo en este objetivo. |