Jump to content
The simFlight Network Forums

Question about joystick calibration


Recommended Posts

Hello Mr. Dowson. First off I'd like to thank you greatly for creating and constantly upgrading FSUIPC. Without it FS9 would be a rather glitchy evil thing to navigate sometimes. Cheers!

I have a question about altering joystick calibration in flight. Essentially I'm trying to find a way to trim out the constant control force needed to maintain level flight in any helicopter at any reasonable speed. As you know, fighting the helo's tendency to pitch up during forward flight can become a pretty big pain in the wrist pretty fast, and many helicopters have at least some kind of rudimentary spring system (or better) attached to the cyclic to do just that. Microsoft's omission of any kind of cyclic trim was a pretty big oversight I think.

Using the arrow keys in FS, you can basically force the nose down by having it maintain a constant forward cyclic (elevator) pressure, but of course its rough, and the second you touch the joystick on the y-axis, its gone, overwritten by the stick's new value. I've tried several XML based autopilot gauges to try to beat this problem, but I really don't like any of them.

I've been able to achieve the effect I'm looking for by setting my null zone parameters in FSUIPC's joystick calibration to something well forward or aft of centre on the y-axis, but this is a more permanent thing, and of course once you decelerate to a hover, you have the opposite problem.

I was wondering if there was a way to nudge those centre/null calibration values in increments through an offset or button combination while in flight?

Either doing that, or adding or subtracting an incremental value to the post calibration y-axis values would work. Is this even possible?

Thanks very much for your time, and again, thanks for creating the most essential of FS addons.

I hunted this forum for a fair while but didn't find anything concerning this, so my apologies if this has been asked before.

Cheers.

Mike

Link to comment
Share on other sites

I'm trying to find a way to trim out the constant control force needed to maintain level flight in any helicopter at any reasonable speed. As you know, fighting the helo's tendency to pitch up during forward flight can become a pretty big pain in the wrist pretty fast, and many helicopters have at least some kind of rudimentary spring system (or better) attached to the cyclic to do just that. Microsoft's omission of any kind of cyclic trim was a pretty big oversight I think.

Doesn't the elevator trim work on that in a helicopter?

I was wondering if there was a way to nudge those centre/null calibration values in increments through an offset or button combination while in flight?

No, that would be an horrendous thing to try to do in FSUIPC, the way things are organised. The whole calibration computations would be thrown out.

The only thing I can think of is to use the axis assignment facilities to assign your control NOT to any analogue input at all, but to a series of INC/DEC controls (i.e. using the right-hand side of the assignment facility). Program a centre zone which sends the axis control with a zero, and a succession of zones either size which send one or more INCs or DECS (depending on direction), with probably a repeat action at the extremes.

It's messy but you'd end up with something more like keyboard control but using the stick.

Either doing that, or adding or subtracting an incremental value to the post calibration y-axis values would work. Is this even possible?

This is almost exactly what elevator trim does, in effect -- I'm very surprised it doesn't apply to helicopters. Have you tried applying a trim axis?

Regards,

Pete

Link to comment
Share on other sites

Hello Pete. Thanks for your quick reply!

No, unfortunately elevator trim doesn't actually do anything on any helicopter. It seems to be instantly disconnected by the 'helo' flight model. I've even gone so far as to try to add elevator surfaces and trim controls into the aircraft .cfg and .air files (with huge surface areas and insane ranges of movement) of the default bell 206 and the flight model completely ignores their existence.

Also I did try your suggestion prior to my post here but failed to mention it, sorry. I used your new facilities to disconnect the stick's Y axis from the sim, and have the joystick send ever increasing or decreasing amounts of up or down elevator, based on how far you've moved the stick, and it does work, but if you get the helicopter into any kind of extreme attitude by accident, wow, its a pretty deadly outcome. :) The helicopter flight model, if you can call it that, in the game Battlefield 2 does pretty much the same thing, as it was designed to be flown with a keyboard or mouse more than a joystick.

