I had gotten to playing with time-lapse photography lately, and I’d like to incorporate motion into it. Searching around, I found some people using inexpensive and/or adjustable telescope mounts, and even security camera pan/tilt heads. The problems that I found with each of these solutions were that they could only move in two directions and didn’t exactly fit the model of time I was looking for.
A little more digging and I found people building robotic tripods heads for doing gigapixel panoramas (and this is definitely a cool idea – I’ll build one of those next, I think =) – and I figured, what the hell – let’s build one that meets my needs exactly. Obviously, this being my first ‘robot’, I had a lot of catching up to do, but after a couple of weeks of research, and a couple more weeks of waiting to get parts in – you could say that I’m well on my way now.
So the following are the requirements of the design:
- Be able to move independently: truck, pan, and tilt
- Be able to truck at speeds as low as 1/60″ per minute (1″ per hour)
- Be able to hold at least 7 lbs of camera + lens
- Be transportable to the field (in kayak, two people carry down trail, etc.)
- Be self-powered (battery)
- Be able to operate for at least 8hrs on battery
- Be field-programmable
Taking things in stages, I decided the first stage to complete would be the trucking motion (the pan/tilt servos are pretty easy to just buy) and the micro controller.
The truck stage is almost ready to be cut and assembled (making the track and camera cart myself), and will be able to move at a maximum speed of about 3 inches per minute, and a theoretic minimum of 0.01 in/min. I’ll talk more about that in a future post.
I’ve got the microcontroller all setup and have prototyped the interface on breadboard. Finding out about the arduino microcontroller has made lots of odd projects seem possible. Being able to write the code in C and upload programs via the USB port handles all of the real hurdles, the rest is just a matter of putting together which circuits you need to build and how to make it all work!
The code is about half done, but the UI is pretty much worked out:
A keypad is the primary input – certain numbers from the main screen take common actions: run program, test program, stop, reset to starting positions. Asterisk enters the setup menu and in there values can be selected, keyed in, saved, reset, etc. The main screen shows status and indicators of which motors are running in which directions. The next version will allow for up to five different programs to be saved in EEPROM, meaning it can be pre-programmed, or programmed in the field.
It works like this: you key in where you want motors to start from, when you want them to start, how fast you want them to go, and where you want them to stop. Numbered markers will be on the track – and these are the positions used in the programs. A test is allowed, which sets the motors to certain key positions in the program and takes a photo there — allowing the verification of the program.
Mind you, it’ll take approximately 13 minutes to move from one end of the track to the other in test mode!
The parts used in the controller so far are:
1 Arduino Deicimilia
1 16×2 LCD
A potentiometer, a handful of resistors, and a breadboard.