07-21-2010 08:39 AM
I have a dc motor in a fixture connected to a UUT dc motor. The goal is to apply a torque (user input) on the UUT motor, using the fixture dc motor. The UUT motor is moving in both directions. The fixture dc motor must apply same torque in any direction. I have attached a block diagram.
The fixture dc servo motor is from maxon and the torque sensor is from omega.
I tried using PID funtion to control the dc motor, but it's not working that great. Any help is appreciated.
07-21-2010 09:49 AM
First Torque is not applied in "any" direction +torque is applied in one direction - torque is applied in the opposite direction. You may want the same magnidude of the torque vector but you will need at least two vectors (and a decision on which to apply can present challange)
PID is not the best solution in this case. I would use a simple feedback loop- you know the desired torqeu and can sense the applied torque thus you have an error signal that can be added to the drive. In fact- this could be done simply in HARDWARE with an op-amp- Don't discount using a $1.50 hardware solution to get around a 3hr code challenge. My billing rate is a lot more than fifty cents / hour.
07-21-2010 10:07 AM
Which driver do you use for the DC motor ?
The EPOS2 from maxon have analog inputs. By wiring the output of the torque sensor to one of this analog inputs, a constant torque could be regulated by the driver. Unfortunately, the range of these analog inputs are only 0 to 5V. Therefore, some electronics would be needed if the output range of the torque sensor is different.
07-21-2010 11:46 AM
@sbk143 wrote:
I have a dc motor in a fixture connected to a UUT dc motor. The goal is to apply a torque (user input) on the UUT motor, using the fixture dc motor. The UUT motor is moving in both directions. The fixture dc motor must apply same torque in any direction. I have attached a block diagram.
The fixture dc servo motor is from maxon and the torque sensor is from omega.
I tried using PID funtion to control the dc motor, but it's not working that great. Any help is appreciated.
We use a similar setup (different load motor and controller, but similar concept) to test small BLDC motors. What you want to keep in mind is that with most motors, torque is roughly proportional to current and speed is roughly proportional to voltage. A constant current through your load/fixture motor should give you (roughly) constant torque regardless of the speed and direction of the shaft.
So:
1. Your fixture motor's drive should be set up so that motor current is proportional to the output of your PID loop.
2. Your PID loop should probably be set up with a feed-forward constant matching the fixture motor's torque constant (i.e. N-m per amp).
3. The PID loop itself, then, should simply correct for variation in the torque constant over speed, load, temperature, etc.
If you always want to apply a load opposite the direction of shaft rotation, regardless of the direction of shaft rotation, you'll have to change the sign of the current when the motor changes direction.
Also, if you only need to apply a load opposite the direction of shaft rotation, you might want to look at using a hysteresis brake instead of a motor to apply the load.
Mark Moss
Electrical Validation Engineer
GHSP
07-21-2010 01:32 PM
Thanks Mark,
That was very interesting. Do you think, NI-9265 cDAQ module (analog 0-20mA current output) would work? I do have to maintain same amount of torque in any direction. So, probably will have to look at the toruqe reading signs.
07-21-2010 02:10 PM
20 mA isn't very much current so, unless your loads are very small, 20 mA probably won't generate enough torque.
You will probably need some kind of drive or amplifier between your DAQ hardware and the motor. Copley Controls makes some nice drives, but they are certainly not cheap.
Mark Moss
Electrical Validation Engineer
GHSP
07-22-2010 07:34 AM
My torque range from 0-100 oz-in (about 700 mN-m). So, what kind of current input ranges I would require?
07-22-2010 07:45 AM
What is the model of the DC motor? Do you have a datasheet?
07-22-2010 08:42 AM
Hi Imtis,
My dc motor is 110147 with a maxon planetary gearhead 110341. I have attached the data sheet. I am using LV2009 SP1
Thanks,
07-23-2010 07:45 AM
Hi Mark,
So, I was able to run my driver in constant current mode (had to setup DIP switches and pots) and can now drive the motor with constant torque. The issue I am having is in the tuning of the control loop. Do you have a sample labview code? I just want to see how you are implementing the loop and the tuning parameters.
Also, do you use a torque sensor? The one I am using doesn't have a stain relief and is measuring the torque produced by its own cable. Do you know of any wireless contact less torque sensors?
Thanks in advance.