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?
Pixhawk is a 3.3V system. You need to step up the voltage from 3v3 to 5V
I see where I got confused. In order to use Marco's circuit you need to provide 5v to the middle row of the AUX pins from an alternate power source. Is this correct?
Correct, but first check if there's now +5V in the middle row.
Could you help me out and post a picture of your assembled device. I'd really like to build this so I can get the 5v necessary to trigger my CHDK script off the pixhawk but I have nil experience reading electronic schematics and how they translate into the actual assembled piece. I can solder (and occasionally burn my fingers) so any help on a picture and details for this noob would be appreciated.
I'm not sure if you're reading this thread anymore but I was able to get my Canon S100 with CHDK script running to be triggered by a CAM_TRIGG_DIST (=5 meter for testing indoors) on a pixhawk with my camera cable connected to RC11 (Aux 3) setup as a "servo" (or PWM) output (not relay). The crux is to supply 5v to the Aux power rail and I used some 3x AA batteries to provide power for testing purposes (simply connect some leads from battery to the positive and negative inputs on one of the Aux pins -- I used Aux 1 (RC9)).
Now, I think you already have this figured out (the above is for someone like me who had to discover all this) but you were seeing some erratic PWM values. While I don't have a way to analyze any PWM values, I can say that my camera would periodically get triggered when mission planner and the Flight Data screen showed my position moving off ~5m (as one would expect with GPS indoors). It all seemed to be functioning as one would expect. I have the max and min for CAM_SERVO_ON and _OFF set to 1800 and 1100 respectively though I'm not sure if this takes precedence over the RC11_MAX and RC11_MIN (1900 and 1100) that is setup in the RC11_xxx section of Full Parameters within Mission Planner.
So, in theory, if I can supply 5v to the pixhawk via a BEC or some other source it should work fine.
My camera cable is a E-Flite EFLA600 where I have one of the leads converted to a servo cable.
Anyway my Mission Planner settings are as follows:
BRD_PWM_COUNT = 4 (Aux 1-4 setup as "servo" PWM outputs and Aux 5-6 as "relay" or digital outputs)
CAM_DURATION = 10 (1 second)
CAM_SERVO_OFF = 1100
CAM_SERVO_ON = 1800
CAM_TRIGG_DIST = 5 (meters for indoor testing)
CAM_TRIGG_TYPE = 0 (servo or PWM output)
RC11_FUNCTION = 10 (camera trigger)
Finally got some time to test this circuit and it seems to work fine with power supplied by USB to the middle rail of the AUX pins. The plan is to use this in an RVJet and power it from the BEC/ESC.
I used 1/2" protoboard from Sparkfun and kynar wire which makes for a nice small package but it makes for tough soldering. I need to make another one but this time I'll use a 1" circle protoboard. Here's a couple pics taken before the cable was heatshrinked.
Anyone know if there's a BEC on the ESC board for the Iris?
Some photos by Joey here...
Just for security put a little fuse on the 5V.
Here's a breadboard diagram made with fritzing. I substituted 2N3904 and 2N3906 in place of the BC547 and BC557 since they're easier to find in the US. Hopefully this helps.
From power source to the middle AUX pins?
Great! Thanks guys for the help...
It would be nice if 3DR made a cable for the Pixhawk for this purpose.