View Single Post
Old 04-21-2021, 09:10 AM   #27
Board Member
Join Date: Jul 2016
Location: MA/NH

I will move over to the new thread, just wanted to tie up loose ends here.

Originally Posted by bobxyz View Post
esmth - the HC05 bluetooth boards show up on the PC, or smart phone, as a serial port. This should be compatible with TunerStudio (commonly used for MegaSquirt, RUSefi, Speeduino), with MSdroid, and with a simple serial port Terminal program. Many of the BLE implementations do not support simple serial port access. Do you know of any bluetooth modules that support serial port mode on the PC/SmartPhone AND are FCC certified? The ebay HC05 modules are not certified and cannot legally be included in commercial products.
I was not aware those HC05 were full packages of hardware + software to do serial port emulation over bluetooth. It does seems like the simpler/better way forward, compared to the BLE + mcu chip I mentioned.

Originally Posted by apollokid View Post
I've read the TP 31397-1 many times and it describes what I wrote in previous post: EZK retards ignition and LH increase the fuel ratio. It also reports a brief description of the algorithm used by EZK for retarding in incremental steps but it doesn't enter so deep to describe the waveform of the characteristic signal produced by the sensor when knock occurs nor how it is the signal that EZK send to LH (may be analog or digital? I really unable to guess it).
If someone knows a way to force a stock engine to knock please let me know, I tried forcing load in all the possible ways without success (the signal to the LH on pin #28 remained always fixed near 7,6V also if on the LH pinout is written that when knock occours the voltage drops)
My car is NA but I have never actually witnessed the ezk calling the fuel enrichment pin for the LH box in practice. Well, without enabling it in the software and coaxing it

I am pretty sure ezk has an open collector this pin and LH weakly pulls it up, but I do not have a diagram for this. I may be wrong. It is not any sort of data transmission or analog signal. Just pulled down when the all cylinders are knocking past a threshold in EZK.

Originally Posted by apollokid View Post
The way to simulate the CPS is smart but I note that the negative semiperiod is totally missing and also the upper one is not well rounded as it should be.
I was thinking about this: I believe EZK circuit try to square the signal using a Smith's trigger or something similar and then it reads the signal using interrupts.
Are you sure that emulating the CPS with that signal the EZK interprets it exactly in the way you expects?
The VR sensor in EZK is run through a comparator and schmitt trigger as you mention, with the output of this attached to an interrupt pin. It doesn't do any advanced analysis of the waveform so his method should be just fine.

Originally Posted by apollokid View Post
NOTE: last night I coded the reading from the emulated Tq signal as a raw pulse width and I found that I cannot be too much precise in the reading. An error of 10μs is the best I was able to obtain.
To measure with more precision I believe that I must create an assembly routine since the digitalRead() function takes near 5μs to be executed.
I believe that hard coding an assembly routine like the one used to implement the pulsein() function could help, but at the moment I'm satisfied as it.
As you noticed, the digital() functions in arduino are notoriously terrible/slow. They abstract a lot away from the user for easy-of-use and portability between MCUs. If you want to get super accurate timing, there are capture/compare timers on most arduino boards that are designed to do just as you are doing, but in hardware! Though it looks like 10us variance should be good enough in my opinion.
1991 244 LH2.4 M46 360k miles
esmth is offline   Reply With Quote