UART half duplex for Dynamixel servos
Posted: Mon Feb 28, 2022 4:14 am
I thinking about using Dynamixels Servos on some of my micropython projects.
The Dynamixel servos are what many would call a smart servo where the servo has an MCU on it that controls the servo including all PID speed and position and torque control and a master just tells the dynamixel what it wants it to do via a single wire half duplex UART protocol.
They dynamixel actually has a STM32F103 processor on it that receives the half duplex UART coms and carries out the commands.
Robotis that make dynamixel servos does document the protocol of the packet that is sent over half duplex UART and does provide a SDK for using it from a PC via a USB to UART converter or from a RPi or similar.
I have also used the dynamixels directly off a RPi UART but this requires for me to build some hard circuits to convert the full duplex to half duplex as RPi doesn't have hardware half duplex as well as modifying the setup of the RPi to increase the UART clock source so that I can the 1Mbp that the dynamixles talk on.
I would like to be able to drive the dynamixel directly from the UART of a micropython board.
How can 1 set the UART to hardware half duplex??
Is there a way to do it fro within the UART module or will I need to change the needed in the UART control register?
The Dynamixel servos are what many would call a smart servo where the servo has an MCU on it that controls the servo including all PID speed and position and torque control and a master just tells the dynamixel what it wants it to do via a single wire half duplex UART protocol.
They dynamixel actually has a STM32F103 processor on it that receives the half duplex UART coms and carries out the commands.
Robotis that make dynamixel servos does document the protocol of the packet that is sent over half duplex UART and does provide a SDK for using it from a PC via a USB to UART converter or from a RPi or similar.
I have also used the dynamixels directly off a RPi UART but this requires for me to build some hard circuits to convert the full duplex to half duplex as RPi doesn't have hardware half duplex as well as modifying the setup of the RPi to increase the UART clock source so that I can the 1Mbp that the dynamixles talk on.
I would like to be able to drive the dynamixel directly from the UART of a micropython board.
How can 1 set the UART to hardware half duplex??
Is there a way to do it fro within the UART module or will I need to change the needed in the UART control register?