Helicopter Rotor Speed Governor

It has a ProJet hornet (I’m changing the original unit to the hornet 3 for telemetry)ecu- this monitors fuel flow, rpm and temperature
As well as maintaining it within operating limits, regulating startup, shutdown and cooldown cycles.
But it has no governor function on board

Eeehm
How to coordinate this with @bnsgeyer?:grimacing:

Correct. Same thing as a Wren (now Turbine Solutions) MW54 or 44i.

It requires a full-throttle signal to heat the igniter and initialize the ECU. When the light goes out return to low idle, the engine lights and starts to accelerate. When it goes self-sustaining and the starter disengages, then go to flight idle and verify you have a good start and temps are in limits.

Same as any other turboshaft engine.

The key is that ArduPilot does not provide a way to accelerate the engine to flight idle without increasing pitch (which is the last you want to do during a turbine engine start as it will overheat the N2 stage). It requires a careful increase in fuel rate to keep the ITT below 750C until the Ng section has adequate cooling air flowing thru it. 95% of the air flowing thru a turbine engine is for cooling, not combustion.

I designed the throttle controls for it. We’ll let Bill decide how to proceed for support for it in ArduPilot :grinning:

Bill is the ArduPilot heli maintainer. He is pinged on this thread, so he’ll answer back.

I’ll wait for him to drop in!
But… i wasn’t planning on connecting rotor controls to this unit, that would simplify that part
It’s a simple system with flybar so does not need stabilization

You will need to use the rotor controls for collective pitch as the system uses that part to set the throttle curve. The controller does not have separate PWM inputs for each channel. It just has one RC input that will either come from SBus or a PWM converter.

In acro the controls are pass-thru anyway for flybar. So use the controller outputs to operate your cyclic, tail and throttle servos and then it will work.

The controller needs to know the collective pitch or it can’t set the throttle curve.

That’s always possible

Hi, I’m glad to see your interest in the traditional helicopter frame of ArduPilot. Currently my plate is full. I am preparing for the release of version 4.0. I eventually want to provide more capability to support turbines but based on what Chris has done with Helipilot, it will take some careful consideration as to how to implement this.

@ChrisOlson It sounds like there are some special things you need to do with the throttle to not only start but then run up the engine to flight idle. My only thought on this right now would be to put a feature in the rotor speed controller to effectively disconnect the throttle from the collective after the aircraft is armed but before the motor interlock is enabled (throttle hold off). It would use the channel input specified for the RSC passthrough. This should give the user the flexibility to move the throttle for start and even runup but then once motor interlock is enabled the ramp feature would pick up on the throttle where ever it is set by the user and then take it to the throttle curve value. I’m not particularly sold on this idea as it bypasses the motor interlock which is a safety feature. How long does the throttle need to be at full for the start sequence?

EDIT: @ChrisOlson would your constant torque system allow for a safe runup of a turbine? I really don’t like this max power sequence to start the a turbine. but once started if the constant torque system allow s for a safe run up then that cures part of the issue because now the autopilot can safely bring the rotor up to operating speed. I’m thinking of making the max throttle a momentary thing and it would only be allowed once after arming.

Bill, starting turbines is a two-stage process. It usually it takes 5-10 seconds or so for a kerostart engine at full throttle, there is an indicator light on the ECU, telemetry or data terminal that goes out or comes on (depends on the FADEC style), and then within two seconds the throttle has to be returned to low idle.

The pilot must retain throttle control during the start and runup to abort a hot or hung start. Assuming a good start, the engine will go self-sustaining and settle into a stable low idle.

Accelerating from low idle to flight idle has to done quickly and very carefully to prevent over-temping the engine because it’s not running fast enough to have adequate cooling air flowing thru it at low idle. Once it’s running at flight idle, then you can turn it over to the throttle curve. Once at flight idle it’s running at a safe speed to have adequate cooling.

The clutch is optional with two-stage engines. Some use a clutch, some don’t. Most are direct coupled with the N2 stage with larger engines.

The torque limiter is not used for runup to flight idle from low idle. While you can do it with a piston, the pilot’s throttle control is used for that with turbine power. That was the whole concept of the AutoThrottle system. We could not run up a Solar T62 with the stock controls and have fine control over the throttle without using the throttle curve, which moves the collective pitch.

The torque limiter limits torque output during transition to AutoThrottle to prevent having to use the throttle curve to get the engine on the governor. Collective pitch stays at feather at all times until the pilot is ready to go flying. It does it without having to use any H_RSC_RAMP_TIME, which is a very crude system that just ramps from low idle to present throttle curve position and doesn’t provide the pilot with the necessary throttle control.

