[[Manual: Detailed.Sensor.Manifold.Config]]
- config.kpafac MAP range (at 5V signal). Unit is 2kPa by default
- unless you used a different KPAFAC_UNIT value in my_make such as
- MY_CONF += -D KPAFAC_UNIT=4 kpafac unit is 4kPa (max 1020 kPa), used for a MAP sensor with higher than 510kPa max range. Note that for MAP > max kpa bin ( see k[] table, that is still max 510 kPa) ignadv, lambda and VE will change no further. This is probably theoretical.
- MY_CONF += -D KPAFAC_UNIT=1 kpafac unit is 1kPa (max 255 kPa)
- unless you used a different KPAFAC_UNIT value in my_make such as
- config.kpaofs pressure offset for MAPsignal=0V (default 80 = decimal 128 = 0kPa offset). 0..255 range is for -32 .. +32kPa
Note that kpaofs meaning changed in firmware 1.0.12, appr. 2005-05-21
kpaofs name was intentionnaly changed to kpaoffs so make mtt warns if old kpaofs is used instead of new kpaoffs. (bin/make_conf.pl could be made cleverer to automatically calculate)
Default KPAFAC_UNIT=2 assumed:
calculate NEW config.kpaoffs = (config.kpafac * config.kpaofs) /256 +128
because old formula was\n
k = ( config.kpaofs + sensor ) * config.kpafac / 256;
new formula is:\nÿ2ÿ
Notes:
- sensor (formula input) is the 11 bit resolution MAP sensor signal, range 0..2047
- formula output is in 250Pa (=1/4 kPa resolution), that is mainly used as a multiplication factor in the final injection pulsewidth calculation
- The /256 is actually /128 for KPAFAC_UNIT=4 and /512 for KPAFAC_UNIT=1
Some old and new values:
MAP range[kPa] | config.kpafac | old config.kpaofs | new config.kpaoffs |
400 | 0xC8 | 0x00 | 0x80 |
400 | 0xC8 | 0x30 | 0x9E |
254 | 0x7F | 0x52 | 0xA8 |
254 | 0x7F | 0x00 | 0x80 |
104 | 0x34 | 0x00 | 0x80 |
Original behavior - (select with kpafac=00) not really useful
Warning! This is history! kpafac!=00 is the way to go, much better precision, bigger range and easy calibration. This old method will be dropped!
Basically all that had to be done is to define what sensor was being used. To maintain compatibility with MegaTune, the values were somewhat obscure.
Bad names inherited from motorola ms. Look for config11..config13 explanation in old sources, snapshot here: http://caffrey.dk/megasquirt/files/veconst.h
- Configuration Parameter: config11
- Bit Value: upper half: number of cyls-1, bit0 0:mpx4115ap, 1:mpx4250ap
- Example: config11=30
read it in global.h and URL above. Leave this 00, especially the speed_density bits. It requires experience to get sane results if this is nonzero.
Q: What factory-installed sensor is supported?
A: Almost any factory sensor is supported that has analog voltage output (not frequency output like some Ford MAP sensors). The GM 1Bar sensors are frequently used with kpafac=34 (=decimal 52 = 104kPa MAP range). VAG (VW, Audi, Porsche, Skoda, Seat) MAP sensors are also analog voltage output so easy to use.
Special pressure sensors for the brave
If you are otherwise good at measurement theory, ask for details how to use a low-signal (40..150mV signal, v3.x only !) sensor:
- either compensated (like MPX2200AP : very linear upto 200kPa and usable for upto 400kPa)
- or uncompensated (like MPX700A : very linear upto 700kPa and usable upto 2800kPa :-).
See [calibration experiment] against the MPX4250AP sensor. It seems that only gain is essential to measure, the typical value from datasheet can be used for gain(temp).
Note that at 4V supply (leaving 1V for series resistor used for sensor-element temperature measurement) an MPX700A's (my calibration value) 120mV/700kPA is almost as high as the MPX2200A's 40mV/200kPa. Unfortunately the MPX200A is out of fashion.
Mounting the MAP sensor offboard
From the manual: The standard is for the MAP sensor to be placed on-board, but it can be located outside of the Genboard v3 case. In the case you would locate the MAP sensor outside of the case, some alternate wiring is required. This wiring can be requested when ordering your Genboard v3, or can be done by you by simply running an air-wire from the MAP Signal lead to an unused EC connector pin.
I feel that an offboard MAP sensor should be the recommended install. I've tried both on-board and offboard. Despite many hours of trying to get acceleration enrichments correct I have found that a MAP sensor mounted close to the vacuum port makes a very noticeable difference in response. The reason for this difference is that the vacuum line adds a delay in the vacuum being sensed. If this adds 20ms then a stab at the throttle (ie rev matching) becomes slugish.
Acceleration enrichment can help this but there is no way to compensate with timing. Transitioning to atmospheric pressure from idle requires less advance. While some engines like to idle at low advance (ie 10-12degrees) others, ie Honda B series prefer 16-18 degrees. You can't keep 18 degrees of timing when you go from 30kpa to 100kpa at 800 RPM. The engine will stumble or die. Moving the map sensor offboard and with 3" of vacuum line corrected this problem.
3 standard sensors are made by GM and are universally used in the standalone ECU market.
GM Part Number | Sensor |
12223861 | 3 bar |
16254539 | 2 bar |
16137039 | 1 bar |
I like this MAP sensor because it has proven reliability and universal (in North America) availabilty. If your car breaks down on a road trip where are you or your customer going to find an mpx4250ap?
Q - What is this "alternate wiring" exactly?
Mounting the MAP sensor (MPX4250AP) in the engine bay, i.e on the manifold could work, depending on the temperature in the engine bay at the particular spot. 85C : happy. 185C: sad. Normally the engine bay MAP sensor is mounted at the firewall, at a relatively cool spot.
The MAP signal is not too sensitive, but avoid running high-voltage ignition traces close to it and its wiring. Some people shield it overcautiously.
See also