My homemade FFB controller

Hi, simracer fans :)

I just wanted to show you my last project.
After seeing the Steph Bord and V8Ben videos I wanted an FFB Happ steering wheel too !

But, instead of hacking a logitech board, I built my own FFB controller:
42497761.jpg


It's based on a Blueboard LPC1768H (I have also a version for LPCXPRESSO), 34$.

The main specs are:
- 1 kHz refresh rate output signal (ie: for AMC)
- 1 kHz refresh rate for USB data coming from game (even if most games actually update the data only 60-100 times per sec.)
- incremental rotary encoder for the steering wheel position (I'm using a 2048CPR, 8192 position per rotation, on direct drive)
- compatible with G25 pedals (and shifter soon)
- configuration via OLED display (soon)
- FFB monitoring, to avoid clipping (currently via serial port, and on OLED soon)
- no need to any driver

To drive the motor, I'm currently using an AMC servo drive, but I will build my own motor controller once the firmware is finished (for brushed and brushless motors).

I also removed the mechanical stop of the steering wheel, since it's managed with the motor (the steering angle is configurable).

This setup is more strong and fun than my G25 (I rediscover rFactor that I disliked before).
I can have strong FFB effects without clipping.

I think to provide a firmware soon (maybe for few bucks or donation).
 
Last edited by a moderator:
This is a little low, it can be used only with servos of 200W or less, the vsd can manage till 1.5 KW if im not mistaken, cost more but is worth the difference, a question i would like to answer is if this system will work with a servo motor with a resolver instead of an encoder (your firmware) as i got access to one servo with it, could a resolver be used for position tracking? if not an exterior encoder could still be used i guess. thanks for the info!!
 
Last edited:
Upvote 0
Another question is that if you are going to use the granite device vsd-e for controlling the servo, the motor should be less than 1500W or could be higher?
 
Upvote 0
1500W is already MORE than enough power. You don't even use the full 1500W (P = U * I), in most cases this is about between 6A * 48V = 288W and 6A * 36V = 216W.

This is basically the power figure the systems deliver. You theoretically could use a 250W motor - the problem is: they basically all are rated foremost for speed and not torque, so with a 250W motor you'd end up with significantly less torque available. You could add a gearbox to it to get the torque you want - but that introduces other problems like e.g. backlash and adds to the cost (vs. the readonably cheap MiGe motor).

---

ad to the Resolver question: It will depend on how Mizoo is reading the position. The VSD-E can handle resolvers, quadrature encoders and more and gives you a position feedback through an API. If Mizoo uses the VSD-E for retrieving the position then it should be no problem - but if he decodes the quadrature signals by himself it won't work unless he specifically implements resolver support in his FW.

---

Thanks for the link to the gripper/clamping set - but I'd actually need the specific model number as I haven't gotten my servo yet and I'd like to buy them in advance.
 
Upvote 0
thanks fo the info bberger, lets see if i understand it correctly, the mige motor that french people is using is rated at 1 KW, but they are using 288W or 216W from psu, is this going to affect the torque? i tell you this cause i´ve seen some servos through ebay with huge torque > 10 nm, rated at 3.x KW at 4.x KW power, to deliver all the torque and speed should i got a huge psu to power the motor or with the one on the french forum is enough?
 
Upvote 0
Nah, those 36V/48V PSUs are usually rated at about 10A. The torque is pretty much in a linear relationship with the current drawn. Same goes for speed and voltage.

The MiGe motor is rated at 1.500rpm @ 220V (I think, but something in that ballpark) and is rated at 4.5A@10Nm torque. It can deliver peak torque up to 20Nm which would require a 10A power supply. (remember torque is directly related to the current being drawn). But 1.500rpm are WAY more than we need as the sweet spot for enough speed and too much speed is somewhere in the 200-300rpm area (CSW and T500 are also somewhere in this area).

So with our calculation: 1.500rpm @ 220V = 250rpm @ 36V. But the motor still has to create the torque required so we need AT LEAST 4.5A, but to be safe we need a PSU that can deliver 10A. Therefore: the motor will result in the same torque output but within safe/desired speed limits of 200-300rpm using a proper PSU.

The VSD-E can operate safely at 10A continuus and 20A peak and can utilize 12-160V. Therefore it really is a good choice and a perfect fit for our applications. The VSD-E is also very versatile as it can read many different types of position feedback and can be operated either by a setpoint voltage (analog), PWM signals or by the built-in controller via an API which makes this the perfect fit for any DIY projects. I have yet to see another controller in that price range that offers that kind of features.

---

ad Torque) 10Nm rated torque is imho MORE than enough, consumer wheels don't even get close to that figure (G27 is somewhere at 1.5Nm I think, T500/CSW would have to be about 3-4Nm on the shaft while the Frex Mk1 COULD deliver up to 10Nm with a proper motor, but with the big gearing it lacks of speed and also has some backlash built in.

