Cómo se mueve un robot
Un robot se mueve porque convierte energía eléctrica en movimiento. Esa conversión la hacen los motores, y son lo único del robot que produce un cambio físico en el mundo. Todo lo demás —sensores, programa, placa— existe para decidir cómo usarlos.
Dos formas de moverse
- Por ruedas. Es lo más común en robótica educativa. La configuración típica lleva dos motores independientes, uno por rueda, más un punto de apoyo (una tercera rueda o un deslizador). Se llama tracción diferencial, y su ventaja es que no hace falta ningún mecanismo de dirección: para girar, alcanza con que las dos ruedas giren a distinta velocidad.
- Por articulaciones. Es el caso de un brazo robótico. Acá no se busca trasladar el robot sino mover una herramienta hasta un punto. Los motores que se usan son servomotores, porque lo que importa es la posición exacta del brazo, no la velocidad.
La regla de la tracción diferencial
Con dos ruedas se pueden hacer todas las maniobras con solo dos órdenes:
| Rueda izquierda | Rueda derecha | Movimiento |
|---|---|---|
| Adelante | Adelante | Avanza en línea recta |
| Atrás | Atrás | Retrocede |
| Adelante | Parada | Gira sobre la rueda detenida |
| Adelante | Atrás | Gira sobre su propio eje |
| Más rápido | Más lento | Avanza describiendo una curva |
Fijate que no hay ninguna orden de "girar": girar es una consecuencia de mover las ruedas distinto. Entender esto es la mitad del problema de programar un robot móvil; la otra mitad es la sección de control de velocidad.
Qué motor conviene
Los tres tipos de motor que se usan en estos proyectos ya se vieron con detalle en EFSI I. Lo que importa acá es la pregunta práctica: ¿cuál elijo para mi robot? La respuesta sale de qué necesita el movimiento.
| Lo que necesito | Elijo | Por qué |
|---|---|---|
| Avanzar y retroceder por el piso | Motor de corriente continua con reductora | Es simple y barato. La reductora reduce las vueltas y multiplica la fuerza, que es lo que hace falta para mover el peso del robot. |
| Llevar una pieza a un ángulo exacto | Servomotor | Sabe en qué posición está y la mantiene. Se le indica un ángulo, no una velocidad. |
| Girar una cantidad exacta de vueltas | Motor paso a paso | Se mueve en pasos que se pueden contar, así que el programa sabe siempre dónde está sin necesidad de sensores. Es lo que usan las impresoras 3D. |
El problema de la corriente
Este es el concepto central de toda la página, y el que explica el 90 % de los robots que "no funcionan": un motor no se puede conectar directamente a un pin de la placa.
No es una recomendación de precaución, es una imposibilidad física. Un pin de la placa puede entregar unos 20 miliamperes. Un motor chico consume entre 200 y 2000. La diferencia es de cien veces, y al intentarlo pasa lo que tiene que pasar: el pin se daña, o la placa se reinicia sola.
Por qué la placa se reinicia
Este síntoma desconcierta mucho, porque parece un problema de software. El robot anda bien y de golpe, cuando arranca un motor, se queda como si lo hubieran desenchufado y vuelve a empezar el programa desde cero.
La causa es que el motor, al arrancar, pide mucha más corriente de la que consume funcionando, y la toma de donde pueda. Si comparte la alimentación con la placa, la tensión de la placa cae por un instante y el microcontrolador se reinicia. No es que el programa falle: es que se apaga y se prende.
Las tres reglas que resuelven el problema
- Usar siempre un driver. Es el módulo que recibe la señal débil de la placa y entrega la corriente fuerte al motor. Los más usados llevan un puente H adentro.
- Alimentar los motores con su propia fuente. Baterías o una fuente aparte, no el regulador de la placa.
- Unir las masas. Los negativos de la placa y de la batería de motores tienen que estar conectados entre sí. Sin esa unión, la señal no tiene referencia y el driver recibe cualquier cosa. Es el error que más veces hace fallar un circuito que "está bien conectado".
El driver, además, aporta dos cosas más que se ven en las secciones siguientes: permite invertir el sentido de giro y permite regular la velocidad.
Control de velocidad
Un motor de corriente continua no tiene una entrada de "velocidad": gira más rápido cuanto mayor es la tensión que recibe. La forma obvia de regularlo sería bajarle la tensión, pero eso trae dos problemas: se pierde fuerza y se desperdicia energía en forma de calor.
La solución que se usa es mucho más eficiente: en lugar de bajar la tensión, el pin se enciende y se apaga muy rápido. Si el motor recibe corriente la mitad del tiempo, gira a la mitad de velocidad. Eso se llama modulación por ancho de pulso, o PWM.
Cómo se usa
- Se escribe con
analogWrite(pin, valor), donde el valor va de 0 a 255. 0es apagado total;255es encendido permanente, o sea la velocidad máxima.127no es "la mitad de rápido" exactamente, pero se le parece: es la mitad del tiempo encendido.
Control de dirección
Para que un motor gire al revés hay que invertir la polaridad: lo que estaba en positivo pasa a negativo. Hacerlo con cables sería imposible mientras el robot se mueve, así que se hace con electrónica.
El circuito que lo resuelve se llama puente H, porque se dibuja como una H con cuatro interruptores. Según qué par de interruptores se cierre, la corriente sale por un lado o por el otro, y el motor gira en un sentido o en el contrario.
Qué pines usa
Un driver típico expone, por cada motor, tres conexiones a la placa:
| Pin | Qué controla | Qué se le escribe |
|---|---|---|
| Dirección A (IN1) | Uno de los dos interruptores del motor | HIGH o LOW |
| Dirección B (IN2) | El otro interruptor del mismo motor | HIGH o LOW |
| Velocidad (ENA) | El tiempo que está encendido, o sea el PWM | De 0 a 255 |
Combinando los dos pines de dirección se obtienen los cuatro estados posibles de un motor:
| IN1 | IN2 | Resultado |
|---|---|---|
HIGH | LOW | Gira en un sentido |
LOW | HIGH | Gira en el sentido contrario |
LOW | LOW | Parado, suelto: puede moverse si lo empujan |
HIGH | HIGH | Frenado: el motor queda cortocircuitado y resiste |
La alimentación del robot
El robot se mueve, y por eso no puede estar enchufado. La energía sale de baterías, y elegirlas y calcularlas es una parte del proyecto que se subestima y después se sufre.
Cuánto consume el robot
El consumo se calcula sumando los consumos de todas las piezas. Los motores se llevan casi todo:
| Componente | Consumo aproximado |
|---|---|
| Placa de control | 50 mA |
| Un sensor | 5 a 20 mA |
| Un motor chico con reductora | 200 mA funcionando, hasta 1 A al arrancar |
| Dos motores con reductora | 400 mA funcionando, hasta 2 A al arrancar |
Dos conclusiones que salen de esa tabla: los motores son el 80 % del consumo, y el consumo normal no es el que importa para elegir la batería, sino el pico de arranque. Una batería que aguanta 400 mA pero no 2 A va a hacer que el robot se reinicie cada vez que arranque.
Qué batería usar
| Tipo | Tensión | Para qué |
|---|---|---|
| Pilas AA o AAA | 1,5 V cada una (4 dan 6 V) | Pruebas y proyectos de pocas horas. Son baratas y fáciles de conseguir, pero se agotan rápido. |
| Li-ion 18650 | 3,7 V | Robots que tienen que andar mucho tiempo. Se recargan y entregan mucha corriente. |
| LiPo | 3,7 V por celda | Robots que necesitan mucha potencia, como los de competencia. Entregan mucha corriente, pero hay que saber cargarlas y no descargarlas de más. |
Calcular la autonomía
La autonomía se estima dividiendo la capacidad de la batería por el consumo. La capacidad se mide en miliamperes-hora (mAh): una batería de 2000 mAh puede entregar 2000 mA durante una hora, o 1000 mA durante dos.
autonomía (en horas) ≈ capacidad (mAh) ÷ consumo (mA)
Con una batería de 2000 mAh y un robot que consume 500 mA, el cálculo da unas 4 horas. En la práctica van a ser bastante menos, porque el pico de arranque de los motores consume de más y porque las baterías rinden menos de lo que dicen.
Resumen
| Concepto | La idea que hay que recordar |
|---|---|
| Tracción diferencial | Dos motores, uno por rueda. Girar es mover las ruedas a distinta velocidad. |
| Qué motor elegir | DC con reductora para rodar, servomotor para posición, paso a paso para contar vueltas. |
| Torque | El dato que decide la elección, antes que la velocidad. |
| El pin no alcanza | Entrega 20 mA; un motor pide cien veces más. Nunca directo. |
| Driver | Recibe la señal débil y entrega la corriente fuerte. Lleva un puente H. |
| Masa común | Los negativos de las dos alimentaciones tienen que estar unidos. |
| PWM | Encender y apagar rápido para regular la velocidad. De 0 a 255. |
| Puente H | Cuatro interruptores que permiten invertir el giro sin tocar los cables. |
| Autonomía | Capacidad dividida por consumo. El pico de arranque manda. |