07-09-2013, 08:31 PM | #15 |
Senior Member
Join Date: Jan 2012
Drives: '13 GBS Subaru BRZ
Location: Minneapolis, MN
Posts: 2,030
Thanks: 680
Thanked 664 Times in 382 Posts
Mentioned: 26 Post(s)
Tagged: 1 Thread(s)
|
I'd actually be curious to see how well this would work with a 1:1. I'd still want some sort of closed loop to prevent restriction when the system is in standby.
__________________
-Fortes fortuna adiuvat (Fortune favors the bold)
|
07-09-2013, 08:34 PM | #16 |
Senior Member
Join Date: Apr 2013
Drives: 2013 FR-S whiteout
Location: United States
Posts: 726
Thanks: 381
Thanked 652 Times in 256 Posts
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
|
ehh, that'd be easy for sheezy but would run the battery down. Maybe something like
0-15% throttle = off 15% - 50% throttle = linear enough not to be a restriction 50% - 100% throttle = linear x% to 100% power (MAP limited for boost control) <---still...I think this could be more difficult than expected |
07-09-2013, 08:42 PM | #17 |
Banned
Join Date: Mar 2013
Drives: 2013 FR-S
Location: Orlando, FL
Posts: 2,929
Thanks: 1,166
Thanked 2,293 Times in 1,180 Posts
Mentioned: 313 Post(s)
Tagged: 4 Thread(s)
|
I would run it off under some variable rpm (maybe 2.5k or so) and just closed loop to a boost target from there on out, with a variable target and gain. That seems like the biggest ban for the buck in terms of implementation effort.
Also, have some minimum (variable) throttle % so that you won't be boosting off throttle. |
07-09-2013, 08:44 PM | #18 |
Senior Member
Join Date: May 2013
Drives: FR-S 10 #103 AT
Location: NC
Posts: 1,519
Thanks: 101
Thanked 599 Times in 347 Posts
Mentioned: 5 Post(s)
Tagged: 0 Thread(s)
|
Once we know how to interface with the motor (control and monitor its speed), that shouldn't be difficult at all.
It's as simple as watching rpms and throttle position and referencing a table that has target boost values stored where they cross. The motor speed is adjusted up or down until the boost pressure matches the target. Just a little more sophistication and you can reference a second table that provides rpm for the target boost.
__________________
Necessity may be the mother of Invention but Desperation is quite often the father.
“Sex is like Bridge. If you don't have a good partner, you'd better have a good hand.” - Mae West Papa said, "son there's a lot of evil temptations out there. Best to try 'em all so you know which ones to avoid." |
The Following User Says Thank You to mid_life_crisis For This Useful Post: | Jetscape (07-14-2013) |
07-09-2013, 08:47 PM | #19 |
Member
Join Date: Jun 2013
Drives: 2013 Subaru BRZ
Location: Las Vegas
Posts: 29
Thanks: 2
Thanked 22 Times in 7 Posts
Mentioned: 1 Post(s)
Tagged: 0 Thread(s)
|
Sounds awesome. It'd be great to try and use off the shelf components as much as possible and to make it modular as well so people can run whatever combination of hardware suits their needs (and budget). What about an arduino to drive the logic? It seems like it has more than enough I/O capability for this application.
|
07-09-2013, 08:52 PM | #20 | |
Banned
Join Date: Mar 2013
Drives: 2013 FR-S
Location: Orlando, FL
Posts: 2,929
Thanks: 1,166
Thanked 2,293 Times in 1,180 Posts
Mentioned: 313 Post(s)
Tagged: 4 Thread(s)
|
Quote:
|
|
07-09-2013, 08:56 PM | #21 |
Senior Member
Join Date: Apr 2013
Drives: 2013 FR-S whiteout
Location: United States
Posts: 726
Thanks: 381
Thanked 652 Times in 256 Posts
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
|
Sorry should have specified, I was thinking of using "Processing" processing.org but that would just be for finalizing code. Arduino can output to LCD screens. That would be great for the final implementation.
Throttle body signal vs. pedal signal. Pedal shows your intent while throttle body shows what's really going on. Not sure which would be best. Maybe an average of the two? |
07-09-2013, 09:03 PM | #22 |
Banned
Join Date: Mar 2013
Drives: 2013 FR-S
Location: Orlando, FL
Posts: 2,929
Thanks: 1,166
Thanked 2,293 Times in 1,180 Posts
Mentioned: 313 Post(s)
Tagged: 4 Thread(s)
|
heres literally a 20-second effort at what we'd want, in Ruby just for kicks.
# half-baked example code board = Dino::Board.new(Dino::TxRx.new) sensor = Dino::Components::Sensor.new(pin: 'A0', board: board) motor = Dino::SomeSubclassOfMotor.new(some_options) TARGET_BOOST = 10.0 GAIN = 1.0 sensor.when_data_received do |data| current_map = sensor.from_adc(data) return if current_map == TARGET_BOOST current_map >= TARGET_BOOST ? motor.throttle_down(GAIN) : motor.throttle_up(GAIN) end again just a quick thrown together example to illustrate the idea in a language people who don't code can read and understand. obviously this would probably be c, and a lot more complex. sorry this stupid ass ancient relic-from-the-90's forum software doesn't understand markdown and won't let me format anything properly. |
07-09-2013, 09:14 PM | #23 |
Senior Member
Join Date: Apr 2013
Drives: 2013 FR-S whiteout
Location: United States
Posts: 726
Thanks: 381
Thanked 652 Times in 256 Posts
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
|
dangit. My MAP sensor won't show up till Thursday and I'm gonna be out of town till Sunday....not that it really makes a difference because I have no way of turning motor RPM into actual pressure
@jamesm - I hope it's close-to-that-simple. I mean...it could be. It would just have to know how often to adjust the ESC. Off topic, but Ruby looks weird as balls. Your code reminded me to make a proper object out of my motor. I usually code procedurally. I'm about 20 years behind programming-wise. |
07-09-2013, 09:17 PM | #24 | |
Banned
Join Date: Mar 2013
Drives: 2013 FR-S
Location: Orlando, FL
Posts: 2,929
Thanks: 1,166
Thanked 2,293 Times in 1,180 Posts
Mentioned: 313 Post(s)
Tagged: 4 Thread(s)
|
Quote:
seriously though it pretty much is that simple. that's code i roughly ripped from another project i've done that basically did the exact same thing (headspeed governer for an rc helicopter, using a hall sensor for feedback instead of map, but same difference). works like a charm. i didn't even re-write it in C, just ran it as straight ruby off of a raspberry pi with a slave arduino feeding events. very, very simple and effective way to control the speed of an electric motor based on some sort of feedback and target. the trick is tuning the gain, but that can be a simple pot to make it easily adjustable (boost could as well). of course for this purpose i'd re-write it (and the rest of the necessary code) in c and burn it to an atmega so it'll be self-contained and cheap as hell to reproduce. |
|
07-09-2013, 09:27 PM | #25 | |
Senior Member
Join Date: May 2013
Drives: FR-S 10 #103 AT
Location: NC
Posts: 1,519
Thanks: 101
Thanked 599 Times in 347 Posts
Mentioned: 5 Post(s)
Tagged: 0 Thread(s)
|
Quote:
It could be done without the motor speed but I wanted it for a reason that eludes me now.
__________________
Necessity may be the mother of Invention but Desperation is quite often the father.
“Sex is like Bridge. If you don't have a good partner, you'd better have a good hand.” - Mae West Papa said, "son there's a lot of evil temptations out there. Best to try 'em all so you know which ones to avoid." |
|
The Following User Says Thank You to mid_life_crisis For This Useful Post: | Calum (07-09-2013) |
07-09-2013, 09:33 PM | #26 | |
Banned
Join Date: Mar 2013
Drives: 2013 FR-S
Location: Orlando, FL
Posts: 2,929
Thanks: 1,166
Thanked 2,293 Times in 1,180 Posts
Mentioned: 313 Post(s)
Tagged: 4 Thread(s)
|
Quote:
basically you shoot for a boost target, not a motor rpm target, because you don't need to know or care how many rpm's it takes to make the boost you want at the rpm and throttle position you're currently at. only need to know your current value relative to the target. think like a wastegate. wastegates don't care about compressor rpm . |
|
07-09-2013, 10:01 PM | #27 |
Senior Member
Join Date: May 2013
Drives: FR-S 10 #103 AT
Location: NC
Posts: 1,519
Thanks: 101
Thanked 599 Times in 347 Posts
Mentioned: 5 Post(s)
Tagged: 0 Thread(s)
|
There was a good reason for wanting to know the motor speed but I can't remember it right now. Sucks getting old. It'll come back to me eventually though.
__________________
Necessity may be the mother of Invention but Desperation is quite often the father.
“Sex is like Bridge. If you don't have a good partner, you'd better have a good hand.” - Mae West Papa said, "son there's a lot of evil temptations out there. Best to try 'em all so you know which ones to avoid." |
07-09-2013, 10:06 PM | #28 |
That Guy
Join Date: Dec 2011
Drives: 2013 asphalt FRS MT
Location: Halifax, Nova Scotia
Posts: 4,865
Thanks: 5,058
Thanked 2,867 Times in 1,499 Posts
Mentioned: 82 Post(s)
Tagged: 1 Thread(s)
|
Tuning gain is great, but a system like this would require the ability to correct offset as well. Otherwise the system could settle out at the wrong boost pressure and as long as the error signal (feedback compared to setpoint) is steady then the system wouldn't correct for it.
I've calibrated and rebuilt more then my fair share of pneumatic controllers that can do this, but I have no idea how to do it in the digital world. Basically for this to work well a controller that can do both proportional and integral adjustment is what to look for. A full PID wouldn't be required though, I don't think. Or am I an idiot and that's already in the code above? Also, I really think we need to get past the idea of boosting to the back of a partially closed throttle. That's inefficient and with a setup like this shouldn't be required. If BRZ edit could be used to remap the throttle plate vs. pedal maps, then you could just set WOT to something lower in the pedals travel range then 100% and then use the rest of the pedal's travel to increase boost pressure to a max. |
|
|
Tags |
hairdyerperformance, only pulls hard one gear |
Thread Tools | Search this Thread |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Full throttle Electric Supercharger Build Thread | fenton | Forced Induction | 11295 | 02-19-2024 03:42 PM |
DUP THREAD MODZ PLZ DELETE KTHX | SloS14 | Forced Induction | 0 | 07-09-2013 05:41 PM |
Electric Turbocharger | Shankenstein | Forced Induction | 91 | 06-24-2013 02:47 PM |
Electric 86 | frosty86 | Scion FR-S / Toyota 86 GT86 General Forum | 8 | 11-10-2012 02:16 PM |
WRX Electric turbo | Neilus | Engine, Exhaust, Transmission | 42 | 05-03-2012 09:20 PM |