Issues withh Lights and Gripper on AUX 2 and AUX 3

I fionally have good comms with the sub ad QGC coected. All thrusters working and joystick coected.

I have;

Camera servo in AUX1 - all good.
Lights ins AUX2 not working]
Gripper in AUX3 - not working

Both lights and gripper work with servo tester.

I have changed the butto assignmet for Button 13 annd 14 to lights brighter ad lights dimmer

Buttons 11 & 12 to Servo_3_maxpwm_mometary and min momentary.

When I check servo 10 (AUX2) and servo 11 (AUX3) function they are labelled as “DISABLED”.

Max BRD PWM is set to 3

When I try to set the servo function manually, there is no option for settig lights brighter or Servo_3 momentary.

Somewhere the connection between the button functionn and an actual pwm output on the AUX pins is ot being made.

I would also add that there appears to be o way to assign lights to a given AUX output.

Hi @ausdroid,

Glad to hear it :slight_smile:

Those are button functions, which have an effect on outputs with related servo/output functions assigned. As an example, a servo output set to use the Lights 1 Level functionality (SERVOn_FUNCTIONRCIN9) can be affected by multiple button functions (e.g. lights1_brighter and lights1_dimmer).

Note that servo functions generally aren’t expected or intended to be set manually. The Lights Setup page allows specifying the channel to use for Lights 1 (e.g. Channel 10 for AUX2), and the numbered servo_N_* button functions can’t be reassigned (e.g. servo_3_* always applies to AUX3) - the DISABLED state for that one is correct.

I’m aware some of that documentation is challenging to find without searching, which is something I’m working on improving.

Elliot, thanks for your response.

The plot gets stickier and gooier now…

So, plugging the camera tilt servo lead into AUX 2 works when you brighten or dim the lighst - the servo moves. Plugging the tilt servo into the gripper works as well - the servo moves in response to pressing the joystick buttons to open and close the gripper.

This would indicate the AUX outputs have been succcessfully mapped to the joystick.

However, when the lights and the gripper are plugged into AUX2 and AUX3 I get no response.

When I plug the lights and gripper into a servo tester (just the ground and pwm out wires) they both work.

I am now checking the PWM MAX and MIN outputs on those servo channels.

Could this be a PWM frequency thing?

That’s a good start at least :slight_smile:

Hah - fascinating!

Are you using our Lumen lights and Newton Gripper, or something custom? The control signals for both are a bit unusual, so if you’re using something else then it wouldn’t be too surprising that it’s not working as expected - if that’s the case could you describe what kind of input your components expect? :slight_smile:

Sooooo close!!!

This sub is being built so that a great white shark area can be explored. It will probably only last an hour underwater but the video should be stunning!

The lighst are custom and controlled with a Teensy which is expecting a standard digital servo PWM range and frequency of 200hz. Same with the gripper.

Sounds fantastic - hopefully we get to see some of the footage here! :smiley:

Ahh ok, makes sense.

I don’t expect things have changed since that comment was made a couple of years ago, but I’m also not certain whether the SERVO_RATE parameter potentially applies to the AUX outputs. If not you may need to change the frequency your teensy code is expecting.

Thanks Elliot, I think we may have identified the issue.

I’ll investigate and refer back when I have an answer.

1 Like

Just a thought…

Could I make AUX2 (servo10) Motor 7 and AUX3 (servo11) Motor 8 and then make Servo07 Lights and Servo08 Gripper?

I expect that should work - wouldn’t hurt to try :slight_smile:

EDIT: Actually, couple of potential caveats

  1. BRD_PWM_COUNT starts counting from AUX1, and I’m unsure whether MotorN outputs would override that

    • If it’s a problem, this could be worked around by assigning higher numbered AUX pins for the motors instead, and/or reducing BRD_PWM_COUNT as necessary
  2. We normally control our gripper using the servo_n_* button functions, which (as discussed in my first comment) are tied to the AUX pins. As far as I’m aware ArduSub doesn’t actually use the Gripper output function so:

    • it may not work (e.g. it may not have any functionality implemented), and
    • if it does it’s not clear what outputs it would have, and even then
    • getting it to work probably requires sending MAV_CMD_DO_GRIPPER messages, which QGC isn’t set up to do for ArduSub

    This could likely be worked around by using an alternative functionality like camera mount pan (which has some button functionalities assigned), but depending on how your gripper is intended to be controlled that may be problematic (e.g. the _momentary options are only available for the servo_n_ functions)

So - just for the record…

  1. I am using a Holybro Pixhawk - all PWM outputs are 200Hz - including AUX. Changing the speed in advanced parameters makes no difference - regardless of how many times you reboot the Pixhawk.

  2. My 50Hz servo tester was ptting out 67Hz.

  3. I have installed a Teensy that reads the AUX output and converts thatto a 67Hz PWM signal.

It is now all good. I have lights!

Now…

Onto the gripper.

1 Like