Jump to content

Honey, I developed FFB joystick (DIY)


Recommended Posts

@propeler

The most minimalistic version for dcs would be to make a string in the export lua consisting of all parameters you get from dcs and their xfactors and yfactors with which the user can determine how much each parameter should effect the x and the y axis of the joystick. 

This string is sent to your joystick controller each frame. There instead of sending the x and y forces you get from ffb to the motor controller you send x_withTelemetry = x + xfactor1*telemetry1 +xfactor2*telemetry2+

... +Xfactor20*telemetry 20

The same for y_withTelemetry and if in the export.Lua all factors are zero then the sum is the original ffb value. If one decides to adapt the parameters in the lua then telemetry is mixed to the joystick. One parameter should be there to adapt the original ffb signal for x and for y. So these can be controlled too by the EXPORT.LUA.  no extra Formel Editor would be needed. All can be controlled from editing the lua which is interpreted. So to take affect dcs has to be restarted. That might be not the most comfortable way for the user but the fastest to Programm. 

Dcs.Lua files could be exchanged by users of your joystick to try out what others like on certain modules. In one lua there could be separate factors for each active module. 

 

Link to post
Share on other sites
  • Replies 199
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

https://github.com/o-devices/bldc-ffb-joystick-base   

Finally, it is time to introduce my FFB joystick prototype! I spent a lot of time and learned a lot of new stuff when work on it. So here what is already implemented:   - Works as standard USB FFB de

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 hav

On 4/6/2021 at 2:21 AM, RealDCSpilot said:

I already started 🙂

IMG_20210406_111705.jpg

 

 

Nice, I'm on almost the opposite path lol. I'm not doing any mechanical until I've got the hardware/electronics/digital fully accounted for first. Not until I have a clear and coherent parts list and related software readily available. Without the software (cog smoothing/drive stuff, middleware to interpret DirectInput from sims, interface to adjust parameters, USB board stuff etc), this $3-400 of hardware will be a lifeless pile of metal and magnets plastic and silicon. If I understood the digital underpinnings I would have already built my own ages ago, which is why the hot rodded MSFFII approach had so much appeal to me.  Once parts and more importantly software gets sorted/is made available I'm going to build different gimbals to incorporate them.


For me there are still too many unknowns related to key ingredients to fire up Solidworks and do design work let alone print parts cut metal or order hardware. For me the mechanicals are the fun part of the meal though, like dessert. As much as I want to eat this yummy pie it's best saved until after the meat and veggies, especially since mechanical is where most of the cost is sunk.

 

Link to post
Share on other sites

I'm also on a different path, in my case the electronics were already finished a decade ago. 😉
I'm basically just using the massive gimbal, because i'm working on a total conversion kit for the G940.

4.jpg


Edited by RealDCSpilot

i9 10920X @4.8GHz, X299X HEDT mainboard, RTX3090 OC, quad channel 64 GB RAM @3600, Valve Index, HOTAS & Rudder: all Virpil with FFB base mod (G940), DCS: all modules

Link to post
Share on other sites
On 4/8/2021 at 8:39 AM, RealDCSpilot said:

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

IMG_20210408_093214.jpg

Are you able to share the stl for this?

Link to post
Share on other sites
9 hours ago, Murleen said:

Are you able to share the stl for this?

Yeah, sure. My plan is also to ask @propeler to put it on his github page. Don't forget to rework the thread with a M36x2-6g threading die after printing.

GIMBAL_Virpil_Connector.stl

i9 10920X @4.8GHz, X299X HEDT mainboard, RTX3090 OC, quad channel 64 GB RAM @3600, Valve Index, HOTAS & Rudder: all Virpil with FFB base mod (G940), DCS: all modules

Link to post
Share on other sites

My early plan to build this by remixing hotpretzel Valkyre Flight Stick as a starting point, so splitting the two axis as someone suggested earlier, will upload files as soon is finished and working, I kept the same gear ratio as the original Propeler design for now.
This would be perfect both for a Spitfire spade grip or a F14

