Dangerous Bug in AEM ECU? Warning* 2jz-gte , AEM V.2 | AEM
10 posts / 0 new
Last post
kingtal0n
Offline
Last seen: 3 years 8 months ago
Joined: 01/31/2015 - 18:00
Dangerous Bug in AEM ECU? Warning* 2jz-gte , AEM V.2

Toyota 2jz-gte engine, all stock, including OEM 2-bar map sensor

Couple days ago we took the car to dyno. I tuned it off the dyno but wanted the second opinion on the dyno (of the wideband) before raising the boost.

Here is the 15psi pass we made first,

15psi stock engine

Looking fairly normal right? So the 2-bar map is about to max. The AEM software has a final line at 17.2PSI so I figured why not raise the boost now and see how high it will go.

So we raise the boost to 17.2psi and....

bug?

 

As soon as the map hits full voltage the ECU thinks it back at 8psi, it is using the "failsafe, limp home mode, tps->load" map instead of just pegging out the map sensor and hitting boost cut. The timing jumps (as you can see) and the fuel dissapears, as a default setting no less! I was not driving the car or I would have let off. This is NOT a fuel cut we are seeing here, even though it should have been. The engine kept accelerating to redline, and the ECU added timing and removed SOME fuel (instead of completely fuel cut the way it should have at fuel cut pressure). Furthermore you can see from the shape of the graph (pulse wave style) that the actual boost is not dropping off and coming back, instead, the engine kept running and boost stayed high while the ECU intermittently flipped back and forth between the limp home setting and the actual 17psi.

This is an enormous bug / problem. That engine could have been toast, and this is clearly a bug of some kind that either needs to be fixed or there should be some kind of warning about it at least.

In the past I have tuned Accel DFI and Haltech ECU with a 2-bar map and was able to simply peg the sensor at 5000mv~ and keep raising the boost by adding fuel to the final fuel cells.
I was expecting the same situation here... but boy was I wrong. Ultimately this is a contingency that the AEM software designers need to be aware of and provide a solution for.

 

The engine should not fluctuate between maps like this... ever. Even if it jumps to a tps->load graph to keep the engine running, it should not be allowed to intermittently flip back and forth at will. That means each time the "bad" wire touches a ground or 12v power source it will flip to the load graph.

 

Also if anyone is curious, here is what we did with 15psi.
I've got the a/f coming down a little quicker now too. It comes down pretty fast on the street (in car wideband) but on the dyno it looks like it needed a little more when you first put your foot down to "catch up" so thats been added since then.

AEM_NS
Offline
Last seen: 17 hours 27 min ago
Joined: 06/06/2014 - 09:31
Well it is unfortunate that

Well it is unfortunate that you ran into this problem but that functionality is certainly not a bug.  You pushed the MAP sensor beyond it's max allowable voltage that's set in the software (see option MAP Max Volts) which then triggers the Error MAP channel.  When Error MAP comes on, the table TPS to Load comes online which the EMS uses to determine engine load based off of throttle position as a failsafe should the MAP sensor fail.  If the TPS to Load table were setup properly, an end user probably wouldn't notice the transition but if it isn't setup correctly then something like this can happen.  It's usually not a good idea to use a MAP sensor beyond it's normal scale and all AEM engine management systems have been built to have a max allowable MAP voltage and when that voltage is exceeded, a user configurable load failsafe function is then used.  I think your past experience with other systems may have lead you to believe that that's how all systems work which isn't the case.

Maybe spend some time looking through your logs and comparing throttle positions with manifold pressure and then setup your TPS to Load table so something like this doesn't happen to you again.

If your Tuning Explanation tables are active on the right side of the screen it will describe channels and functions you have active on the screen. There is also context sensitve help depending on what you are clicked on. To activate this if you have closed it go to top navigation bar "Help" -> "Tuning Explanation.

MAP Sensor Description.

Manifold Absolute Pressure (MAP) Sensor
The 0% MAP sensor voltage is 0.8100. The Full Scale MAP sensor voltage is 4.9000. If the sensor voltage goes above or below the limit values, it is considered to be failed and the Error MAP channel is activated. If the engine load is MAP based, it will use the TPS value as a failsafe value. Boost control will also be deactivated.

Navigation to TPS to Load table
Navigation Bar -> Display -> Display Explorer -> AEM Series 2 EMS Full List -> Setup -> Breakpoints -> TPS to Load.
 

