Why is it so hard to get a Nick Williams 102mm throttle body to work with a 5th generation Corvette?
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
nw102_C6.jpgIt doesn't work on a C6 either. Apparently I was dealing with a defective throttle body this whole time. This was supposed to be a video showing the same oscillation problem, but I fumbled the camera settings and got a still photo instead.JPEG Image - 428.65 kB - 03/14/2023 at 20:47 |
|
|
NW102_Oscillation.mp4What happens when you connect a Nick Williams 102 throttle body to a 2002 Corvette.MPEG-4 Video - 34.20 MB - 09/28/2021 at 05:39 |
|
|
Esp32ThingDbwPid.inoCycles the throttle body through some fast and slow transitions.ino - 7.07 kB - 09/06/2021 at 01:41 |
|
|
LS2SilverBlade_DesktopController_01_NotSureWhyInverted_Trim.mp4Controlled by the ESP32 Thing + power shield. I was filming this almost straight down - apparently slightly beyond vertical because the phone decided to invert the video.MPEG-4 Video - 8.28 MB - 09/06/2021 at 01:35 |
|
|
NW102_DesktopController_01_Trim.mp4Controlled by the ESP32 Thing + power shield.MPEG-4 Video - 6.50 MB - 09/06/2021 at 01:35 |
|
After I gave up on getting this to work in my C5, I tried to sell it to a guy with a C6, and we found that it had the same oscillation problem in his car that it had in my car. That was back in February 2022.
After I posted about that on Facebook, a guy from Williams Performance contacted me and offered to fix it, so I sent it in.
Williams Performance called me a few days later and said that the position sensor was defective, and they would be happy to replace it, but it would be a while because they were waiting on parts from a supplier.
Six months later, I asked what was up, and the only response was "wait, what's your name?" I gave it to them. They never got back to me.
A year after sending it in, I think I may have convinced them that I'm still waiting for a replacement for the $650 throttle body that I sent them... but I'm not certain of that.
I'm a little grumpy about this.
I bought a 103mm throttle body from Katech, plugged it into the car, and it just works.
I will probably just sell the Nick Williams 102 to somebody with a C6 or something like that.
This weekend I connected the Nick Williams 102 throttle body to my 2002 Corvette to look at how it fails.
At about 15% throttle opening, the blade starts to oscillate. My first thought was that this was due to the PID gains being too high, but it could also be due to to the higher current consumption causing the TAC module to cut power (which leads to no current consumption, which restores power, and the cycle repeats). If it was just PID gains, I'd expect the blade to continue opening as it oscillated, but it acted like there was a hard stop at 15%, so I lean toward the over-current protection theory.
Like a fool, I neglected to note the ODBD2 fault codes that came up when this happened. I'll do that next time.
To see the video, go to the files section, and look for the NW102_Oscillation.mp4 file. I tried to slowly open the throttle to about 50%, but you'll see the blade stop advancing and start fluttering. That happens twice, then I just stomped full throttle and the results were only slightly different - slightly more opening angle (due to momentum?), then oscillation, then an abrupt close as the car went into failsafe (with "reduced engine power" displayed on the dashboard).
If it is over-current, then a less stuff spring might fix it. Or perhaps an additional output transistor in parallel with whatever is providing current now.
What did I learn?
Alas, not much. The same code on the ESP32 works with both throttle bodies, cycling them through the same 'script' of gradual and rapid transitions from one blade angle to another.
The voltages and ADC signals from the two are not identical, but they are quite similar.
The NW102 can draw more power, but not a lot more.
The NW102's rest position looks like it would allow more airflow than the LS2 throttle body's rest position, so that's something to look into more. There's a set-screw on the side of the TB that might adjust this, but it really does not want to turn. At some point I may need to disassemble it and see if it really is an idle adjustment, or if it's just holding something in place.
The NW102 opens past 100%, to the point where the blade appears to begin restricting airflow again. I've read that gold-blade LS2 throttle bodies can be made to work by (swapping sensor wires and) tuning the PCM to allow only 90% throttle opening, so that might be a factor here as well.
What are the next steps?
Put the NW102 back into my car and get more information about the failure mode.
My car is on jack stands right now with a broken engine, so I may not be able to learn much, but it's worth a try.
Real progress might need to wait until the new engine shows up - which was supposed to be a month ago, so I can't make any predictions.
The next step was to characterize the relationship between the motor power and the throttle blade angle.
Surprisingly enough, there isn't much of a relationship. I had guessed that the opening angle would be roughly proportional to the duty cycle, and whlie that isn't completely wrong, the relationship is VERY rough. Friction and momentum play a huge role. The only way to really control the blade angle is with a PID loop.
So I wrote a state machine that exercises the blade angle slowly from closed to open and back again, and added a PID loop to control it. Then I added some fast transitions between different blade angles, and experimented with different PID gains. It was surprisingly insensitive - a wide range of gains give reasonable good control, or at least it seems that way on my desk.
I'll attach the .ino file, and perhaps a video.
Kudos to the authors of these web pages - this information helped a lot:
ESP32 PWM with Arduino IDE (Analog Output) | Random Nerd Tutorials
https://randomnerdtutorials.com/esp32-adc-analog-read-arduino-ide/
Not sure why the 2nd one is showing up as a URL rather than as the page title, but you can tell what it's about.
Ingredients:
SparkFun ESP32 Thing - DEV-13907 - SparkFun Electronics
SparkFun ESP32 Thing Power Control Shield - DEV-14155 - SparkFun Electronics
Schottky Diode - COM-10926 - SparkFun Electronics (a dozen)
Some stackable headers
A 100uf or larger eletrolytic cap - I used 470uf, because I had one
Pigtail - AmazonSmile: ICT Billet LS Gen 4 Throttle Body Connector Pigtail DBW 6 Wire
PCB / breadboard - https://smile.amazon.com/gp/product/B07ZYNWJ1S/
A power supply capable of delivering 12 volts, 1 amp continuous, 2-3 amps peak.
LS2 throttle body with silver blade. These sell for $300ish from various places. Do not get the gold blade version - they cost half as much but they are electrically incompatible.
Nick Williams 102mm throttle body. Also not cheap.
Reference:
These wire colors don't all match the pigtail wires, but the positions and labels are correct.
Preparation:
Add all of the diodes to the power shield. This project only needs one channel, but think of the future.
Add the big cap.
Solder stackable headers on the ESP32
Solder stackable headers through the breadboard PCM so that you can stack it ont the Thing and use the side pins for wires from the pigtail.
The DBW motor ground and power go into the motor driver board's ground and channel 1 power.
The DBW sensor ground and power go into the ESP32's ground and 3V3 power.
The DBW sensor signals go into ADC2_1 and ADC2_2, pin numbers 0 and 2, which are at position 9 and 10 if you count up the side of the board.
And then I started writing code.
First I wanted to know, what do the ADCs say about the sensor signals when the throttle blade is at rest, or wide open, or when I push it closed? (Curiously, the throttle body is sprung to be open a few percent at rest.) And what are the sensor voltages? Answers:
int analog1Pin = 0;
// NW102
// Closed - 4.5v - 472
// Idle - 3.7v - 386
// Open - 0.4v - 170
//
// LS2 Silver
// Closed - 4.5v - 473
// Idle - 3.7v - 392
// Open - 0.4v - 169
int analog2Pin = 2;
// NW102
// Closed - 0.5v - 040
// Idle - 1.4v - 122
// Open - 4.6v - 480
//
// LS2 Silver
// Closed - 0.5v - 037
// Idle - 1.3v - 111
// Open - 4.6v - 477
Big disappointment right away. I had heard that some throttle bodies - like the aforementioned gold-blade LS2 throttle body - simply have sensor signals 1 and 2 swapped. So I was hoping I could just swap pins in the pigtail connector to make everything work. But these are actually very close.
One could say that this project started a couple years ago when I bought my C5 to a local shop for some upgrades, including a 4" air intake, 4" throttle body (Nick Williams 102), and a 4" intake manifold. Imagine my disappointment when the tuner at this shop warned me up front that he'd only been able to get the NW102 throttle body to work on about 1 0% of the C5s he'd tried them on. And imagine my further disappointment when my car turned not NOT to be one of the lucky ten percent.
If I remember correctly, the throttle would idle reasonable well, but would only open about 15% before the car went into "reduced engine power" mode. But it's been a couple years so I could be wrong. There were OBD2 fault codes as well, but I have no idea where I wrote those down.
We ended up using an LS2 throttle body instead, and the car still made good power (475whp on one dyno, 450whp on another), and it was a ton of fun on my local road course (The Ridge, in Shelton WA), so I didn't lose a lot of sleep over it.
But I did go home with a barely-used 102mm throttle body still in a box.
Part of the problem is that the C5 uses two separate computers to control the engine and throttle body. The engine is controlled by a Powertrain Control Module (PCM) that is also used in cable-throttle cars and trucks of the same era, for which a variety of tuning tools are available. The throttle body is controlled by a Throttle Actuator Controller (TAC), which nobody has figured out how to tune. The TAC probably needs to be tuned to match the NW102, but since there are no tools for that, C5 owners are kinda stuck.
In the next-generation Corvettes, the TAC functionality was built into the next-generation PCM, and I suspect that's what makes it possible to integrate aftermarket throttle bodies.
When you ask about C5 / NW102 compatibility on the internet, most of the responses are "hire a better tuner lol" from people who have no idea what the solution is. Actual tuners either tell you it's not a solvable problem, or tell you that sometimes it works and sometimes it doesn't. After 20 years, there are no tuning secrets left.
You'd think that after all these years, the fine folks at the Nick Williams company would have figured out - and publicly documented - exactly what prevents these things from working consistently in C5s, and how to solve the problem. After all, they would sell even more of their throttle bodies! But it's not hard to find stories from people who work with Nick Williams to resolve this sort of problem, and ended up getting nowhere. Apparently there was a period when you could send in a factory C5 throttle body and NW would transplant the electronics in one of theirs, but that time seems to have passed. I can't even get a phone call returned.
So I vowed to dig into this myself. It's taken a couple years, but I'm finally starting on this path.
Create an account to leave a comment. Already have an account? Log In.
Become a member to follow this project and never miss any updates