Close
0%
0%

Custom stepper motor driver for FFB Wheels

Why do we have to rely on expensive drivers when we can make our own?

Public Chat
Similar projects worth following
The main idea of the project is to have a possibility to build a steering wheel on a cheap. But the true intention is it's capability to break your hands. Even better - Free Gym, having fun while training is super cool, right?

Stepper motors allow us to do this. They can be had for around 100 bucks for 12 Nm variariant or even better - monster nema 42 with around 20-24 Nm for 200$.
To put the numbers into something practical, with a wheel of 300 mm diameter, you will be fighting against 8 kg of max force with 12 Nm or 16 kg with 24 Nm.

Thankfully there are preassembled units available from china. They come with 1000ppr/4000cpr encoders which are directly compatible with mmos or OpenFFB board.
This saves you the hassle of drilling the back of the motor and having headaches of encoder and shaft misalignment.

The plan is to use the aforementioned controllers with pwm/dir outputs.

Youtube channel:

https://www.youtube.com/channel/UCMWuXBkdhiX_RDFE4G2DYXg

XSimulator page:

https://www.xsimulator.net/community/threads/direct-drive-stepper-motor.15204/

Motor driver:

Driver consists of an arm m3 chip as brain and driver circuit with mosfets. It takes PWM and Dir input from usb force feedback controllers, or any other hardware, e.g. MMOS on stm32 from virtual racing or AI WAVE on arduino leonardo from racing fr or OpenFFB board from hackaday.

