Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Determine maximum stepping rate for stepper motor using NI 7340 motion controller

Hello,

 

I am working on a project to drive a stepper motor using the 7340 controller in a PXIe-8130 chassis.  After quite a bit of trial-and-error, I am able to drive the stepper using the example VI for one-axis stepper control or using the simple interactive feature in MAX.  I have the control set to "open loop" as there is no encoder in the system.

 

My question has two parts... First, I'm concerned about my motor configuration in MAX.  I'm using MicroMo's AM 1020 (datasheet here) stepper motor, which clearly states 20 steps per revolution in the datasheet.  It has a gear ratio of 256:1.  The trouble is, with 20 steps/revolution configured in MAX and the gear ratio set to 256:1, the motor doesn't turn anywhere near a full revolution when I command it to take twenty steps in MAX.  It doesn't turn a full revolution when I command it to turn 20*256 (5,120) steps in MAX either.  In fact, the motor doesn't seem to respond as I would expect until I configure the steps/revolution to 51,000 instead of 20 in MAX.  Is there something I am overlooking on the motor configuration?

 

The problem I am working toward is profiling the maximum stepping rate of this motor under a given load before it starts to miss steps.  I can't seem to come up with a good idea on how to accomplish something like this in LabVIEW without configuring an encoder.  I could, theoretically, get a known number of steps for the motor to turn one revolution, then have a VI configured to step the motor exactly this number of steps at a controllable velocity.  By continuing to increase this stepping velocity, I can determine the maximum velocity the stepper can turn while still reaching a full revolution.  Any higher stepping velocity would cause missed steps and an incomplete revolution.  Does this approach have merit, or would I be better going through the trouble of learning how to include an encoder in the system?

 

Thanks in advanced,

 

Dan

0 Kudos
Message 1 of 2
(3,949 Views)

Dan,

 

I think I can explain, what you are seeing. Your motor provides 20 full steps per revolution. The gear ratio is 256:1. If your motor requires 51,200 steps/rev instead of 5,120, your drive doesn't run the motor in full step mode, but with 10x microstepping. That means, that your drive (not the controller!) generates 9 microsteps between each full step by partially driving current through the motor's phases. Please look into your drive's manual for further information.

 

In MAX the setting of the steps/rev value is only relevant, if you plan to configure your move's velocity in RPM instead of counts/s. The gearing settings in MAX has nothing to do with a physical gear. It is meant to be used when you want to setup electronic gearing to synchronize axes with other axes or other rotating parts. If you need to the the steps/rev value, you should set it to 51,200.

 

Regarding your second question:

I don't think, that with such a high resolution system you will be able to manually detect step losses. If very accurate operation is important for you, the only thing I can recommend is using a high resolution encoder, that ideally matches the steps/rev specifiaction of your system.

 

I hope that helps,

Jochen Klier

National Instruments

0 Kudos
Message 2 of 2
(3,942 Views)