Go Down

Topic: Throttle body Sync & Intake manifold pressure tool (Read 2163 times) previous topic - next topic

Lordy46

Hi guys,

Intro:

First post on here as well as my first project but I thought id share with you my project, I've completed which allows me to read vacuum or pressure of each throttle body on motorbike to allow me to synchronise them or intake manifold on a car to allow me to diagnose running problems or general health of the engine.

Parts Required:
  • Computer or laptop
  • Arduino Uno R3*
  • NXP Freescale MPX4250AP(datasheet)
  • 1uf, 0.01uf, 470pf ceramic capacitors(for decoupling and filtering of mpx4250ap)
  • 7/0.2 wire, red, brown, yellow
  • Strip board
  • Screened 4 core cable
  • 3 pin Molex connector and header
  • 2.54mm male header pins
  • plastic box
  • 4mm silicon tube
  • various sized heat shrink
  • m4 csk bolts, m4 rubber washers, m4 nylocs

* any Arduino board could be used


Sketch:
Code: [Select]
//Pressure Sensor Pin Initiation
int vacsensor = analogRead(A0); //The output pin

int atmos = 101.32; // 101.32kpa at sea level (change this to what pressure is where u are)

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600); //Start the serial connection with the computer
}

void loop() {
  // put your main code here, to run repeatedly:
int reading = analogRead(vacsensor); //Takes readings from the sensor pin

                           
float voltage = reading * (5253/1024.0); //converting reading to voltage (0-1023) to (204-5253mv)
                                                                             

//Converts voltage to pressure
float pressurekpa = (((voltage+104)/20)-atmos); //Converts mv to kpa
                                                 //Includes atmosphreic pressure factor
                                                 //Includes offset of 104mv

//Prints Pressure
Serial.print(pressurekpa); Serial.println("kpa"); //prints pressure(-81.32kpa-148.68kpa)
delay(500); //delays 1/2 second
}


Brief Build Description:
  • Pretty simple assemble, used strip board for decoupling and filtering circuit and to connect the Arduino to the sensor
  • From the Arduino to circuit board I used screened cable with screen connected to the Arduinos ground 
  • The 7/0.2 wire I had on me at the time I used to connect the sensor to the circuit board
  • Placed circuit board and sensor into plastic box, secured using m4 csk bolts, sealed cable going to Arduino and vacuum hose coming out
  • Attached male header pins to the end of screened cable going to the Arduino to allow easy of connecting and disconnecting the sensor
  • used Arduino to serial print the readings to the computer


Possible improvements yet to come:
  • Lcd display to display the readings instead of using computer
  • power source required if using the lcd display as this will do away with need of computer hooked up to the Arduino
  • barometric pressure sensor to make readings more accurate as I'm using estimate of pressure from sea level


Any improvements I make to my original design I will add to this topic.


cyclegadget

Lordy46,

  Thank you for sharing you project! I just purchased a Freescale MPX4250AP sensor to try out. I am wanting to use it for data logging my motorcycle engine. I think your code will also help me to get useful information from my sensor!
Good links: Eagle tutorial= http://www.youtube.com/playlist?list=PLDE1858BD83D19C70
General Arduion tutorials = http://tronixstuff.wordpress.com
http://www.gammon.com.au/forum/bbshowpost.php?bbtopic_id=123

Lordy46

Hi cyclegadget,

Thats nice to hear that my code and information for my project will help others achive the same thing or similar, if oyu have any input or improvmeants more than welcome to hear them.



Update on the project: need to try and implemeant smoothing or averaging code into the sketch as code at the  moment when being used is way to sensitive for the enviromeant and requires more stable readings, i thought the delay would be enough to combat that but has proven wrong, will update with new sketch when completed and tested.

Go Up