Expresate

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

Avisos
Vaciar todo

Proyecto robot velocista.

318 Respuestas
21 Usuarios
0 Reactions
107 K Visitas
_jm_
Respuestas: 961
 JM
Topic starter
(@_jm_)
Prominent Member
Registrado: hace 20 años

Hola pues me dispongo a desarrollar un velocista en un plazo de un año, es decir, para el próximo cosmobot si dios o la caixa quieren. Y me gustaría pedir consejo y escuchar opiniones sobre diferentes puntos.

La base va a ser un coche rc de escala 1/28, como el miniz del cosmobot, esta vez otro modelo de coche, al que he podido incorporar un microservo de 0.1 s 60 grados, para el giro.

Mi primera duda surge en que tipo de sensores para detectar la línea usar, o cuáles hay disponibles. Lo ideal es que cuanto más pequeños mejor, y probablemente haga lectura analógica sobre digital, ya veremos como afectan los cambios de luz.

Yo hasta ahora sólo conozco dos modelos de sensor, en CNY70 y el QRD1114 de fairchild que nunca he usado, en el cosmobot vi a gente que llevaba diversos tipos de sensores, algunos de ellos eran muy pequeños, a ver si alguien me puede indicar otro modelo de sensores distintos de los dos anteriores, o foto trt y foto diodo.

Segunda duda, es como colocar los sensores, mi idea inicial es volver a usar dos placas de sensores, una delante y otra detrás, la de detrás es muy útil para conocer la posición del robot respecto a la línea, para poder realizar cambios de carril y acelerar, cuando el robot está centrado.

En el cosmobot vi a un robot, este http://es.youtube.com/watch?v=IVLpgTclsrI que usaba esa técnica para seguir la línea, me comentaron que esta era la manera correcta de hacerlo, o como se debia hacer. Me gustaría saber que ventajas tiene de hacerlo de esta forma frente a la clásica placa de sensores fija en el coche. Supongo que de esta forma se podrá obtener un error mucho más exacto.

Y por último que microcontrolador usar, he estado leyendo y creo que la mejor elección para este tipo de proyecto es un DSP, además de un mayor número de MIPS llevas los multiplicadores por hard, bastante útil a la hora de realizar operaciones.

Las señales que habría que leer en principio serían los sensores y un encoder que lleve el coche, que aún no sé muy bien donde se lo voy a poder colocar, quizás en el piñon o en la corona, y luego por último leer la batería. Las salidas el motor y el servo.

Aunque con un micro de 8 bits bien programado se puede hacer todo esto y más, yo creo que es un buen proyecto para iniciarse con micros mayores (almenos para mi), aún no sé la cantidad de operaciones que habría que hacer por segundo, mi idea inicial siendo muy optimista, es alcanzar los 2 m/s de media.

Así que a ver si alguien me puede aconsejar un micro para empezar, de momento yo he pensado en el dsPIC del que ya tendría el programador, por lo que el coste sería cero. Pero puestos a aprender no sé si sería mejor irme al mayor fábricante, es decir texas instruments, lo que no sé es cuánto costaría un DSP de estos, y cuánto el material para el desarrollo. La idea es usar un micro smd frente a un kit, por razones de espacio.

Tb me estoy iniciando estos días con atmel, que supongo que tendrá su alternativa a usar.

Gracias. S2


Responder
317 respuestas
_jm_
Respuestas: 961
 JM
Topic starter
(@_jm_)
Prominent Member
Registrado: hace 20 años

Yo lo del colector común no lo veo del todo claro, ahí no multiplicarías los efectos de la luz ambiente por 8?. ¿No se puede dar el caso en que esta corriente con el diodo apagado multiplicada por ocho sea lo suficientemente grande y no seas capaz de leer el sensor que quieres? es decir te encuentres con el cero en la salida.

Si funciona me parece una idea muy buena, porque tb reduces consumo.

Lo de aplicar una señal ac al led es ya complicarse si se puede hacer en digital.

Respecto a lo de leer dos líneas a la vez, vas a ir por el medio del carril, si la distancia entre líneas es 15 y el ancho máximo del robot es 20 te quedas lejos de la línea roja, mucho más lejos que yendo sólo por una línea.

Lo de circular por dentro de la pista hay que probarlo a ver que tal resulta, pero yo creo que es mejor siempre llevar una referencia.

Una placa continua respecto a dos en los extremos me gusta más porque nunca vas a perder la línea y siempre vas a saber tu velocidad de desplazamiento sobre esta.