If recalibration in flight isn't possible, then is there any way to have fsuipc add or subract a persistent but user controlled value to the post calibration position of the stick just before it gets to the sim? Like a way to tell fsuipc "add +500 to the y-axis value at all times" and use buttons to increment or decrement that value on the fly. This would achieve exactly the same trim effect I'm looking for, identical to shifting the stick's dead zone but without messing the calibration up.

Again, thanks for your time.

Cheers!

Mike

Link to comment
Share on other sites

If recalibration in flight isn't possible, then is there any way to have fsuipc add or subract a persistent but user controlled value to the post calibration position of the stick just before it gets to the sim? Like a way to tell fsuipc "add +500 to the y-axis value at all times" and use buttons to increment or decrement that value on the fly. This would achieve exactly the same trim effect I'm looking for, identical to shifting the stick's dead zone but without messing the calibration up.

Couldn't I use the trim values for that? i.e. an option to add the trim to the elevation value continuously (but keeping it in limits of course) -- assuming, that is, the trim values are only being ignored by FS, not being zeroed. (to find out, please monitor offsets 0BC0 and 0BC2 in FSUIPC's Monitor -- see Logging page. Monitor them as S16's. If they respond to trim inputs (keyboard or INc/DEC controls or an axis input), then this seems the easiest and most reasonable.

BTW does this lack of elevator trim action apply to all FS helos, or only those using a truly helo model? One of the two in FS2004 is classified internally as a prop I think.

Regards,

Pete

Link to comment
Share on other sites

Hi Pete. Ok, I tried monitoring the two offsets you specified, using the default Bell 206 and the default cessna 172 as well. In the cessna the trim controls increment properly adding plus or minus 32 each tick I think. In the bell it just reads zero regardless of what I do with the trim keys.

I'm not sure if this helps you? FS could be zeroing the trim inputs, or simply ignoring them altogether. FSUIPC is logging the key inputs, but there's no change in the value in those offsets. I've tried leaving them mapped through the regular FS key assignments, and mapping them through fsuipc as well, seems to be no difference.

Also I was unaware that there are two helo models. I've just been using the default jetranger for testing.

Link to comment
Share on other sites

Hi Pete. Ok, I tried monitoring the two offsets you specified, using the default Bell 206 and the default cessna 172 as well. In the cessna the trim controls increment properly adding plus or minus 32 each tick I think. In the bell it just reads zero regardless of what I do with the trim keys.

That's annoying. What about the trim axis?

If it is truly dead, I would need more code to maintain my own copy. If the axis works, I could make the INC/DECs work too, just a little indirectly (i.e. via the axis control).

Also I was unaware that there are two helo models. I've just been using the default jetranger for testing.

Try the Robinson, please. I think that's a prop internally.

I won't get time to look at anything here till later next week.

Pete

Link to comment
Share on other sites

Ok, I tried everything in the default robinson as well. I mapped my joystick's y-axis to the elevator trim axis, through normal assignments first and through fsuipc after that, and again those two trim offsets just read zero constantly. Went back to the bell, same thing.

Sorry about this. I was hoping there was some easy solution that I'd been too blind to notice. Instead it looks like I gave you another headache. :(

Many thanks for looking into this though. Not sure what MS was thinking here. Perhaps there's some nasty destructive property to their helo model and they thought that if they removed cyclic trim, that everyones' wrists would tire before they could notice it. Hehehe. Guess they expected everyone to just putter around cities in them and not try cross country flight, which is damned near impossible in its current state.

Good luck! :)

Mike

Link to comment
Share on other sites

Many thanks for looking into this though.

...

Good luck! :)

Please try the attached FSUIPC version 3.548.

I've added a facility to maintain and apply an "elevator trim" to the "elevator axis" for those models which otherwise have no such trim.

The details are:

1. The new trim is operated by all the usual FS controls for elevator trim -- Elev Trim Up, Elev Trim Dn and the axis version. So you just program your trim in the same way as for a normal aircraft.

2. It only operates if you add "ApplyHeloTrim=Yes" into the appropriate JoystickCalibration section of the FSUIPC.INI file. I'm afraid I cannot detect helos in a foolproof way -- the Bell looks like one, but the Robinson doesn't, internally.

