Please avoid starting ion-sense discussion islands (eg. under memberspage) that are not linked from this page. A little cleanup of this page would come handy. Maybe split to basics+links/analog side/algorithm side.
This page is about ion sensing
Ion sensing is a technology that can be used by the ECU to correct the car's ignition timing automatically, on a cycle-to-cycle basis.
Ideally the same IonSense/HardwareDesign can also detect misfire (a situation only too common and responsible for unwanted ExhaustEmissions) and retry igniting the fuel in that piston and deliver specific Failure information such as: <Service/Replace Spark Plug# N Misfire Percentage=XX%>.
Misfire can be detected by measuring the Spark current or its High frequency components.
General description of ion sensing from http://www.fs.isy.liu.se/~larer/Projects/main.html:
...ionization current sensing is obtained by applying a sense voltage on the spark plug when it is not used for firing. The sensed current depends on the ions created, on their relative concentration and recombination, on pressure, and on temperature to mention some of the more important factors. The signal is very rich in information but also complex to analyze.
Link the other wiki, there is a full wiki for ionsense somewhere!!! ([This one?])
For ionsensing you need some components:
- CD ignition driver (the inductive is not suitable: see IgnitionPage)
- DC/DC to make appr.400V
- transformer high-voltage side that applies 400V to sparkgap and measures current
- AD conversion of current-signal
- software that evaluates the signal
- note that if you don't need the peak-pressure-point information, just want to detect detonation, the ionsense signal can be evaluated with the same circuit as an acoustic knock sensor. Expect the same characteristic detonation frequency as the acoustic sensor senses: both are the effect of the same pressure front.
This is where we do our Ion Sense development:
IonSense/CicuitAndSimulation General circuit considerations
See also:
IonSense/PeakPressureAlgorithms
If you'd like to start quickly, think about this:
- Look around (see links below) for simple ion circuit.
- Take datalogs with a serialterm (small firmware mods for at least 57600 baud and sending continuosly sampled ion data)
- try and polish algorithm on the data on PC
- port the algorithm to MS-AVR
You'll get much help with the coding part, join development team via ListsAndForums.
Keith's words:
the ION system need to not only so CD put plasma too so if the cd does not light the ION can tell then you do a plasma discahrge that makes up for the lost time.
Very cool.. you do not want to do plasma unless you have to. it is hard on the plugs. and you might not be able to do a ION reading.
DCDC to make 350 .. 400V DC
- Could on-(Gen)board but unused IGBTs be used for the IonSense bias? ..or would we fry too many GenBoards that way? Are you thinking of using a small coil and pumping upto 350V into a capacitor with a series of flyback pulses? Possible, I don't see a problem. Calculate the max dwell we can use for a 2.7A 10uH coil and 16V VBatt. 2.7A / (16V /10uH) = 1.7 usec so this must be done from HW-channel, or easiest under cli());
- the other option is 2 FETs and a transformer, which we can switch from firmware to maintain the 400V
- in any case, use voltage divider so we can measure with ADC (a free ADC channel, either MCP3208 or AVR's). If this feedback is ruined or disconnected, than there can be a problem with the flyback converter: the transformator based is safer in this way (but voltage is determined by the VBatt and transformator turns ratio).
ion-sense:
See the ion papers (some are scanned) here:
http://www.diy-efi.org/diy_efi/members_projects.html
http://www.fs.isy.liu.se/~larer/Projects/main.html
http://www.x-dsl.hu/genboard/knockdetect/
The next step is to get more data...James? ..or how can I set up my own IonSense system to collect some data?
Do you have CDI ignition and suitable CoilOnPlug coils? In that case it's fairly easy. I can come up with a simple schematic for you then. Otherwise you probably have to wait for someone to present data or for ION to come off the drawing board. -Jörgen
I don't have a CDI. Can I build a GenBoard/VerThree and use that? With a bunch of extras the v3 can be used as a CDI ignition. I would say that it's a _ton_ of work that is mostly redundant and should be spent on the ION board instead (which is 80%CDI and 20% ION). I do have a DAQ (National Instruments Data Aquisition) card that I could use for sampling an ion sense type signal. Please send me the schematic at patrickb a t bigpond d o t net dot au.
I don't have a schematic, I would have to design and draw a circuit for that. Not much use if you don't have a CDI and the proper coils, but basically you use a resistor and a diode in series to harvest some of the CDI energy, store the energy in a Capacitor. Feed this through a PNP current mirror to the negative side of the secondary coil winding (through a HV diode if your coil doesn't have one inside.) Measure current near ground on the other leg of the current mirror.
Okay, if CDI is the way to go, then I'll buy one to build this test environment.
If you have a 300..350 V DC signal, than CDI is trivial (an R, a D and a cap that will power the coil primary+, and another D for some extra protection of the IGBT).
Acquiring the 350..400V DC is probably best achieved with a transformer. For the application in our IonSense Box it should probably be a transformer out of an old computer power supply. There will be a PWM driving it a few diodes and capacitors. Beware that our favorite IGBTs like 350V but they might not like 400V, so drop some voltage with a few dozen diodes or get the specification right (IonSense/Components).
If the above is not clear, don't start to mess with 400V circuits. Ion sense requires even more experience.
Schematic with component values would be nice and blongs here IonSense/CicuitAndSimulation:
We have some in the OldWiki files section, we have ltspice schematics that we played with (simulation) for both CDI and ionsense.
Another thought about IonSense sampling: We need accuracy down to at least 2 degrees and therefore need 1 degree (Nyquist Frequency = 2 * highest) samples. Therefore: 9000 rpm / 60 seconds * 360 degrees = 54000 or 54KHz would suffice. Can we get at least a 54KHz sampling rate from ARM? The datasheet says it can over do 400,000 samples/sec, and the manual gives a time of 2.44 uS for conversion. It should handle 54kHz easily.
Even the MCP3208 on v3 could handle 54ksps, but the SPI interrupt overhead on the uC would be a bit much (and it's hard to put good ion code to the avr anyway).
[Adrenaline Research Inc. Smartfire Programable Igniton/Feedback System]
tom mullender tmullender at zonnet.nl ???
[paper: 'misfire detection from ionization feedback']
[paper 'utilizing ionization sensing in a diesel engine']
http://reaflow.iwr.uni-heidelberg.de/~riedel/papers/25.pdf
http://www.firstfives.org/faq/timing/timing_for_modified_engines.PDF
Another ion sensing Wiki (some links duplicated there):
http://www.doublepup.com/BaseQuicki/wiki.cgi?IonSensing
Cylinder pressure sensors:
- http://www.optrand.com/products.htm These sensors started around $650 USD, and plugs to suit were around $250 USD.
- http://www.kistler.com/web/portal.nsf/urlnames/AppTable_EN?OpenDocument&CTY=US&L=EN&ALC=151&PLC=PA
- http://www.sae.org/motorsports/technology/aeijan03-f1.htm SAE writing about sparkplugs
Has anyone thought about using the Saab DI casette? If it's tweakable (not filled with epoxy) we could tap onto the ionic signals. It has otherwise all the elements we need (CD ignition, ion-sense circuits), plus provides cylinder (position) and knock info.
Downside is its price...
I'm not sure that it needs modification to be used, it can even have the ION signal available on a pin per cylinder.
Has anybody ever seen anything on Voltammetry Ion Sensing ?
http://www.google.com/search?num=50&hl=en&ie=ISO-8859-1&q=Voltammetry+Ion+Sensing+&btnG=Search
See also:
IonSense/PeakPressureAlgorithms
IonSense/LoggingData