How to configure and program a 750-671 Stepper Controller

Here, I’ll go over how to wire, configure, and program the 750-671. Many of these instructions can also cross to our other Stepper Controllers that we offer. I hope this helps anyone that has a Stepper Controller and is looking to set one up for the first time.

In this example, I connected a 750-671 to a 750-8216 PFC200. Connected to the 750-671, I used a small stepper motor. Specifically, I used the following non-Wago parts:

  • STP-MTRL-14034 (Stepper Motor)
  • STP-EXTL-006 (Extension Cable)

Wiring the 750-671

Knowing we need to connect all these things together, let’s first talk about the 750-671:

You’ll be connecting your stepper motor to the A1, A2, B1, and B2 ports. In addition, you need to connect 24VDC to DI 1+. This acts like an enable input. Without DI 1+ being on, your motor will not move.

Now let’s look at the drawings for the motor and the extension cable:

With these two documents together, you can now see which wires to connect to the 750-671:

  • Red Wire → A1
  • White Wire → A2
  • Green Wire → B1
  • Black Wire → B2

Calculating the parameters for the 750-671

Now that everything is connected, we can talk about configuring the 750-671. There are numerous parameters that you’ll need to set on the 750-671. These parameters are as follows:

  • Freq_Div: The frequency prescaler. Sets up the scale for all speed commands
  • Acc_Fact: The acceleration prescaler. Sets up the scale for all accel and decel commands
  • Current: The rated current for the motor. In 0.1A, so a value of 8 is equal to 0.8A
  • SetupSpeed: The speed setting for jogging and homing
  • SetupAcceleration: The Accel and Decel setting for jogging and homing
  • Pos_Mult: The multipler for Position
  • Pos_Div: The divider for Position
  • Acceleration_Stop_Fast: The decel used for stop commands

Some of these parameters are quite simple to configure. Some of these are not. The manual goes over these parameters, but I encourage you to look at the stepper parameter excel worksheet I created below:

Stepper Parameter Worksheet.zip (10.1 KB)

The worksheet will drastically save you time trying to figure out the correct values to choose for your different parameters. Once the worksheet is complete, you’ll need to set these parameters on your 750-671. There are two ways to do this. If you have Wago IO Check, you can use this software to manually configure the parameters. Otherwise, it’s best to do it using Codesys.

Using Codesys to set the 750-671 parameters

(Note: You can find the example project at the bottom of this post.)

First, you’ll need to add the WagoAppStepper Library into your project.

There’s three things you’ll need to define. The configuration file, the configuration table, and the stepper control itself.

And of course, you’ll need to initialize them.

The easiest way to set the parameters using Codesys is to first read the parameters, change the relevant parameters, then write parameters back again. You can accomplish this is many ways, but I created a “Step” variable and controlled the program based on what “Step” the program was on. In my case, Step 0 initializes the read of the parameters.

Step 10 waits for the read to be complete.

Step 20 edits the parameters to be whatever you’d like them to be before eventually writing the new parameters to the 750-671.

Step 30 waits for the writing of the parameters to be complete.

Now at this point, your 750-671 has the parameters you calculated and it’s ready to begin movement. One thing to note is that you only need to configure the parameters once. The reading and writing of parameters take time so it’s best to make sure that this only happens when it’s actually necessary.

Making your Stepper Motor move

Now, on to the fun part. In this example we’ll go over jogging, and position movements. First, we’ll go over jogging. We’ll need set a lot of different parameters first before we can tell the motor to go.

As you can see, the commanded speed, the commanded acceleration and deceleration are in units that make little to no sense. That’s where the Stepper Motor Parameter Worksheet comes in handy. Use the worksheet to determine what values to use in these parameters. In the example above, I start the jog movement and start a 2 second timer at the same time. At this point, the motor should begin jogging forward.

As shown above, once the timer is done, you can turn off the xStartMovement flag and the motor will decelerate to a stop.

A position movement command is very similar, except you’ll need to change the StepperMode as well as include a position you’d like the motor to go to.

When using a position movement, unlike jogging, there is a xMovementFinished flag that indicates that the motor has reached its position. This will be a good time to reset your xStartMovement bit so you can begin preparing for your next move.

And that should conclude the basics for how to control a stepper motor using a 750-671. One last thing to mention is that controlling a motor when the 750-671 is attached directly to the PFC200 can have pretty fast reaction time. However, when controlling a 750-671 that’s controlled to a coupler instead, causes a noticeable slowdown. When configured in this way, the time between when the motor is commanded to move to when it actually moves is increased. Therefore, if quick reactions are needed from your motor, it is best to use the 750-671 directly with your PFC.

Example Program

Here is the example program for the 750-671 that was used when generating content for this post. It was done in Codesys 3.5 SP21 Patch 1. I hope it helps and is a good jumping off point in your own application.

750-671_to_STP_MTRL-14034-124249000466.project (11.0 MB)

2 Likes

Great guide!

For someone new to the 750-671, I generally recommend setting the Freq_Div and Acc_Fact parameters to a value of 80 for initial testing. This sets the Speed command (which has a range of 0-25000) to units of steps/sec and the Accel & Decel commands to units of steps/sec^2. I find this makes it much easier to verify that your first few motion commands react exactly as expected and also helps to verify any mechanical ratios were properly calculated. Then Freq_Div and Acc_Fact can be adjusted to match the application requirements.

It is shown at the top of the Worksheet linked above, but I think it is helpful to reiterate that the 750-671 has 1/64 microstepping. So a standard 1.8 degree step motor, which therefore has 200 full-steps per revolution, will have 12800 steps/rev as controlled by the 750-671.

So with a Position command of 12800, Speed setting of 1280, and Accel/Decel setting of 12800, a positioning move would complete exactly one motor revolution at a top speed of 0.1 rev/sec and would have a 100 msec accel/decel time.

1 Like