Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Logging data to PC from automotive ECU

Status
Not open for further replies.

arran

New Member
Hi all,

First of all, great forum. Have been searching and having a read, there is a lot of good information on here.

Reason I am posting is I am looking to log data to a PC from my aftermarket automotive ECU that runs the fuel injection and ignition timing on my car. The firmware does not do this by design, and the manufacturer (Microtech automotive Systems in Australia) have dropped support for my ecu (an MTX8).

The ecu talks to a handset which displays in real time all the paramaters I am interested in. The handset is invaluable, what I would like to be able to do is record the data for later viewing/reference.

The handset is just a characrer lcd with a few buttons. The lcd is a hitachi compatable unit and has 4 data lines (nibble mode) RS and E communication to the ECU. So essentially all I want to do is get a PC to understand what the ECU is telling the display.

Ideally it would be great to be able to use this program:
**broken link removed**
This however talks to the more recent Microtech ECUs via a serial port.

So I am wanting to do one of two things.
1) Redirect the parallel data/RS/E to serial coms (a UART/microcontroller) so I can use the nice factory program. An unlikely solution as the exact protocol the program wants is unknown.
2) Send the data intended for the handset to a PC parallel port which gets read and interpreted by software. I have the pin data of the ECU/handset link. The PC software is the piece of the puzzel I don't have.

Has anybody got any ideas to get me off the ground with this that might save me reinventing the wheel so to speak? A program that emulates (and logs) a (16x4) character LCD from parallel port data?

Arran

coote (at) netcall.com.au
 
I don't think getting input from the parallel port is all that easy. From what i've heard, output isn't too bad but input is hard.

you'd be better off building a microcontroller interface board to interpret the commands going to the LCD, and communicate with the PC via serial.

you would need to do some testing to see what kind of serial baud rate you'd need to keep up with the LCD. And I highly doubt you'd find any software out there for the PC side, I've never heard of people using their computer as a virtual character LCD before... It wouldn't be extremely hard to write a program to do everything you need, but it would require some programming experience.
 
In Automotive Designs we normally use CAN or K-Line or some equivalent protocol for communications with ECUs and other CUs for data logging and diagnosis.

If you can provide me more detail about your ECU (like some datasheet)or some information regarding Handset I may be able to help you
 
yes but he's referring to an aftermarket ECU, and it's unlikely that it will work properly (or fully) with the OBD (on-board diagnostics) port like a stock one would...
 
Aftermarket ECU also have some ports for diagnosis (usually inside the ECU for we designers) and CAN is normally used in car for communication between various CUs like ECU and TCU.
And as he said he has a handset (a hitachi compatible unit) which communicates with ECU means there is some protocol which can be utilized

BTW I work in Hitachi :)
 
Hi guys, thanks for the replies.

This is the user manual provided with the unit:
https://web.aanet.com.au/arran/mtx8 manual.doc
Feel free to have a look areound the rest of the site!

Not much tech info in there though on the hardware. There is a 3.5mm stereo socket in ECU case. I have not investigated where this leads to internally. I assume this is the programming port. Microtech have erased most of the chip numbers. However based on the age of the ECU (mid ninetys) and the appearance of the main processor I am fairly sure it is a HC11 of some sort. It has 52 pins. It might be an MC68HC811E2.

The handset plugs into a DB9 plug on the ECU. There is very little inside the handset except for a character display and buttons. Microtech have been quite clever to get 5 buttons and the display to operate with just a DB9.

I will organise a photo of the internals of the handset. I have it disassembled at the moment.

Being a commercial entity Microtech are unwilling to disclose any info about their products which is a little annoying.
 
Can you tell where the wire from the handset goes into inside of ECU (I suppose you have opend the ECU) and also let me know how many wires on the connector are being used?
 
I can guarantee a Microtech ECU is not using CAN or even anything as sophisticated as LIN.

I'm assuming I heard you right and there's no seperate microcontroller on this control board? If not, then, like you aluded to in your first post, the ECU is controlling the LCD directly and as far as I can see, you're pretty much out of luck interpreting that data.

Even if you went through all the trouble of making a controller that will interpret the 4bit Hitachi LCD controls being sent by the ECU and extracting the data you need out of it, how helpful is it going to be? What's the refreshrate? It's unlikely it will be fast enough to get useable data. I assume the buttons are used to change the display elements? You would have to auto trigger them to datalog more than a couple items at once.

