Rennlist - Porsche Discussion Forums

Rennlist - Porsche Discussion Forums (https://rennlist.com/forums/)
-   991 GT3, GT3RS, GT2RS and 911R (https://rennlist.com/forums/991-gt3-gt3rs-gt2rs-and-911r-229/)
-   -   How-to: building a GPS-based PSE valve controller for passing track sound checks (https://rennlist.com/forums/991-gt3-gt3rs-gt2rs-and-911r/876050-how-to-building-a-gps-based-pse-valve-controller-for-passing-track-sound-checks.html)

Mech33 05-29-2015 04:36 AM

How-to: building a GPS-based PSE valve controller for passing track sound checks
 
**UPDATE**: this mod as described in this post is for the *991 GT3* only. Some folks have reported it working as-is on the 981 Cayman S, but I haven't not confirmed it first-hand. This mod is confirmed to *NOT* work on the 997.2 GT3 as described in this post, as that car switches the low side (ground) of the valve instead of the high side (battery voltage). The GPS switch wiring and harness need to be modified to work for the 997.2 GT3 (which I've done by hand for one 997.2 owner). If there is significant interest in this for the 997.2 GT3, I can describe how the wiring is modified for folks in another thread.

*DISCLAIMER* You take on this project at your own risk! While this has worked well for me, there is always a risk of damage to the car or sensitive electrical hardware like the ECM when tinkering like this, especially if a mistake is made. Consider yourself warned. :) Only adventurous folks should read on...

Spoiler: here’s my finished GPS-based PSE valve controller running at a recent Laguna track day:

[img]https://dl.dropbox.com/s/bu4gy2cil4c8eqc/GPS_PSE_controller_test_2.JPG?

So this all started when I went looking for a solution to passing 90-92 dB sound days at Laguna Seca without major modifications. For my first Laguna day with the new GT3, I just mechanically held the PSE valves in the “closed” position for an entire 92 dB track day at Laguna Seca and consistently passed sound at ~92.5 dB.

[img]https://dl.dropbox.com/s/xd818ye66ft8r9w/exhaust%20valve%20clip%201.jpg?

[img]https://dl.dropbox.com/s/zhbqdof06xbyn9k/991%20GT3%20exhaust%20valve%20description.png?

This worked like a charm, but it subdued the sound a bit and folks brought up concerns around heat build-up in the side mufflers. Not sure that’s really an issue, but it sparked some conversation about somehow only closing the valves when necessary, and leaving them open the rest of the time. “doubleurx” ultimately made a great suggestion:


Originally Posted by doubleurx (Post 12206646)
Or better yet, GPS activation....set it and forget it!

Now why didn’t I think of that?!

Researching the OEM PSE system, it’s pretty simple:

1) vacuum is stored in a vacuum reservoir tank sitting on top of the engine

[img]https://dl.dropbox.com/s/c6guz1rlos7efwq/991%20GT3%20vacuum%20system.png?

2) a SPDT solenoid (#1 in picture below) controlled by either GND or +VBAT applied by the ECM then either connects vacuum or atmospheric pressure to the pneumatic lines controlling the PSE valves. +VBAT results in vacuum which pulls the valves closed (quiet, all exhaust passes through side mufflers), and GND results in atmospheric pressure which leaves them in the open state (loud, exhaust is free to go right through to the center muffler).

[img]https://dl.dropbox.com/s/8jo97vlxuo2zld2/exhaust%20valve%20part%20numbers.png?

The issue is that regardless of the PSE setting in the center console, the ECM always OPENS the valves at full throttle. This results in blowing a 102 dB at Laguna. :D

To take over control of the PSE valves and force them shut at full throttle, you have two main options:

1) Override the OEM electrical control of the stock PSE solenoid to apply +VBAT at full throttle (careful to not back-drive the ECM), or

2) Override the OEM pneumatic control of the PSE valves in the exhaust by adding an additional solenoid under separate control to switch in vacuum during full throttle

#1 involves fewer parts, is more plug-and-play, but carries some electrical risk of back-driving the ECM if you’re not careful. #2 is safer, but you have to add an additional solenoid valve in the engine bay and tap into some of the vacuum lines (all reversible, but does require some temporary modification).

After some back and forth debate with orthojoe, I ultimately decided to move forward with approach #1.

Mech33 05-29-2015 04:36 AM

Now I just needed to find male / female plugs that matched the OEM PSE solenoid to electrically “splice” into the system without any cutting. Oh, and a quick-and-dirty method of flipping some relays to control those PSE solenoid signals based on GPS location! :D

