5

In recent project, I have to take reading from MAP sensor. So basically, we used analog pin for this. But in my case, I don't get proper result which actually I want.

When I'm taking readings through multi-meter then I got proper readings. Means when I start the vehicle then it's show 0.99 V. When I provide full throttle then voltage also increase and it's reach to 1.66 V. And finally when suddenly come back to normal throttle then also voltage decrease around like 0.48 V and then within a second again show normal 0.99 V.

Here, when I'm taking readings from MAP sensor through multi-meter then I'm providing ground to multi-meter. And when I taking readings from MAP sensor through Arduino then I'm not providing any ground to Arduino. Because I think it may be damage my Arduino.

So, I think this is also one possibility and may be possible that's why I'm not getting that type of voltage output through Arduino.

Here, the ground which I provide to multi-meter is from 12V DC battery which is used in CNG Auto rickshaw. So, that's why I'm not providing ground to Arduino. So, give me some suggestions about this. What should I do for this. Providing ground to Arduino or not.

Here, it's my code.

int kMAP1 = 0;
float kMAP2 = 0;
void setup() 
{
 Serial.begin(9600);
}
void loop() 
{
 kMAP1 = analogRead(A0);
 kMAP2 = kMAP1 * (5.0 / 1023.0);
 Serial.print("MAP1: ");
 Serial.print(kMAP1);
 Serial.print("\t");
 Serial.print(" MAP2: ");
 Serial.println(kMAP2);
 delay(1000);
}

And it's my serial monitor output.

MAP1: 490 MAP2: 2.39
MAP1: 433 MAP2: 2.12
MAP1: 270 MAP2: 1.32
MAP1: 0 MAP2: 0.00
MAP1: 447 MAP2: 2.18
MAP1: 401 MAP2: 1.96
MAP1: 518 MAP2: 2.53
MAP1: 487 MAP2: 2.38
MAP1: 344 MAP2: 1.68
MAP1: 374 MAP2: 1.83
MAP1: 611 MAP2: 2.99
MAP1: 429 MAP2: 2.10
MAP1: 647 MAP2: 3.16
MAP1: 668 MAP2: 3.26
MAP1: 460 MAP2: 2.25
MAP1: 489 MAP2: 2.39
MAP1: 278 MAP2: 1.36
MAP1: 277 MAP2: 1.35
MAP1: 318 MAP2: 1.55
MAP1: 383 MAP2: 1.87
MAP1: 238 MAP2: 1.16
MAP1: 237 MAP2: 1.16
MAP1: 134 MAP2: 0.65
MAP1: 191 MAP2: 0.93
MAP1: 230 MAP2: 1.12
MAP1: 308 MAP2: 1.51
MAP1: 479 MAP2: 2.34
MAP1: 388 MAP2: 1.90
MAP1: 544 MAP2: 2.66
MAP1: 518 MAP2: 2.53
MAP1: 419 MAP2: 2.05
MAP1: 544 MAP2: 2.66 
MAP1: 586 MAP2: 2.86
MAP1: 544 MAP2: 2.66
MAP1: 575 MAP2: 2.81
MAP1: 184 MAP2: 0.90
MAP1: 202 MAP2: 0.99
MAP1: 883 MAP2: 4.32
MAP1: 671 MAP2: 3.28
MAP1: 884 MAP2: 4.32
MAP1: 487 MAP2: 2.38
MAP1: 403 MAP2: 1.97
MAP1: 184 MAP2: 0.90
MAP1: 426 MAP2: 2.08
MAP1: 412 MAP2: 2.01
MAP1: 428 MAP2: 2.09
MAP1: 434 MAP2: 2.12
MAP1: 420 MAP2: 2.05
MAP1: 312 MAP2: 1.52
MAP1: 414 MAP2: 2.02
MAP1: 435 MAP2: 2.13
MAP1: 405 MAP2: 1.98
MAP1: 418 MAP2: 2.04
MAP1: 515 MAP2: 2.52
MAP1: 462 MAP2: 2.26
MAP1: 578 MAP2: 2.83
MAP1: 332 MAP2: 1.62
MAP1: 330 MAP2: 1.61
MAP1: 164 MAP2: 0.80
MAP1: 425 MAP2: 2.08
MAP1: 345 MAP2: 1.69
MAP1: 226 MAP2: 1.10
MAP1: 0 MAP2: 0.00
MAP1: 97 MAP2: 0.47
MAP1: 872 MAP2: 4.26
MAP1: 55 MAP2: 0.27
MAP1: 492 MAP2: 2.40
MAP1: 531 MAP2: 2.60
MAP1: 1023 MAP2: 5.00
MAP1: 43 MAP2: 0.21
MAP1: 6 MAP2: 0.03
asked Jan 16, 2017 at 6:27
3
  • 1
    For this to be a valid question here, you would need to provide a link to the data sheet of the sensor and a schematic of the circuit that powers it and connects it the arduino. Commented Jan 16, 2017 at 7:04
  • @ChrisStratton Ok. Got it. I will upload soon. Commented Jan 16, 2017 at 7:38
  • @jwpat7 Now, it's readable. Commented Jan 16, 2017 at 7:39

