Strange Throttle output : Version: 3.6.7

Hello
Thanks for all tests and investigations.
In will reset the board and let you know.
Regards

@bnsgeyer after the reset I am trying to re-implement my parameters. One by one.

Now I have clarification question about Interlock implementation.

Suppose I am not having any channel affected to interlock (32). I am still supposed to get the error message “Motor Interlock Enabled” ? In my case I am observing this.

As I understand the code below, if I have the error “Motor Interlock Enabled” it means that ap.motor_interlock_switch is true (ap.using_interlock is already true because we are in HELI).

how ap.motor_interlock_switch is initiated if we do not have a dedicated Interlock channel ?

Since I have a 6 channel receiver :slight_smile: I need to affect the 6th channel either to arm/disam or interlock.

Thanks for your help.

Screenshot%20from%202019-03-20%2023-08-17

If you only have a 6 channel receiver then ArduCopter 3.6.7 will not allow you to control the motor interlock. If you had an 8 channel receiver then you could put the interlock switch on channels 7-12 but it does initially default to channel 8. Master has a change that allows functions to be assigned to each RC channel. I recently made a change to master that also moves the input of the rc channel, if you were using RSC mode 1, to follow the channel assigned to motor interlock. In 3.6.7, even if you moved the motor interlock switch to channel 7, the input for RSC mode 1 is still taken from RC channel 8.

So I’m sorry that you aren’t able to use a 6 channel receiver. If you used a PPM encoder, that would allow you connect channel 6 to the flight controller channel 8. but you can either wait for AC 3.7.0 to be released or buy an 8 channel receiver.

6 channel RX ???
Sorry to say, you and Chris wasted a lot of your important time!!!

Well, following the last precious information from Chris I just need to connect the ch6 of the receiver into ch8 of a ppm encoder.

As I understood ch6 are sufficient (I flight it manually) thro+roll+elev+rudd+flight mode+interlock(or arm/disarm that was my initial set up when I postes the question). Correct me if I am wrong.

However 8ch is recommended and would be better for sure.

Again thank you all for your precious time in solving this.

Hi all first basic flight today.

everything is running fine !

thanks all again

best regards.

1 Like

Bill and Chris. MiniPix manual for helicopter says Ch 3 is throttle but Ch 6 is ESC for electric motor control. But, almost all questions and reply indicate throttle on Ch6.
I am setting up MiniPix in a older modified Kyushu EP Concept Heli, converted to flybarless. It uses mechanical mixing. Setup H1. So I have an ESC for power and a single servo for collective. Please advise.

what version of firmware? In Copter 3.5 and newer, the RC inputs have been separated from the servo outputs. Is your question regarding input or output?

Bill,

It is V 3.5.7 as I read it in MP.

I collected the parameters from my JCZK G450L helicopter and converted it to the Concept helicopter.

Ed

Bill, Another need.

MP lists discrete numbers for the assigned functions of servos. BUT, on my PC screen I can not see functions beyond number 16…

Is there a downloadable list of them? Or can the all be seen in MP?

Ed

list is here. Please post your param file.

Here are the assignments for heli’s
Left front swash servo/ aileron 33
Right front swash servo/ elevator 34
Rear swash servo / collective 35
Tail rotor/rudder. 36
Main rotor speed control/ ESC 31
Hope this helps

Bill,
Will these same parameter numbers apply to my EP Concepts mechanical mixing swashplate servos. IE: aileron servo 33, elevator servo 34 and then the single servo for collective servo 35?
Since we choose the H! mechanical mixing in MP, does the MP automatically output collective function for servo 35, or must I add a mixing from throttle to Ch 6?

No. once you choose the swash type, the mixing is done for you. It will automatically output the aileron, elevator and collective to the correct servos as listed.

Ok, so your Kyosho is identical to a Bergen. It has a mechanical mixer. So you have one servo controlling each of the swash functions. You have an aileron servo, elevator servo and pitch servo. One servo controls the pitch thru the mixer on the helicopter.

So you select H1 swash type. Channel 1 is normally aileron, Channel 2 is elevator, Channel 6 is pitch on mechanically mixed heli’s. However, in ArduPilot Channel 3 will be pitch on SERVO3 with Motor3(35), and ONLY that pitch servo should move when you move the collective.

No mixing in the RC, no mixing in the software. The mixing is done in the mechanical mixer on the heli.

Throttle will be on Channel 8 (normally) with ArduPilot instead of Channel 3 like it is on all other FBL or RC setups.

It would be recommended to use a throttle curve in the software for your mechanically mixed heli. That’s the way they are designed to operate. The “mix” for the throttle is done automatically in ArduPilot even for H1. But the “mix” is between Channel 3 (pitch) and Channel 8 (throttle) in ArduPilot. In FBL or RC setup that mix would be between Channels 6 (pitch) and Channel 3 (throttle).

