Motor Control: The AKARIN servo project
Dec. 5, 2016 BY Yuchong Li


AKARIN servo is an open source AC servo solution. It provides high performance torque servo, velocity servo and position servo, with an integrated motion trajectory generator. It is implemented based on Analog Devices' floating point DSP. Multiple AKARIN servo drives can be daisy-chained together to form a motion control array, which can achieve high precision synchronized multi-axis motion control. It is ideal for CNC machines, robotic arms and other applications that require high performance AC servo motion control. The AKARIN servo provides a simple Modbus-RTU interface over RS-485 for real-time commands and a custom protocol for setting up and tuning.

Tuning software

A software is developed to tune the servo drive's parameters.

Space Vector Modulation

Space Vector Pulse Width Modulation(SVPWM) is used as the modulation strategy for AC motors.


Linear actuator test

In this demo, a linear actuator using lead screw and nut is built. This is a typical configuration which can be found in most CNC machines. A dial test indicator was used to test the accuracy and repeatability of the configuration. In this configuration, the motor is rated 200W and 3000RPM with a DC bus voltage of 48v.

Multi-axis synchronized motion test

A multi-axis CNC milling machine is built to test the servo drives. It has 6 degrees of freedom - X, Y, Z, A, B and spindle. All axes are driven by AKARIN AC servos. X, Y, Z servos are rated 200W, A axis is rated 125W, B axis is rated 150W and spindle is rated 400W.
In this demonstration, two pencil leads were chucked onto the A axis, a flange with corresponding holes and two screws was installed on the spindle servo. A series of complicated motions were implemented using the AKARIN servos, running at very high speed(up to 3000RPM), without breaking the pencil leads.

Source code

Source code available at Bitbucket, released under BSD license.

© 2013 - 2017 Yuchong Li