Jump to content

Honey, I developed FFB joystick (DIY)


Recommended Posts

Hi everybody,

 

I began a design of a printable ffb joy using skateboard bearings, but I stopped as soon I saw this thread !!!

Lot of ideas are present, thanks to internet, thanks to you guys for sharing.

 

some questions :

 

@propeler:  I like your cardan design but :

  • Why did you put bearing by two each time since there is no screw to make constraint between them ?
  • Are the bearings inside the main cross mandatory ? could you explain why ?
  • When do you thing putting your code on a git ? 😉

 

@RealDCSpilot: Interesting fork,

  • did you publish the stick output in S (snake) STL file somewhere ?

 

@walmis:Very Intereting design too,

  • do you have a git for your project, CAD and soft ?

 

@ all:

What do you think about using Gimbal pancake from T-Motor ?

What do you think about using chinese low cost CNC closed loop servo(I mean true brushless servo, not hybrid stepper) with their driver box ?

 

thanks in advance,

 

JP

 

 


Edited by flyingtux
Link to comment
Share on other sites

17 hours ago, flyingtux said:

did you publish the stick output in S (snake) STL file somewhere ?

Do you mean the extension? The S-shape 200mm stick extension comes from Virpil.

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

18 hours ago, flyingtux said:

Are the bearings inside the main cross mandatory ? could you explain why ?

This is to cope with the gimbal lock problem.

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

8 hours ago, RealDCSpilot said:

This is to cope with the gimbal lock problem.

Thanks RealDCSPilot,

Hum, gimbal lock, or a workaround to compensate bad orthogonality or alignement of axis since it’s printed parts?

8 hours ago, RealDCSpilot said:

Do you mean the extension? The S-shape 200mm stick extension comes from Virpil.

Ah ok fine, I did'nt have this joystick

Thanks


Edited by flyingtux
Link to comment
Share on other sites

16 hours ago, flyingtux said:

Hum, gimbal lock, or a workaround to compensate bad orthogonality or alignement of axis since it’s printed parts?

