Tarocco: Open Source Closed Loop Motor Controller

Useful project on CrowdSupply currently, 36 days running to fund it and get one of the early birds discounted price boards!

Desktop CNC machinery typically uses stepper motors, often because they result in lower system cost, since they don’t require a position feedback sensor. But there are some situations where having a position feedback sensor is desirable or necessary, and the power output of a stepper motor, specially at high speeds, becomes the bottleneck for those who want a better performing machine.

I wanted to build a desktop CNC mill that was as impressive as some big name industrial machines. I decided to use brushed motors, as good quality and performance, reasonably priced units are easy to find and come in a wide variety of mechanical and electrical configurations. Speeds in excess of 15 m/min or 600 inches per minute and pushing through metal are no problem for a brushed servomotor coupled to a ballscrew, and the position feedback lowers the risk of ruining a machine job.

Comparison with other brushed motor controllers

Tarocco

Leadshine DCS303

CNCdrive DG4S-08020

Geckodrive G320X

Supply Voltage

36 V

30 V

80 V

80 V

Continuous current

10 A

3 A

20 A

20 A

Input frequency

200 kHz

200 kHz

400 kHz

200 kHz

Open Source

Yes

No

No

No

Price

$41 USD

$102 USD

$110 USD

$127 USD

Who Should Buy Tarocco?

You should consider buying this controller if you:

Need a low cost, step/direction compatible brushed motor controller

Want to improve the performance of an existing CNC machine

Are automating a manual machine like a mill or a lathe

Need a reliable brushed motor controller for mobile robotics

Have some brushed motors that you want to put to good use

Use linear actuators in a precise and controlled manner

Need a good quality, hackable H bridge

Want to support an open source project

Tarocco allows the use of brushed motors with CNC machine controllers that communicate using the popular step and direction signal interface. As the controller receives step pulses at certain frequency, it will try to spin the motor immediately while reading the encoder signal, ensuring the number and frequency of encoder pulses correspond to the step signal. It essentially allows to drive a brushed motor as a stepper motor of not just, 800, 1600, or even 3200 steps per revolution, but the resolution of the quadrature encoder you use, which can be any value you need. If the controller, for some reason, cannot make the motor reach the desired position, it will signal the other controllers in the system, allowing them to stop their respective motors in time to avoid messing up the printing or cutting job.

The controller can deliver up to 360 W (36 V 10 A) continuously to a motor, making it a good choice for machines that need to accelerate bigger loads or where high speed motion is required. It also features a current limiting function, useful for protecting the motor from overheating and for controlling the amount of torque exerted on the machine.