ArduPilot allows you to configure a particular port (servo or relay) as
the camera trigger, which will then be activated when camera commands are specified in missions.
This article explains what settings you need to configure for both servos and relays.
Note
The servo or relay port signal must be converted into a format
(infrared, cable or whatever) understood by your particular camera. The
configuration settings will depend on the hardware that is used to
perform this conversion. Some useful hardware configurations and
settings are linked from the section
Setting values for different cameras.
Shutter configuration with Pixhawk or IOMCU Equipped Autopilots¶
Pixhawk has 6 AUX Ports (AUX1-AUX6, referred to as SERVO9-SERVO14 in Mission
Planner) that can be configured as servos,
relays, or
digital inputs or outputs.
The image and configuration below is for the Pixhawk with SERVO10 (labeled RC10/AUX2 on this autopilot) connected to camera control hardware and configured as either a servo or relay.
on autopilots not using an IOMCU (most that do, label outputs as MAIN/AUX), any output can be used for a relay or servo. See GPIOs for how to designate an output as a GPIO for relay use.
Tip
You can monitor and log exactly when the camera was triggered. For more information see the Enhanced camera trigger logging section below.
The actual output used for the shutter is set and configured in the SETUP/Optional Hardware/Camera Gimbal screen:
Mission Planner: Camera Gimbal Configuration Screen¶
The Shutter drop-down list is used to set the connected output for camera
trigger. Here we have selected SERVO10, which corresponds to AUX2
on the Pixhawk.
The Duration setting specifies how long the servo/relay
will be held in the Pushed state when the shutter is activated, in
tenths of a second. Above the value is 10, so the pushed state is
held for one second. Not Pushed when the shutter is not active.
For Servos only (settings ignored for relay outputs):
The Shutter Pushed and Not Pushed settings are the PWM signal
values that will be sent when the servo is in those states.
The Servo Limits setting specifies the range of PWM signal
values within which the servo will not bind.
Note
Mission Planners screen is not up-to-date in that the request to “Please set the Ch7 Option to Camera Trigger” is out of date, and the “transistor” selection in the Shutter drop-down list does nothing.
To set which RC Channel will control the manual shutter release, configure its RCx_OPTION in the CONFIG/Full Parameter List or CONFIG/User Params to “Camera Trigger”.
ArduPilot logs TRIG messages when it triggers the camera. You can additionally set up ArduPilot to log CAM messages when the camera has actually fired, by connecting a digital input pin on the autopilot to the camera’s hot shoe (consider using Seagulls SYNC2 Shoe Horn Adapter). This more accurately logs the exact time that pictures are recorded.
You will need to configure one of the AUX pins as a digital GPIO
output/input, and connect it to the camera flash hotshoe (a universal
camera hot shoe is required). The pin should be held for at least 2
milliseconds for reliable trigger detection.
The main steps are (example for Camera1 instance):
Open Mission Planner and then click on CONFIG/TUNING/Full
Parameters List
Set at least two of the output pins as digital GPIO output/inputs as described in
GPIOs.
Set CAM1_FEEDBAK_PIN to the pin number connected to the hotshoe.
Set CAM1_FEEDBAK_POL to indicate whether the feedback pin (hotshoe voltage) goes high or low when the picture is taken.
The actual values needed for servo/relay settings depends on what
hardware is used to send the shutter signal to the camera. The following
topics describe the hardware setup and configuration settings for a
number of specific cameras/camera types:
Camera Triggering using Stratosnapper -
shows how to connect to a camera with an IR interface. The
Stratosnapper can also be used to connect to cameras using other
cables and protocols
If these aren’t suitable for your hardware configuration, we recommend
you check your hardware manual for information about servo/relay inputs
that are accepted.
Note
The CHDK Camera Control Tutorial is not a good
example of integrating with the camera shutter, because it does not use
the standard shutter configuration explained in this article. This is
however a good example of how you can access other features of a Canon
camera using CHDK (for example, the zoom).