Gimbal lock (maybe it's the wrong term?). Even the original gimbal of the G940 has an extra joint for limited z-axis movement on the stick's rod:

IMG_20210615_080540.jpg

6634586673_da7c5e1f04.jpg


Edited by RealDCSpilot

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 1/15/2021 at 6:04 PM, walmis said:

Hello guys, some updates on my FFB journey. I've been busy testing and finalizing my FOC motor driver, specialized for FFB application.

It's usable on any 3 phase PMSM motor, but I've specifically designed it for 57BLF0x series NEMA case style brushless motors. It fits on the motor end and is attached to to motor case directly, with some thermal paste, mosfets have a good thermal path to the motor casing.

These motors have quite a bit of cogging out of the box, but when this cogging torque is mapped and cancelled out by software, It's almost non-existent, as if the shaft spins only on bearings, though some faint "digital" noise is felt due to encoder noise and pwm quantization. I've attached a motor cogging map, on the Y axis it shows the required holding current, and on the X axis the encoder position. Encoder is AS5600 which is a 12bit magnetic absolute angle encoder.

On the project I use FDMS8018 mosfets (which can handle quite a lot of current when heatsinked) coupled with very fast mosfet drivers provides a quite high power drive and precise torque over the whole revolution.

 

The hardware project is hosted here: https://github.com/walmis/BLDC-Servo

At the current state there's very little documentation, but I will start working on it as things progress.

Today I've ordered revision 2 of this board from jlcpcb to get rid of some nasty issues of my prototype board.

5 boards cost me 30 euros with SMT assembly and shipping excluding MCU, mosfets, current amplifiers, gate drivers, current shunts and a few small components. That should add around 5-15 euros per board, depending on supplier.

 

And two of these motors will go into the final FFB joystick assembly 🙂

 

IMG_20210110_173842.jpg

IMG_20210110_173758.jpg

BLDC-driver.png

cogmap.png

BLDC-driver-bot.png

 

Excellent !!!

@walmis, did you or do you think commit the FOC source code for the stm32 somewhere ?


Edited by flyingtux
Link to comment
Share on other sites

Hi all, hi @propeler

 

Do you know what type of steel should I use for the propeler design.

@propeler, could you indicate us your provider/manufacturer in poland, for steel and platic parts ?

 

I tried with LaserHub for the metal part and the cost in basic inox 304L is arround 240€ (less expessive than weerg but much than the  @propeler provider)

 

thanks in advance,

 

 


Edited by flyingtux
Link to comment
Share on other sites

On 6/15/2021 at 3:28 PM, flyingtux said:

@walmis, did you or do you think commit the FOC source code for the stm32 somewhere ?

I'm planning to, I just need to finalize it further, but the firmware is in workable condition. Work on this project is a bit slow at the moment. But it'll get there 🙂

 

I'm also building propeler's gimbal version, I just made a laser cut 8mm plywood box variant, which worked reasonable well and it's cheap. It cost me around 30Eur for cutting and materials. 

I incorporated 6374 size motors with my FOC controller.

https://www.banggood.com/18-29V-170KV-2900kw-Electric-Skateboard-Longboard-High-Efficience-Brushless-DC-Motor-p-1240567.html?cur_warehouse=CN&rmmds=search

 

Here are some assembly photos:

Screenshot from 2021-06-18 11-43-19.pngScreenshot from 2021-06-18 11-42-30.pngScreenshot from 2021-06-18 11-41-56.png

I'll make sure to make some photos of the real thing, when I get back to the lab.


Edited by walmis
Link to comment
Share on other sites

Thanks for your answers, photos and sharing your work at all @walmis . I like your patched brushless servo. You made an opensource alternative to clearpath servos 😉

some questions ;-):

 

  • For the FOC, did you fork an existing brushless controler projet like vedder.se, or did you start from scratch ? (it's not an easy project at all)
  • Good idea for the cheaper wood casing. Do you think that the motors will be cooled correctly with wood (even if FOC is efficient by nature)?
  • I noticed you reduced the belt's width. I was thinking to do the same to reduce the need of "static tension" between pulley and pinion (PLA/PTEG home printed pulley). Which width do you think to use ?
  • For the main board, is it better to make an adapter with an existing FFB Joystick or using full opensource FFB board and code ? (I have 2 Sidewinder2 and one g940 I could use for that project) ? ie do you think opensource FFB firmware regarding the SideWinder 2 or g940 firmware ? What do you think to use for your project ?

 

Regards,

JP

 

 

 


Edited by flyingtux
Link to comment
Share on other sites

On 6/18/2021 at 7:06 PM, flyingtux said:
  • For the FOC, did you fork an existing brushless controler projet like vedder.se, or did you start from scratch ? (it's not an easy project at all)

I did start from scratch, actually. Hardware part is 100% my own. Firmware is also built from scratch, I only borrowed some ideas / math from projects such as ODrive and vesc 🙂

 

On 6/18/2021 at 7:06 PM, flyingtux said:
  • Good idea for the cheaper wood casing. Do you think that the motors will be cooled correctly with wood (even if FOC is efficient by nature)?

For high workloads, I think, some forced air cooling might be necessary. Currently motors are not attached so that they be able to dissipate heat into the case.

 

On 6/18/2021 at 7:06 PM, flyingtux said:

I noticed you reduced the belt's width. I was thinking to do the same to reduce the need of "static tension" between pulley and pinion (PLA/PTEG home printed pulley). Which width do you think to use ?

I kinda ordered 10mm width by default, should be more than enough 🙂

 

On 6/18/2021 at 7:06 PM, flyingtux said:

For the main board, is it better to make an adapter with an existing FFB Joystick or using full opensource FFB board and code ? (I have 2 Sidewinder2 and one g940 I could use for that project) ? ie do you think opensource FFB firmware regarding the SideWinder 2 or g940 firmware ? What do you think to use for your project ?

 

Definitely open source when it becomes available 🙂 I have also a FFB USB firmware in the works for the STM32F103C8 based on libopencm3 library. @propeler also has one in the works. Stay tuned.

Link to comment
Share on other sites

On 6/18/2021 at 6:06 PM, flyingtux said:

Thanks for your answers, photos and sharing your work at all @walmis . I like your patched brushless servo. You made an opensource alternative to clearpath servos 😉

some questions ;-):

 

  • For the FOC, did you fork an existing brushless controler projet like vedder.se, or did you start from scratch ? (it's not an easy project at all)
  • Good idea for the cheaper wood casing. Do you think that the motors will be cooled correctly with wood (even if FOC is efficient by nature)?
  • I noticed you reduced the belt's width. I was thinking to do the same to reduce the need of "static tension" between pulley and pinion (PLA/PTEG home printed pulley). Which width do you think to use ?
  • For the main board, is it better to make an adapter with an existing FFB Joystick or using full opensource FFB board and code ? (I have 2 Sidewinder2 and one g940 I could use for that project) ? ie do you think opensource FFB firmware regarding the SideWinder 2 or g940 firmware ? What do you think to use for your project ?

 

Regards,

JP

 

 

 

 

For open source firmware there is this https://github.com/jmriego/Fino. it's fully working on Arduino Leonardo and for the motor drivers you can do whatever you want.

  • Like 2
Link to comment
Share on other sites

5 hours ago, Roller25 said:

Anybody have a completed build yet that they can show?

The hope of something here is the only reason I haven't dropped the hammer on the flawed Brunner option

 

1 minute ago, propeler said:

IMG_20210619_114732.jpg


Is this the final iteration or you still fiddling with it mate ? 🙂

  • Like 1
Link to comment
Share on other sites

15 minutes ago, Phantom_Mark said:

Is this the final iteration or you still fiddling with it mate ? 🙂

Let's call it stable release iteration. It works and can be used as functional device. But I already started working on next iteration of it based on much more powerful howerboard motors. But it will be different device and not a simply improvement of existing.

  • Like 2
Link to comment
Share on other sites

8 hours ago, Phantom_Mark said:

Is this something you will be prepared to sell as a complete device eventually maybe ?

There is good chance for it 😉

 

8 hours ago, flyingtux said:

could you share with us your EU provider for metal and plastic parts ?

I ordered part from local polish companies. https://ajmaker.pl/produkt/ciecie-laserem/ for metal parts and https://rapidcrafting.com/en/ for 3d prints. Not sure if they are international.

 

7 hours ago, Roller25 said:

Looks great! Do you have any video?

Not much yet. But I will make. What do you whant to see in it? 

  • Like 1
Link to comment
Share on other sites

1 hour ago, propeler said:

There is good chance for it 😉

 

I ordered part from local polish companies. https://ajmaker.pl/produkt/ciecie-laserem/ for metal parts and https://rapidcrafting.com/en/ for 3d prints. Not sure if they are international.

 

Not much yet. But I will make. What do you whant to see in it? 

I would be interested mostly interested in how much force the stick can provide..

  • Like 1
Link to comment
Share on other sites

  • Recently Browsing   0 members

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