Out of topic:
Here is my another car cylinder head condition after using Castrol Magnatec 10W40 Semi Synthetic. I'm using it for about 5 year. Never, ever using other brand except this one.
"When a man dies, his good deeds come to an end except three: ongoing charity, beneficial knowledge and righteous offspring who will pray for him." [Sahih Muslim: 3084]
Friday, October 25, 2013
Wednesday, June 26, 2013
Mitsubishi ECU - OBD Command Code and Protocol
OBD Command
Since there is a mistake on my first post regarding of the protocol, I've made some more research on that. Here is the result on how the ecu response to the command.
Based on Christia999 code, I found the OBD command code was setting at here (refer to picture 1 and picture 2 below)
If we look further on the code comment, the OBD code were divided into few table ranges to store the variable value. Here are the table range comments by Christia999:
So how does it work? Let say we want to get the RPM value from the ECU. So the command we should be use is 0x21 (based on Mitsubishi ECU command that I've posted before). Whenever we send 0x21 command, the ECU will look-up at the variable value of the table which can be refer at the picture below.
So it is prove that the function for RPM is correct where RPM function is y=31.25*x and x is a value response by ECU.
Communication Signal
Since there is a mistake on my first post regarding of the protocol, I've made some more research on that. Here is the result on how the ecu response to the command.
Based on Christia999 code, I found the OBD command code was setting at here (refer to picture 1 and picture 2 below)
Picture 1 (The OBD Command)
Picture 2
If we look further on the code comment, the OBD code were divided into few table ranges to store the variable value. Here are the table range comments by Christia999:
So how does it work? Let say we want to get the RPM value from the ECU. So the command we should be use is 0x21 (based on Mitsubishi ECU command that I've posted before). Whenever we send 0x21 command, the ECU will look-up at the variable value of the table which can be refer at the picture below.
So it is prove that the function for RPM is correct where RPM function is y=31.25*x and x is a value response by ECU.
Communication Signal
As I've wrote before, the communication with the ECU can describe as below:
Reference:
- Serial communications rate is 1953 baud, 8 bits, 1 stop bit, no parity, TTL.
- Communication signal is "Inverted"
- Communication referral as 1 byte sent and 1 bytes receive
Multiplexing communication between ECU
Reference:
- E931/E932 source files with comments and symbols.
- Multiplexing on Wikipedia
Friday, June 7, 2013
Wednesday, June 5, 2013
On-board Diagnostic Between Mitsubishi ECU Using Arduino - Part 2
Hardware
The following lists are the items required for this project:
The following lists are the items required for this project:
- Arduino So what is Arduino? "Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments." You can get more detail information about Arduino at here. There are various types of Arduino at market. For the development of this project I use Arduino UNO R3 and other type of Arduino clone still can be use. If you on budget you can build Arduino standalone by your self. Here some of the tutorial how to make it:
- ALDL to RS232 adapter I'm using this schematic diagram to made the adapter. Please use this diagram for our tutorial process.
- Please take a note that there is some modification I've made by adding a 1 hex inverter 7404 ic in process of building the pcb. The purpose of 7404 IC is to intervention the Arduino serial signal instead using using another RS232 to TTL adapter. By the way this board is under development because there is some error found which made my the LCD shown unknown character.
- The prototype of 2 layer PCB version - Mitsuduino Shield using 7404IC and MAX232
- dfRobot rs232 to ttl converter It used to convert the serial signal to our ALDL adapter. You can also use other type of adapter as long it can convert the signal between rs232(serial) to ttl 5v signal.
- 16x2 Character LCD It used to display the value we get from the ECU. You can get the cheapest on the ebay "keyword 16x2 lcd"
Monday, June 3, 2013
On-board Diagnostic Between Mitsubishi ECU Using Arduino - Part 1
Introduction
This project is about an On-board diagnostic tool for ECU car made by Mitsubishi around years (90-96). I'm using Arduino as the main devices for the medium of communication. The main focus of this project is to display all the data received on the dashboard of the car by using the LCD display. Beside that, i also have a plan to display it using a mobile phone or tablet.
Protocol
Honestly, It took me a long time to get a proper information regarding communication / protocol between the ECU. This is caused by several factors including the information sought is limited, the lack of equipment and in addition there are also some people do not tend to share information due to commercial factors.
Before the analysis described below is done, I have provided some devices to get more detail on how MMCd Logger communicate with the ECU. Later on, all the information will use as input to develop a logger with Arduino. The devices are:
Based on logical analysis software, I found that the communication between the ECU and MMCD Logger is based on; for each 1 byte command was sent, the ECU will respond with2 bytes 1 byte of data. Here are the results of analysts that has been made:
Notes:
Steve from dsmtuners.com have made a correction on me about the protocol with the ecu. The 2 bytes data that i have mention before is actually an echo of the signal because of using a multiplexed data line.
Reference
This project is about an On-board diagnostic tool for ECU car made by Mitsubishi around years (90-96). I'm using Arduino as the main devices for the medium of communication. The main focus of this project is to display all the data received on the dashboard of the car by using the LCD display. Beside that, i also have a plan to display it using a mobile phone or tablet.
Protocol
Honestly, It took me a long time to get a proper information regarding communication / protocol between the ECU. This is caused by several factors including the information sought is limited, the lack of equipment and in addition there are also some people do not tend to share information due to commercial factors.
Before the analysis described below is done, I have provided some devices to get more detail on how MMCd Logger communicate with the ECU. Later on, all the information will use as input to develop a logger with Arduino. The devices are:
- ALDL to RS232 adapter as communication tool between ECU and Palm. Download full schematic diagram here. An ALDL voltage describe by Wikipedia as "The signaling of ALDL is very similar to the RS-232 serial data standard; differing in the voltages used to denote logical one (usually 0VDC) and logical zero (either +5VDC or +12VDC), and that unlike RS232, both transmit and receive functions are on the same conductor."
- Palm IIIc
- 8 Channel Logic Analyzer
- MMCd Logger version 1.8
- Logic Analyzer Software
Based on logical analysis software, I found that the communication between the ECU and MMCD Logger is based on; for each 1 byte command was sent, the ECU will respond with
- Serial communications rate is 1920 baud, 8 bits, 1 stop bit, no parity, TTL. (On MMCd web site stated it communicate at 1953 baud rate but both have replies.)
- Communication signal is "Inverted"
- Communication referral as 1 byte sent and
2 bytes1 bytes receive
Table of Mitsubishi ECU Command
Notes:
Steve from dsmtuners.com have made a correction on me about the protocol with the ecu. The 2 bytes data that i have mention before is actually an echo of the signal because of using a multiplexed data line.
Reference
- MMCd Logger
- ALDL - RS232 schematic diagram
- ALDL - Wikipedia
Subscribe to:
Posts (Atom)