Skip to content

Dynamixel Servo Module

bdring edited this page Oct 13, 2020 · 6 revisions

Dynamixel Servo Module

This module allows you to control Dynamixel Robot servos. These servos are very strong and accurate for their size. The are controlled via a 3 wire bus. You can control over 200 servos on a signal bus. The servos also have feedback for position. When Grbl is in Idle mode and motors disabled you can move the servos and Grbl will update the current position.

They can be used for any axis. You map a range of motion in Grbl_ESP32 to a range of motion on the servo.

Power can come from either the controller or externally. The is a switch to select this. While you only need one Dynamixel connector, 2 are provided in case you have servos on opposite sides of the controller. There is also a single RC servo connector. The power for this comes from the controllers 5V.

Example Machine Definitions

// Dynamixel Servo Module In Socket #3
https://github.com/bdring/6-Pack_CNC_Controller/wiki/Dynamixel-Servo-Module
#define DYNAMIXEL_RXD           GPIO_NUM_26
#define DYNAMIXEL_RTS           GPIO_NUM_4
#define DYNAMIXEL_TXD           GPIO_NUM_16
#define A_SERVO_PIN             GPIO_NUM_27 // RC Servo

#define X_DYNAMIXEL_ID          1 // Dynamixel protocol ID
#define Y_DYNAMIXEL_ID          2 // Dynamixel protocol ID
#define Z_DYNAMIXEL_ID          3 // Dynamixel protocol ID

#define A_SERVO_CAL_MIN               1.0       // RC Servo calibration factor for the minimum PWM duty
#define A_SERVO_CAL_MAX               1.0       // RC Servo calibration factor for the maximum PWM duty
Clone this wiki locally