valkyrie_flight_stick_open_1.1_v1 v3  ss.png

valkyrie_flight_stick_open_1.1_v1 v3.png


Edited by Alan Fistwood
Typo
  • Like 1
Link to post
Share on other sites

Great to see this gaining momentum!

 

I've also been busy, though slowly making progress. Got my motor control boards tested, debugged and running.

 

Here's a simple FFB spring test with anticogged motors. I'm quite happy with the smoothness! If you power down the system, it's like night and day. Motors are cogging like hell and the cogging torque multiplies, based on the reduction gears, back to the stick.

 

 

 

Hoping to finish up software over the weekend and do some testing (with new 2.7 DCS (yay clouds!) )

 

In the end, I'd like develop a motor drive/control kit which would be affordable as possible, to enable you guys to build the hardware you want.

 

One thing I'm afraid though, it's the potential instability of the system if FFB gains are set too high. In essence this thing could be seen as PD (without the I) controlled robotic arm, which might become unstable if spring gain, for example, is set too high and damper force is set too low - it might shake the device apart with such high power motors. So some software control loop stability/failsafe checks need to implemented.

 

Also a couple of experimental things I've come up with:

  • I've implemented a USB sound device along with HID, so the joystick appears as a sound card (lol), but the idea is to pass sound from the sim and add shaking experience based on (sub)bass sound. It also makes it possible to push force samples to the joystick from a user app in theory. Might be possible to incorporate DCS telemetry to mix in additional forces.
  • For F-16 style controls, which uses applied force as an input, maybe center the stick using PID and feed the holding force as a joystick position for HID. Haven't tried this, might be interesting to play with.

Edited by walmis
  • Like 2
Link to post
Share on other sites

What are your thoughts on the 9235 Turnigy Mulitistar (also found on AliExpres as 8318) for FFB use? They are widely use for robotics and they are optimized for delivering torque, regarding price they can be found around the same price of APS 5063

I have used this datashet from ODrive for reference, and you can get more than twice the force out of them:
https://docs.google.com/spreadsheets/d/12vzz7XVEK6YNIOqH0jAz51F5VUpc-lJEs3mmkWP1H4Y/edit#gid=0

I
am considering switching to them for my design.

Link to post
Share on other sites
2 hours ago, Alan Fistwood said:

What are your thoughts on the 9235 Turnigy Mulitistar (also found on AliExpres as 8318) for FFB use? They are widely use for robotics and they are optimized for delivering torque, regarding price they can be found around the same price of APS 5063

I have used this datashet from ODrive for reference, and you can get more than twice the force out of them:
https://docs.google.com/spreadsheets/d/12vzz7XVEK6YNIOqH0jAz51F5VUpc-lJEs3mmkWP1H4Y/edit#gid=0

I
am considering switching to them for my design.

 

It's a neat form factor that looks easy to keep cool but a few things jump out to me that might be a problem. The shaft is only 3mm dia with 5mm of projection which could make mounting/coupling a pain but maybe there's nifty heli prop mounting solutions? It's also heavy -nearly double the weight of the APS which is probably why it's more powerful. It also seems like it's optimized for high rpm being aimed at RC helis, where do you find info that it's designed for torque/low rpm?

Link to post
Share on other sites
Posted (edited)
8 hours ago, Thadiun Okona said:

9235 Turnigy Mulitistar (also found on AliExpres as 8318) for FFB use?

You can use any motor which provides enough torque for your needs. Minimum kV for Multistar that i found motor is 100. It means that you can achieve 60 / (2 * Pi * 100) = 0.0955 Nm per 1 Amp of current. For the reference 60kV motor produces  60 / (2 * Pi * 60) = 0.1592 Nm per 1 Amp. That's the reason I was using APS 5063(60kV). Because it is motor with the lowest kV I found on the market. From usage experience APS 5063(60kV) will overheat around 12-15 Amps of contstant current, 8318 around 16-18 Amps. So usable torque limit will be around 2.4 Nm for APS 5063(60kV), and 1.7 Nm for 8318(100kV). It is without reduction, direct drive.

 

