| Robot con Compás Electrónico y GPS |
|
|
| Escrito por Christian Bodington | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| jueves, 22 de mayo de 2008 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
En esta ocasión les dejo un avance del robot, el cual he montado en un carro eléctrico todo terreno para realizar las pruebas a campo abierto, basado en una ruta pre-programada por coordenadas geográficas... pronto estaré publicando más detalles y fotos.
Este robot es capaz de mantener el rumbo programado gracias a su sensor brújula o compás electrónico CMPS03 y a su GPS modelo ZX4120... Este proyecto se está desarrollando con la intención de perfeccionar un sistema de navegación por satétile, asistido a su vez por un compás o brújula electrónica capaz de detectar el campo magnético de la tierra con una precisión entre 3 y 4 grados y una resolución de décimas. Esta brújula cuenta con dos sensores KMZ51 de Philips y un microcontrolador PIC16F872 como se observa en la foto del robot que se muestra a continuación:
![]()
Esta brújula electrónica cuenta con una interfaz I2C y una interfaz PWM para su control, lo cual la hacen sumamente práctica al momento de consultar los datos generados por el campo magnético de la tierra.
Básicamente, el proyecto consiste en introducir al programa principal de un microcontrolador PIC18F458 los datos de la posición deseada con respecto al Norte y las coordenadas en un plano o ruta pre diseñada.
La tarjeta de circuito impreso fue diseñada en ORCAD, y fabricada con el método de transferencia termica, Press N' Peel, como se muestra en las siguientes imágenes: ![]() El diseño PCB es impreso en Láser en una lámina Press N' Peel, la cual a su vez se debe calentar sobre una baquelita previamente tratada con una hoja de lija número 600, para asegurar la adhesión de todas las pistas del circuito. La plancha utilizada en este proceso es común y se utiliza a una temperatura ajustada a media escala. ![]() Las pistas en la lámina sobre la baquelita se ven mucho mas negras cuando éstas se adhieren a ella. Solo después de ver este cambio, la lámina Press N' Peel estará lista para ser retirada, aunque es recomendable esperar que la temperatura baje por lo menos a 36 grados centígrados. ![]() Observe como se quedan adheridas las pistas del circuito en la baquelita mientras se retira la lámina Press N' Peel cuidadosamente. ![]() ![]() Si se aplica la temperatura correcta, la lámina no debería fallar dejando un circuito casi perfecto sobre la baquelita, aunque no se descarta esta posibilidad de falla, dejando pistas abiertas las cuales pueden ser cubiertas con un marcador de tinta indeleble, como se muestra en la siguiente imagen: ![]() En este punto el siguiente paso será sumergir la baquelita en cloruro férrico, el cual se encargará de eliminar todo el cobre sobre la lámina de fibra de vidrio, dejando sólo las pistas y puntos de conexión sobre la baquelita: ![]() Seguidamente se debe lijar el circuito para eliminar los restos de toner sobre el circuito, para proceder con el arduo trabajo de perforar cada uno de los Pads o puntos de conexión en el circuito impreso. ![]() Para este proyecto he empleado un chasis Parallax, con dos servomotores Hitec HS-311 modificados, para que puedan girar en forma continua sin detenerse. ![]() ![]() ![]()
Se han realizado diversas pruebas con el Robot referente al ingreso de datos y coordenadas para mantener un rumbo, esto a través de un teclado matricial como se observa en la siguiente foto, y a través de comunicación serial inalámbrica utilizando los módulos de la empresa Linxtechnologies. Estos módulos inalámbricos funcionan inmediatamente, una vez conectados, ya que no requieren de ningún tipo de ajuste o componentes externos. Se pueden adquirir a través de los distribuidores autorizados en USA, especificados en el sitio Web del fabricante: ![]() También recomendaría para este tipo de proyectos experimentar con los módulos inalámbricos de la empresa Maxstream, http://www.maxstream.net . Estos módulos son realmente potentes cuando de comunicaciones inalámbricas se habla, ya que se pueden integrar incluso más de dos módulos en comunicación directa unos con otros, transmitiendo datos de un robot a otro sin problemas. El módulo GPS ZX4120, es un módulo OEM ideal para aplicaciones en sistemas robóticos o sistemas de navegación, ya que cuenta con 16 canales "All in View" para rastreo de satélites, dando como resultado un tiempo de arranque que en la mayoría de los caso puede llegar a reducirse a 3 minutos, según las mediciones realizadas durante el desarrollo de este proyecto. Además posee una interfaz serial TTL y soporta el protocolo NMEA-0183 V3.0. La alimentación del módulo GPS es de 3.3V y éste requiere de una antena activa externa, la cual es alimentada con un voltaje promedio de 2.7V. La antena activa es adicional, es decir, normalmente no es incluida con el módulo GPS. Esta antena es imprescindible para que funcionamiento de éste módulo. Se puede observar en las dos imágenes anteriores, que la antena viene en dos versiones: - La primera imagen muestra la antena sin encapsulado y la cual puede ser montada directamente sobre el módulo GPS. - La segunda imagen muestra la antena encapsulada, la cual por lo regular posee un imán en la base o adhesivo. Pensando un poco más en grande, se decidió mejorar el diseño del robot en cuanto a programación y hardware se refiere. En la foto se puede observar que he trasladado la tarjeta principal del robot a un carro eléctrico de carreras con el fin de poder realizar pruebas a campo abierto, ya que la intención siempre ha sido que el robot reciba las coordenadas geográficas (centesimales), las almacene en su memoria de datos EEPROM del microcontrolador, y posteriormente realice los cálculos respectivos para comparar su posición geográfica actual con las indicadas para realizar una trayectoria planificada. En este punto creo que es conveniente aclarar que el módulo GPS entrega las coordenadas geográficas centesimales. Si deseáramos enviar al robot una ruta a seguir, ésta la podemos definir primero con la ayuda de Google Earth. El punto es que este software entrega las coordenadas geográficas sexagesimales; por lo tanto se debe hacer una pequeña conversión para igualar las partes. Las comunicaciones las estoy realizando con los módulos X-Tend de MaxStream para máximo alcance entre el Robot y el PC. El detalle técnico de este módulo de comunicación se puede obtener en el siguiente link: http://www.maxstream.net/products/xtend/oem-rf-module.php
No deje de enviar sus comentarios acerca de este proyecto... Diseño y Construcción del Proyecto: Ing. Christian Bodington E. Readers have left 10 comments. 10. Untitled Nacho Arg, Unregistered hola , que buen proyecto , te escribo para preguntarte si te molestaria darme una mano con un proyecto mio , tengo que montar un gps en un avion de aeromodelismo ,el modulo y la antena ya los tengo , lo que no puedo conseguir es un circuito para conectarlo de modo inalambrico a mi portatil por medio del puero COM . mi mail es
Esta dirección de correo electrónico está protegida contra los robots de spam, necesita tener Javascript activado para poder verla
desde ya muchas gracia Posted 2008-03-08 19:21:32 9. Untitled Invitado, Unregistered buen trabajo amigo quiero ver si puedes enviar diagramas esque necesito hacer si porfavor Posted 2008-02-20 19:17:18 8. Untitled Invitado, Unregistered Dios, cada vez me sorprendo mas, te felicito! Posted 2008-01-12 19:40:30 7. Untitled Administrador, Super Administrator Respondiendo al invitado y al Sr. Willington: Efectivamente la brújula electrónica se ve afectada por los campos magnéticos que tiene cerca incluidos los motores eléctricos, generando un error de aproximadamente 5 grados en la medición lo cual resulta ser mucho. En mi caso, el error se pudo reducir cuando monté la tarjeta en el carro eléctrico que se ve en la foto de la portada, ya que pude alejar el módulo del motor. Con respecto a la conversión de coordenadas geográficas, los módulos GPS que he estado utilizando entregan las coordenadas centesimales, pero la conversión a metros (Coordenadas UTM "Universal Transverse Mercator")también es válida para coordenadas sexagesimales. Debo decir que la conversión es un poco compleja a nivel de código, pero si es posible y funciona bien. En mi caso yo realicé el código en Protón, siguiendo la teorÃa expuesta por el Sr. Grabriel Ortiz (www.gabrielortiz.com) la cual está muy bien explicada. Si gustas podemos discutir este tema en nuestro nuevo foro, para aclarar todo lo referente al tema. Saludos y gracias por escribir...!!! Christian Bodington E. Posted 2007-10-23 17:54:27 6. Untitled Invitado, Unregistered Buenas Christian, su proyecto me parece excelente, pero tengo una inquietud quizas usted me pueda aclarar un poco. Lo que pasa es que yo tambien estoy trabajando en un proyecto de robotica movil pero resulta que el GPS me entrega las coordenadas sexagecimales, entonces necesito saber como hacer esa conversion de coordenadas para trabajarlas en metros si se puede, o si no de que forma puedo yo calcular una trayectoria que debe seguir el robot movil si tengo el punto inicial en coor. sexagesimales y el punto final en metros en un plano dado. Teniendo en cuenta la resolucion (7 m) o depronto no es necesaria. Muchas Gracias Willington Esta dirección de correo electrónico está protegida contra los robots de spam, necesita tener Javascript activado para poder verla Posted 2007-10-22 19:35:31 5. Untitled Invitado, Unregistered buen trabajo, una pregunta , no te dio problema la brujula por los campos magneticos producidos por el motor electrico del vehiculo??? Posted 2007-10-21 20:48:35 4. Untitled Frank, Unregistered Hola excelente trabajo mis felicitaciones, quisiera saber sipuedes orientarme con algun diagrama o algo asi xq tengo q realizar un proyecto similar pero no se por donde empezar me seria de mucha utilidad su ayuda. Mi correO ES
Esta dirección de correo electrónico está protegida contra los robots de spam, necesita tener Javascript activado para poder verla
gracias por tooo tu ayuda Posted 2007-10-17 17:02:18 3. Untitled Invitado, Unregistered Amigo estoy muy interesado en lo que haces, te felicito porque somos pocos los que estamos en este campo. Posted 2007-08-17 11:15:14 2. Untitled Piero Moretto, Unregistered Saludos, muchas gracias por responder el mensaje anterior, te comento que el modulo GPS es necesario para la dirección de un robot volador que va a ser mi tesis de grado, la idea es que se programe un recorrido o una posición fija y el ejecute esto de forma autónoma, queremos emplear un dirigible como plataforma a controlar, y esperamos que toda la circuiteria de control este abordo, no queremos un robot teledirigido. Por eso es mi preocupación con el tiempo de muestreo del GPS, al ser un robot aéreo creo que será necesario realizar correcciones muy frecuentemente. Crees que el modulo que tu me recomendaste pueda obtener refrescamiento de las coordenadas en periodos de tiempo menores a un segundo? Y que transmita esa data vÃa serial, si conoces algún otro modulo mas adecuado te agradecerÃa que me lo recomiendes. Gracias. Piero Moretto Esta dirección de correo electrónico está protegida contra los robots de spam, necesita tener Javascript activado para poder verla Posted 2007-07-26 15:28:47 1. Untitled Piero, Unregistered Saludos, primero que todo debo felicitarte por lo interesante de este proyecto, yo soy fanatico tambien de la robótica y he realizado algunos robots muy simples, proximamente planeo realizar un robot para mi tesis de grado y necesitara un GPS para orientarse, me gustarÃa saber un poco sobre el funcionamiento de este modulo, por ejemplo que tan rapido se pueden refrescar las coordenadas, porque necesitaria tomar un muestreo de la posicion del robot a una frecuencia considerable. Gracias. Esta dirección de correo electrónico está protegida contra los robots de spam, necesita tener Javascript activado para poder verla Posted 2007-06-17 23:12:21 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Modificado el ( lunes, 15 de diciembre de 2008 ) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| < Anterior | Siguiente > |
|---|


