3 Answers 3

4

The ground does need to be connected. I have also added a RC filter to stabilize the sensor reading.

Connection :

Arduino 5V ----> MAP Vcc

Arduino GND ----> MAP GND

Arduino Analog Pin A0 <---- RC Filter <---- MAP Output pin

Using this connection, I get the proper readings.

Readings on Serial Monitor :

// When Vehicle not start //
MAP1: 376 MAP2: 1.84
MAP1: 376 MAP2: 1.84
MAP1: 376 MAP2: 1.84
MAP1: 376 MAP2: 1.84
MAP1: 376 MAP2: 1.84
MAP1: 376 MAP2: 1.84
MAP1: 376 MAP2: 1.84
MAP1: 376 MAP2: 1.84
MAP1: 376 MAP2: 1.84
MAP1: 376 MAP2: 1.84
MAP1: 376 MAP2: 1.84
MAP1: 376 MAP2: 1.84
MAP1: 376 MAP2: 1.84
MAP1: 376 MAP2: 1.84
//When start vehicle//
MAP1: 343 MAP2: 1.68
MAP1: 332 MAP2: 1.62
MAP1: 341 MAP2: 1.67
MAP1: 255 MAP2: 1.25
MAP1: 215 MAP2: 1.05
MAP1: 336 MAP2: 1.64
MAP1: 320 MAP2: 1.56
MAP1: 321 MAP2: 1.57
MAP1: 308 MAP2: 1.51
MAP1: 316 MAP2: 1.54
MAP1: 326 MAP2: 1.59
MAP1: 326 MAP2: 1.59
MAP1: 325 MAP2: 1.59
MAP1: 177 MAP2: 0.87
MAP1: 219 MAP2: 1.07
MAP1: 216 MAP2: 1.06
MAP1: 220 MAP2: 1.08
MAP1: 208 MAP2: 1.02
MAP1: 211 MAP2: 1.03
//Provide full throttle//
MAP1: 319 MAP2: 1.56
MAP1: 324 MAP2: 1.58
MAP1: 341 MAP2: 1.67
MAP1: 349 MAP2: 1.71
MAP1: 353 MAP2: 1.73
MAP1: 352 MAP2: 1.72
MAP1: 352 MAP2: 1.72
MAP1: 356 MAP2: 1.74
MAP1: 357 MAP2: 1.74
MAP1: 359 MAP2: 1.75
MAP1: 355 MAP2: 1.74
MAP1: 354 MAP2: 1.73
MAP1: 327 MAP2: 1.60
//Suddenly come back to normal throttle//
MAP1: 181 MAP2: 0.88
MAP1: 181 MAP2: 0.88
MAP1: 192 MAP2: 0.94
MAP1: 205 MAP2: 1.00
MAP1: 201 MAP2: 0.98 
MAP1: 210 MAP2: 1.03
MAP1: 218 MAP2: 1.07
MAP1: 222 MAP2: 1.09
//Provide full throttle again//
MAP1: 309 MAP2: 1.51
MAP1: 375 MAP2: 1.83
MAP1: 395 MAP2: 1.93
MAP1: 376 MAP2: 1.84
MAP1: 261 MAP2: 1.28
MAP1: 360 MAP2: 1.76
MAP1: 307 MAP2: 1.50
MAP1: 361 MAP2: 1.76
MAP1: 259 MAP2: 1.27
//Suddenly back again normal throttle//
MAP1: 156 MAP2: 0.76
//Again provide full throttle//
MAP1: 295 MAP2: 1.44
MAP1: 267 MAP2: 1.30
MAP1: 287 MAP2: 1.40
MAP1: 372 MAP2: 1.82
MAP1: 380 MAP2: 1.86
MAP1: 375 MAP2: 1.83
MAP1: 229 MAP2: 1.12
MAP1: 359 MAP2: 1.75
MAP1: 339 MAP2: 1.66
MAP1: 337 MAP2: 1.65
MAP1: 359 MAP2: 1.75
MAP1: 344 MAP2: 1.68
//Again suddenly back to normal throttle//
MAP1: 121 MAP2: 0.59
MAP1: 164 MAP2: 0.80
MAP1: 202 MAP2: 0.99 
//Again provide full throttle//
MAP1: 310 MAP2: 1.52
MAP1: 339 MAP2: 1.66
MAP1: 356 MAP2: 1.74
MAP1: 361 MAP2: 1.76
MAP1: 274 MAP2: 1.34
//Again suddenly back to normal throttle//
MAP1: 127 MAP2: 0.62
MAP1: 178 MAP2: 0.87
MAP1: 221 MAP2: 1.08
MAP1: 247 MAP2: 1.21
MAP1: 224 MAP2: 1.09
//Again provide full throttle//
MAP1: 292 MAP2: 1.43
MAP1: 278 MAP2: 1.36
MAP1: 265 MAP2: 1.30
MAP1: 367 MAP2: 1.79
MAP1: 328 MAP2: 1.60
MAP1: 358 MAP2: 1.75
//Again suddenly back to normal throttle//
MAP1: 182 MAP2: 0.89
MAP1: 174 MAP2: 0.85
MAP1: 242 MAP2: 1.18
MAP1: 253 MAP2: 1.24
MAP1: 261 MAP2: 1.28
//Vehicle stop//
MAP1: 307 MAP2: 1.50
MAP1: 360 MAP2: 1.76
MAP1: 375 MAP2: 1.83
MAP1: 375 MAP2: 1.83 
MAP1: 375 MAP2: 1.83
MAP1: 376 MAP2: 1.84
MAP1: 375 MAP2: 1.83
MAP1: 375 MAP2: 1.83
MAP1: 376 MAP2: 1.84
MAP1: 376 MAP2: 1.84
MAP1: 377 MAP2: 1.84 
MAP1: 377 MAP2: 1.84
MAP1: 377 MAP2: 1.84
MAP1: 377 MAP2: 1.84
answered Jan 19, 2017 at 8:58
1