In short, I can't see any simple solutions for you, other than update to a newer ECU. I know that didn't help. :)

Many UEGO controllers now offer datalogging for 3 to 5 aux items. That might help you out. I don't know what I would do without a cheap UEGO controller.
 
Thanks for the reply

DirtyLude said:
I'm assuming I heard you right and there's no seperate microcontroller on this control board? If not, then, like you aluded to in your first post, the ECU is controlling the LCD directly and as far as I can see, you're pretty much out of luck interpreting that data.

The ECU is controlling the display directly. 4 bits data and E and RS. If the display can interpret the data, why can't something else?

DirtyLude said:
Even if you went through all the trouble of making a controller that will interpret the 4bit Hitachi LCD controls being sent by the ECU and extracting the data you need out of it, how helpful is it going to be? What's the refreshrate? It's unlikely it will be fast enough to get useable data. I assume the buttons are used to change the display elements? You would have to auto trigger them to datalog more than a couple items at once.

My display is a 2 line display. If you look at the photo you can see there are unused pads on the PCB. These are for accomodating a 4 line display. The extra 2 lines display real time data of all the sensors. There is no reconfiguration necessary in the ECU. You just plug in the 4 line and it works. This tells me that the ECU is sending data to these extra display addresses, just my display can't see it. Since you specifically asked, it is this data that I am looking to capture. I do not need to simulate any button pushes, the data updates from the ECU to the display a few times a second. I just want to be able to record it for later viewing.

DirtyLude said:
In short, I can't see any simple solutions for you, other than update to a newer ECU. I know that didn't help. :)

No, it dosen't
 
instruite said:
Can you tell where the wire from the handset goes into inside of ECU (I suppose you have opend the ECU) and also let me know how many wires on the connector are being used?

Thanks for the reply.
Do you want me to trace the tracks back to a port on the actual microcontroller? There is a DB9 on the handset and on the side of the ECU. I have opened the ECU previously, though it is nestled snuggly up behind the glovebox at present :)

All the pins on the DB9 are used. These are as follows:

DB9 LCD
1 2 power
2 14 data7
3 13 data6
4 12 data5
5 11 data4
6 4 RS (and resistors)
7 optional IC - as can be seen form pic not installed
8 6 E
9 Resistor pack

It is quite clever that Microtech has been able to fit the display and 5 buttons into one DB9 connector.

Arran
 
You already seem to know what you have to do?, so 'all' you have to do is implement it!.

It's unlikely that someone else has already done this sort of thing?, because it's a fairly unusual requirement.

However, it should be a fairly straight forward job for a PIC, emulate the operation of the LCD display and output the data as RS232 to feed to a PC. The interface for LCD modules is well documented, which should make it fairly easy?.
 
arran said:
No, it dosen't
Sorry, now that I reread your message, your question is more 'How do a do this on the PC, and does someone already have something for it?'

Personally I would use a microcontroller to do the translation and convert to rs232 to send to the PC, but that's just because I don't know parrallel port programming that well. I would think you could make it with a Turbo C or Turbo Pascal app. Otherwise like Nigel says, you know what to do, and I don't think you're going to find anything out there that does anything similar.
 
Arran,

I could probably help you put this together using a pic chip to go from LCD -> PIC -> RS232 -> hyperterminal (or VB).

Where abouts in Brisbane are you? I'm North side and could make some time next week to try this if your interested.


Mike.
 
sorry arran
I was on vacation so not checking the forum
I will check the data provided by you and let you know if I can help u with something

The method suggested by Pommie is also good
But i will try if i can find anything which can help u interface ecu directly with PC
 
Hi Mike,

Thanks for the offer. I am in Grange. Maybe you could PM me your number and we could have a chat. Much appreciated.

Arran


Pommie said:
Arran,

I could probably help you put this together using a pic chip to go from LCD -> PIC -> RS232 -> hyperterminal (or VB).

Where abouts in Brisbane are you? I'm North side and could make some time next week to try this if your interested.


Mike.
 
Don't know why you are apologising!

Hope you enjoyed your holiday. Appreciate any info you can provide.

Arran

instruite said:
sorry arran
I was on vacation so not checking the forum
I will check the data provided by you and let you know if I can help u with something

The method suggested by Pommie is also good
But i will try if i can find anything which can help u interface ecu directly with PC
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top