I'm currently contemplating a arduino based project, and would like to know if the arduino board will work...
Basically I wish to use an arduino to create an ICU (Ignition control unit) for ford EDIS based ignitions.
Using a signal input from the EDIS, and another input from a pressure sensor the Arduino need to look up a value in an ignition map and send out a 5v pulse back to the EDIS.
Input from Pressure sensor is a voltage between 0,4 and 3 volts (analogue)
Input from EDIS is a 12v digital frequency ranging from 40Hz to 600Hz
The output is a 5 volt digital pulse that need to come right after the input signal from the EDIS goes to 0v. Based on the two input signals the output pulse duration should be between 200us and 1500us long.
it will not be a problem if the output signal comes one Hz to late compared to the input signal (if this will make it easier to send the output right after the input signal goes to 0v) This way the arduino can use this one Hz to register the two input values, and find the right output value, commit this to memory and then send the output following the next input signal.
If you need more information on the project please ask away
Like I said, what I need to know first off is if the arduino can handle this application
Input from Pressure sensor is a voltage between 0,4 and 3 volts (analogue)
No problem (except you misspelled analog).
Input from EDIS is a 12v digital frequency ranging from 40Hz to 600Hz
Step this down to 5V max, using a voltage divider, and use pulseIn() to determine the time between peaks.
The output is a 5 volt digital pulse that need to come right after the input signal from the EDIS goes to 0v.
Will need to perform a very quick lookup, then. Pre-calculate the row based on the first reading, so that it is a matter of finding the column containing the value of interest.
Based on the two input signals the output pulse duration should be between 200us and 1500us long.
I presume that the vertical axis is related to the pressure value, and the horizontal axis is related to the EDIS signal. If so, I don't see where you get 200 to 1500.
it will not be a problem if the output signal comes one Hz
I'll bet it will. 1 Hz is one cycle per second. If the output signal is one second late, I'll bet that will cause problems.
Like I said, what I need to know first off is if the arduino can handle this application
Sorry about that I am not a native english speaker (from Denmark)
Step this down to 5V max, using a voltage divider, and use pulseIn() to determine the time between peaks.
Sounds simple
I presume that the vertical axis is related to the pressure value, and the horizontal axis is related to the EDIS signal. If so, I don't see where you get 200 to 1500.
Yeah sorry about that, the values in the ignition map is advance timings (measured in degrees before top dead center) I have converted these values to signal duration times, using a specific equation for the EDIS, thus resulting in values 200 to 1500.
I'll bet it will. 1 Hz is one cycle per second. If the output signal is one second late, I'll bet that will cause problems.
Naturally i should have written 1 cycle and not 1 Hz. Sorry about that
This is something I would also like to try. One thing I am confused about is how frequently the EDIS controller needs to see the timing signal. This is the signal that ranges from 200us to 1500us in the above posts. To clarify for those reading, the EDIS controller is looking for a pulse that it uses to determine the timing advance of the ignition sequence. This signal would normally come from the vehicles ECU, the width of the signal being proportional to the timing advance.
So does anyone know what kind of period the EDIS control is looking for this pulse? Will it recognize the signal at any timing interval?