FFB Journey #001 – Building an Force Feedback Joystick

Categories: Allgemein, FFB Joystick, Flight-Sim, Projects

The Introduction

Since I started flying in MSFS (Microsoft Flight Simulator), Xplane or DCS I’ve been striving for more realism. I want to be as close as possible to the real thing but without the actual need to spend tens of thousands on a Private Pilot License. Even if I had one, there still would be some aircrafts out there that I won’t be able to fly.

I started with my dad’s old joystick but quickly realized I needed something better. The first upgrade I made was investing in rudder pedals. Then, I built a Cessna 172 simulator. I even added real throttle and mixture controls, which cost more than the rest of the simulator but made it feel much closer to the real thing. However, one thing still bothered me: the yoke. At that time, I was using the Logitech Flight Yoke System. It was better than nothing but far from realistic. Its movement was limited to 45 degrees in each direction, and it felt very cheap overall. Eventually, I upgraded to the Honeycomb Alpha Flight Controls Yoke, which I still use and like very much. But it still lacked something. Trimming wasn’t realistic, and I couldn’t feel the forces on the flight control surfaces. So, I decided that I needed a force feedback yoke.

The first failed attempt

This all happened back in 2021/2022, during the pandemic and the surge in popularity of MSFS2020. When I first started my research, there were very few projects of this kind available online. The most promising ones involved modifications of old Microsoft SideWinder Force Feedback Joysticks. I considered those, but I was concerned that they wouldn’t provide the force I wanted. They had small motors and drivers not designed to handle the torque levels I aimed to achieve.

I quickly realized I would need to develop something myself. Drawing inspiration from the Microsoft Joystick, I chose DC motors and designed my own motor torque controller capable of handling 10-20 amps. I created prototype drivers and got the hardware working. However, I encountered software issues that caused extreme oscillations, which I couldn’t resolve with my knowledge and experience at the time. Additionally, I disliked the cogging of the DC motors, which made the flight controls move unevenly. As a result, I decided to put the project on hold.

A new hope

Yes. Pun intented. Interestingly, force feedback has been a thing for a while in the sim racing community. There are a lot of force feedback solutions out there. There are even some really good diy projects with high torque motors and suitable controllers. This discovery gave me a new inspiration and so started my investigation into how those force feedback wheels work and how I can transform this into a joystick. It could not be so hard, could it? I mean, it’s just two FFB Wheels screwed together. This cannot be so difficult.

Well, the deeper I dug, the more complicated it got. I need the correct motors, I need a motor controller that fits and I need the mechanics to combine it into a working unit.

With a multitude of motor types to consider, including steppers, permanent magnet motors, and brushless DC motors, I discovered that brushless DC motors are predominantly utilized in racing wheels. These motors are particularly well-suited for such applications due to several benefits they offer: minimized cogging, increased torque, potentially higher efficiency, reduced noise, and enhanced controller capabilities.

The next challenge was selecting a suitable controller. Many controllers available are primarily designed for speed control, which wasn’t ideal for my needs. Instead, I required precise torque control, which presented its own set of challenges. Field-Oriented Control (FOC) emerged as the optimal solution for this requirement.

Field-Oriented Control (FOC) is a method employed for the precise control of brushless DC (BLDC) motors. It operates by converting motor currents into a rotating coordinate system, enabling accurate calculation of the necessary current for each motor phase to achieve desired torque levels. Additionally, FOC facilitates speed control by adjusting these currents accordingly.

For effective operation, FOC relies on feedback from the motor to determine the required adjustments. This feedback is typically obtained using high-resolution rotary encoders, which provide detailed position and velocity information of the motor shaft. The implementation of FOC involves complex mathematical calculations to ensure optimal performance and efficiency.

Here is a great video by Matan Pazi (not mine) on how FOC works:

In my pursuit of developing a force feedback (FFB) system, I opted to utilize an existing controller known as the O-Drive. This controller is specifically designed to support FOC and has been widely adopted in various FFB projects. Its capability to handle the intricate calculations and control mechanisms required for FOC makes it a suitable choice for achieving precise and responsive motor control in my project.

DIY or buy

So the question is: Should I build it myself or buy one?

Regardless of the option I choose, both paths are likely to be quite expensive. Purchasing has the advantage of reducing the time required for designing hardware, software, and electronics, and there are excellent options available on the market. However, there are long waiting lists for ready-made solutions, and this approach lacks the personal challenge I seek.

I’ve decided not to start entirely from scratch. I’m eager to have something usable relatively quickly, which led me to purchase plans for the FFBeast Joystick. This joystick is available fully assembled or as plans and software for DIY assembly. This approach allows me to leverage existing controllers and mechanics that can be customized to suit my needs. Nevertheless, it still requires significant effort and time investment, with no guarantee of success. Moreover, this DIY route is nearly as costly as opting for a pre-built solution but as lonng as i can keep it in the triple digits, it’s okay.

My reason to chose the FFBeast over the other designs is simply the amount of force it can put out. It utilizes a solid aluminium frame and the core is made out of steel parts. This is pricier than the 3d printed alternatives but also much more durable.

This is the basic structure with some modifications I already made to mount the bigger motors.

Next steps

I’ve already placed orders for some parts, including the motor controller. The next phase involves testing whether the motors I currently have are powerful enough for this particular application. I’ll keep you informed about further progress on this project.

Thank you for your interest in my projects. I hope this information proves helpful or at least enjoyable for you. If you have any questions or ideas, please don’t hesitate to contact me. I look forward to hearing from you!

«
»

    Leave a Reply

    Your email address will not be published. Required fields are marked *