3. As a safeguard it also doesn't apply the trim if the normal FS elevator trim value is non-zero. That way you don't get two trims adding to one control even if you make a mistake.

4. The trim is only applied to an elevator axis value calibrated via FSUIPC, in the Joystick Calibration section. This is the only reliable way I can influence it.

5. For a trim indicator or programmatic control I'm reading and maintaining the helo trim value at FSUIPC offset 0BBE (16-bit integer). I cannot provide it via the standard FS indicator position as that is held at zero by FS for helos (as you found).

Please let me know how you get on. I'm afraid I'm no helo flyer so I've not actually tested in action here, only theoretically.

Regards,

Pete

FSUIPC3548.zip

Link to comment
Share on other sites

Pete! You're brilliant. Its absolutely perfect. :) Just tested it on the bell, and it trims just like a normal aircraft. Whatever value you chose to add to the elevator per tick is excellent, very fine control indeed. I'll test it out this afternoon with the rest of the helos in my hangar, all of which I'm pretty sure use the bell style flight model, and report back.

Can this same process be applied to the aileron and rudder axis as well? The aileron axis is great as is really, but the rudder/tailrotor axis at least always requires constant deflection to maintain a straight line in a helo at full speed (though not nearly as bad as the elevator deflection needed was). Its trim axis is always zeroed out like the elevator's as well I guess.

Either way I'm stoked! Many many thanks! You've just made helo cross country flight in FS viable. :)

Mike

Link to comment
Share on other sites

Pete! You're brilliant. Its absolutely perfect. :) Just tested it on the bell, and it trims just like a normal aircraft. Whatever value you chose to add to the elevator per tick is excellent, very fine control indeed.

"Tick"? Do you mean the INc/DEC controls? I use the same as one press on the Numpad 7 or 1 keys -- I'm just emulating the normal elevator trim, that's all.

Can this same process be applied to the aileron and rudder axis as well? The aileron axis is great as is really, but the rudder/tailrotor axis at least always requires constant deflection to maintain a straight line in a helo at full speed (though not nearly as bad as the elevator deflection needed was). Its trim axis is always zeroed out like the elevator's as well I guess.

Does a real helicopter have a rudder trim? It isn't as easy as there's not the same regular controls for that in FS in any case. In fact it was a very late addition to FS altogether, even for fixed wing aircraft, and most light aircraft don't have rudder trim. I'd rather not do it if it is manageable -- after all, you have to keep some pressure, albeit quite small, on lots of light aircraft, especially with high prop revs. That's what your feet are for! ;-)

Regards

Pete

Link to comment
Share on other sites

Hehe, yes by 'tick' I meant the inc/dec controls. Sorry for the daft terminology. ;)

Ok, I've tried your new version here with 7 helos so far, freeware and payware, and it works perfectly with all of them. A nice side benefit of having this new trim is being able to set up a really stable hover. Generally FS helos tend to pitch up all on their own when hovering which, when you're using a track-ir and staring between your feet at the ground, can get pretty annoying. That behaviour is probably realistic, but your new trim takes care of it perfectly.

I'm not sure if a real chopper has rudder trim, but I'm guessing most wouldn't, and its really no concern at all, I was just curious. The rudder force needed is absolutely nothing compared to the tricep building that maintaining level flight in helos has entailed so far. Hahaha. If I'm flying in a straight line just cruising, I'll just use a few taps of direct keyboard rudder control and then forget about it. Don't really need to touch the rudder/tailrotor again until I'm ready to slow down.

Great job Pete! Thanks so much for helping me out here. I think a lot of rotorheads will love this new feature when you release it.

Take care! :)

Mike

Link to comment
Share on other sites

Hi all,

Does a real helicopter have a rudder trim?

well, I'm not a heli flyer as well and I may be wrong but from what I read on the forums I think a helicopter doesn't have any trim at all.

Flying a helicopter is not like what is seen in TV films where the pilot would talk to the passenger and not look at the gauges or out the window. Flying a helicopter is a very demanding and stressful thing to do. You have to constantly make small and careful inputs on all controls. You'll have to kind of foresee what the heli would do next and "prereact" to it to keep it stable and flying. A helicopter in itself is an unstable flying device.

