OBD I LCD Screen
xeudoxus
Posts: 7
Hello, this is my first post in this forum. I am having problems understanding how to interface the bs2 to my 3000gt ecu.
·
The car is OBD I (ALDL Port) I currently have a max232 to convert the data from the ecu to an rs232 port. I have a palm datalogger that is currently hooked up to the system and works flawlessly.
·
What I want to do is use a LCD screen connected to my bs2 to display ecu data. Similar to the lcd screen in the dash of a newer vette.
·
What I am having problems with is how to receive the serial data from the ecu. By using a serial port monitor I found out that the ecu does not send ANY data. So does that mean you would need to send a request for the information? (Example, request data from 0x1D and wait for data?)
·
Anyways to sum up.. I need to request values from·the ecu·to display the calculated value on an lcd screen.
·
The baud rate is 19200, none, 8, 1
·
ECU Protocal Inforation
·
·
Thanks,
-Matt
·
The car is OBD I (ALDL Port) I currently have a max232 to convert the data from the ecu to an rs232 port. I have a palm datalogger that is currently hooked up to the system and works flawlessly.
·
What I want to do is use a LCD screen connected to my bs2 to display ecu data. Similar to the lcd screen in the dash of a newer vette.
·
What I am having problems with is how to receive the serial data from the ecu. By using a serial port monitor I found out that the ecu does not send ANY data. So does that mean you would need to send a request for the information? (Example, request data from 0x1D and wait for data?)
·
Anyways to sum up.. I need to request values from·the ecu·to display the calculated value on an lcd screen.
·
The baud rate is 19200, none, 8, 1
·
ECU Protocal Inforation
·
·
Thanks,
-Matt
Comments
First, I wasn't aware that any vehicle output ordinary RS-232 data on the OBD interface, without the use of a converter chip. When you say "I have a palm datalogger that is currently hooked up to the system and works flawlessly." do you mean to say that it is displaying appropriate OBD data?
What does your SERIN statement look like in your BS-2 program? You might want to show us the entire program, if it's not too long.
Regards,
Bruce Bates
Does this mean that you downloaded, or purchased a program to datalog onto your palm? Or did you program the data logger?
I am guessing you downloaded/purchased it.
It sounds like to me that the palm is communicating to the 232, and the 232 is communicating to the ECU.
With a stamp you will still need the 232 convertor, you'd just hook up the stamp in place of the palm.
Now comes the key part, you need to know HOW to communicate with the ECU. Basically you need the data that the maker of your "palm datalogger" has.
The palm datalogger sends commands to your ecu to tell it to send stuff. Standard com ports signal to eachother when each is ready to send or receive data.
You need to find out the typical communication sequence from start to end result of getting the value of a particular sensor.
Without detailed ODI I information, you and I are in the dark.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Meh. Nothing here, move along.
http://forums.parallax.com/showthread.php?p=566746
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Meh. Nothing here, move along.
Here is a link to the datalogging software that I am running on my palm.
http://www.3si.org/forum/showthread.php?t=203226
Here is the schmatic for the max233 circut I am running.
I am looking for how the imforation get sent and received but no luck finding anything.
Thanks,
-Matt
PROTOCOL
ODB1 protocol is very simple command-response - one byte requests/one byte
responses. No checksums / startup etc.
Here is the source to the palm datalogging software. Should provide communication protocol
http://prdownloads.sourceforge.net/mmcdlogger/mmcd-1.5d-src.zip?download
Thanks,
-Matt
Post Edited (xeudoxus) : 1/24/2006 3:44:57 AM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Meh. Nothing here, move along.
Here is what I think might work, but I need to get the display working first before I can test.
I have a HD44780 2x16 lcd screen that I need to get working on this project. I do not know how to write the "rpmD" to the lcd screen. (I do not want to store my values in EEPROM) If you guys can help me out on the display I can start to do some testing
Thanks a bunch,
-Matt
This oughta be schweet!
Matt
I'de love to do this project... Hmmm... well, when I move into my fifth Jeep I can do it... [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Just tossing my two bits worth into the bit bucket
KK
·
Thats my reason for wanting a ODI-I reader.. I can't figure out whats wrong with this car.
And today I did a spark test of the spark plug coil... After nearly stopping my heart, and throwing the screwdriver across the room from the shock (my gloves were oil soaked LOL) I had to take a breather, and consider the stupidity of allowing my elbowes to touch the car frame, even tho I was wearing gloves, and a long sleve shirt, the spark went thru my gloves, thru my shirt, and back into the car frame. a small amount of the shock made it across my heart out the other elbow, but apparently not enough to even make it flutter thankfully. But I am young.
So I now sit back and appreciate the power of the electron, and still question what the hell is wrong with the car.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Meh. Nothing here, move along.
This all started suddenly, at first I didn't know what was wrong, untill I figured out the timing belt was split in half...
So I took apart half the engine to get at it all, and while im there, replaced the water pump. I figured i'd test the engine before I put all pumps etc back on to make sure it goes. And it dosen't. The engine should start even tho the air compressor, the steering pump, and the alternator are not connected. I have the battery hooked up to a secondary car to fill the void of the unconnected alternator.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Meh. Nothing here, move along.
Post Edited (BPM) : 1/24/2006 8:51:03 PM GMT
I still cannot get the lcd screen the way I want it.
I·will look over the datalogger source again
·EDIT: Sending the hex $21 I was getting a responce from the ECU (But it was a consistant value [noparse][[/noparse]error code???])
-Matt
//·····E - exists, C - capture, G - graph
//················ ··· addr·· slug·· format· E· C· G· Sn P Thr· clr· value······· descr
/* 17>·X--- */·{ 0x21, "RPM",· f_ERPM, 1, 0, 0, 0, 0, 0, 119, "?\0····· ", "Engine speed",· },
/* 18·X--- */·{ 0x26, "KNCK", f_DEC,· 1, 0, 0, 0, 0, 0,·· 0, "?\0····· ", "Knock sum",· },
/* 19>·X--- */·{ 0x29, "INJP", f_INJP, 1, 0, 0, 0, 0, 0,·· 0, "?\0····· ", "Inj pulse width",· },
Int16 f_DEC(UInt8 d, Char *s);
Int16 f_HEX(UInt8 d, Char *s);
Int16 f_ERPM(UInt8 d, Char *s);
// Engine speed, 0..8000 rpm
// 31.25 * x
Int16 f_ERPM(UInt8 d, Char *s) {
·Int32 v = 2048000L * d;
·return StrPrintF(s, "%ldrpm", v >> 16);
}
Any progress on this? I'm working on a similar project trying to communicate with an OBD I Chevy 3.4 DOHC.