Standalone ECU Monitor
#272
Scooby Regular
Join Date: Nov 2003
Location: where the wild roses grow
Posts: 5,122
Likes: 0
Received 0 Likes
on
0 Posts
Programming's easy, it's working the comms protocol in the first place that's hard
Just to confirm that the comm on the 99/00 cars does happen on a half-duplex basis through pin 7 of the DLC plug, which works on an OBD style 0-12v swing. This is fundamentally different to the separate Tx/Rx TTL format adopted by the older cars.
This means that additional interfacing would need to be added to Andrew's current design to talk to a 99/00 ECU, and there'd also have to be changes to the code, depending on exactly how the interface was designed, and what the comms protocol turns out to be (still working on that!).
Just to confirm that the comm on the 99/00 cars does happen on a half-duplex basis through pin 7 of the DLC plug, which works on an OBD style 0-12v swing. This is fundamentally different to the separate Tx/Rx TTL format adopted by the older cars.
This means that additional interfacing would need to be added to Andrew's current design to talk to a 99/00 ECU, and there'd also have to be changes to the code, depending on exactly how the interface was designed, and what the comms protocol turns out to be (still working on that!).
#273
Scooby Regular
Join Date: Jan 2003
Location: 535D M-Sport Touring
Posts: 3,190
Likes: 0
Received 0 Likes
on
0 Posts
Made some progress then, excellent.
Presumably you will need some driver circuitry that can tristate the transmit to deal with the half duplex comms. You could sit a reciever (ECU to monitor) on the pin permenantly with a simple conversion from 12V to 5V (or 3V3 depending on processor). You would need an 'enable' on the transmit driver (monitor to ECU).
The sequence would go... enable tx driver, send command, disable tx driver, wait for response. Of course with the rx permenantly wired to a half duplex line you would hear your own transmissions but you could easily write the software to ignore these.
But yeah working out the protocol / baud rate / data format etc. is the hard bit. Then which memory location relates to which sensor, assuming the info is in memory dump form on this ECU?
Presumably you will need some driver circuitry that can tristate the transmit to deal with the half duplex comms. You could sit a reciever (ECU to monitor) on the pin permenantly with a simple conversion from 12V to 5V (or 3V3 depending on processor). You would need an 'enable' on the transmit driver (monitor to ECU).
The sequence would go... enable tx driver, send command, disable tx driver, wait for response. Of course with the rx permenantly wired to a half duplex line you would hear your own transmissions but you could easily write the software to ignore these.
But yeah working out the protocol / baud rate / data format etc. is the hard bit. Then which memory location relates to which sensor, assuming the info is in memory dump form on this ECU?
#274
Hi,
I've just started following this thread and have started collecting all the bits to build one of Andrew's ECU monitors.
I've got all the maplin bits today (should have seen the queue behind me at the components counter after he'd got all the bits together! :$). I'm trying to order the Atmel chip from Farnell, do any of you have the exact farnell order code because the sheet on scoobymonitor.co.uk states "ATmega8 16 PC" .. the closest I can find is ATmega8 16 PI - is this the same thing? I apologise for my pathetic question but I want to make sure I get the right bits!
Also some of you might be interested to know that I've got a copy of labview graphical programming language & intend to knock something up to display some gauges on a laptop screen in a skyline style, I'll knock up a distribution version for everyone after I've got myself sorted out!
Cheers
Chris
I've just started following this thread and have started collecting all the bits to build one of Andrew's ECU monitors.
I've got all the maplin bits today (should have seen the queue behind me at the components counter after he'd got all the bits together! :$). I'm trying to order the Atmel chip from Farnell, do any of you have the exact farnell order code because the sheet on scoobymonitor.co.uk states "ATmega8 16 PC" .. the closest I can find is ATmega8 16 PI - is this the same thing? I apologise for my pathetic question but I want to make sure I get the right bits!
Also some of you might be interested to know that I've got a copy of labview graphical programming language & intend to knock something up to display some gauges on a laptop screen in a skyline style, I'll knock up a distribution version for everyone after I've got myself sorted out!
Cheers
Chris
#275
Scooby Regular
Thread Starter
Join Date: Jul 2000
Location: Lancashire
Posts: 2,209
Likes: 0
Received 0 Likes
on
0 Posts
ATMEGA8-16PI (Fanrell P/N 3917927) will do fine, (I=Industrial, C=Commercial), Farnell did used to stock the PC but I know they have been updating there Atmel listings in the past week so may have removed the PC.
Andrew...
#277
Scooby Regular
Join Date: Nov 2003
Location: where the wild roses grow
Posts: 5,122
Likes: 0
Received 0 Likes
on
0 Posts
Stef: Yeah, this probably does explain why they haven't catered for the older cars yet. Though it's hard to see why, as interfacing to a microcontroller is much easier on the 97-8 cars, and all the info they need regarding the baud rate and query protocol's out there in the public domain!
Graz - you're bang on the money with the interface topology, have exactly this built up at the moment.
Working out the baud rate and query protocols would be easy if you could throw money at it. A digital storage oscilloscope and a Select Monitor would be all you'd need, but I don't have that kind of money so I'm adopting a slightly longer-winded approach... Oh well!
Graz - you're bang on the money with the interface topology, have exactly this built up at the moment.
Working out the baud rate and query protocols would be easy if you could throw money at it. A digital storage oscilloscope and a Select Monitor would be all you'd need, but I don't have that kind of money so I'm adopting a slightly longer-winded approach... Oh well!
#278
Hi guys,
I hope you can help me with a very basic hardware question!
What pin goes where?!
I’ve got the board, chip and components.
I’ve installed all the components on the board and am now getting round to wiring up the switches, LCD etc.
Firstly am I right in assuming that the pin numbers on the jumpers are numbered
1 2
3 4
5 6
7 8
9 10
etc rather than the chip pin numbering of:
1 8
2 7
3 6
4 5
What pins do I use when wiring the switches? The website says to hook them both up to J3 pin 4, surely that isn’t correct.
What pins are installed where for the LCD screen? The website makes reference to Vee (enable?) but this isn’t mentioned on the data sheet supplied with the OD-DM1602F screen. The website also says connect Vcc to ground – is that really right?
Also where does the voltage regulator go?
Finally…Can programming be done by the serial cable or is it necessary to use a parallel cable?
I don’t suppose there is anyone who has built a scoobymonitor in Essex who would be willing to let me take a look at theirs?!
Thanks in advance for any help- I feel fairly out of my depth here!
Chris
I hope you can help me with a very basic hardware question!
What pin goes where?!
I’ve got the board, chip and components.
I’ve installed all the components on the board and am now getting round to wiring up the switches, LCD etc.
Firstly am I right in assuming that the pin numbers on the jumpers are numbered
1 2
3 4
5 6
7 8
9 10
etc rather than the chip pin numbering of:
1 8
2 7
3 6
4 5
What pins do I use when wiring the switches? The website says to hook them both up to J3 pin 4, surely that isn’t correct.
What pins are installed where for the LCD screen? The website makes reference to Vee (enable?) but this isn’t mentioned on the data sheet supplied with the OD-DM1602F screen. The website also says connect Vcc to ground – is that really right?
Also where does the voltage regulator go?
Finally…Can programming be done by the serial cable or is it necessary to use a parallel cable?
I don’t suppose there is anyone who has built a scoobymonitor in Essex who would be willing to let me take a look at theirs?!
Thanks in advance for any help- I feel fairly out of my depth here!
Chris
#279
Scooby Regular
Join Date: Nov 2003
Location: where the wild roses grow
Posts: 5,122
Likes: 0
Received 0 Likes
on
0 Posts
I hope you can help me with a very basic hardware question!
Firstly am I right in assuming that the pin numbers on the jumpers are numbered
1 2
3 4
1 2
3 4
Grrr, bl*&dy formatting... [img]images/smilies/mad.gif[/img]
1 2
3 4
5 6 etc. is correct for the jumpers. Pin 1 has a squared off solder pad.
What pins do I use when wiring the switches?
What pins are installed where for the LCD screen?
Pin 6 --> RS
Pin 8 --> E
Pin 10 --> DB4
Pin 12 --> DB5
Pin 14 --> DB6
Pin 16 --> DB7
The Vss line on the LCD needs to be connected to ground
The R/W line on the LCD needs to be grounded (so link it across to Vss)
The Vdd line needs to be connected to +5V
The Vo line is used for contrast control and needs to either be connected to +5V for full contrast, or be connected to the centre pin of a 10K-20K pot wired as a potential divider between ground and +5v. The LCD datasheet will tell you more about this.
You'll also need to cater for the backlighting requirements of the display.
Also where does the voltage regulator go?
Finally…Can programming be done by the serial cable or is it necessary to use a parallel cable?
I don’t suppose there is anyone who has built a scoobymonitor in Essex who would be willing to let me take a look at theirs?!
[Edited by greasemonkey - 8/16/2003 4:01:25 PM]
#280
wow, thanks alot for that help, with a bit of luck that should get me up and running! I'm hopping between this project with its fine tipped soldering iron, data sheets, etc and a DIY IC water spray with trips to scrap yards, hammers, WD40 and lots silicon sealent!
(why is nothing as easy as planned?!)
Thanks again
Chris
(why is nothing as easy as planned?!)
Thanks again
Chris
#281
Scooby Regular
Join Date: Nov 2003
Location: where the wild roses grow
Posts: 5,122
Likes: 0
Received 0 Likes
on
0 Posts
Now all you've got to do is combine all that with some time spent learning to code the AVR, and you can control the waterspray with the microcontroller
#283
Hmm, Now there's an idea, how difficult would it be to add in a charge temp sensor to the board/ programme? (does the engine have a charge temp sensor as standard?) Where is the best place to buy thermocouples, I don't think maplin do them.
Chris
Chris
#285
Hi guys,
I'm one stage further down the line now, I've got it all together on the PCB and started the programming stage.
I've sent the test programme to the chip and it goes through the "Writing ROM" box, but when it's finished it says "difference at 0000" not "verified OK", I tried verifying it again and the same thing happened.
I was greatly surprised that it was able to send the programme in the first place - I assume this means that the board is ok and my soldering seems to be holding up!
How do I get the test programme to run? Does it run straight from the computer, powering itself through the programming cable? or do I need to hook the 12v and gnd of the select port cable to a spare 12v power line on the PC?
Once again, any help will be greatly appreciated!
Chris
I'm one stage further down the line now, I've got it all together on the PCB and started the programming stage.
I've sent the test programme to the chip and it goes through the "Writing ROM" box, but when it's finished it says "difference at 0000" not "verified OK", I tried verifying it again and the same thing happened.
I was greatly surprised that it was able to send the programme in the first place - I assume this means that the board is ok and my soldering seems to be holding up!
How do I get the test programme to run? Does it run straight from the computer, powering itself through the programming cable? or do I need to hook the 12v and gnd of the select port cable to a spare 12v power line on the PC?
Once again, any help will be greatly appreciated!
Chris
#286
Scooby Regular
Join Date: Nov 2003
Location: where the wild roses grow
Posts: 5,122
Likes: 0
Received 0 Likes
on
0 Posts
If the ROM image won't verify, try erasing the controller first, waiting a few seconds then programming again. Repeat until it verifies.
Yep, if the BASCOM programmer will correctly identify the micro, and you can program it, everything's soldered up correctly. Don't forget to set the lock and fusebits if it's a new controller.
Yep, you'll need to power up the micro, either from the car or another 12v source. You'll need to power it up to program it though, so either way power by your PC would be handy...
If you're using Andrew's test code, the upper line of the display should say "Scoobymonitor" as soon as it's powered up, and the display should tell-tale the two buttons when you press them. Think the shift light will also flash, but not certain of this so don't get too worried if it doesn't.
I was greatly surprised that it was able to send the programme in the first place - I assume this means that the board is ok and my soldering seems to be holding up!
How do I get the test programme to run? Does it run straight from the computer, powering itself through the programming cable? or do I need to hook the 12v and gnd of the select port cable to a spare 12v power line on the PC?
If you're using Andrew's test code, the upper line of the display should say "Scoobymonitor" as soon as it's powered up, and the display should tell-tale the two buttons when you press them. Think the shift light will also flash, but not certain of this so don't get too worried if it doesn't.
#288
ok.... the program now verifies ok, the backlight lights up and the LED flashes.
However no message appears on the screen, when I push the buttons I can see the backlight flickering - so its obviously thinking about something. I guess I've got a dodgy wire or 3 on the LCD.
Also how hot should the transistor get? It got to "ahh jeeees thats hot" in about 15 seconds! Has anyone attached a DIY heatsink? I suppose its powering the backlight, and contrast is on full so it is sinking a reasonable amount of current.
thanks again greasemonkey!
Chris
However no message appears on the screen, when I push the buttons I can see the backlight flickering - so its obviously thinking about something. I guess I've got a dodgy wire or 3 on the LCD.
Also how hot should the transistor get? It got to "ahh jeeees thats hot" in about 15 seconds! Has anyone attached a DIY heatsink? I suppose its powering the backlight, and contrast is on full so it is sinking a reasonable amount of current.
thanks again greasemonkey!
Chris
#289
Scooby Regular
Join Date: Nov 2003
Location: where the wild roses grow
Posts: 5,122
Likes: 0
Received 0 Likes
on
0 Posts
Lol at the lack of power. Was wondering why you were asking questions like that after starting to flash it
Number of potential causes for lack of LCD activity, and a completely blank screen does indeed indicate a lack of connectivity.
Apart from making certain the lines from the controller to the LCD are connected correctly, make certain you've got the contrast circuit for your particular display right.
Number of potential causes for lack of LCD activity, and a completely blank screen does indeed indicate a lack of connectivity.
Apart from making certain the lines from the controller to the LCD are connected correctly, make certain you've got the contrast circuit for your particular display right.
#290
yes, ahhemm.. ok ok!
Its not the only **** up I've made this evening:
When I'd finished uploading the real program I managed to let the dangling wires from the power supply cross... so ended up grounding the 12v bus -oopps PC not happy 'bout that!
I've checked the connections on the LCD and everything seems ok, I've got the contrast hooked up to +5v is this ok?
I've tried it in the car and same symptoms: backlight is fine but no display - I'll check if the shift light is working tomorrow on the way to work.
Cheers
Chris
Its not the only **** up I've made this evening:
When I'd finished uploading the real program I managed to let the dangling wires from the power supply cross... so ended up grounding the 12v bus -oopps PC not happy 'bout that!
I've checked the connections on the LCD and everything seems ok, I've got the contrast hooked up to +5v is this ok?
I've tried it in the car and same symptoms: backlight is fine but no display - I'll check if the shift light is working tomorrow on the way to work.
Cheers
Chris
#291
Scooby Regular
Join Date: Nov 2003
Location: where the wild roses grow
Posts: 5,122
Likes: 0
Received 0 Likes
on
0 Posts
Yeah, connecting contrast line to +5 should work (with the caveat that I've never seen your particular display!).
However, if you've connected it straight to +5, you should theoretically see something on the display as soon as it's powered up, even if it's only faint excitement of every block.
If there's no activity in the display at all , I'd suspect misconnection elsewhere...
Don't forget that the shift light is 6375 rpm or thereabouts, get her nice and warm before you test that one!
However, if you've connected it straight to +5, you should theoretically see something on the display as soon as it's powered up, even if it's only faint excitement of every block.
If there's no activity in the display at all , I'd suspect misconnection elsewhere...
Don't forget that the shift light is 6375 rpm or thereabouts, get her nice and warm before you test that one!
#292
Scooby Regular
Join Date: Jun 2002
Location: Scotland
Posts: 1,664
Likes: 0
Received 0 Likes
on
0 Posts
greasemonkey do you know the format of the logfiles produced by the monitor? Andrew said a while back he was going to put the info on the website but it seems he hasn't had time to do it and I don't want to keep harassing him considering he done all the work on this for free...
Any info would be appreciated.
Any info would be appreciated.
#293
Scooby Regular
Join Date: Nov 2003
Location: where the wild roses grow
Posts: 5,122
Likes: 0
Received 0 Likes
on
0 Posts
Sorry Paul, can't help you on this one as I've got an MY00 car and while I'm using similar hardware, I'm developing my own code for it. Thus, I probably know less about the format of Andrew's logs than you do
I'm sure the man himself will chip in when he has time tho
I'm sure the man himself will chip in when he has time tho
#294
Scooby Regular
Join Date: Feb 2002
Location: oustide the asylum?
Posts: 3,306
Likes: 0
Received 0 Likes
on
0 Posts
Andrew's log files are as follows: (from memory, so don't blame me when it doesn't quite work...)
Each line of the log represents one "collection" of samples. One for each of the logged parameters in ascending address order. There may be a time stamp at the front - can't rememeber.
They are in the raw format, so they are just a number between 0 and 255. This needs to be translated using the appropriate formula - found on the Scoobymonitor website.
HTH
Each line of the log represents one "collection" of samples. One for each of the logged parameters in ascending address order. There may be a time stamp at the front - can't rememeber.
They are in the raw format, so they are just a number between 0 and 255. This needs to be translated using the appropriate formula - found on the Scoobymonitor website.
HTH
#295
Hi,
I'm still struggling with the LCD, I'm using the one on Andrew's parts list on the website (RV88V)
manufact. code: OD-DM1602F (Orient Display)
Connected as follows:
LCD J3D107
1 Vss 40
2 Vdd 1
3 Vo 1
4 RS 6
5 R/W 40
6 E 8
11 D4 10
12 D5 12
13 D6 14
14 D7 16
15 LED+ 1
16 LED- 40
Backlight lights up fine, checked the reisistance from board to board to try and find a dodgy connection - no joy.
I gather maplin nolonger stock these, I got the last one in the region, I hope its not DOA! What do you think?
Are there any supporting components I should check out?
Just in case it is duff I've been looking at replacements on Farnell:
http://uk.farnell.com/jsp/catalog/viewproductdetails.jsp;jsessionid=3ZMICIY3QRV3TQFI AEXCFE4AVAAS2IV3?prodId=3167689
this should do the job shouldn't it?
Also TX on the board goes to TV on the car doesn't it? - there's no crossover required is there?
If things don't get any better I'll reload the real program and see if I can get anything from the RS232 port (It doesn't require triggering does it?)
Cheers
Chris
I'm still struggling with the LCD, I'm using the one on Andrew's parts list on the website (RV88V)
manufact. code: OD-DM1602F (Orient Display)
Connected as follows:
LCD J3D107
1 Vss 40
2 Vdd 1
3 Vo 1
4 RS 6
5 R/W 40
6 E 8
11 D4 10
12 D5 12
13 D6 14
14 D7 16
15 LED+ 1
16 LED- 40
Backlight lights up fine, checked the reisistance from board to board to try and find a dodgy connection - no joy.
I gather maplin nolonger stock these, I got the last one in the region, I hope its not DOA! What do you think?
Are there any supporting components I should check out?
Just in case it is duff I've been looking at replacements on Farnell:
http://uk.farnell.com/jsp/catalog/viewproductdetails.jsp;jsessionid=3ZMICIY3QRV3TQFI AEXCFE4AVAAS2IV3?prodId=3167689
this should do the job shouldn't it?
Also TX on the board goes to TV on the car doesn't it? - there's no crossover required is there?
If things don't get any better I'll reload the real program and see if I can get anything from the RS232 port (It doesn't require triggering does it?)
Cheers
Chris
#297
Scooby Regular
Join Date: Nov 2003
Location: where the wild roses grow
Posts: 5,122
Likes: 0
Received 0 Likes
on
0 Posts
I'm still struggling with the LCD, I'm using the one on Andrew's parts list on the website (RV88V)
manufact. code: OD-DM1602F (Orient Display)
Connected as follows:
manufact. code: OD-DM1602F (Orient Display)
Connected as follows:
Before you go any further, checking the continuity between the contacts on the micro socket and the jumper would be a good move.
You might also want to check whether pin 40 is indeed connected to ground - on my board at least, it isn't. Seem to recall that it's only a ground when there's a 40 pin micro installed, although it may also be that my board had another bad track on it.
Wasn't an issue for me as my ground rail is on a daughterboard anyway, but this could have something to do with it.
I gather maplin nolonger stock these, I got the last one in the region, I hope its not DOA! What do you think?
Are there any supporting components I should check out?
Just in case it is duff I've been looking at replacements on Farnell:
{Farnel prodId=3167689}
this should do the job shouldn't it?
{Farnel prodId=3167689}
this should do the job shouldn't it?
I used an RS part number 184-8538, which is a very classy looking transmissive display. Alternatively, part 294-8774 is a transreflective display similar to the Maplin one.
Also TX on the board goes to TV on the car doesn't it? - there's no crossover required is there?
If things don't get any better I'll reload the real program and see if I can get anything from the RS232 port (It doesn't require triggering does it?)
Suggest your first option should be to get the display operational with the test code first. You can do all that on the desk before you need to get all tied up in the confined space in the car.
[Edited by greasemonkey - 8/20/2003 8:49:45 PM]
#298
Scooby Regular
Join Date: Jun 2002
Location: Scotland
Posts: 1,664
Likes: 0
Received 0 Likes
on
0 Posts
Greasemonkey are you using Andrew's code, or starting from scratch? Interested in adding a charge temp sensor and possibly ambient temp/oil temp later but I believe Andrew now has a Link ECU so probably won't be developing this much further?
My monitor is working nicely and has been for a while but it definitely has mucho potential (bigger display would be nice aswell).
Cheers.
My monitor is working nicely and has been for a while but it definitely has mucho potential (bigger display would be nice aswell).
Cheers.
#299
Scooby Regular
Join Date: Nov 2003
Location: where the wild roses grow
Posts: 5,122
Likes: 0
Received 0 Likes
on
0 Posts
Little choice but to start from scratch Paul, as I've got an MY00 car (with an MY99 ECU), and thus Andrew's code, and the hardware as it stands, won't work. Shame all these different era cars have different comms protocols as it makes it difficult for a few of us to work together...
As you say, there's plenty more potential. I've already got the bits to read three temps and oil pressure via AD585's and a shunt. All pretty easy to plumb into the micro's ADC. Only issue if you want all this is that you'll need to go to the M16, as 8K of codespace on the M8 fills up quite quickly!
Ultimate plan with mine is to remove the standard analog fuel and temperature gauges and put in a 4 x 20 LCD instead. Super neat, bags of screen real estate, as well as a perfect way of getting rid of the annoying "always on" fuel gauge!
Been a bit stuck for time over the last few weeks so had to go on the backburner but should be able to get back into the programming soon
[Edited by greasemonkey - 8/22/2003 12:29:31 AM]
As you say, there's plenty more potential. I've already got the bits to read three temps and oil pressure via AD585's and a shunt. All pretty easy to plumb into the micro's ADC. Only issue if you want all this is that you'll need to go to the M16, as 8K of codespace on the M8 fills up quite quickly!
Ultimate plan with mine is to remove the standard analog fuel and temperature gauges and put in a 4 x 20 LCD instead. Super neat, bags of screen real estate, as well as a perfect way of getting rid of the annoying "always on" fuel gauge!
Been a bit stuck for time over the last few weeks so had to go on the backburner but should be able to get back into the programming soon
[Edited by greasemonkey - 8/22/2003 12:29:31 AM]
#300
Greasemonkey,
I've been monitoring this thread for sometime - patiently waiting for some help with an MY99 decode. I see you have confiremd that MY99 comms occurs at 12v, half-duplex on pin 7. I take it from that you have had some luck with getting a response from the ECU? Once the protocol is known, I would be very keen to build my own unit and then help with parameter address finding etc. I have all the equipment etc available at work, so would be able to start fairly quickly.
Jon.
I've been monitoring this thread for sometime - patiently waiting for some help with an MY99 decode. I see you have confiremd that MY99 comms occurs at 12v, half-duplex on pin 7. I take it from that you have had some luck with getting a response from the ECU? Once the protocol is known, I would be very keen to build my own unit and then help with parameter address finding etc. I have all the equipment etc available at work, so would be able to start fairly quickly.
Jon.