From: Peter Stolcs <PeterS@data-tech.co.za>
Date: Tue Aug 5, 2003  8:28:29  AM America/Chicago
To: "Gamma List (E-mail)" <gammalist@edj.net>
Subject: Adjustable AEC Controller
Reply-To: PeterS@data-tech.co.za

I've been working on this for a while and the current design is now in it's
4th generation.

Previous controllers (including Suzuki's OEM part), were based on an
analogue design. The method of operation for these designs are as follows:

The RPM signal (White wire with Blue Trace) from the CDI unit feeds the AEC
controller with a pulsed signal (frequency). The speed of incoming pulses is
determined by the motors RPM. The incoming signal is at a rate of 2:1 in
relation to actual crank RPM due to there being 2 reference points that
trigger the "pick-up" coil.

The AEC controller converts the pulsed signal (frequency) into a voltage
value. The converted frequency/voltage value is compared against a pre-set
value (in the OEM Suzuki part, this value is fixed at a value relating to
7800 RPM) and if the measured and pre-set values are equal, the controller
provides a signal to rotate the AEC valves. A 300 RPM bandwidth is provided
to prevent the AEC Valves / Servo motor from "hunting".

I encountered difficulty with the early designs that quickly became a
pain-in-the-ass.

	1) Component manufactures tolerance with regards to component values.

Manufacturers rate their components with a percentage tolerance for
accuracy. For example, a 100-Ohm resistor with a 5% tolerance could actually
be anything from 95 - 105 Ohm's.

	2) Temperature compensation.

To prevent instability and drift, temperature compensation is required to
keep the circuitry within parameters. Most component manufacturers provide
data-sheets that show the effects of a rise or drop of temperature on their
component. This can have a significant effect on the overall design that
often relates to additional components being required to provide
"temperature compensation".

	3) Repeatability in production.

Due to the above factors (manufacturers tolerance and temperature
compensation) each controller would have to be calibrated on the bench.
Suzuki used laser-trimmed components to achieve repeatability in their
production (and the repeatability on their AEC controller was less than
ideal). I don’t have access to laser trimmed components and this makes
calibrating each unit a royal pain.

	4) Range and Accuracy

The above analogue designs rely on a voltage comparator to achieve the
desired result. Manufacturers often claim "excellent" linearity on their
component, but this is often NOT the case. A variance in the lineararity
will have an adverse effect on the operational parameters of the design
especially with the size of the “window” of the signal that we want to
compare.

Looking at stock values:

If we take stock values and calculate the data being fed into the OEM AEC
controller we get the following:

RPM signal to Close the AEC valves	= 7800 RPM
RPM signal to Open the AEC valves	= 7500 RPM
Bandwidth 				=   300 RPM (7800 - 7500 RPM)

If we express the above in electrical terms we can calculate the frequency
that the AEC Controller looks at.

(RPM divide by 60 = pulses per second or Hz)

7800 RPM	=	7800 / 60 = 130 pulses / second - or 130 Hz
7500 RPM	=	7500 / 60 = 125 pulses / second - or 125 Hz
  300 RPM	=	  300 / 60 =     5 pulses / second - or    5 Hz (Bandwidth)

The incoming RPM signal runs at 2:1, in other words, the stock AEC
controller actually sees incoming signals that are 2 x the actual crank RPM
value.

With this in mind, we can re-evaluate the above data as follows:

(RPM x 2 / 60 = HZ)

7800 RPM x 2	=	15600 / 60 = 260 pulses / second - or 260 Hz
7500 RPM x 2	=	15000 / 60 = 250 pulses / second - or 250 Hz
  300 RPM x 2	=	    600 / 60 =  10 pulses / second - or  10 Hz

In terms of speed for electrical / electronic signals, the above data is
quite slow. The Hi RPM signal is 260 Hz and the Lo RPM signal is 250 Hz, the
Bandwidth is 10 Hz.

The difficulty in building the above controller becomes apparent when we
take the following into account:

1) Accuracy of rated components.
2) Stability of the Frequency to Voltage circuit with regards to
temperature.
3) Linearaty of the comparator over a user selected range.

Suzuki used SMD (Surface Mounted Devices) and laser trimmed components to
achieve a fixed value AEC Controller. I can't get SMD components unless I
order these components by the 1000 and I don't have access to laser trimmed
components. Using components that are commonly available meant that
calibrating the unit became a pain-in-the-ass. To add insult to injury,
maintaining a small and compact unit (no larger than the OEM AEC Controller)
became increasingly more difficult.

In order to achieve an adjustable range with a fixed bandwidth (300 RPM) I
used a "ganged" potentiometer (pot). Then I tried separate pots for Hi and
Lo RPM settings that would serve to provide adjustment of the bandwidth
because the Hi and Lo RPM ranges would be set independently.

After I'd completed the 3rd generation unit I started asking myself a few
questions:

Are the adjustment "pot's" the best way to go?
Should I use switches (DIP or BCD) to set RPM values?
What about the environment that the controller lives in?