kingtal0n
Offline
Last seen: 3 years 8 months ago
Joined: 01/31/2015 - 18:00
So my reply to this would be

So my reply to this would be simply, my AEM ecu is set to fuel cut at 17.2psi, which was recorded on the graph. this fuel cut value was pre-determined as a default setting for the OEM factory Map sensor, should the max value of the map be exceeded, the engine should safely cut fuel.

So why did my engine not cut fuel at 17.2psi? Like it was supposed to.

kingtal0n
Offline
Last seen: 3 years 8 months ago
Joined: 01/31/2015 - 18:00
Here is what I am talking

Here is what I am talking about.

This is a bug, or an oversight by AEM. This should not be  happening right here,

It was supposed to cut fuel at 17.2psi, not have a spaz attack and destroy the engine.

- "Above this value all injector and coil outputs are turned off" my ass.

kingtal0n
Offline
Last seen: 3 years 8 months ago
Joined: 01/31/2015 - 18:00
My next question is, why does

My next question is, why does a default 2jz-gte map, which comes stock with a 2-bar map, and clearly has a well defined default 17.2psi stopping point...

 

also have a tps->load value at 100% throttle to only 8psi as a default? If the sensor is going to max at the pre-determined AEM's own OEM setting of 17.2psi, why on earth would the expected default tps value at WOT be only 8psi? It should also be the full 17PSI for an obvious transition from a maxed map to the appropriate load value. Oversight #1 right there.

#2. Clearly my log above shows a value above 17.2psi and NO FUEL CUT IN SIGHT. Which means that the default AEM/OEM value for maxed map sensors will NEVER fuel cut properly on ANY engine using a stock map sensor and a default setting for a "maxed map sensor" on this engine. Oversight #2. Whats the point of setting the final line to 17.2psi and the final map value for fuel cut to 17.2psi if it never happens.

In other words, we already know the map stops around 17psi. Its pretty obvious that a 2-bar map sensor will work until around 2bar. So, we customers buy the AEM ecu and look inside the default programming... and see "Oh look, 17.2psi is the final row on the fuel table." and then "oh look, the default FUEL cut value is also 17.2psi". Gee, Makes me think that it would be safe to raise boost until 17.1psi and just in case I overshoot that, it will simply fuel cut. So I twist the knob on my boost controller to max the map, expecting to hit a fuel cut at some point....

... But the cut never comes. Instead, some other hidden map takes over, because of the oversight of AEM's solution for the default program (whoever decided that at a specific VOLTAGE the map sensor should go to "failed MAP, TPS->LOAD" instead of straight to fuel cut... Is doing it wrong. The voltage at which to use the fail-safe TPS->LOAD map should occur AFTER the pre-set default of 17.2psi fuel cut load, not BEFORE, or else it will NEVER FUEL CUT with the default value) I understand the functionality is there for us to modify and take advantage of the additional map to control fuel, that is all fine and dandy and I am happy it is there to begin with. The problem is not with the ECU itself but rather an oversight on the designers behalf that allows the, AHEM, default value of 8psi to take over before any map-based fuel cut is applied, which will never even be reached.

And finally,
#3. Why does the ecu intermittently flip back and forth between the failed map channel "tps->load" and the actual fuel map at 17.3psi? Once it starts using the TPS->load map, it should not jump back and forth. The voltage must have come down enough to re-trigger the fuel map use (oversight #?) so the software rubber bands back and forth. This is not a safe default parameter!

That map (tps->load) is more of a "limp home" than anything else, and once you start using it, the software should assume the map sensor is BAD or DISCONNECTED and warn the owner. It does NOT serve as a functional map to fall back on during higher boost, which is exactly what it is trying to do here!. This because, we can not use it to achieve a boost setting higher than your map sensor allows (since the tps->load still represents the fuel map for load, which maxes at 17.2psi). In other words, if the map did fail, and we had to use the TPS, my max fuel will still come from the final line of 17.2psi on the fuel map. There is no way to set it to inject extra fuel at 17.5+psi because the fuel map does not allow for more than 17.2psi when using the oem 2-bar map sensor. Which makes the tps->load map useful for only limping home, nothing else. The default values for fuel cut should allow the engine to fuel cut, and not trick the user into hitting a "limp home mode at 8psi" when they max the oem map sensor.

 

