2
\$\begingroup\$

I have built a force feedback rudder pedal unit (for a flight simulator) using a DC motor. It's a small size 775 24v motor. I am currently using a PWM to run it via a L298N motor controller. As the unit is often held in a stalled state, I was wondering what the best method would be to deal with it. PWM, current control, voltage control, or some other method?

EDIT: this is the motor. https://www.amazon.com/Power-12V-24V-Torque-Bearing-Driver/dp/B086Z47DLJ/ref=sr_1_5?crid=21M4SNU6J5NGP&keywords=775+dc+motor&qid=1645453978&sprefix=775+dc+motor%2Caps%2C68&sr=8-5 it's geared to the rudder center shaft 10:1. This is for my home-built flight simulator. I fly in VR. Am currently building a Stewart Platform to put it in motion.

\$\endgroup\$
12
  • 3
    \$\begingroup\$ PWM is a mechanism of control, not a mode of control. \$\endgroup\$
    – DKNguyen
    Feb 21 at 14:13
  • 1
    \$\begingroup\$ What is 775? Provide link to datasheet. If it standard motor, should be standard way to control it. \$\endgroup\$
    – user263983
    Feb 21 at 14:16
  • 1
    \$\begingroup\$ Edits added to post. \$\endgroup\$
    – Doon1
    Feb 21 at 14:38
  • 1
    \$\begingroup\$ Limit the current to a safe level for a stalled motor and measure the voltage across it to see if it's stalled or not? \$\endgroup\$
    – winny
    Feb 21 at 15:03
  • 1
    \$\begingroup\$ I feel a clutch might be simplest here. Probably via spring loaded plastic collar clamp. \$\endgroup\$
    – DKNguyen
    Feb 21 at 15:14

2 Answers 2

2
\$\begingroup\$

You do need a current controller This is a PWM voltage output with current shunt resistor to measure the current and a PI type controller for following the current setpoint.

The motor itself has to be low speed & high torque, since the velocity is near or equal zero. As the motor doesn't spin and therefore the built-in fan doesn't cool the motor, you have to de-rate the nominal current such that motor won't overheat.

EDIT:

But it is not clear, how a DC motor would give you a haptic feedback on a rudder. With a simple current control, you will control the torque, which can reverse the rudder position. You would have to implement also a position controller that will add a force proportionally to off-center move.

Source of images

enter image description here

enter image description here

Let suppose you do take a RC servo motor with a custom controller board and own firmware.

schematic

simulate this circuit – Schematic created using CircuitLab

The setpoin position is always 0 degrees, so the motor always force the joystick to neutral position. The input command of the "new" firmware should be the gain parameter Kp of the position loop. More gain, more force if Kp=0 then the motor does nothing.

EDIT 2:

You could use a STM32 Nucleo board which already has the demo for joystick HID USB device (including Windows device driver) then you add some Nucleo motor control board and you hook up joystick potentiometers and you scrap the RC servo using only the gearbox and the motor, or alternatively you do use your motors.

\$\endgroup\$
1
\$\begingroup\$

This motor is rated for 12,000 RPM which will spin a lot of cooling air at rated power loss. So I presume you have factored torque by using the necessary pulley ratio to meet your static force and dynamic speed expectations.

Current always controls static torque and moving acceleration, so with position feedback you will want to use a variable current limit control and pulley ratio that will not cause overheating.

Voltage controls steadystate speed for any given load but is usually defined by no-load RPM per volt or kV/RPM.

I only looked at one servo video and was not impressed with the realism for foot pedals.

My advice is spend more time on defining how it should perform for force vs distance and friction that causes hysteresis in force changing direction and the amount of slack you want. Then define minimum time to sweep full swing peak to peak with distance. Then mathmatically it will be possible to compute the motor power needed for moving and stall current, heat rise and be able to optimize the design, rather than band-aid solutions with slow heavy sloppy servo gears, wire or pulleys and unsatisfactory results.

It is not like silent spring force nor an overdamped noisy friction pulley, but something in-between.

\$\endgroup\$
7
  • \$\begingroup\$ You used the term "Servo". I'm assuming you are using that term as an overall description of the system and not servo as a component. I've already established that using a positional PWM controlled servo is not a viable solution for this project. I will calulate the max speed of the motor but 120 RPM is probably an accurate guess. max distance is about 10 to 15 rotations. \$\endgroup\$
    – Doon1
    Feb 21 at 15:57
  • \$\begingroup\$ That is all correct. You need current control but also to define force vs position and acceleration. \$\endgroup\$ Feb 21 at 16:08
  • \$\begingroup\$ Is max speed end to end time is 6 seconds? or 3 sec to 2 cps then 3 s to 0 cps. \$\endgroup\$ Feb 21 at 16:15
  • \$\begingroup\$ There are many good and bad ways to implement a servo system. It can only start with great specs. (complete for p, v, a vs t and force friction) Pick one bing.com/videos/… \$\endgroup\$ Feb 21 at 16:25
  • \$\begingroup\$ It seems the answer is to use current control to supply the force. Because the stall current will never be greater than the current supplied. As the control mechanism is PWM, I will need to turn that input into a current regulating device. off to Amazon. \$\endgroup\$
    – Doon1
    Feb 21 at 18:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.