Motorized turntable for automated photography
Main module can be based on any computer powerful enough running Python. I chose Raspberry Pi because it has 4 USB ports – just enough for this task (WiFi, DSLR, USB disk, Motion controller). User interface computer (custom black aluminium box in the middle) is running Tornado server, which serves data to any mobile or stationary gadget over HTML5 with websockets. UI uses bootstrap with some widgets. UI computer also runs gphoto library to control camera over USB, which enabled to hack camera in different ways – change focus, take pictures, change capture parameters, get battery status,…
Motor(s) are controlled by GRBL library running on Arduino nano (custom white plastic box below).
Drive signals then divided to microsteps and conditioned by ordinary stepper motor controller (which by the way can be replaced to servo controller if needed).
Stepper motor rotation is divided by 50:1 with custom build worm gear. Quick math – positioning has theoretical 200(native motor steps per revolution)*50(reducer)*128(microsteps)=1280000 steps per revolution. But simple worm reducer does not allow to use this kind of precision.
As I mentioned above heart of user interface is Tornado server serving HTML5 page with websockets for bidirectional data exchange. This allows to get rid of Adobe Flash or other unwanted “crapware”. User interface is based on bootstrap framework with enabled responsive features, so single web design can be viewed on device with any size display.