Control methods for an E-supercharger

AlexLTDLX

Administrator
Staff member
Hi all. Now that I'm pretty comfortable with finding a "sweet spot" setup for the mechanical and drive aspects of these things, I'm starting to think about better control methods. I can think of several:

1. Do what I'm doing now - have it turn on to max power above a certain rpm and certain load (MAP sensor). This works ok for drag racing, but there might be a better option because of the spool up time.

2. For drag racing, you could turn it on full power before you stage, and have a dump valve that snaps shut as soon as you're staged and on the brake.

3. You could modify #2 in aggressive racing situations, but it would be running all the time, draining the batteries.

4. You could have a throttle position switch (mechanical or voltage based), and then 2, 3 or 4 "levels" based on either rpm, throttle position or load - not sure which would be better.

I'd like to make something as universal as possible, so incorporating a MAP sensor is probably smart. Then you'd just need an rpm switch so it doesn't turn on at too low of an rpm.

Thoughts?
 
I'm also wondering if there's a way to control is purely with a map sensor - in other words, if there's a sudden drop in MAP, it turns on (maybe scaled on the degree of drop), but if there's a sudden spike up it stays on unless it goes too high, then it could shut off...

Just thinking out loud here...
 
I have a Holley Terminator X stand alone ECU with the hand held display. I have been watching the hand held display and I seem to want boost when I get into the accelerator (somewhere north of 50% Throttle Position Sensor). Of course when that happens because the throttle is open, so the vacuum goes low / close to atmospheric, so the Manifold Air Pressure sensor should work.

I have also considered looking at Throttle Position Sensor Rate of Change, which is essentially the derivative of the TPS signal (slope of the line). The TPS rate of change is the signal that I used to tube my EFI to act like an accelerator pump.

I have a microcontroller and may feed the TPS signal into it and have it spit out the PWM signal, or I may have the terminator send the signal directly the the e-turbo motor.
 
Last edited:
When I first start the project, I was thinking to programme the boost by RPM. With a hall effect sensor. Plug in the arduino and make s code. But since I dont have a lot of boost, I dont think this is a worth idea
 
GTHound - the rate of change, but as read from a MAP sensor is what I'm thinking about. That would make a "universal" controller truly universal. If someone wants to add an RPM switch, then that should work too.

WB Projects - I do think in a lot of applications like yours, you're right - you don't really need this kind of control. But if you had access to something like this, it might make your life a little easier. I'm just glad your ESC is working now.
 
Since most performance cars have direct coupled throttle bodies (no drive by wire), then I would think that you would need to use a Feedback controller for one of either 2 things

#1 A basic TPS response which literally just maps the TPS position to a certain Motor controller Input (I'm not sure Duty Cycle/Speed control would be the best here)

#2 A map that takes Live ECU data either from OBD2 or a Live datalogger on a performance or flashed ECU that can give Engine load data or perhaps VE data and go off of that.
 
Last edited:
What's bad about the TPS control is that

A. Your Throttle body is literally throttling the engine by reducing its Volumetric Efficiency, so then why would you try to increase VE again if your throttle is going to drop the pressure again before the manifold.

B. You would need some sort of Threshold below a certain TPS value so that your not just wasting Wattage on a minimal Motor power thats not really gonna benefit anything if you're just cruising down the road. The issue now is that you have a sharp point that might Bang the controller On and Off if you are hovering right above and below the threshold without some way to smooth that. So now you're adding on Low Pass filters and complexity for what...
 
I'm now leaning towards 2 controllers - one based on OBD II data, and the other on MAP alone (with a provision for an RPM based kill switch). That should cover most cars.
 
