Friday, June 30, 2017

The Secret Combination to Unlocking AutomationDirect Stepper Motors in LabVIEW

I was working on a radiation leakage test system trying to control a STP-DRV-4850 motor designed to spin an array of D-tect sensors around a unit under test.  I was able to spin the motor using AutomationDirect's utility program, SureStep Pro and everything was looking good, until I tried to send the motor controller serial commands from LabVIEW.

After beating my head against the wall for the greater part of an hour, I finally turned to the Internets for wisdom.  I had exhausted all the usual serial communication suspects:

Read the manual?  Check.
COM port?  Check.
Baud rate?  Check, 9600.
Command format?  Check, working in SureStep Pro.
Reread the manual?  Check.
Termination on writes?  Check, carriage return.

No matter what I tried, I could not get this motor to turn.  I had talked with countless instruments over serial and considered myself an expert.  And now my customer was looking over my shoulder, expecting to see magic.

The first few Google hits covered the usual issues (see above) and I began to despair.  After resorting to the second page of hits (who goes there?) I hit gold with an obscure post on the NI forums from 2011.  Apparently lmtis (Jim) had run into the same problem and went to the effort of hooking up a USB bus monitor.

When AutomationDirect's utility, SureStep Pro, connects serially to motors, it first sends an "HR" command.  I quickly tried it, and sure enough, everything started working.

I'm still not sure what "HR" stands for, but it is the "open sesame" of the STP-DRV world.  And after six years it still hasn't made it into the manual (SCL Commands for STP-DRV-4850 and STP-DRV-80100 Step Motor Drives).

No comments:

Post a Comment