It has been almost forever since my last log, and to my followers, I apologize.
In point of fact, I'm terrible at logging things, but I did manage to write down some of the process as I went through it, so here I will bundle not one, but Three logs that I wrote long ago, but didn't post until now:
From some time in May 2015:
Greetings from the Road
The road trip has begun. I write this from the woods outside Mendocino, CA. New to the ECUality arsenal is the dash terminal - an Arduino Mega 2560 equipped with an Xbee and lit LCD display. The unit is powered from an ignition-switched 12V line from the dash fuse panel, so it comes on when the ignition is turned on. The ECU, which is in the engine compartment, communicates with the dash monitor via the Xbee wireless board. All serial functionality can be easily directed to USB or Xbee, so the dash terminal can access the full compliment of commands.
Currently I am only using the dash monitor it to measure oil pressure, but much more is in store for this unit. Eventually it will enable all of the following:
Remote control access to common commands (performance mode, log data)
Remote control selection of readings to display.
Alerts for electrical faults and unsafe sensor readings
Control the bow-mounted pneumatic traffic axe. (just kidding. probably)
And maybe: Remote re-programming (still mulling this over)
From a couple days later
have a miss
So far, ECUality has gotten us to our destinations on the
road trip, but the steep, winding driving through the coastal redwoods has
surfaced a miss of unknown origin, and it appears to be getting worse. A list of
observable miss properties:
each miss lasts an estimated 1-10 cylinder fires (it bucks)
Started once every few minutes, now I get several misses in succession
when exiting every curve.
dependency: no definite dependency
dependency: seems to happen mainly when engine is warm, but not 100% sure
it doesn't happen cold
dependency: More pronounced at low
RPM, but no strong dependency.
Guesses about cause :
calibration is sending mixture too lean.
signal from Hall sensor is cutting out
sensor signal is cutting out
driver is cutting out
Techniques to determine cause:
ECU code to check for and report anomalous readings for RPM and air flow
enrich the mixture and see if performance improves.
ECU code to talk to the injector driver via SPI. (Wire library)
I'm going to do all of these. In this order.
From some time in June 2015
ECUality development has slowed, but it has by no means
stopped. I have now taken ECUality up
the California coast twice to Mendocino and
once up to the woodlands near Eureka.
It hasn't been smooth sailing every time. The trips to Mendocino revealed a miss, which
I later diagnosed as being caused by a mistake in the tach input circuit. I had erroneously assumed that the tach signal was the same
0-5V coming from the ignition module as it was going in. It turns out that while the signal going to
the ignition module was 0-5, the signal from the module (and to the ECU)
was 0-12V. My circuit had protection
that kept it from being damaged, but the signal was clipped so severely that
the signal to noise ratio was way bad, and occasionally the ECU would sense noise
as extra tach pulses.
The code I wrote to check for anomalous RPM readings (see
previous post) was what lighted the way. Every time the engine would miss, I would see RPM
fault reports on the dash terminal. This
let me know to look at the tach sub-circuit for problems.
The solution was very simple. I hacked a voltage divider onto the board at
the input to the comparator to bring the signal down to the 0-5V level that the
Schmitt trigger wants.