Jump to content

Honey, I developed FFB joystick (DIY)


Recommended Posts

Hi. 

There is small review of how it works but in russian language only. May be eventually @MaksimSaveliev will make an english version too

 

I can post plans but I do not have much time to write detailed instructions and answer technical questions. So to build it you need to have good knowlege in electronics and software development. 

About prebuild version - it is possible in theory, but again... who will be providing support of it? 🙂 Yhat's the question :)


Edited by propeler
  • Like 5
  • Thanks 1
Link to comment
Share on other sites

Nice to see some progress in this thread. Any chance of just posting a complete hardware list of the mechanicals?  I'm really interested in the specifics on the motors/drives/software to smooth their response or adjust parameters and of course to communicate with computer/sims. Beyond that I have my own designs for FF gimbals based on craft I intend to use it for (sailplanes, pitch coupled 50mm longer than roll) and enough basic engineering knowledge to integrate the hardware.

Link to comment
Share on other sites

Yes, the gimbal alone is a piece of art. The motors come from Alien Power System: https://alienpowersystem.com/product-category/brushless-motors/50mm/

i9 13900K @5.5GHz, Z790 Gigabyte Aorus Master, RTX4090 Waterforce, 64 GB DDR5 @5600, Pico 4, HOTAS & Rudder: all Virpil with Rhino FFB base made by VPforce, DCS: all modules

Link to comment
Share on other sites

@propelerthank you for this awesome work. I would really like to build this joystick. Please keep us informed when all is ready to start. I think on your first post you mentioned, that you used an odrive and want to replace it by another motordriver. Is this still so? Or does it make sense to order an odrive now. I have read that flyptmover supports odrive too so it could be used for other projects too. Or would it be easier to use your customized motor driver? 

Link to comment
Share on other sites

Sorry 5065 60kv. This one https://alienpowersystem.com/shop/brushless-motors/50mm/aps-5065-outrunner-brushless-motor-60kv-1800w/

 

On 3/26/2021 at 11:39 AM, harryharry said:

Please keep us informed when all is ready to start. I think on your first post you mentioned, that you used an odrive and want to replace it by another motordriver. Is this still so? Or does it make sense to order an odrive now. I have read that flyptmover supports odrive too so it could be used for other projects too. Or would it be easier to use your customized motor driver? 

 

My controller a little bit cheaper, but not much from china ODrive clones form aliexpress. I will post info about my controller soon. Decision is up to you. It will not make much difference.


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

Awesome. I'm nearing a point where I'm ready to start ordering parts and diving into this, but need a sanity check before committing and also checking on the status of the firmware and whatever software is needed to smooth out the bldc motor as well as to communicate with the computer/sims, without which the hardware is useless.

 

I'll likely use an odrive (clone) for the drive, assuming you already made firmware to make it work with this motor?  There's still some parts I'm unsure on like encoders..  don't know what type/spec/values to use for this. Also unclear what type of brain/main board you are using for interfacing the drive to the computer and also what software is being used to interpret DirectInput signals from sims/games to the drive which is one of the key ingredients.

 

My plan is to run at 24v, since it's a common psu size and halves the amps from 12v at the same wattage.

 

part                 model             qty

APS motor      5065               x2

Encoder          ?????               x2

odrive clone    v3.6                x1

psu                  24v/20A          x1

USB/interface  ?????              x1

 

Besides power transmission and gimbals parts, is there anything missing from that list?

 

 

 

 

 

Link to comment
Share on other sites

On 4/6/2021 at 3:13 AM, Thadiun Okona said:

Awesome. I'm nearing a point where I'm ready to start ordering parts and diving into this, but need a sanity check before committing and also checking on the status of the firmware and whatever software is needed to smooth out the bldc motor as well as to communicate with the computer/sims, without which the hardware is useless.

 

I'll likely use an odrive (clone) for the drive, assuming you already made firmware to make it work with this motor?  There's still some parts I'm unsure on like encoders..  don't know what type/spec/values to use for this. Also unclear what type of brain/main board you are using for interfacing the drive to the computer and also what software is being used to interpret DirectInput signals from sims/games to the drive which is one of the key ingredients.

 

My plan is to run at 24v, since it's a common psu size and halves the amps from 12v at the same wattage.

 

part                 model             qty

APS motor      5065               x2

