Yes, agreed. The 0.01were a bit exaggerated 12bit ones however are pretty common so we could achieve 0.08 degree precision with direct drive or 0,03 degrees with a 1:3 Ratio. With a higher Ratio, you could also reduce the encoder Resolution.
You do not learn this at University. At best, you learn at university, how to learn this when you have to do it in real life as part of your employment.
I donāt now how long along you went to University - but I doubt if that is really a factor.
My advise to you would be
- Donāt try to re-invent a square wheel
- KISS. lots of great Motor Control I/c out there what will do most of the work.
- If it seems complex and difficult to do, you are trying to do it incorrectly.
May the FORCE be with you
I know, for some reason they donāt sell them without controller.
But I might give it a try, anyway.
If you get a motor with a shaft up to 8mm you could use the AMT22 which is an absolute encoder, in that way you donāt even need to find the starting point.
I was indeed considering direct drive for the roll axisā¦
The Microsoft Sidewinder II FFB Joystick used simple DC motors, and pots for the feedback encoders.
The Thrustmaster āTop Gunā FFB Joystick ā not opened mine up yet - but on Power up, it does go through a movement Initialize sequence, that may be it Homing steeper motors ? (or maybe just some other form of āpower upā calibration)
In any case, the Sidewinder has significantly stringer forces than the more whimpy Thrustmaster.
But with DC motors you also need a kind of coupling between the motor and the yoke. DC motors cannot be used in stall conditions, so for generating a steady force to the yoke, the motor must spin. This solution will be possibly noisy and not very precise. This was also the only solution over 20 years ago, since stepper/BLDC motors with dedicated controllers were too expensive and complex at that time.
Uhhhā¦no? Why? In all FFB devices I have seen the DC motor is connected directly to the shaft.
This is the haptic device controller Iām using in my tests:
The application haptic model defines the function of the device. For example, it is āspring modelā for yoke pitch and roll axes, and āmulti-detent leverā for flaps lever.
Simulator data calculates and sets the current reference position of the device. For the yoke, the reference position defines the current yoke axis position. Force feedback data changes this position constantly.
DC motors are not meant to work this way. Motors draw maximum current in stall and can easily overheat (especially brushes themselves). Of course this danger can be limited by applying lower voltage at these times. Another drawback is that in stall condition the torque heavily depends on the current rotor position, and this is changing all the time.
But this is not working as a standard HID device, isnāt it? Because on a HID joystick (or yoke) the simulator defines the effects active with the amplitude/coefficient but not the actual torque.
I mean, the simulator activates the spring effect, the device receives a packet saying that spring is enabled, the central point is X and the maximum amplitude is Y, and a coefficient Z.
Then the device will calculate the current position - X, multiply by Z and limit to the maximum of Y, and use that value as ⦠control, which is normally a PWM on the motor power, plus direction.
With a DC motor, of course.
If the feedback is on the current, then it should not be a problem. PWM would reduce the duty cycle automatically to keep the current to the desired level.
Iām not saying that it is not true, but is it such a big effect? Since all consumer FFB devices seem to use DC motors, I wonder if it is something that you would really notice.
Well it is connected as standard HID device. Note that standard HID does not define, what data is transfered.
In my device, a piece of software gets some simulator variables using SimConnect library and transferes them to the board controller via USB HID.
In the other direction, some data is transfered by the same way to the simulator, but also a standard USB joystick interface is used here.
Just as a sidetone: I bought the NEMA34 116mm Stepper Motor and will report if this is usable as a direct drive (which would mean I could scrap my Yoke design⦠again ). That would really simplify the design.
I will also buy the AMT13 Encoder, the AMT22 seems to be sold out everywhere. Unfortunately the mouser only offers free shipping at 50ā¬ā¦ anyone interested in a group buy? Otherwise I will directly buy one for each axis.
The Shaft Adapter is fairly easy to print, so I will not order one but directly adapt it for my motor.
Have you seen the Iris Dynamics Yoke that was around a few years ago? They did develop and use a Electromagnetic Linear Actuator, iirc. I have one of the kickstarter examples and combined with XPForce or FSForce it is quite a joy and extremely realistic. Hereās a link to the announcement from 2013 https://irisdynamics.com/iris-dynamics-ltd-announces-release-of-worlds-first-affordable-force-feedback-simulator-yoke/
No I never thought about something like this!
Itās really a great idea⦠and seems DYI-able enough. I guess they put magnets inside the shaft of the yoke over the whole length to have a constant magnetic field over the entire movement and then they just apply the power on the coil outside. And the roll axis is done with a stepper, by the way, from what is written.
āI guess the project is somehow dead? On kickstarted everything seems stopped since 2013, no?ā edit: no I see they are actually selling them.
While searching info on that I found also this:
which is a brushless motor ⦠flat on a rail.
Really interesting ideas.
I also have ordered a 4Nm NEMA 24 closed loop servo. Iāll see what I can do with that.
I wish I could join you, but⦠how are you going to adapt a 1/2" shaft to a 8mm hole with a printed adapter? Unless you are thinking to use the adapter also to couple the yoke shaft to the motor?
Iād be willing to tear it apart and get some shots for you, if you like. It is very very smooth and because of the āfloatingā concept, there is literally no detent.
Not much has really happened in this company since 2013. I cannot even find on their website the force feedback joystick they have developed some years ago. For some reasons, possibly economical or because of too much complexity, their ideas didnāt find applications in consumer products, although they tried to sell them to other companies. Anyway, a smart DIYier may want to try it.
I have ordered a few magnets on ebay to make a try, but my main design would remain for now with the motor (stepper or BLDC, whatever I manage to get running properly). But I would be curious to see how they deal with the roll axis, since from the pictures on the website I donāt understand if they are moving also the roll axis motor together with the yoke shaft or if they transmit the rotation in some other way.
What I would like to try (just for fun, at this stage) is a sort of linear rail using that principle, with a stepper driving directly the roll axis moving on a platform. So something like this
Just another idea. One of the many
So, waveforms are finally there
This is while rotating freely, so Iām not using the potentiometer as encoder, or the hall sensor either. Iām just going through the sine tables.
Letās see where I go from hereā¦
What commutation model have you applied? It is not strictly sinusoidal commutation, since each waveform gets the value 0 throughout 1/3 of its electrical period. In the normal sinusoidal commutation, each waveform would be sinus throughout the whole period, with the lower peak at 0 and the higher peak at (supply voltage) * (max PWM duty ratio).