So it is the same as running up the Pratt & Whitney Canada PT6B-37A in this AW-119. It takes two minutes, at least, to get a turbine engine to flight status from a cold start. Temperatures in the engine have to be equalized before a load is put on it or or it will damage it. As fuel is advanced, every step has to be verified - temps within limits, rotation speeds within limits - or you just bought yourself a $250,000 engine overhaul.

There is no such thing as arm, start the engine, throw throttle hold and go flying. You’ll have either a flameout, or blow glowing engine parts out the stacks if you do that.

Just a note that turbine engines are not something to mess with in an autopilot unless you are damn sure you have it right. In full-size aircraft it requires ratings to fly a turbine aircraft. Even in AMA club fields it requires experience and training before any pilot is allowed to fly one.

This is because they are not a turn-key power system, in either full-size or RC.

Pilot Requirements
23. An experienced turbine pilot is defined as a pilot who has completed 20 or more turbine flights during the preceding 24 months and who has a current turbine waiver issued by AMA. For confirmation purposes, the pilot is required to keep a written log of all flights and will provide copies to AMA upon request.

All pilots operating turbine powered model aircraft solo shall have a qualifying turbine waiver issued by AMA.

An AMA member may be permitted to fly a turbine powered model on the slave transmitter of a buddy box as long as the master transmitter is operated by an experienced turbine pilot. All turbine waiver applicants should have accomplished at least 50 flights on a high performance model.

Well for now then, I think turbines are off the table. I mean I can put something in there that passes control to the transmitter on the rsc passthrough channel but it totally bypasses the motor interlock. The user would then flip motor interlock when they hand over throttle control back to the throttle curve/governor. I will have to talk to the other devs about this, safety wise.

I would love to get the RSC to a point we are happy with it. Currently I think it is in a good place for pistons and electrics. I think the rest of this stuff (your new governor, torque limiter, poss turbine support) would come with integrating more automated features for start and engagement and shutdown. The automated features would include engine warm up and cool down time periods for pistons. Plus the torque limiter would allow for safe piston rotor runup. This is not at the top of my list currently.

Yeah, it is a significant project to meet the ArduPilot goals of autonomy. As you are aware, I spent considerable time developing the controls for it, including the requirement of being able to in-flight shut down an engine for fire, without disarming the control.

Safety and pilot training are the top priorities for turbine aircraft, that’s why the requirements for a pilot to even be able to start one up at an AMA sanctioned club field. Things like auto-takeoff would have to be locked out for turbine aircraft because it’s not even remotely possible to do such a thing safely.

So the proper controls do exist with an ArduPilot-based system, @Flyingdockp will have to contact me for the details and at minimum take an online training course from me as to how to operate it and set it up to fly his turbine model. Other folks such as @Ferrosan have flown turbine helicopters with ArduPilot, but have hacked the throttle controls to be able to do it, especially to start a FADEC-controlled engine. My custom controls use the throttle curve and governor, but they disconnect the throttle control from the throttle curve to provide the two-stage starting/spool-up and go to the AutoThrottle system for flight. Plus I added support for twin-engine helicopters with dual-channel controls and dual-channel governor.

I’ll be happy to assist in getting something implemented in ArduPilot when you get to that point, as I already have the code for - but it will have to be modified to fit the ArduPilot ecosystem.

Here is a demo of the AutoThrottle system with just one possible setup in the RC radio to control it (it can be fully single-switch operation if you choose to). Showing how the throttle can be used without moving the collective pitch. The collective pitch is independent of the throttle curve for autorotation practice, and setting a feather pitch for ground runup. Also demonstrating the torque limiter that limits engine torque during ramping up the rotor speed to the governor. I believe I had it set to use 32% max torque to accelerate the rotor here.

The torque limiter works on the principle that engine torque is directly correlated with manifold pressure (pistons) or fuel rate (turbines). Manifold pressure is directly linked to BMEP (Brake Mean Effective Pressure) in the cylinders of a piston engine, or expansion ratio with turbine engines.

So the torque limiter does the calculations of relative torque based on throttle opening, relative power based on rpm (power is torque over time) and adjusts the throttle to maintain a constant torque during acceleration until it goes on the governor. No throttle ramp timers required.

If the pilot sets the torque limiter to 100% it will slam the throttle wide open because 100% torque is 100% torque and that means wide open throttle. There is no “hand holding” for an inexperienced pilot that does something stupid.