Just to give you an idea on how much 10Nm torque is: 10Nm = about 1kgm, meaning that you could add a 1m long lever to your steering wheel and hang 1kg on it and the still would still hold the torque. A typical aftermarket wheel is 30cm in diameter, meaning 15cm in radius (or 0.15m). This would give you about 7Nm directly on outer diameter of the steering wheel (where you place your hands). You could basically hang a tray of sparkling water onto that wheel and it still could hold the position.

Or in terms of a picture (thanks to Stef Bord on Page 3)
To explain the torque of the wheel between 10 and 12 Nm...

347900IMG5712.jpg

Try to do that with a G27 or even a T500/CSW. Not only will it most likely break the wheel in some cases, but it may possibly even brake the table clamp..
 
Upvote 0
Awesome that things are still moving along :)

With the VSD-E + servo motor + controller + paying for the work that's been done on the drivers , are things still in the ball park of 600-800 euro ?

Keep up the good work :) If i get the chance to play AC with a decent servo wheel + 4k oculus rift I can die happy !
 
Upvote 0
Hello again!
Can someone of you French members summarise what is the current situation of the whole wheel project?
I have read the racingfr.com forums using the google translator but it doesnt work that well :)
There seems to be problem with the motor not producing not enough torque?
is this because of PWM control? Why analog controll was changed to PWM control?
Someone also mentioned that the VSD-E went crazy when the wheel was on the "end stop"?
What effect does the power supply have bigger the better?

Thanks,
TT
 
Last edited:
Upvote 0
The motor has enough torque but the calculation of continuous current (manual VSDE) is, for an AC motor, "Peak of sine", so to have the constant torque for the MIGE you have to indicate to the VSDE 6,36A and not 4.5A...

PWM control is more precise.

Magic has problems with his steering wheel. He uses 8 butons connected to the BB. We search, probably interferences...

The power supply voltage induces rotation speed, the current, servo-motor maximum torque.
 
Upvote 0
Do you use the provided serial API to control the motor or do you use the analog input signals? I'm actually planning on using the API and ultimately wirting a virtual joystick driver for windows (KMDF) for that baby. Are there any known problems?
 
Upvote 0
Wow, this looks great! If this firmware will ever be released, i will seriously consider buying all the required hardware and try this myself.
One question: How do you connect the rotary encoder to the MIGe servomotor? (when you are connecting the wheel directly to the servomotor).

Kind regards,
André
 
Upvote 0
2500pulses per revolution means that in X4 mode (counting both rising and falling edges) you will get a resolution of 10,000 counts per rev.

That's about 150 times more resolution than a G27 encoder can provide (G27 encoder is about 60ppr) and more than enough (8,192 steps in the driver don't mean that there are actually 8k counts for 900 deg, if you look closely you will see that it jumps some counts every degree).

With true 10k counts per revolution you can measure the position to a better of 0.036 degrees (!)
 
Upvote 0

Latest News

How often do you meet up (IRL) with your simracing friends?

  • Weekly

    Votes: 50 9.2%
  • Monthly

    Votes: 26 4.8%
  • Yearly

    Votes: 32 5.9%
  • Weekly at lan events

    Votes: 3 0.6%
  • Monthly at lan events

    Votes: 2 0.4%
  • Yearly at lan events

    Votes: 13 2.4%
  • Never have

    Votes: 427 78.5%
Back
Top