If I use variable resistors (pot's) to provide adjustment of the Hi and Lo
RPM range, they could (will) be exposed to "harsh" environmental conditions.
(rain, high pressure hose, salt spray from roads, humidity etc. etc.)

What happens after a few months / years when the slider on the pot oxidises
and "noise" gets introduced into the electronic circuit?

Check out any "old era" radio that uses a pot for a volume control, when
it's new, all is fine, but after a while you get a noise (crackle) from the
speakers when you adjust the volume control. This is a result of dirt or
oxidisation on the slider contacts.  Some volume controls “crackle” even
when you don’t move them.

I could use digital pot's to achieve the same result but that would mean
more components, a limitation on the degree of user control and perhaps more
complications doing the calibration.

Bottom line:

The 4th generation Adj. AEC Controller is micro-processor based.

Why?

A micro-controller based unit offers everything we need (and then some) in a
tiny package. The number of required components is vastly reduced,
temperature compensation no longer plays a role but the big bonus is that
the "manufacturer component tolerance" problem is virtually zero and does
not affect the functionality of the design.

Due to the reduction in component count, I can now include several factors
that are a lot more appealing than a "normal" / "run-of-the-mill" Adjustable
AEC Controller can provide.

	1) Independent Hi and Lo RPM settings with a Span of 0 - 99999 RPM.

The user can set any value between 0 and 99999 RPM for both Hi and Lo RPM
settings, this also means that the bandwidth is user selectable. The
settings are stored in EEPROM memory, which means that the settings are
retained when power is disconnected. The user can re-program the settings 1
million times. (This means that you can re-program the AEC valve settings
100 times per day, every day, for the next 27 years)

	2) Opto-Isolation for all Input signals (replaceable)

RPM incoming signal 			- Opto-Isolated.
AEC Servo Motor / Cable Drum Position	- Opto-Isolated.

The latter offers the opportunity to replace the "Micro-Coil's" (hall-effect
transistors) with devices that are commonly available.

	3) LED indication of AEC Servo motor / Cable Drum position

	4) High Rated Power Transistors

The AEC Servo Motor output power transistors have a 85% higher current
rating as compared to stock devices.

	5) Detachable User interface.

The user interface will consist of a 2-line 16-character LCD display
equipped with push buttons to provide the entry of user settings. All
settings are menu driven, the display can be used as a Tachometer to provide
0 - 99999 RPM indication of motor RPM.

The tachometer can be used in routine maintenance / tuning where you need a
tach that can display from 0 RPM upwards.

Once the desired settings have been stored in EEPROM memory, the user
interface is removed and the settings are locked in memory. There are no
pot's or switches that can be changed / adjusted that could result in an
accidental change of settings. There is virtually no possibility (short of a
massive EMP or nuclear fall out) that the settings can be changed unless
they are done via the user interface.

	6) 1:1 Opto-Isolated RPM signal output.

The Adj. AEC Controller will include an Opto-Isolated 1:1 RPM output signal
that can be used to drive a 1:1 tachometer.

	*7) CAN Bus Interface.

I hope to be able to include a CAN Bus Interface, either internal or
external to the Adj. AEC Controller. The CAN Bus is an Automotive standard
"network" interface that is used by manufacturers like Mercedes Benz, BMW
and other leading car manufacturers, to monitor or control other devices
attached to the CAN Bus.

The CAN Bus can be thought of as a Network or a Network card that we would
normally use to get several computers to "talk" to each other. This will
tally with other projects that I'm planning and will prove useful in the
long run. The CAN Bus requires only a few wires to form a "backbone".

A significant problem arises at the interface level when we want to get
devices to "talk" to each other. There are many different signal and voltage
levels that must "matched" before an interface can be made.

	Example:

The signals from an Exhaust Gas Temperature sensor will be quite different
as compared to signals from Coolant Temperature sensor. More often than not,
these differences will require that the signal be conditioned and converted
into a format / level that is acceptable by another device. You can't attach
a PT100 sensor direct to your computer unless you use some sort of interface
or signal conditioning. A type J Thermocouple (also temperature) requires a
different type of interface to that of a PT100.

If you want to data-log several areas that use different sensors, you will
need a good few feet of wire and a whole load of electronics (signal
conditioning) to get the various signals into a form that the data-logger
will accept.

If we use a CAN controller all we need do is get the device attached to the
CAN Bus, give it an address and read / write data to and from it.

If we have an "Intelligent Dash" connected to the CAN Bus, we could control
or monitor other devices attached to the CAN Bus. You could re-program the
Adj. AEC Controllers RPM set points from the "Dash", you could monitor the
AEC Servo motors Cable Drum position from the dash. You could by-pass the
AEC Controller and go to manual control, load a different ignition map for
your Ignition System, check EGT temperatures and start the data-logger to
record the temperatures etc. etc. etc.

All through a few wires rather than a handful of wires and a bucket load
electronics to condition signals.

	8) ISP (In-Serial Programming)

The Adj. AEC Controller will have an ISP facility incorporated into its
design. This means that the entire contents (firmware / software) that make
up the Adj. AEC Controller can be updated or changed to suit conditions. The
ISP interface is very simple and it can easily attach direct to a computers
standard Com or Parallel port.

The Question:

What have I forgotten and what would you like to see on the Adj. AEC
Controller???

Cheers
Pete

The South African RG500 Web Site
http://www.data-tech.co.za/rg500