Configure and Test a Stepper Motor
Hardware: Motion Control>>Controllers
Problem: How do I configure my NI 73XX motion controller to control my stepper motor?
Solution:
- Open the Measurement & Automation Explorer (MAX)
- Navigate to your NI Motion Device
- In the Configuration panel, expand the My System tree
- Expand the Devices and Interfaces tree
- Expand the NI Motion Devices tree
- Expand the PCI-73XX tree
- Expand the Default 73XX Settings tree


- Configure your stepper settings
- Go to the Axis Configuration option, under the disired axis (e.g. Axis 1)
- In the Axis Configuration tab, set Type to Stepper.
- In the Stepper Settings tab, select your Stepper Steps Per Revolution, Stepper Loop Mode, Stepper Polarity, Stepper Output Mode, and Pull-in Tries
Note: For P-Command motors, select P-Command for Stepper Loop Mode
- For now, disable your inhibit, home, and limit signals
- Select the Motion I/O Settings option under the axis tree
- Disable all the signals in this tab (Limit Filters, Forward Limit Switches, Reverse Limit Switches, Home Switch, Forward Software Limit, Reverse Software Limit, Inhibit Output)
- Initialize your motion controller with your current MAX settings
- Click on the Initialize button
- Test your stepper settings with your stepper motor
- Expand the Interactive tree
- Select 1-D Interactive
- Set Stepper Loop Mode to Open Loop
- Set Velocity, Acceleration, and Deceleration to values slow enough for your motor to perform
- Set Operation Mode to Relative Position
- Set Target Position to the number of your Stepper Steps Per Revolution (as set in step 2c)
- Click the Start button
- Your motor should move one full revolution. If the motor moves but goes over or under one revolution, then most likely the Stepper Steps Per Revolution is incorrect.
- Your motor should rotate in the forward direction (if Target Position is a positive value). If the motor rotates in the wrong direction, then you may need to switch either phase A and A- or B and B- (effectively reversing directions) leads from your drive to your motor. (See KnowledgeBase 2DKB1MYJ: How Can I Determine My Stepper Motor Wiring without the Stepper Motor Pinout?)
- If you are using feedback in your motion system, follow steps 7 and 8. If you are not using an encoder, you are done configuring and testing your open loop stepper system.
- Configure your feedback settings
- Follow the instructions below if you are using a two-phase quadrature encoder for feedback
- In the Axis Configuration option, set Type of Feedback to Encoder
- Go to the Encoder Settings option
- Enter your encoder counts per revolution
Note 1: If you can kill your motor and rotate the motor manually, then you can determine the correct encoder counts per revolution by following the steps in KnowledgeBase 2FDCRSLT: Determining the Encoder Counts Per Revolution in NI-Motion
Note 2: To increase feedback accuracy, NI motion controllers read every edge of an encoder feedback signal. With a quadrature encoder, this results in four edges (rising and falling on lines A and B) for every quadrature pulse of the encoder. Thus, if your quadrature encoder is rated at 2000 quadrature pulses per revolution, the controller will actually read 8000 edges per revolution – and each of these is considered a “count”.
When setting the Encoder counts per revolution input in MAX, it is common to mistake this value for the encoder’s physical resolution. Instead, this setting needs to hold the corresponding number of counts read by the controller, which is four times that resolution. (See KnowledgeBase 3QGEF7D3: Following Error in a Motion System)
- Follow the instructions below if you are using analog feedback
- See KnowledgeBase 3VMMB7AJ: Analog Feedback with a Stepper Motor
- Initialize your motion controller with your current MAX settings
- Click on the Initialize button
- Test your encoder settings
- Go to the Main tab of 1-D Interactive
- Set Stepper Loop Mode to Closed Loop
- Set Velocity, Acceleration, and Deceleration to values slow enough for your motor to perform
- Set Operation Mode to Absolute Position
- Click the Reset Position button to reset the Current Trajectory Data Position to 0.
- Set Target Position to the number of your Stepper Steps Per Revolution (see step 2c)
- Click the Start button
- Your motor should move one full revolution
- The Current Trajectory Data’s Position should match the Target Position
- Re-enable the inhibit, home, and limit signals that you will be using
- Go to the Motion I/O tab
- Enable the signals that you will be using and configure the correct polarity for each
- Configure the rest of options in MAX as is necessary
- Click on the Show Help button to display the MAX Help sidebar
- Use the MAX help for more information on the rest of the settings. Hover your mouse over a setting to populate the MAX Help with a description.

Note: You do not need to configure anything in the Control Loop Settings tab for a stepper motor.
- Initialize your motion controller with your final MAX settings
- Click on the Initialize button
Related Links: KnowledgeBase 2DKB1MYJ: How Can I Determine My Stepper Motor Wiring without the Stepper Motor Pinout?KnowledgeBase 2FDCRSLT: Determining the Encoder Counts Per Revolution in NI-MotionKnowledgeBase 3QGEF7D3: Following Error in a Motion SystemKnowledgeBase 3VMMB7AJ: Analog Feedback with a Stepper MotorKnowledgeBase 2U4GA0OV: How Do I get the 73xx Controller and UMI 7764 to Drive a Third Party Stepper Motor?
Attachments:
Report Date: 02/07/2007
Last Updated: 07/01/2009
Document ID: 466HEDS4
|
|