Jump to content

Honey, I developed FFB joystick (DIY)


Recommended Posts

This is the element of DCS (and flight simming in general) that is hard to explain to people who aren't into it. It inspires this sort of thing. It draws in people with curiosity, and leads to spin-off hobbies. In my case it was a (vastly less sophisticated) homemade collective, but we all wind up doing all sorts of tweaking, tinkering and learning along the way.

 

I gripe a lot about how I seem to spend a lot more time preparing to play DCS than actually playing, but the truth is that I like doing stuff like creating Stream Deck profiles or trying to get Helios to work almost as much as I like the flying. Both scratch a similarly itchy part of the brain, I suppose.

 

Anyway propeler, you're inspiring, and I hope you've enjoyed the journey, no matter whether it leads to a production-level product. Bravo zulu!

  • Like 2
Link to comment
Share on other sites

Update for the gimbal set. Inspired by MS FFB one. Improved stiffness. All moving joins are on massive ball bearings. Hope it will be final iteration for gimbal.

 

This is interesting, I've also thought about making a (3d printed) gimbal based on the MSFS one.

As a thought to those of use with our own 3D printers, I'm wondering is it would be better to have the inner bearing mounts integrated into the main trunion piece and instead print that part in 2 indexed halves that are held together by the larger bearings (or screwed together) and one end obviously pinned to the large pulley.

Link to comment
Share on other sites

Looks very interesting. If you ever release a "for sale" type I would be very interested in purchasing one. Especially if it featured a decent grip, and a floor mounted base.

Current specs: Windows 10 Home 64bit, i5-9600K @ 3.7 Ghz, 32GB DDR4 RAM, 1TB Samsung EVO 860 M.2 SSD, GAINWARD RTX2060 6GB, Oculus Rift S, MS FFB2 Sidewinder + Warthog Throttle Quadrant, Saitek Pro rudder pedals.

Link to comment
Share on other sites

Neat project, watching with fascination. I'm really interested in the motors/drives and software that is used for this project. I have no interest in replicating MSFFII gimbals architecture (my least favorite gimbals arrangement) however gimbals are easy to make but motor selection/drives and particularly the software to interface it with DirectInput is not, especially if there's a tuning gui as well.

 

OP, how much torque to these motors put out? (peak/hold) and what is your pulley ratio? Details seem a bit vague and there is talk of 8nm in its final form but that's the same output of my Fanatec CSW2.5 wheel which has a 7a psu and double belt step up to achieve in a form factor the size of a watermelon for a single axis.

 

These motors looks a lot smaller than the Fanatec BLDC and only have a single mechanical increase that looks ~5:1. I've designed but not implemented FF setups up to 5Nm and those are getting pretty beefy even with 25:1 double pulley, but were based around brushed motors which are not as efficient as BLDC.

Link to comment
Share on other sites

Hats off! Great engineering! I truly admire people who are ready to learn completely new skills just to reach their goal. :)

 

How hard would it be to increase the torque for a long shaft stick (lets say 20Nm)? In addition to the obvious replacement of components like gimbal, gear, motor, is it straight forward?

[sIGPIC][/sIGPIC]



KG13 Control Grip Building

Control Stick and Rudder Design



 

i7 8700K, Asus Z370-E, 1080 Ti, 32Gb RAM, EVO960 500Gb, Oculus CV1

Link to comment
Share on other sites

How hard would it be to increase the torque for a long shaft stick (lets say 20Nm)? In addition to the obvious replacement of components like gimbal, gear, motor, is it straight forward?

 

Depends on targeted dimensions of the whole unit. Needs metal gimbal with different mechanical scheme for such high torque. But it is not impossible.

Link to comment
Share on other sites

OP, how much torque to these motors put out? (peak/hold) and what is your pulley ratio? Details seem a bit vague and there is talk of 8nm in its final form but that's the same output of my Fanatec CSW2.5 wheel which has a 7a psu and double belt step up to achieve in a form factor the size of a watermelon for a single axis.

 

These motors looks a lot smaller than the Fanatec BLDC and only have a single mechanical increase that looks ~5:1. I've designed but not implemented FF setups up to 5Nm and those are getting pretty beefy even with 25:1 double pulley, but were based around brushed motors which are not as efficient as BLDC.

 

Oh.. It is not only about how big motor look like from outside. Depends much how motor constructed. Number and type of magnets, number of poles, size of stator, winding wire, type and turn count, type ofmotor(inrunner\outrunner). It gives very different kV and Amp rating for motor -> so different possible torque.

Link to comment
Share on other sites

Especially if it featured a decent grip, and a floor mounted base.

 

Do not have plan for grip production. There are disent choice of available grips. TM, VKB. I plan to support TM natively and solution fo mounting VKB but with usage of all VKB electronics.

Link to comment
Share on other sites

As a thought to those of use with our own 3D printers, I'm wondering is it would be better to have the inner bearing mounts integrated into the main trunion piece and instead print that part in 2 indexed halves that are held together by the larger bearings (or screwed together) and one end obviously pinned to the large pulley.

 

If it give you enough stiffness why not. You can try :)

Link to comment
Share on other sites

Thanks for sharing, and again, great friggin job!!!.

Thanks, very motivating ;)

 

