Cual es el motor adecuado para un robot seguidor de lineas?

1,311 views
Skip to first unread message

Federico Moya

unread,
Oct 31, 2017, 5:50:12 AM10/31/17
to Embebidos32
Estoy armando un robot seguidor de linea con la EDU-CIAA. Tengo una primer versión que funciona no muy bien. Acá lo pueden ver: https://youtu.be/KvQf3TxjRa8
Solo logro que el robot siga la linea haciendolo andar a la minima velocidad. Sospecho que el problema son los motores, que tardan demasiado en reaccionar. Estoy usando motores DC como estos que se ven acá: https://goo.gl/images/4nF4Wj. Alguno tiene experiencia con este tipo de robots? Serán mejores los motores paso a paso? Gracias.

superhamradio .

unread,
Oct 31, 2017, 7:17:09 AM10/31/17
to embeb...@googlegroups.com
Hola Federico, excelente trabajo !!
Por lo que veo, tenés demasiada ganancia en la alimentación de los motores (eso hace que el arranque sea brusco, y que la inercia sea grande) ; deberías alimentarlo con PWM: comenzarlo a mover desde muy poca tensión, modulando la tensión de alimentación (me imagino que estás usando dos puentes H -uno para cada motor-, así que no es difícil) para la parada también modular la tensión.

Poner motor paso a paso para ésto, será para complicarte y no ganarás nada.

73's
Leo.
 

El 31 de octubre de 2017, 6:50, Federico Moya <federi...@gmail.com> escribió:
Estoy armando un robot seguidor de linea con la EDU-CIAA. Tengo una primer versión que funciona no muy bien. Acá lo pueden ver: https://youtu.be/KvQf3TxjRa8
Solo logro que el robot siga la linea haciendolo andar a la minima velocidad. Sospecho que el problema son los motores, que tardan demasiado en reaccionar. Estoy usando motores DC como estos que se ven acá: https://goo.gl/images/4nF4Wj. Alguno tiene experiencia con este tipo de robots? Serán mejores los motores paso a paso? Gracias.

--
-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32+unsubscribe@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es
---
Has recibido este mensaje porque estás suscrito al grupo "Embebidos32" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a embebidos32+unsubscribe@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Hugo Martinez

unread,
Oct 31, 2017, 11:33:04 AM10/31/17
to embeb...@googlegroups.com
El motor está bien. Lo que tendrias que implementar es mas electronica y programacion. Mas siglas. Control PWM con doble puente H y un disco ranurado igual al del ABS para conocer la posicion del rotor y hacer una realimentacion por PID. Hay librerias de arduino. Saludos.

Miguel Grassi

unread,
Oct 31, 2017, 12:43:24 PM10/31/17
to Embebidos32
Hola Federico,

Como ya te sugirieron, tenes que hacer PWM sobre los motores para tener un arranque más suave. Hacer un lazo cerrado con encoders adicionales me parece que le quita la gracia al seguidor de líneas, que es justamente su simplicidad, lo que no impide lograr grandes resultados.

Una cosa que te ayudaría mucho creo, es acercar los sensores a la línea. En el video no se ve, pero me da la impresión de que están muy separados y por eso el móvil dobla demasiado cada vez, hasta que el sensor del lado contrario detecta nuevamente la línea. Si los ponés bien cercanos a la ésta, en cambio, la trayectoria sería mucho menos zigzagueante. 

Adicionalmente podrías hacer una lectura analógica y no digital de los sensores de línea (creo que la EDU-CIAA no tiene entradas analógicas, en cuyo caso deberías usar un conversor AD externo) de modo de tener niveles en la detección de la línea y hacer que el duty del PWM de reacción de los motores sea proporcional a la lectura, es decir: 

 sensor "ve" poco negro-> corrección pequeña. 
 sensor "ve" mucho negro (el móvil llegó a la curva de 90º, por ejemplo), corrección grande. 

