Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

find a driver to control a stepper motor

Solved!
Go to solution

hello, I am going to control a stepper motor(ACT 34SSM8460-EC1000 ) using a LabVIEW program, but first i need to assemble my test bench. Can someone give me some suggestions on how to choose a driver? I have searched a lot of information, but they are just explaining how to choose a stepper motor.

 

thank you

0 Kudos
Message 1 of 6
(1,521 Views)

Start with an understanding of the kinds of motions you need to support.  Some motor drives are mainly just about power delivery and commutation / switching.  Others include a *controller* with a trajectory generator.

 

If you intend speeds above the low 100's of RPM, you'll very likely need to generate trajectories that include accel and decel ramps to get you from 0->speed->0 again.   In such a case, you'll want a drive that includes trajectory generation.  But if you just need to putt along at 100 RPM, you can probably do that yourself with a constant rate pulse train from any DAQ device with counters.

 

Another decision point might be whether you want microstepping support.  Beyond that, I have no super-specific recommendations for drives.

 

 

-Kevin P

CAUTION! New LabVIEW adopters -- it's too late for me, but you *can* save yourself. The new subscription policy for LabVIEW puts NI's hand in your wallet for the rest of your working life. Are you sure you're *that* dedicated to LabVIEW? (Summary of my reasons in this post, part of a voluminous thread of mostly complaints starting here).
0 Kudos
Message 2 of 6
(1,513 Views)

You might want to consider https://tenet-tech.co/geco-motion.html this is a more LabVIEW centric motion control board.

 

In any case, you would need to analyze your requirement, budget and features before choosing a stepper motor controller.

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 3 of 6
(1,480 Views)

(Thanks for the referral Santhosh!)

 

Hi feather,

 

Finding a suitable stepper motor driver is not hard, basically you just make sure that the driver can give enough current to drive the motor.  For example, your motor (ACT 34SSM8460-EC1000) is a 2-phase stepper motor, rated at 6A current.  You can get a driver like this:

 

https://www.amazon.com/2-4-7-2A-24-80VDC-18-60VAC-Smartrayc-Discounts%EF%BC%89/dp/B07DQNY946/ref=sr_...

 

Furthermore, to put together your test bench, you'll need a motion controller as well (see pic).  The stepper motor driver provides the power and current to the motor, it's the muscle in the system.  The motion controller is the brain, and will allow you to issue commands to the motor driver from LabVIEW.  Here's an PDF explaining the setup: https://cloudfil.es/rgmvoFxLv7p 

TENET Technologies

John Wu

 

 

0 Kudos
Message 4 of 6
(1,473 Views)

Thanks for your suggestion, I already know how to choose a driver. I now start to consider how to choose a controller that can be connected to LabVIEW. If I use DM860S as the driver, can Digital I/O Device or Multifunction I/O be used as a controller? Or is the controller mentioned by Santhosh a better choice? Can you explain to me the difference between them?

 

I want to control a stepper motor drive (step/direction) using the digital output on my DAQ, at the same time use a force sensor as closed loop control. The force is about 300-500N。

 

Lefeather

0 Kudos
Message 5 of 6
(1,454 Views)
Solution
Accepted by topic author Lefeather

Sure, no problem.  The motor driver accepts digital pulse commands to move the motors.  So for every pulse received, the driver turns the motor a few degrees.  If you're familiar with NI's DIO or MIO DAQ devices, you can use counters to output a very steady pulse train at a given frequency.  This pulse train would drive the motor at a constant speed, but that's about it.  It's hard to control acceleration and deceleration with DIO/MIO, as it's hard to change the frequency of the pulse train on-the-fly.  The motion is pretty much a boolean on/off state: "turn at X speed" or "do nothing."  

 

The GECO Motion, and other dedicated motion controllers, have a DSP onboard that includes trajectory generation and interpolation.  This allows to you control precisely how fast the motion accelerates and decelerates, as well as the velocity.  The example I give most people is, think about an elevator when it moves.  If it did not have acc/dec, the cab would start abruptly when you get in, and it would stop suddenly when you arrive at your floor. 

 

If you want to do closed loop control with your motor, it's possible with DIO/MIO, but you'll have to make sure you can change your pulse frequency as fast as your control loop (ex: 100Hz, 1kHz, etc.)  There are some examples for on-the-fly frequency change for DAQ counters, I would start there.  If that doesn't work, GECO Motion can definitely do on-the-fly velocity change, as it has a VI for setting a new velocity, and you could just put that in a loop, the command doesn't have any lag.

 

RIObotics_0-1627311830171.png

 

Hope that clears up the differences!

 

 

0 Kudos
Message 6 of 6
(1,446 Views)