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?
Try here: Virtual Pins
TCIII ArduRover2 Developer
Hey Thomas, thanks for that link...embarrassed I didn't find it. That is literally the exact diagram I was looking for.
I got a response from AustinForsyth on the github thread on the 3.3V thing, the short version is that 3DR confirms that 3.3V is normal, and you'll need to integrate a step-up converter in-line with the usb cable to trigger chdk.
Hi Dave, you say you're using Ardupilot code on your pixhawk. Do you know how to edit this code (Arduplane 2.77) and build and upload it to pixhawk?
About the problem with 3.3V output on Pixhawk i think the solution i propose here is easy, using the +5V in the central pin of the Aux output rail (tested with Ixus 140 and work fine):
1 x BC547
1 x BC557
2 x 1 K
1 x 220 ohm
For test at the ground the little circuit put the "CAM_TRIGG_DIST" to "3" and walk with your copter/plane with good gps 3d fix, or assign "passthru" to the output channel for the trigger.
Anyway there's some problems inside the Pixhawk code about the Aux port assigned to some function like the shutter/relay with APM Plane, for example the "manual shutter" with a common servo is not supported, only if you assign "RCx_FUNCTION" to "1" (passthru) and use the pwm port, not the Aux.
I'm discussing now with other developers.
I have two Dimension Engineering "Doubleswitch" relays on my rover. I need to turn these relays on or off at various waypoints during the rovers mission.
I am assuming
1) Set up two auxiary pins as PWM
2) Plug the relays into these two "ports"
3) Add some commands on the mission controller to turn on or off these relays.
This is where I get stuck. I cannot find a tutorial as to how to set up these commands.
Can you point me to the right tutorial
I have posted the same on the APM forum, but I paste it here too because you're not the only one to be frustrated about a non functioning AUX port on Pixhawk:
I have extensively tested today the CAM_TRIGG_DIST functionality on Pixhawk, in servo mode (not relay mode). This means , if it weren't bugged, that Pixhawk should output the maximum PWM value (as defined in camera gimbal parameter screen in mission planner) on ouput AUX1 (RC9) when the multicopter has moved CAM_TRIGG_DIST meters away (defined in full parameters list). If the multicopter does not move, the AUX1 (RC9) should output the minimum PWM value (as defined in the camera gimabl parameter screen).
However, connecting my PWM analyzer on AUX1 (RC9) of pixhawk shows that erractic PWM values are constantly changing on Pixhawk output AUX1 (between min and max values), and thus AUX1 does not behave as it should according to the CAM_TRIGG_DIST functionality.
This is very frustrating as it is the only good way to do ortho mapping and photogrammetry.
I already have read that CAM-TRIGG_DIST did not work in relay mode on PIxhawk in the current firmware. Can a developer confirm that it also does not work in servo mode in the current firmware (V3.1.2) ??
Or did I miss something ?
I recommend using the guide in the wiki
and I will get it updated for Pixhawk
Yes, work fine also with APM Plane and CAM_TRIGG_DIST, tested now.
And the little circuit (i mean my previous image) is the Colombo's egg... :P
Thanks for the info everyone. We'll be testing the middle AUX pin w/ the Sparkfun converter this weekend. Seems like a more elegant solution than using an arduino (which will work in a pinch).
This is only applicable for people using a Canon camera + chdk.
There is nothing yet in the wiki for a NEX camera triggered by a IR trigger for example. I will write a blog about this because I finally made it to work after guessing stuff that should be documented; took me two days of trial and errors with Pixhawk...
Let me know when you have something written and I'll have it added to the wiki or I can give you edit access and you can add it yourself. Thanks for your help with this!
Ok I will let you know when blog is ready. Thx.