Arduino Motion Control
A project by Frederic K. Macchi
5th semester Screen-/Webdesign, Freie Hochschule Freiburg
DEVELOPMENT, CONSTRUCTION, PROGRAMMING
Frederic K. Macchi
1 Arduino UNO
1 EasyDriver Motor Shield
1 16×2 liquid crystal display
1 mm precision
3 kg maximum load
7 kB of code (200 lines)
12 kg of aluminium
20 hours of planning and prototyping
40 hours of construction and programming
1140 mm travelling distance
1500 mm overall length
Andreas Böhler and Anja Hartig, two fellow students and I, are currently working on ‘A Game of Choices’, an interactive claymation flash-game. We built different clay-sets, that the stop motion animated character will later walk through. In order to achieve a smooth walk-through experience, we photographed the 100 cm wide set in 200 highly precise steps. When it comes to precision photography, one can find dozens of systems available. However, professional systems are expensive and therefore out of reach for this project.
As I had recently begun playing with the open-source hardware-platform Arduino, I decided to take it a step further and build a single axis motion control myself. The basic configuration was quickly developed and assembled, however, it presented some severe issues. For example, the shafts were too weak to handle heavy lenses, as the platform would lean to one side. I had to reinforce the system with a second set of shafts that now allows it to handle up to 3 kg of mounted weight.
Another problem arose while testing the system: The rotation of the threaded spindle was unbalanced. As I didn’t have access to a CNC machine at that time, the multiple minor inaccuracies in various parts added up to an unbalanced rotation so I had to apply a workaround by letting the flange nut translate vertically. It may look odd, but the horizontal precision is not noticeably affected. Programming the Arduino board is easy when you’re familiar with a programming language like C, PHP, Python or similar.
If you don’t have great knowledge about electronics, you might want to look into some basics or you’re most probably going to blow up some chips and LEDs – at least that’s what I did… After all, this project was fun and very interesting as it was my first step into the world of physical computing. The possibilities are exciting and I can’t wait to start my next Arduino project – right now, I’m just spoiled for choice.