Descripción
En este experimento vamos a montar un pequeño robot de dos ruedas que controla su trayectoria mediante la diferencia de velocidad de cada rueda. Para esto utilizaremos un micro-controlador denominado S4A-EDU (Sketch 4 Arduino EDUCATION). El cual implementa la circuitería necesaria para controlar dos motores DC incluyendo la implementación de dos circuitos de «Puente H» que se utilizan para controlar la dirección en la que gira cada motor manipulando la polaridad a la que son expuestos.
Este es un experimento resumido que require un nivel de conocimiento medio en Arduino y Electrónica.
Referencias Externas
- Manual Introductorio del Microcontrolador (en inglés): S4AIntroduction
- Sketch for Arduino: http://s4a.cat
Advertencia y Condiciones de Uso
(!) Antes de seguir estas instrucciones asegúrese de entender las Condiciones de Uso de nuestro sitio.
Materiales
- Microcontrolador Educativo para Robótica S4A-EDU (en CR Cibernética): ~$16
- Chasis y Motores con engranes de reducción (en CR Cibernética): ~$25
- Batería LIPO 3.7V (en CR Cibernética) ~$19
- Convertidor de voltaje de 3V a 5V 3A, 92% eficiencia (en Amazon): ~$11
- Jumpers hembra-hembra (en CR Cibérnetica) ~$8
- TOTAL: $80
Pasos Resumidos
A. Montaje y Prueba Inicial
- Ensamble el chasis con las ruedas y los motores (siguiendo las instrucciones del fabricante)
- Agregue el microcontrolador S4A-EDU al chasis
- Asegúrese de que el interruptor on/off del micro-controlador S4A-EDU está colocado en la posición de OFF
- Conecte el micro-controlador S4A-EDU al computador usando un cable de USB a Mini-USB
- Windows:
- Instale el «controlador de windows» para el puerto USB del microcontrolador CP210x (nosotros lo descargamos de este enlace)
- Arduino IDE:
- Instale y seleccione la tarjeta «Amtel atmega328p xplained mini«. La encontramos buscando «328p» en
Tools > Boards > Boards Manager
- Configure el puerto correspondiente. Para nuestro caso aparece en el «Device Manager» como «Silicon Labs CP210x USB to UART Bridge en COMxx«
- Abra el ejemplo «Blink» (
File > Examples > 01.Basics > Blink
) y subirlo al microcontrolador. - En este punto la luz (azul en nuestro caso) del S4A-EDU parpadea cada segundo. Nótese que el interruptor on/off del micro-controlador está todavía en la posición OFF.
- (!) En este punto tenemos un chasis de robot con dos ruedas, con un micro-controlador S4A-EDU montado sobre el chasis el cual podemos programar utilizando el ARDUINO IDE.
- Instale y seleccione la tarjeta «Amtel atmega328p xplained mini«. La encontramos buscando «328p» en
B. Trabajando en los motores
En esta etapa vamos a conectar los motores al micro-controlador S4A-EDU y vamos a utilizar un programa básico para hacer que el robot «gire sobre su propio eje». Esto es, hacer que una de las llantas se mueva en una dirección y la otra llanta en la dirección opuesta, ambas a la misma velocidad.
- Conexiones:
- Asegúrese de que el interruptor on/off del micro-controlador S4A-EDU está colocado en la posición de OFF
- Conecte el positivo de cada motor (cable rojo) y el negativo (cable negro) de cada motor según se indica en la parte inferior derecha de la siguente imagen.
- En nuestro caso, vamos a alimentar el sistema mediante una batería LIPO 3.7V de 2500MAh. (!) Nótese que el circuito funciona con 6-9V según las especificaciones. Nosotros en este experimento usamos un convertidor de 3V a 5V el cual parece funcionar perfectamente.
- Arduino IDE:
- Abra un nuevo programa en el ARDUINO IDE, y pegue en él el código de este archivo: https://github.com/janunezc/robotics/blob/master/_02_s4a_edu_rotate/_02_s4a_edu_rotate.ino
- Cárguelo al S4A EDU
- Funcionamiento del Programa:
- En la función «setup()» se definen los pines del controlador utilizados para manipular los motores junto con el pin 13 que se utiliza para ilumnar el LED integrado en el micro-controlador S4A-EDU; que nos va a servir de medio para ver la ejecución del programa.
- Una vez definidos los pines de salida se hace una llamada a la función doBlink la cual hace parpadear rápidamente el LED integrado como indicativo del que el Setup está completado.
- Seguidamente se configuran la velocidad y dirección de cada motor. Es en este momento que el robot comienza a girar.
- La función loop() permanece vacía en este caso.
- La función setMotor() se encarga de manipular los pines de velocidad y dirección para el motor solicitado.
- La función doBlink() se encarga de hacer parpadear el LED del micro-controlador un numero de veces determinado con una espera entre transiciones tambien determinado en los parámetros.
- (!) En este punto. Al desconectar el cable USB del micro-controlador S4A-EDU y poner el interruptor a la posición ON, el sistema parpadea 10 veces el LED indicador y comienza a girar sobre su propio eje.
Agradecimientos
Queremos expresar nuestro agradecimiento a nuestro colega Gerardo Mora y al estudiante Jean Paul Jimenez por acompañarnos en esta aventura de descubrir el funcionamiento de los diferentes componentes de este robot.
13,998 total views, 1 views today
Comentarios
Una buena fuente de inspiración para el S4A-EDU https://github.com/tomasdecamino/Kit-Robotica-Experimental
Hola Jose, Probamos tu tutorial con mis hijos y nos trabajo muy bien a la primera. Muchas gracias
Qué bueno que les haya sido util. Saludos!
Hola Jose como podría usar un sensor de proximidad. Donde puedo leer oh tener alguna referencia.