fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Documento sobre mi robot de sumo

16 Respuestas
6 Usuarios
0 Reactions
7,472 Visitas
herrerodelacal
Respuestas: 84
Topic starter
(@herrerodelacal)
Trusted Member
Registrado: hace 19 años

Hola a todos. Simplemente os quiero pasar documentación sobre el robot de sumo que hicimos hace dos años y pico mi hermano y yo para participar en las distintas pruebas de robótica de España. El robot se llama Panzer II, y a día de hoy es el campeón de España de su categoría ya que fue el que venció en la última edición de Hispabot.

La verdad es que ya he jubilado el robot, y por lo tanto, me parece interesante pasaros un documento que elaboré hace tiempo con las distintas caracaterísticas del robot, planos, esquemas eléctricos, programación, etc... para lo que esteis desarrollando un robot de sumo o esteis pensando en hacerlo podais coger alguna idea si la creeis interesante.

Bueno, este documento vereis que es un poco largo, porque he metido también los datasheet que usé, (para tenerlo todo siempre a mano). Si alguien quiere algo más detallado y elaborado, os puedo pasar también la edición alargada de unas 200 páginas, aunque la verdad es que no viene mucho más que en lo que os paso (hombre, bastante más, explicaciones teóricas, justificaciones, presupuestos, etc... Proyecto Final de Carrera vaya...).

Lo voy a unir como archivo adjunto, pero si lo debo dejar en algún otro sitio, me lo decis los moderadores, porque no se donde debería dejarlo.

En fin, que espero que le sea útil a alguien...

Javier

P.D. Veo que el tamaño máximo permitido es de 2 megas y el documento ocupa 4.1 Mb. ¿Dónde lo puedo meter?

Responder
15 respuestas
herrerodelacal
Respuestas: 84
Topic starter
(@herrerodelacal)
Trusted Member
Registrado: hace 19 años

¿Dónde pone que el GP2D12 no funcionó bien? Lo he echado un ojo pensando que sería un erro de escritura pero no lo veo por ninguna parte...El que dió algún problemilla es el GP2D05, que es el que usé. Me dio problemas en cuanto a dos cosas. La primera que no conseguía una lectura de manera estable a más de 50 cm. Y principalmente me dio problemas con los focos de algunos campeonatos (por no decir solo los del Hispabot) porque son tan potentes que emiten en el espectro del infrarrojo, y claro, pues el sensor ve lo que le viene encima, sea lo que ha mandado él o lo que le mande el foco, entonces de vez en cuando atacaba al foco. Esto me pasó sobretodo en la clasificación del primer día. Luego le ajusté un poquito para ponerle en una posición un poco más estable (a costa de perder unos centímetros de visión) y entonces funcionó mejor y pudo ganar.

Saludos y gracias por los cumplidos.

Javier

Responder
ucfort
Respuestas: 760
(@ucfort)
Ardero
Registrado: hace 19 años

Vaya, si, bueno debi confundirme, le di una pasada rapida.
Pero lo que dices me interesa mucho, como supongo habras leido este año hemos montado un equipo para ir a hispabot (eurobot) y usamos dos gp2dxx un 12 y un 05 Sera bueno tener en cuenta tu experiencia 🙂

Responder
herrerodelacal
Respuestas: 84
Topic starter
(@herrerodelacal)
Trusted Member
Registrado: hace 19 años

