Developed TESLA 3000 Analog Input Board (AIB)

The TESLA 3000 was designed to put the analog-to-digital conversion as close as possible to the rear panel, so the AIB had 6 x TI ADS8364 6 channel 16 bit SAR ADCs on it, with the associated front end and conditioning circuitry. A Xilinx Spartan 3 FPGA directed the acquisition timing, collected the ADC data, and communicated with the TESLA 3000 MPB using a bidirectional high speed LVDS synchronous serial link.

I did the architecture and design of the TESLA 3000 AIB, and oversaw the PCB layout by an external contractor.  I specified the operation of the FPGA, how it interfaced to the MPB, and how it was programmed for operation.

The FPGA firmware was developed in Verilog on Xilinx ISE by a contractor at Fidus in Ottawa.  When that FPGA developer was unable to complete the job, I took over and finished the project.

Developed the DR2/TESLA Main Processor Board (MPB) and Other DR2 & TESLA Boards

I used to say, “those aren’t electrons flowing on the MPB, those are my blood cells!”   In a philosophical sense, it was true – the development of the MPB drained me like no other project effort, before or since.

With multiple processors on board – 2 x PIC 16C MCUs (one for front panel keyboard, one for watchdog processor), a TI TMS320C32 DSP, an Altera Flex 10K FPGA, an Altera MAX 7000 CPLD, 3 x National Semiconductor LM12458 microsequenced ADCs, and a Motorola MC68HC11 MCU for IRIG processing, 3 x NS16550 FIFO UARTs, and a 16 bit PC-104 bus connection, it was quite busy.  An X86-based PC-104 card was mounted on top of the MPB – lower powered on the DR2, but much more powerful model on the TESLA.

The concept was that sifting, sorting, compression, and decision making was done on the DSP, where memory was expensive but calculations were easy.  The resultant data was streamed through a high-speed DSP-to-X86 FIFO, where the X86 DMA’d it into main memory and stored it to disk.  The X86 was used because its memory was plentiful and inexpensive, and disk I/O was fast and easy.

The other boards in the system weren’t as complex, but were just as important.  The DR2 AIB, mounted on the bottom of the chassis, had up to 18 miniature PCB-mount instrumentation transformers on it – CTs or PTs, depending on the application – and analog processing to transfer to the ADCs on the MPB.  The TESLA AIB was mounted on the rear of the chassis, had more channels but was less sophisticated – non isolated +/- 2.5V (nominal) input.  The DR2 and TESLA each had their own interpretation of digital I/O – DR2 with high current relay outputs, and dedicated ultra reliable digital inputs, and the TESLA with fewer and lower level outputs and simpler digital inputs.

The front panel of the DR2 had a 2 line x 24 character FIP display, a small keyboard, and several indicator LEDs, including a large bright red “Target” LED, as is expected on a relay.  The TESLA front panel had the smaller LEDs only.

I established the bus structure and pin-outs for all the I/O.  The front panel and digital I/O were intentionally designed to be interchangeable, with the intention of future mixed mode configuration, or expansion.  Although some of the buses had extra connections (front panel serial port, for instance), this was kept to the ends of the connectors, so combining and splitting ribbon cables would be relatively straightforward.  This was very well documented in extensive spreadsheets, which clearly showed connections and levels.

The memory and I/O maps of the processors was also documented in spreadsheets, with well defined bit states and clearly defined defaults.

Later, I wrote an exhaustive 70+ page programming guide to the MPB, which outlined all its features, how each processor interacted, the resources used, assumptions in programming, and how to compose images for execution.

Developed an Alternator Limit Controller for a New Flyer Bus

New Flyer had a problem on their hands.  They had shipped 26 buses to a property in southern California where they had omitted the little vendor-supplied 24V alternator from the Thermo-King air conditioning system, instead opting to use the main 24V bus to operate the fans.  Unfortunately, at idle, the big, monster Delco 50DN alternator did not produce enough current to maintain the battery voltage, and batteries were going dead.  When New Flyer offered to retrofit the vendor-supplied 24V alternator from Thermo-King, as was originally intended, the customer refused and wanted the little Motorola alternator to charge the main battery.