I think the simple fix is to modify the "failed map" voltage to be more accurate, such that it is out of range of the oem map sensor (A truly failed voltage beyond 5000+mv where the map sensor is no longer working). This will allow the fuel cut at 17.2 psi to take place as intended for default safety feature.
Furthermore the tps->load default WOT value needs to be raised to 17.2psi from 8psi as a default 100% throttle setting.

I also realize now that I can still do what I wanted to do, by raising the "failed map channel" voltage and letting the ecu sit on 17.2psi when I raise it to 20.

AEM_NS
Offline
Last seen: 17 hours 27 min ago
Joined: 06/06/2014 - 09:31
You're using a fully tuneable

You're using a fully tuneable, stand alone engine management system.  It's been stated many times and in many places that full tuning is required and that base cals should only be used to start and idle engines and maybe drive at no boost.  Being able to drive a car on a base cal is a maybe at best.  The fact that the top breakpoint of the fuel map in the base cal says 17psi should not lead anyone to assume that it's safe to run to that amount of manifold pressure or beyond or that failsafe tables have been configured to be remotely close to what you need for your vehicle or setup.  AEM does not guarantee that base cals will do anything more than start and idle and engine.  

Part of the tuning process is properly configuring the failsafe functions including the TPS to Load table.  All AEM engine management systems have this secondary load reference failsafe functionality built into them.  It does serve as a functional map to fall back on - when setup correctly.  The idea is that the engine should still be able to run so it can at least make it to the finish line instead of just cutting.  If you look on YouTube you might find someone using an AEM EMS who pulls off their MAP sensor connector during a dyno pull and the pull ends with AFRs staying on target and making the same amount of power.  This is because the secondary load reference failsafe was properly configured beforehand.  

There isn't anything in the pics above that shows that you didn't get a fuel cut.  The problem is that as soon as you hit 17.2psi, the MAP sensor went into error and the TPS to Load table was set to be 8psi.  This means that the EMS now thinks that MAP is 8psi which won't trigger fuel cut.  Presumably, when the fuel and ignition values at 8psi come into effect, actual MAP drops slightly enough to come back into the normal sensor range which then turns error off and MAP reads normal again but then you get the fuel and ignition values at 17psi which makes boost go up and then you get cut again.  Rinse and repeat for as long as the throttle is held wide open.  The bottom line is that the EMS is NOT designed to allow end users to run more boost than their MAP sensor reads.  That's unsafe and generally a bad idea.  If you want to run more than 2 Bar of boost, you should considering getting a MAP sensor that reads higher than 2 Bar.  

I'm sorry that you had to run into this the way that you did, but these are the things you face when the tuning is 100% in your hands.  Do you really think it's a good idea to try and get away with working around the sensor settings and failsafe functions just to push the boost to 20psi with a stock MAP sensor?  Why not buy a $150 3.5 Bar MAP sensor as cheap insurance versus risking hurting your motor when boost spikes to 25psi for some reason? 

kingtal0n
Offline
Last seen: 3 years 8 months ago
Joined: 01/31/2015 - 18:00
We are only using the 2-bar

We are only using the 2-bar map to break the engine in for a few more thousand miles then switching to E85, but that is besides the point. 25psi is not safe on pump gas, neither is 22psi or even 20 I could argue, so there is absolutely no need to lower the resolution of the fuel map by installing a larger map sensor for only a a couple extra PSI. My plan was to boost cut at whatever the map sensor capped at- I thought that was 17.2psi because that is what the software led me to believe, but when I hit 17.3psi the engine went into this "limp home mode" instead of fuel cut. I was only going to push it on the dyno to 18 or 19 to break 400rwhp, the car should drive around with a working fuel cut.

Quote:
There isn't anything in the pics above that shows that you didn't get a fuel cut.

Actually, there is. A fuel cut is a sudden, noticable effect, if you have ever been in a car when it fuel cuts. A fuel cut means that no additional fuel is being injected, and the EMS also states that "ignition is cut as well". Clearly, in the above picture, the engine continues to accelerate at all times. That fact indicates that there has not been any fuel cut.

When you load the 2jz-gte bare bones map, it already contains the right trigger information to start the engine. This leads me to believe that it contains the knowns for variables like ignition dwell and crankshaft teeth. It leads me to believe that the default program, at least where sensors are concerned, have accurate values, or at least values that over-estimate for wander to provide safe default situations, wherever possible. In this case, a default sensor value, is incorrect and does NOT compensate for wander, variance between sensors from engine to engine with a value that makes sense.