Reference the motors 20 amps comment. Of course you are correct. As you know, amps mean very little without volts. It looks like your pushing 24 volts through those, so you max intermittent load is around 480 watts.

 

Even less. 12v/20Amp -> 240W


Edited by propeler
Link to comment
Share on other sites

Hey, congrats on the project. It seems we're working on something similar in parallel :)

My idea is to build a FFB stick from easily obtainable materials - mainly 3d printed parts and laser cut plywood box parts and standard bearings, pulleys, belts.

It's also based on stm32 and I have good progress on the FFB firmware. All the USB PID supported effects are implemented.

 

Here's my FFB stick mk1 Based on brushed motors. But due to magnetic cogging, I've decided to move to bldc motors with software anticogging compensation. Got VIRPIL stick fully working with analog brake axis also. Sadly currently stuck with this project for the time being due to home renovation eating my free time. But hopefully I will continue soon. I will need to organize the project and will probably release it as open source.

 

N76JIjC.jpg

LtN54CW.jpg

 

Few videos of it in action

https://photos.app.goo.gl/2fGB5Ef6h8aierKJ8

https://photos.app.goo.gl/u41nxrkYLfdfYnGS9


Edited by walmis
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

What do you use for axis sensors?

 

AMS position sensor from AS504x series. I use SPI version of AS5047/AS5048

 

Do you have an idea if/when you will release open build plans?

 

After I build and check that all parts fit without issues. Do not want to post not properly tested version :)

Link to comment
Share on other sites

Hey, congrats on the project. It seems we're working on something similar in parallel :)

My idea is to build a FFB stick from easily obtainable materials - mainly 3d printed parts and laser cut plywood box parts and standard bearings, pulleys, belts.

It's also based on stm32 and I have good progress on the FFB firmware. All the USB PID supported effects are implemented.

 

Here's my FFB stick mk1 Based on brushed motors. But due to magnetic cogging, I've decided to move to bldc motors with software anticogging compensation. Got VIRPIL stick fully working with analog brake axis also. Sadly currently stuck with this project for the time being due to home renovation eating my free time. But hopefully I will continue soon. I will need to organize the project and will probably release it as open source.

 

N76JIjC.jpg

LtN54CW.jpg

 

Few videos of it in action

https://photos.app.goo.gl/2fGB5Ef6h8aierKJ8

https://photos.app.goo.gl/u41nxrkYLfdfYnGS9

 

 

 

 

BLDC is better if you can make it work but did you use brushed motors engineered for low cogging? They are available with skewed armatures for this though not common. Pittman makes a line of suitable motors about the size of Redbull cans that I'm working with.. very nice. I'm using Pittman Lo Cog 14303.. here's what it looks like inside

 

 

image.jpeg

  • Like 1
Link to comment
Share on other sites

I have a working prototype of bldc drivers for nema23 sized brushless motors. With an absolute encoder on the shaft I can absolutely zero out any cogging torque which during first tests worked like magic, zero cogging, smooth as butter rotation. IMHO skewed rotor motors are too rare and expensive. Best thing is to use most common bldc's such as skateboard motors or nema style motors and do the anticogging in software. ODrive, which is used by @Propeler also does anticogging with absolute encoders.

 

I used this video for inspiration

  • Thanks 1
Link to comment
Share on other sites

I have a working prototype of bldc drivers for nema23 sized brushless motors. With an absolute encoder on the shaft I can absolutely zero out any cogging torque which during first tests worked like magic, zero cogging, smooth as butter rotation. IMHO skewed rotor motors are too rare and expensive. Best thing is to use most common bldc's such as skateboard motors or nema style motors and do the anticogging in software. ODrive, which is used by @propeler also does anticogging with absolute encoders.

 

I used this video for inspiration

 

 

Ahhh.. very cool and now my brain is wrapping around this approach and skateboard motors/drives seem like a great choice. Yeah skewed armatures brush motors are indeed expensive.. luckily after a bit of searching ebay I landed 4 suitable motors for projects for like $30 apiece. I needed brushed motors for the MSFF II hack method using a modded version of the h-bridge circuit and new psu to deliver 400% the current. Still a great approach since you get plug and play functionality for DirectInput and can augment it with FSForce but then builds are limited to the scope of what can be done with that mod.

 

Looking forward to learning more about the BLDC approach and already have designs it can be applied to. I never bothered because without being able to interface DirectInput you have a paperweight imo way too many wheels to reinvent for every plane/sim you want to fly it with.

Link to comment
Share on other sites

Hey Propeller,

 

This is awesome, what library did you use for HID, or did you end up writing your own? Also if you want information on parsing the TM grip send me a PM I have an Arduino sketch that should do it I mocked up a while back.

 

 

In case it helps, I recently collaborated on another library for FFB. It was missing working spring, damper, and other effects for a two-axis joystick but now it should be good to go:

https://github.com/YukMingLaw/ArduinoJoystickWithFFBLibrary

  • Like 1
Link to comment
Share on other sites

This is awesome, what library did you use for HID, or did you end up writing your own? Also if you want information on parsing the TM grip send me a PM I have an Arduino sketch that should do it I mocked up a while back.

 

I use standart STM32 HAL USB stack with descriptior from oficial PID documentation. For TM I already implemented reading TM devices. Simply need to found TM grip to test that everything works as intended( now only tested with TM ferrary wheel :) )

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...