Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola,
Estoy portando el software de los micro-osciladores a los micros Atmega168 (los que llevan los Arduinos). Este software permite realizar oscilaciones en los servos de tipo futaba 3003 o compatibles (hasta 8 servos) para implementar la locomoción de robots modulares de tipo gusano o serpiente.
En este vídeo podéis ver las primeras pruebas de oscilación de un módulo MY1
dD2Uwq1R-vo
Las fuentes las tenéis disponibles en este enlace.
Por ejemplo, si queréis mover un robot gusano de 2 módulos (la configuración mínima) sólo tendréis que configurar los osciladores para que tengan amplitudes de 45 grados (por ejemplo) y fases iniciales de 0 y 120. Cambiando el periodo lograréis que vaya más rápido o más despacio.
Je, je. ¿Otro que cae en el reverso tenebroso de los AVR? 😉
Buen trabajo. No me he mirado el mucho el código, pero creo que se puede (siempre he sido fiel a esta recomendación) reducir el tiempo de la ISR del timer, sacando los cálculos fuera de la misma. Tenía algo hecho al respecto, más sencillo, utilizando diferentes interrupciones del mismo timer de 16 bits de un ATmega1281, que tiene tres comparadores, uno para la recarga, otro para los flancos ascendentes, otro para los descendentes. Y sin necesidad de máquina de estados.
Una lástima que no lo tenga a mano. Es más, creo que he perdido ese programa. 😐
(Te contesto también por aquí 😉
¡Maravillosa noticia!
Precísamente llevo unos días escribiendo un programa para un ATMega2561 que me permita utilizar el controlador CM-510 de Robotis "a mi modo".
¿Te has planteado crear una "comunidad" en la que la gente pueda cooperar?
Como siempre, si puedo ayudarte en algo, puedes contar con mi colaboración 🙂
Je, je. ¿Otro que cae en el reverso tenebroso de los AVR? 😉
No me he podido resistir al poder del GCC 😉
Buen trabajo. No me he mirado el mucho el código, pero creo que se puede (siempre he sido fiel a esta recomendación) reducir el tiempo de la ISR del timer, sacando los cálculos fuera de la misma. Tenía algo hecho al respecto, más sencillo, utilizando diferentes interrupciones del mismo timer de 16 bits de un ATmega1281, que tiene tres comparadores, uno para la recarga, otro para los flancos ascendentes, otro para los descendentes. Y sin necesidad de máquina de estados.
La gracia de este código es que se posicionan 8 servos usando sólo una interrupción. La ISR es una máquina de estados con muy pocas instrucciones por estado por lo que tarda muy poco. El resto de temporizadores y recursos están disponibles para implementar comportamientos en los robots modulares.
Una lástima que no lo tenga a mano. Es más, creo que he perdido ese programa. :
Yo tengo comprobado que lo que no se publica tarde o temprano se pierde 😀
¡Hola!
(Te contesto también por aquí 😉
¡Maravillosa noticia!
Gracias!
¿Te has planteado crear una "comunidad" en la que la gente pueda cooperar?
No me he planteado explícitamente crear una comunidad. Sin embargo, todo el código y hardware los haré libres para que cualquiera los pueda usar/estudiar/modificar. También pongo el código en repositorios para que la gente pueda enviar parches con mejoras, si quieren
Como siempre, si puedo ayudarte en algo, puedes contar con mi colaboración 🙂
Gracias, estaremos en contacto 😉