Long story short, I sourced all the parts off-the-shelf with all but the male / female solenoid connectors coming from Amazon. Everything is virtually plug-and-play, but you do have to do a little careful wiring to ensure all the connections are correct, and solder one jumper wire on the GPS board. Then program some custom firmware into the GPS board to do the appropriate geofencing to flip the valves open and closed at your required locations, and you’re done!

I tested the system at Laguna about 2 weeks ago and went from my normal 102 dB down to mid 92 dB (low enough to pass a 92 dB day). Joe then tested the same setup on his car but with a simple turn-away exhaust pipe and that enabled him to pass 90 dB. Golden!

I had the wires routed outside the car from the OEM solenoid to the GPS controller so it didn’t look pretty (I’ve since had the wires run through the firewall):

https://dl.dropboxusercontent.com/u/...ler_test_1.JPG

Mech33 05-29-2015 04:38 AM

Now on to the specifics of how to make your own! First, you’ll need all of the following parts:

1) Male / female connector pair for inserting between the OEM PSE solenoid and the OEM wiring harness, $8.99
http://www.bmotorsports.com/shop/pro...oducts_id/1406
http://www.bmotorsports.com/shop/ima...00x225_mat.jpg

2) Main processor board (Arduino UNO R3 SMD), $27.95
http://ecx.images-amazon.com/images/I/417mioG0rAL.jpg

3) Relay board (Seeed Relay Shield v2.0), $20.99
https://www.amazon.com/gp/product/B0...?ie=UTF8&psc=1
http://ecx.images-amazon.com/images/I/51wC86oQe4L.jpg

4) GPS board (Adafruit Ultimate GPS Logger), $53.99
https://www.amazon.com/gp/product/B0...?ie=UTF8&psc=1
http://ecx.images-amazon.com/images/...L._SL1200_.jpg

5) Car 12V adapter with plug compatible with processor board, $5.99
https://www.amazon.com/gp/product/B0...?ie=UTF8&psc=1
http://ecx.images-amazon.com/images/I/41VKGCl0JGL.jpg

6) Case for the board (I only use it for protecting the bottom half of the board since the top doesn't fit with the multi-board stack... I've yet to find a better off-the-shelf case yet), $9.99
https://www.amazon.com/gp/product/B0...?ie=UTF8&psc=1
http://ecx.images-amazon.com/images/I/51CfG6hcM6L.jpg

7) Waterproof connectors for inserting between the board stack and the other wiring (I'm using one of these in the engine bay so I can plug jumper wires in easily to go back to stock mode vs. Laguna mode when I want to just temporarily hook up or remove the GPS system, and another near the board), $6.48
http://ecx.images-amazon.com/images/I/41GHkapuYbL.jpg

8) 2-conductor bonded wire (I run this from the engine bay to the controller board with a waterproof connector on each end), $6.99
http://ecx.images-amazon.com/images/I/51o7vA61ixL.jpg

9) USB cable for programming the main processor board (only needed if you don't already have one), $4.67
http://ecx.images-amazon.com/images/...lL._SL400_.jpg

10) A soldering iron, wire stripper, crimper, etc. for building the custom wiring harness.

11) A computer (Windows or Mac) for installing the Arduino development software and programming the board. You’ll need the following code file that I created based on some starter code for the GPS module and then adding the geofence functionality: https://dl.dropboxusercontent.com/u/...nce_v4.ino.zip More on how to use this file later…

Mech33 05-29-2015 04:38 AM

Once you have all the parts, now on to the fun part. For reference, here’s a picture of the OEM solenoid, as well as a picture of one outside the car:

https://dl.dropboxusercontent.com/u/...m_lines_2.jpeg

https://dl.dropboxusercontent.com/u/...E_solenoid.jpg

Step 1 - build the solenoid wiring harness
Using the male/female connector pair that matches the OEM solenoid, build an "in-line splice” wiring harness that matches the below picture. Pay careful attention to the orientation of the connectors. If you have a 991 GT3, follow the 991 diagram. If you have a 997 GT3, follow the 997 diagram.

https://dl.dropboxusercontent.com/u/...20GT3%20v1.png

https://dl.dropboxusercontent.com/u/...20GT3%20v1.png

Here's what my 991 GT3 harness looked like (I added another connector at the end of the harness to make it easy to connect / disconnect):

https://dl.dropboxusercontent.com/u/...%20harness.jpg

Making the pin connections to the wire is a little tricky with the waterproof seals. Here’s a picture of an appropriately crimped wire connection (both the wire and the seal are crimped to the pin):

