Need motor that can control torque

Hi all,

I need a motor / circuit that is capable of doing the following functions:
Requirements

  • Switch between four Torques levels - (2.5Nm, 5Nm, 7.5Nm and 10Nm)
  • Does NOT need to rotate continuously. Preferably staying within 0 - 180degrees of motion

This circuit connects the "hand" and the "forearm" of the robot through a shaft that is positioned at the "wrist", with the intention to simulate flexion and extension motions of the wrist.

However, the level of torque applied must be constant with the 4 different torque levels stated in the requirements.

Can anyone provide any suitable ideas on how to construct the circuit, and/or suitable motors/servos that I can utilise?

Thank you!

If you can find the appropriately sized stepper motor, and then find a driver with current limiting which you can adjust in operation, you might be able to get to the 4 torques.

For a controller with a pot/voltage divider to adjust the current limit via an analog voltage, you might be able to replace that with a digital pot or a DAC. The Pololu MP6500 says that pwm on the voltage input for current limitation will work.

I was looking at NEMA 34 stepper motor as it has a holding torque of up to 13N.m.

I only need to assert the specified torques (2.5, 5, 7.5, 10Nm) once I've reached a certain position (for example, 10N.m torque at 140 degrees).

Hence I was thinking if I could manipulate the current delivered to the NEMA 34, to change its holding torques for a certain position.

Would that work?

I suspect it will be much easier to adjust torque with a regular DC motor - essentially just by changing the current with a H-Bridge.

You could control the position with a rotary encoder on the output shaft.

When you say that you want different levels of torque do you mean that (for example) at the low-torque setting some external force will be able to move the motor against the force it is applying? If you are doing that and you want to keep track of the position then IMHO a rotary encoder will be essential.

...R

Hi Robin2!

You are right about the external force moving the motor against the force it is applying.

However, is it possible that the DC Motor can still exert the same torque at a specific position (i.e. It 'stops' rotating, but still have torque present) ?

I love your idea about using a regular DC Motor, with the H-bridge. But I haven't looked into DC Motors as I'm not sure if they're still able to assert Torque when they stopped at a specified position as they would essentially just be "braking"?

captainlemon:
However, is it possible that the DC Motor can still exert the same torque at a specific position (i.e. It 'stops' rotating, but still have torque present) ?

I think you have your ideas a bit mixed up.

  • If the motor torque exceeds the load the motor will cause the load to rise.
  • if the load exceeds the motor torque the motor cannot prevent the load from falling.
  • When the torque exactly matches the load the system will remain stationary.

Perhaps you mean that you want to have different settings for the maximum torque? And, below that maximum the torque can be varied to suit the load that is imposed at any moment - is that what you have in mind?

...R

Sorry if I wasn't clear before! So my intention is:

  • Load is constant.
  • Range of motion (rotation) is limited, as it needs to replicate wrist movement of a human hand

For example:

  • Motor will move from 0 degrees to 140 degrees
  • Once motor is at 140 degrees, it will stop rotating, but the output shaft maintains a torque of 10Nm.

So yes essentially because my load is going to be constant, I want the maximum torque to be able to be varied to the four torque settings (2.5, 5, 7.5, 10Nm).

Is that a better explanation? And would that be a possibility?

captainlemon:
For example:

  • Motor will move from 0 degrees to 140 degrees
  • Once motor is at 140 degrees, it will stop rotating, but the output shaft maintains a torque of 10Nm.

If the load is constant and can be held steady with a torque of 10Nm then you will need MORE torque to make the motor lift the load up to the 140° position.

Why is it important for the torque to be constant? What exactly are you trying to do?

A diagram of the machine would be a big help to out mutual understanding. See this Simple Image Guide

...R

cattledog:
If you can find the appropriately sized stepper motor, and then find a driver with current limiting which you can adjust in operation, you might be able to get to the 4 torques.

No, that's not workable I'm afraid, stepper torque doesn't work as you think, but is far larger when stationary
than moving.

But the same idea will work fine with a standard DC motor - control the current, you control the torque.

So two ways to do it:

High current programmable current source. Inefficient, will need heatsinking.

Current sensor and hysteresis "bang-bang" current control using the motor's inductance - much more efficient.

A standard stepper driver like an A4988 does exactly this for each winding, so in theory you could connect
just one output to a DC motor, and figure out how to map microstep position to current level (it will be sinusoidal).

captainlemon:
For example:

  • Motor will move from 0 degrees to 140 degrees
  • Once motor is at 140 degrees, it will stop rotating, but the output shaft maintains a torque of 10Nm.

You cannot control two indepedent variables simultaneously though one signal. You can control position, or
torque, but not both because its the load that sets the relation between them, to the motor controller they are
independent.

Perhaps just tell us what you are doing, rather than make us guess wrong? xyproblem.info