Unfortunately, parallel alternators do not share well – one will cook itself while the other one loafs.  In this case, it’s even worse – the Motorola alternator was puny beside the 50DN, so you know there was going to be trouble.

At first, the New Flyer engineer counselled me to just draw a little current out of the base of the regulator’s drive transistor to keep the Motorola alternator from going over its rating.  I protested that this wasn’t likely to work over component variation or temperature, but he insisted.  We tried… and it didn’t work reliably.  But, now he insisted that I was in the game and had to complete the job!

They brought a 40 foot bus over and parked it in front of Vansco, for me to work on.  What fun that was, heh heh.  I didn’t realize that buses often have pneumatic start – like an impact wrench – very loud and scary if you happen to be standing by the engine!

Well, I designed a module that used a Hall Effect sensor through which you would run the output wire of the Motorola alternator.  We would open up the alternator and tap the base drive of the integrated regulator’s pass transistor.  When the output current approached the alternator’s output limit, the circuit would draw away the base drive for the pass transistor, limiting the output current.

The assembly was a bit of a nightmare.  It was a potted assembly with a hole in it for the alternator output wire to pass through.  The potting would leak into the hole if the seal wasn’t solid, rendering the assembly useless.  We had trouble with every batch.  Fortunately, there were only 2 or 3 batches ever made!

Developed the Conviron Temperature Limit Controller (TLC)

Relatively simple in concept, this was a 3 channel comparator system based on one or two remote LM35 temperature sensors placed in the growth chamber, and two remote precision linear potentiometers mounted on the front panel .  For simple chambers – those without the CMP3000 control system – it would function as a simple heat and/or cool controller.

For larger systems, it replaced the electro-mechanical failsafe alarm/shutdown system, providing an accurate, repeatable, easily settable minimum and/or maximum limit for chamber temperature.

It was a fairly simple circuit, but had to accomplish its task with only a single supply, single ended comparator chips, and one circuit board for multiple configurations.  The system was designed to be fail-safe in the event of a sensor malfunction or open pot.  There were configurations where its range was -30C to +30C, and others where it was +10C to +70C.

This product taught me straight analog circuitry, summing notes, differential nodes, analog hysterisis, fail-safe operation, and chatter reduction.  Pretty cool for a fairly simple circuit!

Worked on an IRIG-B Decoder

Manitoba Hydro wanted an IRIG-B decoder unit.  It would listen to modulated IRIG-B, decode the time, and provide details of the time on a serial port.  Filipe Fernandes and I did the system architecture.  Filipe designed the board, based on a Motorola MC68HC11 development kit, and did the programming in assembly language.

The project was a success, but he was moved off to another project just as it was finishing, so I completed the programming.  The design was a success.

This was my first exposure to IRIG-B, and I was fascinated.

Design Improvements for Conviron CMP3000 Switching Supply

The power supply for the CMP3000 controller was failing and needed some work. It had a crowbar circuit across its output, to protect the expensive & sensitive downstream control circuitry.  Unfortunately, it would kick in once in a while, sometimes causing the power supply to burn itself up.  It wouldn’t even blow the fuse – just cook itself to death.

Everyone else was busy, so Lorne gave me the job.  I dove into the TL494, its operation, and how our circuit worked.  Amazing!  I mean, I’d been working with simple linear regulators for years, but the idea of discontinuous conduction being able to transform voltages, was a revelation to me.

First, we improved the heat dissipation capability of the main switch transistor by increasing its heatsink area (as I recall, we just stacked an extra one on).  That addressed the immediate problem of circuit damage.

Then, we reduced the fuse rating, but worked hard to ensure that no nuisance fuse operations would occur.

