DDL - faster Nernst cell sensing

bcroe at juno.com bcroe at juno.com
Wed Nov 14 18:32:40 GMT 2001


I'm not sure we are communicating, but here is what 
I understood.  

The idea of emulating an analog operation with digital
stuff has its merits.  And apparently you have a way to
temperature compensate.


On Tue, 13 Nov 2001 08:53:50 +0800 (WST) Bernd Felsche
<bernie at innovative.iinet.net.au> writes:
> bcroe at juno.com tapped away at the keyboard with:
> 
> > On Sat, 10 Nov 2001 11:47:44 +0800 (WST) Bernd Felsche
> > <bernie at innovative.iinet.net.au> writes:
> > > See http://bernd.felsche.org/tech/EFI/DDL/DDL.html for the few
> > > circuit changes required to implement the fast switching 
> detection,
> > > largely eliminating the bandwidth limitations imposed by ADC and
> > > subsequent numerical comparisons. Response bandwidth for the
> > > controller now approaches 1 MHz compared to the 15kHz or so 
> limit of
> > > the ADC strategy for Nernst cell voltage detection.


I thought you were trying to avoid the A to D frequency 
limitations by going to a simple fast comparator.


> > > Furthermore, the detection method lends itself to a 
> > > simpler control strategy for applying pump pulses 
> > > (e.g. bang-bang control relying on sensor hysteresis), 

Sure it gets simpler.  The analog  version uses a 
Proportional/Integral/Differential servo loop to develop
the output signal.  With a simple comparator (bang-bang
control) you have no idea of the rate of change, so the
D term goes away.  With no indication of the size of the 
error, the P term goes away.  So you are left with an
Integrator, and the penalty is much less optimum 
frequency response.

> > > as well as the ability to measure intrinsic
> > > sensor characteristics such as ion migration delays. Cell
> > > contamination and other age determinants can thus be quantified.
> 
> > I guess you could just "hunt" for a .45 volt crossing
> > like an ordinary ECU does.  But you will still need to
> 
> i.e. bang-bang control within the hysteresis of the ADC.
> 
> Hunting for the reference level is also what's done in all the WB
> controllers, even the commercial ones. :-)

Bang-bang hunting is what is done for NARROW band 
signals, since not much else is practical.  But every 
WB system I have seen or built,  and all the documentation 
I have seen use the full PID control.

> > consider the sensor delay in your software, to build
> > a stable closed loop.  You will not need anything
> > like 1 mhz; 15 khz is probably plenty.
> 
> Practical bandwidth of the _controller_ will likely be in the range
> of 100 to 250 kHz, once pump circuit operation is taken into
> account. These are estimates based on typical pulse timings, CPU
> cycles required, etc. As the sensor's response is unknown, it's
> hoped that the controller will still be several times faster than
> the sensor to give at least the possibility of stable operation.


The sensors' response is not unknown at all; take a look
at the PID response of the analog units and build on that.
You will not need blinding speed to stay ahead of the sensor.
Since it is a bit sluggish, it is best to do some loop optimizing.


> The controller's response to changes in voltage at the Nernst cell
> by ADC alone is 15kHz - the time required for two (8-bit)
> conversions and comparison. This leaves no ADC capacity for Ip
> measurement.
> 
> Using the comparator against the desired reference level means that
> the controller can detect and act in just over 4 CPU cycles - the
> interrupt response plus another few instructions to effect the
> change (reverse pump direction). i.e. 1MHz vs 15kHz
> 
> An elaboration of the circuit could be to use a programmable
> resistance (instead of potentiometer) to set the desired reference
> level for variable hysteresis. This is obvious, but needs to be said
> to frustrate somebody putting a patent on it. :-)
> 
> > I would think with a single crossing point detector
> > and no knowledge of error size, you would need 
> > to considerably degrade the sensor feedback 
> > loop response.  Probably just run a simple (and
> > slow) integrator.
> 
> The error size can be evaluated by ADC conversion 
> and comparison.  The ADC channels are already 
> allocated for resistance measurement for 
> temperature stablization. The crossing detector 
> provides for a rapid response to a transition. It's 
> the knock on the door, so to speak.


I suggest you get as good a digital system as you can
up and running.  Then evaluate the tradeoffs and work
on optimizing it.  To say you have already allocated all
resources before it is even running does not sound
like a great plan.  

> > If you came up with a "negative" pulse Ip generator,
> > you might be able to dispense with the virtual
> > ground.  The negative pulse could be generated 
> > with capacitive coupling from all positive circuitry
> > since it is just a fixed digital pulse.  Not so easy 
> > to do with a straight analog drive.
> 
> The negative pulse generator needs to have it's magnitude measured.
> Pump cell resistance is also to be measured for temperature and age.
> The temperature sensing pulses have to have a minimum duration to
> allow for one complete conversion and a subsequent sample.
> 
> Measuring a negative pulse with the ADC on positive rails? Not
> without a lot more glue; unless you have a simple suggestion. Your
> component budget is 4 components costing no more than $5 in total.
> :-)
> 
> That's the cost of the floating reference.


There is plenty of cost to a virtual ground system.  Its an
access to the system for noise and external damaging
currents.  It can affect loop stability, or oscillate if done 
as simply as you imply.  There are ways to generate 
negative voltages, and a simple digital pulse would 
always be the same, not requiring any measurements.  
Such a circuit will fly or fall on its own merits when tried
in the overall picture.  To discard a possibility on a pure
guess cost without overall merit testing is presumptuous.

Bruce Roe

> Bernd Felsche - Innovative Reckoning, Perth, Western Australia
----------------------------------------------------------------------------
To unsubscribe from diy_efi, send "unsubscribe diy_efi" (without the quotes)
in the body of a message (not the subject) to majordomo at lists.diy-efi.org




More information about the Diy_efi mailing list