This is is just the beginning thoughts that I have had about building a solid state trim controller for my RV-7. The RV-7 can come with an electric elevator and/or aileron trim system as an option. Both of these options use the MAC trim servo. There are a couple of issues that builders are often faced with that are solved a variety of ways.
The first issue is one of sensitivity. The RV-7 has quite a large airspeed envelop for a single engine airplane. It stalls at around 58 mph and can cruise at just over 200 mph. An electric trim system with one speed causes the trim system to be either overly sensitive at the cruise speed or too slow when flying slower in the pattern.
The next problem is one of having two sets of controls for the pilot and co-pilot/passenger. What happens to the circuit if the pilot presses the 'Trim Up' switch and the co-pilot presses 'Trim Down.'
Neither of these issues presents a very difficult circuit to fix. A DPDT speed select switch can be used to help the sensitivty and a couple of small relays can be used for the input switch voting. The speed switch solution is fine except that the pilot has to remember to flip the switch. Not that it would be that difficult to remember but wouldn't a pressure switch tied to yet another relay be a better solution. Problem is that it adds another relay. I am always trying to find a solid state / automated solution to problems like this and I have a few thoughts and some circuit ideas that I would like to present here.
There are many ways do build this system with all discrete components but I have found the chip count to be rather high and so I believe that I will be using a PICMicro Microcontroller for my circuit. This should keep the chip count down to a multiplexer for inputs, the PIC, a 1A quad driver for the two trim axis' and a 3A H bridge for the flaps (I figure I might as well do the flap control while I am at it.) First I will talk about a way to do it with discrete components. Let's look at a truth table for the voting logic...
|
PU = Pilot Up PD = Pilot Down CU = Co-Pilot Up CD = Co-Pilot Down OU = Output Up OD = Output Down |
If I managed to get the bits into the table right it should represent logic that would allow the pilot's controls to win any arguments and if in doubt turn the trim off. Notice that when one of the set's of controls is commanding to go up and down the logic will ignore that set and obey the other set. This allows a little bit of control over a runaway trim due to a shorted switch, connector or wire.
It would be fairly simple to implement a sub-set of the above truth table with two gates per axis. You could use a couple of OR gates and the TI SN754410 Quad driver to drive the trim motors. You would only need one SN754410 chip and one Quad OR chip and you would have a functioning two axis trim controller. The biggest drawback to this system is that the pilot's controls could not be used to override the co-pilots. If the pilot was commanding the trim up and the co-pilot down the trim motor would not turn because both legs of the H-bridge would be high.
To fully implement the truth table the easiest way would be with a 16 input multiplexer. With a multiplexer you simply wire the inputs to either Vcc or ground depending on what you want the output to be for that combination of inputs. The four select inputs of the MUX would be the pilot and copilot up and down switches. The drawback to this circuit is that you have to have two 16 input MUX's for each axis so we are up to five chips now.
Now if we throw in a PWM circuit for speed control we need an LM556 dual timer chip or a PWM generator of some kind and at least an AND gate IC. We are up to seven chips now. Add the flaps and you need two more MUX's and a 3A H-bridge chip. This board is getting ugly in a hurry.
I want to discuss one more feature, shorted switch detection. If a switch shorts out it would be nice if the circuit could figure this out and ignore that switch. This would allow the pilot to bring a runaway trim back under control. Let's say the pilot's down trim switch sticks. The trim runs away into a nose down position. If the pilot recognizes this he can press the UP trim switch and stop the trim. Not only that but if the full truth table were imlemented the co-pilot could bring the trim back into a normal range as long as the pilot held the up trim switch closed. This works because the logic ignores a set of inputs if both are on. Now if the UP switch stays shorted for say 2-5 minutes (255 seconds will most likely be the easiest to implement) the circuit could start to ignore that switch input and the pilot could let off the up switch and resume normal flight except that now to move the trim down he would have to use the co-pilots control, becuase his down switch has been disabled. To add this feature we have gone off the reservation as far as Radio Shack parts go and have jumped into the realm of the microcontroller.
Once you add the microcontroller you have dropped the chip count down to two or three depending one whether you implement the flap motor. The PWM circuit can be eliminated because you can now implement the PWM in software. The truth table implementation is a non-event in the uC and the shorted switch detection logic is not all that difficult. I would like to be able to use the PIC16F84 uC since I have a few of those lying around but it does not have enough inputs to handle both the trim and the flaps. I could put one of those 16 input MUX's in the circuit to multiplex 16 inputs into five ports or I could use a bigger uC or use multiple uC's. I haven't decided yet which way to go but I will probably lean toward the MUX idea since I may also build the landing / taxi light flashing circuit into this project.
Stay tuned to this channel to see what I decide.