Imagine you are holding a big (1/2 metre in diametre) sphere made of polished metal with grips on each side. Now put a billard ball on top of it and try to balance it so the billard ball stay on top and in the centre.

Real heli flying is much like this.

Regards,

Frank

Link to comment
Share on other sites

Hi Frank.

Actually a helicopter is a surprisingly stable flying device, albeit somewhat less so in a hover than in forward flight. It does require more attention and in some cases a finer touch than a normal fixed wing aircraft, but it is by no means exponentially more stressful or difficult to fly.

The centre of lift in a helicopter is a significant distance above the centre of gravity of the machine, and the helicopter body is essentially suspended below the rotor disc, much as a ball hangs from a string. Gravity takes care of the rest. As long as the helicopter body is loaded within CG limits it is very stable indeed.

In forward flight the body of the helicopter, notably its tail section, provides yaw stability much as the vertical fin in a fixed wing aicraft does. If the chopper begins to yaw in one direction, a high pressure region will form on the side of the tail opposite to the turn and resist the yawing force. The tailrotor takes care of yaw control and resists the torque effect of the main rotor in a hover, but its effect is largely reduced in high speed flight.

As a helicopter picks up speed in forward flight the rotor blades begin to behave as one. In effect the entire rotor disc becomes just a giant wing as far as the air is concerned, and the chopper behaves much as a conventional aircraft does. This is called translational lift, and like any normal wing, the faster you go, the more lift is generated and the more the wing/rotor disc tends to pitch up as a result. There is a limit to the forward speed of a helicopter though, because beyond a certain speed the rotor blades that have passed the front of the helicopter and are rotating back towards the tail can find themselves literally flying backwards through the incoming air, producing a partial or total stall on one side of the rotor disc. This is called retreating blade stall, and results in a helicopter going into its own version of a classic spin as experienced by fixed wing aircraft, though it is much more dangerous obviously.

As well, even in a hover, when all lift is generated directly by the rotor blades themselves, with no translational lift, the gyroscopic effect of the spinning rotor mass makes it as stable as a quickly spinning top on a table. The higher the rpm of the blades (or the heavier the blades), the more stable the rotor disc is. In fact the very job of the cyclic control is to upset this balance on one or more quadrants of the rotor disc. As each blade passes through a specific region of its rotation arc, the cyclic's actuators on the rotor hub change the angle of attack of the blade as it passes that point, forcing it to momentarily generate more or less lift as needed. This is what allows a helicopter to bank in any direction.

Many helicopters do have cyclic trim controls, especially those designed for long endurance times or long distance flight, ie: military applications above all. As early as the vietnam war era, helos were equipped with at least simple mechanical spring or magnetic linkages attached to the cyclic for this, and in newer aircraft the systems are mostly electronic. Many others have trim control on all three axes I've discovered: longitudinal and lateral cyclic trim, and tail rotor trim. Most systems appear to simply read and then hold the current positions of the cyclic, collective, and tailrotor controls, and then allow some movement by the pilot from these new positions.

Some info here, with explanations and diagrams:

http://incolor.inebraska.com/iceman/pilot36.htm

Cheers.

Mike

Link to comment
Share on other sites

Hi Mike,

interesting reading, thanks.

As I said, helicopters are not my cup of tea entirely and what I typed above was just from my memories of a discussion about this topic that we had in the german FS newsgroup long ago. There a helicopter pilot who had flown military helis for a very long time (25 years or so) wrote such things.

I especially remember his complaints about how absolutely wrong heli flying was pictured on TV and in movies and that example with the billard ball.

I stand corrected if that's all plain wrong, no problem :wink:

Regards,

Frank

Link to comment
Share on other sites

Hehe...oh there are definitely a few choppers out there that could be considered "wobbly goblins" I'm sure, but most are pretty solid. Actually I think the most amazing ones of all are the radio controlled model variety, the manoeuvres they can pull off are utterly insane. :)

Take care.

Mike

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.