Bien, pues sobre los GP2D12, yo nunca les he utilizado, pero bueno, mis compañeros que sí los utilizaban me decían que lo de conseguir leer a 80 cm era nada menos que una utopía, vamos, algo imposible (y si se consigue es de manera muy inestable, vamos que te puede saltar a la mínima). En cuano al GP2D05, pues bueno, como ya sabrás lo malo que tiene es que gastas demasiado recurso de procesador solo para su control. Me refiero a que tienes que estar contínuamente temporizando, porque hay que darle una señal x ms, luego transcurridos y ms hay que solicitar respuesta, etc. Esta fue la razón por la que decidí meter otro micro y dejarle que lo controlara él (otra opción hubiera sido meter un micro más grande, pero cuando comenzé a diseñar la placa solo sabía progamar el 16f84 con el C2C y este compilador daba problemas para el 16f87x y decidí dejarme de historias y tirar de dos 84. Un mes más tarde más o menos ya sabía programar el 87 en ensamblador, pero no hice otra placa nueva.

Pues eso, ahora (no hace mucho) SHARP ha sacado los nuevos modelos de sensores infrarrojos de distancia. Son más sencillos de controlar (en comparación con el 05, vamos que aunque solo te den un bit como el 05, funcionan como el 12, que cuando lee, pues te lo dice y ya está, como un CNY vaya... Los nombres son un poco más largos, como el GP2Y0D02YK, etc... Estos les he probado y funcionan a mi parecer mejor que los anteriores. Son menos imperturbables, aunque la distancia real de detección (sin el famoso papel Kodak perfectamente blanco y esas cosas que el robot jamás verá delante) pues es similar a los otros (quizás algo mayor)...

Bueno, pues nada más, un saludo

Javier

Responder
ucfort
Respuestas: 760
(@ucfort)
Ardero
Registrado: hace 19 años

mmmmm, no quisiera hacer un monologo sobre los GP2DXX pero.
Segun lo que he leido del gp2d05 no es como tu dices que funciona, segun la casa donde lo compre:
"El Sharp GP2D05 es un sensor medidor de distancias por infrarrojos que indica mediante una salida lógica (0 o 1) si hay algún objeto dentro del alcance preestablecido. El rango se ajusta entre 10 y 80 cm con la ayuda de una resistencia variable fácil de regular."
Por lo tanto no tienes que usar recursos ni una gran programacion. Vaya yo lo tengo y pensaba usarlo como dice ahi.
El gp2d12, pues si, yo no me pondria delante de un robot con una aguja y ese sensor. Este si lo he probado y al final lo que he heho ha sido tomar valores intermedias y programar, de aqui parriba mas de 70cm de aqui parriba mas de 50cm etc. etc.

Responder
herrerodelacal
Respuestas: 84
Topic starter
(@herrerodelacal)
Trusted Member
Registrado: hace 19 años

No, mira, para el GP2D05 lo que han escrito en la casa donde lo compraste no es incorrecto, pero claro, falta información. Si te fijas en el datasheet, en la sección del Timing Chart, al final justo de la página 2, ves lo que te he dicho antes. Para programar el sensor tienes que hacer lo siguiente (fijate que el diagrama está en lógica inversa):

Meterle un 1 por la pata Vin del sensor durante 70 ms (ver el gráfico anterior). Transcurridos 28 ms típicamente y con un máximo de 56 ms (vamos que a los 40 ms por ejemplo) lees lo que te da la pata Vo del sensor (que si lo metes por interrupción pues no tienes que mirar nada, y si es por escrutinio pues sí), y permatecerá en este estado, desde que se ha puesto en valor alto o bajo hasta que han transcurrido los 70 ms desde que activaste Vin y vuelves a poner Vin a cero.... (te recuerdo por si acaso que el esquema está en lógica negativa).

Bueno pues como ves sí que tienes que temporizar. Con un temporizador vale, porque realmente lo único que tienes que temporizar son esos 70 ms y el 1 ms que tienes que tener después a 0 Vin porque la salida de Vo, pues como te digo, o la metes por interrupción o la compruebas por escrutinio.

Ahora bien, en efecto en el datasheet también dice que el rango se ajusta entre 10 y 80 cm y bueno, pues el que lo escribió que venga a mi casa y me lo demuestre (claro, como os dije antes, yo jamás he puesto delante el super papel Kodak super blanco con que lo prueban ellos ni nunca lo pondré). El caso es que este sensor lleva en efecto un potenciómetro con el que puedes regular esto. A no ser que mi sensor estuviera estropeado, cosa que dudo, lo que pasaba es que hay ciertas posiciones inestables, en las que el sensor detecta aunque no haya nada o no detecta aunque haya un elefante delante. Generalmente se ve bien porque se vuelve loco con unos y cero. De vez en cuando, según vas girando lentamente el tornillito, pues encuentras alguna zona estable... en la que quizás lee a 20 cm... otra en la que lee a 30.... y lo máximo que consguí yo leer fue a 50 más o menos... que como también dije, con los focos del Hispabot ... que son muy muy potentes, pues no era una posición muy estable, y tuve que ponerle en la posición de lectura a unos 40 cm... que buen, no es mucho, pero para el sumo, yo creo que no estaba mal.... (total, si detecto algo a más distancia, cuando llegue ya se ha pirado el otro robot).

Sobe el GP2D12 no te puedo decir mucho porque nunca lo he usado, aunque un robot que hice sí le llevaba, pero al final no le llegué a hacer funcionar porque el proyecto quedó desestimado... Antes te he dicho que lo de conseguir los 80 cm que nada... haciendo bien memoria creo que no eran esos sensores a los que se referían... De hecho pensando un poco más me suena que me dijeron que eran precisamente los GP2D12 los que sí que te daban el rango más o menos que decía el datasheet... así que lo que te he dicho antes, creo que era fruto de mi imaginación...

La verdad es que con datos analógicos se trabaja muy mal... y lo único que puedes hacer es eso que haces, establecer escalas, con más o menos precisión, pero escalas... porque encima... QUIEN FUE EL LISTO QUE TRANSFORMÓ LOS DATOS ANALÓGICOS A 10 BITS!!!! cuando la operación sencilla solo me permite operaciones con registros de 8!!!... El truco para facilitar la programación es utilizar una tensión de referencia de tal manera que los primeros valores siempre vayan a los dos más significativos y así esos te los quitas de encima y tu rango de trabajo siempre se queda en los ocho menos significativos con los que puedes operar bien.... ya no recuerdo bien como era esto, pero bueno, era algo de eso...

Venga, pues espero que os funcione bien el sensor, y si no, pues siempre podeis comprar otro distinto, que entre tres que sois no os sale muy caro.

Un saludo (y como siempre perdón por el rollo, que yo con las teclas no paro).

Javier

Responder
Página 3 / 4
Compartir: