[TowerTalk] SteppIR

Jim Lux jimlux at earthlink.net
Sat Feb 28 13:09:19 EST 2015


On 2/28/15 9:02 AM, Patrick Greenlee wrote:
> That is why it is called a stepper motor.  Its motion is stepwise, not
> continuous, think digital not analog.  If the steps are small enough and
> are taken rapidly enough you can closely simulate the smooth turning of
> an analog motor. Of course an advantage of the stepper motor is you can
> keep track of where you are by counting the steps and not need a shaft
> encoder or other method of tracking position in a system driven by an
> analog motor. Stepping motors make position servos simpler.
>


We're getting a bit off topic of antennas, but it's relevant in the 
sense that these things are also useful for remote tuners and in some 
cases, antenna positioners (staying away from the rotor/rotator 
controversy).

With a modern microstepping drive that controls the current into the 
stepper windings with a DAC (or PWM equivalent), the motion is truly 
continuous with no steps.  It's no different than a synchronous AC motor 
(or the ever popular SelSyn/Synchro motors used for remote position 
indication, particularly wtih tons of cheap surplus synchros available 
postwar)

This has the advantage that you don't have to worry about things like 
torsional resonance (or, at least not worry as much.. a rapid velocity 
ramp will still excite the resonance) AND the drive is much more 
efficient than the old "big resistor and high voltage" simulating a 
constant current drive type stepper drive.

Since a microstepping drive is really an analog drive, you can also set 
the position much finer than a step.  256 microsteps per physical step 
is common, giving you 51,200 steps/revolution with a common 200 step/rev 
motor.

In low torque, low moment of inertia/mass, high friction applications 
(the SteppIR is one of these, I think), you can use a very simple drive: 
discrete steps (no microstepping) and not worry about response time: 4 
transistors, 1 for each phase, and some simple logic.

The challenge with steppers is that they are a "relative" positioner: 
you need something to tell you when you are at "zero".  The low tech way 
to do it is to run the motor until the load is against a mechanical stop 
(popular with old floppy drives) or with a very simple encoder (e.g. an 
opto and a "flag" or hole in the load) to give you a zero indication. 
The other challenge is that if you don't have feedback, you don't know 
if you "missed a step": if you've designed with plenty of margin this 
isn't a problem(e.g. A stepper driving a variable capacitor in a tuner).

 From first hand experience, it is very hard to use a stepper and 
corresponding drive in a closed loop "servo" system. The dynamics of a 
stepper (even with a smart drive) are quite different from a permanent 
magnet motor, so all the usual control system schemes (PID controllers 
and the like) really don't work.  I've had much better luck with "open 
loop control and confirm with feedback" and also using the feedback to 
"tune" the open loop control stuff.  Some feedback also lets you not 
worry about the "where is zero" position problem.

In general, steppers are larger and consume more power for a given 
torque output than a DC permanent magnet motor, even if you have to add 
gears to the PM motor.  Partly it's because there are 3,4,or 6 windings 
inside the stepper and not all of them are energized at once. In the PM 
motor, the entire field winding is used all the time, so you have better 
utilization of the copper and iron.

If someone wants to build their own servo controller or stepper 
controller these days, it's a lot easier. A run of the mill Arduino has 
PWM outputs as well as ADCs and some have logic to handle a quadrature 
encoder.  There's off the shelf plug in "shields" that have 2 channel 
PWM amplifiers using parts like the L298 H bridge which are quite nice 
for driving 12V (and maybe 24V..). The L298 has about 1.4V total drop 
through the transistors, so isn't so good for high power low voltage 
applications.

There are a fair number of Arduino (or PIC) based antenna positioner 
projects out there.  I think it would be pretty easy (if someone's not 
already done it) to hook up one of these to make a controller for one of 
the venerable positioners we use on towers.  Drive an H bridge or relay, 
read the position pot.  You could put it at the base of the tower (or 
the top), just run power and use wireless serial or network to send the 
commands and get feedback.


Things to be aware of when rolling your own:  Make sure you have 
reliable safety stops of some sort. If your position encoder fails, and 
your controller keeps trying to move the load, you want it to stop 
before it wraps the cable 17 times and rips it loose. Or if there's a 
software bug.   There are some simple, and clever, mechanical stop 
schemes that allow for more than 360 degrees of rotation.  A

And one of the cool things about putting a microcontroller into the mix 
is that it can figure out which way to turn, without worrying about 
putting an extra wrap into the cable or hitting the mechanical stops 
trying to go the "wrong way" from 350 degrees to 10 degrees.


The only thing I wish was more readily available as an off-the-shelf 
add-on for the arduino type widgets was a opto isolated serial interface 
for long wired connections (like RS422 or current loop).  Sure, you can 
make your own with any of a variety of optos, but it's one more set of 
parts to put on a piece of perfboard and wire up.  I'd love a module 
with 4 screw terminals on one side that just plugs into the Arduino. 
Maybe I'll just have to design one.







More information about the TowerTalk mailing list