Eso sería la parte proporcional (la P) del PID que sugiere Hugo. Si pudieras implementar el lazo PID completo, o agregar la corrección Integral (la "i" del PID), al menos, mejoraría mucho más aún, ya que la integral corrige muy bien pequeñas desviaciones constantes (diferencias constructivas entre los motores de uno y otro lado, por ejemplo). 

A partir de ahí, el secreto -y la diversión- pasa siempre por optimizar la programación. Podés hacer análisis predictivo, adaptación del comportamiento a la traza de cada circuito, programar rampas de aceleración... Hasta sistemas de aprendizaje (una forma básica de AI) que vayan optimizando el comportamiento vuelta a vuelta, etc. Todo con dos simples sensores y mucha programación. Claro que sin lectura analógicas ni salidas con PWM las posibilidades se reducen mucho.

Saludos,

Miguel           

2017-10-31 6:50 GMT-03:00 Federico Moya <federi...@gmail.com>:
Estoy armando un robot seguidor de linea con la EDU-CIAA. Tengo una primer versión que funciona no muy bien. Acá lo pueden ver: https://youtu.be/KvQf3TxjRa8
Solo logro que el robot siga la linea haciendolo andar a la minima velocidad. Sospecho que el problema son los motores, que tardan demasiado en reaccionar. Estoy usando motores DC como estos que se ven acá: https://goo.gl/images/4nF4Wj. Alguno tiene experiencia con este tipo de robots? Serán mejores los motores paso a paso? Gracias.

--

Eduardo Filomena

unread,
Oct 31, 2017, 2:42:22 PM10/31/17
to embeb...@googlegroups.com
Hola Miguel!
   Muy buenas todas tus sugerencias. Sólo quería agregar que la EDU-CIAA, si tiene entradas analógicas, son tres canales y el conversor es de 10 bits
Saludos!!
Eduardo 

Imágenes integradas 1

Carlos Eduardo López Aldana

unread,
Oct 31, 2017, 5:04:05 PM10/31/17
to embeb...@googlegroups.com
Tiene 6 entradas analogicas
ADC0_0
ADC0_1
ADC0_2
ADC0_3
ADC0_4
ADC1_6

Saludos...
López Aldana, Carlos Eduardo

Gonzalo Cuenca

unread,
Oct 31, 2017, 8:44:25 PM10/31/17
to embebidos32@
Federico, ante todo te felicito por el robot, sin duda sigue la línea mejor que el que programé yo en la competencia de uno de los primeros SASE (todavía lo están buscando al robot :P ).

Por otro lado hay tantos "sabores" de CIAAs que se confunden jaja. 
Para las recomendaciones de Miguel y viendo tu setup de 5 optos te va a faltar un canal :(.

En la EDU-CIAA-NXP (uC LPC4337JBD144) el extracto del conexionado es este:
Imágenes integradas 1
Como dijo  Eduardo, tenemos ruteado al conector de expansión solo 3 canales ADC. Eventualmente el canal definido como DAC se puede programar (tocando configuraciones, drivers, etc ) como ADC también, si bien tiene una impedancia de entrada distinta. El resto de los canales lamentablemente no tiene ruteada la conexión con el exterior.
Imágenes integradas 2


Contanos tus mejoras!
Saludos.
Gonzalo.






Bioing. Gonzalo Cuenca

Oro Verde (3100) - Entre Ríos



El 31 de octubre de 2017, 18:03, Carlos Eduardo López Aldana <cela...@gmail.com> escribió:
Tiene 6 entradas analogicas
ADC0_0
ADC0_1
ADC0_2
ADC0_3
ADC0_4
ADC1_6

Saludos...
López Aldana, Carlos Eduardo

Carlos Eduardo López Aldana

unread,
Oct 31, 2017, 9:26:50 PM10/31/17
to embeb...@googlegroups.com
También estan ruteadas estas otras 2 entradas AD:
ADC0_4 corresponde al pin P7_4, TCOL1 Pin 31 de P1 en EDU-CIAA.
ADC1_6 corresponde al pin P7_7, MDC Pin 8 de P2 en EDU-CIAA.

Saludos...
López Aldana, Carlos Eduardo


Reply all
Reply to author
Forward
0 new messages