Encoder          ?????               x2

odrive clone    v3.6                x1

psu                  24v/20A          x1

USB/interface  ?????              x1

 

Besides power transmission and gimbals parts, is there anything missing from that list?

 

 

 

 

 

I think as encoder you can use AS5048A.

You can solder USB to this pins

image.png

Link to comment
Share on other sites

My version for a Virpil Connector. (printed with carbon filament and thick layers for prototyping...)

IMG_20210408_093214.jpg

  • Like 3

i9 13900K @5.5GHz, Z790 Gigabyte Aorus Master, RTX4090 Waterforce, 64 GB DDR5 @5600, Pico 4, HOTAS & Rudder: all Virpil with Rhino FFB base made by VPforce, DCS: all modules

Link to comment
Share on other sites

On 4/5/2021 at 10:32 AM, propeler said:

Hi propeler, so I try to get parts for this project, but I don't understand what to do to get this controller. I registered on oshwlab but don't understand how to order this controller there. Could you please explain a bit? Thank you! 

Link to comment
Share on other sites

5 hours ago, harryharry said:

Hi propeler, so I try to get parts for this project, but I don't understand what to do to get this controller. I registered on oshwlab but don't understand how to order this controller there. Could you please explain a bit? Thank you! 

Here you can find some information how do order the board

https://docs.easyeda.com/en/PCB/Order-PCB/index.html

 

 

image.png


Edited by SeppForcher
Link to comment
Share on other sites

@SeppForcherthank you! I will try that.

@propeler I really think this joystick will be perfect and don't want to make you more work. But I'm tinkering around with a  prototype of rc-servo driven "ffb joystick" where I get the forces from the telemetry. It's working better than expected but it's a lot of work to do one profile for one airplane. On the other side it's nice to be able to tune the behavior of the stick if you think it should be feeling in a certain way. Even "unrealistic" forces can be used to be immersed in a personal way. For example only using pitchrate on the pitch-axis of a heli feels very immersive to me because it gives me a feeling of mass of the heli as you can see in the video.  It can be combined with pitchrateOfChange ,heave, surge and so on. So the question is: is there a chance that you export telemetry from dcs and fs2020 and some kind of formel editor so that we can mix these forces to the axes of the joystick? Please, understand me right: this is only a suggestion and I will be a happy builder of your joystick as it is. 

Spoiler

 

 

Link to comment
Share on other sites

9 minutes ago, harryharry said:

So the question is: is there a chance that you export telemetry from dcs and fs2020

The problem is that I'm not an expert in DCS and FS2020 telemetry. It is not a problem to send any commands to controller whatever we need. But the part about FS and DCS - help of experts in this field is needed.  

Link to comment
Share on other sites

@propeler there are complete examples on github for getting telemetry.

In dcs you can get telemetry for each computed frame in the export.lua like this:

 

we get position, angular velocities, airspeed, g-forces and angle of attack :

...

function LuaExportAfterNextFrame()
    local curTime = LoGetModelTime()
    if curTime >= t0 then
        -- runs 100 times per second
        t0 = curTime + .01
        local pitch, roll, yaw = LoGetADIPitchBankYaw()
        local RotationalVelocity = LoGetAngularVelocity()
        local airspeed = LoGetTrueAirSpeed() * 3.6
        local accel = LoGetAccelerationUnits()
        local aoa = math.sin(LoGetAngleOfAttack()/180*3.14159265359)*math.min(1,airspeed/30 )

 

we can send these to your formeleditor and transform these to our individual likings and add the resulting values to the joystick x and y forces.

 

for example these are the transformations for my simulated airflow ventilators:

 

        local airspeedFromLeft  = math.max( 0, airspeed + (airspeed * accel.z * factor_lateral_geforce_for_airspeed ) ) 
        local airspeedFromRight = math.max( 0, airspeed - (airspeed * accel.z * factor_lateral_geforce_for_airspeed ) ) 
        local airspeedFromUp    = math.max( 0, airspeed * (1 - ( aoa * factor_AngleOfAttack_for_airspeed ) ) )
        local airspeedFromDown  = math.max( 0, airspeed * (1 + ( aoa * factor_AngleOfAttack_for_airspeed ) ) )

 

In fs2020 simconnect must be used to get telemetry.

 

I would think there might be some people in this forum which are willing to help.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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