home register FAQ memberlist calendar

Go Back   Turbobricks Forums > Mechanical > performance & modifications

Reply
 
Thread Tools Display Modes
Old 04-21-2021, 04:26 AM   #26
Fa182
Stage 1
 
Fa182's Avatar
 
Join Date: Apr 2016
Location: Austria
Default

Just came here to say I have no idea what you guys are talking about, but it's awesome seeing what you are doing.
__________________
Fa182 is online now   Reply With Quote
Old 04-21-2021, 09:10 AM   #27
esmth
Board Member
 
Join Date: Jul 2016
Location: MA/NH
Default

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

Quote:
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.

Quote:
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.

Quote:
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.

Quote:
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 352k miles
esmth is online now   Reply With Quote
Old 04-21-2021, 05:16 PM   #28
apollokid
Newbie
 
apollokid's Avatar
 
Join Date: Aug 2020
Location: Milan (Italy)
Default

Quote:
Originally Posted by esmth View Post
I will move over to the new thread, just wanted to tie up loose ends here.
I've opened the new topic as suggested by Bob (And I've seen his interesting reply...)

Quote:
Originally Posted by esmth View Post
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.
May be you have hit the target, this could explain also why this unusual voltage of 7.6V
To take a look inside the ECU and follow the traces could bring to an answer...

Quote:
Originally Posted by esmth View Post
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.
I've read about timers and how to improve performance on my O'Reilly book, I believe that I need to re-read it, may be I could improve precision and learn how to make things in a better way


To remain on-topic I whould like to share some new analysis I made on the scope recordings of the last days.
I've cleaned a bit the signals and rescaled them to be better comparable.

The first two images compare Tq signal with injector pulse width, the second ones compare Tq signal with the mass air flow sensor.
As found by Bob, injector pulses seems the more similar, also if not even them overlap perfectly.
If anyone whould like to make its own analysis on the real data I've sampled feel free to download the psadata I have shared and play with them.


Figure 1:
Orange: Tq-signal pulse width
Black: Injectors signal pulse width





Figure 2:
Orange: Tq-signal pulse width
Black: Injectors signal pulse width





Figure 3:
Black: Tq-signal pulse width
Red: Air Mass Flow sensor voltage





Figure 4:
Black: Tq-signal pulse width
Red: Air Mass Flow sensor voltage
apollokid is offline   Reply With Quote
Old 04-22-2021, 12:15 AM   #29
bobxyz
Board Member
 
bobxyz's Avatar
 
Join Date: Aug 2014
Location: Boulder CO
Default

Quote:
Originally Posted by Fa182 View Post
Just came here to say I have no idea what you guys are talking about, but it's awesome seeing what you are doing.
Thanks, just call us "geeks at play" ;)

If you're interested, here's the high level view. The LH Jetronic system splits the engine control between the EZK box (ignition) and the ECU box (fueling). The EZK box monitors the engine rotation, using the CPS sensor, and controls when to trigger the spark. The ECU box monitors the incoming airflow, using the MAF sensor, and controls the injectors to provide correct fueling.

For better engine control, the EZK and ECU boxes communicate with each other. The EZK box sends the current RPM, and knock detection, to the ECU. In the other direction, the ECU sends the current engine load to the EZK. If you're familiar with old school distributors, the engine load is the electronic version of the vacuum advance can. At light load (higher vacuum), timing needs to be advanced for best power. This thread is about the [painfully] exact details of how the ECU determines the engine load, and communicates that information to the EZK using the Tq load wire.

OK?

... now back to our regularly scheduled topic...

I was going to post some Tq measurements from a '954 ECU, but my buggy Hantek scope crashed Windows 10 before I saved. #*!%@! piece of junk. I'll redo the measurements and post them tomorrow.

The ATmega processors include "pin change interrupts" that trigger when any out of a group of pins changes. This allows more than the simple arduino INT1 INT2 processing. The interrupt routine needs to keep track of the previous pin states and compare them to the current pin states to determine which pin, or pins, changed and triggered the interrupt. There's a good, but long, description of this here: http://www.gammon.com.au/interrupts

I forget what I'm using on the benchtop setup, but I think some of the measurements are using the pin change interrupt.
----
D - Your plots are interesting, and show that Tq behaves a bit differently on a real car, instead of my steady-state benchtop measurements. Once the real monitor/logger are running, this should be easy to investigate.
bobxyz is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump


All times are GMT -4. The time now is 02:52 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.