NT Camera: Difference between revisions
Line 15: | Line 15: | ||
== Concept and Overview == | == Concept and Overview == | ||
=== Parameters === | ==== Parameters ==== | ||
The NT Camera is related to a number of parameters, which are located in various places in the GUI. | The NT Camera is related to a number of parameters, which are located in various places in the GUI. | ||
Line 36: | Line 35: | ||
* {{PARAMNAME|Mavlink Camera}}: Enables the MAVLink Camera component and sets its component ID. | * {{PARAMNAME|Mavlink Camera}}: Enables the MAVLink Camera component and sets its component ID. | ||
=== Processing Scheme === | ==== Processing Scheme ==== | ||
The STorM32 camera remote control is based on the three elementary camera control commands SHUTTER, VIDEOON, and VIDEOOFF. These are supported by all camera models, and can be triggered by various sources, an input signal, a script, a serial command, a MAVLink message to the MAVLink Gimbal component, or a MAVLink message to the MAVLink Camera component. The NT Camera module translates these elementary commands into the corresponding output signals as required for the selected camera model. The output signals can be PWM signals, low-high-low pulses, UART Tx and/or Rx signals, or whatever is required. | The STorM32 camera remote control is based on the three elementary camera control commands SHUTTER, VIDEOON, and VIDEOOFF. These are supported by all camera models, and can be triggered by various sources, an input signal, a script, a serial command, a MAVLink message to the MAVLink Gimbal component, or a MAVLink message to the MAVLink Camera component. The NT Camera module translates these elementary commands into the corresponding output signals as required for the selected camera model. The output signals can be PWM signals, low-high-low pulses, UART Tx and/or Rx signals, or whatever is required. |
Revision as of 08:04, 27 June 2019
The information on this page refers to firmware v2.43 and higher.
The NT Camera module allows us to remote control a camera.
It thus serves a similar purpose as the various RC camera remote control modules, such as CAMremote, CamCntrl, IR Remote Shutter Controller, and all the other commercial and DIY solutions. However, instead of listening to a servo PWM or other input signals, the NT Camera module listens to data on the NT bus. It is thus usually connected to the NT bus near the camera NT IMU module, which results in extremely clean wiring schemes (see here).
In fact, dedicated NT Camera modules have not yet emerged, but the NT Camera function is integrated into the NT IMU firmware. That is, the NT IMU module itself can be used as NT Camera module if it exposes the respective pins to the user (which many of the available NT IMU modules do).
In addition, the NT Camera module also serves as a "PWM Out" module. That is, it outputs an additional servo PWM signal, which is an exact mirror of the PWM output signal available on the main STorM32 board when the Pwm Out Control parameter is enabled. This additional PWM signal can come in very handy and enables all sorts of fancy things (e.g. motor zoom).
Historically, the STorM32's remote camera control started with an IR LED controller on the v1.x main STorM32 board, and many of the camera models supported by the STorM32, such as the Sony Nex, are related to this. The NT Camera concept was introduced later, and extended to also provide e.g. PWM output signals or UART Tx signals to control cameras such as the Gitup Git2 or Runcam Split. The introduction of the MAVLink Camera component has brought unprecedented cool camera control features to the user - but also made things substantially more complicated to understand. This article may thus not do well in answering all questions, and the reader is welcome to the rcgroups discussion threads.
Concept and Overview
Parameters
The NT Camera is related to a number of parameters, which are located in various places in the GUI.
In the [GUI:Functions] tab we see:
- Camera Control: Enables the function and selects the primary input.
- Camera Control2: Selects a secondary input, which is used by some camera models.
- Camera Model: Selects the the camera model.
- Camera Setting #1: Function executed then the primary input value is High.
- Camera Setting #2: Function executed then the primary input value is Low.
- Time Interval: Setting this to 0 (off) will result in one photo taken when switched from Mid to High. If set to other than 0 photos will be taken continuously. The time period is from the start of the first photo to the start of the second photo, etc.
In the [GUI:Interfaces Tool] dialog, accessible via the [GUI:Experts Only] menu, we see further parameters associated with the MAVLink Camera component:
- Mavlink Com Port: Selects the com port which shall be used for the MAVLink communication.
- Mavlink System ID: Sets the system ID of the STorM32 controller (default = “1”).
- Mavlink Version: Sets the used MAVLink protocol version. Must be set to “Mavlink2” for the MAVLink Camera component to work.
- Mavlink Camera: Enables the MAVLink Camera component and sets its component ID.
Processing Scheme
The STorM32 camera remote control is based on the three elementary camera control commands SHUTTER, VIDEOON, and VIDEOOFF. These are supported by all camera models, and can be triggered by various sources, an input signal, a script, a serial command, a MAVLink message to the MAVLink Gimbal component, or a MAVLink message to the MAVLink Camera component. The NT Camera module translates these elementary commands into the corresponding output signals as required for the selected camera model. The output signals can be PWM signals, low-high-low pulses, UART Tx and/or Rx signals, or whatever is required.
In addition, some camera models (currently the “Runcam Split Mini2”) provide a much richer set of features and functions, which are accessible via the MAVLink Camera Protocol microservice provided by the MAVLink Camera component.
NT Camera Support by NT IMU Modules
Three NT Camera related signals are available at the EXT port pins of NT IMU modules, namely:
- EXT-3: Camera PWM signal, or Tx
- EXT-2: Camera pulse signal, or Rx, or special purpose
- EXT-1: Pwm Out servo PWM signal (with ca. 60 Hz frequency)
The "Pwm Out" signal on pin EXT-1 is related to the Pwm Out Control function and not further discussed here. See Advanced Functions: Pwm Out.
The "Camera" signals on EXT-3 and EXT-2 are related to the Camera Control function, and depends on the Camera Model setting. For most camera models they are configured to output a PWM servo signal on EXT-3 and a pulse signal on EXT-2:
- The PWM signal can directly feed cameras which can be triggered by such signals, such as the Gitup Git2 or Foxeer Legend, or can be connected to standard RC camera remote control modules, such as those mentioned in the introduction. The frequency of the PWM signal is ca. 60 Hz.
- The pulse signal consists of a 50 ms low/high/low pulse and can be used for all sorts of purposes. For instance, it could be connected to a semiconductor relais to drive an IR LED or shorten some pins on a USB remote.
The EXT-3 and EXT-2 pin can also assume other functions however. For instance, for the Runcam camera they are configured to operate as Tx and Rx UART signals.
The matrix looks as this:
camera model | EXT-3 | EXT-2 |
---|---|---|
Sony Nex, Canon, Panasonic, Nikon, Git2 Rc, CAMremote | PWM | pulse |
Pwm | PWM passthrough | PWM passthrough |
Runcam Generic | Tx | special purpose |
CAMremote UART | Tx | pulse |
Runcam Split Mini2 | Tx | Rx |
Comment: For hardware reasons the NT IMU modules cannot drive IR LEDs, and the IR LED remote control option is thus not available with them.
Pin Assignment on the v1.x and v2.x NT IMU Modules
The "big" v1.x and the v2.x NT IMU Modules have additional pins available, which are assigned as follows to the NT Camera outputs:
Pin Assignment for the CC3D Atom and Atom Mini
Both the CC3D Atom and Atom Mini have six servo outputs labeled PWM1 to PWM6. They are assigned as follows to the NT Camera outputs:
- PWM2 = EXT-1 = Pwm Out servo PWM signal
- PWM3 = EXT-3 = Camera servo PWM signal
- PWM4 = EXT-2 = Camera pulse signal
Gitup Git2
General Camera Remote Operation
The Git2 has the ability to receive a PWM signal via its Micro HDMI port from your receiver to control video recording and photo triggering. As to the specifics they can be found on the Gitup Site but in general a 3 position switch will be used on your transmitter. The middle position will be setup up as 1500µs and will do nothing. Low position, < 1250µs, will start recording video when switched. High position, > 1800µs, will take one photo when switched. If your transmitter channel is setup as 0%, 50%, 100% (or -100,0,100) for Low, Mid, and High you should be fine.
Links:
- http://www.gitup.com/blog/22_Git2-Remote-Shutter-for-FPV.html
- http://www.rcgroups.com/forums/showpost.php?p=34538383&postcount=3443
Cable Information
Gitup does have a Remote Shutter cable available. If you choose to make your own please follow the pinouts for the Micro HDMI (type D), not Mini or full size because they are different (see here).
- Signal In: Micro HDMI Pin 2 (Usually marked as Utility or Reserved on a pin out)
- Signal Gnd: Micro HDMI Pin 4 (Marked as TMDS Data2 Shield, or any other shield pin. Even the connector case works)
Just as a note, the Git2 uses its Mini USB port for both Video Out and Power In to charge or power the camera. While Gitup also provides this cable the FPV Cable made for the GoPro works as well. At the time of this writing Gitup is working on a combo board / cable, which will contain both the HDMI and USB connectors.
Cable and Camera Function Test
Once you have your cable and transmitter configured as above connect your receiver, or flight controller, and test it out. It should work before moving onto the next section.
Comment: Leave your transmitter as configured for the duration of this instruction. If it passes function test of the above it will work as described below.
CC3D NT IMU, STorM32 and Git2 Camera Integration
Notes:
- This section will be based on the use of the Mini CC3D Atom and has been tested. Other NT IMU modules with integrated NT camera function should be similar.
- This is only one example of the many available options from the STorM32.
- Your STorM32 and NT IMU need to be correctly communicating. Gimbal not necessarily needs to be configured or "tuned".
Control Overview
The STorM32 and NT IMU firmware makes use of two functions found in the [GUI:Functions] tab of the o323BGCTool GUI:
- Camera Control: We will use this.
- Pwm Out Control: Future / other use.
Wiring
- Connect your receiver, or flight controller, to one of the seven STorM32 RC ports (RC-0 through RC2-3), or any other input channel (see Inputs and Functions).
- Connect the Git2 "Remote Shutter" cable to the EXT-3 (= PWM3) and Gnd pins on the Mini CC3D Atom (see Pin Assignment for the CC3D Atom and Atom Mini).
o323BGCTool GUI Setup
Under the [GUI:Functions] tab use the column for Camera Control and set as follows:
- Camera Control = “Rc-0” (Or whatever port you connect up to the STorM32 above)
- Camera Model = “Git2RC”
- Camera Setting #1 = “shutter”
- Camera Setting #2 = “video on/off”
- Time Interval: Setting this to 0 (off) will result in one photo taken when switched from Mid to High. If set to other than 0 continuous photos will be taken. The time period is from the start of the first photo to the start of the second photo, etc.
Foxeer Legend 1
This should work as for the Gitup Git2, with identical settings. This has not yet been tested though.
CAMremote
The CAMremote from VP-Systems provides several settings where the shutter and video on/off can be controlled via a PWM signal on the CAMremote's CH0 input. In combination with the NT Camera module several configurations are possible, the most generic one would be to use either of these:
- CH0 = Record/AF/Shoot
- CH0 = Record/Shoot
The EXT-3 pin on the NT Camera module should then be connected to the CH0 input on the CAMremote.
The PWM passthrough output on the NT Camera module, or pin EXT-1, can then be connected the CAMremote's CH1 to invoke additional features, such a manual focus, zoom in/out, and so on.
Note: This has been tested using NT IMU firmware v0.28 and "RC receiver (CH0=Record/AF/Shoot, CH1=SmoothZoom, CH2=Alt)"-mode on CAMremote 3.0.9. In case the shutter does not trigger a photo on the camera it might be necessary to increase the focus time to give the camera time to focus.
Links:
RunCam 2
To be filled.