If the engine “coughs” or hesitates during acceleration the torque limiter will also hesitate and won’t do a brain-dead continuation of opening the throttle like a ramp timer does. Which can potentially cause a fire with a turbine engine if you have an air bubble in the fuel line from refueling, or the fuel pump or pressure regulator fails during ramp-up. With pistons it prevents going lean and flameout due to the same issues - possible air bubble in a fuel line, engine too cold to accept throttle, fuel pump fails, etc…

Runup timer is also not used because the system uses actual measured rotor speed to determine runup complete instead of a timer-based system. So if the AutoThrottle system hesitates due to an engine problem during runup, it will never go to runup complete and have the autopilot attempt to pull pitch based on a timer.

Plus our pilots needed better control of the throttle, especially for autorotation practice, without having to worry about ramp timers. On an auto bailout it comes back on power smooth as brushed velvet, without torque-twisting the heli in the sky.

Hasn’t been tested on electric helicopters. We don’t fly those anymore. The calculations used in the code don’t apply to electric because their torque and power curve is not the same, based on throttle and rpm. A non-governed piston or turbine engine will hit very high rpm with no load on it at only say 35% throttle opening. The electric motors used in these brushless drives will just go to a fixed rpm at 35% throttle and won’t continue to accelerate. So don’t know if it works with electric helicopters or not. I suspect not.

So just a preview of what Bill can (possibly) put into Copter 4.1 eventually. This was independently clean-sheet designed for our own use, and breaking from legacy in ArduPilot. It will be impossible for Bill to put anything like this in 4.0. It was a MAJOR overhaul of the old RSC object, which does not actually exist in my code any longer. But that’s what development is all about. I can do it completely independent of ArduPilot, the code is open source and available, parts of it or concepts used can be freely applied to ArduPilot to make it better.

Thanks a lot for your input!
Only purpos I have is to use a governor in a RC turbine helicopter
Nothing autonomous at all
But indeed
Start up sequence is challenging…
These things have in interesting throttle control
0-50% is only the arming area, 0%= off status
50% = armed
100% = start
Then back to 50% to release it to manual control as soon as the turbine reaches a stable idle
If that stable idle is reached, it is released for manual control in which 50% is idle and 100% is max throttle
Jetcat has it working nicely, using an auxiliary channel for throttle only.
In the pht3 throttle is directly a governor so max throttle equals 1250 rpm and idle, well than the clutch has disengaged
It’s great flying with these machines

But this frank tj67/n2 stage is a purely manual thing, in which you only control the n1 stage.

I love governors in RC helicopter but I can get without them

In this case however, I think a governor could also help in protecting the turbine and especially the n2 stage, which is at risk

I don’t think conventional governors Will work, since turbines are different in behavior from electric motors and piston engines due to the uncoupled nature of a two stage turbine.

Also i don’t think these governors can handle the weird throttle usage

Although it could be worth a try

I really love the idea that pitch is incorporated into the governor code!
I’m unfortunately not good in software code, but in my mind at least, it seems that using pitch will help to give some useful additional info on what the software can expect to happen with the rotor rpm.

Does it also use rate of change in pitch channel?

That’s a great video!

Indeed… pitch uncoupled from throttle!

So that would indeed result more in a rotor rpm function then an engine control

Pieter, with turbines, they are a constant-speed, variable torque power system (two-spool engines). Even a Pratt & Whitney PT6A turboprop idles with the propeller turning at the full 2,000 rpm. Torque is varied by the changing the speed of Ng (and hence the gas flow). The PT6’s Woodward governor (which is a mechanical flyweight unit) controls the speed of the prop (and thrust) by changing pitch of the blades. And it schedules the Ng to meet torque demand at Np.

So, yes, the engine idles at 63% throttle, which is flight idle, pitch feathered.

Helicopter is the same application - the same PT6 engines used in turboprops are used in helicopters. A helicopter is a constant speed, variable pitch, variable torque power system.

My newest helicopter governor control is modeled exactly from the Woodward 8210-212H governor used on the PT6 engine, operation duplicated in software, including the torque limiter.

turbine and peripherals

Turbine ‘exploded’ view

Sounds good!

Nice difference between turboshafts (ie jetcat pht2 and 3) versus this one…

Jetcat uses a rpm sensor on its n2 shaft (with their two stage turbines) for governing that I guess (from reading manual and looking at fotos).

But with this engine, thusfar, no information of the n2 shaft is used and that’s what I’d like to change…

The JetCat PH-series engines are single-stage. The SP-series engines are two-stage. There is hobby-grade and commercial-grade JetCat engines. The commercial-grade engines use a liquid-cooled planetary gearbox.

I know.
I have a pht3 in a hotcat (functions great!) and hopefully a pht2 soon

The pictures of this resemble more a sph10 or 15
Although this ‘gearbox’ is exposed and aircooled