In order to catch this mistake, I would have had to plug a multi meter into my map sensor, and apply pressure while watching a gauge, until the sensor maxed out and record the voltage to the .0001 place, then, went into the AEM EMS and plugged in more than that max voltage to the "BAD MAP SENSOR" feature to adjust it such that I Will actually obtain a boost fuel cut instead of a dangerous situation when the pressure maxes the sensor, and I think I am getting a boost fuel cut. The default values, once again I will repeat, produce a situation where a fuel cut at maximum pressure is unlikely. If you think about the situation you describe about pulling the map sensor wire during a run, it applies to the low voltage setting. We are discussing the high voltage setting, which would be surpassed if the voltage suddenly spiked beyond the highest possible output voltage by the map sensor (maybe the wire touched a 12v source and spikes to 12v) THAT is what that feature is intended to protect from, it is NOT a boost cut feature and should not have gotten involved at all for this situation! How was I supposed to know to check my map sensors maximum output voltage with a meter on the engine first before running it? I certainly didnt pull out the crank trigger wheel and count the teeth to make sure the ECU had it right, I didnt measure the resistance at the coolant temp sensor, I didn't find the limits of my air temperature sensor, you just expect the program default to make sense. In this case the default voltage value is too low, and this is the only way to find out.

 

 

 

AEM_NS
Offline
Last seen: 17 hours 27 min ago
Joined: 06/06/2014 - 09:31
Unplug your MAP sensor and

Unplug your MAP sensor and see what the channel MAP Volts goes to.  It doesn't go low - it goes high.  The highest any analog input can ever read is 5v because that's the reference voltage that is being referenced and pulled up to (unless you short an analog input to 12v power or something).  The TPS to Load table comes into effect whenever the MAP sensor goes into error.  Notice that there are both max and min volt option so TPS to Load will come online if the sensor goes out of range high or low.  A MAP sensor can become disconnected or have bad wiring or fail all together.  The idea is to not have to solely relay on just the MAP sensor to run the engine which is what the TPS to Load table allows you to do.

Regarding the cut, I don't think you're accepting the fact that as soon as you hit the cut threshold, the MAP reading changed from 17psi to 8psi.  None of the channels you show in your log screen shots show if there was or wasn't a cut - the channel data is simply not there. The EMS isn't still reading 17psi somehow in the background when the new indicated MAP values is 8psi.  If MAP says 8psi, the EMS thinks MAP is 8psi.  How could it cut at 17psi if indicated manifold pressure is 8psi?  There are no bugs or engineering oversights with how Fuel Cut Load works.  Test it yourself by turning it down to a lower value like 10psi and then do a pull.    

The sensor calibrations that are in the base cals are correct.  AEM is of the opinion that it really isn't ever a good idea to run beyond what a MAP sensor can read.  You're choosing to alter the base settings in order to run the sensor beyond it's normal expected limits which you can do but you do so at your own risk.  

kingtal0n
Offline
Last seen: 3 years 8 months ago
Joined: 01/31/2015 - 18:00
Even so, it needs to be set

Even so, it needs to be set higher to acquire a fuel cut, and the only way to tell is to realize that you are not getting a fuel cut, by which point it is too late. I've never had a map sensor fail. This engine did not experience a map sensor failure. The AEM should not assume that my map sensor has failed just because voltage climbs above a specific point. It should STILL APPLY THE FUEL CUT. This is an oversight of the designers. The computer needs to CUT FUEL COMPLETELY When it sees 17.2+ PSI, as advertised by the software, PERIOD END OF DISCUSSION. It should not IGNORE my fuel cut setting and switch to a limp home mode that allows the engine to procede to redline by default.

 

The chances of a map sensor failure is much smaller than an over boost. I am much more likely to experience 18psi than I am a map sensor failure. Therefore, it stands to reason, my default chosen value needs to be much higher. How high does it go when you unplug the map sensor? I never checked; why would I bother? Again I am assuming the program default values MAKE SENSE. This one does not make any sense.

 

Quote:
The EMS isn't still reading 17psi somehow in the background when the new indicated MAP values is 8psi
Actually the EMS can still read the map sensor and is choosing to ignore it because the voltage setting is too low by default. Imagine the default value was actually 7volts. Impossible right? But if that was true, the engine would have cut fuel at 17.2psi as advertised, causing me, the user, to realize that the map could actually tell where 17.2psi is, if it even exists. For all I know, the map would stop at 14.3psi. The very first time you run an engine, you cannot assume the number appearing on a screen is accurate or correct. You get this information by comparing recorded logging with other gauges and common sense, and this was the very first time this engine had ever seen more than 14.5psi so as I have pointed out already, I did not remove the map sensor and pressurize it to see what the voltage output scale is (this is what you are saying that I should have done, I should have checked the max voltage of the sensor in advance and setup my limp-home mode tps-load in advance, I did not think that a default map associated with getting the car to limp home had anything to do with over-riding safety features!), I did not remove the crank trigger wheel and count the teeth, I did not check the resistance of the air temperature sensor and I did not put a torch to the manifold to see how the rate of heat transfer affects the rsistance over time. these are all things that I did not check because they generally are not associated with a default parameter capable of ruining an engine. The first time the boost is raised on an engine, you get your very first log, and it tells you these things. there was no way I would have known in advance that the voltage 4900mv comes before 17.2psi, or that the computer would read 17.3psi and completely ignore my fuel cut setting because the default map voltage setting was 4.Xvolts instead of 5.X or 10.X or 10000.X something large enough that the included observable fuel cut of 17.2psi would not simply be ignored. The software is advertising that if it "sees" 17.2psi+ it will fuel cut, and it most certainly did "see" 17.2+ psi as recorded by my log. If there is enough fuel at 14.5 or 17.2psi for 22psi of actual boost then it would be fine for the engine to boost beyond 17.2psi as the sensor truly maxed voltage, and that would be the final movement vertically along the Y-axis of the fuel map. If this is done gradually while watching a boost gauge it is perfectly safe, it took almost 2 full clockwise turns, about 33% wastegate duty cycle, over the course of about 6 seconds total, just to find 17.3psi of boost from 14.9 so there was no danger of shooting beyond 22psi what so ever doing it this way and I was not willing to make pass after pass turning it up little by little. One goal as a tuner is to minimize the wear and tear of the engine and making multiple dyno passes just to find a set boost pressure can add many runs. My first run was supposed to tap the map sensor somewhere between 15 and 17.2psi, and cut fuel at 17.2psi if we make it there (even though there is enough fuel for 22psi) afterwhich point I can decide what I want to do for the second pass, now that I have seen truly where the map stops, it could have stopped at 17.1psi or 15.4psi. If the MAP sensor voltage stops with only 15.4psi on the fuel map, then I would have never obtained a fuel cut because the program would have never "seen" 17.2psi or anything above 15.4psi and would not be able to apply a fuel cut. That was EXACTLY my plan, what I was expecting, and compensating for with extra fuel at 15psi enough for 22psi. Thoughts about limp and world records are not passing through my head, I just want to see what the map sensor does and whether it hits the advertised 17.2psi fuel cut or stops at 15.X accepting my additional fuel for the climb to whatever I want, doesn't make any difference to me. The map passes into 15psi too rich- and leans out gradually as I twist the knob. I did not unplug the map and check the maximum voltage and look immediatly for the limp mode tps->load conversion because there is no reason not to expect the map sensor to work anytime soon, or for me to not notice that it suddenly doesn't work, or for ANY tuner who is looking at the Y-axis and knows instinctively that up means  more voltage, and eventually it will stop somewhere when the map sensor says so. We have ten of them sitting around why would I care if the map sensor doesn't work suddenly? The engine should fuel cut immediately by default at 17.2psi if it can "see" that, and not assume I am trying to break a record and complete an all important pass, right out of the box.

AEM_NS
Offline
Last seen: 17 hours 27 min ago
Joined: 06/06/2014 - 09:31
The AEM should not assume

The AEM should not assume that my map sensor has failed just because voltage climbs above a specific point.

But that's exactly the criteria you would use to determine if the MAP sensor has failed.  The sensor has a normal expected voltage range.  If the analog voltage goes beyond that range it is safe to assume that the sensor input has failed.  

Again, I'm sorry you ran into this like you did but I believe you understand how it works now and can move forward accordingly.  You may not like how it works but it does work 100% as designed and intended.  Again, it probably isn't a very good idea to run outside a sensors normal operating range.  It's not something we recommend.

Topic locked