8 hours ago, Thadiun Okona said:

It's also heavy -nearly double the weight of the APS which is probably why it's more powerful

Actually oweral power does not give us much information. In case of usage for static torque actions this power can not be achieved because of overheating and low efficiency on low rpms. Only torque per Amp and possible current which motor withstands without overheating matters. 


Edited by propeler
Link to post
Share on other sites
8 hours ago, Thadiun Okona said:

 

It's a neat form factor that looks easy to keep cool but a few things jump out to me that might be a problem. The shaft is only 3mm dia with 5mm of projection which could make mounting/coupling a pain but maybe there's nifty heli prop mounting solutions? It's also heavy -nearly double the weight of the APS which is probably why it's more powerful. It also seems like it's optimized for high rpm being aimed at RC helis, where do you find info that it's designed for torque/low rpm?

The shaft it's designed to be just a centering pin, the pulley (originally the propeller hub) should be bolted to the spinning part of the motor case, and the motor should be mounted on the non-spinning part as usual.

It's aimed towards high-efficiency or Heavy-Lift multi rotor drones that uses larger than usual propellers, I guess this motors are derived from stabilization gimbal motors, an I've seen the used on DIY robotics project to actuate limb-like assemblies.

On the spreadsheet from Odrive I've linked whey they compare some motors, it's the second worst one in the RPM chart with no Load, but the second best in the torque chart, I deduce they designed this with torque in mind.

I am also assuming that the APS 5063 specs are comparable to the ones of the 5065 that can be seen compared in that same spreadsheet, I did not considering weight as a big constraint will not move to much, but it could become an issue if the weight on the motor would put strain on some moving parts, the still parts can be made bigger-tougher to withstand the weight.

Link to post
Share on other sites
1 hour ago, propeler said:

You can use any motor which provides enough torque for your needs. Minimum kV for Multistar that i found motor is 100. It means that you can achieve 60 / (2 * Pi * 100) = 0.0955 Nm per 1 Amp of current. For the reference 60kV motor produces  60 / (2 * Pi * 60) = 0.1592 Nm per 1 Amp. That's the reason I was using APS 5063(60kV). Because it is motor with the lowest kV I found on the market. From usage experience APS 5063(60kV) will overheat around 12-15 Amps of contstant current, 8318 around 16-18 Amps. So usable torque limit will be around 2.4 Nm for APS 5063(60kV), and 1.7 Nm for 8318(100kV). It is without reduction, direct drive.

 

Actually oweral power does not give us much information. In case of usage for static torque actions this power can not be achieved because of overheating and low efficiency on low rpms. Only torque per Amp and possible current which motor withstands without overheating matters. 

 

So the problem with those type of motor is that by using them just as springs they will overheat and not deliver the performance they have on paper, so low kV is king for this application?


Edited by Alan Fistwood
Link to post
Share on other sites
7 minutes ago, Alan Fistwood said:

Gotcha, so the problem with those type of motor is that by using them just as springs they will overheat and not deliver the performance they have on paper, so low kV is king for this application?

Yes. Or great reduction with either belt system or geraing. That's why now I'm trying to find affordable kinematic scheme to use hoverboard motor in joystick. I already use such a motor in DD FFB Wheel for simracing, and the motor is really good.

 

Link to post
Share on other sites
2 minutes ago, propeler said:

Yes. Or great reduction with either belt system or geraing. That's why now I'm trying to find affordable kinematic scheme to use hoverboard motor in joystick. I already use such a motor in DD FFB Wheel for simracing, and the motor is really good.

 

Hoverboard Motors are really bulky tough strong, I can't think of 3D printed mechanism will hold their weight for long, let alone their strength.
But for rudder pedals (not sure if DirectInput supports also pedals) they would be easy to be adapted: Motor at the center, pedals on two rails, and a belt loop that slides the pedals, you could simply mount a bar on the motor hub and those would be fine enough for pedals, but i would not risk having my feet near the bar because if your feet are near it and the motor goes berserk say goodbye to your feet.
For both stick and pedals I think that belts add a lot of safety being that if something goes wrong the belt will be the first point of faliure.

