I have recently bought a DJI Mavic Mini, played with the SDK, created my own App, interfaced a Microsoft Sidewinder force feedback joystick to it…
And finally jumped to the idea to create a force feedback steering wheel to play with…
So today I acquired an old hoverboard and extracted the motor, which is really nice !
I know that this is not a simple project… Il will have to find a way to implement a Forcefeedback controller (PC side) and then to decode the “force commands” sent by the PC to feed them to SimpleFoc library to implement “force effects”. I do believe that starting by Foc torque control would be fine ?
I still have a lot of questions regarding the hardware side:
what kind of driver should I use ? Vesc ? B-G431B-ESC ? (many DIY ffb Wheels use these devices)
a custom made board (how hard is it to build one for this kind of motor ?)
Any advice or guideline would be apreciated !
For the ffb interface I’m using a Arduino Leonardo with this on it https://github.com/jmriego/Fino, the guy over there is pretty responsive, already has a issue opened to support wheels, if you reply to him in there, and tell him that you are interested in support for steering wheels he probably will implement it.
Hoverboard motors with voltage/torque controll are pretty good for ffb because the seam to have very low cogging torque and are about 10Nm of torque.
If you have more questions or are interested in my driver board development, just ask me.
Many people have used the B-G431B-ESC, the price is good - but it is very compact and can be hard to use…
Making your own board is certainly possible, and a cool project - personally, I certainly like designing these boards - but it does take some time and effort, so it would be more like its own project, I think… I would not see it as being on the direct path to making a steering wheel - more like a major detour…
I also used the g431b-esc and a good solution I found for the small solder pads, was to use some molex 2510 PCB mount connectors and bend the outer pins to the inside and solder them in a 45° angel to the solder pads. Unfortunately I don’t have a picture of it at the moment.
No it currently doesn’t handle this. On the one hand I don’t think the adaptation would be such a problem because SimpleFOC cares about electrical angle primarily for the commutation, and there are many electrical revolutions per full turn.
However I think you gave a different problem. For the electrical revolutions the physical Setup of how a motor works guarantees that there is always an integer number of electrical revolutions per full turn. For your setup, what guarantees this? Even if the rubber wheel size is chosen to be an integer multiple of the shaft circumference, it won’t be that precise, and you‘ll have small amounts of slip, meaning you’d lose the motors electrical zero… over Time the errors will add up and the commutation will become increasingly inefficient and eventually stop working.
There was another thread recently discussing a similar idea, and the consensus there was also that it’s not a good idea to separate the FOC sensor from the motor shaft…
I think it would work if you just multiply the reduction ratio with the 4096, so if you have a reduction of 1 to 6.6 you just multiply 4096 times 6.6.
In this setup I would worry about the rubber wheel slipping. I disassembled the motor and in the housing with the magnets I drilled a hole trough the middle off the housing where the bearing is, now you can mount a magnet to the shaft and attach the encoder to the housing.