1. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Now a Download Plan!
  2. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  3. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant. Do not follow these rules can lead to permanent exclusion from this website: Read the forum rules.
    Are you a company? Read our company rules

Tutorial How to Create Your Own SuperFan

Discussion in 'DIY Motion Simulator Projects' started by eXntrc, Jan 2, 2015.

  1. eXntrc

    eXntrc Member

    Joined:
    Dec 3, 2014
    Messages:
    35
    Balance:
    587Coins
    Ratings:
    +44 / 0 / -0
    My Motion Simulator:
    Arduino
    I've already done a complete write up of this project on my blog, so I'll just post a short introduction and a couple videos here.

    [​IMG]

    SuperFan is powerful wind generation system created with VR simulations and games in mind. It adds an impressive amount of immersion, especially when combined with rollercoaster and racing simulations.






    The full article with step-by-step instructions and even a parts list can be found here:

    http://jared.bienz.com/2014/12/19/create-your-own-superfan/

    Special thanks to @yobuddy for the awesome SimTools, for working with me on fixing the high DPI issues and for implementing the CLAMP function to make this all work. THANKS!
    • Winner Winner x 6
    • Like Like x 3
    • Informative Informative x 3
    • Useful Useful x 2
  2. Ads Master

    Ads Master

    Balance:
    Coins
    Ratings:
    +0 / 0 / -0
  3. SilentChill

    SilentChill Problem Maker

    Joined:
    Jul 19, 2014
    Messages:
    2,563
    Occupation:
    Railway Maintenance
    Location:
    Morecambe, Lancashire, England
    Balance:
    19,936Coins
    Ratings:
    +3,365 / 33 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 6DOF
    Awesome work @eXntrc its a hell of a lot better than mine :) I just need better fans which can be variable speed rather than the server fans I have which only spool up at about 10v which is way too high .
  4. SeatTime

    SeatTime Well-Known Member

    Joined:
    Dec 27, 2013
    Messages:
    2,500
    Location:
    Newcastle Australia
    Balance:
    27,438Coins
    Ratings:
    +2,776 / 33 / -0
    My Motion Simulator:
    DC motor, AC motor, Arduino, Motion platform, 6DOF
    Nice work, is there a reason you built your own fans instead of just using automotive radiator fans?
  5. Simulaughter

    Simulaughter New Member

    Joined:
    Jan 3, 2015
    Messages:
    9
    Balance:
    300Coins
    Ratings:
    +3 / 0 / -0
    Very nice. Great idea.
  6. Nick Moxley

    Nick Moxley Well-Known Member

    Joined:
    Dec 13, 2013
    Messages:
    2,786
    Occupation:
    Owner/Operator- Moxleys Rantals
    Location:
    Winnipeg Manitoba Canada
    Balance:
    17,398Coins
    Ratings:
    +2,496 / 30 / -2
    My Motion Simulator:
    2DOF, 3DOF, DC motor, JRK
    Is it me or is the AC demo a little Loud on the fans. Also whats the max RPM of the Stock fan ? Is it more blade noise than motor noise ?

    Obviously using simtools this can be adjusted, just curious more than anything.
  7. RacingMat

    RacingMat Well-Known Member Gold Contributor

    Joined:
    Feb 22, 2013
    Messages:
    2,053
    Location:
    Marseille - FRANCE
    Balance:
    18,736Coins
    Ratings:
    +1,955 / 18 / -2
    My Motion Simulator:
    2DOF, DC motor, Arduino
    hi!
    what does the clamp function?
  8. eXntrc

    eXntrc Member

    Joined:
    Dec 3, 2014
    Messages:
    35
    Balance:
    587Coins
    Ratings:
    +44 / 0 / -0
    My Motion Simulator:
    Arduino
    I honestly hadn't thought about automotive radiator fans. Interesting idea. I guess my main issue would be finding a housing for them. I needed something safe and something that could be collapsed down small and put away. Also, how many amps would an automotive radiator fan draw? The controller I'm using can handle up to a momentary 40 A but recommends no more than a sustained 18 A.
  9. eXntrc

    eXntrc Member

    Joined:
    Dec 3, 2014
    Messages:
    35
    Balance:
    587Coins
    Ratings:
    +44 / 0 / -0
    My Motion Simulator:
    Arduino
    Yeah, that's one of the reasons I chose the motors I did. One is from RC cars and the other is from a cordless drill. They both handle variable speed quite well. Unfortunately the RC one, though faster, tends to heat up too much. I need to replace it with another order of the other one. They're both cheap. Only about $10. But then of course you need fan blades on top of them.
    • Agree Agree x 1
  10. eXntrc

    eXntrc Member

    Joined:
    Dec 3, 2014
    Messages:
    35
    Balance:
    587Coins
    Ratings:
    +44 / 0 / -0
    My Motion Simulator:
    Arduino
    Wow, great questions. Yes the AC demo is loud on the fans. Those fans are a lot louder than I'd like them to be and the sound is almost all from the motors (not the wind). However, all of the games I built the fans for are games I play with the Oculus. And when I'm playing with the Oculus I almost always have surround sound headphones on. So I really can't hear the fans at all.

    Max RPM of the fans using the motors I bought is around 20,000 (the motor that gets much hotter can do 24,000). The RPM of the original stock fan is much much lower. I'd guess around 2,000 RPM max.

    If anyone finds an equivalent motor with low noise please share!

    EDIT: The motors probably sound louder than they are in the AC video because I have the game sound turned down very low. My fiance was recording the video and I was asking her to capture different things.
    • Informative Informative x 1
    Last edited: Jan 4, 2015
  11. eXntrc

    eXntrc Member

    Joined:
    Dec 3, 2014
    Messages:
    35
    Balance:
    587Coins
    Ratings:
    +44 / 0 / -0
    My Motion Simulator:
    Arduino
    CLAMP is just a shorthand way of saying "Don't let this number go above X or below Y".

    I needed it for two reasons:

    1: Because I wanted the entire range of values dedicated in one direction on the fans. (There isn't really any value in getting the fans to turn backwards - you don't really feel anything.)

    2: Because I didn't want the fans starting to turn until a certain speed threshold is reached.


    My script in Game Dash formats the value like this:

    PERCENT 2.5 30
    SCALE 0 255
    ROUND 0
    TOCHR


    The line that says PERCENT 2.5 30 means that if the coaster is moving less than 2.5 meters per second, don't turn the fans at all. Unfortunately if SimTools sees a value less than 2.5 it returns a negative percentage. That doesn't do me any good because I don't want the fans turning backwards and because on the next line I need to convert that percentage into a range of 0 to 255.

    Because there isn't currently any CLAMP method, I had to modify my GameDash.exe so that PERCENT would not return negative numbers. But when @nobuddy puts in the CLAMP method my formula will just become:

    PERCENT 2.5 30
    CLAMP 0 100
    SCALE 0 255
    ROUND 0
    TOCHR


    There are other uses for this as I'm sure can imagine.
    • Informative Informative x 2
  12. SeatTime

    SeatTime Well-Known Member

    Joined:
    Dec 27, 2013
    Messages:
    2,500
    Location:
    Newcastle Australia
    Balance:
    27,438Coins
    Ratings:
    +2,776 / 33 / -0
    My Motion Simulator:
    DC motor, AC motor, Arduino, Motion platform, 6DOF
    They normally draw around 100w, but unsure how well they take to variable control. Easy to place wire grill around the existing cowling that they come with to stop inquisitive fingers. Just an idea that jumped immediately to mind with my background/hobbies.
    • Informative Informative x 1
    • Creative Creative x 1
  13. RacingMat

    RacingMat Well-Known Member Gold Contributor

    Joined:
    Feb 22, 2013
    Messages:
    2,053
    Location:
    Marseille - FRANCE
    Balance:
    18,736Coins
    Ratings:
    +1,955 / 18 / -2
    My Motion Simulator:
    2DOF, DC motor, Arduino
    @eXntrc : thanks for the explanation

    @Thread : have a look here ;)
  14. Thread

    Thread Member

    Joined:
    Aug 25, 2014
    Messages:
    119
    Balance:
    231Coins
    Ratings:
    +15 / 1 / -0
    My Motion Simulator:
    2DOF, Arduino
    Great news, great project,
    thanks for letting people know of it.

    To make it cheap, someone should write a sketch that drives an IBT-2 H-bridge [10-15USD 27V 30A], it needs a special driving mode, the SMC3 sketch includes it as mode2.
    [I guess you could not use the third channel of the SMC3, already connected to game engine, and would had to rewrite the third channel anyway]
    And use car cooling fans, from the scrapyard.

    eXntrc, you have experience, should we get this kind of wind? :)
    www.youtube.com/watch?v=mbsYPXAJhxU


    or the usual 230V big fan will do? Then we would need a sketch that provides an analog output voltage, and i think i could make a triac speed control.

    Will be even better with two channels, but have no idea how to mix game engine's yaw or other steering dependent value with game dash speed value.
    • Informative Informative x 1
  15. Thread

    Thread Member

    Joined:
    Aug 25, 2014
    Messages:
    119
    Balance:
    231Coins
    Ratings:
    +15 / 1 / -0
    My Motion Simulator:
    2DOF, Arduino
    Is it enough to concentrate it to the head only, like in a formula car, with car ventillation fans placed nearby giving fast wind, like a hairdryer?
    upload_2015-1-5_19-49-12.jpeg


    Or is it better to get a wide stream with 4 piece of 230V fans?
    [​IMG][​IMG][​IMG][​IMG]
    • Useful Useful x 1
    Last edited: Jan 5, 2015
  16. eXntrc

    eXntrc Member

    Joined:
    Dec 3, 2014
    Messages:
    35
    Balance:
    587Coins
    Ratings:
    +44 / 0 / -0
    My Motion Simulator:
    Arduino
    I LOVE the Arial Atom! If it was just a little more street friendly I would have probably saved up and bought one by now. Instead I'm saving up muuuuch longer and trying to get a GTR.

    I think this is phenomenal. My original idea was to drive a large 30" fan I had here at the house. I live in the US so we're mostly 110v not 220v, but I looked all over the net for example circuits on how to drive a 110v fan from an Ard. I found tons of examples of how to do simple On / Off, but only found a couple ready-made circuits to drive high voltage motors and they were quite expensive.

    In the end I went the route I did because of "ramp time". I noticed that when I turned the 30" fan on it took about 8 seconds to spin up to top speed. When I turned it off it took at least 5 seconds to slow down enough that there was no wind. That's fine for some projects like roller coasters with long sweeping turns driven mostly by inertia, but in racing simulators where you can take off like a rocket or stop on a dime, that ramp time would have been too noticeable. At least in my opinion.

    If you do end up creating a version with this approach I'd be more than happy to work with you on implementing the SuperFan protocol if you need any help (obviously it's pretty simple). Or if you write it yourself, please consider contributing that sketch back to the community here:

    https://github.com/jbienz/SuperFan



    Again, in my opinion only, I feel an array is better. With an array you have more control about how the wind is generated. For example, you can put the fans in a row like you've shown:

    [​IMG][​IMG][​IMG][​IMG]

    This configuration would work well for an audience with multiple people sitting together on a couch.

    You can stack the fans in a 2 x 2 stack in front of you like this:

    [​IMG][​IMG]
    [​IMG][​IMG]

    Which would do something similar to the single "headwind" fan. Though it wouldn't be as concentrated you would move a much larger volume of air which would cover more of the body.

    The other - and possibly most interesting configuration - would be like this (viewed from above):

    [​IMG][​IMG]
    -----------------> You
    [​IMG][​IMG]

    Where the fans are placed all around you.

    In the SuperFan protocol I do allow each fan to be addressed individually. In the Assetto Corsa and NoLimits 2 videos I showed both fans were placed up front and both fans just moved a the same speed. But it is possible to move them at separate speeds. Why would you want to do this? Well, I'm still thinking about creating a Minecraft plugin. Imagine that when the plugin initializes it generates a random vector for "wind direction" and a random number for "wind speed". And maybe you increase that wind speed as the user goes higher into the sky. Then, with that vector, you could ramp each fan up and down as the user turns around. It would give the impression of wind coming from a particular direction.

    In this configuration I would place fans at the corners (North-West, North-East, South-East and South-West) instead of directly in front and to the sides (North, East, South, West). This would allow you to drive the front two fans (North-West and North-East) at the same time to provide more wind coming from the "North" direction than you would be able to with a single fan.
    • Agree Agree x 2
    • Useful Useful x 1
  17. Thread

    Thread Member

    Joined:
    Aug 25, 2014
    Messages:
    119
    Balance:
    231Coins
    Ratings:
    +15 / 1 / -0
    My Motion Simulator:
    2DOF, Arduino
    I have no idea till i try it with several methods, but seems likely that in winter time, i don't like wind in the room, or have to crank up heating in the room to 30degrees. Summer is the opposite, i could use wind even instead of AirConditioning.
    My cheap 230V table cooling fan spins to the max. in 2 secs, so it can be fast enough.
    I can not even guess on how strong the wind should be, have to try it.
    I can not program the ard, if someone wrote a code providing an analog output voltage, it should be easy to control table fans, think of a cheap dimming circuit for classic lamp bulbs.
    Just guessing, formula cars simulation would be like car heating fans right into your face,
    and the directional control of large fans could simulate a sportscar with a windshield, with side windows pulled down, where you get huge wind from the side if cornering, but it may not worth the extra effort.
  18. eXntrc

    eXntrc Member

    Joined:
    Dec 3, 2014
    Messages:
    35
    Balance:
    587Coins
    Ratings:
    +44 / 0 / -0
    My Motion Simulator:
    Arduino
    Yeah, a 2 second ramp should be fast enough for most simulations.

    I think this is a matter of taste, but I'll say that when you're wearing an Oculus Rift your senses seem to be heightened. For example my project goes up to 18 MPH, but what I feel seems more equivalent to a 30 MPH gust when standing outside. I guess the point is you probably don't need as much wind as you think you do, but you'll just have to play with it to find what feels right to you.
  19. tombo

    tombo Active Member

    Joined:
    Oct 5, 2013
    Messages:
    269
    Location:
    Germany
    Balance:
    2,351Coins
    Ratings:
    +244 / 2 / -0
    My Motion Simulator:
    DC motor, Arduino
    Maybe a little Info.
    I'm working in car garage and had a project with a working college to power the Car fans for cooling purpose in his garden.
    There are several types of Car radiator fans. Small ones like from Toyota Aygo or big ones vom Mercedes. Find a housing wouldn't be to hard, because most ones already have. Something like this. But there are better ones, can't find picture right now.

    [​IMG]

    If you are able to find one from Bmw they have better housing and screwed together. So you can make a little box and screw this thing on.

    We where able to drive one Big one and one Small one with one Server Powersupply (Hp dsp 600 PB) which will provide 47A.
    I don't know the exact rating but both of them work on this powersupply. The only thing to notice is. One big fan will run fine, if you hook up the second one and start them up at the same time the power supply shuts down. So they have a big Amperage at starting. But i big one is on and runs you can add the second without Problem.
    The fans where directly added to dc 12v without regulation.
    So i think one is not drawing more than 25 Amps. I'll can take a look if i can find some Labels or something on Fans in different Cars at work and maybe give an Idea about the ratings. But i thiunk the fuse in Car for that fans is 25A. But i'll can check again.

    And they make a LOT of wind.
    • Informative Informative x 2
  20. eXntrc

    eXntrc Member

    Joined:
    Dec 3, 2014
    Messages:
    35
    Balance:
    587Coins
    Ratings:
    +44 / 0 / -0
    My Motion Simulator:
    Arduino
    That's super helpful. Thanks @tombo. The T'REX controller I used could handle a peak momentary draw of 40A, so there's a decent chance it might be able to handle starting that motor. The T'REX can also handle more than 18A constant but it requires mounting the board to some form of radiator or cooling panel to deal with the heat generated by the board. Otherwise it'll burn itself out!

    The Arduino Motor Shield is another common option, but it can only handle up to 4A. MUCH smaller than what would be needed for those fans.

    What is the ramp up / down time on a motor like that? Meaning how quickly can it start up or stop? Also, did you mess with varying the speed at all by changing the voltage? That motor should handle speed control via PWM (Pulse-Width Modulation) just fine but you'd need to test to make sure. Most microcontrollers that support PWM allow you to configure the pulse width. I believe the shorter the pulse width the less noise but some motors can't handle a short pulse width. You might hook this motor up and find out it won't start, but it's possible that editing the sketch to assign a wider pulse width might get it moving.
  21. tombo

    tombo Active Member

    Joined:
    Oct 5, 2013
    Messages:
    269
    Location:
    Germany
    Balance:
    2,351Coins
    Ratings:
    +244 / 2 / -0
    My Motion Simulator:
    DC motor, Arduino
    Hello,
    its me again :) Today i've taked a look. So the fans are fused differently. The big ones are fused with 30A and the smaler ones with 25A. My working college also said h must use the 30A for big Fan, because 25A will get blown instantly.
    Like i said we only supplyed the motors with direct 12 V nothing else so i can't say anything about different speed on diffrerent Voltages.
    But you are right it should be possible to drive them via PWM.
    For the Ramp up time, we didn't measured it, but he sais the big one needs something from 3-4 seconds until it reached full speed.
    If i can find a meter i can measure it. My current meter only goes up to 10A.
    And for driver I'm shure you can use Motomonster too and you can get that for 12$.

    I hope this helps you.
    • Informative Informative x 1