New version memsgauge soon available

496 views
Skip to first unread message

Haro Froger

unread,
Feb 17, 2018, 11:51:31 AM2/17/18
to MEMS Diagnostics
I've created a new version of Memsgauge, which I expect to release in a few weeks time. For now I have a couple of pics of what I will look like, although I will make some minor improvements before releasing.


mems screen 1.PNG
mems screen 2.PNG
mems screen 3.PNG
mems screen 4.PNG

Martin Rubenstein

unread,
Feb 17, 2018, 1:00:22 PM2/17/18
to MEMS Diagnostics
Wonderful, Haro; it looks great. I very much look forwards to its arrival.

Couple of points/questions:

1. Will Al’s MEMSAnalyser be able to read the logfile?

2. Leopold’s unknown 3, corresponding to Al’s unknown 19 on the 0x80 status page, is the crankshaft position (CKP) sensor signal detection; so High shows CKP signal is detected, Low means no signal is detected.

3. I was wondering if some signals are changing too quickly to be displayed meaningfully on a gauge? In particular, the Lambda voltage, switching at least once a second. Have you tried it on the car; does it look OK? The other one was the Idle Bypass (stepper motor) position gauge, but I’m sure if the Lambda Voltage gauge isn’t changing too fast for a gauge display, then the Idle Bypass gauge will be fine.

4. With Lambda switching at least once a second, the sampling rate becomes important; so, for example, Lambda on Pawel’s MEMSDiag Android app, which samples about half the rate as Colin’s/Al’s/Leopold’s programs, clearly suffers from aliasing and looks very ‘notchy’ whereas Leopold’s displays through MEMSAnalyser almost as good as an oscilloscope capture Your version will sample at around 2.3 times a second I assume, being based on Colin’s work?


I very much look forwards to trying it. Many thanks for your interest and for making it available.

Haro

unread,
Feb 18, 2018, 4:50:27 AM2/18/18
to MEMS Diagnostics
In response to Martin:

1. In my first release MemsAnalyser will not be able to read the logfile. However it seems very doable so I might release compatibility in a later release. PS. Is the source code of MemsAnalyser available anywhere?

2. Will incorporate this. If anyone else knows more unknowns I am more than happy to incorporate them as well.