Wow... just saw this. I did have arduino control but encountered some issues. So I switched to the simple method - two small servo testers, with one being zero throttle and the other being max (or whatever it's set to) throttle, with a relay switching between the two. It's pretty butch, but it works really well. I'm intentionally not using semiconductors to switch the signal (though it would probably be ok if I did).
 
Hi all. Now that I'm pretty comfortable with finding a "sweet spot" setup for the mechanical and drive aspects of these things, I'm starting to think about better control methods. I can think of several:

1. Do what I'm doing now - have it turn on to max power above a certain rpm and certain load (MAP sensor). This works ok for drag racing, but there might be a better option because of the spool up time.

2. For drag racing, you could turn it on full power before you stage, and have a dump valve that snaps shut as soon as you're staged and on the brake.

3. You could modify #2 in aggressive racing situations, but it would be running all the time, draining the batteries.

4. You could have a throttle position switch (mechanical or voltage based), and then 2, 3 or 4 "levels" based on either rpm, throttle position or load - not sure which would be better.

I'd like to make something as universal as possible, so incorporating a MAP sensor is probably smart. Then you'd just need an rpm switch so it doesn't turn on at too low of an rpm.

Thoughts?
You could be a little smarter with the RPM. Rather than simply lockout the boost below a particular RPM you could also look at the rate of change of RPM and throttle position. If the driver is calling for power and allowing revs to climb at a fast speed you could turn on the supercharger earlier. This anticipates the engin reaching supercharger RPM and gets it spooling ahead of time.
 
Hi all. Now that I'm pretty comfortable with finding a "sweet spot" setup for the mechanical and drive aspects of these things, I'm starting to think about better control methods. I can think of several:

1. Do what I'm doing now - have it turn on to max power above a certain rpm and certain load (MAP sensor). This works ok for drag racing, but there might be a better option because of the spool up time.

2. For drag racing, you could turn it on full power before you stage, and have a dump valve that snaps shut as soon as you're staged and on the brake.

3. You could modify #2 in aggressive racing situations, but it would be running all the time, draining the batteries.

4. You could have a throttle position switch (mechanical or voltage based), and then 2, 3 or 4 "levels" based on either rpm, throttle position or load - not sure which would be better.

I'd like to make something as universal as possible, so incorporating a MAP sensor is probably smart. Then you'd just need an rpm switch so it doesn't turn on at too low of an rpm.

Thoughts?
Look into PWM (pulse width modulation) circuits whereas the output of the motor is controlled depending on the load and in your case via the MAP sensor. You would have to test the engine and create a look up table you create in software to create the compressor outputs you desire at each rpm. Mega squirt technology comes to mind. Their group developed easy to program electronics and a large forum of talented members that assist with specific answers. Economical and easy to program hardware as well. My engine uses a Megasquirt 2.
 
By far the most efficient way IMO is to use the servo library from the arduino. The ESC accepts this as a PWM value from the arduino. Using whatever input you want i.e throttle position , boost pressure, engine speed etc you can send an appropriate PWM value to the ESC to control the speed. You must firstly arm the ESC from which point you can ramp in the PWM signal to limit the current to an acceptable level. With the arduino you can control the motor any way you like with any number of possibilities. If you can think of a control function, you can do it with the right coding (This is what I have done anyway)
 
Last edited:
Since we are using RC Technology, and my set up won't be running all the time. I'm keeping it as simple as possible. I am using the same radio controller that the RC guys use.
 
The arduino is way way more configurable. Once you spend a few hours learning it then it then you have another dimension to the project. An additional benefit of doing new projects, especially one of this type, is to learn new skills which can be used on other projects.
 
Yes, the arduino is another excellent way to go with simple software and a whole lot of world wide support from a multitude of projects.
 
I'm running 2 motors and honestly the radio controller is way easier. Take the trigger out make a bracket and attach it to the gas pedal. Extend the wires. Put the controller in the glove box. You can limit the max input of the controller. Making it effectively an electronic boost controller too
 
OK if it just that simple. In my application I need to control the motor with multiple dependent input conditions and also a supercharger bypass valve all of which can be mapped accordingly. Then a more complicated control system is required. Just depends what you want to do with the system.
 
Speeduino ECU's are really interesting for this kind of discussion.
You could write your own branch of code to build a custom Boost feedback controller
 
Top