Páginas

miércoles, 13 de agosto de 2014

Construye tu propio robot de servos con picaxe 08m2 controlado por bluetooth (ES), Blueserbot

El robot que se describe a continuación es una de las cosas más sencillas que se pueden diseñar en cuanto a microrrobots.
Se trata de un Picaxe 08M2 con dos servomotores de rotación contínua y un adaptador bluetooth, por lo que solo ocuparemos tres o cuatro pines del microcontrolador.



En este caso se han modificado dos servos económicos de 4,5 euros y he adaptado unas ruedas baratas, pero en el mercado venden servos ya modificados y ruedas que engranan perfectamente en los servos, con lo que ahorraremos tiempo y problemas. En cualquier caso hay numerosas guías en internet para modificar distintos tipos de servos.

Se ha usado el kit axe021 que es una placa básica de 08M con una zona de soldadura de prototipos.
En la misma placa va soldada toda la electrónica de la fuente de alimentación, unidad de control y zócalos para el adaptador bluetooth, 2 servos, 2 baterías lipo e interruptor.


El conjunto va alimentado por dos células de lipo de 3,7V en serie que alimentan directamente a los servos, y se obtiene 5V a partir de un 7805. Seguramente todo funcionaría a partir de 3 baterias alcalinas 1,5V AAA o AA aunque la duración de éstas sería muy inferior.

El control se realiza mediante un móvil u otro dispositivo bluetooth capaz de enviar a un puerto serie virtual BT los caracteres "1", "2", ..., y "0".

Si se sitúan 3 filas x 3 columnas de teclas, 123, 456, y 789, siendo la primera fila 123, la tecla dos seria aVance y la 5 stop y la 8 retroceso. Las teclas 4 y 6 rotaciones sobre el propio eje y el resto giros a izquierda y derecha.


El microcontrolador Picaxe xxm2 es incapaz de atender el puerto serie y mandar las pulsaciones al servo simultáneamente ya sea en proceso único como en multiproceso por lo que a veces las teclas de enviadas desde el movil son ignoradas o atendidas con
retraso. Se ha puesto un timeout de 10 msg, que es el tiempo que se lee el pin serie en cada ejecución del comendo, pasado el cual el micro envía los pulsos al servo.  Aumentar significativamente este valor implica que los servos vayan a tirones. 

Se ha configurado el puerto serie a 4800 baudios, aunque no se han mejorado significativamente las comunicaciones por lo que se podría usar la velocidad por defecto del HC-06. Si se deja en 4800 baudios es necesario configurar el adaptador bluetooth desde el ordenador tal y como expliqué en otro capítulo.


'Programa para recibir comandos por bluetooth y controlar dos servos.
'Prueba del Picaxe 08M2 y módem bluetooth HC-06. 
'JCO-Robotics, Agosto 2014.

'servos en c.1 y c.2
'bluetooth en c.4 rx y c.3 tx. (En este programa no se usa tx)

#picaxe 08m2
setfreq m8

servopos c.1, 75
servopos c.2, 75

start:

select case b1

case "1"
servo c.1, off
servo c.2, 10

case "2"
servo c.1, 150
servo c.2, 10

case "3"
servo c.1, 150
servo c.2, off

case "4"
servo c.1, 10
servo c.2, 10

case "5"
servo c.1, off
servo c.2, off

case "6"
servo c.1, 150
servo c.2, 150

case "7"
servo c.1, off
servo c.2, 150

case "8"
servo c.1, 10
servo c.2, 150

case "9"
servo c.1, 10
servo c.2, off

EndSelect

serin [10, start],c.3,T4800_8, b1
'debug
goto start


No hay comentarios:

Publicar un comentario en la entrada