Although the circuit isn't shown and description isn't perfectly clear, evidently there is some question about how to connect up the various grounds.

Voltage, being "the difference in electric potential energy between two points per unit electric charge" [ref Voltage article in Wikipedia], is measured between two points in an electric circuit. If the two points are in unrelated and isolated circuits meaningful measurements can't be taken.

In typical MAP sensor circuits, the sensor output is relative to automotive ground, so your Uno's analog ground should be connected to automotive ground. Whether this is electrically safe depends on several things:
• Sensor output voltage range – The multimeter readings showed a safe range. The range is narrow compared to the Uno ADC's default +5V range; if you want a bit or two more resolution, you could either set up a 2 V external ADC reference, or could amplify the sensor output up to a range of about 5 V, or could use a unity gain op amp circuit followed by a voltage divider to get into a 0-to-1.1 V range, and use the internal 1.1 V bandgap reference.
• Uno power supply ground voltage – If the Uno's supply is isolated, its ground can be connected to automotive ground with no problem. Or, if its supply ground already connects to automotive ground, no problem. Where a problem might occur is if you measure a large voltage between automotive ground and Uno ground. If so, connect a 100 Ω resistor between the two grounds and measure the voltage across it. If the voltage is near zero, you can connect the grounds or could leave them connected by a small resistor like that. If, on the other hand, some appreciable voltage appears across the resistor, or if it disappears in a puff of smoke, then they can't connect safely and you would need to use a different power supply for the Uno that doesn't have such a problem.
• Ground wire topology – The wiring path from Uno ground to automotive ground should not share any segments with high current devices. In normal operation, or in case of a load dump, several volts difference can arise between the ends of a piece of ground wire to a high current device.

answered Jan 16, 2017 at 20:14
0

I once used an arduino to check the map sensor on my ford f150. As an FYI, I will state that the ford map gave a digital pulse as output for the engine computer and was not analogue as the one you seem to be using. I'm only commenting here for others who might be having trouble with a MAP sensor, so that they realize that some give pulse outputs and not voltage outputs. So, I'm not sure about your map sensor, or turning the pulses into an average reading, but I simply used the interrupt to count pulses over a second and then recorded those readings over several minutes of drive time. (I was having intermittent engine stumbling and I was ruling out the various sensors as causing the trouble.) I was checking to make sure the MAP sensor didn't completely drop out from time to time. In the end, it was my ignition module giving out due to heat fatigue that was the problem. But, I can say that with a handful of resistors and a probe I was able to check all the sensors in the vehicle in short time...except for the oxygen sensor which I was afraid to damage due to its sensitivity.

answered Mar 25, 2018 at 20:54

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.