Simple Servo-Based Panorama Platform
Concept
Automated Pan/Tilt movement
Use of RC-Servos
The Camera-trigger is operated via a lever arm by an RC-servo
Servos are controlled by Pololu Micro Serial Controller
Control by C-Control microcontroller, LCD display and keypad
Various programs account for variation of panorama size, zoom-factor, focusing mode, exposure length etc.
Pan-axis: >360° with a sail winch servo, 5x reduction (using Lego-gears) to achieve positioning precision sufficient for Gigapixel panoramas with 18x zoom
Tilt-axis: -45° to > 90° with a high torque RC servo (ca. 68 Ncm at 6V)
I did some major improvements on the design - see Updates section
Design considerations
Prevent „servo jitter“ (turn-off servos after movement to avoid jitter during focusing/exposure – that is a very nice feature implemented with the Pololu controller). The holding torque of the servo needs to be sufficient to hold the tilt-position
Minimize torque on the tilt-axis (tilt-axis through the cameras center of gravity)
Technical Design
Panoramic Head with Controller on the tripod
Detailed view of the panorama head
Controller Box
Tilt Servo - the gears are from Lego
A small servo presses via the shutter arm onto the cameras shutter release button
1:5 reduction gear inside the turn table
Watch the platform in action (7 MB QuickTime movie)
Features
Up to 20 images/minute (with manual focus/AF-lock)
Use of standard components (RC-Servos, Lego-gears)
Gigapixel panoramas (up to 18x zoom)
Spherical panoramas
Size scalable – thus suitable for larger cameras (my config works well with the Lumix DMC-FZ28 weighing approx. 418 g)
Servo Specs.
Pan axis:
PRO LINE SEGELWINDE SW1200 JR
Torque: 115 Ncm (6V)
The sail-winch servo makes roughly 7 turns
Tilt axis:
PREMIUM HIGH TORQUE SERVO MC 5018 HB
68 Ncm at 6V
Camera trigger:
Modelcraft ES 05
12 Ncm at 6V
Servos are only switched-on to move an axis. To prevent servo-jitter they are switched-off after the movement. Thus, the holding torque - in particular that of the tilt axis - needs to be large enough counter the torque the camera puts on that axis. At 18x zoom, an unbalanced torque can cause problems - the tilt position may not be stable enough. The remedy is to balance the tilt-axis by a small counterweight (not shown in the pictures here). A magnet (used as a weight) on a small (ca 3x8 cm) steel-plate does a great job in improving the positioning accuracy.
Yet To Do
Size reduction of the electronics (C-Control Mega128 stand-alone-board)
Use of only one battery pack (instead of three)
Design is currently not ergonomic (e.g. Keypad and LCD-Display)
Reduction of the backlash of the Pan-axis – precision is close to its limit at 18x zoom, though usually this is not a problem - Problem solved: see below
Design Update (08.02.2010)
Stepper Driver and Power-Supply
I have replaced the Pan-Axis-Servo by a stepper motor. Positioning with the sail winch servo was not 100% relieable at large zoom, with the stepper it is. A further advantage of the stepper is that the pan position can be adjusted by hand if necessary (for example to repeat a column of images).
The stepper motor is controlled with an Allegro A4983 microstepping bipolar stepper motor driver (very easy to use with the Pololu A4983 Stepper Motor Driver Carrier).
Due to microstepping sufficient positioning accuracy can be achieved without additional gears, thus there is no backlash problem as in the previous design.
The stepper is inside the white box. An O-Ring (around the square aluminium block that sits ontop of the white box) generates a friction torque. This is necessary to quickly stop the pan-axis when the end-position is reached and to prevent vibrations.
Stepper Specs:
Bipolar stepper motor: Trinamic Qmot 1.8°, 1A, 0.27 Nm
Microstepping with 1/16 steps (Stepping rate ca. 500 Hz)
To dampen oscillations of the pan-axis I use an O-Ring seal to generate friction between the rotor an the housing.
As a power supply I use two NiMH power-packs (with 7.2V, 3300 mAH each) in series. To generate the 5 V for the RC-Servos a buck-converter will be used (very small losses).
New Tilt-Axis Servo
When the tilt axis failed (broken gears) I replaced the servo by a more durable servo with metal gears. However, I realized that the holding torque was not suffient if the servo is switched off in order to prevent servo jitter.
I found that a very reliable solution is using a digital robot servo like the Graupner RBS581 RB1000BB. This servo is very precise and doesn't jitter, so that it is not necessary anymore to switch off the tilt servo for an exposure.
I've also changed the attachment of the tilt servo: The servo is now mounted with cable ties (two black Lego-bars ensure proper positioning). This enables easy coupling and decoupling of the servo with the tilt-axis-shaft. The new feature enables safe transport of the platform (without the danger of breaking the servo gears).
Camera settings (Lumix FZ28) for panorama images
Manual-Mode:Manual Focus, fixed ISO, fixed white balance, exposure and f/# at specified values
Program-Modes: use AF/AE-Lock, fixed ISO and white balance
Autofocus: use AE-Lock, use fast autofocus mode, focusing may require a significant amount of time (to be considered in the platforms timing parameters) and may not work if an image shows the sky only
C-Source Code for the Panoramic Head Controller
The source files for the C-Control Pro based Panorama Head controller can be downloaded here.
The source files for the new platform design with stepper-motor can be downloaded here