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.
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.
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.
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.
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.
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:
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 ?
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.
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.
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?
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.
@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.
@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.