GoPro Pan and Tilt head Recap – Part 1

Part 1

So get ready for a long one. Basically this is going to be a multi part saga covering everything that has been done so far on this project.

Inspiration for this project came from a video on the net that some guy called Jason Brandon (more info and video of his time-lapse here http://vimeo.com/jbproductions) made using a SLR and motorised dolly. I figured that the actual construction of something like this couldn’t be too bad and decided to give it a shot.

A bit of a brainstorm resulted in a Pan / Tilt / Roll head designed around a GOPro HD Hero 2 camera that was mounted on a motorised slide. A MCU would control 4 stepper motors that would create the motion.

First off I needed to decide on what I would use to control the actual motors. I needed something that would be able to support 4 steppers, a LCD and some form of input device to program the motion as well as allow for random modifications and add-on extras. Initially I was thinking that all movement through the menu would have to be controlled by Up / Down / Left / Right buttons etc. Adding all that to the number of pins req’d for a parallel LCD and the motors meant that whatever microcontroller was used it would have to have a lot of I/O pins.

Now previous experience with this type of thing has been limited to Picaxe and a small amount of stuff done with a Renesas Starterkit. The larger Picaxe chips may have been suitable in regards to number of I/O’s but I was unsure whether the programming language would be powerful enough to not only do what I had in mind initially but also in case any other random ideas / modifications popped up as the build progressed. The Renesas on the other hand had plenty of I/O’s but the whole programming / compiling side of things seemed to be too complicated, add to that the fact that the Renesas MCU that I had didn’t work and that a new one was >$400 and that was quickly ruled out.

A Google search brought to light the Arduino platform, more research into this as well as a bit of a browse through the language made this very appealing as an option. In the end I settled on a MEGA 2560 (the largest option), this was duly purchased from Robotronic NZ.

Next step was to work out what to mount the controller in. Recently I picked up an old computer case that had an SFX PSU in it. Up to this point it had been sitting on my desk acting as a power supply for testing various kits and circuits. The great thing about this is that you not only get 5v, 12v and 3.3v but the whole thing is smaller than a large sandwich. Using this worked well as I could use the 12v for the motors, the 5v for the logic and not have to worry about a poorly designed PSU toasting the whole lot.

Obviously one requirement for the case was that it would have to fit this PSU as well as the MCU, screen and associated cabling. A quick trip to Jaycar resulted in this

which after 30mins with a Dremel looked like this

(Note holes in far end for D-Sub connectors for lead to Pan Head and for Controller. Holes in this end are for the IEC lead for the PSU and a cooling vent)

After cutting all of this out and creating a hell of a mess the next thing that I did was have a play around with the Mega to get an idea of how the language worked in general but also with a LCD attached.

Enter old 8×2 rescued from broked Renesas MCU. The great thing about the Arduino platform is that there seems to be a library for anything and everything, simply call the library, define the pins and everything becomes stupidly easy. Initially it didnt work but this just turned out to be a cooked pot controlling the contrast.

Part 2 to come soon

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s