Propeller-based vehicle OBD data reader and logger
This is a brief overview of an OBD reader I have put together using a Propeller: the prop uses RS232 to communicate with an ELM327 OBD to RS232 converter. The user can scroll through a variety of data that is supported by my car and acceleration data from a 3 axis Sparkfun accelerometer.
Four parameters can be recorder to an SD card (one parameter every second or so) or accelerometer data many times a second.
Acceleration and 'cornering' bargraph
Coolant temperature
Lambda Ratio
Engine Load
Airflow
Manifold pressure
RPM
Speed
Ignition Advance
More details to follow...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Hugh - the thinking woman's Geoffrey Pyke.
Post Edited (Hugh) : 11/17/2009 6:23:35 AM GMT
Four parameters can be recorder to an SD card (one parameter every second or so) or accelerometer data many times a second.
Acceleration and 'cornering' bargraph
Coolant temperature
Lambda Ratio
Engine Load
Airflow
Manifold pressure
RPM
Speed
Ignition Advance
More details to follow...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Hugh - the thinking woman's Geoffrey Pyke.
Post Edited (Hugh) : 11/17/2009 6:23:35 AM GMT
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
PG
The acceleration data is very useful for working-out what changes to tyres, suspension, driving-style, etc., have on cornering and braking - I can also see every bump in the road as a spike in the data!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Hugh - the thinking woman's Geoffrey Pyke.
I hope to have some soon - I just need to get more familiar with Eagle Schematic 5.6.0...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Hugh - the thinking woman's Geoffrey Pyke.
I work on mileage enhancement for vehicles with an on board electrolyzer for combustion enhancement. (better mileage)
I'd be especially interested if the prop could be programmed to do certain things based upon data received from the OBD Port. I don't see why not.
Alex
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If at first you don't succeed, then skydiving is not for you.
It's not pretty, but I'm still learning...
(Today's mystery: I have had to comment out everything to do with the accelerometer since even starting the 'ADC' object stops the SD card mounting. It worked yesterday!)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Hugh - the thinking woman's Geoffrey Pyke.
I have to own up to some post-processing to produce the KML file from simple Lat/Long data, but it has a few people salivating over the possibilities for tuning their cars for track days, etc.,. By recording (and then post-processing) 3-axis accelerometer data I've already helped someone improve their track times by tweaking their braking technique. I love the Propeller!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Hugh - the thinking woman's Geoffrey Pyke.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Hugh - the thinking woman's Geoffrey Pyke.
I now have an ELM322 and am currently getting it bread boarded.· I have been working on a Nitrous Oxide (NOS)·controller and was looking for a way to trigger it within a settable·RPM window and at Wide Open Throttle.· From your screen captures it showed me that this was the solution I was looking for.
For those that want more info on exactly what this does and what is needed to get it up and running...
The chips are from Elm Electronics http://www.elmelectronics.com/obdic.html· (Hugh used their 327 which works with most cars, I only needed a GM compatible chip so I got the 322)
The chips themselves need an oscillator crystal (different crystal depending on chip) as well as common transistors, resistors and capacitors (example circuits are in the datasheets, also look around their website for extra infomation).·
To make things easier, an OBD2 cable is needed as well (http://www.obd2cables.com/products/obd-cables/obd-ii-cables/).
The Elm chip talks to the·microcontroller via serial connection sending and receiving·mostly hex.· Depending on what you ask for you can read current data as well as read and clear·trouble codes.·
An example in the 322·datasheet to get·current data (mode 1) for the engine coolant temperature (PID 5) you transmit the equivalent of·hex values·"01 05" and a carriage return "0D".· The response you receive would be something like "41 05 7B".· The first 2 hex values are basically repeating what you asked of it (41 is the response back to an 01... 05 is 05).· The last hex·"7B" is the temp in C·plus 40 degrees (for sub zero measurements).· So 7B is 7 x 16 + 11 = 123, then the offset for subzero... 123 - 40 = 83.· So your current Engine Coolant Temp is 83 C.
Post Edited (Gunstar1) : 1/17/2010 11:07:02 PM GMT
Project Schematic, Code, Docs, whatever it takes to actually build the completed project. I thought "maybe I am wrong" The purpose of this section was so the rest of us could actually build and get working the project the person was sharing with us??
Maybe I am wrong and again Hugh please don't take offense but when I see a really good project and I think yours is and come here to see how to build it I am often disappointed Just my 2 cents but I think Parallax should insist on only posting finished projects here that can the rest of us can really build from the specs. Or why bother ?????
I agree and I hold up my hand as being guilt by omission.
Having completed some schematics I thought it good engineering practise to validate them, the best method being to make another project using the schematic. Finding someone to take the schematics and produce a few PCBs has been less easy (and more expensive) than I thought.
I will post the most recent code and a schematic this evening - the latter will have to be on an 'as is' / 'sold as seen' / 'don't blame me' ·basis though....!
Hugh
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Hugh - the thinking woman's Geoffrey Pyke.
Latest code attached. I know its not the most efficient code ever written!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Hugh - the thinking woman's Geoffrey Pyke.