Dynamixel ax-12a arduino

Dynamixel ax-12a arduino

Dynamixel ax-12a arduino

dynamixel raspberry pi

Quería interconectar mis servos AX-12A con un Arduino así que diseñé esta pequeña PCB para implementar el circuito medio dúplex recomendado. Con esta placa puedo comunicarme exitosamente con los servos usando un puerto serial estándar de Arduino a la tasa de baudios por defecto de Dynamixel de 1Mega bit.
Actualmente estoy alimentando los servos desde el conector VIN del Arduino Mega.    Aunque estos servos pueden consumir una cantidad considerable de corriente, por lo general no lo hacen a menos que estén bajo una carga significativa (que no están en mi proyecto).    Estoy alimentando el Mega con una fuente de alimentación de 9 voltios y 1 amperio, pero parece que esta placa también funcionará bien con microcontroladores de 3,3V como la Raspberry-Pi.    Los circuitos integrados lógicos sólo necesitan 2V para funcionar.    Hasta ahora sólo he probado esta placa con micros de 5V.
¡este es un buen proyecto! Estoy tratando de hacer un sensor usando el protocolo dynamixel para que actúe como un dispositivo sensor dynamixel usando 74LS241. Pero el problema es que cuando intento leer los datos usando ping o scan desde dynamixel sdk/dxl_monitor, el arduino no puede leer ningún dato entrante. ¿Sabe usted lo que está mal?

dynamixel uart

El protocolo Dynamixel es un buen protocolo para aprender a utilizar. Como ocurre con muchos protocolos no ASCII, la longitud del mensaje forma parte de la cabecera del mismo. Esta complicación extra viene con la ventaja de poder enviar datos con un menor número de bytes que los que se necesitarían con un protocolo basado en ASCII.
Si se utiliza un software de serie, se puede evitar la necesidad de un búfer de tres estados. Podrías cambiar manualmente el pin de E/S de una salida a una entrada. Esto probablemente requeriría la modificación de la biblioteca de serie suave. Me sorprendería si alguien no ha hecho ya un software serial half-duplex.
El buffer tri-estado llegará mañana, así que lo probaré y reportaré los resultados. Si eso no funciona, miraré de usar esta solución o esta otra, ambas parecen ser capaces de superar el problema de medio dúplex y dúplex completo.
Supongo que en este punto mi mayor problema es no saber qué preguntas hacer. Por ejemplo, mi investigación anterior se limitó a buscar sólo en el servo AX-12a, y no los motores Dynamixel en general. Esperemos que uno de los métodos anteriores funcione.

biblioteca de servo de dynamixel para arduino

Al conectar estos servos al Arduino puede ser difícil. Para conectar varios servos al Arduino, la comunicación semidúplex de hasta 1Mbps requiere un cableado adicional. Si conectas un solo servo, sólo tienes que conectarlo al Arduino. Si se utiliza más de uno, se debe conectar un buffer de tres estados (como el 74LS241N) entre el Arduino y el AX-12A.
El protocolo Dynamixel es un protocolo serie, por lo que el buffer 74LS241 debe conectarse al puerto serie y luego a los pines «0» y «1». Me surge una pregunta: si el puerto serie es utilizado por Dynamixel, ¿cómo se puede mostrar la información a través del monitor Serial de Arduino IDE?

hoja de datos del dynamixel ax-12a

Un día, un hombre quiere hacer un perro robótico como un regalo a su hijo pequeño. Él trajo algunos servos digitales, un microcontrolador, Lipo batterys … Entonces se encontró con la dificultad de conducir estos servos inteligentes con el procesador Arduino! ¡Así que hemos desarrollado una placa de controladores que puede fácilmente y rápidamente conducir los servos digitales como AX-12 con Arduino directamente! Al igual que el uso de la biblioteca oficial de servos de Arduino.
Con este inteligente escudo servo digital de Arduino y los servos de la serie AX de Dynamixel, es muy fácil para usted para conducir múltiples servos con conexión en cadena con una placa Arduino como Arduino Uno, y construir su perro robótico, hexápodo con potentes servos.
Este escudo integra un circuito medio dúplex en su interior, lo que significa que el cable de transmisión de la UART está conectado a todos los servos AX-12. Si se envía un comando a través del cable sin servo ID, todos los servos recibirán el comando, y si el mensaje contiene el servo ID de destino, entonces sólo un servo, que coincida con ese número de ID, lo recibirá.
Debido a que los servos pueden ser enlazados por medio de un bus serial, el cual puede enlazar hasta más de 200 servos. Cada unidad puede retroalimentar su posición, velocidad de rotación, par de torsión, corriente, temperatura del motor, etc. Puede hacer girar todo, y la velocidad puede ser controlada, simplemente actuar como un motor de engranajes. Esta característica le permite trabajar como motor de robots con ruedas, o robots con orugas.

Acerca del autor

admin

Ver todos los artículos