Viewed 66 times
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.
asked 13 hours ago
2122 bronze badges
- 2PWM is a mechanism of control, not a mode of control. – DKNguyen 12 hours ago
- 1What is 775? Provide link to datasheet. If it standard motor, should be standard way to control it. – user263983 12 hours ago
- 1Edits added to post. – Doon1 12 hours ago
- If the motor is usually stalled, meaning 0 rpm, what is the speed range if you use the pedal, from 0 rpm to max speed of 775, say 12000 rpm, no gear, one direction or both direction? For DC motor, PWM using motor drivers, such a L298N for hobbyists, to BTN7971B, for pros? I would suggest to start with the motor guy Pololu: pololu.com – tlfong01 12 hours ago
- 1Limit the current to a safe level for a stalled motor and measure the voltage across it to see if it’s stalled or not? – winny 12 hours ago
- 1I feel a clutch might be simplest here. Probably via spring loaded plastic collar clamp. – DKNguyen 11 hours ago
- 1I had considered using an electromechanical clutch that could be controlled via a PWM signal to control applied force. I have wheelchair motors that I am using for my Stewart platform that have clutch brakes attached to them. Not sure if there are ones available for this small an application. I passed on the idea because I didn’t want to have to design and build one myself. – Doon1 10 hours ago
- 1@Doon1 You’re thinking too complex. Not electromechanical. Just mechanical. Have the geared output shaft connect to the pedal through a slipping clutch and have the position feedback element on the pedal, not the motor shaft. Would that not work for some reason? – DKNguyen 10 hours ago
- 1@Doon1 I like the idea of a variable pitch propeller churning fluid…but you know…over-complex. Especially when an opposing hydraulic pump would work better but not as cool. heh. – DKNguyen 10 hours ago
- 1If you are only using it to resist the motion of the pilot, then you could use a powder brake instead of a motor. A powder brake provides resistance torque only and torque is proportional to voltage or current. The current required by the powder brake is very modest compared to a motor. Almost like a control signal. – mkeith 10 hours ago
- magne-power.com/content/26-how-it-works – mkeith 9 hours ago
- I agree with Marko that it is not clear how you would provide haptic feedback using a motor unless you also have a position controller implemented. – mkeith 9 hours ago
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.
answered 12 hours ago
129k33 gold badges4949 silver badges168168 bronze badges
- 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. – Doon1 11 hours ago
- That is all correct. You need current control but also to define force vs position and acceleration. – Tony Stewart EE75 11 hours ago
- Is max speed end to end time is 6 seconds? or 3 sec to 2 cps then 3 s to 0 cps. – Tony Stewart EE75 10 hours ago
- 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/… – Tony Stewart EE75 10 hours ago
- 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. – Doon1 8 hours ago
- Oops. Past the edit time. I’m using an Arduino Mega2560 as the computer interface. From which is provided a digital output for motor direction control and PWM output. The Arduino is connected to the L298N. Which in turn is connected to the motor. This all works. I can leave the motor direction control on the L298N and move the PWM output to a PWM to current control device. Is there such a device. If so, what is it called? – Doon1 8 hours ago
- Does motor have enough torque with L298N? – Tony Stewart EE75 7 hours ago
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.
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.
Let suppose you do take a RC servo motor with a custom controller board and own firmware.
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.
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 m