What PWM frequency do I use for my large high torque geared motor

Hi! I'm trying to use the motor given here: Mega Torque DC Planetary Geared Encoder Servo Motor 250W 300RPM 18VDC 92KGCM (RMCS-2013) – Rhino Motion Control Solutions with a 24v 8.8a power supply and the motor driver shown here: Hercules 6V-24V, 16Amp Motor Driver with built in current se - Nex Robotics

I wanted to know what pwm frequency would be suitable for this motor? I've ran it with a script that has a pwm frequency of 500hz and the motor did not move but with a frequency of 225 it did. But shouldn't the pwm frequency be higher for the motor to motor or should I decrease it further as I've seen recommedations of frequency as low as 5hz but also recommendations of 8khz and more? I don't really understand what to do here so any help is appreciated!

The motor has a stall current of 130 Amp. Neither the power supply nor the driver looks good for that.

Wait so how do I run the motor? I don't have any power source that can supply that much current

I would suggest a GOOD 12 volt automobile battery and charger would work good. Be sure the wiring can handle the current. The controller has built-in current limiting, so the actual current would be whatever the controller is set to limit. Remember you have a SERVO motor and controller, NOT a regular DC motor.

Actually THREE would be good. "DC SERVO MOTOR DRIVER 40V 20A W/T STEP/DIRECTION INPUT".

Perhaps the OP will be willing to disclose his application for such a beast!

Would it be possible to do a soft start with my current power supply by gradually ramping up the duty cycle to 100% and then bringing it down to the desired speed?

From the motor manufacturer's webpage:

We recommend current controlled drive of Max 20Amps to be used with this motor so that it will not damage the gearbox. Gearbox is as such robust but cannot sustain if the motor is stalled which is rare case only.

To control the position of the motor and the speed, our DC Servo Drive RMCS -2301 is recommended to be used with this motor.

Probably NOT!. Do you understand how a servo motor works? It uses phase differences between windings to cause the armature to move and hold position. That is how the get so many "steps" without using a stepper motor. Your Arduino is talking to another computer that is in the controller. It will always use the same power to move as to hold position.
There is NO reason for you to not try using your power supply. You will soon know if it works or not. The given stall current will only be required when you stall the motor under load, which we have no clue what you are moving with the motor. The stall current for the motor will never be used by the controller that you are using. The controller specifications give you the limit for itself.

I'm using it in a differential drive robot so the motor will always be under load due to the weight of the chassis

Sorry to tell you the load on the motor is only there when the robot MOVES! Weight has nothing to do with the motor, only torqued required to move the weight.

I'm sorry but I don't really understand why a soft starter can't be used? I'm not sending commands to the servo but to the motor directly, and since the stall current is a function of the voltage being supplied then if I give it a PWM that for example corresponds to 1v then the stall current would be around 7 amps (assuming the stall current decreases linearly). From there I can simply ramp up the voltage gradually and use the motor's inertia.

Please draw a block diagram of what you are proposing. You have a servo motor that REQUIRES a controller to operate.

@Paul_KD7HB
Untitled Diagram.drawio(1)
It will be like this with the arduino gradually ramping up the pwm duty cycle, starting very low to reduce the stall current and then ramping up to the desired or full speed

Also wait, why do I even need to consider the stall current in the first place. The load that is going to be on the motor will NEVER cause the motor to stall. It's a mere 4kg. I should be able to run the motor just fine and my smps should be able to supply it. My issue is that the motor doesnt rotate continuously(which is what i want). I've used another driver(cytron) and it worked fine but I dont have that driver right now nor can I purchase it at the moment. Where am I going wrong with this?

You have gone wrong from the start by designing your thing from the top down and then trying to debug a completed system. Start over with JUST the controller, motor, power supply and Arduino. Get the code to control the motor as you need. Then add to that working code, a single new feature at a time and get that to work. Sorry to be so blunt, but designing from the top seems to be the way people work now days.

That's a fair point. Does this mean I have to replace the motor, and could you please answer the above question too? Why do i need to consider the stall current if I'm not stalling the motor and why exactly is a soft start not possible?

To get the best out of that motor, you need such a power supply. But you probably don't need a motor that powerful, unless you are planning to ride on the robot.

Why do i need to consider the stall current if I'm not stalling the motor

A brushed DC motor briefly draws the stall current every time the shaft starts rotating. If the shaft is not rotating, it is by definition stalled. This is a fact of life.

This web site has calculators that help you to choose a motor suitable for the robot, rather than the other way around.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.