The LifeOn2 FFB Wheel Controller

Pax7

LifeOn2 Development
Hello All,

After a number of months of research, planning and implementation I am happy to present the results of my latest project: implementation of a FFB wheel controller.

The controller is built around an ARM 32 bit RISC processor, the Cortex M3. The M3 has a wealth of peripherals, including an USB 2.0 interface, which I have programmed to communicate with a PC host. The Cortex M3 is paired with a base board which has an electric motor drive stage and monitoring capabilities. The drive stage can be controlled via the Cortex M3 to power a variety of motor types, including brushed DC motors (Found in the Logitech, Thrustmaster, Fanatec, Frex and ECCI FFB wheels) as well as brushless servo motors. The drive stage can output 300W, which is more than the Fanatec CSW and I think also the Frex TypeG and ECCI 7000.

My plan has been to use a high performance type servo motor also for this initial FFB controller prototype, but as sourcing of a servo motor with the specifications I wanted has been an issue, I decided to use a brushed DC motor instead. I will drive a proper servo motor going forward.

The status of the project now is that I have a FFB controller capable of driving a brushed DC motor (the FFB) and reading of a rotary encoder for steering wheel position.
I have also worked with a brushless DC motor, which is closer to the type of servo I will use going forward. But, as the BLDC motor has some properties not suitable for FFB application, I use the brushed DC motor instead for now.

I have furthermore implemented USB communication between the FFB controller and the PC, and the FFB controller presents itself to the PC as a FFB device. I have followed the specification from USB-IF on FFB/haptic devices. This means I did not have to implement USB device drivers in Windows, as Windows includes FFB device drivers for USB-IF FFB/haptic devices.

The drawback of using the USB-IF specification is however that the specification and its communication protocol is quite complex and has too many features not used in an FFB simulator steering wheel.

Here is a screenshot of the FFB controller (wheel) attached in Windows 7:

Game_Controllers_Window.jpg


The FFB controller is capable of receiving FFB commands at 1000 Hz, and it can report wheel position to the PC at 500 Hz. I plan to increase that to 1000 Hz too though.

Below is a video I shot earlier tonight of the FFB controller connected to the brushed DC motor and rotary encoder and used as a FFB wheel in iRacing.

As you can see, I have not bothered to attach any gearing and other devices (belts etc) to create a proper wheel, but the important stuff is all there. Gearing and other mechanical stuff are the easy parts... ;)


Some eagle eyed readers might recognize the motor, rotary encoder and bracket - they are taken from a Frex SimWHEEL MkI. I have a broken SimWHEEL standing in the closet, so I thought it could come to some use... ;)

-----------------------

In addition to switching to drive a servo motor, I also have other plans which I hope to be able to share/demonstrate the results of going forward.

Thanks,

-----------------------

PS. I will share a bonus photo; this is the LifeOn2 Development work place, where most of the more hardware oriented work is done :)

LifeOn2_Development_Workplace_1280.jpg
 
Some interesting thoughts, but I don't know if I agree with your two assertions.

A real steering rack is not infinitely stiff, so that when forces are experienced at the wheels on the road they are not transmitted instantly in the temporal domain or at their peak load. What happens will be that when a force is experienced at the wheels, it will begin to transmit load to each of the mechanical components of the rack in turn, and apply compression, tension or torque to them. The result of this at the steering wheel should not be an instantaneous force at full load, but a build up of force over time until the balancing load is reached. There will also be stored energy in the rack components and you will get some oscillation as this is dissipated through the rack and the components interact with one another.

Now, different steering mechanisms and geometries will behave differently, and I could not tell you what the time domains of these effects would be. All I am suggesting is that you would not experience full instant torque at the steering wheel from an effect on the road wheels. In reality there would be a build up of force over time and some lag.

Your concept of using two drives in a push-pull arrangement is interesting (I think some wheels do this), but I could foresee some issues. Firstly you can't direct drive the wheel from a single motor shaft anymore, so you would have to have to use a belt or gear drive which would introduce flexibility and backlash into the drive train. Secondly each drive would have to be clutched in some way so that it only drives the wheel and not its matching motor, otherwise when the 'left' motor starts up it would be trying to decelerate the 'right' motor before being able to accelerate the wheel and its opposing motor. A clutching mechanism would not be instantaneous and would be lossy also, so combined with the additional drive train needed you may not be any better off (and may be much worse off) than a direct drive system.

Maybe there are some clever ways around this?
I meant oscillation and inertia due the motor slowing down, speeding up or reversing direction. Just two motors 'pushing' against one another so you could much more quickly stop, start and reverse the direction of the wheel.
I think it's really the changes in speed and direction that it would help. Also you wouldn't need clutches just two motors and a belt for each motor running onto the steering shaft via pulleys.
it's just that when the steering wheel moves it creates inertia and so does the motor. It would be nice to reduce both as much as possible and have a steering wheel that can sense the torque you're applying not just speed and position.
Am I making myself clear?! Perhaps I've missed something but it's just an idea.
 
Upvote 0

Latest News

Are you buying car setups?

  • Yes

  • No


Results are only viewable after voting.
Back
Top