Motion Control and Motor Drives

Showing results for 
Search instead for 
Did you mean: 

Servo motors, rpm measurements and accelerometers

Hello reader,

Please excuse my question if it seems trivial but I am an undergrad trying to make LabVIEW work! We are running LabVIEW 8 and plan to use USB-6009 to make the measurements. I have read that this device isn't the best for control tasks. Any suggestions?


For our experiment, we wish to have six controllable spinning cylinders attached to servo motors or stepper motors, which ever works the best. Each cylinder will be spinning at a set rpm which we wish to measure the desired rpm versus actual at all times. If possible, we would like to have an accelerometer functioning as well.


I was wondering if this is possible with LabVIEW. If so, does anyone have any suggestions on how one might do this?


Thank you very much for your time!

-I. Fritz

0 Kudos
Message 1 of 4
Correction - It's a USB-6008, sorry.
0 Kudos
Message 2 of 4



there are several  considerations for choosing a servo or a stepper:


  • Inertia of the cylinders
  • maximum rpm values
  • maximum acceleration and deceleration values 

The maximum velocity for stepper motors is typically 3000 rpm. At this velocity the torque that the motor can provide has decreased to a small fraction of the specified maximum torque.Stepper motors have very limited capabilities to compensate following errors, so you need to calculate carefully the required torque at a given velocity and compare these values with the motor specs. Additionally you need to make sure, that the ratio between the motor's inertia and the inertia of the load is not too low. To avoid torque reflections this value should be somewhere in the range of 1:1 and 1:5.

If you find a stepper, that is a good match for your application, the difference between commanded speed and measured speed should be very close to zero (except potentially some micro-oscillations).


If you need higher torque and/or velocities and dynamic following error compensation, a servo motor should be a better choice, but you will have to tune the system which makes it a bit harder to configure the system.


In any case the USB-6008 is the wrong choice for the control task, as it's not fast enough and can't be used in real-time control applications.

Depending on the type of your feedback signal, it might be used for your measurements, but I also doubt, that this is a good choice. According to your post, you need to compare commanded velocity and real velocity. This implies, that you have access to the data of the trajectory generator and that you can acquire these data at the same rate as your feedback signal. This requirement conflicts with most of the available motion control units in the market. The minimum system that could meet this requirement is a real-time system with one ore more PCI or PXI multifunction DAQ  plugin boards (depending on the number and type of output channels that you need to control the motors) and optionally (recommended) the NI SoftMotion Development Module.


Depending on your accuracy and speed requirments there might be also other solutions, but with the USB-6008 you are definitely on the wrong track.


Kind regards,

Jochen Klier

National Instruments


0 Kudos
Message 3 of 4



A couple of questions come to mind,


 1. How large are the cylinders and what are they made off. Are they sewing thread spool size or welding gas cylinder size? Dimensions would help

2.  You want to measure at all times... Does this mean measure deviation from setpoint vs time or measure ramp up and overshoot?

3. How will you measure actual RPM?

0 Kudos
Message 4 of 4