Sorry for the confusing way ArduPilot handles this. I didn’t design it. I’ve wanted to fix it for a long time. But hopefully you can figure it out.

Ed, let me summarize differently.

This is what your Kyosho is expecting - RC industry standard setup:
Channel 1 → Aileron Servo
Channel 2 → Elevator Servo
Channel 6 → Pitch Servo
Channel 3 → Throttle Servo
Channel 6 is mixed to Channel 3 for throttle control.

In ArduPilot it is different and must be mapped to:
SERVO1 → 33 which is aileron
SERVO2 → 34 which is elevator
SERVO3 → 35 which is pitch (collective)
SERVO6 → 31 throttle servo (or ESC).
SERVO3 is mixed with SERVO6 for throttle control.

The difference in ArduPilot is that the throttle mix is done in the software, not in the RC. If you try to do a throttle mix in the RC with passthru you will mess it beyond all recognition and it won’t work. You must select H_RSC_MODE 3, assign a switch to RC8 for throttle hold (confusingly called “motor interlock” in ArduPilot), then set the five throttle curve values to what you need for power. And it will work.You will not get any throttle output unless you follow this with ArduPilot.

And you will not get any throttle output from ArduPilot unless the system is armed and throttle hold off (or “motor interlock” on).

Edit: I changed the instruction for which SERVO to use for throttle since I see you have a MiniPix.

This is confusing because Channel 3 is always throttle in standard RC helicopter setups. Channel 6 is pitch. The two are mixed. It is backwards in ArduPilot due to some strange reasoning I can’t remember right now :grinning:

Wow,

Great information. Will try.

Minipix only outputs 6 functions. So, when I assign throttle to channel 8, how does that get to Minipix pin for number 6 output?

You said no mixing. How does throttle stick movement ALSO slave to channel 8? Can I assign Channel 8 it to Channel 6?

“in Ardupilot Channel 3 will be pitch on SERVO3 with Motor35”. What is Motor35? Is that the number I assign to SERVO3?

I looked at the massive 770 page document on Helicopter Parameters. Is there a PDF version that I can simplify and print for reference?

I include above a rlog and param files as currently tried.

Ed

Ed

NewJCZK E500.param (9.64 KB)

I know, this is confusing. But, believe me, it works. With 3.6.7 you have to have 8 channel receiver. So set up a switch on Channel 8 for a throttle hold on/off. If you set SERVO6_FUNCTION to 31 that will map your Channel 8 RC input to the control for throttle hold on SERVO6 :grinning:

It doesn’t in the RC. It does this in the MiniPix running ArduPilot. You have to think “outside the box”. It is not like traditional heli setup. There is a built-in throttle curve in ArduPilot. There is a setting called H_RSC_MODE. Set it to 3. You will find five throttle curve settings in ArduPilot:
H_RSC_THRCRV_0
H_RSC_THRCRV_25
H_RSC_THRCRV_50
H_RSC_THRCRV_75
H_RSC_THRCRV_100

If your ESC has a governor just set them to a flat value like 700 (which is 70% throttle). If you don’t have a governor, then set them to whatever it takes to get the headspeed you want. Typical electric throttle curve would be like a 40-60-65-70-75 for an electric running a fairly low headspeed (except in ArduPilot this would be 400-600-650-700-750). Each one of those throttle curve points are a percentage of the collective travel from 0 to 100%. It controls the throttle output accordingly just like any throttle curve in a RC radio.

Well, it is MOTOR3, which is a numeric value of 35 if you set it manually. There is an easier way - there is another ground station called QGroundControl. It has a heli setup button that makes this whole process just point and click simple.

You will go nuts if you study that. Just download QGroundControl from here and try that with the heli setup. It is MUCH simpler.

We also have a helicopter ground school you can attend and it’s free.
http://ardupilot.org/copter/docs/traditional-helicopter-configuration.html

Ed, I took one look at your params and you are NOT on version 3.6.7. You have 3.5.7 in that thing. I would suggest loading the latest stable firmware in it, which is 3.6.7. You can do that with either Mission Planner or QGC. But I would suggest using QGroundControl as it makes the setup pretty much trivial compared to Mission Planner.

Chris,

A big big thank you for helping—- and it makes sense!

The last bit explains a lot. So, in Ardupilot it is servo6 function that mixes to servo3 function. And this goes through channel 8 as a throttle lock.

MP Heli setup screen, on far right, has option, Ch8 or thr curv. But, the point below where one would input the values for throttle curve are greyed out. Will your setup explanation open the greyed out spaces for setting the values?

I will update to you when I have tried your changes.

Ed