follow ft86club on our blog, twitter or facebook.
FT86CLUB
Ft86Club
Speed By Design
Register Garage Members List Calendar Search Today's Posts Mark Forums Read

Go Back   Toyota GR86, 86, FR-S and Subaru BRZ Forum & Owners Community - FT86CLUB > Technical Topics > Forced Induction

Forced Induction Turbo, Supercharger, Methanol, Nitrous


User Tag List
neutron256, Robftss

Reply
 
Thread Tools Search this Thread
Old 07-09-2013, 08:31 PM   #15
neutron256
Senior Member
 
neutron256's Avatar
 
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)
Quote:
Originally Posted by SloS14 View Post
Now with completely unrealistic accelerator and engine sounds (impossible to hear over the motor). Currently it's a 1:1 of accelerator to motor with no RPM, MAP inputs.

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)
neutron256 is offline   Reply With Quote
Old 07-09-2013, 08:34 PM   #16
SloS14
Senior Member
 
SloS14's Avatar
 
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
SloS14 is offline   Reply With Quote
Old 07-09-2013, 08:42 PM   #17
jamesm
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.
jamesm is offline   Reply With Quote
Old 07-09-2013, 08:44 PM   #18
mid_life_crisis
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."
mid_life_crisis is offline   Reply With Quote
The Following User Says Thank You to mid_life_crisis For This Useful Post:
Jetscape (07-14-2013)
Old 07-09-2013, 08:47 PM   #19
Dodzilla
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.
Dodzilla is offline   Reply With Quote
Old 07-09-2013, 08:52 PM   #20
jamesm
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:
Originally Posted by mid_life_crisis View Post
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.
You don't need any of that. Way too complicated. You don't need to know how fast the motor is spinning to control boost. All you need to know is what the target is at any given time and what your current value is relative to it. A wastegate doesn't know anything about the turbo it is controlling. It only knows what it's spring pressure is and what it's boost reference is relative to it (mechanically speaking, but you get the point).
jamesm is offline   Reply With Quote
Old 07-09-2013, 08:56 PM   #21
SloS14
Senior Member
 
SloS14's Avatar
 
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)
Quote:
Originally Posted by s2d4 View Post
GUI on what platform? Mobile?
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?
SloS14 is offline   Reply With Quote
Old 07-09-2013, 09:03 PM   #22
jamesm
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.
jamesm is offline   Reply With Quote
Old 07-09-2013, 09:14 PM   #23
SloS14
Senior Member
 
SloS14's Avatar
 
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.
SloS14 is offline   Reply With Quote
Old 07-09-2013, 09:17 PM   #24
jamesm
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:
Originally Posted by SloS14 View Post
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.
if by 'weird as balls' you mean 'the most beautiful awesome thing ever', i totally agree .

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.
jamesm is offline   Reply With Quote
Old 07-09-2013, 09:27 PM   #25
mid_life_crisis
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:
Originally Posted by jamesm View Post
You don't need any of that. Way too complicated. You don't need to know how fast the motor is spinning to control boost. All you need to know is what the target is at any given time and what your current value is relative to it. A wastegate doesn't know anything about the turbo it is controlling. It only knows what it's spring pressure is and what it's boost reference is relative to it (mechanically speaking, but you get the point).
The three dimensional reference table gives us the ability to have different boost targets based on the combination of rpm and throttle position. This is far more versatile than just a simple loop keeping the boost stable relative to throttle position or rpm.
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."
mid_life_crisis is offline   Reply With Quote
The Following User Says Thank You to mid_life_crisis For This Useful Post:
Calum (07-09-2013)
Old 07-09-2013, 09:33 PM   #26
jamesm
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:
Originally Posted by mid_life_crisis View Post
The three dimensional reference table gives us the ability to have different boost targets based on the combination of rpm and throttle position. This is far more versatile than just a simple loop keeping the boost stable relative to throttle position or rpm.
It could be done without the motor speed but I wanted it for a reason that eludes me now.
i agree. the boost target could be referenced from a table of throttle position and rpm, that's simple enough. the part i was talking about being too complicated was the suggestion of adding motor rpm. we need to control boost, we can read boost, so no need to know the motor rpm required to achieve said boost i guess was my point.

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 .
jamesm is offline   Reply With Quote
Old 07-09-2013, 10:01 PM   #27
mid_life_crisis
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:
Originally Posted by jamesm View Post

think like a wastegate. wastegates don't care about compressor rpm .
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."
mid_life_crisis is offline   Reply With Quote
Old 07-09-2013, 10:06 PM   #28
Calum
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.
Calum is offline   Reply With Quote
 
Reply

Tags
hairdyerperformance, only pulls hard one gear

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

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


All times are GMT -4. The time now is 07:40 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
User Alert System provided by Advanced User Tagging v3.3.0 (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.

Garage vBulletin Plugins by Drive Thru Online, Inc.