fbpx

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
85.9 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

No es ojimetro, si tienes una señal pwm (5V, 50% de duty por ejemplo), puedes calcular su valor eficaz. Si esa señal pasa a ser 4.5 V, puedes calcular ese duty para obtener el valor eficaz anterior.

Siendo la superficie plana, la velocidad del motor para una tensión va a ser la misma siempre, nada tiene que ver la descarga de la batería, ya que tu mides la tensión en bornes, la única pega que puede tener la batería es que no sea capaz de dar la intensidad requerida.

A mi me convence, más fácil que montar el encoder para una superficie plana.

Responder
_silent
Respuestas: 41
(@_silent)
Eminent Member
Registrado: hace 17 años

Pero con ese sistema no tienes en cuanta que el robot según esté en curvas o rectas, se frenará más o menos (no digo que tú lo hagas por código, lo hará el solo por rozamientos y autocorrección) con lo cual ya no llevas un control real de la velocidad, no aceleras en las curvas para mantener fija la velocidad ni nada de eso. Resumiendo, no existe retroalimentación como tal y por tanto es imposible una regulación de velocidad en condiciones. Tal vez midiendo la I del motor o incluso su V, si que podría hacerse. Todo es probarlo.

Ya no hablamos de pruebas en las que haya rampas, para las cuales tú metodo, como tú mismo admites, no vale absolutamente de nada.

No, sigues sin convencerme. Tal vez si lo veo funcionando...

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

Tu puedes ajustar experimentalmente (o analíticamente...) las velocidades para un radio de curvatura mínimo dado, por ejemplo, a que velocidad puedo correr en recta para que pueda hacer la curva sin salirse, a que velocidad máxima puedo hacer la curva.

Estas velocidades son funciones de la batería, a no ser que uses un cc-cc que te suba la tensión, que esto sería lo ideal, pero más difícil de implementar por temas de espacio.

Una vez que tengas ajustadas esas velocidades máximas en los distintos tramos, lo único que tienes que tener en cuenta es el nivel de la batería para ajustar tu duty.

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

Y entra al irc que es más rápido x_x

Responder
_silent
Respuestas: 41
(@_silent)
Eminent Member
Registrado: hace 17 años

Si, pero sigues teniendo que calcularte en todo momento el duty según tensión, lo cual es un problema por la no linealidad.

PD: Paso de conectarme que luego me lias y ya es tarde. Mejor me voy a sobar ya. Mañana lo discutimos más despacio. O sino montalo y pruebalo, y si funciona así, ya te lo copiaré :-D.

Responder
Página 11 / 64
Compartir: