Traction Control (Throttle adjustment/Boost adjustment)

Hey guys,

I’m very new to electronics, so please excuse my ignorance. I’ve always had an interest in electronics, but always thought it was too confusing for me to understand.

This is going to be a pretty lengthy post, since I’ve made some decent progress on my project already. I’ll give some background on myself, explain some of my experiences, and explain how I plan to go about getting all of this to work in synchronous. I’ve been trying to draw basic designs of what I’m doing in effort to break each part of my project into it’s own step, so I will have some pictures, some screenshots, and some code examples.

Background:
I’m 21 years old. I graduated from a Community College in Des Moines, IA in 2012 with a two-year degree in Computer Programming. I work for a company called Businessolver, which sells an online Benefits Solution. We’re basically the middleman between a large company who supplies benefits to their employees and a vendor of a health service. Our platform is a website, so most of what I do is related to Web Development. I interned for the same company for about a year and a half and am now full time, so I’ve been doing programming (in a professional environment) for just short of two years. I have very little background in electronics. The biggest project I’ve taken on so far was building a MegaSquirt Engine Management System for my car (feel free to check out my build thread, the link is in my signature). Here are a couple pictures of what I built.




I followed a write-up johnb7 wrote over on CelicaSupra.com. Pretty much all the parts came from diyautotune.com. The car made 410rwhp and 411ftlbs at 20psi.

Though this seems like a pretty good amount of background for someone new to electronics, all I did was follow instructions. I’m very good at completing tasks that are laid out in detailed steps (Though it’s always nice to ask a couple questions here and there. I guess that’s kind of why I’m posting here).

Also, a coworker suggested this book for reading on the basics:

So I went ahead and bought it. I’m about halfway through it now.

Current Project:
Since finishing the MegaSquirt EMS and having everything go phenomenally well, I’ve started to realize the sky is the limit. A friend of mine has a ProEFI (another brand of EMS) which is one of the more expensive (try upwards of $5000 compared to $400) but much more technologically advanced EMS’s on the market. ProEFI has a Traction Control feature. This system uses wheel sensors to determine if the car is losing traction. Once the system determines that the car is losing traction, it limits the engines power; which helps the car regain traction. I kicked around the idea of trying to add this to my MegaSquirt (I did some research and it sounds like people have added it to the MS3 versions; I’m on MS2. Though it sounds like it’s possible). After more research and talking with some friends who have more experience, it started to make sense to have this be independent of the MegaSquirt.

So the general idea is: Detect if the rear wheels are spinning, if they are then limit engine power until they are no longer spinning.

There’s a handful of ways to limit the engine’s power (I’m sure there’s more than I will discuss). 1. Cut Spark, 2. Cut Fuel, 3. Cut Air. We threw around the pros and cons to each one. We decided it would be best to cut air. From what I understand ProEFI cuts either Spark or Fuel. From what I’ve been told (and this could be wrong), if you ran a car down the track without traction control (meaning traction is reliant on the driver pushing the throttle pedal) and then run the same one down the track with traction control (assuming it limits power by either cutting spark or fuel); you will see the one that ran without traction control will run faster passes. This begs the question of, ”Why can’t a computer control the throttle pedal?” With a Drive By Wire (DBW) system, it can. Since the application I will be developing on will be a turbocharged car, I plan to also control boost levels.

Initially the program will grab two inputs: front and rear wheel speed. It will compare front and rear to determine if one is spinning faster than the other. The equation will be something like:
if((((x-y)/y)*100)>z){cutPower();}
Where x is rear wheel speed, y is front wheel speed, and z is the percentage of wheel spin you want to allow. Determining what amount of wheel spin is appropriate will take some trial and error. The cutPower method will do two things: 1. Cut Boost and Cut Throttle. I have a 14psi wastegate spring and the most boost I run right now is 20psi. So this method will first cut a certain amount of boost per loop where wheel spin is greater then z. Once boost is to 14psi, it will start to cut degrees from the throttle (by closing it more and more per loop).

So on to the electronics. Here’s a basic sketch of the inputs.

Here’s the parts list:
Arduino Uno (I may switch to the Micro, since I need more than 6 analog inputs.)

Wheel Sensors (a friend suggest using a Hall type?)
http://www.cherrycorp.com/english/sensors/Speed_Direction/gs101205.htm
Boost Solenoid (This appears to be +12v and ground and uses PWM)

PWM Kit (For the Boost Solenoid. This has the transistor and other need parts)

Map Sensor (This is the same on that’s in my EMS)

Mazda RX8 DBW Throttle body (Nearly the exact same dimensions as my throttle body)
Mazda RX8 Throttle Pedal (Going to have to find a way to mount this)
Toggle Switches (One for throttle control on/off, one for boost control on/off, one
for my linelock which will disabled bot throttle control and boost control)

Single Din Pocket (Planning to use this as the project enclosure)

(I had to break this post into two posts, because of the length)

(Here's the second half of the post)

In an effort to keep myself from getting burnt out on working on this, I plan to break it out into parts.

  1. Electronic Boost Controller
    This will use the Map Sensor and Boost Solenoid to control boost.
  2. Boost by Traction
    This will use the Map Sensor, Boost Solenoid, and two Wheel Sensors to limit boost based on traction.
  3. Boost and Throttle by Traction
    This will use the Map Sensor, Boost Solenoid, two Wheel Sensors, DBW Throttle Body, and DBW Throttle Pedal to control boost and throttle based on traction.

After everything is said and done, I may add an LCD Screen to display what is/isn’t enabled based on the switches and I may add a knob or something to control the boost level on the fly.

From what I’ve researched, all my inputs (Map sensor, Wheel sensor, Throttle pedal position sensor and Throttle body position sensor) all have three pins. Which are: 1. 5v, 2. Reference, 3. Ground. Also, all my outputs (Throttle Motor and Boost Solenoid) have two pins. Which are: 1. 12v, 2. Ground. From what I gathered, both of these (Throttle Motor and Boost Solenoid) will be controlled through Pulse Width Modulation (PWM).

Since I’m now switching from Drive By Cable (using a cable to control the throttle body) to Drive By Wire (using a micro controller to control the throttle body) I will have to also code the DBW Throttle Motor to work based off the DBW Throttle Pedal. So far I’ve been able to hook the RX8 Throttle Pedal Sensor up to the Arduino and using the analogRead() and the Serial.println(), I’ve been able to get a reading from the pedal. I used the map() function to convert the input from it’s 0-1023 to 0-100 (for percentage).


Once I had the pedal reading 0-100% I started messing around with the throttle body. I was able to do the same thing for the Throttle Body Position Sensor (I converted it to 0-100 also). Once these two were working as inputs, I started messing with the Throttle Motor. I took a 12v source (a car battery) and gave power and ground to the two pins for the Throttle Motor; it turned open extremely fast. If I switch the power and ground to the opposite pins, it tried to turn the other direction. I started researching how to control stepper motors through PWM and found this:
http://bildr.org/2011/03/high-power-control-with-arduino-and-tip120/
I used the second diagram:
http://bildr.org/blog/wp-content/uploads/2011/03/tip120-motor.png
But I didn’t have the components that they use in this example. I looked through the stuff that came with my Boost Solenoid and found a transistor and some other components. I hooked everything up the way the second diagram above suggested and was able to use the analogWrite() function to write out to the motor through PWM. Finally I was able to get all three parts working individually (Throttle Pedal Sensor, Throttle Body Sensor, and Throttle Motor). Since the analogWrite() uses a value of between 0-255, I figured I would map the Throttle Pedal Sensor to 0-255 and write the value directly to the Throttle Motor. This resulted in the Throttle flying open extremely fast (once I pressed the Throttle Pedal down just the slightest bit) and staying there until I shut everything off (regardless of the position of the Throttle Pedal after initially pushing it down). I was pretty confused as to why 0-255 wasn’t the same as 0-100%. As I read about PWM and duty cycle it started to make a little more sense, but I’m still a little confused about things. I then mapped the Throttle Pedal Sensor to 0-120. When I did this, if I recall correctly, the Throttle Motor opened and closed relative to the Throttle Pedal (though a little laggy).


Now I have control over the Throttle Motor by using the Throttle Pedal. I don’t feel safe quite yet running it on my car, since it doesn’t react as quick and as consistent as I’d like. I think it will take some more playing around with. I think I’m going to have to add some logic to check where the Throttle Motor is at (based on the Throttle Body Sensor) and compare it to the position of the Throttle Pedal Sensor. For example, if the Throttle Body Sensor is less than the Throttle Pedal Sensor, keep opening the Throttle until the Throttle Body Sensor is equal to or greater than the Throttle Pedal Sensor (then else if the Throttle Body Sensor is greater than the Throttle Pedal Sensor, do the opposite).

Questions:

  1. The Boost Solenoid kit comes with an IRLZ44 transistor and other related parts. You can see the diagram here:
    MS1/Extra Hardware Manual
    Though in the stepper motor example that I mentioned earlier it suggests using the TIP120 transistor and other related parts. Again the example was:
    http://bildr.org/2011/03/high-power-control-with-arduino-and-tip120/
    Does it matter which one I use? I’m sure DIYAutoTune chose these parts for a reason for the Boost Solenoid setup, but would I be ok to use the same set of parts for the Throttle Motor?

  2. Both the Throttle Pedal and the Throttle Body have redundant sensors (each have two sensors). Would you suggest using both of these sensors for each as inputs to verify they are the same value for safety? (For example, is Throttle Pedal Position 1 equal to Throttle Pedal Position 2 and is Throttle Body Position 1 equal to Throttle Body Position 2?) I assume Mazda did this for a reason? Here’s an almost exact diagram, though I don’t think this is Mazda’s: http://www.rx8club.com/attachments/tech-garage-22/160725d1281667405-throttle-position-sensor-problem-dbw_1-jpg

  3. Since my car doesn’t already have wheel sensors (most ABS cars do, but mine isn’t ABS), I will have to find a way to set some up to get the readings that I need. A friend suggested using the back of the wheel studs? Maybe something like this? (the car picture is unrelated):
    http://www.q45.org/uploads/BallJointRemoved.jpg
    Though it seems they suggest using something with a lot of teeth. My car is a four lug, so it will only have four teeth to read per revolution, is that sufficient? Another friend suggested using the gaps in the top of the rotor, you can see them in the same picture. Would something like that work?

  4. How would you suggest I power my Arduino if I’m going to have it on when the car is running? Can I easily convert from the car’s 12v (which I’ve read that it fluctuates from 8v-14.4v) to Arduino’s 5v? I found a couple threads suggesting that I can give my Arduino 12v directly, but some people that posted in these threads were skeptical as to whether that was safe. So, I’d like to convert down if it isn’t too hard. Here’s an example where someone did the same thing with using a car’s cigarette lighter: http://www.instructables.com/id/Power-Your-Arduino-From-Your-Car/#step1

I had a ton more questions, but after regurgitating all this information I’m sure I’ve forgotten half of them.

On a side note:
If I end up ordering different board since I need more analog inputs, I may use this board for a project on my roommate’s car. He has a Mazda RX7 with a 5.3 Chevy Motor. He ran a 100 shot of nitrous this year and is planning to run a 200 shot next year. Some things to know about nitrous: The Pressure of the Nitrous in the bottle is important, from what I gathered they like to keep it between 900-1000psi (if I remember correctly). Since pressure is related to heat, typically you will have a “Bottle Heater” that warms the bottle up. Also, it is possible to have the system set up to use a 200 shot, but only use a specified amount (they call it a “Progressive Shot”). So we’re thinking, use an Electronic Pressure Sensor to get an input from the bottle and then based on this value we’ll use a digital signal to turn a bottle heater on and off. Something like if(x>y){heaterOff();}else{heaterOn();} Where x is bottle pressure and y is the desired bottle temperature (I’ll probably add some code to give it a window between on and off, so it isn’t constantly trying to switch from on to off and vice versa).

Just one unsolicited comment, nothing to do with arduino - closing the throttle and the wastegate feed is redundant - backing off the throttle or opening the wastegate will accomplish the same thing. The turbo will slow down and boost will decrease with either one. The throttle is a little better lever IMHO if you have an internal wastegate that is probably questionably sized :slight_smile:

I think more sophisticated implementations will retard timing back first, but I personally think that's only useful on the edge case where you barely have enough power to break traction (as opposed to 5X or 10X the torque the tires can take, timing will never get you there...)

PS: Several years ago, back when I was using MS-II, they had traction control out of the box. Not there anymore?

kev_rm:
Just one unsolicited comment, nothing to do with arduino - closing the throttle and the wastegate feed is redundant - backing off the throttle or opening the wastegate will accomplish the same thing. The turbo will slow down and boost will decrease with either one. The throttle is a little better lever IMHO if you have an internal wastegate that is probably questionably sized :)?

That's a good point. I suppose I should do one or the other. I made 350rwhp at 14psi and 410rwhp at 20psi, so adjusting boost on my setup could only limit 61rwhp; which isn't going to stop it from spinning on a street tire (though a stickier tire like a slick, cheater slick, or drag radial might make a considerable difference). So it seems that it would make sense to only do throttle control. But for testing and experimenting, I'll probably work on both throttle and boost control, but keep them independent of each other. Maybe testing will prove that limiting boost before limiting throttle will make a difference. But based on the point you made, it shouldn't. But there could be other factors like: if you started closing the throttle because of wheel spin, once you have the desired amount of traction, how fast would the engine regain power once the throttle is reapplied? And on the flip side, if you started adjusting boost down because of wheel spin, then started closing throttle because of continued wheel spin, once you have the desired amount of traction, how fast would the engine regain power if boost was reapplied first, and then throttle was reapplied second? Would one method regain power faster than the other? If so, I'm guessing it would be a difference of milliseconds and probably wouldn't be humanly noticeable. If it was just throttle based, it would most likely take longer for the air to pass through the intake, go through the combustion cycle, expel the exhaust from the cylinder, and spool the turbo; opposed to just allowing more exhaust gas to pass through the turbo by adjusting the waste-gate. But again, we're probably talking about milliseconds. Thoughts?

On a side note, Apexi makes a device called an AVCR. This is an electronic boost controller that is adjusted based on speed or transmission gear. Unfortunately boost by speed or gear won't accommodate for all situations. Compare a street with a bit of dust to a prepped drag strip, the tire is going to react completely different. Controlling boost by traction would be much better. Controlling throttle by traction would be even better. So either way, playing around with both will serve a purpose.

kev_rm:
I think more sophisticated implementations will retard timing back first, but I personally think that's only useful on the edge case where you barely have enough power to break traction (as opposed to 5X or 10X the torque the tires can take, timing will never get you there...)

I thought that when you retarded timing it continued to spool the turbo, but kept the engine from applying more power? Isn't that the way antilag and flat-foot shifting work? Though this would allow the engine to regain power very quickly once the system goes back to normal, based on some of the cons of anti-lag, I would assume this would detrimental if used long term. I do have anti-lag and flat-foot shifting setup for my MegaSquirt, but I don't use the flat-foot shifting and I only use the anti-lag every once in awhile (usually just at the track).

kev_rm:
PS: Several years ago, back when I was using MS-II, they had traction control out of the box. Not there anymore?

I did some research in the past and couldn't find much. I don't remember what all I read. Some threads mentioned prototyping, but I didn't see anything for documentation on MegaSquirt's site.

Though I did find this just a minute ago for MS1. But it looks like it's for the MegaTune software, I'm on TunerStudio and MSExtra:
http://www.msextra.com/doc/ms1extra/antirev.html
There is a Slew Rate System (which is RPM based and IMO, looks like a waste of time) and a VSS Based System. It seems like the VSS Based System is pretty much what I'm looking for expect it's for MS1 and is Timing/Fuel/Spark cut related.

Any chance you could try and link me to what you saw in the past?

Tough to know what the best control strategy is, and I suspect you'll have to experiment. Fuel cut is a bad idea all round, if your engine is at all highly tuned. It means your engine will run lean and hot every time the cut comes in or out. Walking spark cut seems to be a much more successful strategy and I've used it on a low boost supercharged V8 without any complications. However, spark cut means your exhaust is going to be detonating like mad and that's not good for it or your turbo. One nice thing about the spark cut is that it's very obvious to the driver (assuming you aren't brain dead) so you can use that feedback to teach yourself to drive around the wheelspin rather than rely completely on the aid. So to some extent the best answer will depend on how you anticipate using this device.

Timing retard means that all the heat that isn't being converted into power any more is going to be dumped into the exhaust, and especially into the exhaust valves. I would have thought that was already a concern and dumping yet more heat would just make the problem worse. With the power levels you're talking about I imagine that it would be possible to have the control operate for seconds at a time and that is definitely too longer to be running at full power with a delayed spark. A throttle stretcher would be much kinder that any of these options from the engine's point of view.

One thing I noticed on the RaceLogic traction control is that it allows more slip in a straight line than in cornering - which makes sense when you consider the circle of friction. You can use differential sensing on un-driven wheels to detect cornering.

someBK:
. But there could be other factors like: if you started closing the throttle because of wheel spin, once you have the desired amount of traction, how fast would the engine regain power once the throttle is reapplied? And on the flip side, if you started adjusting boost down because of wheel spin, then started closing throttle because of continued wheel spin, once you have the desired amount of traction, how fast would the engine regain power if boost was reapplied first, and then throttle was reapplied second? Would one method regain power faster than the other? If so, I'm guessing it would be a difference of milliseconds and probably wouldn't be humanly noticeable. If it was just throttle based, it would most likely take longer for the air to pass through the intake, go through the combustion cycle, expel the exhaust from the cylinder, and spool the turbo; opposed to just allowing more exhaust gas to pass through the turbo by adjusting the waste-gate. But again, we're probably talking about milliseconds. Thoughts?

Hmm, that is a good question. I was thinking about it more as how quickly you can dump power, not put it back on. Conceptually, I think the key would be to not overcompensate too much in either case - if you don't do that, you won't care about adding a bunch more power quickly because the system will be keeping you near the threshold. I might also argue compressor output is more closely matched to immediate needs if you haven't kicked the wastegate open.

So... I take back my original comment - I like your approach - try both!

PeterH:
..Timing retard means that all the heat that isn't being converted into power any more is going to be dumped into the exhaust, and especially into the exhaust valves...

Hey, I think he's talking about like 400 hp out of a 2liter.. not built to last :slight_smile: But in any case, this is another reason timing is just a hack for traction control :wink:

PeterH:
Tough to know what the best control strategy is, and I suspect you'll have to experiment.

The part that throws me for a loop is duty cycle. The link here really explains it well:
http://www.arduino.cc/en/Tutorial/PWM
So, I'm trying to wrap my head around the idea. PWM and Duty Cycle are relative to each other. If the pulse-width is 1 millisecond on, 1 millisecond off, then the duty cycle is 50%. So I assume that means that 'analogWrite(9, 127.5)' would be considered 50% duty cycle? Since analogWrite() uses a 0-255 value and half of 255 is 127.5? When 127.5 is written to the motor, it continually opens. This starts to make more sense, because I've always heard that you have to keep your average duty cycle under a certain percentage or you will fry your device (I've heard it mainly on fuel injectors. I believe I have mine set to like 23% or 24% duty cycle, which correlates to the injector size? Mine are 780cc). The reason I say this starts to make sense is, I initially thought that in order to move the throttle to 100% open, you would have to write the motor 'analogWrite(9, 255)'. But actually, to maintain 100% throttle position you could initially write the pulse width to something between 200-255 to snap open fast, and then decrease the amount however much per loop, until the throttle position tries to drop under 100%. I worked a little more today on the code, I’m kind of kicking around the idea of making a global variable that holds the previous loop's pedal value and previous loops' throttle value. That way you can say something like if(currentPedal>previousPedal) and you would know that the pedal is being pressed down. In this case you could even take the currentPedal minus the previousPedal and based on that value decide how much to increase the pulse width. Hopefully I’ll have something to post in the next couple days.

PeterH:
Fuel cut is a bad idea all round, if your engine is at all highly tuned. It means your engine will run lean and hot every time the cut comes in or out.

I don’t intend to use this at all.

PeterH:
Walking spark cut seems to be a much more successful strategy and I've used it on a low boost supercharged V8 without any complications. However, spark cut means your exhaust is going to be detonating like mad and that's not good for it or your turbo. One nice thing about the spark cut is that it's very obvious to the driver (assuming you aren't brain dead) so you can use that feedback to teach yourself to drive around the wheelspin rather than rely completely on the aid. So to some extent the best answer will depend on how you anticipate using this device.

My launch control is set to cut spark. I’m not sure if it’s just spark or timing also. Either way, the car builds 20psi in about 2 seconds of being on the launch control at about 4000 rpm. Let’s just say, I haven’t gotten it dialed in… haha. This is what happened when I tried launching on 20psi:

PeterH:
Timing retard means that all the heat that isn't being converted into power any more is going to be dumped into the exhaust, and especially into the exhaust valves. I would have thought that was already a concern and dumping yet more heat would just make the problem worse. With the power levels you're talking about I imagine that it would be possible to have the control operate for seconds at a time and that is definitely too longer to be running at full power with a delayed spark. A throttle stretcher would be much kinder that any of these options from the engine's point of view.

I’ve heard of some of the heat issues, but I wasn’t quite sure what type of cut it was related to (fuel cut, spark cut, timing retard). I’d definitely have to agree with you on the throttle stretcher, hopefully I can get something going, it’s proving to be a lot of work so far.

kev_rm:

someBK:
. But there could be other factors like: if you started closing the throttle because of wheel spin, once you have the desired amount of traction, how fast would the engine regain power once the throttle is reapplied? And on the flip side, if you started adjusting boost down because of wheel spin, then started closing throttle because of continued wheel spin, once you have the desired amount of traction, how fast would the engine regain power if boost was reapplied first, and then throttle was reapplied second? Would one method regain power faster than the other? If so, I'm guessing it would be a difference of milliseconds and probably wouldn't be humanly noticeable. If it was just throttle based, it would most likely take longer for the air to pass through the intake, go through the combustion cycle, expel the exhaust from the cylinder, and spool the turbo; opposed to just allowing more exhaust gas to pass through the turbo by adjusting the waste-gate. But again, we're probably talking about milliseconds. Thoughts?

Hmm, that is a good question. I was thinking about it more as how quickly you can dump power, not put it back on. Conceptually, I think the key would be to not overcompensate too much in either case - if you don't do that, you won't care about adding a bunch more power quickly because the system will be keeping you near the threshold.

That’s a good point about threshold. If there’s wheelspin and reducing the throttle by 10% fixes the traction issue… then letting it go back to 9% could immediately create wheelspin again. But things are changing so rapidly in this scenario. Where wheelspin is corrected by 10% reduction of the throttle at 25mph, you could be at 35mph in the matter of seconds, and now the car is capable of complete traction with 100% throttle. I’m thinking the code is just going to have to take away power if there’s wheelspin and then once the wheelspin is corrected reapply some power, then repeat. I picture the grand scheme of things working something like:

Current: 100% throttle
IF wheelspin THEN 99% throttle ELSE 100% throttle
True: 99% throttle
IF wheelspin THEN 98% throttle ELSE 100% throttle
True: 98% throttle
IF wheelspin THEN 97% throttle ELSE 99% throttle
True: 97% throttle
IF wheelspin THEN 96% throttle ELSE 98% throttle
False: 98% throttle
IF wheelspin THEN 97% throttle ELSE 99% throttle
False: 99% throttle
IF wheelspin THEN 98% throttle ELSE 100% throttle
False: 100% throttle

But the question is, what’s the best way to do this. But considering I’m not even to the point of having the throttle motor working consistently based off the pedal, I should probably be focusing on that first.

kev_rm:

PeterH:
..Timing retard means that all the heat that isn't being converted into power any more is going to be dumped into the exhaust, and especially into the exhaust valves...

Hey, I think he's talking about like 400 hp out of a 2liter.. not built to last :slight_smile: But in any case, this is another reason timing is just a hack for traction control :wink:

2 liter…?
3 liter :stuck_out_tongue:
CP pistons, Crower rods, rebuilt top and bottom end, I hope it holds… I’m planning on a race gas tune early summer and am hoping to run 5-10 more psi (upwards of 25-30 psi total). Can’t keep up with all these damn v8’s :wink: Guess I should’ve just bought a Chevy motor.

So, I'm trying to wrap my head around the idea. PWM and Duty Cycle are relative to each other. If the pulse-width is 1 millisecond on, 1 millisecond off, then the duty cycle is 50%. So I assume that means that 'analogWrite(9, 127.5)' would be considered 50% duty cycle? Since analogWrite() uses a 0-255 value and half of 255 is 127.5?

Correct. And although 'analogWrite(9, 127.5)' works it's a bad habit to be putting floating point numbers where integers are expected.

When 127.5 is written to the motor, it continually opens. This starts to make more sense, because I've always heard that you have to keep your average duty cycle under a certain percentage or you will fry your device (I've heard it mainly on fuel injectors. I believe I have mine set to like 23% or 24% duty cycle, which correlates to the injector size? Mine are 780cc). The reason I say this starts to make sense is, I initially thought that in order to move the throttle to 100% open, you would have to write the motor 'analogWrite(9, 255)'. But actually, to maintain 100% throttle position you could initially write the pulse width to something between 200-255 to snap open fast, and then decrease the amount however much per loop, until the throttle position tries to drop under 100%.

The injectors, or any resistive devices, will have a limit to how much current they can handle. You have a duty limit so that average current flowing through the injectors will be under its current limit so it doesn't overheat. In your case it's also a concern because you'll start vaporizing your gas inside the injector if the injector gets too hot.

Back to that "it continually opens" thing are you referring to the butterfly on the carb? If the engine is not running that butterfly will always be 100% open if the throttle is anything above zero. The throttle opens the butterfly; the governing system pulls it closed and pulls harder when engine RPM is higher. The butterfly reaches an average state when a balance between the two is reached.

Had to chuckle at the broken lobros. I've never broken one there, on my setup the half shafts are the weak link. I've got a design now that will last for a few years, but they always go eventually. Curiously, every single half shaft failure has been when I was pulling away gently and not quite spinning the wheels - which your grip theory will tell you is where you are getting peak traction. So you may find that by getting a better hook-up you actually give your transmission a harder time, although there's less smoke and noise.

The algorithm I referred to was the strategy of when and how much to use timing retard, spark cut, throttle close etc to drop power. I wouldn't worry too much about the details of PWM at this stage. Are you really going to convert to throttle-by-wire? That has significant safety implications and I'd be wary of a DIY solution for that. It's not going to be too hard to make it work, but you have to look at how many parts have to be working in order for the throttle to close on demand, and think about how many wires and joints and sensors there are waiting to go wrong. This will be why the OEM installation has redundant sensors everywhere. A throttle stretcher would be much, much safer because ultimate control remains with your right foot and all the system can do is take power away.

If you have throttle-by-wire or a throttle stretcher then I don't see the need for direct manipulation of the wastegate. Do you have a wastegate controller? At those levels I guess you will have, because you will obviously want to avoid wastegate creep. In that case you could, if necessary, control the wastegate via that, but I'm not sure you need to.

The bigger injectors are the harder it is to meter the flow accurately at very low power levels so you wouldn't normally go any bigger than necessary. Batch fired injectors are usually sized so they are at about 90% duty cycle at peak demand. If you're only using 25% duty cycle, I guess you are using sequential injection. In this case you may be using low impedance injectors which are driven with a 'peak and hold' signal which applies full power to snap them open and then a reduced power to hold them open. Your ECU will already be taking care of all of that, though.

Chagrin:

So, I'm trying to wrap my head around the idea. PWM and Duty Cycle are relative to each other. If the pulse-width is 1 millisecond on, 1 millisecond off, then the duty cycle is 50%. So I assume that means that 'analogWrite(9, 127.5)' would be considered 50% duty cycle? Since analogWrite() uses a 0-255 value and half of 255 is 127.5?

Correct. And although 'analogWrite(9, 127.5)' works it's a bad habit to be putting floating point numbers where integers are expected.

Oh yeah…
I do have my values coming in from the pedal sensor and throttle sensors as int data types. I was just using ‘127.5’ as an example and forgot that it should be an int not a double.

Chagrin:

When 127.5 is written to the motor, it continually opens. This starts to make more sense, because I've always heard that you have to keep your average duty cycle under a certain percentage or you will fry your device (I've heard it mainly on fuel injectors. I believe I have mine set to like 23% or 24% duty cycle, which correlates to the injector size? Mine are 780cc). The reason I say this starts to make sense is, I initially thought that in order to move the throttle to 100% open, you would have to write the motor 'analogWrite(9, 255)'. But actually, to maintain 100% throttle position you could initially write the pulse width to something between 200-255 to snap open fast, and then decrease the amount however much per loop, until the throttle position tries to drop under 100%.

The injectors, or any resistive devices, will have a limit to how much current they can handle. You have a duty limit so that average current flowing through the injectors will be under its current limit so it doesn't overheat. In your case it's also a concern because you'll start vaporizing your gas inside the injector if the injector gets too hot.

So in the case of injectors, what would typically happen if the average current flowing through the injector was right on the threshold of the duty limit? For example, what if the computer needed to add more fuel (in order to create the correct air/fuel ratio), but by adding more fuel it would increase the average current flowing through injector to a value above the threshold of the duty limit? Would the computer just not inject fuel since it hit the duty limit and as a side effect lean the air/fuel mixture out? Would the computer cut ignition or something else to compensate? The computer would have to compensate somehow right?

Chagrin:
Back to that "it continually opens" thing are you referring to the butterfly on the carb? If the engine is not running that butterfly will always be 100% open if the throttle is anything above zero. The throttle opens the butterfly; the governing system pulls it closed and pulls harder when engine RPM is higher. The butterfly reaches an average state when a balance between the two is reached.

When you say ‘carb’, you aren’t referring to a Carburetor are you? I am referring to the butterfly, but in the throttle body. I’m assuming we have something mixed up, the throttle butterfly should be changing positions based on readings from the throttle pedal. If the engine is off the throttle should be closed, anything at idle should be controlled by the Idle Speed Control Valve. There is no governing system…? Since the pedal controls the butterfly, the butterfly should maintain a position if the pedal maintains a position.

PeterH:
Had to chuckle at the broken lobros. I've never broken one there, on my setup the half shafts are the weak link.

I was told that these joints would break with RPM launches on a sticky tire. Guess I had to see first hand… My usual course of action is, if it breaks, build it stronger. I broke my first two LSD’s, then bought everything to make the third one stronger (Detroit True Trac, new bearings, seals, lower gear ratio). Then I broke my stock trans. Here’s what happened there:


It beat the hell out of it for 2-3 years, so I guess it did pretty well for the abuse I put on it. I upgraded to the transmission that came stock mated to the motor that I swapped into my car (the stock motor was a 5M-GE and the stock transmission was a W58; I swapped to a 7M-GTE and a R154). Also, since I changed transmission I needed a custom driveshaft, so I now have a one piece.

The plan is to have custom axles made, a friend of mine had some made for his 280z that has a Ford differential in it. The shop that made it was: http://www.driveshaftshop.com/

PeterH:
I've got a design now that will last for a few years, but they always go eventually.

Did you still keep it an IRS?

Had to break this post into two sections because of the character length.

Second section:

PeterH:
Curiously, every single half shaft failure has been when I was pulling away gently and not quite spinning the wheels - which your grip theory will tell you is where you are getting peak traction. So you may find that by getting a better hook-up you actually give your transmission a harder time, although there's less smoke and noise.

Very true. I’m not sure how everything will react. My dad’s always used the phrase: ”Once you start getting Traction, you’ll start breaking shit.” Obviously that’s true. Regardless of what tire you’re running, if you’re getting 100% traction it’s going to be more strain on the drivetrain then 0-99% traction. So the question is: When the system is limiting power, is the amount of power being produced at 100% traction enough to break things… or even deteriorate them over time? I guess we’ll see.

PeterH:
The algorithm I referred to was the strategy of when and how much to use timing retard, spark cut, throttle close etc to drop power. I wouldn't worry too much about the details of PWM at this stage.

I’m planning to keep this project completely independent of the EMS, so I won’t have access to timing retard, spark cut, etc. If I decided to somehow get the wheel speed inputs into the EMS, then I would only have those controls.

PeterH:
Are you really going to convert to throttle-by-wire? That has significant safety implications and I'd be wary of a DIY solution for that. It's not going to be too hard to make it work, but you have to look at how many parts have to be working in order for the throttle to close on demand, and think about how many wires and joints and sensors there are waiting to go wrong. This will be why the OEM installation has redundant sensors everywhere.

That was the plan. I’ve been thinking a lot about the safety. Obviously it’s do-able and if I’m thorough enough, it should be safe. I plan to use the redundant sensors, there’s two Throttle Body Position Sensors and two Throttle Pedal Position Sensors. So I’d pull all four inputs in, map them to a 0-100 value, and then compare each set of two, to themselves. If they’re not equivalent, then I will tell the pulse width of the throttle motor to go to 0.

PeterH:
A throttle stretcher would be much, much safer because ultimate control remains with your right foot and all the system can do is take power away.

I think I misunderstood the term ‘throttle stretcher’. I take it that this is something like this?:


Where the normal cable throttle control is nearest to the intake manifold and then towards the front of the throttle body there’s a second butterfly that is electronically controlled?

PeterH:
If you have throttle-by-wire or a throttle stretcher then I don't see the need for direct manipulation of the wastegate. Do you have a wastegate controller? At those levels I guess you will have, because you will obviously want to avoid wastegate creep. In that case you could, if necessary, control the wastegate via that, but I'm not sure you need to.

kev_rm and I discussed this earlier in the thread. It doesn’t really make sense to electronically control boost if we’re electronically controlling throttle. The exhaust from the combustion cycle is what spools the turbo, so if you limit the amount of air going in to the cylinder, then you’re effectively limiting how much exhaust is produced, which in turn reduces boost. If you read some of what I wrote earlier, it explains why I’m going to play with both, even if I don’t end up using both in the end. Here’s the boost solenoid that I bought to use for my MegaSquirt, but am planning to use it in my Arduino project:

PeterH:
The bigger injectors are the harder it is to meter the flow accurately at very low power levels so you wouldn't normally go any bigger than necessary. Batch fired injectors are usually sized so they are at about 90% duty cycle at peak demand. If you're only using 25% duty cycle, I guess you are using sequential injection. In this case you may be using low impedance injectors which are driven with a 'peak and hold' signal which applies full power to snap them open and then a reduced power to hold them open. Your ECU will already be taking care of all of that, though.

My injectors are slightly bigger than what I need. Which is kind of nice in my case, since I’ll hopefully be doing a race gas tune this summer and the injector size may play into how much boost I can run. My injector setup has only two ‘injector banks’, which is batch fire, and I believe I remember setting some values related to ‘peak and hold’. I’ve considered looking into converting it to sequential injection, but there really isn’t much of anything to gain from it, other than possibly better idle quality if I went to a big set of cams.

I messed around with some of my Arduino stuff last night. My roommate grabbed his nitrous bottle, bottle heater, nitrous gauge, nitrous pressure sensor, a car jump pack, and the two solenoids (one for gas, one for nitrous). I was able to get a reading from the nitrous pressure sensor, which was simple because it was the same as all the other sensors I’ve messed with (three pins: 5v, reference, ground). The jump pack was dead, so I didn’t have a 12v power source to try working with the solenoids. But we started looking into whether the one transistor that I’ve been playing with will work with the solenoids. Each solenoid is a 12v and produces up to 8 amps. I need to read through the section in my electronics book on transistors so I can get a better understanding of how they work and hopefully be able to figure out what the values on the transistor’s datasheets represent. I also need to look into ordering an LCD display. I’d like to use one on both projects to display some of the data coming from the sensors (psi for boost and nitrous, amount of throttle being reduced by the computer, etc.). I’m also thinking about looking into a solution to adjust boost levels. For example: on pump gas I’ll run 20psi, but on race gas I’ll run a higher amount (probably 25-30psi). I may have a switch with a guard: when the switch is down, it will be 20psi; when it is up it will be 25-30psi.

Anyhow, I’ll post back sometime this weekend with some progress.

A throttle (cable) stretcher is a component that goes in series with the throttle cable and allows it to stretch - so even if the driver holds the pedal buried into the carpet the throttle may not be fully open. I don't know if that's what that picture shows. Anyway, throttle-by-wire systems are getting more common and it would be kind of cool to have an engine that had automatic launch control and automatic rev matching and so on which would become possible once you have the basic system in place. Just make sure that you consider all the failure modes and ensure the t-b-w system will kill the engine if it loses control over the throttle.

There is no electrical limitation on the injector duty cycle. Usually the injectors would be sized so that the peak duty cycle was about 90% so that there was enough reserve to ensure the engine could always be given the fuel it needed under all conceivable conditions. The bigger the injectors (and the smaller the duty cycle for a given flow rate) the harder it is to control the fuel delivery under very low flow conditions such as starting and idling so you wouldn't normally want injectors bigger than they needed to be. If you're using batch fired injectors and your duty cycle is only 25% then your injectors seem to be massively oversized and this may be making starting and idling difficult. Presumably it's working OK for you, though.

As you know, Megasquirt allows multiple fuel maps. I use two of them for upstream and downstream fuelling, and I have a piggy-back output for WI. The WI status switches the downstream fuelling between two maps so that I use a more aggressive map when everything is OK but revert to a safe mode when the WI system isn't available. You could use something similar to switch between different octane maps. It's not something I do, but I saw that one of the US engine builders goes even further and uses two separate fuel systems, and only brings in the higher octane fuel when the engine is actually under full load - apparently this reduces the running costs dramatically.

Alright, I revised this post like 30 times as ever 30 minutes for the last four hours I either learned something new or came up with another idea... I started writing this over my lunch hour, worked on when I got home from work at about 6:30 p.m., worked on it on and off between then and now... and it's... 5:59 a.m., lol. Hopefully the next set of replies will help me figure out what I'm going to do for a fuel system, I'm starting to realize draining pump gas out of my gas tank and refilling with race gas it going to be a complete pain; further down in this post I talk a lot about my different fuel ideas.

PeterH:
A throttle (cable) stretcher is a component that goes in series with the throttle cable and allows it to stretch - so even if the driver holds the pedal buried into the carpet the throttle may not be fully open.

Interesting. That would be much simpler solution than trying to switch out my mechanically controlled throttle body for a electronically controlled throttle body. Could you link me to an example of a throttle stretcher? I didn’t find that resembled what you're talking about when I Googled for it…

PeterH:
I don't know if that's what that picture shows. Anyway, throttle-by-wire systems are getting more common and it would be kind of cool to have an engine that had automatic launch control and automatic rev matching and so on which would become possible once you have the basic system in place. Just make sure that you consider all the failure modes and ensure the t-b-w system will kill the engine if it loses control over the throttle.

The picture shows a 2JZ-GTE throttle body, it utilizes two butterflies. The front butterfly is controlled electronically and the back is controlled by cable (which actually has two cables, one for the throttle pedal, and one for the cruise control). Either way I plan to be thorough in dealing with safety. But it makes sense to try to use a throttle stretcher if it can eliminate two issues: Mounting a different throttle body and ensuring safety.

PeterH:
As you know, Megasquirt allows multiple fuel maps. I use two of them for upstream and downstream fuelling, and I have a piggy-back output for WI. The WI status switches the downstream fuelling between two maps so that I use a more aggressive map when everything is OK but revert to a safe mode when the WI system isn't available.

Is 'WI' stand for 'Water Injection'? As in Water/Methanol? If so, when you say ‘revert to safe mode when the WI system isn’t available’ do you mean for example, the Methanol reservoir is empty? So then it switches to a map where the Methanol Injection isn’t required?

PeterH:
You could use something similar to switch between different octane maps. It's not something I do, but I saw that one of the US engine builders goes even further and uses two separate fuel systems, and only brings in the higher octane fuel when the engine is actually under full load - apparently this reduces the running costs dramatically.

I didn’t even think to check if it was possible to change fuel maps on the fly with a switch or something similar. I read through the documentation of how to setup up table switching on MS2 just a second ago. Changing maps easily could prove to be extremely useful especially since you can do it on the fly based on RPM, TPS, MAP KPa or even using an external switch.

I was originally thinking of having something like a knob to control boost. I could easily increase or decrease the max boost by turning the knob. Before you mentioned some of these things I had planned to manually change everything to go from pump gas to race gas. The process was going to be: turn the boost up to a certain level, then drain the pump gas out of the tank and fill it with race gas, then manually switch the map from pump gas to race gas.

But… now I’m thinking, if I will be manually adjusting max boost based on the fuel I’m running (by flipping an on/off switch), I could default the max boost to 20psi and then set up an on/off switch to override the default max boost (20psi) by setting it to 30psi. When the switch is down (off), max boost will default to 20psi and the map will default to the pump gas map. When the switch is up (on), the default max boost (20psi) will be overridden and set to 30psi and the default map (pump gas) will be overridden and set to the race gas map.

Another thing to consider is what you mentioned about switching between two fuel systems when under load. Though having my normal tank for pump gas and a fuel cell that holds race gas could very well be a possibility, but I picture that getting really pricey quick. In theory it sounds like a great idea and I’m sure with the right parts it would work perfectly. It sounds like they’re switching from a lower octane fuel to a higher octane fuel (or mixing the two) as they move from low boost to high boost… or low load to high load. The initial cost to put this type of system together would be awfully pricey, but there would be a lot of pros to this setup compared to strictly running race gas or e85. From what I understand e85 has a 30% overhead compared to regular fuel systems, so you’re getting significantly less miles traveled per tank. It would be absolutely insane to drive a long distance running race gas; it would be pointless and expensive. But being able to do something like: cruise on pump gas, switch to race gas when in high load or boost, still be able to default back to a just pump gas tune and boost level (which would probably happen automatically based of a float in the fuel cell), and still have the convenience of stopping at nearly any gas station to get 91 octane. I could possibly see having some sort of electronically controlled ‘Y’ style fitting that only allows one side to be open at a time. Then run one side of the ‘Y’ fitting to a tank with pump gas and the other side of the ‘Y’ fitting to a fuel cell with race gas. Then obviously have the last side would run to the fuel rail. Then when the boost switch is changed from down to up it would change max boost, enable table switching, which would most likely switch based on RPM or KPa; but the tricky part would be getting the ‘Y’ fitting to switch from one fuel tank to the other at the exact same time as the table switches.

On the same lines as the two fuel types being ran in conjunction, I wonder how hard it would be to add Methanol Injection as the second fuel type. I started looking into seeing if I can control Methanol Injection through MS2 and if I can order individual parts and then control them through MS2. Though MS2 doesn’t appear to have a ‘Water Injection’ setting. From what I read it might be possible to control the Methanol by using the ‘Nitrous System’ settings. The way I see it you have two clear-cut options.
The first option:
Have two maps: 1. For 20psi on 91 octane, 2. For 30psi on 91 octane plus Methanol. When the boost switch is up (on), which is 30psi, I think I could potentially tell the Methanol solenoid to not fire until it see’s 21psi. At 21psi or greater it would add Methanol, switch to the 91 octane plus Methanol map and when the boost drops back below 21psi it the map would switch back to 91 octane and the Methanol would stop sparying. When the boost switch is down (off), which is 20psi, and the car would run just like it has all summer (no Methanol).
The second option:
Have two maps: 1. For 20psi on 91 octane, 2. For 30psi on 91 octane plus Methanol. When the boost switch is up (on), which is 30psi, switch the map to 91 octane plus Methanol, and allow Methanol to be sprayed starting at between 10-15psi. This would allow us to run everything the same way as the first option, but this one should produce more power between the psi that the Methanol starts spraying at (10-15psi) and 20psi (because we can pull more timing in that range). When the boost switch is down (off), which is 20psi, and the car would run just like it has all summer (no Methanol).

The Con to this compared to the first is Methanol usage when the boost switch is up (on). The Con for first option compared to the second option would obviously be at lower boost levels. Hopefully I can come up with some ‘fail-safes’ to keep the engine from trying to run 21psi or greater when Methanol can’t be sprayed (empty or some sort of failure).

Anyhow, the gears are definitely turning in my head now, this idea just gained a lot of potential. Thanks for the insight; it’s been very helpful. Now if I can just figure out a simple throttle control solution (like the stretcher you mentioned) and easily mount wheel sensors, this will become half as hard of a project.

Briefly (because you mentioned lots of ideas in your post) I understand that Porsche have used a cable stretcher style traction control system. But if your throttle body has two butterflies in series then that would be an even better solution. You would use the cable-operated throttle for manual control and the 'TC' throttle would normally be wide open. TC can close its butterfly to reduce the power but it can only ever take power away - it can never add power to the manual throttle setting and can never prevent the driver from reducing power manually. I think you're on the right lines with that dual throttle body.

