I spent most of the second half of 2021 slowly working on the aircraft wiring. It seemed like a never ending job but eventually it all came together and by December I was able to re-install the panel + avionics and make it all work. Here’s what I completed, among other things:
- All tail wiring, including both batteries, avionics shelf fuse blocks, ADSB receiver, antennas
- Pitch and trim servos
- A/C evaporator wiring, sensors and controller board
- All overhead wiring and overhead panels, lighting etc.
- Flap motor, sensor, joysticks,
- Door annunciation switches
- 3 screen AFS system, IFD GPS, and all associated avionics/audio/radio wiring
- Panel switches, and wiring for both B&C regulators
- SDSEFI dual ECU system, MAP sensors and FWF wiring
- Custom dual battery/dual alternator power board for redundant EFI power
- Custom TFT display (front panel) and controller CPU (under pilot’s seat)
- Pitch and aileron trim wiring
- Wing, heated pitot, and emergency fuel transfer wiring
- Engine monitor wiring
- USB power for various panels
- Headset connections x4 and USB power at the rear of the centre console
I used a dual 600W bench power supply to bring the system to life, it can provide up to 35 Amps of current to each of the right and left battery buses, but more importantly I was able to set lower current limits during the initial bring-up stages, and only increase those limits as more systems are brought online. More importantly, there continued to be no smoke. Using this bench supply also allowed me to run the entire system indefinitely, without worrying about having to charge the batteries (which are in place but disconnected).
I rebuilt my “engine simulator” with a bit more design thought this time, and included a second coilpack and set of drivers so that I have both the “left” and “right” ignition systems. I replaced the cheap ch*nese injectors, some of which previously melted, with another set of cheap ch*nese injectors, but with a new injector driver board design which is running much more reliably. I also put a slider pot on the throttle cable so that I can adjust rpm using the real throttle, which allows me to examine operation of the power system across the usual engine operating range without climbing out of the aircraft to make the adjustment. It’s also kind of cool to push the throttle forward and have something actually respond! My old test fuel pump seized up (since I used it in water), but that’s OK, I simply used a blower motor to emulate the actual fuel pump. This had the advantage of being able to blow air across the various load resistors which I use in place of the injectors most of the time, since the injectors are so noisy.
When it comes to electronics, there’s always a lot of effort required to get from a “working prototype” to a stable, production worthy design, and this is true in the case of the EFI redundant power board I previously described. Four months ago my wife’s latest 50kg puppy smashed me in the knee, and after hobbling around for a few months I got a scan and went in for knee surgery in late December. During the latter part of this time, and since, I haven’t been in a position to climb into and around the fuselage, so I took the opportunity to do a lot of sit down work to fill out the missing/broken pieces of firmware/software and refine the hardware to the point where it is approaching what I would call a production worthy design. The latest prototype is installed in the aircraft, and since completing the wiring I have been able to operate it in-place along with all the rest of the avionics, simply by replacing the connections to the injectors, ECU’s, coilpacks etc. with flying connections to the engine simulator sitting on an adjacent bench. I also made the “screensaver” functionality work, which allows me to write the rest of this post with actual images saved from the little custom display, rather than horrible camera photos.
The startup, door checks, checklist items etc. are more or less as I previously described them, so I’m going to show what the engine monitoring displays look like during normal as well as abnormal operations, where all “abnormal” operations are brought about by physically messing with the engine emulator, i.e. every abnormal condition is physically *real*. First, here’s the monitoring display for coilpacks and fuelpumps during what represents “normal” operation, with both ignition systems running and one fuelpump operating:
The Coilpack display show the current rise as each coil is driven. The linear current rise is controlled by the coilpack drivers, with a nominal 3.5 msec dwell time used in the emulator. The actual dwell time measured is 3.3 msec, and there is also an indication of the peak coil current – 5.2 Amps and 5.5 Amps respectively. Although the power board locates and measures every current pulse, the display is set up to update at a rate of 10 times per second.
The fuelpump display shows the run time of the pump (5.5 minutes), and the average pump current (5.5 Amps in this case, a bit higher than the actual fuel pumps). The graphical sample has a ripple because of the pump commutator action. This was a good quality blower pump and the commutator ripple is fairly consistent. To illustrate what a bad pump looks like, I connected a cheap auto-store 12V plug-in fan to the right pump position. The current draw is much lower than a fuel pump, the system self scales so ignore this, but look at how bad the commutator switching is:
If you saw this sort of ugly switching on an actual fuel pump, you would want to replace it. A more usual problem would be a commutator segment that started dropping out, this would be an early indication of trouble even though the fuel pump may still be achieving proper fuel pressure. Displaying this sort of information is just another tool to monitor equipment performance and provide early indication that there may be trouble on the way, just as we rely on engine monitors these days to display comprehensive EGT/CHT etc. information.
Switching to the fuel injector display, here’s what I was presented with when I brought up the new emulator system with my six new cheap Ch*nese injectors (idling at 500 rpm):
I have several scaling options to fit pulses into the display, in this and all cases described in this post the injector scaling is set up so that one, fixed scaling is used across all six injectors. This allows relative comparisons to be made between injectors without having the underlying software skew the results. All six injectors are opening, the little squiggle on the rising edge occurs when the pintle opens, but injectors 3 and 6 open later and reach a lower peak current for this short (3+ msec) firing interval. At low RPM (short injector opening duration), one could expect that cylinders 3 and 6 would run quite a bit leaner than the other cylinders. This might be otherwise observed as rough idling, but probably doesn’t matter in the overall scheme of things. At higher RPM, these injectors are open for slightly less duration than the others, but this might be compensated for with the usual individual cylinder AFR adjustment available in the SDS system. I’m hoping that, when I start up my real engine, the injectors supplied by SDS will show more uniformity than these injectors (bought on EBay).
I introduced various types of injector failures, to get the display system responding properly. Here’s a case where cylinder #3 injector has shorted turns in the solenoid, it is still managing to open but then goes into over-current fault during the latter part of the opening cycle (500 rpm):
The over-current fault level is set to 3.3 Amps, there is no way to determine how much in excess of this the actual fault current is, so I simply represent it with a red bar. Since the fault is in the injector itself, the fault only occurs during injector pulses. If you touch the display on the faulty item, it will bring up the detailed injector display as follows:
There isn’t really much more information here. The system defaults to “automatic” fault detection and retry. I have included the ability to latch faults and reset them, but I doubt this is the sort of activity you want to undertake in flight. Note, however, that since the fault is only occurring as the injector fires, the fault is clearly in the injector itself, and not in the wiring. Is the injector staying open? Since it did in fact open, the injector will likely stay open despite the fault condition during automatic retries, where the current is pulsed back on every few msec; however, there is no way to really know. There is a brute force means to live with this sort of fault in the air – disable the left supply, causing the injectors to switch over to the right supply only, with each injector having a 5 Amp slow blow fuse in place. Maybe the fuse would blow, maybe not. You would be a cavalier pilot to try this sort of thing mid flight, since it would also mean that the left ignition system would be down.
A wiring fault is detected by sensing continuous fault conditions for any duration in excess of 100 msec. Here’s the display presented in the case of a wiring fault (still 500 rpm):
The display updates in more-or-less real time to such events. To bring about this fault, I simply shorted (to ground) the 12V supply to cylinder #3 in the engine emulator, and by the time I looked up at the panel the above display was present. If you saw this in flight the engine would be running rough and you would want to throttle back and land ASAP.
Another type of fault is an open-circuit in the injector, or wiring to/from the injector. In this case, there simply won’t be any current at all. Here’s an open circuit fault in cylinder #6:
Yet another type of injector fault is one where either a poor electrical connection outside or within the injector, and/or a deteriorating injector coil, is causing the resistance of the overall injector circuit to increase, effectively decreasing the ability of the injector to open. The fault may be intermittent. The injector is mechanically OK, it just opens late and draws less current:
This engine would be idling a bit rough, but at higher RPM’s the problem would manifest itself as cylinder 6 running a bit lean. Notice how the injector opens late, but it still does open, and is open for perhaps 14 of the nominally 16 msec opening time:
Notice how the display self scales to fit the wider injector pulses into place. The purpose of the display is to present a comparative, qualitative, impression of how the injectors are behaving, not to present any sort of precise absolute measurement. I have toyed with some other options to keep showing the rising edge even when the opening time (pulse width) increases, but haven’t really settled on whether this is a useful mode or not. In any case, if you saw the above display during flight, you would ground the aircraft and replace the injector. Hopefully you would note this during run-ups and never get airborne in the first place. Here’s a more extreme case, of an injector/wiring situation where the injector is failing to open at all (500 rpm):
If you saw this after start, you wouldn’t bother going any further.
One type of failure I couldn’t emulate is a partially sticking pintle. I don’t have such a bad injector on hand, but I plan to try and acquire one by calling around some repair shops in the area. Based on what I’ve seen though, I think the display will show such a condition quite easily by noting the small current reversal coming and going, or moving around as the pintle sticks. This might be a use for the type of display that focuses only on the rising edge regardless of opening duration.
A few other displays. Here’s what happens if there is no communications with the EFI Power Board:
A few statistics displays, not very interesting inflight but useful for ground diagnostics:
This latter display is actual junction temperatures on the power board for each of the ten channels, on a day when ambient temperature was around 25 degrees C. Shorting any channel’s output to ground only raised that channel’s junction temperature by 7 degrees or less (with auto fault sensing/retry in place). I’ve operated the system with the power board enclosed and heated to around 60 degrees ambient, with no junction temp exceeding 75C. Since the TPS* devices used on the power board are rated up to 125 deg C junction temperature, there’s clearly plenty of margin here, and if the ambient temperature behind the panel is much beyond 60 degrees, I don’t think I’d be sitting in the aircraft anyway. I do have (defrost) fans on the top of the panel which weren’t operating during these tests, although no forced air cooling is required for the EFI power board. I also note there are no power diodes in any main current path soaking up energy or heating up the surrounds. The board runs cool.
Where to from here?
Now I can walk again, I can get back to the job of finishing the aircraft and entering phase 1 flight test. In terms of the EFI power board, when I started the project, the end game was simple – once the hardware/software design was complete and tested, I was going to do a small production run in a commercial facility that specialize in such things, so I can get a set of boards that have the required level of manufacturing quality built in. The supply chain crisis railroaded this idea for 2021, and I’ve already had to make a few substitutes for components on the BOM that have been end-of-life’d. The biggest problem is the main power switch semiconductors and the STM32 microcontroller used on the board. Everywhere is out of stock, and likely to be for the remainder of 2022. I have enough parts here to hand build a few more boards, but not enough to provide for (say) a 10 unit proto/production run. It takes me around 20 hours under the microscope to hand assemble a board, and I’m coming around to the notion that I may have to fly off phase 1, or at least part of it, with a hand assembled board that I’ve thoroughly tested, including temperature testing in an oven. The inherent redundancy built into the board and system design helps get my head over this hurdle.
There is only one other software item for this system remaining on my to-do list before first flight, and that is to implement logging. The system has ample bandwidth and storage to log all data, sampled at up to (say) 5 times per second, for the duration of a flight. Any anomalies noticed during flight can be re-examined by playing back the log data, perhaps in tandem with log data from the Dynon engine monitor. The log data can simply be copied onto a USB stick, plugged into one of the ports accessible with the pilot side seat slid back.
Here’s a short video, with the panel alive and the engine emulator going, pushing the throttle from idle up to 2700 rpm:
A note on A/C ducting
A long time ago I designed and 3D printed some bits to perform the A/C ducting on the evaporator. Along with the wiring behind the baggage bulkhead, and overhead (where the ventilation controls are), I sat all these ducting pieces in place since, with the overhead completed, I could see how much air I can blow through pressurization of the overhead. The evaporator outlet duct has extra 2″ outlets, for scat tubes down to the baggage bulkhead, if I needed more air outlet volume. The A/C evaporator has three scroll fan settings, call them low, medium and high. In addition, I added a 4 inch bilge blower to the outletpath, driven by a variable speed drive. The latter item turns out to be the most efficient way of moving air. With the evaporator ducting just sitting in place and leaking like a sieve, and the extra 2″ outlets taped off, I measured the various blower combinations available with all four overhead vents wide open. I measured vent outlet velocities from 0 through to 16 metres-per-second, fairly consistent across all outlets, depending on the various blower settings. Across the four vents, this corresponds to moving air at a maximum rate of 1,277 CFM. This is enough to completely move the air volume of the cabin several times per minute, so I don’t see the need for the extra ducts on the baggage bulkhead. I’ll either re-print the evaporator outlet part, or more likely print and glue on some caps to block the extra 2″ outlets.
I have to lower the evaporator shelf down to rivet the final skin on. It’s a bit of a jigsaw puzzle, but I can raise the shelf back into place and secure all the wiring/ducting with the skin on. Has to be that way, for future servicing. Final securing of the ducting in place will also prevent the leaks that occurred with it all just sitting there, which can only increase the measured vent air flow.
I’ve got enough sensors in place to have a future “AUTO” mode for the A/C and external air ducting, controlled by a small micro-controller that sits on the evaporator shelf, accessible with the baggage bulkhead removed.
Finally, here are some additional photos of items discussed in this post.