Motorised Photogrammetry Turntable

The first use for my remote shutter release was for a motorised turntable to make my photogrammetry experiments a little easier. I was inspired to start this project after reading a couple of blog posts [ 1, 2 ] and it’s proved to be rather easier than I thought.

As described in the blog posts the turntable design is largely based on this Thingiverse model although I used my own simpler Arduino software as it fitted in better with my current workflow.

If you don’t want to read the gory details of building the thing then just scroll to the bottom of this page where there’s a 3D model generated from photos from the turntable. 🙂

Mechanical Parts

The 3D printed mechanical parts were fairly straightforward and it was just a case of downloading the files and printing them.

I modified the big gear ring and the top plate ( not shown ) slightly to make the printing easier.

Stepper Motors and electronics

The stepper motors are the same 28BYJ-48 types as in the Thingiverse design. I bought a pack of 5, complete with driver boards from Amazon. It beats me how they can sell this kit for £16.99 and it also contains some useful jump leads for connecting to your Arduino or Raspberry Pi. ( I think that these stepper types are used absolutely everywhere )

For the Arduino I had a Duemilanove board lying around. It’s a bit old but still perfectly functional. Add a few jump leads, a switch to control the stop/start and we were good to go. ( Not shown here is the mod to the stepper driver board to drive the camera remote )

The software was developed using the standard Arduino IDE for Linux.

General notes

Getting everything going was remarkably easy because the Arduino stepper library does most of the hard work. I added a few extra code lines to move the turntable in 10° steps, taking a photo at each point until it had gone through the full 360°. The red push button is used to start and stop the process.

( I found some useful information here about the innards of the stepper motor and its gearing which is necessary to calculate how many steps are needed per revolution. )

Test

Once everything was working I tidied it up and screwed everything down to a piece of MDF. The key to the parts is:

  1. Stepper motor and camera remote driver board
  2. Arduino Duemilanove
  3. Stop / start button
  4. Link to camera remote

The black card on the turntable is to help blend in with the black background in my light tent. Then it was just a case of pressing the button and off it went. I took a total of 180 images – 5 complete revolutions at different heights. Unfortunately I still have to adjust the camera height manually in between each revolution 🙂

After a few hours processing with openMVG and openMVS and a small amount of editing in Meshlab I ended up with the following, which I was very pleased with.

Improvements

Although the first test worked well there are inevitably a few improvements that are needed:

  • The turntable parts are designed to snap together which they largely do. However the whole thing would be a bit more robust if they were glued.
  • The turntable rotates reasonably smoothly but I think that it would be a lot better with some lubrication. Some silicon grease between the two rubbing surfaces would improve matters.
  • An extra operating mode in the software which just rotates the turntable continuously without taking images would be useful to make sure that the object is centred in the viewfinder.
  • I need to properly debounce the switches rather than relying on luck and time delays 🙂
  • Replace the jumper cables with permanent wire connections.

5 thoughts on “Motorised Photogrammetry Turntable

      1. Dave

        Oops, meant to say …everyday applications? I used to subscribe to Make magazine, and found some of the things ingenious. For example, modifying a clock radio to receive internet messages from the transit system (MBTA: Boston) and delay the daily wake up alarm by the amount of the delay of the morning train! Anyway, I found your post interesting, and joyed it.

        Liked by 1 person

  1. theretiredengineer Post author

    Yeah, this was a bit of cheat really and I only scanned the outside of the shell because I wanted a quick test of the turntable. The resulting mesh is infinitely thin and what you see underneath is effectively the top but with the vertex normals pointing away from you. I have done full 360 degree scans of shells resulting in a watertight mesh – https://sketchfab.com/3d-models/sea-shell-3a6223bdb48a4bcaa91889b0ee6b9fac. A bivalve like the cockle would be a little more tricky because you’re going to be “edge on” in some of the images with not a lot of features to match. The inside of the shell is actually a uniform whitish colour which would also be an issue for photogrammetry

    I think that there are two ways to do it – (1) take one scan and use some sort of support structure that you edit out later or (2) take several scans of different parts and merge the meshes, Meshlab has the facility for doing this but I haven’t tried it. In either case you’d have to hope that the white inside has sufficient features to allow the photogrammetry algorithm to do its thing.

    Like

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.