https://dl.dropboxusercontent.com/u/...nector_pin.JPG

You may want to consider investing in a crimping tool to make your life easy:


http://ecx.images-amazon.com/images/I/51nT2rpUoRL.jpg

The 2-pin connector that both the blue and red wires terminate into is the side that goes to the GPS board stack. Putting a connector on here is optional. I chose to do so so that I can attach the GPS board when I’m at Laguna, and just put a simple jumper connector in (shown in the picture with the yellow wire) to get stock functionality the rest of the time (though leaving the board un-powered also defaults to OEM operation, so a plug is only needed if you don't want to leave the board in the car).

If you do put a connector on that end, pay very close attention to the pin connections to make sure the wiring doesn’t get reversed by the time it gets to the GPS board connections. I chose to put a male connector on the solenoid harness, and a female version on the GPS board, so that the long jumper wiring harness in between had a male on one end and female on the other so that it couldn’t get plugged in backwards and cause any issues.

Mech33 05-29-2015 04:39 AM

Step 2 - build the processor board / relay board / GPS board stack

The processor board, relay board, and GPS board all simply plug into each other. But before you can plug them all in, you have to solder the pin headers onto the GPS board, and solder one extra jumper wire onto the board for the +V source to drive the solenoid on demand.

http://ecx.images-amazon.com/images/...L._SL1200_.jpg

Carefully snap the pin headers into the appropriate number in each group to match the holes around the perimeter of the GPS module, assemble them from underneath, and solder them from above. When done it should look like the picture below (note that this picture is the final assembled stack):

https://dl.dropboxusercontent.com/u/...d_soldered.JPG

Note that one additional wire needs to be added to the “Vin” pin (for 991 GT3) or "Gnd" pin (for 997 GT3) on the board. This is the source used to drive the solenoid through the relay board. Solder a wire to the appropriate pin on the GPS board that is long enough to reach the terminal blocks on the relay board.

Also, make sure the little switch on top of the GPS board is switched to "Soft. Serial"!

Now, place the Arduino Uno R3 processor board into the bottom half of the plastic enclosure, and then plug the pre-assembled Relay board into the top of the Arduino board (we’ll plug the GPS board in next). This assembly should look like this:

https://dl.dropboxusercontent.com/u/...elay_board.JPG

Now extend your blue and red wiring from the solenoid harness either directly or through some intermediate connectors and jumper harnesses and route them into these specific terminal connections on the relay board shown in the 991 and 997 GT3 wiring diagram. It’s important to get these exactly right.

It’s important to use this specific terminal block since the software that will run on the processor board is only designed to flip this specific relay. Goofing up this wiring might damage your ECM if you accidentally short the battery voltage to the ECM-side connection, so triple check everything and of course proceed at your own risk!! Here is what my 991 GT3 connections looked like when done:

https://dl.dropboxusercontent.com/u/...onnections.JPG

I built a connector wiring harness to make it easy to attach the GPS board as needed:

https://dl.dropboxusercontent.com/u/...rd_harness.jpg

With the wiring screwed in tight to the terminals, carefully assemble the GPS board onto the relay board and press the entire stack together firmly so that everything is seated.

Mech33 05-29-2015 04:40 AM

Step 3 - program the Arduino board with the “Valve Debug” test firmware

The Valve Debug firmware file will simply switch the PSE valves open and closed every 5 seconds, letting you confirm audibly and visually that all of the wiring is functioning properly before re-programming it for GPS-based operation. These steps show you how to program the board.

Download the Ardunio programming software for your system (Windows, Mac, and Linux supported) from here and install it: http://www.arduino.cc/en/Main/Software

Plug your board into your computer over USB. The board should be powered via USB and be ready for programming. To program it, do the following:

1) Launch the Arduino software.

2) Open the “ValveDebug_v3.ino” file that you downloaded from here: https://dl.dropboxusercontent.com/u/...bug_v3.ino.zip

https://dl.dropboxusercontent.com/u/...veDebug_v3.png

3) In the Ardunio app, go to the menu Sketch -> Include Library -> Manage Libraries… and search for “Adafruit GPS Library”, and click on Install to install the GPS library.

4) Go to the menu bar and select Tools -> Board -> Arduino Uno.

5) Go to the menu bar and select Tools -> Port -> and select the arduino usb modem port.

6) Go to the menu bar and select Tools -> Programmer -> AVRISP mkII

7) In the ValveDebug_v3.ino.ino window, click the check mark button in the upper left. This should compile the code error-free. Now click the right arrow button also in the upper left. This should program the board with the compiled binary. If that was successfully, then you’re board stack is now good to go!

Mech33 05-29-2015 04:40 AM

Step 4 - install the solenoid wiring harness

You just need to access the solenoid, disconnect the stock connector, and insert the female / male ends of the new wiring harness in-between. Sounds simple, but this was the hardest step for me since accessing the top of the OEM PSE solenoid is a major PITA! Here's my harness plugged in:

https://dl.dropboxusercontent.com/u/...connection.jpg

I did it by doing the following:
- remove the fan assembly
- pop off the right plastic cover
- unscrew the coolant cap and carefully lift the left plastic cover up enough to access the screws underneath that hold down the carbon fiber engine cover
- unscrew all the screws holding down the carbon fiber engine cover. Note that there are a couple underneath the plastic caps.
- unplug the wiring harness on the upper left of the carbon fiber engine cover, and carefully remove the engine cover
- look for the OEM solenoid way in the back right corner of the engine compartment (pic below). Wedge your right hand underneath the coolant hoses and inch your way to the connector, and then wedge your left hand around the left side around the metal vacuum lines to touch the connector. Then use your fingertips from both hands to press in the clip holding the connector on, and push the connector off the solenoid.
- then bring the new harness in from the right side, and similarly use your fingertips to get the female connector plugged onto the solenoid, and the male connector plugged into the OEM wiring harness
- phew, you’re done with that! now re-assemble…

Here's my engine bay prior to re-assembly:

https://dl.dropboxusercontent.com/u/...ght%20side.JPG

Step 5 - test the valve switching operation

With the “ValveDebug_v3” software loaded up, the valves will flip open and closed every 5 seconds. Confirm that you have the solenoid harness plugged in per Step 4, and you have the GPS board stack attached plugged into the blue and red solenoid harness output lines.

Now take the Cigarette Lighter Adapter you purchased and plug it into the barrel connector on the GPS board stack, and then plug the other end into a cigarette lighter port in the car. Then switch the car’s ignition to the “on” state to turn on +12V to the ports.

If the board is operating properly, you should hear a “click” of the board relay every 5 seconds. And LED2 on the relay board will also turn on and off every 5 seconds. If that checks out, then start the car and press the “PSE” button in the center console so that the OEM system tries to keep the valves open and in the “loud” state.

If the board is properly switching the OEM solenoid, then you should be able to hear the exhaust go from muffled to loud every 5 seconds. If you don’t push the PSE button on the dash, then the exhaust will just stay quiet during the test because the GPS board only toggles between “quiet” mode, and ECM control, and the default ECM control is for the idle to hold the valves in the closed “quiet” state anyway.

Step 6 - confirm that you’re getting a GPS fix

If the GPS board is functioning properly and the board is face up without any big obstructions, then within a couple minutes it should acquire a GPS fix. While the board is searching, the “fix” LED on top will blink once per second. Once it has a fix, this frequency will drop to one blink every 10 seconds.

Once you confirm that you have a fix, you know the GPS board is working properly. With the valve switching confirmed working and the GPS board working, you should be all set to use the system at the track! The last step is to program the geofence firmware into the board.

Mech33 05-29-2015 04:41 AM

Step 7 - program the geofence firmware into the board

Repeat the programming sequence from Step 3, but use the following code file instead: https://dl.dropboxusercontent.com/u/...nce_v6.ino.zip

That file has the following behavior:
- PSE valve operates like OEM by default (ECM has total control over valve state as long as you’re not within the geofence locations)
- upon every initial power-up, the unit will go through a diagnostic sequence where it switches between "quiet mode" and "OEM mode" every 2 seconds for a total of 4 sequences. This is for confirming all is working at the track. To make use of this diagnostic mode, start the car and press the PSE button to idle the motor in the loud exhaust state. Then power the GPS board, and it should toggle the exhaust between quiet and load every 2 seconds a total of 4 times. If the exhaust simply stays loud during this time while PSE is active, then check the wiring / function of the mods.
- once the car moves within the geofence perimeter, it will switch the valve to the quiet state
- *2* geofence perimeters are in the above code file:

1) a large region that covers all the way from the exit of Laguna Seca turn 4 up through the exit of Turn 6. This ensures a wide margin of error for vehicle speed or any GPS position uncertainty to help ensure that the exhaust system is in quite mode well in advance of the sound booth located between 5 and 6.