3. I have tried in on the car, although most of the time not with running engine (I don't want to start the engine if it is just to run for a couple of minutes, especially since it is winter now). The Lambda Voltage dial is ok in the sense that when in closed loop you can see it change from rich to poor and back all the time, but not very smooth. Also when in open loop you can see whether it's rich or poor and since it is a narrow band sensor not much more. Idle Bypass Position is moving a lot smoother although there might be a small delay because of the sample rate.

4. I have not changed anything that I am aware of in the sample rates, so it will probably be similar to Colin's program. 

Alan Richey

unread,
Feb 18, 2018, 5:05:53 AM2/18/18
to MEMS Diagnostics
Just send me a copy of one of your logfiles and I will adapt MEMSAnalyser.

Andrew Jackson

unread,
Feb 18, 2018, 6:26:44 AM2/18/18
to MEMS Diagnostics
Haro, I'm creating a Python library equivalent of memslib as you need to be quite techie to get the C++ to compile across multiple OS's.
Do you have a test harness that simulates MEMS so I can test without having to connect directly?

Thanks
Andy 

Haro

unread,
Feb 18, 2018, 6:31:09 AM2/18/18
to MEMS Diagnostics
Ok, I will send you a copy of the log file in the near future!

Would be really nice if the programs work together perfectly.

Haro

unread,
May 18, 2018, 9:52:52 AM5/18/18
to MEMS Diagnostics
I have renamed my version of the program to Mems Scan, and first release can be downloaded from: https://github.com/haro78/MEMS-Scan/releases

rboin

unread,
Jun 8, 2018, 11:01:17 AM6/8/18
to MEMS Diagnostics
looks fabolous Haro! will try this asap

rboin

unread,
Jun 27, 2018, 12:54:59 PM6/27/18
to MEMS Diagnostics
Hi Haro. I tried the program on two mini. The first one got pretty stable reading. But erratic lambda voltage. Perhaps this is normal as this spi mini automatic runs really well.

The second mini has just got an engine swap into mpi jdm spec automatic. With the ecu being dual plug. The engine has erratic stuttering when cold and hot. On you application it shows "ecu error" red indicator. What does this mean? I mean i read the help which says there is an error message being sent by the ecu. And now what can I do with this reading.

Oh and the adjustment tab does not seem to work.....

Thanks.

Alan Richey

unread,
Jun 27, 2018, 1:11:39 PM6/27/18
to MEMS Diagnostics
Hi

You now need to use MEMSAnalyser to do an in-depth analysis of the log file that MEMSScan produces when you use the 'start logging' and 'stop logging' options on a proper run.  Get it from http://www.rmrsoft.com/memsanalyser.exe

Al

Haro

unread,
Jun 28, 2018, 6:01:54 AM6/28/18
to MEMS Diagnostics
Hi rboin,

Thanks for your feedback. If you share a log file I can have a look at your lambda voltage. Please start your log before starting the engine and preferably with a cold engine. Keep logging at least until the closed loop led is on for a couple of minutes.

Concerning the MPi, the current interface can only communicate with MEMS 1.6. I'm afraid all other MEMS versions will get an ECU error indicator...

lastly, what's wrong with the adjustments tab? I'm about to release a new version, so maybe I could fix this before I release.

Haro

pembelia...@gmail.com

unread,
Jul 5, 2018, 6:51:11 AM7/5/18
to MEMS Diagnostics
 Hi, its strange that my replies goes to your email directly instead of going in this group discussion:

I am posting our email correspondences, as it may be of help to others



Does this mean the stepper motor works directly on the throttle plate like on all SPi engines? (On MPi engines there is a true bypass around the throttle plate to control the air at idle) 

 



On 4 Jul 2018, at 14:58, Robin wrote:

 

Hi,

 

I tried your suggestions.... the mpi will still limp when its hot... i attached several screenshot and the hot running-stalling engine log file. By the way, jdm means japan domestic market. which means that my mpi engine actually only have one injection..... because the jdm needs Air conditioning... but still it is a distributorless one.

 

@Alan Richey thanks for your program rmrsoft? I also attached the log file here.... your program seems to show the real culprit here.... the ever decreasing fuel trim....

 

I wonder if you guys can help me decode the real problem here.

 

Many thanks

 

Dikirim dari Email untuk Windows 10

 

Dari: Haro Froger
Dikirim: Monday, July 2, 2018 21:12
Kepada: 
rboin
Subjek: Re: New version memsgauge soon available

 

One more thing I noticed, I don’t think you have touched the throttle during the logging, but the idle switch is alternating several times between on and off. This will also make it difficult for the ECU to keep a steady idle…

Now I don’t know why this switch is triggered, since there is no actual on/off switch. The ECU uses the signal from the throttle position sensor to know when the throttle is closed and this signal seems just fine. Have you tried resetting the ECU?

 

Also could you help me out with the Neutral Switch? Could you check on the All Data tab for the received values of both the Airco Switch and Neutral Switch if the car is in Park and in Drive?

 

Haro




pembelia...@gmail.com

unread,
Jul 5, 2018, 6:51:34 AM7/5/18
to MEMS Diagnostics

Yes it is, there is still a stepper motor just like the SPI...

 

@Alan Richey and @Haro … I attach two new longer log files from today test on the mpi engine. I tried to log everything but the program disconnects on some engine limping. So there are some missing pieces. However, when I keep the throttle pushed the connection works like a charm…. I tried to reproduce the problem and get similar engine limping when the engine is hot (87” celcius is they temperature). There is also some misfire when I pushed the throttle to around 1500 rpm and more (some duds sound from the exhaust, must the incorrect valve settings, haven’t tried to change it from the start….).

 

When the engine is cool (less than 87” celcius) the idling goes around 800rpm but will fluctuate to 600rpm. But in cold start it will idle at the right rpm – 1000rpm. So, this engine goes limping when the engine is hot? Is the culprit therefore mechanical? Like loose vacuum hose/ cracked vacuum hose? Or is it still electrical? ECU is broken? There is no single error on the sensors during the whole logging…

 

Many thanks.

Alan Richey

unread,
Jul 5, 2018, 8:04:12 AM7/5/18
to MEMS Diagnostics
Thanks for the files, although nothing leaps out at me.   I doubt the vacuum hose is at fault, as the MAP sits nicely around 6psi for all the time you have the engine idling.  If there was a problem with the hoses you would see the MAP rise towards 15psi.   And as you say, all your sensors seem to working fine.

Sorry

rboin

unread,
Jul 7, 2018, 4:17:10 AM7/7/18
to MEMS Diagnostics
Hi Robin,

When cold, the engine is already idling too low. i.e. at 40C coolant temp your engine idles at 800-900RPM, but idle_error is ~200-300RPM (Idle_error should be no bigger than 50 or maybe sometimes 75RPM at idle). So your ECU actually wants your idle to be at ~1100RPM now. In fact the idle_error goes down as your engine gets hotter, it’s just that the problem gets really noticeable for you when the engine is hot since RPM goes below a critical value where it while run very rough or even stall.

What’s strange is that the IAC motor seems to work just fine, but the ECU doesn’t open the throttle enough to achieve correct idle speeds. At the same time timing should fluctuate at idle to get a steady idle, but your engine is at max. idle advance as if the ECU tries to achieve correct idle speed just by advancing ignition...

Other than that I’m afraid I can’t see what’s wrong just from the data.
Some first things to check or try (in no particular order):
- Check your spark plugs. What do they look like? Are all plugs the same?
- Compression test and/or leakage test
- Check it’s running on all 4 cylinders (i.e. faulty HT lead or coil pack)
- Disconnect the lambda sensor and run the engine. Any difference? You could play with the fuel trim now as well to see af you can get it to idle any better
- Turn on all electrical loads. Does this effect idle or not?
- Increase idle speed in the adjustments tab. Any effects?
- Have you executed a ECU reset already by pressing the button within the adjustments tab?

Haro

rboin

unread,
Jul 7, 2018, 4:47:13 AM7/7/18
to MEMS Diagnostics
Hi Haro and Allan

Thanks for you replies.

The main culprit is the spark plugs. Ughh....
So our technicians who worked with the engine swap were too busy with details to miss on this simple problem.

I now get 700ish idle rpm. With very low fluctuation even until 90*C. And no engine limping.

Many thanks for your help guys.

rboin

unread,
Jul 21, 2018, 12:03:16 PM7/21/18
to MEMS Diagnostics
Hi, I have not tried any further, but just to let @haro knows the answer to some of his analysis which may be useful for comparison for other users.

1. My engine spark plugs are dead. most of them pitch black. Our technician does not pay attention to this on the engine swap
2. Good compression, no leakage, cylinder head camshaft are very clean and lean.
3. No faulty HT / coil pack, 
4. Have not tried on disconnecting the lambda sensor. Btw, the adjustment tab does not do any thing on my mini [MPI (SPI japan 97 on) with dua plug mems ecu].
5. Yes, the electrical load that affects the idle the most is the air con. I think the stepper idle motor need to be lubricated
6. Nothing in the adjustment tab seems to work on my mini MPI (spi japan 97 on). Only the reset ajdustment and the reset ecu button seems to work magic.
7. I executed the ECU reset and the Adjustment reset already.

Let us know if you make any new progress!

Many thanks!

josi...@gmail.com

unread,
Aug 21, 2018, 2:54:03 PM8/21/18
to MEMS Diagnostics
I fixed a few compilation Errors , but it seems you are using a different librosco, there's a few functions (like mems_reset_ECU ) that are not in the original librosco. Where do I find the one you used?

Also you should delete the CMakeCache.txt from your repository, that should be generated by whoever builds your program and not be part of the repo.

In case you are wondering, how to fix the compilation errors:

add
set (CMAKE_CXX_FLAGS "-std=c++11")
 to the top of CMakeLists.txt (after the version stuff for example)

and add
#include <cmath>
to mainwindow.h

After that it obviously fails compiling as the linker can't find the correct librosco.
Reply all
Reply to author
Forward
0 new messages