You are viewing an older revision! See the latest version

Dynamixel AX12 Servo

Dynamixel AX12 Servo

This page is intended as a write-up / tear-down of the the Dynamixel AX-12+ servo motor that was used in the mbed Etch-a-Sketch demo at Embedded Systems Conference.

Introduction

This little beast is a highly featured piece of kit. It's not the cheapest servo money can buy, but it is certainly very versatile, and delivers a serious bang for your buck.

AX12 AX12-pinout

The headline features are:

  • 55g
  • 7v - 10v supply
  • 900mA maximum current
  • 16.5kg/cm Holding torque
  • 300 degree or continuous rotation
  • Half duplex serial (8-N-1) interface, up to 1Mbps
  • Feedback for position, temperature, load, voltage etc

It is really mechanically sound too, and comes with a mounting plate, a bracket to fit to the spindle and plenty of nuts and bolts to bolt it all together. It has been designed so that one servo canbe mounted on the spindle of another so you can do multple degrees of freedom just by mounting them on eachother.

As ever the first step is simply to establish communication with the AX-12. Once we are reliably reading and writing data to the the AX-12 we can think about an API that makes it simple to control.

Hello World!

AX12

#include "mbed.h"
#include "AX12.h"

int main() {

    AX12 myax12 (p9, p10, 1);
    
    while (1) {
        myax12.SetGoal(60);  // go to 60 degrees
        wait (2.0);
        myax12.SetGoal(240); // go to 240 degrees
        wait (2.0);
    }
}

AX12 Hello world

Library

AX12 Library

Datasheet

AX12 Datasheet (PDF)

Development Notebook Page

If you want to read more details about the development of this library, the full write-up can be found at :

AX12 Notebook page


All wikipages