ECM Test Bench
#1
Member
Thread Starter
Join Date: Mar 2008
Location: Westminster, Maryland
Posts: 181
Likes: 0
Received 0 Likes
on
0 Posts
Car: 1987 IROC-Z
Engine: 383ci SBC
Transmission: 700r4
ECM Test Bench
Now, before you say "SEARCH!" I have, and my question is not covered in what I have found.
I am curious as to the minimum required components to be able to access the ALDL data-flow from an ECM on a test bench. My Camaro has taken a crap, and I want to continue development on my ALDL software until I get the money to repair it. I can do development without all the fancy turnknobs and such, and I can handle error codes as long as I am still able to communicate via ALDL with the ECM. So what is the minimum required to do this? Can I do it with just power and ground connected, or do I need a few fake sensors to avoid the ECM completly shutting down?
I am curious as to the minimum required components to be able to access the ALDL data-flow from an ECM on a test bench. My Camaro has taken a crap, and I want to continue development on my ALDL software until I get the money to repair it. I can do development without all the fancy turnknobs and such, and I can handle error codes as long as I am still able to communicate via ALDL with the ECM. So what is the minimum required to do this? Can I do it with just power and ground connected, or do I need a few fake sensors to avoid the ECM completly shutting down?
#2
Junior Member
Join Date: Jun 2008
Posts: 62
Likes: 0
Received 0 Likes
on
0 Posts
Car: '91 RS
Engine: 355 on a stand
Transmission: 700R4
Axle/Gears: 3:42
Re: ECM Test Bench
All you NEED is a few wires. You can make a rudimentary test bench that will allow ALDL communication with an ALDL connector and ECM connectors and short pigtails salvaged from a donor car, and it doesn't have to be a thirdgen. You can power it from a 1 amp or greater 12v-14v DC adapter (750ma may work without any lamps connected).
You'll need to connect 12v ignition, two battery leads, a couple of grounds (instead of trying to figure out which grounds must be connected, just twist all of them together), and ALDL ground and data leads. You will get at least one code, ESC I think, and possibly CTS and IAT--I don't recall for sure. You can still communicate, however. Once you see what codes set and would like to get rid of them, you can use resistors to simulate fixed values, or use potentiometers for variable values. You might want to use a potentiometer to simulate TPS or something (almost any value will work--5k is certainly a good choice) so you can see data changing in your stream. Otherwise you won't know for certain if you are seeing a valid stream.
If you plan on using any lights and are using a DC adapter, use LEDs with a 1k resistor in series. The standard 194 lamp used for the SES indicator is rated at 270ma whereas an LED will be in the range of 10-20ma. The voltage of a 1 amp 14v DC adapter will drop to about 10v when a 194 lamp illuminates.
You'll need to connect 12v ignition, two battery leads, a couple of grounds (instead of trying to figure out which grounds must be connected, just twist all of them together), and ALDL ground and data leads. You will get at least one code, ESC I think, and possibly CTS and IAT--I don't recall for sure. You can still communicate, however. Once you see what codes set and would like to get rid of them, you can use resistors to simulate fixed values, or use potentiometers for variable values. You might want to use a potentiometer to simulate TPS or something (almost any value will work--5k is certainly a good choice) so you can see data changing in your stream. Otherwise you won't know for certain if you are seeing a valid stream.
If you plan on using any lights and are using a DC adapter, use LEDs with a 1k resistor in series. The standard 194 lamp used for the SES indicator is rated at 270ma whereas an LED will be in the range of 10-20ma. The voltage of a 1 amp 14v DC adapter will drop to about 10v when a 194 lamp illuminates.
#4
Supreme Member
iTrader: (1)
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes
on
3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Re: ECM Test Bench
Many of the functions do not indicate until the engine is running.
So, you'll need to rig up a way to get some DRPs into the ECM to wake it up.
You will want to make up pots to adjust MAP and TPS as a minimum.
Then you can play with spark curves and such.
There's a thread called "Bench Calcs" that has a circuit I built to do that on mine. It also worked for simulating the VSS in optical mode. Didn't work for magnetic but its just flipping a bit so I've lived with it as is.
Good luck on your project.
So, you'll need to rig up a way to get some DRPs into the ECM to wake it up.
You will want to make up pots to adjust MAP and TPS as a minimum.
Then you can play with spark curves and such.
There's a thread called "Bench Calcs" that has a circuit I built to do that on mine. It also worked for simulating the VSS in optical mode. Didn't work for magnetic but its just flipping a bit so I've lived with it as is.
Good luck on your project.
#5
Moderator
iTrader: (2)
Re: ECM Test Bench
Many of the functions do not indicate until the engine is running.
So, you'll need to rig up a way to get some DRPs into the ECM to wake it up.
You will want to make up pots to adjust MAP and TPS as a minimum.
Then you can play with spark curves and such.
There's a thread called "Bench Calcs" that has a circuit I built to do that on mine. It also worked for simulating the VSS in optical mode. Didn't work for magnetic but its just flipping a bit so I've lived with it as is.
Good luck on your project.
So, you'll need to rig up a way to get some DRPs into the ECM to wake it up.
You will want to make up pots to adjust MAP and TPS as a minimum.
Then you can play with spark curves and such.
There's a thread called "Bench Calcs" that has a circuit I built to do that on mine. It also worked for simulating the VSS in optical mode. Didn't work for magnetic but its just flipping a bit so I've lived with it as is.
Good luck on your project.
Could you provide a link?
I'm thinking about building an ECM test bench, to learn more about fucntion of different tables and such. I was actually going to start my own thread to ask about any existing schematics of test benches.
#7
Supreme Member
iTrader: (1)
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes
on
3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Re: ECM Test Bench
One of these days I'll go back and see what actual resistance pots I used for the different functions and update them. Pretty much just added resistors to trim the pot values to get what I wanted.
Trending Topics
#8
Member
Join Date: Jul 2004
Location: Salem,Oregon.
Posts: 419
Likes: 0
Received 1 Like
on
1 Post
Car: '74 Firebird, '84 vette
Engine: 454 twin turbo, 350 HSR
Transmission: 4L80E, 700R4
Axle/Gears: 9", Dana36
Re: ECM Test Bench
I'm thinking about going ahead and building a test bench also. I've looked at the posted schematic and had the idea to replace the timer circuit with an AVR microcontroller. Now, with your timing circuit what sort of resolution and frequency stability are you able to achieve?
I have a very basic program layed out that can provide from 2 to 4 pulses per revolution at whatever dutycycle you want. From 300rpm to around 5000 or so it can go in 1 rpm increments, after that point resolution starts droping to the point of 10 rpm increments at 9000rpm for a V8. I'm at a crossroads right now, I may finish the AVR based pulsegenerator (mine has a 2x20 LCD attached) or I may just build a conventional hardware timer circuit like the one posted by JP86.
If I do finish the AVR program I'll post the circuit and source code here. a couple features I was thinking about was a pre programmed crank to start cycle and a full rpm range sweep at adjustable acceleration rates. these little extras are real easy to add after the basic program is functional.
Thoughts?
I have a very basic program layed out that can provide from 2 to 4 pulses per revolution at whatever dutycycle you want. From 300rpm to around 5000 or so it can go in 1 rpm increments, after that point resolution starts droping to the point of 10 rpm increments at 9000rpm for a V8. I'm at a crossroads right now, I may finish the AVR based pulsegenerator (mine has a 2x20 LCD attached) or I may just build a conventional hardware timer circuit like the one posted by JP86.
If I do finish the AVR program I'll post the circuit and source code here. a couple features I was thinking about was a pre programmed crank to start cycle and a full rpm range sweep at adjustable acceleration rates. these little extras are real easy to add after the basic program is functional.
Thoughts?
Last edited by The_Punisher454; 06-22-2008 at 12:20 AM.
#9
Moderator
iTrader: (2)
Re: ECM Test Bench
The programmed sweeps could be useful, to hit a button and then watch the data on the ALDL datastream, instead of twisting ***** at the same time. A way to pause the sweep at a specific RPM might be useful as well.
I'm not sure the complexity is really going to add anything but bragging rights however.
I'm not sure the complexity is really going to add anything but bragging rights however.
#10
Member
Join Date: Jul 2004
Location: Salem,Oregon.
Posts: 419
Likes: 0
Received 1 Like
on
1 Post
Car: '74 Firebird, '84 vette
Engine: 454 twin turbo, 350 HSR
Transmission: 4L80E, 700R4
Axle/Gears: 9", Dana36
Re: ECM Test Bench
little things like canned sweeps, or crank to run things are really easy to add. As far as hardware goes, the microcontroller based unit would require quite a few less components. The controller I am using has 8k of flash program space, runs at 16Mhz and costs $4.11. A 16k version is a few cents more. It can also be powered by the 5v source from the ecm, so no need for a voltage regulator circuit. The LCD is optional and makes a nice tach.
The circuit would have a few less resistors and caps, no flip-flop or 555, but a few more buttons, and optionally the LCD which is about 10 wires, and a couple extra resistors.
The origon of this unit is a crank trigger simulator I made a couple years ago while I was thinking about building a DIS system. I dug up the old code last night and got to thinking about modifying for an ecm test bench.
The circuit would have a few less resistors and caps, no flip-flop or 555, but a few more buttons, and optionally the LCD which is about 10 wires, and a couple extra resistors.
The origon of this unit is a crank trigger simulator I made a couple years ago while I was thinking about building a DIS system. I dug up the old code last night and got to thinking about modifying for an ecm test bench.
#12
Supreme Member
iTrader: (1)
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes
on
3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Re: ECM Test Bench
I'd say whatever is easier for you to put together and use.
The Mag VSS requires a zero crossing signal, optical can go positive only and still work.
The stability of the 555 circuit is pretty good and can set 25 RPM increments. The slope of adjustment changes as the rate goes up so it takes less movement to make greater change at the high end but doen't cause any greif.
Using the AVR for closed loop o2 simulation signal would be nice.
The Mag VSS requires a zero crossing signal, optical can go positive only and still work.
The stability of the 555 circuit is pretty good and can set 25 RPM increments. The slope of adjustment changes as the rate goes up so it takes less movement to make greater change at the high end but doen't cause any greif.
Using the AVR for closed loop o2 simulation signal would be nice.
#13
Member
Join Date: Jul 2004
Location: Salem,Oregon.
Posts: 419
Likes: 0
Received 1 Like
on
1 Post
Car: '74 Firebird, '84 vette
Engine: 454 twin turbo, 350 HSR
Transmission: 4L80E, 700R4
Axle/Gears: 9", Dana36
Re: ECM Test Bench
The Megasquirt stimulator that I was looking at is a lot simpler than what I'm makeing here. I do however like the wat the stimulator plugs into the end of the megasquirt, kinda cool.
I was looking last night at what I'd have to do to just use a pic24 or DSpic30, of which I have one each right now. They have 32bit timer/counters rather than the 16 bit counter in the AVR's. This would increase the frequency range in which I get high resolution. I could also combine the DRP generator and speed sensor simulator into one chip. Just thinking
----------
In what way would you want it to work?
I was looking last night at what I'd have to do to just use a pic24 or DSpic30, of which I have one each right now. They have 32bit timer/counters rather than the 16 bit counter in the AVR's. This would increase the frequency range in which I get high resolution. I could also combine the DRP generator and speed sensor simulator into one chip. Just thinking
----------
Using the AVR for closed loop o2 simulation signal would be nice.
Last edited by The_Punisher454; 06-22-2008 at 06:26 PM. Reason: Automerged Doublepost
#14
Member
Thread Starter
Join Date: Mar 2008
Location: Westminster, Maryland
Posts: 181
Likes: 0
Received 0 Likes
on
0 Posts
Car: 1987 IROC-Z
Engine: 383ci SBC
Transmission: 700r4
Re: ECM Test Bench
It might not be too difficult to have the AVR simulate the back and forth of a closed loop O2 sensor, you might be able to figure how it would work back and forth depending on ALDL data and the settings you have programmed for air input rpm load etc. I've been playing around with my AVR (I have an atmega16) until I get around to having time and money to get some ECM connectors and finish my test bench.
#15
TGO Supporter
Join Date: Aug 2001
Location: NJ/PA
Posts: 1,008
Likes: 0
Received 0 Likes
on
0 Posts
Car: Yes
Engine: Many
Transmission: Quite a few
Re: ECM Test Bench
I've got schematics of the analog bench if you are interested, although they are probably already in the links JP listed above. I've been meaning to build a PCB and offer it up to guys here, just haven't gotten around to it. problem is, it ends up costing a bit for PCBs, and if no one wants 'em, it's a losing deal.....
closing the loop for o2 is kind of tricky. to do it properly, you would need to build a comparator that would flip the output from low (100mv or so, to high, 900mv or so) whenever the injector PW moved between two set points (high and low, which would depend on the rpm, and load). you could build an array of high/low values, which should be fine with a micro. you would also need to make sure you add enough delay to the signal as well, because the feedback doesn't occur instantaneously. all in all, a neat project, but it really depends on how involved you wanted to get, and if it truly benefits your development, or just added unneccessary work...
closing the loop for o2 is kind of tricky. to do it properly, you would need to build a comparator that would flip the output from low (100mv or so, to high, 900mv or so) whenever the injector PW moved between two set points (high and low, which would depend on the rpm, and load). you could build an array of high/low values, which should be fine with a micro. you would also need to make sure you add enough delay to the signal as well, because the feedback doesn't occur instantaneously. all in all, a neat project, but it really depends on how involved you wanted to get, and if it truly benefits your development, or just added unneccessary work...
#16
Member
Join Date: Jul 2004
Location: Salem,Oregon.
Posts: 419
Likes: 0
Received 1 Like
on
1 Post
Car: '74 Firebird, '84 vette
Engine: 454 twin turbo, 350 HSR
Transmission: 4L80E, 700R4
Axle/Gears: 9", Dana36
Re: ECM Test Bench
for now I'm just doing ignition and possibly VSS. I am writing the program so you can pick 8cyl,6cyl,4cyl,6cyl_DIS,and 4cyl_DIS emulation. The way I currently implement the timer there is no loss of resolution untill after 9500RPM's, and even at 10000 its only down to 2 rpm steps rather than 1. Nobody is going to need it that high, so I'd say I got that part right so far.
BTW, what is that ABSOLUTE lowest RPM a '730(w/V8) will operate at? and that includes cranking.
BTW, what is that ABSOLUTE lowest RPM a '730(w/V8) will operate at? and that includes cranking.
#17
Supreme Member
iTrader: (1)
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes
on
3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Re: ECM Test Bench
1 DRP will operate the fuel pump output for two seconds, but I'm not sure of the absolute minimum if that is not it.
Running indication starts at 300-400 rpm depending on the bin setting IIRC.
Running indication starts at 300-400 rpm depending on the bin setting IIRC.
#18
Member
Join Date: Jul 2004
Location: Salem,Oregon.
Posts: 419
Likes: 0
Received 1 Like
on
1 Post
Car: '74 Firebird, '84 vette
Engine: 454 twin turbo, 350 HSR
Transmission: 4L80E, 700R4
Axle/Gears: 9", Dana36
Re: ECM Test Bench
Running indication starts at 300-400 rpm depending on the bin setting IIRC.
#19
TGO Supporter
Join Date: Aug 2001
Location: NJ/PA
Posts: 1,008
Likes: 0
Received 0 Likes
on
0 Posts
Car: Yes
Engine: Many
Transmission: Quite a few
Re: ECM Test Bench
yes, it will. Above 500 rpm, it will switch to spark control from the default module to the ecm, via the est bypass signal.
as far as the rpm signal is concerned, I don't think you'd need to make the emulator that complicated. the simple frequency will be a different rpm depending on the mask you use in the ecm. as for distributor vs DIS, the ecm doesn't really care what is happening on the other side of the control module for the DIS or reluctor, they look the same as far as the ecm is concerned. thats why the lm555 timer circuit in the schematics i posted have such a wide swing. depending on which mask (4 cyl, 6 cyl, 8 cyl), the rpm range changes.
having a digital control of the frequency would be sweet however, so keep at it!
as far as the rpm signal is concerned, I don't think you'd need to make the emulator that complicated. the simple frequency will be a different rpm depending on the mask you use in the ecm. as for distributor vs DIS, the ecm doesn't really care what is happening on the other side of the control module for the DIS or reluctor, they look the same as far as the ecm is concerned. thats why the lm555 timer circuit in the schematics i posted have such a wide swing. depending on which mask (4 cyl, 6 cyl, 8 cyl), the rpm range changes.
having a digital control of the frequency would be sweet however, so keep at it!
#20
Member
Join Date: Jul 2004
Location: Salem,Oregon.
Posts: 419
Likes: 0
Received 1 Like
on
1 Post
Car: '74 Firebird, '84 vette
Engine: 454 twin turbo, 350 HSR
Transmission: 4L80E, 700R4
Axle/Gears: 9", Dana36
Re: ECM Test Bench
okay, I wasnt thinking clearly about the DIS(as I dont use one). 3 modes 4, 6 and 8 cyl will be what I use. I was thinking about another project, which required an extra pulse.
I currently have the RPM's being adjuted with a pot and a "set" button which could be a toggle or momentary which ignores the ADC when not enabled (you can ground this pin to ignore this feature). This system has no drift at all when not in set mode, but the 10 bit adc only gives me 1024 possible settings, so I was going to add a second pot for "fine" control but am now thinking abot using another system to set the rpm's.
Here are 3 ideas I'm kicking around:
1. use the current pot system with 10 bit resolution, and the optional fine tuning second pot.
2. up/down buttons. simple but not as cool as a rotary dial.
3. A pot to set the rpm's that has a dead zone at the center of the range and changes rpm's up/down at an increasing rate as you turn it right or left.
Let me know which of the above three methods people would like,
Right now #3 has the lowest component count.
I currently have the RPM's being adjuted with a pot and a "set" button which could be a toggle or momentary which ignores the ADC when not enabled (you can ground this pin to ignore this feature). This system has no drift at all when not in set mode, but the 10 bit adc only gives me 1024 possible settings, so I was going to add a second pot for "fine" control but am now thinking abot using another system to set the rpm's.
Here are 3 ideas I'm kicking around:
1. use the current pot system with 10 bit resolution, and the optional fine tuning second pot.
2. up/down buttons. simple but not as cool as a rotary dial.
3. A pot to set the rpm's that has a dead zone at the center of the range and changes rpm's up/down at an increasing rate as you turn it right or left.
Let me know which of the above three methods people would like,
Right now #3 has the lowest component count.
#21
Supreme Member
iTrader: (1)
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes
on
3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Re: ECM Test Bench
Even with the 10 bit your still looking at better than 10 RPM resolution at up to 8K RPM. That would be fine.
Maybe a selector for crank speed can set a lower range and optimize the 10 bit adjustment to go real slow. Might be able to see cranking fuel stuff . Dunno.
Maybe a selector for crank speed can set a lower range and optimize the 10 bit adjustment to go real slow. Might be able to see cranking fuel stuff . Dunno.
#22
Member
Join Date: Jul 2004
Location: Salem,Oregon.
Posts: 419
Likes: 0
Received 1 Like
on
1 Post
Car: '74 Firebird, '84 vette
Engine: 454 twin turbo, 350 HSR
Transmission: 4L80E, 700R4
Axle/Gears: 9", Dana36
Re: ECM Test Bench
okay, I have the program 2/3 done and its working good so far. I'll get a few hours to finish it up in a couple of days.
So far your going to need an Atmega8, a 16MHz crystal, 2 small caps(for the crystal), a 10k pot, 3 momentary push buttons and a few resistors. It'll work fine on a cheap perf board, I have no plans to lay out a pcb.
The minimum rpm's for 8, 6 and 4 cylinders are 230,307 and 458. The 8cyl setting has 1rpm resolution to 6000rpm, after which ist down to 1 and 2 rpm steps to about 9000, at which point is down to 2 and 3 rpm steps. 6 and 4 cylinder settings have a lot higher high rpm resolution.
I'm writing a routine that will allow the program to guide you through a calibration procedure for the pot. you set the minimum, maximum and center positions of the pot and the program sets up a dead zone at the center and gradually increasing increments as you turn the pot right and left. just like a rotary joystick, or steering wheel controller on a video game.
The pulsewidth is adjustable all the way down to less than 1%.
I wanted to use the 8MHz internal timer to reduce the component count, but the math worked out better with a 16Mhz/8 timer frequency.
As soon as the DRP simulator is done, I'll modify it slightly for a VSS simulator.
If you do not have an avr programer you can make one for a few dollars, its similar to building an aldl cable.
So far your going to need an Atmega8, a 16MHz crystal, 2 small caps(for the crystal), a 10k pot, 3 momentary push buttons and a few resistors. It'll work fine on a cheap perf board, I have no plans to lay out a pcb.
The minimum rpm's for 8, 6 and 4 cylinders are 230,307 and 458. The 8cyl setting has 1rpm resolution to 6000rpm, after which ist down to 1 and 2 rpm steps to about 9000, at which point is down to 2 and 3 rpm steps. 6 and 4 cylinder settings have a lot higher high rpm resolution.
I'm writing a routine that will allow the program to guide you through a calibration procedure for the pot. you set the minimum, maximum and center positions of the pot and the program sets up a dead zone at the center and gradually increasing increments as you turn the pot right and left. just like a rotary joystick, or steering wheel controller on a video game.
The pulsewidth is adjustable all the way down to less than 1%.
I wanted to use the 8MHz internal timer to reduce the component count, but the math worked out better with a 16Mhz/8 timer frequency.
As soon as the DRP simulator is done, I'll modify it slightly for a VSS simulator.
If you do not have an avr programer you can make one for a few dollars, its similar to building an aldl cable.
Last edited by The_Punisher454; 06-27-2008 at 02:36 PM.
#23
Member
Join Date: Jul 2004
Location: Salem,Oregon.
Posts: 419
Likes: 0
Received 1 Like
on
1 Post
Car: '74 Firebird, '84 vette
Engine: 454 twin turbo, 350 HSR
Transmission: 4L80E, 700R4
Axle/Gears: 9", Dana36
Re: ECM Test Bench
I have the DRP generator working, and the code is about 90% complete,just a little cleanup and some small stuff. Unfortunatly I had a motherboard failure on my computer and will have wait untill I get it taken care of. I'm writing this from my tuning laptop. Its happening this is just a setback.
Thread
Thread Starter
Forum
Replies
Last Post
1988, 454, automationdesks, bench, cars, communicate, connections, debugger, ecm, ecu, test, tested, tester, testing, tpi