Strange Throttle output : Version: 3.6.7

Hi all,

my setup is:
• hardware: BELT-CP (heli), SPEKTRUM DX7, PIXHAWK
• ardu-copter: Version: 3.6.7

I am testing H_RSC_MODE in MODE 2 (setpoint) and 3 (curve).

I am assigning the Throttle control to servo 5 (I have also tested servo 6 and the default one 8).

Everything is calibrated and all the servos are reacting fine.

When I arm the PIXHAWK, the Throttle output (SERVO5) does not behave as expected in MODE 2 and/or 3. In MODE 2 I am expecting to get something similar to my set-point but instead I am having minor noise around the value of the minimal SERVO5 value. When I switch to MODE3, I was expecting to see something similar to the curve present in the parameter however I see strange behavior with large unstable variations that seem to follow somehow the collective value with a lot of inaccuracy. When I disarm, the SERVO5 output remain constant at SERVO5_MIN value.

Of course I tried to analysis similar topics in the forum like this topic (Problems with Throttle channel 8 on pixhawk) but I am unable to find rational fix or analysis.



For MODE 2, I bypassed the PRE-ARM checks and tested different triplet (H_RSC_SETPOINT, SERVO5_MIN, SERVO5_MAX) but nothing changed fundamentally …

I am missing something ? Can we track in detail how the signal SERVO5 is computed inorder to understand the issue ? Meaning do we have a debug mode that gives more intermediate values than the log or the bin filed ? Someone can help ?

Here is my param, a log showing the strange behavior in MODE 3.

param.txt (22.3 KB)
debugforum.log (80.9 KB)

Thanks in advance.

this is definitely strange behavior. I’ve never seen the rsc output look like that.

So did you get the same results from assigning heli rsc to channels 6 and 8? I looked at your param file. It appears like you have the rsc assigned to both channel 5 and 6. I’m not sure that doing this would have this effect.

Hi,

Thank you for your opinion.

Yes I see the same behavior in sv6 and sv8.
Affection throttle control to sv5 and sv6 (31) is not the source of the issue. I did to check if I have a hardware problem on servos conectror. In my configuration sv5 and av6 have the same output.

My problem could be a deeper hardware problem or a bug in the code. To check this I will reset the FC board and i need to track the math calculation steps leading the throttle output. For this I need to recompile the code with a lot of intermediate outputs.

These are my investigation ideas …
Others are welcome.

Thank you

Your RSC setpoint is set to 12000 for Mode2. This is not going to work. The range is is 0-1000

1 1 H_RSC_MODE 2 2
1 1 H_RSC_RAMP_TIME 5 2
1 1 H_RSC_RUNUP_TIME 10 2
1 1 H_RSC_SETPOINT 12000 4

Also, you cannot have two SERVO_FUNCTIONS set to RSC. While this might be possible to do, it is not implemented in the code at this time.

1 1 SERVO5_FUNCTION 31 2
1 1 SERVO5_MAX 1900 4
1 1 SERVO5_MIN 1100 4
1 1 SERVO5_REVERSED 0 2
1 1 SERVO5_TRIM 1500 4
1 1 SERVO6_FUNCTION 31 2

I have not flown the stock 3.6 code for quite some time, as I fly my modified version with a built-in governor. But I am not aware of any problems in the code with the RSC in 3.6.

Hi Chris,

Thank you for your comments.

I exaggerated the value of H_RSC_SETPOINT to see asymptotic behavior but nothing changed. I agree usual value is between 0 and 1000.

Also affection the RSC to a single SERVO, 5, 6 or 8 does not change anything in the system behavior.

If we analyze the issue there are 3 possible types of faults:

root

It can not be a pure hardware since other servos are running fine.

So it is a pure software or a combination or minor soft and hardware problems.

I am willing to investigate the pure software problem. So I need to get the collective signal that allows the computation of the throttle signal via the specific transfer function of each mode (2 and 3). Do you know that signal ?

Screenshot%20from%202019-03-18%2020-31-03

thanks

I will load 3.6.7 into my Heli this evening and check my throttle out signal to see if I can duplicate this issue. If I am able to do that then I will troubleshoot it on my end. It’s a lot easier for me to do it than to walk you through it.

Thank a lot for your kind help.
Best regards

Did you load this using mission planner with the install firmware screen. I want to make sure I’m loading the same firmware that you did. There are different underlying operating systems that can be loaded.

Yes I used MP. Beta firmware gave me 3.6.7 version.

So when you went into the install firmware screen for mission planner, you clicked on beta versions? Why didn’t you just load the stable version by clicking on the helicopter symbol?

Well because I usually test new features.
Anyway test the regular release if you do not reproduce the issue I will downgrade my firmware.
Regards

By the way another guy in the forum is reporting nearly the same issue as me. The unique difference is that he is using mode 1. Channel 8 injects directly signal in servo8 to control the throttle.
Thank you in advance for testing the code on your hardware.

So I guess I didn’t realize that you help out with beta testing. That’s great! We always appreciate beta testers. You initial post struck me that you were a new user with a new setup.
So what version were you on that worked correctly before moving to 3.6.7?

could it be the change to put heli interlock on a RCx_OPTION? maybe because you upgraded you missed the new default. RC8_OPTION should be 32 to maintain expected behavior.

I put an upgrade option to make RC8_OPTION default to 32. So the user would not have to change anything with there setup.

last working for me was 3.5.4 (old one).
I am not new.
my first steps in diydrones and ppz were in in 2007 …

@iampete that PR should have only gone into 3.7. There was a change from 3.6 to 3.7 that allowed me to more easily implement this. So it didn’t get backported to 3.6… at least not that I’m aware of.

@bnsgeyer this appears to be version 3.6.7 which is the current stable release. 3.7 is alpha status yet, not even released for beta testing.

but they may have had something else already on RC8_OPTION and not got the new default. But it seems like it is not this issue in any case

@imed_limaiem I loaded AC 3.6.7 on a pixhawk 1 and tested the RSC output on servo 5 and 8. The outputs were all normal. I even put the rsc output on both 5 and 6 at the same time. no issues. So I’m not sure why you are seeing this abnormal output.

So I might suggest that you reset your parameters. before you do though, save them to a file. You can reset your parameters as described here. See if the rsc output works properly on servo8 and if it works, then switch it to 5. Then if all goes well with that, then start changing the parameters for your configuration using your saved parameter file. You can use full parameter list screen on config/tuning and click compare params. this shows you the parameters that are different and then you can choose which ones to change. Let me know how it goes.