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?
I reproduced the problem today on 3.2.1. Bug still on (02/08/2015)
I tried to measure current flowing from the Pixhawk S pin to the base of the transistor (without resistor even) but my multimeter showed zero, even when trigger order is given from Pixhawk. It is like there is no current at all coming out of the S pin, which is not normal (or the casue is my multimeter is not able to measure small spikes of currents, which is probable).
Any electronician in the room to tell us what is the simplest transistor design to switch a load to the ground ? Should not be complicated.
I found the problem and will post shortly the correct circuit for the Sony A5000. Working now with Pixhawk!
You guys are damned amazing.
I don't know if Canon is aware how popular their cameras are due to CHDK, but I'm sure if they were they wouldn't be in a hurry to lock us out.
You could just cut and strip one of these cables for use, right?
I guess so. Or you can buy them directly with a servo connector and a S2 usb plug at:
or here :
I do not know for sure but my thought is that in my previous scheme, the focus and shutter pins did not have a reference voltage and were floating. By using the 5v from Pixhawk in this scheme , I am forcing the shutter and focus pins to a fixed 5v and when the trigger order comes on the S line, the transistor conducts , and therefore shorts the focus and trigger pins to ground which is the objective.The 10k resistor is added to limit the current that goes through the 5V line to ground when the transistor conducts.
It works perfect now with this circuit.
I do not think there is any risk to the camera as Marco is using the exact opposite circuit than mine by applying 5V to the focus+shutter pins. All is fine.
The huge 10K resistor makes it so that there is no current going on the pins. So just 5V with no current will never damage the camera.