Si estáis seguros de que no se va a perder pues con las placas en los extremos llevas menos sensores, con la placa continua estás seguro al 100% con el hard de tener una referencia.


Responder
beamspot
Respuestas: 1132
(@beamspot)
Noble Member
Registrado: hace 18 años

Voy a intentar explicarme, pero que conste que suspendía las asignaturas de letras.

A ver, mi intención es que el condensador que viene de la línea de sense bloquea la contínua que genera la luz incidente (que muy bién ha dicho JM, está multiplicada por 8), de manera que se filtra esta parte y no pasa a la salida (bueno, depende del condensador y de los 50Hz).

A los leds, no se les aplica 'alterna' pura y dura. Simplemente, se pone un 1 en la línea de data, y se hace un flanco de subida en el reloj. De esta manera, las salidas estan todas a 0, menos en el primer LED, que se ilumina. Al cabo de unos us, se lee la salida del comparador. Si hay reflexión, la tensión ha bajado respecto de lo que estaba, así que se lee un 0.

Entonces, se pone la lína de data a 0, y se aplica otro flanco ascendente de reloj. Con eso, se apaga el LED del opto 1, y se enciende el LED del opto 2. Al cabo de los us se lee otra vez el estado del comparador, se hace un shift al byte donde hemos leido el primer bit, se le añade la salida del comparador, y se repite el proceso.

Esto se tiene que hacer con una cierta velocidad (20us, 30us a lo sumo, quizás con 10us sería bastante, pero hay que probar) para que la señal pase el condensador de bloqueo de la continua.

Al cabo de 8 pulsos de reloj tenemos todos los leds apagados, y la lecutra entera de los ocho optos pasada por un único comparador. La ventaja es que sólo necesitamos un comparador (yo pensaba en usar el interno de los AVR) y una línea de entrada, y con este método, se puede discriminar fácilmente la continua que pueda añadir la luz ambiental.

El inconveniente es la velocidad de muestreo.

Otra ventaja, es que se pueden leer tantas placas de sensores como pines extra tengamos, es decir, añadir una placa más de sensores, es simplemente añadir una línea de entrada más para poner a la salida del nuevo comparador. La entrada de data y de reloj son las mismas.

Por supuesto, hay que probarlo, ajustar las resistencias, el condensador, etc. Pero creo que puede ser perfectamente funcional.

Lo de la histéresis del comparador (trigger schimdt) podría ser algo interesante y que se debería probar tambieén. Incluso se podría llegar a hacer el invento con puertas schimdt en lugar de comparadores.

Buff, creo que tendría que ponerme a trabajar en una fábrica de persianas...


Responder
dragonet80
Respuestas: 1328
(@dragonet80)
Ardero
Registrado: hace 18 años

beamspot, nosotros desde después de cosmobot usamos los sensores directamente con schmith trigger y no tenemos ningún prolema. Ahora, nosotros no vamos, todavía ;), a 2 m/s así que no sabemos si influirá o no, pero sigo sin entender porqué todos le veis tantos problemas a la luz ambiente, cuando yo no tengo ninguno. Teniendo los sensores boca abajo y a un par de milímetros del suelo, si es blanco me leen blanco y si es negro me leen negro, haya la luz que haya (o almenos de momento no me he encontrado en la situación que me de errores) tan solo me falta probarlo a oscuras.


Responder
beamspot
Respuestas: 1132
(@beamspot)
Noble Member
Registrado: hace 18 años

Personalmente no he tenido muchos problemas con la luz ambiente, pero en el proyecto en el que le he echado unas horas, sí que me puede influir. Claro que es algo profesional que no tiene nada que ver con robots ni seguidores de línea ni nada.

Es una aplicación industrial, donde le puede llegar a dar la luz del sol directamente, así que sí que puedo tener problemas.

Lo bueno, es que la tecnología y el conocimiento sí que puedo aplicarlo luego a los robots...

Pero me gustaría comentar que estoy trabajando en lo que será mi primer siguelíneas, y preparo a la vez para un velocista. La pega es que tengo muy poco tiempo. Los fines estoy con la família lejos de internet y lejos de cualquier ordenador, así que sólo le puedo dedicar un ratillo.


Responder
gizer20
Respuestas: 1570
(@gizer20)
Noble Member
Registrado: hace 20 años

Una pregunta que tengo a raiz de los motores que puso aqui JM, cuando se dice que la revolucion es de 100:1, que quiere decir.
Yo supongo que por cada 100 vueltas del motor, el eje final da una vuelta. Eso es correcto?


Responder
Página 22 / 64
Compartir: