Troubles with using Relays on Pixhawk 6C

Hello, first time using this forum!

I am a part of a Mechanical Engineering project at my university building a hydraulic tank tread snowblower, and we are using a Pixhawk 6C as our controller. We plan to use the relays for many functions, but are having problems getting 3.3v from the boards relays as expected. Relays 2-4 are reading 3.3v as expected, but 1,5, and 6 are all reading different voltages in the 1.4v-1.6v range. As far as we know, all of the pins are configured correctly using Mission Planner as our config software.

Any help would be appreciated, thank you!

Post the parameter file.

What is the current draw of the relays on the 3.3V input? 1.6V looks like the output is current limited by the protection resistor.

2 Likes

These red relay modules work with a high input with ardupilot. you can’t use a relay directly, The blue modules need pulled low and controllers have some issues with that.

My parameter file is attached.

snowblower.param (16.6 KB)

I don’t think I understand what you are saying here. We are using a relay board like that in this project, with the high input. The ardupilot relays are currently:

  • Relay 1 - reads 1.4v-1.6v
  • Relay 2 - Works to trigger an SSR not pictured.
  • Relay 3 - Works to trigger a relay on the board pictured.
  • Relay 4 - reads 1.4v-1.5v
  • Relay 5 - Works to trigger a relay on the board pictured
  • Relay 6 - reads 1.4-1.5v

I have attached a photo of our relay board.

Google Photos

When measuring the current with a multimeter, it reads at zero for all of the relay outputs - I’m guessing I am doing something wrong? I believe it should be a few milliamps?

With properly buffered relays it should be pretty much 0.

What brand and type is your Relais board.
Is a datasheet somewhere available?
From the picture I assume each Relais has a opto coupler driver stage in front.
Where exactly did you measured the 1.5V to 1.6V?

The relay board is from NOYITO, the 12v version as that is what most everything else in our system uses, also has octocouplers. That voltage is being measured from the AUX signal pin associated relay pin to the system ground rail.

Apart from the description on Amazon, I have not been able to find a datasheet.

Without any detailed description all is only guessing.
You connect directly the FC Outputs to the Relayboard Inputs?
It looks like the Optocoupler are directly connected to the Input terminal. Are an components on the backside? Can you make some detailed macro fotos from frontside and backside.
The datasheet of the optocopler shows a a forward voltage of about 1,2V typical 1,4V max with forward current 20mA. If the optocoupler is directly connected to the FC output without any limiting resistor in between and you measure 1,4 to 1,6V the optocoupler is using more than 20mA. This will cause a over current situation for the FC. To limit the current a serial resistor of 220 - 420 Ohm will help on 3,3V FC output.

I am connecting the FC Output directly to the relayboard in, yes.

I have noticed a very strange relation between these pins.

If relay 4 is low, relay one reads 0v low / 1.5v high.

If relay 4 is high, relay 1 reads 1v low / 2v high. This also means that when relay 1 is high, relay 3 is capable of the full 3.3v. Is this a sign of a damaged pixhawk board? I have also noticed that as more relays are triggered, the high voltage of relay 1 gradually increases to around 2.5v

I would go step by step. So first only connect 1 FC out put to one relay input. Let all other connections from FC to Relaisboard open. Test this one channel by measuring the output voltage on FC pin and the output current from FC pin to relais input. Check this for all six channels only one by one. Are they than working in the same manner? Show all values here.
And again some detailed photos can be helpful.
Also how you want to control your relays.
If I understood your params correct only
RC9 is assigned to relay 5;
RC11 is assigned to relay2;
RC10 and RC12 both are assigned to GRIPPER;

1 Like

I just tested the relay outputs. Relays 1 and 4 are exhibiting the problem, and it occurs when they are completely isolated, not even connected to that relay board.

And to clarify, FC Relay is the relay being triggered using the mission planner dashboard (completely ignoring a remote control currently), FC Relay Voltage is the voltage measured directly from the Pixhawk’s Aux pin using a multimeter, and the Relayboard voltage is the voltage measured from the signal IN pin of the associated channel on the relayboard.

I know that each channel of the relayboard is working fine, that has been verified using a benchtop power supply.

In terms of controlling the relays, our intention is 2 relays modulate a fwd/rev relay module that lift/lowers the snowblower head, 1 relay triggers the solenoid for the snowblower’s hydraulic head, 2 more relays modulate the rotation of the snow chute, and one relay triggers the vehicle lights. Currently, we have 3 relays working reliably, so we are only using them for lift/lower and solenoid control.

and it occurs when they are completely isolated, not even connected to that relay board.
Do I understand correct that the FC Relay Voltage on Channel 1 and 4 is measured while the pins are not connected to anything.
If it is so and the pin is configured correct as Relay pin, than your FC HW is defect.

You are correct, it is while the relays are disconnected from everything. Thank you for your diagnostic help!

Please double check if your params for this ports are setup for relay and not for some PWM or SERVO mode.
If the ports could be get damaged by the use of relay board if the current from pin to relay input is not limited.

I just double checked all of the pin params, they are each set to GPIO and the respective relay is set to output to it.

If so the FCs output driver stage is damaged. The most problem is that if the pins are set to high level you have a internal shortcut on this damaged stages.