Mitsubishi 3000gt VR4 ECS Suspension Controller

So this pretty much is just a sharing of the history and the open source materials for this project that I started back in 2010. I’m Duke3k - I live in the foothills of Denver and I’ve bought so much stuff from Sparkfun and been to their factory/offices in Boulder to pickup orders enough times I’ve lost count. If any SparkFun folks see this - tell Nathan there is an easter egg waiting for him in source code posted on http://www.renegadetechworks.com. :wink:

SparkFun *was one of the major drivers as to why I’ve decided to Open source this project and so I thought this forum was a good place to share so here goes.

I(we) own a couple of these :

http://renegadetechworks.com/images/Sli … 033_LR.jpg

They are mint Mitsubishi 3000gt VR4’s. The one on the right is my '98 VR4 & the One on the left is a super rare '95 Spyder Convertible Version that is my wife’s.

So here’s how this project got started:

The early model Mitsubishi 3000gt VR’s (including that '95) have a factory included Electronically Controlled Suspension system. It was pretty much over the top and kinda ahead of it’s time. It has as sensor inputs to the ECS controller - a single axis G-sensor ,a Throttle input, Steering Wheel sensor inputs, Brake Pedal input, and a user selection switch on the console. With all those inputs the factory ECS controller controls the 4 adjustable shocks(struts) in the car. Each strut is capable of being commanded by the ECS controller into a Hard , Medium or Soft setting that primarily adjusts the Shock Rebound dampening rates on the fly. There’s a motor (not a stepper) that is physically inside the strut that when power is applied rotates a shaft and changes the orifice opening size thru which strut hydraulic fluid squirts thru. the bigger the opening more fluid flows thru on rebound = softer rebound = smoother rider. Smaller opening = less fluid thru orifice on rebound = stiff sporty suspension.

Mitsubishi completly eliminated the system starting in late '95. So My '98 did not have it when I bought it. :frowning:

This bugged me to no end - so I decided that I wanted to retrofit in this controllable suspension system into my '98. My car has none of the sensors , none of the factory wiring harness feeds necessary and the struts that were in it were the later model fixed rate struts - not the controllable ones.

What I decided to do was to remove the non-contrable factory struts & replace them with the controllable ones and then build a manual controller to control the struts (skipping the sensors ) .

Back in 2010 I had not messed with Microcontroller much so this was my first design (that I never ended up using )based on TTL circuits - it’s only enough circuit to control one strut:

http://renegadetechworks.com/images/his … t_v2r2.jpg

Here’s the actual design prototyped on a breadboard and I got it workding. You can see the bread board connecting to the test factory ECS strut cartridge that I use. It’s connected via a spliced cap connector plug that plugs into the top of the factory strut. It has five connections - Motor, Signal Switches S1 & S2 and two ground wires. :

http://renegadetechworks.com/images/his … LowRes.jpg

While the TTL circuits worked they would have been difficult to easily add behavior/code changes. A much better alternative was a micro controller based solution So I dove into the arduino platform and went with the Standard Arduino for the time period - the Duellimanov Amtel328 16mhz 32kb.

What I finally came up for the design was this hand drawn prototype design that could be used to build an Arduino Shield.

The shield was used to build out the strut driver circuits using a TI SN754410 quad H-Bridge Motor Driver chip

The Control Selector Switch was a 5 position Rotary Selector Switch that I use to create a Voltage divider that fed into one of the analog ports on the Arduino.

Four BlinkM I2C addressable RGB leds were used as strut & diagnostic status indicators .

Each strut had 5 wires going to it (9v Motor Power Wire, 2 Grounds and 2 internal status switches)

Each Strut used 3 ports each (12 total) to the arduino : 1- Motor Enable, & 2- Digital inputs for the status (open or closed ) of the S1 & S2 strut mode sensor switches.

http://renegadetechworks.com/images/his … cuitV4.jpg

That lead to this Arduino full on implementation that had a custom prototyped shield piggybacked onto it:

http://renegadetechworks.com/images/his … ielded.jpg

Here’s it is all buttoned up ready for installation:

http://renegadetechworks.com/images/his … oxedUp.jpg

Here’s all the final pieces of the custom Arduino Based Build assembled & being tested including the console controls/display. -Thats a 4 position rotary switch for the mode selection. & those are 4 addressable I2C BlinkM LEDs that display the strut status/diagnostic info.

http://renegadetechworks.com/images/his … ontrol.jpg

Here it is installed in the back of my 3000gt, I used cat5 for the five runs of wire needed to make the wiring harness to retrofit into the car. ( 4 runs to each of the struts and 1 run to the console control display & lastly a switched +12v power and ground feeds. Oh and you gotta love Gorilla tape. … I was stil debuging & i didnt want to keep messing with the screws.

http://renegadetechworks.com/images/his … lledLR.jpg

And that’s the way it was for two years…I ran with that custom build in my car… I fairly regularly attended the local car meets for the 3000gt’s in the area and kept getting asked - hey when are you going to make these so that we can do that too? Well around 2012 - I got motivated and came up with this custom - all one board solution:

http://renegadetechworks.com/images/Ope … erview.png

Here’s the production version of single board design - its basically an AMtel328 arduino simplied design with the additional circuitry that used to be on the shield piggy back :

http://renegadetechworks.com/images/his … ECS_LR.JPG

And here’s a you tube Vid of the production build being demonstrated from the console of the car. In the final production version I switched from the 4 I2c controlled BlinkM leds to a simpler set of 4 - WS2801 chained 12mm Pixel Leds. You"ll see the WS2801’s in the video.

http://www.youtube.com/watch?v=_sI4AgXFdh0

I started selling these in Sept/Oct of 2012 and have shipped them as far as England & Australia. One major design addition that has made them popular is that they are plug compatible with original OEM ECS controllers - so if your an early model 3000gt owner and your factory controller dies you can replace it with a TechWorks controller (for $100 cheaper). Manual control only - but a lot of people like it that way it turns out.

Well thats it. Hope you enjoyed the story. If your interested - all the Arduino open source code and electrical schematics are available for download on http://www.renegadetechworks.com

Cheers,

Duke3k

p.s. Nate anytime you want to claim that “beerware open source license” - just let me know and I’ll drive up and pay my dues . :wink:

Wow, very impressive. I am a car guy since I was 4. Learned everything I know from my Father. I bet this project was a major undertaking. I might have missed it, but what sensors did you incorporate? The custom PCB looks awesome and as well as your mounting in the car.

I must say that this is one of the best projects I’ve seen in years. Congrats!

BTW, this is my baby. Although, my class rules say I can’t have any electronics in the car… Oh, and that’s me!

codlink:
Wow, very impressive. I am a car guy since I was 4. Learned everything I know from my Father. I bet this project was a major undertaking. I might have missed it, but what sensors did you incorporate? The custom PCB looks awesome and as well as your mounting in the car.

I must say that this is one of the best projects I’ve seen in years. Congrats!

BTW, this is my baby. Although, my class rules say I can’t have any electronics in the car… Oh, and that’s me!

Thank you for the kind words…it’s been a lot of fun working on it. I updated the post with another pic that shows what the front panel controls look liked for the Arduino Build and a youtube vid of the production version running in the car.

Nice wheels on your side - i bet you didn’t get all those trophies by going slow… :wink:

Very nice ! And well documented.

Kudo’s !!

So what’s that saying " Engineers just love to change things"

  • well just could not leave well enough alone. I have just about finished a new Model 03 of the Mitsubishi 3000gt Suspension controller and I’m in the process of writing the new control software.

the new Gen 3 will do everything the Gen 2 design did , but it will have an Automatic Strut Control Mode that will use 3 Axis accelerometer daughter board that is part of the controller. The Accerometer used is the integrated on one used in the LSM303DLHC.

The automatic mode control algorithm will dynamically control the 3 stiffness settings of the 3000gt Strut Cartridges based on the motions of the car. For example if the car starts braking - the Control algorithm will stiffen to the two front struts to help mitigate the nose of the car from pitching downward.

This will match the capability of the original OEM system had - but without having to use any of the original car sensors ( Throttle control , Brake pedal, Steering wheel angular sensor etc that often fail in the 3000’s).

Here’s a PDF of the Schematic for the Design:

http://renegadetechworks.com/media/kune … ematic.pdf

Here’s a youtube vid of old vs new

https://www.youtube.com/watch?feature=p … SlAhlp_akU

http://renegadetechworks.com/media/kune … 3Rev30.jpg

With the Hardware design done - I’m working on the software algorithm but I needed test data for what the acceleration profile will look like for a 3000gt Vr4.

So I added a Sparkfun OpenLog SD logger to be able to record live Acceleration data .

http://renegadetechworks.com/images/Tec … ogger2.jpg

We did several runs and here is just one Axis of an acceleration run (12 seconds in duration) of a 3000gt Vr4.
you can see that at about 6.9 seconds into the run the car achieves a max acceleration of almost 0.75 g’s

http://renegadetechworks.com/images/Tec … est1SM.jpg