Motion Platform Links

Vehicles and Stuff

 

Component Info

Electric Motors

Speed Controllers

Batteries

Adhesives

Ball & Sockets Joints

Bearings

Gears

Chains & Sprockets

Shaft Collars

Shaft Steel

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Component Search

Component Information

Plans Order

Power Calculator

Contact

Conditions

DIY Control Loader Flight Yoke - p2

PAGE 1    PAGE 2

 

CONTROL SYSTEM AND SOFTWARE

 

The search for improved control force smoothness has also lead me to a number of substantial improvements in the motor control system and drive software. A major issue here has been substantially improving the response time of the control system and this has required both hardware and software changes. The current control system is shown schematically to the right.

 

The active yoke forces are calculated by the BFF Control Loader software which (currently) runs on the same PC as the flight sim. Rather than try to handle all the control functions in a single CPU process the main software element uses two additional independent background processes to separately extract flight data from the sim and to read and process the 12 bit yoke position feedback signals. This allows the different control functions to run at different speeds as required - eg for fast processing of feedback positions to get smooth velocities and for slower controlled speed extraction of flight data from the sim to protect sim frame rates. The use of multiple processes also serves to isolate the core yoke load control loop from refresh time variations and possible stuttering caused by differing flight sim loading.

 

 

The yoke position feedback is via Leo Bodnars BU0836 12bit USB joystick module. The software taps into the high resolution joystick feedback independently of FS9/FSX so the same pots are used as the usual control inputs to the flight sim - no need to double up on joystick pots.

 

The calculated flight yoke loads are exported at 115200 baud via virtual serial port (physically USB) to a 40 MHz PICAXE 28X2 based Signal Processor. The Signal Processor sends the torque demands on to Devantech MD03 motor controllers on an I2C bus to drive the torque output and also monitors the software output so as to shut the drive to the yoke when the Control Loader software stops sending data. The torque demand is refreshed at about 80Hz by the software. The hardware configuration will allow additional motor drivers to be added to the I2C bus - eg for a foot pedal unit and eventually for a complete 2nd (co-pilot's) yoke and pedals station, without extensive changes to the system.

 

DIY Force Feeback Flight Yoke Drive Software

 DIY Force Feeback Set Up Software

The control loading model used in the system determines instantaneous yoke loads from the sum of aerodynamic & trim components, weight/mass components, buffeting and vibration components and additional friction and damping effects. Force components that are control surface position or speed dependent are determined using the direct feedback of position and speed from the yoke rather then from control surface position and speed reported by the flight sim. The flight sim internal control surface positions are subject to considerable filtering and delay by the sim software and in my view are not suitable for high fidelity real-time control of the yoke loading. Their use introduces too much time lag into the system which seriously compromises the loading output.

 

A further important need for high speed smooth position feedback relates to the induced torque compensation functions of the system. The instantaneous motor output torque is determined both by the software driven voltage output of the MD03 motor controllers and by any motor back-emf generated by the pilot driven speed of the yoke. The back-emf induced torque acts like a speed dependent "damping" force which resists the yoke motion and makes the yoke feel heavier. To control this basic "feel" of the yoke the software and control system induces a torque compensation component applied proportional to yoke speed to cancel out the back-emf induced torque. This requires smooth feedback of yoke speed without significant time lag and this is provided by the independent fast background processing of the 12 bit position feedback. The 12 bit position feedback handling runs at about 125 Hz which allows real-time filtering of the position signals and so smoother control surface velocity readings.

 

A quick note on trim - the control surface trim model used by the system is independent of the flight sim's internal trim handling. This allows more realistic trim behaviours to be implemented which allow the yoke axes to be brought into load balance in any position by adjusting the trim pots.

 

 

HOW DOES THE YOKE FEEL?

 

Notwithstanding my comments on the effect of motor torque ripple on the yoke feel I think the overall feel of the yoke is promising. Effects such as increased aerodynamic control surface loading due to increasing air speed come through cleanly and as with any of the force components are adjustable in intensity through the software set up. These have a clean effect of returning the aileron or elevator axis to a central position of balance if released by the pilot - the yoke does not need centring springs. Mass and acceleration components are also there - the static weight of the elevators can be clearly felt on the ground and the weight variation due to aircraft G-Force variations can be included. In general force variations due to aircraft accelerations can be felt clearly - eg sudden roll accelerations come through in the aileron forces, touchdown accelerations come through (vertical accels to the elevators, roll accels to the ailerons etc).

 

In addition to these forces which are derived directly from the aircraft speed and motion additional "manufactured" effects can be added. Stall buffeting can be configured, buffeting due to lowering landing gear into the airstream and engine power related vibration can be added. The software driven system has provision for these, however I think there is a bit of work needed to tune the effects to get the buffeting and vibration feel right.

 

The software based approach gives huge scope for adding and tuning force effects. The current control system also is much more stable than my previous efforts and undamped oscillations due to excessive lags in the feedback loop that made some earlier experiments "interesting" have been removed. The clean velocity feedback also has allowed me to build in over-speed detection which now cuts the drive to the yoke if unusually fast movement speeds are detected.

 

On the downside the torque ripple due to the motor commutation is an issue and it is mainly felt on the elevator axis. It appears as a light but regular series of detents when the elevator control is moved slowly and this is most noticeable as a feeling of stickiness when making small in-flight pitch adjustments. I think I might be being over-critical here, certainly if I compare the yoke feel to that of a Saitek yoke I have which has a strong mid detent and definite stickiness in the motion, but given the cost of the motors and other elements of the yoke I think the feel needs to be good.

 

I would estimate the total cost of the yoke parts to be around the £600 mark - with the motors accounting for about half of this. More expensive than a passive flight yoke but considerably less than a commercial system which could easily cost 10 or more times this.

 

THE WAY FORWARD

 

I think it is worth experimenting with disc-armature motors to see if the final motor torque ripple/detents can be removed from the yoke feel. The software and control hardware elements are in place to yield an effective DIY control loader flight yoke.

 

The drive software currently includes a third rudder output channel although I haven't yet worked on a design for the force feedback pedals mechanism yet - there are many great examples around of effective designs to give ideas. So this is something for the future.

 

An interesting further option which should not be difficult to implement is to include control options for a complete 2nd (co-pilot's) yoke and pedals station. To accomplish this only requires additional software coding and additional MD03 motor drivers for the second set of motors. A possible control scheme is to allow single button-presses on the yokes to be used to indicate to the software which station is "active" and which is in "following" mode. The software would then be configured to drive the "active" station in the normal force feedback mode but to place the passive station into a position following mode. In this position-following mode the system would drive the yoke and pedals in a closed loop position controlled servo mode following the positions of the active controls - this can be done in this system with software changes alone, no structural changes to the hardware design would be required. This would allow the use of mechanically independent pilot's and co-pilot's stations which would ease overall cockpit design and build workload.

 

Off course the basic drive and control systems would also be applicable to force feedback flight stick or tiller type controls.

 

I'l add more info when I have it.....

 

Back to Page 1

 

 

 

© This site is copyrighted, If you'd like more information or have any comments please contact me at

 

Copyright © 2006-2009 BFF Design Ltd All Rights Reserved.