MAP Sensor
Overview
MAP sensors measure the pressure of air entering an engine (Manifold Absolute Pressure). This information may be used by the ECU to calculate the amount of fuel required for combustion.
There are typically two MAP sensor inputs on the ECU, with the two sensors being used for redundancy and error checking.
The voltage output of the MAP sensor is typically linear with pressure, and the ECU can be configured to convert this voltage into a pressure reading in kPa.
The MAP sensor can optionally be used as a measure of Engine Load, in which case the ECU will convert the pressure reading into a load value. This load value is used as an axis input for many of the ECU’s calibration tables such as the Fuel map or the
Ignition map.
Calibration
Option / Channel | Description |
---|---|
Use MAP as the “Engine Load” measurement? | |
Set to 0 if using MAP for Engine Load. | |
Do not set if using MAP for Engine Load. | |
The source of the MAP sensor data. This is an analog input number. | |
The source of the 2nd MAP sensor data. This is an analog input number. If using a single MAP sensor, |
|
Number of internal teeth over which to average the MAP sensor readings when running. Typically this would be set to 1, 2 or 3 revolutions; the actual value to set here would depend upon the number of internal teeth per revolution which should be configured in the |
|
When running this table is filled with the samples used for averaging MAP1. | |
When running this table is filled with the samples used for averaging MAP2. | |
Inverts the MAP sensor reading, useful for some sensors that output a voltage that decreases with pressure. This same setting applies to both MAP sensor inputs. | |
Result of averaging / inverting the MAP sensor voltage readings. This value can be monitored to verify the MAP sensor input configuration and that the analogue input is reading the MAP sensor correctly. | |
Result of averaging / inverting the second MAP sensor voltage readings. This value can be monitored to verify the MAP sensor input configuration and that the analogue input is reading the MAP sensor correctly. | |
The minimum valid voltage for the MAP sensor. If If |
|
The maximum valid voltage for the MAP sensor. If If |
|
The voltage output of the MAP sensor at a low pressure reference value |
|
The physical pressure reading from the MAP sensor when the voltage reading from the analogue input reads |
|
The voltage output of the MAP sensor at a high pressure reference value |
|
The physical pressure reading from the MAP sensor when the voltage reading from the analogue input reads |
|
If non-zero, this overrides the calculated |
|
The MAP sensor calibration multiplier, derived from the reference low and high pressure and voltage values. | |
The MAP sensor calibration constant, derived from the reference low and high pressure and voltage values. | |
Indicates the maximum pressure that the MAP sensor can read. This value is used to scale the MAP sensor readings to a load value. | |
Alias of |
|
The absolute value of the MAP sensor reading, in kPa. | |
The absolute value of the MAP sensor reading, scaled using Fuel Pressure Scalar. | |
The absolute value of the second MAP sensor reading, in kPa. | |
The absolute value of the second MAP sensor reading, scaled using Fuel Pressure Scalar. | |
Maximum of |
|
Maximum of |
|
The difference between |
|
The average of |
|
The average of |
|
If the ECU is configured to use MAP as the measurement of Engine Load, this channel will show the value of |
|
Error flag for MAP sensor 1. Set if the voltage reading is outside the range defined by |
|
Error flag for MAP sensor 2. Set if the voltage reading is outside the range defined by |
|
The barometric pressure reading, in kPa. | |
The difference between |
MAP as Load Scaling
The MAP1 abs value is rescaled to make full use of the range. This may therefore require adjustment to the Load Scalar to arrive at correct pressure values for
MAP as Load and
Engine Load.
Be aware that if the MAP sensor is not being used as a measure of Engine Load then the Load Scalar could be in use by something else. For example, if Load source is being used for Engine Load then the Load scalar may be responsible for rescaling the data selected by Load source so that
Engine Load is in the correct units.
Flowchart
flowchart TD MAPMINER@{ shape: diamond, label: "< MAP Min Error"} MAPMAXER@{ shape: diamond, label: "> MAP Max Error"} MLDMAX_D@{ shape: diamond, label: "> MAP for Load max"} BARSCLD(["Barometer"]) MAP1_abs(["MAP1 abs"]) MAP_Source(["MAP Source (A2D)"])-- RUNNING? -->MAP1SMP(["MAP1 samples"]) MAP1SMP-->MAP1AVG["Average"]-->MAP_raw_Invert MAPCAL(["MAP Cal [teeth]"])--"Window Size"-->MAP1AVG MAP_Source--"NOT RUNNING"-->MAP_raw_Invert["MAP raw Invert?"] MAP_raw_Invert-->MAPRAW1(["MAP1 raw [V]"]) MAPRAW1-->MAPMINER MAPMINER-- Y -->ERROR_MAP(["Error MAP"]) MAPMINER-- Y -->MAP_ZERO["0"]-->MAP1_abs(["MAP1 abs"]) MAPMINER-- N -->MAPMAXER MAPMAXER-- Y -->ERROR_MAP(["Error MAP"]) MAPMAXER-- Y -->MAP_FULL["MAX"]-->MAP1_abs(["MAP1 abs"]) MAPMAXER-- N -->MAP1M["×"] MAPM-->MAP1M MAP1M-->MAP1C["+"] MAPC-->MAP1C MAP1C-->MAP1_abs MAP1M_SRC["(MAP ref high Pressure − MAP ref low Pressure) / (MAP ref high Volts − MAP ref low Volts)"] MAP1M_SRC-->MAPM(["MAPM"]) MAP_Ref_low_v["MAP ref low Volts"]-->MAPC_M["×"] MAPM-->MAPC_M MAP_Ref_low_p["MAP ref low Pressure"]-->MAPC_C["−"] MAPC_M-->MAPC_C MAPC_C-->MAPC(["MAPC"]) MAPC-->MLDMAX_ADD["+"] MAPM-->MLDMAX_ADD["+"] MLDMAX_ADD-->MLDMAX(["MAP for Load Max [kPa]"]) MLDMAX_ADD-->MLDS(["MAP for Load Scalar"]) MLDMAX-->MLDMAX_D MLDMAX-->MAP1_abs_DIV BARSCLD-->MAP1_abs_sub MAP1_abs-->MAP1_abs_sub["−"] MAP1_abs_sub-->BSTGAGE1["Boost1 gauge"] MAP1_abs-->MLDMAX_D MLDMAX_D-- Y -->MAP1_abs_FULL["MAX"]-->MAPLOAD1(["MAP1 as Load [Load]"]) MLDMAX_D-- N -->MAP1_abs_DIV["/ MAP for Load max"]-->MAPLOAD1(["MAP1 as Load [Load]"]) MAPLOAD1-->MAPLOAD1_MINUS_2 MAPLOAD2(["MAP2 as Load [Load]"])-->MAPLOAD1_MINUS_2 MAPLOAD1_MINUS_2["−"]-->MAPLDIFF(["MAP1-MAP2 [Load]"]) MAPLOAD1-->MAPLOAD1_AVG_2 MAPLOAD2-->MAPLOAD1_AVG_2 MAPLOAD1_AVG_2["Average OR Select"]-->MAPLDAV(["MAP1+MAP2/2 [Load]"]) MAPLOAD1_AVG_2-->MAPLOAD(["MAP as Load [Load]"]) MAPLOAD-- "MAP AND NOT MAF AND NOT "Load Source"" -->LOAD(["Engine Load [Load]"])