08-11-2008, 01:52 PM
|
#1 (permalink)
|
|
Proven Member
From: Mendota, Illinois
Region: Midwest
Registered: Aug 2003
Posts: 632
Reputation:
|
1G DSM ECU Flex Fuel Support..
First off, anyone who suggests I just get dsmlink will be slapped. Second, anyone who has not done any DSM eprom ecu programming work, that suggests this will not work, will be shot, with an elephant gun.
Onto my Idea.
The Federal DSM ecu has an input left open for the egr sensor used on the CA models. I want to use this as an input for a Flex Fuel Sensor. I belive this is totally possible. the FFS outputs a Sqaurewave with a frequency dependant on the %of ethanol in the fuel. This frequency could easily be converted into a voltage for the egr input to read. More information can be found here Flex Fuel with MegaSquirt
The tricky part is coding in the ECU, I know shit about machine language that the DSM procesor uses. But I think it should be fairly easy to tie the egr value into the global A/F ratio, and timing, on a global level.. I have two thoughts on how to do the fueling...
1. Two fuel maps, one turned for Ethanol straight, and one for 93 Straight. then the ecu computes a weighted average of the two A/F ratios from the maps based on the Ethanon content, and uses that number.
2. One fuel map, tuned for E85, and then the ethanol % is tied into the global injector compensation, to correct for gasoline.
I am not sure what to do with timing..My only thought was to have the timing map tuned for E85, and then have it globally pull timing based on the Ethanol content.
Anyone with experience have anyideas?
____________________________
Kurt - E85, 450's, China GT, AWD conversion
|
|
Offline
|
|
08-11-2008, 02:23 PM
|
#2 (permalink)
|
|
Proven Member
From: Gresham, Oregon
Region: Pacific Northwest
Registered: Mar 2007
Posts: 755
Reputation:
|
have you seen this
hwnd.org - 1G DSM EPROM Editing
and this
dsm-ecu : DSM-ECU
The HWND explains a little bit and the yahoo group has a complete dissasembly of the whole thing. If you dig, you can see where you can use the EGR input to monitor a WBO2. That code will probably help you figure out how the ECU manipulates variables, the specific ones you're interested in even.
I'm not sure there is enough memory on the eprom, or if the computer can look at the eprom to have two different maps. I imagine you'd have to have global settings rather than two different tables. Like the air or coolant temp globally changes the entire thing (is that right?). I guess that's what you said in #2, but you can have it go either way.
For example multiply end pulsewidth by some value based on the input from the FF sensor. I also imagine it's going to be more of a PITA than it's worth, but if it makes you happy, I'm not one to judge.
____________________________
Tom - '90 Talon on blocks!
|
|
Online
|
|
08-11-2008, 03:11 PM
|
#3 (permalink)
|
|
Proven Member
From: Wichita, Kansas
Region: Midwest
Registered: Apr 2004
Posts: 819
Reputation: 
|
I also was going to mention the amount of space available on the EPROM for the added maps and added code to do this on the stock ECU. I've done lots and lots of stuff with the stock EPROM ECU. It's actually a very decent platform. The biggest issue is space and amount of processor power and speed. It's a lot easier to use a Megasquirt.
But if I where to try this I wouldn't mess with injector PW in any way. Built a box to convert the square wave into a linier voltage and use that to change the global injector size. It's pretty much a straight 30% more fuel needed for E85 and you can use a linier function to go from gas to E85 to change the injector size. As for timing you might be able to squeez in a small table to add timing based on the value that you recieve from the EGRT input and add x amount of timing to the end of the timing function. I'm sure it's a lot easier said than done. If I remember correctly it's fairly standard HC11 processor language with some proprietary instructions that Mitsubishi had motorola use on the chip.
Again this would be a lot easier to just use a MSII but I can see it being done. You can start by reading the HC11 programming book. It's about $90 from amazon. I got it a few years ago and it did help me a lot for some of the stuff I did with mine. But it's very dry and will put you to sleep if your not carefull.
____________________________
Jeremiah
92 Talon TSi (HX52 install in works)
|
|
Offline
|
|
08-11-2008, 03:19 PM
|
#4 (permalink)
|
|
Proven Member
From: Omaha, Nebraska
Region: Midwest
Registered: Nov 2007
Posts: 2,099
Reputation: 
|
I don't know much about recoding stock ECU's but i'm definitely interested in this and any flex fuel project. If you make this work, please let us know as i have been thinking about editing an ECU and using it over my haltech just to see if i can go completely flex fuel instead of just loading a map for one fuel or the other.
Great project, I'm subscribed!!!!!!
|
|
Online
|
|
08-11-2008, 05:39 PM
|
#5 (permalink)
|
|
Proven Member
From: Mendota, Illinois
Region: Midwest
Registered: Aug 2003
Posts: 632
Reputation:
|
I agree that with megasquirt it would be a done deal..but If the factory ecu could be used it would be waaaaaay nicer to use..a flex fuel dsm could be a plug and play ordeal.. And I don't want to lose all the things that the factory ecu controls...I want my car to start and run like factory, but run mid to low 12's with ease.
Glenn..I'm almost positive you ought to be able to do it with your haltek...you need another sensor input that can be tied into fuel and timing.. By the way my hackjob of an e85 tune is getting 22mpg on the highway..while with the stock cruize A/F ratio.
____________________________
Kurt - E85, 450's, China GT, AWD conversion
|
|
Offline
|
|
08-11-2008, 08:37 PM
|
#6 (permalink)
|
|
Proven Member
From: Omaha, Nebraska
Region: Midwest
Registered: Nov 2007
Posts: 2,099
Reputation: 
|
That's pretty good mileage from E85 on the highway. Ajax on here came down to get his car tuned and he was getting 22 out of E85 also. I don't know if the one time i did 3 hours of highway driving on E85 if i was maybe going to fast and hurting mileage even more or what, but the best i got was about 18MPG. I do have to some how figure in that i was stuck in traffic for about a 1/2 hour on the interstate leaving Omaha because of a semi wreck that closed all but the shoulder for everyone leaving Nebraska.
The only 2 sensors i can tie into the global fuel and timing changes are air temp and coolant temp. There are some other feature like NLTS that i could program in to add fuel for the E85 from pump map, but the thing is I'm very limited to how much i can add, i can only get +/- 13% from the air temp (which is the one i wanted to use as a switch for E85) SO i would have to use coolant temp for the adjustments. But it's probably more sensible in daily driving to give up the coolant temp, at least after warm up (but i can trim warm-up with my trim knobs as i do everyday) I wanted to make a pump gas map, then when i put in E85 just basically short the temp sensor wires together to go full closed circuit that way i could put the trimming of the global maps on the extreme end of the scale so it wouldn't interfere with daily driving with the sensor operational.
These 2 things are great and would work, but the thing i don't have is something that can work with different percentages of ethanol in the tank. The only thing i can and just thought of (literally right now) would be hooking 1 or 2 flex fuel sensors to the 2 trimming knobs i have with haltech that will allow me to adjust up to +/- 50% fuel and +/- 15* of timing, they are just a variable return of 0-5 volts.. Now I'm back to wanting to do this..glad you made the thread and sorry i cluttered it with my info, but i kinda thought it was okay since were both talking about the same topic.
|
|
Online
|
|
08-11-2008, 08:59 PM
|
#7 (permalink)
|
|
Proven Member
From: Mendota, Illinois
Region: Midwest
Registered: Aug 2003
Posts: 632
Reputation:
|
No worries dude! If your two trims are just a 0-5v this should be faily easy for you then. you need a fequency to voltage convertor. So the 50-150hz sensor outputs comes out to be 0-5v. Unless you can chage the range that the aadjustment is you'd need to do some creative electrionic work..but its certainly doable.
I hope that for the dsm ecu, that we can at least get a middle ground...dual image eproms can be done... but even like an option for half and haalf would be better than that.
my 22mpg was rollin about 80mph, doin a couple pulls up to 100.
____________________________
Kurt - E85, 450's, China GT, AWD conversion
|
|
Offline
|
|
08-11-2008, 09:27 PM
|
#8 (permalink)
|
|
Proven Member
From: Castle Rock, Colorado
Region: Rocky Mountain
Registered: Jan 2005
Posts: 260
Reputation: 
|
I've thought about doing it, but I went the easy way and just flip switch for seperate timing, fuel and injector size for e85, pump , race and nitrous. No need for a dual image, just add some maps. There is plenty of space on a 256 chip.
What I was thinking of doing it adjusting the injector size based on ethanol percentage. Just make a map like the coolant temp map but adjust injector size.
For timing you could create a e85 map and interpolate value based on ethonal percentage like the stock stuff does for the octane value.
|
|
Offline
|
|
08-12-2008, 02:33 PM
|
#9 (permalink)
|
|
Proven Member
From: Wichita, Kansas
Region: Midwest
Registered: Apr 2004
Posts: 819
Reputation: 
|
Although crude shorting your CLT to add more fuel can work. I just am not to sure if it will go 30% more but I've not used a Haltek. You can also just use the octane map that is their to add timing but do it backwards. So when you are on full gas it's pulling say 5*ish and use the various octane levels to eventually bring it up to the igniton map timing which of course would be tuned for E-85. In my experiance with E-85 and tunning from pump to E-85 allowed about a global 5* timing increase. I was running 32 PSI on pump and E-85 so if your using less boost then you could probably add a few degrees more but not global. I don't see this being that hard now that I think about it. Again I would use global injector size to change fuel. It will work rather well and not require you to try and squeez another 12x16 fuel table on the EPROM. The biggest problems are time required to do all the coding. If you want to change and move code around you are going to want to go over and check every line of code to ensure you didn't move something that will get called in another routine. Their isn't a debugger that I know of that you can use to make it easy to check since their is propietery code.
____________________________
Jeremiah
92 Talon TSi (HX52 install in works)
|
|
Offline
|
|
08-29-2008, 01:34 AM
|
#10 (permalink)
|
|
Proven Member
From: Gresham, Oregon
Region: Pacific Northwest
Registered: Mar 2007
Posts: 755
Reputation:
|
Have you been working on this at all? I'm seeing that the whole first half of the 32k binary is setup to put custom code in. I don't know what the limitations of this are, but if you look at the HNWD page about stutterbox
"At the stock rev limiter location (7279), you replace the three bytes that were "8C 01 F4" with "BD CF 50." Then, you go up to the line that starts with 4F50, and add the following code:
"96 C6 81 75 22 04 8C 01 F4 39 8C 02 EE 39"
This is how the code works:
7279: BD CF50 JSR 4F50; Instead of stock rev limiter CPX, jump to 4F50
4F50: 96 C6 LDAA L00C6; Load speed sensor to accumulator A
4F52: 81 75 CMPA $0075; Compare speed sensor to 75h (check if car is moving)
4F54: 22 04 BHI 4F5A; If car is stopped, skip next instruction (go to 4F5A)
4F56: 8C 01F4 CPX $01F4; 7500 rpm rev limiter
4F59: 39 RTS; If car is NOT stopped (moving), go back to stock code, no stutter
4F5A: 8C 02EE CPX $02EE; 5000 rpm stutter if car is stopped
4F5D: 39 RTS; Return to 4F59, which returns to stock code"
So that's new code that was never involved in the original.
____________________________
Tom - '90 Talon on blocks!
Last edited by tkelly27 : 08-29-2008 at 09:40 AM.
|
|
Online
|
|
09-09-2008, 03:00 PM
|
#11 (permalink)
|
|
Proven Member
From: Mendota, Illinois
Region: Midwest
Registered: Aug 2003
Posts: 632
Reputation:
|
Ive been reading up on this lots. I just found a dissasbly of the code that gives a line by line breakdown of what the code is doing. I'm trying to understand just what the octane map does and how it works. I do have a couple of algorythms in mind for the timing. But i'm not sure how to do it exactly. I'll try and keep this updated as I work. I have a word doc that I'm writing as I progress, and recording my ideas in it.
____________________________
Kurt - E85, 450's, China GT, AWD conversion
|
|
Offline
|
|
09-09-2008, 03:03 PM
|
#12 (permalink)
|
|
Proven Member
From: Mendota, Illinois
Region: Midwest
Registered: Aug 2003
Posts: 632
Reputation:
|
Quote:
Originally Posted by tkelly27
Have you been working on this at all? I'm seeing that the whole first half of the 32k binary is setup to put custom code in. I don't know what the limitations of this are, but if you look at the HNWD page about stutterbox
"At the stock rev limiter location (7279), you replace the three bytes that were "8C 01 F4" with "BD CF 50." Then, you go up to the line that starts with 4F50, and add the following code:
"96 C6 81 75 22 04 8C 01 F4 39 8C 02 EE 39"
This is how the code works:
7279: BD CF50 JSR 4F50; Instead of stock rev limiter CPX, jump to 4F50
4F50: 96 C6 LDAA L00C6; Load speed sensor to accumulator A
4F52: 81 75 CMPA $0075; Compare speed sensor to 75h (check if car is moving)
4F54: 22 04 BHI 4F5A; If car is stopped, skip next instruction (go to 4F5A)
4F56: 8C 01F4 CPX $01F4; 7500 rpm rev limiter
4F59: 39 RTS; If car is NOT stopped (moving), go back to stock code, no stutter
4F5A: 8C 02EE CPX $02EE; 5000 rpm stutter if car is stopped
4F5D: 39 RTS; Return to 4F59, which returns to stock code"
So that's new code that was never involved in the original.
|
The guy who used to own that site was Kyle Tarry, its really sad that he got out of dsm's he was a very bright kid, I think if he had stayed around these, we would have FFV support in a factory ecu allready. I belive he was pretty key in the dissasembly.
____________________________
Kurt - E85, 450's, China GT, AWD conversion
|
|
Offline
|
|
09-17-2008, 04:57 PM
|
#13 (permalink)
|
|
Proven Member
From: Mendota, Illinois
Region: Midwest
Registered: Aug 2003
Posts: 632
Reputation:
|
So I think I've got it figured out...kind of. I need to learn the syntax. But i'm about ready to start coding.
____________________________
Kurt - E85, 450's, China GT, AWD conversion
|
|
Offline
|
|
10-13-2008, 12:51 PM
|
#14 (permalink)
|
|
Proven Member
From: Willmar, Minnesota
Region: Midwest
Registered: Sep 2004
Posts: 271
Reputation:
|
To have the ecu add or remove a certain amount of timing globally would not work well because you don't want a lot of changes to the timing for cruising, most of the changes would be needed at the lower rpm high load portion of the timing map.
Have it point to 1 set of maps if you're under a certain % of ethanol, and to another if you're over a certain percent. I think that would work pretty good. There is plenty of room left to have more tables. You could even have 3 sets of maps if you wanted more of a transition between the gas & ethanol maps, but it shouldn't really be necessary.
Having it decide which table to use should be fairly easy. Where the stock code refers to the table, have it go to a different place where you can calculate which map to use, then return to the stock code.
|
|
Offline
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is On
|
|
|
|
All times are GMT -7. The time now is 12:58 AM.
|