Currently more than 9 Nm can be extracted from a 12 Nm stepper wheel - Stronk Boi.

  • Visualize your FFB

    Nikiss99902/08/2021 at 22:25 0 comments

    If anyone ever wondered how would force feedback look on graphs here's a nice representation

    MMOS will be tested as well against OpenFFB. This one might get very interesting :)

  • Smooth Boi

    Nikiss99901/29/2021 at 23:08 0 comments

    Smooth Boi enters the game

    And with it the support for 3 phase BLDC, AC Servo permanent magnet, Hoverboard, RC Drones, Mige, whatever more name you can think of brushless motors.

    This is hoverboard motor btw

  • Torque test !!!

    Nikiss99912/08/2020 at 19:31 0 comments

    Well, all before this was just empty talk without any info on actual strength of the boi. Time for a reveal:

  • Testing video

    Nikiss99911/21/2020 at 01:04 0 comments

    This has been long overdue :)

    But finally it's here, testing and driving

  • The 36V goodness

    Nikiss99911/14/2020 at 21:23 0 comments

    Well the title says everything.

    Forcefeedback is really good now, compared to what it was before (don't think that it was bad before with 12 Volts power supply, now it's just very good). Everything is snappier and Stronger. Cogging is also reduced because of that new closed loop current control.

    Higher voltage gives more headroom for faster rotation. This means that you still get feedback even when counter steering the force from the game. With 12 V, at some point you hit a brick wall and you can't push enough juice into motor to keep FOC running.

    This also means that the wheelbase can murder you. Stronk boi is really really fast now and that boi can punch you really hard.

    Here are step log results, from wheelcheck

    Wheel mounted

     

    No wheel

    12V with wheel 

    (this chart is flawed, 1080 degrees were in mmos and 900 in wheelcheck, however there is no big change, line may get a little steeper but it won't come close to -5000)

    Stay tuned for some stronk boi video action!

  • Another improvement, revamped current control and reduced noise

    Nikiss99910/06/2020 at 23:39 0 comments

  • Found out where the problem is

    Nikiss99909/23/2020 at 11:29 0 comments

    Usable force should be about 5 Nm in this moment. Electronics start having a mental breakdown above that level.
    This is the reason why wheel started feeling bad at higher forces. Current control is actually very good until 5 Nm. After that there are huge deviations, we are talking about 20 - 40 % difference in expected output vs reality.
    Notchiness is still there. I won't even try removing it until full 12.5 Nm are extracted from the wheelbase. Strength is the priority

    Edit : The noise in the previous demonstration videos is because of the bad current control. Motor starts squeaking above 5 Nm. If filmed at 5 Nm that there would be no squeaking noise.

  • Another improvement and torque measurement

    Nikiss99909/19/2020 at 21:59 0 comments

    Did some Nm testing. At 25% strength wheel was able to lift a 2 liter bottle at 12 cm from center of the shaft. That is about 2.4 Nm. Don't have concrete results yet but that should be about 10 Nm at full strength. For now.

    Turns out that bts7960 is not up to the task for closed loop current control. I made another diy bridge and current control now is much better. Current control is still not perfect. But good news is that torque unevenness is much Much better now. Didn't have a lot of time to calibrate it properly. This also solved the problem with fast rotation. Now the strength when steering quickly is not reduced. In fact if I didn't know that the problem existed I'd never notice it.

    Notchiness is still there. However below 50% strength or 5 Nm you can only feel the "tip" as a notch. Everything between steps is butter smooth.

    Driving with now improved wheel was a blast. Everything below 5 Nm is a meme. It is just not strong enough. 5Nm to 7.5 Nm is good. 7.5 Nm to 10 Nm is really strong. At 7.5 you feel road texture and it is the sweet-spot. More than that and you start struggling to make corrections. But it's too much fun to drive at 10 Nm.

    In summary:
    - Notchiness got lowered by let's say 70%
    - Speedy corrections and rally driving is not reducing strength anymore
    - 7.5 Nm is the sweetspot

    Flux weakening will be one of the next research steps. It reduces torque and increases power consumption but greatly increases rotational speed. However I'm still not sure if it affects notchiness between steps. If it breaks FOC which is used right now then there's no other solution but to use power supply with more than 12 Volts.

  • Second wave of driving videos - actually usefull this time

    Nikiss99909/14/2020 at 11:37 0 comments

    Some usefull demonstrative driving videos, unlike previous ones.

    This one is in assetto corsa and it really shows how strong the wheel is. 

    This one is from dirt rally and it was an overall good representation. At the beginning I intentionally removed one hand from the wheel and you can see that the thing is kicking around a lot.

  • Videos and benchmarks

    Nikiss99909/13/2020 at 20:11 0 comments

    Did some iracing wheelcheck benchmarks and software for the driver was optimized as well.

    Here are links to the videos:

    Benchmarks:

    Driving:

View all 10 project logs

Enjoy this project?

Share

Discussions

Ignatius Pelser wrote 01/22/2021 at 13:39 point

Hi there @Nikiss999

I am not an expert on these components, but I have been longing for such a long time to build a direct drive wheel with a stepper... I have seen so many videos and posts, and the big thing though is not a lot of people share the exact how to... Now I know people such as yourself with these talents, do so much work to figure this out, and us lazy bums just want to see and do from guides etc... I am very excited about your project and the progress that you have made, and looks amazing!! Wish I had the knowledge to pull something like this off.. 

I know Direct drive wheels are expensive, and a few times I thought some of the pricing is not too bad... But as South African, we get hit sooooooo hard with import taxes, plus currier costs, it turns out to be just short of double the price... Which is just too insane... Also we do not have a single form of product nor representation for DDW's here in South Africa!...

All the best to you, loving your work.... Eagerly awaiting your end product...

Regards,

Avid Future Customer :)

  Are you sure? yes | no

Nikiss999 wrote 01/25/2021 at 16:20 point

Hey Ignatius,

Thank you for these nice words!

Yeah when taxes hit they hit like a truck. That's why there'll probably be no motors and hardware available but only electronics. Better try a force feedback wheel first and then decide if this is for you :)

For me it's fun to wrestle with the wheel and break a hand or two XD

  Are you sure? yes | no

Gustavo A. Lara wrote 01/12/2021 at 11:40 point

Hi Nikiss99!

I'm very interested in this project and sounds very promising. Finally, what components did you use? I have a Nema34 with a rotary encoder and a SMT32F4Discovery board... but reading your post I don't know if you are transforming the PWM signal to voltage with a BTS7960 / BTN7960 43A H-Bridge or is needed another components like arduino... Are you making your own firmware too?

  Are you sure? yes | no

Nikiss999 wrote 01/14/2021 at 13:21 point

Hi Gustavo :)

