RoboClaw for Torque Controll Application

Hello, I am currently in the process of building a robot which requires torque control in some applications. Can I use RoboClaw to achieve that goal or combine with some other items to do that?

Hello.

You should be able to use a current reading as a means approximating motor torque (since current and torque load are related). You could use the RoboClaw to get the motor current, or you could use an external current sensor like our ACS711EX Current Sensor Carrier -15.5A to +15.5A with another controller or driver. More information about the “Read Motor Currents” feature of the RoboClaw can be found on page 44 of its user’s manual. If you can tell me more about how you plan on controlling your system and what you want to have the system do, I might be able to offer some additional advice.

-Derrill

Thank you for your response. My project concerns some applications such as mopping the floor. It requires different torques exerted onto the floor or table to achieve different effects of cleaning. These torques may not be constant. And I hope the speed will maintain as low. For Brushed DC motors the output torque is propotional to the armature current, but I am not sure whether I can directly control the armature through motor driver like RoboClaw. Actually in my project, the input of the whole control system are torques produced by motors. Speeds should arise from the acceleration produced by torque and then be feedback to the reference motion trajectory to produce error to control the system. So for the motor parts, I’d like to establish a control model of which input is voltage or current and output is torque.

In a floor cleaning device like you are talking about, the only way I see to increase the torque applied to the floor surface would be to increase the pressure of the cleaner against the floor. A RoboClaw with speed feedback could keep something like that at a constant speed (within the limitations of the motor) under the increased load, but it cannot “create” torque.

-Derrill

Well, if I attatched an object onto the shaft of the motor and I’d like the object accelerate in certain value. Then torques in certain values may be required. Can I control the voltage or current to achieve that?

It sounds like you might be confused about how current works. A motor controller like the RoboClaw does not push current into a motor, rather a motor will draw current proportional to the load placed on its shaft. Adding mass to the shaft and/or forcing the shaft into a surface will increase the load on the motor. (Please note that I do not recommend placing strong radial forces on the output shafts of our gearmotors.)

The RoboClaw can control the speed of the motor by controlling the effective voltage supplied to it, but it cannot directly control the torque of the motor.

-Jon

Thank you for response. If I have a mass attach to the shaft. First time I’d like this mass to achieve the speed of 60rpm in 2 seconds. Second time I want it to reach 60rpm in 4 second. That means I must change the acceleration of the mass, coresponding to the change of output torque from the motor. Can I do it with roboclaw?

Yes, you can specify acceleration rates with the RoboClaw, but you might only be able to use that feature with encoder feedback. You can read more about setting these values inside the RoboClaw’s user’s guide, which can be found under the Resources tab of any of the RoboClaw product pages.

-Jon

Kevin,

Between this thread and the other thread you started:

https://forum.pololu.com/t/using-pwm-to-control-dc-motor-output-torque/7036/1

(BTW, it’s not polite to start multiple threads about the same topic.)

It’s pretty clear what you want is encoder feedback. You don’t want to drive the motor with different amounts of torque (DC motor adjust this automatically) what you want is to control the speed and/or acceleration. You really need encoder feedback for this.

I have a Mecanum wheeled Rover 5 which had really poor performance until I added encoder feedback to the control algorithm. The Rover 5 motors are a bit under powered from the size of Mecanum wheels (Vex) I was using. The motors weren’t applying enough torque to turn the wheels when I sent the robot a signal to travel slow. Once encoders were used used the program would keep increasing the PWM signal until the desired speed was reached.

Here’s the Mecanum wheeled robot in action (skip to the two minute mark to see the robot in action).

I’m telling you, encoder feedback is the way to go. It will cure all that ills you.