E90Post
 


TNT Racewerks
 
BMW 3-Series (E90 E92) Forum > E90 / E92 / E93 3-series Technical Forums > BMW Coding > Engine Information LEDs Project



Reply
 
Thread Tools Search this Thread
      11-24-2015, 04:41 PM   #1
Organized
Registered
Germany
0
Rep
4
Posts

Drives: E91 325dA 2007
Join Date: Nov 2015
Location: Germany

iTrader: (0)

Engine Information LEDs Project

Hi guys,

unfortunately BMW doesn't throw information about the engine status around, what really annoys me on my E91 325d automatic.

By the way, I don't know if there is a 325d model in the US, but here in Europe it's a capped 330d.

My idea is to grab these information from the electronics, calculate this and that and then show the following information by using LEDs next to the light switch:
  • Blue LED: Coolant temperature <85°C (185°F)
  • Red LED: Exhaust gases temperature >500°C (930°F), indicating that the particle filter is being burnt
  • Yellow LED: When standing still, is it safe to turn off the engine without killing the turbo (on=no, off=yes)? At this point I'm not 100% sure how to decide that, but I guess a mix of turbocharger rpm and exhaust gases temperature is okay

So I need these information:
  • Coolant temperature
  • Exhaust gases temperature
  • Engine RPM
  • Turbo RPM

The problem is, I don't know if I should grab these information from the CAN busses or the OBD interface.

In my opinion it's better to use the OBD, because every information needed is on this one. Also, there is a standardized address for the information, so I know instantly which value to pick. I'd use a ELM323 to translate OBD into RS232 and then evaluate it in a Atmel AVR. But if I do this, is it still possible to use external OBD interfaces without problems or is just one interface possible?

On the other hand, the CAN bus option is cheaper (because the ELM323 is pretty expensive) and not so dilettante. I'd use the PT-CAN, because I think there is every needed information on it. But where do I get the addresses from? Does anyone know them?

What do you think of my little project? Programming the AVR is not a problem for me and the hardware is a thing for a buddy, but I'm struggling to decide where I should get my information from. Maybe you can help me

Thanks for reading!
Appreciate 0
      11-24-2015, 05:25 PM   #2
Sensible_
Colonel
529
Rep
2,505
Posts

Drives: 2008 E90
Join Date: Feb 2012
Location: London

iTrader: (1)

It's a nice idea but I think most will found it redundant with the advent of smartphone apps with monitor the OBD2 PID's.

If you could incorporate it in the dash KOMBI somehow I'd be onboard.
Appreciate 0
      11-24-2015, 06:29 PM   #3
Organized
Registered
Germany
0
Rep
4
Posts

Drives: E91 325dA 2007
Join Date: Nov 2015
Location: Germany

iTrader: (0)

Well, theoretically it's possible to place the LEDs everywhere you like, but I don't really want to open up my dash and much more I guess that will be annoying when driving at night.

When I sit in my driving position, I can see the left part of the light switch in the corner of the eye, that's why I think it's a good location to place the LEDs.

I already use my smartphone to look at some values on the OBD but I want a built in solution

When the project is done, I will publish the circuit layouts and the code for the AVR, but because I live in Germany it will be not possible for me to ship anything to the US.

Last edited by Organized; 11-24-2015 at 06:31 PM.. Reason: More text
Appreciate 0
      11-25-2015, 01:11 PM   #4
matteblue3er
Captain
238
Rep
947
Posts

Drives: Racecar
Join Date: Jul 2015
Location: Philly

iTrader: (0)

This project is perfect for you:

http://freematics.com/products/

It is not very user friendly though. You will need to know programming language. Arduino language is very similar to C/C++.

But you can grab all OBDII info from this device and then use the open ports on the Arduino to control the LEDs.....when they are triggered to turn on/off, brightness, etc. You could even control them with PWM and use an RGB LED to change color from blue to red as coolant temp rises. Possibilities are endless....

For your project, this is actually pretty straight forward and doesn't require much programming knowledge.

I don't beleive there is a known PID for turbo RPM. You may need to use an external sensor for that but finding one that can you can integrate with the turbos and withstand heat will be a task.

OBDII port taps into the CAN bus, D-CAN bus to be specific. When you read faults, they are transferred over your D-CAN network. Really, you don't need to occupy the OBDII port with this kit. You can just tap the can wires behind the OBDII port or anywhere else in the car for that matter, and leave the OBDII port accessible for other uses. And of course power and ground.

I use this to grab engine speed (RPM) from OBDII. Then I have 4 external sensors, 2 thermocouples and 2 pressure sensors to monitor pre and post intercooler temps and pressures. I have this setup programmed to log the data in a .CSV format on an SD card. It's a completely standalone data logger with a decent sample rate (500+ samples/min). I just pop out the SD card and upload into Excel. From there I can graph the data

BTW, you do not need to worry about cooling down the turbo on these models. That is one of the advantages of an electric water pump....it can be run independent of engine speed. This means the water pump can be run after shutting the motor off so the turbos can reach a safe resting temperature.

Last edited by matteblue3er; 11-25-2015 at 01:56 PM..
Appreciate 0
      11-27-2015, 11:48 AM   #5
Nick.B
Second Lieutenant
Canada
56
Rep
272
Posts

Drives: 335i, 330i, 335xi, 6MT sport
Join Date: May 2014
Location: Calgary, Canada

iTrader: (3)

Garage List
2011 335i  [0.00]
2006 E90 330i  [0.00]
Quote:
Originally Posted by Organized View Post
What do you think of my little project? Programming the AVR is not a problem for me and the hardware is a thing for a buddy, but I'm struggling to decide where I should get my information from. Maybe you can help me

Thanks for reading!
Cool idea. I've been thinking of doing some similar things but it's so far down my list of things to do I may never get to it.

What language are you using for programming the AVR?
Appreciate 0
Reply

Bookmarks


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT -5. The time now is 10:23 PM.




e90post
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
1Addicts.com, BIMMERPOST.com, E90Post.com, F30Post.com, M3Post.com, ZPost.com, 5Post.com, 6Post.com, 7Post.com, XBimmers.com logo and trademark are properties of BIMMERPOST