Using AUX pins as relays for CHDK

I'm confused and a bit frustrated, would appreciate any help as I'm not sure how to proceed.

Setup: I have a pixhawk autopilot running Arduplane 2.77, using Mission Planner 1.2.95

I've been following this guide to get my CHDK enabled camera working with my pixhawk. I'm interested in getting the camera triggering based on distance traveled.

Obviously the guide was written with APM in mind, so it needs to be adapted a bit for pixhawk; specifically the setting for RELAY_PIN. I've kept the rest of the settings the same as in the tutorial.

Pixhawk has 6 AUX ports according to the quick start guide, I am assuming that the numbers above the pins correspond to the AUX port numbering. When you mouse over the RELAY_PIN parameter, it says that pin 54 corresponds to Pixhawk FMU AUX1.

Tried setting RELAY_PIN to 54, no joy. Did a bit more looking, discovered in the release notes for 2.77: 

"Improved relay code
The relay and servo set code has had a major overhaul, with up to 4 relays now supported for MAVLink control and much better support for the DO_SET_SERVO, DO_SET_RELAY, DO_REPEAT_SERVO and DO_REPEAT_RELAY MAVLink commands. Along with these changes is a new parameter BRD_PWM_COUNT which allows you to specify how many auxillary PWM outputs to enable, with the remaining outputs being available as digital relays. This allows you to re-assign some of the aux servo outputs on Pixhawk for use as relays, by setting the RELAY_PIN, RELAY_PIN2, RELAY_PIN3 and RELAY_PIN4 parameters. The pin numbers for these pins start at 50 for the first aux servo pin, and go to 55 on Pixhawk."

Additionally,I found this github issue about this same problem that states that the Pixhawk can't trigger CHDK because its relay pins operate at 3.3V instead of 5V.

So i suppose my specific questions are:

1) Is AUX1 pin 50 or 54?

2) Can anyone confirm that the relays, when working properly, won't be able to trigger CHDK?

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • hi friend,     i am having problem with interfacing a relay module with apm 2.6 , i have tried lot of things but i am not sure that i have done it exact or what,.  so i'll very helpful to me if u can rectify my problem.. with  suitable guidlines.  thanks

  • Thanks Hugues, It's works great in my Sony Ilce 6000

    Hugues said:

    Here now the correct circuit to trigger a Sony Alpha 5000 with one transistor (tested succesfully by configuring one of the Aux port as a relay):

    3702059444?profile=original(This is real live diy !)

  • Hi all, 

    I just want to say that I tried the Marco's circuit and worked OK on my Pixhawk to trigger a Canon S110.

    My settings:

    - 5V BEC connected to AUX pin 4 (RC12)

    - Servo cable to circuit Input: connected to AUX pin 5 (RC13)

    BRD_PWM_COUNT: 4

    - RELAY_PIN: 54

    - CAM_TRIGG_TYPE:1

    CAM_DURATION: 10 (1 sec)

    CAM_TRIGG_DIST: 0. Click "trigger camera now" in Flight Data and worked OK!

    Thanks!

    Max

  • Depending your model of Pixhawk, you have only servo output on the first 4 aux channels. Take a look at my posts yesterday.

    I'm using aux 5, relay signal, relay id'd as that on aux 5, 1tenth secont pulse andim taking 5 v power off the receiver to the main out bus...easy setup once I figured out the transistor EBC order.

  • I just got a Canon S100 - is Marco's circuit still the best DIY solution? 

    I have a BC548 in my parts - could I use that instead of a BC547?

    I will have to order the BC557.

    Cheers,
    Sandy

    • At the low voltages involved ( 5V or less ) either transistor will work fine.  If you don't want to wait for a BC557 to arrive,  then the single transistor circuit shown <at this link> will work with your S100.

      • Will this design work if I place the transistor on the incoming voltage to the camera rather than the outgoing?3702718044?profile=original

        • I don't believe that will work as your have drawn it.   All of the circuits published so far depend on you driving the transistor into saturation ( Collector to Emitter voltage drop approaching 0v) by driving enough current into the base.  That won't happen with your circuit so the highest voltage the USB + signal will likely see is 3.3/2 = 1.65V.

          I could be wrong, allthough I'm quite sure that I'm not.  Build it and see?

          Why do you want to not use the original circuit ?

          • Just tinkering, it didn't work for the record!

            I could see 5v coming into the circuit, but when I multimeter across the usb plug it has a constant 0.26v and when I use "trigger camera now" command it would jump to 0.40-50v but the camera would not take a photo.

            I'll build the original and see how that goes.

            :)

This reply was deleted.

Activity