You can think of my driver in the same way as VESC. It's not using BTS unfortunately. There are 2 H-Bridges made of IRFZ44N. The most important part is that you get around 40 Volts power supply cus it's really hard to get any speed out of stepper on a lower voltage supply. 

Not an arduino, microcontroller used was Stm32f103. This thing drives 2 H Bridges and it has a closed loop mechanism that controls current with voltage. However this might change anytime.

Not sure how will these thing be sold. Maybe I'll be selling just a microcontroller and letting you solder all electronics or there will be whole units premade like VESC. I think that there will be a catastrophe if people suddenly start soldering something that is not easy to solder, but again at this point in time that will be the cheapest option and for this I was aiming from the start. 

I'll be making a video with some thoughts  about the current state of Stronk Boi. It may be a good idea to create discord channel or use the chat here for later discussions.

  Are you sure? yes | no

Gustavo A. Lara wrote 01/15/2021 at 14:47 point

Thanks for the answer Nikiss. Then, are you thinking in sold your board like OpenFFBoard project? Or sharing your design for the people that could solder the components by themselves? I think it's a good idea a Discord Channel. I think there is a lot of people interested in sim wheels based on stepper motors because are cheap and enough for people that are starting in iracing and enjoy with DIY projects like me

  Are you sure? yes | no

Nikiss999 wrote 01/17/2021 at 10:40 point

It'll be either fully assembled driver or just a microcontroller - in this case you'll either solder everything on perfboard or I'll maybe make a Pcb which can be ordered from china pcb manufacturers with through-hole components if it can all fit.

  Are you sure? yes | no

Nikiss999 wrote 12/16/2020 at 18:41 point

Another good point. Servo steppers from china have 1000ppr encoders (mine has positive and negative A and B wires, no Z or Index wire). Mine also does not require pullup resistor and works on 5 Volts. I bought DB 9 male connector and removed backplate of the motor. After that checked which encoder pin corresponds to which pin on plugged in db 9 male connector with multimeter continuity test (6 pins are used, 5V, Gnd, A+, B+, A-, B-). You can take A and B positive or negative pair and plug them into mmos without a problem. Motor only comes with short db 9 female cable so I bought 2 meter extension db9 cable and it all works without a problem. This is the main reason why this motor was bought - encoder was premounted.

  Are you sure? yes | no

Arian wrote 12/14/2020 at 07:48 point

Looks very promising! Though it might need a kill switch for safety reasons. Planning on sharing the plans when you're confident it would work?

  Are you sure? yes | no

Nikiss999 wrote 12/14/2020 at 23:49 point

Thx for the suggestion! Pretty good idea for something like this although it may not be necessary if forces don't go above 10 Nm. It is strong and reacts very quickly but it's not insane like Osw Mige :)

As for plans it is pretty much the same thing as Osw. You'll probably buy a stepper servo locally or order it from China, get shaft coupler, power supply, steering wheel and adapter, wheelbase mount, button plate, etc...

It doesn't make much sense for me to ship motors (pay shipping from China and shipping to somewhere) and complete kits, maybe just shaft couplers as they are not that common. So my decision is to ship only the stepper driver when it's ready for distrbution, it's fully functional now but it needs two more things: smooth out the cogging torque and reduce noise when rotating.

At the end your wheel might cost less then an entry level belt drive, depends how much effort you want to put into searching local marketplace for a steering wheel. Main reason why shipping cost is so important.

  Are you sure? yes | no

Arian wrote 12/16/2020 at 09:58 point

Mounting the rotary encoder to the stepper would be hard from what I've read to get it centre, you'd have to drill on the back and mount the encoder there. There are Steppers with encoder though I'm not sure how to wire it to the STM32 as they have 9 pins while most rotary encoders have 4/5 pins.

I'm sure it would be much cheaper to build one as I've already build a belt drive steering wheel and it cost less than a G27 while being more powerful. I hope your driver and shipping wouldn't cost much, while I get some of the products in sim racing community isn't mass produced and were built by the owners themselves (Heusinkveld, Turn Racing, etc.), there's a big gap in pricing for us normal folks.

Best of luck for your project

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates