What is a torque control loop

Hello everybody! I am working on a ffb wheel for games and now I want it to be quite precise. Right now, I am experiencing the problem of this thing called "budget". Ok, so the problem is for example I would go at high speeds in the game and because I use a heavy steering wheel when the motor would start to turn and at peak speed when it starts to slow down the inertia of the steering wheel would still be rotating the wheel still at the same speed which for obvious reasons is a problem. I know companies use expensive servo motors to do the job but I "essentially" have a servo motor here. I have a potentiometer hooked up to the motor for constant feedback and an H bridge driving the motor. I've heard companies use something like a torque control loop or something like that, but the problem is I never I have zero idea what it is. I can't find any information on google about it. By the way I already have a PD controller implemented and tuned but it simply isn't enough. So if anybody know what is "direct torque control" or "torque control loop" and knows how to implement it that would be great!

Your automobile power steering system is a torque control loop.

But what is it in terms of ffb and how to implement it to a arduino wheel?

Neither Google nor I know what a ffb is. Perhaps a torque control loop is not what you need for your project.

FFB is short for Force-Feedback. In a racing game, games typically return FFB. So most wheels on the market today have Force-Feedback. That is for example when you drive a car and go into a turn, you turn the wheel and once you let it go it self-centers. FFB is having a motor turn the wheel according how the game send you the signal. The problem is games dont return the exact position of where the wheel needs to go. It only returns a singal from 0-500 depending on how fast it needs to rotate. And it is not an RPM value.

When stalled, the torque of a brushed DC motor is directly proportional to the current flowing through the motor windings.

The 0-500 FFB signal you mention is probably meant to control the current flow through a custom motor, designed to operate continuously in a stall condition.

Most off-the-shelf motors won't tolerate being stalled for a significant length of time, unless you use current-limiting drivers.

I mean for most of the time ffb motors are in a stall condition(since you turn against them for most of the time) I mean but I don't get what are you saying. Sorry for the broken english(it is not my first language). But how do you get it to be constantly stalled. As far as I know when you stall the motor it doesn't rotate. I don't think that is the problem, I've looked at the response ratio ffb and speed and it is completely linear(At no load) so inertia is the problem. But how do I solve it and would a torque control loop solve that issue?

It probably uses a torque sensor to calculate the rotational/physical resistance you feel.

Sorry, but that movement is a direct function of the camber of the wheels. That same movement occurred on Dad's 1922 Ford model T.

1 Like

Correct, but the motor exerts a torque directly proportional to the current flowing through the motor windings.

Yeah I understand that but I don't understand how do I get rid of the inertia.

Inertia is a fundamental property of mass, and cannot be changed. You are probably not using the term "inertia" correctly, so please describe the actual effect that you are trying to reduce.

Sorry for the broken english. Ok, so I don't want to change it. What I am suggesting is for example maybe I can put the motor in reverse for just a little bit to provide resistance for inertia. I don't know how to explain it better.

That is a meaningless phrase. Don't use the term inertia if you don't know what it means.

Ok so I can give you the full picture. So for example when the wheel tries to center it overshoots because of the inertia of the wheel and when it tries to center again it overshoots and goes into a cycle. And it's not about damping. Tried damping didn't work.

You are simply describing the behavior of an improperly tuned PID controller.

There are countless tutorials on line describing how to implement and tune a PID controller, so spend some time researching how to do that. The search phrase "PID tuning" should help.

Then how do I tune and adapt it I've said it more times than I can remember. I don't have a setpoint only a signal which depending on the speed of a car. For example when if I am going 300kmph in the game and I turn the wheel by 2 degrees I get the same signal if I went 40 kmph and turned the wheel fully. So It doesn't simply have the precision.

Start by studying tutorials on PID tuning, and follow the directions. It is not complicated.

Don't waste your time with further posts until you have the background.

Keep in mind that if the mysterious mechanism you have is not properly designed and constructed, PID probably won't work well.

I will try to tune it once again and come back with data from the Serial monitor about the P I D factors.

Show the code you are tuning here.