2) a small region centered on the 76 gas pump in the paddock area with a ~80 foot radius around it. This is to let you test the valve switching functionality in the paddock in case you suspect an issue with the system. Simply slowly drive up to the 76 gas pump and you should see relay #2 / LED2 switch on once you get close, and off again once you drive away. If you don’t, check that the “fix” LED is blinking once every 10 seconds. If it isn’t, check the power connections and that there are no metal obstructions over the small square antenna on the top of the GPS board.

Both geofence areas are shown here:

https://dl.dropboxusercontent.com/u/...e%20radius.jpg

Step 8 - modifying the geofence locations and sizes

If you’re feeling adventurous, you can modify the geofence locations and sizes in the code file. If you open the Laguna_Seca_Geofence_v4.ino in the Arduino app, you’ll see some lines at the top called LAGUNA_BOOTH_LAT, LAGUNA_BOOTH_LONG, LAGUNA_BOOTH_RADIUS_POINT_LAT, and LAGUNA_BOOTH_RADIUS_POINT_LONG, as well as a similar set for TEST_LOCATION.

https://dl.dropboxusercontent.com/u/...screenshot.png

The LAGUNA_BOOTH corresponds to the latitude, longitude coordinates in fractional degrees of the Laguna Seca sound booth. The LAGUNA_BOOTH_RADIUS_POINT location is just a point on the outer perimeter of the desired geofence circle that has a center at LAGUNA_BOOTH, also in latitude, longitude coordinates in fractional degrees.

TEST_LOCATION is just the location of the gas pump, with the TEST_LOCATION_RADIUS_POINT being a point ~80 feet away or so from the pump to define that area.

If you’d like to play with other locations or areas, you just need new center point and radius point coordinates for those locations. Getting those is as easy as opening up Google Maps and clicking on a point on the map. It will then give you the latitude and longitude in fractional degrees in the upper left corner of the window.

For example, clicking on the bridge at the entry to Turn 5 gives you the following:

https://dl.dropboxusercontent.com/u/...oordinates.png

Simply edit the numbers in the file, re-compile it, and re-program the board per the above steps, and you’re ready to try your new geofence!

I’m sure I left some details out somewhere, so just chime in here if anyone tries to replicate this and has any issues. And no, I can’t build any more of these because they’re simply too time intensive to do so and I have to keep my day job. :)

Enjoy! Happy sound-hacking.

Bartron 05-29-2015 07:27 AM

Incredible!!!! My nerd brain just exploded.

This may be obvious but, is the solenoid default to allow vacuum to the flaps? I'm looking to delete the valves all together and wonder if the best way would be to do it at the solenoid by capping/unplugging.

PierreTT 05-29-2015 07:44 AM

Wow... !!!

Such a system should come OEM with the car...

Patent it and sell it to Porsche! :)

Kobalt 05-29-2015 08:05 AM

So cool!

Bartron 05-29-2015 09:50 AM


Originally Posted by PierreTT (Post 12318193)
Such a system should come OEM with the car...

as part of the overpriced Track App/Sport Chrono.

PLSEM: Porsche Laguna Seca Exhaust Management

SamFromTX 05-29-2015 10:39 AM

This is impressive work:)

orthojoe 05-29-2015 10:47 AM

Epic write up, Mech33. This information is invaluable for anyone tracking at a facility which has a low sound limit, and should be applicable to anyone who has a PSE system (stock caymans with PSE don't pass 92db). I have the exact same setup and can confirm that it works like a charm. I spent all day with the GT3 at Laguna Seca and wasn't black flagged ONCE for sound. Meanwhile, other cars were getting black flagged all day long because of the 90dB limit (stock 991GT3, 991GT3 with turnaway pipes, cayman GTS with turnaway pipes, viper, etc). This system alone is good for 92dB. I added turn away pipes to get me down to 90db:

http://s6.postimg.org/ifbtj05c1/IMG_5528.jpg

This is a video with the system running. I modified Mech33's original trigger points to have the the valves shut as you enter the braking zone of T5 and open up again as I'm exiting turn 6. The noise change is very subtle. The mic is placed right behind the rear license plate:



Interestingly, from inside the cockpit you can't really even tell the system is working since the engine noise is what you hear mostly. Here the mic is inside the cockpit:


orthojoe 05-29-2015 10:57 AM

BONUS: On the street, I remove the jumper plug and leave the solenoid disconnect so that the valves stay open all of the time. I love how much better the car sounds with the valves open. Much more fun to drive on the street now since the cars sounds better zipping around at low rpms. You don't have to go to 9000rpm for a smile anymore. :)


All times are GMT -3. The time now is 02:45 AM.


© 2024 MH Sub I, LLC dba Internet Brands