most BWM's from the 90's uses the dual TB. One is operated by the throttle cable (on later models, a servo pulling the same cable; a "DBW retrofit") and the second is always open, and is controled by another servo. The ECU detects wheel spin and closes the second butterfly, limiting the engine power.
Probably is the easiest and safest way to do what you want.

I drive a highly tuned Mustang (without TCS) and I ensure that the best traction control a driver can have are his feet...

EDIT: I think you are having trouble controling your electronic throttle body because its not a regular motor, its probably a servo. Try using the native Servo library; it may help you.

PeterH:
Briefly (because you mentioned lots of ideas in your post) I understand that Porsche have used a cable stretcher style traction control system.

I'll try to do some research.

PeterH:
But if your throttle body has two butterflies in series then that would be an even better solution. You would use the cable-operated throttle for manual control and the 'TC' throttle would normally be wide open. TC can close its butterfly to reduce the power but it can only ever take power away - it can never add power to the manual throttle setting and can never prevent the driver from reducing power manually. I think you're on the right lines with that dual throttle body.

Sorry, I think I just created some confusion. The throttle body pictured isn't the one on my car, this is what I have:
http://www.godspeedperformance.com/universal-70mm-throttle-body-w-adapter-godspeed-project-p-246835.html
I only posted this picture to show another way to approach the issue; a different way of reducing throttle safely. I'm not going to be able to use this entire throttle body, there isn't enough room in my case.

If a traction control butterfly like this came stock on my engine I would obviously be using it, I can't deny it would be the most safe solution that we've discussed yet. But in my case, if I cold find a 70mm TC throttle (which is actually the size of the 2JZGTE throttle) that's only 3-4 inches long (for example, I might be able to take the 2JZGTE throttle body and cut the TC throttle off, then add it to a my car right before the mechanical throttle) and then cut 3-4 inches out of the intercooler pipe right before the mechanical throttle, put a coupler and t bolt clamps on each side and be on my way (the only issue I can think of would be telling the EMS the throttle position, it would be reading off the mechanical throttle and not the electric, so if the electric took power away the EMS wouldn't know. I'm not sure if this would be a problem.). The throttle stretcher would require the least modification and it would be simple to switch it back to the way it was before if ever needed, which I would prefer.

g2tec:
most BWM's from the 90's uses the dual TB. One is operated by the throttle cable (on later models, a servo pulling the same cable; a "DBW retrofit") and the second is always open, and is controled by another servo. The ECU detects wheel spin and closes the second butterfly, limiting the engine power.
Probably is the easiest and safest way to do what you want.

That sounds nearly identical to the 2JZGTE throttle that I linked in the picture in a prior post. I agree, if it was a little simpler to install it would work perfectly.

g2tec:
I drive a highly tuned Mustang (without TCS) and I ensure that the best traction control a driver can have are his feet...

I have to disagree for a couple reasons. In a controlled situation, where you know can predict nearly all possibilities, with the right technology a computer should be able to do everything better than a human.

  1. A sensor can detect wheel spin faster than a human.
  2. A computer's reaction time is a matter of a millisecond, a human's reaction time could be up to a couple seconds.
  3. A computer would have much more precise control, since it's reducing throttle relative to wheel spin; a human is guessing.

In theory... if reduction of power helps maintain traction, a computer would be far superior for the reasons I listed above. The biggest flaw in a computer's system would be in the programming; humans have intuition, computers don't. I guess in a nutshell, what that means is: a human can accomodate for almost any situation, but a computer can only accomodate for the situations that its been programmed for. So the solution to having a computer work better than a human would be to write the program to accomodate for all situations. Again, that's in theory.

g2tec:
EDIT: I think you are having trouble controling your electronic throttle body because its not a regular motor, its probably a servo. Try using the native Servo library; it may help you.

I read through this page:

It sounds like the DBW throttle I'm working with isn't a servo. The motor has two pins: +12v and +0v (ground). The Servo information suggests that you should have three pins: +5v, reference, and +0v (ground).

I was only joking about the Human TCS. In my world, where I drive old cars with lots of pistons, the "only" electronic thing that I'm used inside my car is probably my Stereo. :slight_smile:

But I have an '12 Audi A4 and I can tell that all those electronic assists are really useful; the downside is that they take the all the driving away from you. I feel like in a video game. But that is just me!

I'll be following this topic to help you if I can. Wish you luck!

g2tec:
I was only joking about the Human TCS. In my world, where I drive old cars with lots of pistons, the "only" electronic thing that I'm used inside my car is probably my Stereo. :slight_smile:

Gotcha. I couldn't tell, lol. Sorry if I came off a little harsh, I've gotten a lot of grief lately when discussing this idea with my car friends. A lot of them either think it couldn't possibly work as well as allowing the driver to be in full control and the others think it would work great, but they wouldn't want it because it takes the fun out of driving. There's a handful of reasons that I'm wanting to put this together. Hoping that there's a solution to making the car work more efficiently, learning electronics, possibly adding things back like cruise control (since I have speed and control of engine power), creating an electronic boost controller (saves some money), etc. Yeah it may not be as fun to drive, because it takes some of the skill out of it; but if it can function better than a human and that's enough of a difference to make you win a race, then is it more fun to have full control of the car but lose? Just a thought. :wink:

g2tec:
But I have an '12 Audi A4 and I can tell that all those electronic assists are really useful; the downside is that they take the all the driving away from you. I feel like in a video game. But that is just me!

I've never driven a car with traction control, so I don't know how well they work. But I think the major difference is, I have complete control over my version; so if I can debug the problems with how it functions, the sky is the limit. I think the majority of the traction controls made by large car manufactures are built with performance and efficiency in mind, but I've always heard terrible things. But if you boil traction control down to it's simplest form: if the car is losing traction, limit power until the car regains traction. Then you can start to realize that because a computer can react much faster and more precise than a human; making a traction control work more efficient than a human should be completely possible. Like the point I made above, it does take the fun out... but winning is fun too. XD

g2tec:
I'll be following this topic to help you if I can. Wish you luck!

Thanks, I'll take any help I can get. I will be researching the throttle stretcher idea, ordering wheel sensors, and start discussing how I'm going to setup my project enclosure, switches, lcd screen, etc.

I did some more research and discussing of how to fix my octane issue (to run higher boost) and I'm going to weigh my options between Methanol Injection and E85. I think within $200-400 I could change out some parts on my fuel system to support E85, then of course get the car retuned (which I had already planned to do) I paid roughly $300 between paying a tuner and dyno time.

More to come soon!

1jz? and nice car! im a honda guy, so im not used to seeing as much tq as hp LOL. thats a lot of torque