Lastly, Lorne introduced me to the concept of foldback current limiting.  I actually got the circuit operation backward the first time, and sent it into a serious overcurrent,  ha ha.  Then I got it right.  Lorne helped me get it fine tuned, honestly, but I was quite enthused about the result.  No overheating, no fuse blowing, and now fully short circuit proof!

At the same time, I did an parametric analysis of the crowbar circuit, and came up with a better way to trip it with more accuracy & repeatability.

With these changes made, the CMP3000 supply was solid for years, until we later switched it to a MOSFET switch…. someone else did that 🙂

Developed Electric Heater Load Shedder Sequencer for Lion Industries

Vansco Electronics was in bay 3 of the Industrial Technology Centre, at Lagimodiere and Fermor.  Lion Industries, a similarly sized mechanical product manufacturer, was next door in bay 2.

With the energy shortage in the recent past, and ongoing issues with the cost of oil, the Canadian government sponsored the “off oil” program which would subsidize homeowners to switch from oil heat to electric heat.  Lion Industries manufactured an electric furnace that would retrofit into the ductwork, leaving the oil furnace intact.

The Load Shedder Sequencer would intercept the thermostat request for heat, and instead of letting the oil furnace start, would turn on the furnace’s blower only, and engage the electric furnace elements, one at a time, in sequence.

The challenge was that the home would not have had its electrical service panel updated, so we put a small current transformer (CT) on the incoming service power, measured the overall current consumption, and would shed, or turn off, elements to keep the total current under the rating for the panel.  We had little plug-in modules that would “program” the system for the capacity of the panel in the house.

The concept was that if power was being used by another device in the home, that would generate heat which would help to heat the home.  For instance, a stove or oven.

If, after a long time (15 minutes), the thermostat was still asking for heat, the electric furnace would shut down and engage the old-fashioned oil furnace.

I developed the entire design, end-to-end, of course with the oversight of the other, more experienced staff.  It was my first encounter with thyristors – in particular, TO-202 triacs.  I had considerable difficulty with them apparently engaging when they weren’t supposed to – and found out that they were overheating and becoming overly sensitive to stray gate currents.  What an experience!

Debug prototypes of Enercorp AI-1 Air Infiltrometer

The IAMC (Industrial Applications of Microelectronics Centre) had developed a product called the Air Infiltrometer 1 for Enercorp.  The AI-1 could automatically measure the leakage of a home by replacing one of the doors with a large fan, and measuring the pressure drop across it as the fan was sped up.  Enercorp had been manufacturing manual units that used TI-59 calculators, but the AI-1 made it all automatic.

The AI-1 mechanicals and PCBs were developed by Vansco.  The main board was based on the Motorola MC6802.  The PCBs came back and were built up, but everyone else was busy working on getting the Conviron CMP3000 going, so there was nobody to do the initial debug.

Although at that point, I had no idea what a microprocessor was or how it worked, I was given the MC6800 manual and Ed’s dusty old Krause Industries Micro Maniac development system, and asked to give it a go.  I put the development system together, dusted off the tape recorder, loaded up the development tape, and got the AI-1 up and running in 2 days.

Experimentation with TTL and Making a Television Transmitter

I built 8 digit frequency counter using Vector wire-wrap technology, but my front end design had poor sensitivity.

Then, for the science fair, I designed & built a simple TV transmitter, with horizontal & vertical retrace counters and end-of-frame equalization generator.   I obtained a still-functioning Plumbicon camera tube from a local TV station, and proceeded to build a camera frame around it, using deflection coils from an old television set, and a home-brew high voltage power supply using a tube-type TV’s power transformer.  I was unable to get the camera to function, but I was able to generate a raster that I could sync a black-and-white television to!

Later, I developed “TV typewriter” using TTL logic, hand-drew schematic on large sheets of paper, but once I was introduced to the PC, that fell by the wayside.