Link to post
Share on other sites
47 minutes ago, Alan Fistwood said:

So the problem with those type of motor is that by using them just as springs they will overheat and not deliver the performance they have on paper, so low kV is king for this application?

 

 

I highly doubt this will become an issue. You don't constantly wrestle with your joystick and that case I think your arm will get tired first LOL. Most of the time you will be in the center'ish position, which will consume close to zero current.

 


Edited by walmis
Link to post
Share on other sites
9 minutes ago, walmis said:

I highly doubt this will become an issue. You don't constantly wrestle with your joystick and that case I think your hand will get tired first LOL. Most of the time you will be in the center'ish position, which will consume close to zero current.

It depends on your usecases a lot. For example if you mainly fly close combat in WW2 planes it is the issue 🙂 

Link to post
Share on other sites

I got an idea for a kinematic scheme using hoverboard motors, the motion is applied by a CoreXY carriage moving a spherical bearing on the stick, the stick will be fixed at the bottom of the assembly by an universal joint, and the carriage will be moved by the two motors via a belt-pulley system, the belt pulley system will act as a failsafe if something goes wrong, the motor can be mounted on a rigid structure while the moving parts can still be made of 3D printed or lasercut parts.
What this will imply is that a cartesian to CoreXY kinematic conversion, and vice versa, should be made via firmware or software before the signal goes to direct input.

 

Notepad3_1.png

corexy example.jpg


Edited by Alan Fistwood
description was missing
Link to post
Share on other sites
17 minutes ago, propeler said:

It depends on your usecases a lot. For example if you mainly fly close combat in WW2 planes it is the issue 🙂 

 

Do you have any sources/data on control characteristics? I'd like to learn more about the subject 🙂

 

 

Link to post
Share on other sites
On 4/15/2021 at 3:35 AM, Alan Fistwood said:

I got an idea for a kinematic scheme using hoverboard motors, the motion is applied by a CoreXY carriage moving a spherical bearing on the stick, the stick will be fixed at the bottom of the assembly by an universal joint, and the carriage will be moved by the two motors via a belt-pulley system, the belt pulley system will act as a failsafe if something goes wrong, the motor can be mounted on a rigid structure while the moving parts can still be made of 3D printed or lasercut parts.
What this will imply is that a cartesian to CoreXY kinematic conversion, and vice versa, should be made via firmware or software before the signal goes to direct input.

 

Notepad3_1.png

corexy example.jpg

 

 

 

I hope I'm not contributing to thread drift so my apologies to Propeller and those following if so. 

 

Huh.. this is an interesting approach I haven't seen or considered before. Would have to do some investigation to figure out the mechanical advantage required to achieve desirable forces is practical or not. Even if the printer type x/y gantry design as is not practical, the underlying concept of Cartesian-drive for force feedback is intriguing and can take other forms. Like a small but powerful ballscrew x/y mechanism at the bottom and the spherical joint at the top might be able to be quite strong yet still compact.


An advantage that jumps out with this form factor is that by adjusting the vertical/z-distance of the spherical bearing to the x/y plate driving it you could directly adjust final mechanical leverage and achieved range of motion in one swoop. The practical advantage of that is being able to easily compensate torque/range of motion for longer or shorter shaft lengths using a universal base.

Link to post
Share on other sites

I found even better idea!! idea.png

This way all moving parts will be close to the ground, and only ball join on top. So center part can be really small, lower part wide and stable. 

  • Like 1
Link to post
Share on other sites
59 minutes ago, propeler said:

I found even better idea!! idea.png

This way all moving parts will be close to the ground, and only ball join on top. So center part can be really small, lower part wide and stable. 

 

like this, I know it's a shifter but the idea is the same

 

Link to post
Share on other sites
×
×
  • Create New...