1. Do not share user accounts! Any account that is shared by another person will be blocked and closed. This means: we will close not only the account that is shared, but also the main account of the user who uses another person's account. We have the ability to detect account sharing, so please do not try to cheat the system. This action will take place on 04/18/2023. Read all forum rules.
    Dismiss Notice
  2. 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!
  3. 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
  4. 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

DIY FFB Steering wheel (MMosFFB ) (In Progress)

Discussion in 'DIY peripherals' started by Alexey, Dec 10, 2015.

  1. foxmulder18

    foxmulder18 New Member

    Joined:
    May 4, 2020
    Messages:
    1
    Balance:
    48Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    Arduino
    Hi, I am a new User. I have ı few questions. 1- I want a strong FFB .
    Which engine should I use? 2- I cant found disc encoder in my location. Can ı use black rotary encoder and
    how many ppr do i need . 3- I need wheel , pedals, shifter base layout. Thx for your help. My private email : enesbtfb@gmail.com
    Last edited by a moderator: May 5, 2020
  2. ejdlignacio

    ejdlignacio New Member

    Joined:
    Mar 28, 2020
    Messages:
    3
    Balance:
    32Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    DC motor, Arduino
    Hi everyone, so my DIY wheel is currently set-up with 2 RS775 motors connected in parallel to 2 BTS7960s connected in parallel too. I did this minimize the number of wires running from my motors to my control box and to ensure that they rotate identically. Would separating the motors and drivers (two sets of RS775 + BTS7960 connected to the STM32) instead of using them combined have any advantages?
  3. elnino

    elnino Active Member

    Joined:
    Apr 1, 2010
    Messages:
    227
    Occupation:
    Computer Geek
    Location:
    Adelaide, Australia
    Balance:
    1,439Coins
    Ratings:
    +131 / 1 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    I can't think of any obvious reason that it would or would not be recommended but consider the current source and sink ability of each.

    i.e 2 Motors in Parallel is 1/2 the resistance, but you're doubling the current handling ability by 2 7960's in parallel too. However, by keeping them separate, it may 'load balance' better. It's hard to tell without testing directly but my guess is that the mechanical difference would be somewhat negligible.

    However, if the motors are not perfectly matched (resistance etc), you may end up with one motor getting way more power than the other and more likely to melt rather than a true balance than you think you have. This may mean there is a reliability reason rather than a performance based reason to separate them.

    If you want to try, leave the 7960 in parallel (inputs) but just change the outputs. There's no issue with them rotating identically as they don't really rotate (you're not matching speed/voltage), it's force applied which will still be cumulative from each motor.

    I suggest using some sort of temp sensor to monitor each of the motors.
    • Informative Informative x 1
  4. Zahid

    Zahid New Member

    Joined:
    May 17, 2020
    Messages:
    8
    Occupation:
    Student
    Location:
    Bangladesh
    Balance:
    95Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    DC motor, Arduino
    hello, if i use another motor rather then the denso one, do i need to make change in the firmware>?
  5. Chris_Beeves

    Chris_Beeves Active Member Gold Contributor

    Joined:
    May 31, 2019
    Messages:
    330
    Balance:
    1,897Coins
    Ratings:
    +230 / 2 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 4DOF
    What type of motor driver will you be using?
    There is not much more to change in the fw except the PWM behavior, so probably no. :)
  6. Zahid

    Zahid New Member

    Joined:
    May 17, 2020
    Messages:
    8
    Occupation:
    Student
    Location:
    Bangladesh
    Balance:
    95Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    DC motor, Arduino


    BTS7960 is the driver i intend to use. Can u tell me what is pwm behaviour? Im a beginner.
  7. Chris_Beeves

    Chris_Beeves Active Member Gold Contributor

    Joined:
    May 31, 2019
    Messages:
    330
    Balance:
    1,897Coins
    Ratings:
    +230 / 2 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 4DOF
    What microcontroller do you plan to use? If you are a beginner I would suggest EMC, it is quite easy to use. The STM or the Arduino that it uses is quite cheap too. The MMOS STM can be a bit pricey.

    The PWM behaviour is how the microcontroller sends the force data over to the motor driver. It is different for different drivers. I think the BTS uses 3 signals; one PWM left, one PWM right and a "enable" signal. At least when you use the EMC.
  8. Zahid

    Zahid New Member

    Joined:
    May 17, 2020
    Messages:
    8
    Occupation:
    Student
    Location:
    Bangladesh
    Balance:
    95Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    DC motor, Arduino
    I will use arduino leonardo
  9. Chris_Beeves

    Chris_Beeves Active Member Gold Contributor

    Joined:
    May 31, 2019
    Messages:
    330
    Balance:
    1,897Coins
    Ratings:
    +230 / 2 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 4DOF
    What firmware? EMC or Aiwave?
  10. Zahid

    Zahid New Member

    Joined:
    May 17, 2020
    Messages:
    8
    Occupation:
    Student
    Location:
    Bangladesh
    Balance:
    95Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    DC motor, Arduino

    Im not sure yet. Cant understand whichi should i use. Can u help?
  11. Chris_Beeves

    Chris_Beeves Active Member Gold Contributor

    Joined:
    May 31, 2019
    Messages:
    330
    Balance:
    1,897Coins
    Ratings:
    +230 / 2 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 4DOF
    Like I said before, choose EMC. It is very easy to use and quite well documented. There are a few YouTube videos covering it. Search for Ebolz Magy
  12. Zahid

    Zahid New Member

    Joined:
    May 17, 2020
    Messages:
    8
    Occupation:
    Student
    Location:
    Bangladesh
    Balance:
    95Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    DC motor, Arduino
    Thank you.

    Which one is the best firmware? I may change my Setup according to that.
  13. Chris_Beeves

    Chris_Beeves Active Member Gold Contributor

    Joined:
    May 31, 2019
    Messages:
    330
    Balance:
    1,897Coins
    Ratings:
    +230 / 2 / -0
    My Motion Simulator:
    DC motor, Arduino, Motion platform, 4DOF
    EMC
    • Agree Agree x 1
  14. Fzonta

    Fzonta New Member

    Joined:
    May 5, 2019
    Messages:
    9
    Balance:
    100Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    Arduino
    [QUOTE = "doddynco, post: 170342, membro: 26752"] Encontrei uma maneira de parar o atrito não preciso O : sorrir retorno da força melhorou maciçamente. Isso significa que a ponte H nunca aterrissa na configuração do loop de terra causada por ter R_EN e L_EN sempre em 5v.

    O Mmos precisa ser definido como 'PWM & dir', 16,8khz. Coloque o pino 9 em L_EN e R_EN. Pino 11 a RPWM e pino 10 LPWM (dependendo da polaridade do seu motor, pode ser necessário inverter o pino 10/11)

    Nesta configuração, 50% pwm = 0motor; Ainda não sei por que isso é verdade - mas é verdade, pelo menos para mim. A solução é definir o ganho mínimo de feedback da força do jogo em 50% - encontrarei um trabalho mais permanente em torno do uso de hardware, mas, por enquanto, funciona muito bem. Além do mínimo de FFB no jogo, use a configuração de ganho mínimo da configuração do mmos para o ajuste fino (cerca de 1% a 5% normalmente). Testado por mais de 40 minutos e o motor não estava mais quente do que na configuração antiga, pode até estar funcionando mais frio.

    Como experimento, removi o capacitor pequeno de 300uf (fica no trilho de alimentação entre positivo e neutro) do IBT2 e funciona bem. No entanto, sinto um pouco mais de 'conversa' elétrica com os componentes - se esse é o termo certo o_O. Enfim, acho que ele atua como um filtro para picos de tensão de frequência muito alta causados pela comutação PWM sob carga - tenho certeza de que o pequeno capacitor deve ser deixado no lugar.

    O parágrafo a seguir ainda não foi testado, portanto, tente apenas se você conhece as implicações do que está fazendo - os capacitores são potencialmente muito perigosos:
    Além do capacitor pequeno, acho que um capacitor grande de 2000uF + em paralelo ajudaria ainda mais a regular a tensão de alimentação. Espero que isso signifique que podemos girar a roda com ou contra o motor, e o trilho de alimentação mantém a tensão.

    Por fim, para evitar o alto nível de força mínima do jogo, tentarei projetar um simples pós-processador pwm para fazer ...... <50% pwm = 0% pwm ....... 50% pwm = 50% pwm ........ 100% pwm = 100% pwm ....... para que não tenhamos nenhuma mudança desnecessária dos mosfets. Isso deve ajudar no resfriamento e em algumas outras pequenas coisas sem importância para os detalhes. [/ QUOTE]

    Hi....

    which pins on IBT_2 do you use?
    I am currently using MMOS with STM32.
    like this:
    ---------------
    BTS | STM32
    ---------------
    GND | GND
    R_EN | 5V
    L_EN | 5V
    RPWM | PE9
    LPWM | PE11

    in MMOS

    PWM Mode: PWM(H-Bridge)
    PWM: 4.2khz
    Encoder CPR: 8000 (my is 2000ppr)
    Reverse Encoder: Unmarked
    Use Encoder Index: Unmarked
  15. Konzi Lee

    Konzi Lee New Member

    Joined:
    Apr 27, 2020
    Messages:
    2
    Balance:
    44Coins
    Ratings:
    +0 / 0 / -0
  16. GoRacing

    GoRacing Member

    Joined:
    May 30, 2014
    Messages:
    41
    Balance:
    96Coins
    Ratings:
    +5 / 0 / -0
    My Motion Simulator:
    DC motor

    Hi @doddynco, first of all thank you for doing various tests and sharing them. :thumbs
    Soon I have to start the wiring of the stm32 + ibt2 too, would you advise me to connect as you say and put in MMos in PWM & dir mode and not use the H-bridge mode?
    How did your final tests go after so long?

    PS: I will use a 48v 1000w motor powered by 12v 100A

    Thank you
    Last edited: Jul 23, 2020
  17. doddynco

    doddynco Member

    Joined:
    Aug 21, 2017
    Messages:
    30
    Occupation:
    Joyrider
    Location:
    Shrewsbury
    Balance:
    83Coins
    Ratings:
    +10 / 0 / -0
    My Motion Simulator:
    Arduino
    Mmos needs to be set to 'PWM & dir', 16.8khz. Put pin 9 to L_EN and R_EN. Pin 11 to RPWM and pin 10 LPW. So it should look like this:

    ---------------
    BTS | STM32
    ---------------
    GND | GND
    R_EN | PE9
    L_EN | PE9
    RPWM | PE11
    LPWM | PE10
    (depending on the polarity of your motor, you may need to reverse pin 10/11)
    ---------------
    MMOS
    ---------------
    PWM Mode: PWM & dir
    PWM: 16.8khz
    ---------------
    In game: Minimum ffb set to 50%
    • Winner Winner x 1
    Last edited: Jul 23, 2020
  18. doddynco

    doddynco Member

    Joined:
    Aug 21, 2017
    Messages:
    30
    Occupation:
    Joyrider
    Location:
    Shrewsbury
    Balance:
    83Coins
    Ratings:
    +10 / 0 / -0
    My Motion Simulator:
    Arduino
    I definitely would recommend doing it this way providing the game you're using can do 50% minimum feedback. RF2 can do this and so can AC if you make a custom .csv(?) ffb curve.

    I have some code which a friend wrote for me which should make the 50% minimum thing unecessary. It requires an UNO to post process the PWM signal. It's been a long time since I played with this but I intend to sell my converted MMOS twin motor T500 soon, and so I will have to finalise the project. I will be sure to post all of the wiring/instructions here (along with that code for the arduino) as it is a massive improvement over the original mmos wiring.
    • Useful Useful x 1
    Last edited: Jul 23, 2020
  19. GoRacing

    GoRacing Member

    Joined:
    May 30, 2014
    Messages:
    41
    Balance:
    96Coins
    Ratings:
    +5 / 0 / -0
    My Motion Simulator:
    DC motor
    Thank you @doddynco, I wanted confirmation not to be wrong. :cheers
    Unfortunately, I am unable to create a .csw file.
    On other games how it works like Dirt rally, raceroom, Project CARS etc. etc.?

    I look forward to the developments with Arduino :)
  20. doddynco

    doddynco Member

    Joined:
    Aug 21, 2017
    Messages:
    30
    Occupation:
    Joyrider
    Location:
    Shrewsbury
    Balance:
    83Coins
    Ratings:
    +10 / 0 / -0
    My Motion Simulator:
    Arduino
    If I've remember this right, all you need to do for AC is add this into a txt file:


    0:0
    2:51
    100:100

    (You may need to invert these left to right - I can't remember which way round they're meant to be)

    Then save and rename the txt file to myfile.lut.

    Then edit and save the ff_post_process.ini as follows:

    [HEADER]
    VERSION=1
    TYPE=LUT
    ENABLED=1

    [GAMMA]
    VALUE=1

    [LUT]
    CURVE=myfile.lut




    I don't know about the other games you mention, it really depends if they allow ffb minimum of 50%. (only 35% is really needed in-game as you can add in the first 15% in mmos.)
    Last edited: Jul 25, 2020