I am trying to get my throttle to work on my traditional helicopter. I followed the setup outlined by Chris Olson on the youtube videos (thank you!). I do not see any output throttle applied to my ESC on the Servo Output page of Mission Planner.
I have confirmed that the ESC is calibrated (manually).
If I reverse the servo output, so it applies a 2000 PWM to my ESC it revs up. I can control the motors if I am directly plugged into channel 3 of my receiver. All my other servos function correctly.
I receive throttle from the radio no problem, and have calibrated it.
I arm the helicopter, and cannot control throttle.
Does anyone have a suggestion on what I may be missing?
it could be the SERVO8_TRIM value being set too high causing the ESC not to arm. Try setting that to 1000 and see if it works. It shows an output of 1000 pwm on your screen there, but I always set the trim for the throttle to the same as SERVO8_MIN to ensure the ESC initializes correctly.
Also, if you can, please post a param file if it doesn’t work. Mission Planner has been known to show one thing and set another for heli’s and we recommend only using the full parameter list to make any settings. GUI-type pages like you are showing there are highly suspect for not making correct settings for heli’s.
Something happened badly with your RC calibration. This is the values for RC8
RC8_MAX,1501
RC8_MIN,1500
RC8_REVERSED,0
RC8_TRIM,1500
As a comparison, this is the values for RC1, which we can be pretty sure is calibrated correctly:
RC1_MAX,2001
RC1_MIN,1000
RC1_REVERSED,0
RC1_TRIM,1500
With a min value of 1500 for RC8 I don’t know how it can arm. It should be roughly the same values as for channels 1-3.
Your servo settings look fine and looks like a very well setup machine prior to tuning. VFF’s set to 0.15 etc., might want to zero out the rate pitch I-gain prior to tuning
ATC_RAT_PIT_I,0.6
I’m pretty sure the problem is the RC cal on Channel 8. For some reason you are not getting full channel range there. You are using the RSC MODE 1 passthru so it could be a problem with a mix in your radio, or forgot to turn a knob to get the full channel range during cal?
Edit:
Another question: why do you have the slave lead from the ESC plugged into the SERVO7 port? Are you powering the servo rail with it?
I have adjusted the RC8 values, but it did not seem to do anything. The radio output on channel 3 goes from -100% to +100%. I also looked at what my receiver sees, from the radio -100% to +100%. Those screens I attached in my initial post show a received throttle range of 1000 to 2000pwm (second photo). But this doesn’t translate to #8’s heliRSC function (first photo) - no output throttle.
I switched the RC8 function to RCIN3 (throttle input) and it lets me adjust throttle no problem (was set to HeliRSC). I’m not sure that this is safe to use though?
I used the slave connection for power to the servo rail. But it should work fine going through the master connection as well. I’ve debated on whether I keep it or not - less wires is always nice.
Do you have a switch set up on Channel 8 in your radio to make the channel go low to high? Looking at your screenshot in the first post it is evident that Channels 1-4 are calibrated to full range. But channels 5-10 are not. You have a partial range on channel 5, but 6-10 didn’t move during RC calibration. Each channel needs a stick (1-4) or switch/knob (5-10) assigned to it and during calibration you must calibrate all 10 channels. They should all have the same 1000 - 2001 pwm values as 1-4 have. If the radio is not outputting these values on channels 5-10, there is something wrong in the radio. The red lines on the calibration screen show the min and max that the system received for calibration.
No, it will not work. In ArduPilot Channel 3 is collective pitch. Channel 8 is throttle. Mission Planner shows Channel 3 as “throttle”, but that is for multirotors. Channel 8 requires a switch assigned to it that will change the output from 1000 min to 2001 max like the first four channels. That switch is your throttle hold in ArduPilot.
I don’t think it hurts anything to have both the master and slave connections going to the servo rail, as long as the master is on the SERVO8 output. Depending on the ESC, the slave output usually has rpm output on the signal wire is the only thing.
Channel 5 is my flight mode which is using a combination of two switches. I’ve scaled the pwm values so that I can achieve each of the 6 flight mode pwm ranges outlined in MP. Channels 6-10 aren’t programmed in my radio since I don’t have a function to assign to these (what function should they have?). I can set up my radio so that the pixhawk sees a 1000 to 2000 pwm range, but I don’t understand why this is necessary.
I’m not sure if it’s useful to know or not, but I am using the Jeti Duplex DS-16 radio and the Jeti Duplex RX10 receiver.
Am I not understanding how I should be programming throttle in my radio? I have programmed my throttle to transmit from channel 3 in my radio. This is seen no problem by the pixhawk. On my radio I have two switches programmed that let’s me either use the collective stick to also adjust throttle or go between different throttle levels (i.e. 0%, 60% throttle, or 80% max).
You cannot use any sort of helicopter setup in the radio that does any mixes. The outputs on 1 thru 8 must all be calibrated to full range and must be straight outputs like a H1 swash heli, or airplane. All the mixing is done in the pixhawk. With the setup you are using for electric there is no connection between channel 3 and the throttle. All throttle control is handled only on Channel 8.
The Pixhawk is not putting out anything on Channel 8 because it’s not calibrated on the RC side. You must set up your radio to get a range of 1000-2001 pwm on all of the first 8 channels, then calibrate the Pixhawk’s RC input to “see” it during RC calibration before it’s going to work.
I have exactly the same problem with a dual rotor frame. I believe I set all all the H_RSC params correctly and did not get anything. But it will work if I set input directly to RCin.
Servo8 was also set correctly to function=31.
Although I can use transmitter mix to control my external governor, but without the RSC rising, it will disarm itself in 15 seconds:frowning:
I also tried to use CH8 input, but the output is not mapped correctly. It has a very short range of input to jump from 1000 to 2000 in output.
I am now trying to make sure everything is tuned correctly and I am having issues with my collective pitch. I followed pre-flight testing for the transmitter (http://ardupilot.org/copter/docs/trad-heli-preflight-testing.html). Everything works as it should. Move roll stick right, swashplate leans right. Move left, it leans left. Etc.
But if I move my collective pitch stick forward but my collective pitch is down to -2.5 degrees. If I move to a minimum I am at a collective pitch of +10 degrees. I can fix this on my radio by reversing the output signal.
However, if I set the CP to a minimum on the pixhawk (via h_sv_mode = 4) I get a maximum (+10 degrees) CP on the blades. Similar for a maximum CP (h_sv_mode = 2), I get a minimum CP (-2.5 degrees).
If I start reversing servos I think I will then have the roll and pitch of the helicopter flipped.
If you set H_SV_MAN to minimum and it goes to maximum collective pitch then all three of your cyclic servos need to be reversed.
But before we get too overly excited, what kind of heli is this? It isn’t a Thunder Tiger or something similar with reversed collective (swashplate goes down for increasing pitch)?
Nice looking heli! I could not see the details of the head, but with three blade rotor and it looks like leading edge control, the collective should not be reversed. So when you move the swashplate up, the collective pitch should increase.
Double check to make sure you got the direction right in your radio. The only channel that should be reversed (usually) in the radio is the elevator on Channel 2. All other channels should be normal direction. If your radio shows the servo outputs on the screen, check it. The collective lever should go to low output with the collective back. And high output with the collective ahead.
If the RC direction is correct (double check to make sure Channel 2 is actually reversed), you will have reverse all the cyclic servos using the SERVOx_REVERSED params for SERVO’s 1, 2 and 3.
Edit: note an issue here we’ve been dealing with for a long time…
In multicopters “pitch” is on Channel 2 and “throttle” is on Channel 3. In heli’s “pitch” is on Channel 3 and “elevator” is on Channel 2. The common docs say to reverse the “pitch”. Well, that’s on Channel 2. You may have misunderstood that and accidentally reversed Channel 3 instead.
Maybe on this one, start a new thread for your tandem, and post a param file for it. Then we’ll take a look at it there without confusing what we’re working on with Mike.
So I switched the servos to reverse. This means I have 2 of 3 servos reversed - Servo1, and Servo3.
The collective pitch works properly now. I have set it to go between -2.5 (min collective) and +10 degrees (max collective). I’ve attached a shot of my swashplate and aileron servo (front left - connected to main out 1). https://www.dropbox.com/s/i2ua2ks01ntgy83/20180401_202909.jpg?dl=0
OK, wait a minute here now. Now that I’ve seen a closeup of that head it looks like it has trailing edge control? In other words, looking at the top of the head, the blades turn CW, correct? And the blade grip arms are on the rear (trailing edge) of the blade grips, not on the front. Correct?
Unless I’m seeing the pictures wrong, that is a DFC head with trailing edge control. ArduPilot does not support that (yet). But ArduHeli 3.5.6 does support it - I just haven’t PR’d it to copter yet. So…
1.) reverse all your servos again to where you had them before.
2.) download ArduHeli 3.5.6 from here:
3.) install the ArduHeli firmware by using the “install custom firmware” option in your ground station
4.) it will drop right in over the top of Copter 3.5.5, except you will find a new parameter - H_COL_CTRL_DIR. Set that to 1 and write it to the FC - it is zero by default.
5.) Voila! your trailing edge control head will now work.
Be aware that with trailing edge control, the swashplate moves DOWN for positive collective pitch, not up. So verify your H_COL_MIN and MAX settings are still good and you get the correct pitch range.
This is correct. The blades move clockwise, and the arms are on the rear (trailing edge). Here I thought I was getting comfortable with all things RC helicopter .
You are looking at the pictures correctly. It is a DFC head and trailing edge control.
I will update to your 3.5.6 version tomorrow and report back. I appreciate you sharing this and all of your help.