Introduction: Automated Overhead Camera Assistant for Instructional Videos
Have you ever wished you had an extra pair of hands in the workshop to handle the camera, while you were concentrating on your project ? This build tries to help with this, by providing an automated camera assistant, that can automatically move between learned keyframe camera positions, or alternatively continuously pan between them from above your workbench.
This adds depth to the project you are working on, and engages the viewer.
Most of the videos below are shot with the camera assistant where it continuously pans between keyframes. This meant I had two make an extra Camera Assistant in order to film the making of it, which gave me opportunity to double check my own instructable :) Only the videos of electronics are filmed with a static camera position, as I only had one controller at hand.
Step 1: How Does the Camera Assistant Differ From a Camera Slider
Camera sliders (with or without pan/tilt/zoom) are typically designed to be placed on tables, on the ground or on tripods with the scene off to the side of the slider, and they rotate around their own vertical (z) axis.
If a construction like that is turned upside down, filming with the scene underneath, the workbench would be spinning around as the camera moves between positions and rotates around it's z-axis. This could of course be fixed by only rotating the slider assembly 90 degrees, with it sticking out to the side of the rail, with the camera at the very end. However this is usually not how they intended to be used, and it may put different strain on the axes and much strain on the rails with heavier cameras.
The Camera Assistant is designed to hang upside down, moving parallel to the workbench. Furthermore in the relaxed position, the heavier lens in naturally balanced downwards, putting little stress on the steppers and bearings.
Step 2: Design Considerations
The camera assistant was designed to these parameters in prioritised order:
- Not require specialist tools or parts. All parts must be readily available from regular online supplies like Amazon.
- Must be able to make parts on a 3D printer or CNC, to make it accessible to a wider audience
- Suitable for mirrorless DSLR cameras, action cameras, or smaller mirrored DSLR cameras.
- Smooth accelerated camera motion
- Reasonably priced so that one can have multiple of these in a workshop
- Easy to move between slide rails in the workshop, if you only have one assistant
- No programming skills required
Step 3: An Example of When You Need an Assistant, and Not Have to Worry About Camera Positions!
In this video I wanted to document a nice cold process swirl. Unfortunately everything went wrong, while the camera assistant quietly went about it's business of slowly panning between camera positions, and documenting my disaster. Note how during assembly of the soap, you get a nice view from the different angles, and good feeling of depth.
(An unfortunate combination of fragrance oil and clay caused the soap to seize up very hard way too soon. This resulted in a very messy soap, a broken glass beaker and glitter everywhere. I also forgot gloves, which is not good for your skin)
Step 4: An Example of Using Keyframes
This video demonstrates how to work with keyframes. First four keyframes were stored (Measuring, Ingredients, Cutting and Mixing), and then commands were given to select the keyframe to move to.
Step 5: Make the Parts on 3D Printer or CNC
All the parts are 6mm thick, which means you can of course 3D print it, but it can just as easily be cut on a CNC.
In the example video of the parts, the camera assistant moves along all three axes.
Step 6: Slide (X-axis) Assembly
The x-axis runs on the aluminium extrusion with four delrin wheels. The wheels are attached through some eccentric nuts, whereby the tension can be adjusted.
Step 7: Pan (y-axis) Assembly
The camera assistant can pan about +-20 degrees from straight down. It uses GT2 belt glued on to the side of the gear. This allows the part to be either 3D printed, CNC'ed or made with a scroll saw.
Step 8: Tilt (z-axis) Assembly
Like on the y axis, the z axis also uses glued on GT2 belt.
Step 9: Rail Extrusion
The Nema stepper on the x axis, uses GT2 belt glued on to the extrusion at the full length. The glued belt makes it easier to switch the assistant between rails, as there is no threading of belts, and belt tightening.
The video show how to adjust the eccentric nuts, for a tight smooth motion.
Step 10: Mounting Stepper Motors
All the stepper motors can be adjusted a little in their position. They should be tight enough to eliminate backlash, but not more than that.
Nema's come with different length axis. If it is longer than 16mm, then shorten it with a Dremel or hacksaw to 16mm for the y-axis stepper. Otherwise it will not fit for the rail. This is only necessary for the y-axis.
Step 11: Electronics
The video show how to assemble the electronics, and adjust the current to the steppers.
All three jumpers below the drivers must be in place.
With the drivers you bought, there is a description of how to adjust the small trimpot on the drivers to obtain a certain current. On my drivers I have to set the voltage to 0.6V, which gives me 750mA to the steppers which provides adequate torque.
Alternatively you can turn the trimpots all the way counterclockwise, and slowly increase until you get enough torque. If you do this, monitor the steppers for 20min, and make sure they do not get too hot. They should be a little hotter than Luke warm.
The stepper driver board must be supplied with 12V 3A on the connectors at the edge of the board.
NOTE: Never disconnect the stepper motors or driver while powered by 12V or USB.
The electronic board can be mounted on the opposite side of the stepper motors with 3mm bolts.
Step 12: Installing the Software
Once you have connected all the steppers and drivers, download the Arduino IDE: https://www.arduino.cc/en/software.
Put the three files from the download section in a folder called ArduinoCode, and open it from ArduioIDE. Upload the code to the arduino.
You control the Camera Assistant from the ArduinoIDE with the window "Serial Monitor", you open from the Tools menu. Set the connection in the window to "9600 baud", and you are good to go.
Here on Instructables there many good guides on how to work with the Arduino, so you can find lots of help if you get stuck.
Step 13: Controlling the Assistant
The commands below can be entered in the "Serial Monitor" widow described above.
- set home
- set [n]
- go [n]
- go home
- pan [sec]
- x [steps]
- y [steps]
- z [steps]
You move the camera by writing "y 400", which will move the camera 400 steps. If you write "y -400" it will move in the opposite direction. You can do this for x,y and z. (slide, pan, tilt)
Once you have a nice keyframe write "set 0" to store it. Move the camera to a new keyframe and write "set 1". You can save up to 10 keyframe positions.
You can move between keyframes by typing "go 1", and it will go to that keyframe.
You can pan between all your keyframes by typing "pan 20", and it will then take 20 seconds to move between positions.
You can also use "set home" and "go home" if you wish to have a home position. The home position is not included in the "pan" command.
You can clear all keyframes by typing "clear"
Step 14: BOM
I have found all parts on Amazon, and I have provided the search string that will lead you to the right parts:
- 1x Arduino stepper motor kit. Search for "Ramps 1.4 A4988 2560"
- 3x Stepper motors. Search for "17hs4023"
- 4x Wheels. Search for "Delrin V-slot"
- 8x Eccentric nuts. Search for "Eccentric nuts 5mm"
- 2x Gears 20 teeth. Search for "GT2 pulley 20 teeth"
- 1x Gear 40 teeth. Search for "GT2 pulley 40 teeth 5mm bore"
- >1m Belt. Search for "GT2 belt 6mm"
- 7x Bearings. Search for "Bearing 16mm x 5mm x 5mm"
- 50 Washers. Search for "Washer M5 1mm"
- >1m Rail. Search for "Aluminium extrusion 2060"
- M5 bolts 4pcs 40mm, 1pcs 50mm. Search for "M5x40"
- Assorted 3mm bolts. Search for "M3 bolt kit allen cap head"
- 12V 3A Power Supply. Search for "12v 3A PSU"
Step 15: Files for 3D Print or CNC, and Arduino Software
Place the three Arduino files in a folder called ArduinoCode, and load it into your Arduino application.
Step 16: Thank You for Reading My Instructable
Thanks for reading my instructable, I hope you found it interesting. I certainly had fun making it, although I had to go through quite a few prototypes ! :)
If anyones interested, the first prototype used 28BYJ geared stepper motors. They worked great but were too slow on the slide axis, and introduced too much backlash and shaking.
This is my first instructable where I have mostly used video. I hope it was alright, but I am still learning. Do let me know in comments of how I can improve.
Have fun, and happy video documenting your Instructables !
Second Prize in the