Towertalk
[Top] [All Lists]

Re: [TowerTalk] SteppIR

To: towertalk@contesting.com
Subject: Re: [TowerTalk] SteppIR
From: Jim Lux <jimlux@earthlink.net>
Date: Sat, 28 Feb 2015 10:09:19 -0800
List-post: <towertalk@contesting.com">mailto:towertalk@contesting.com>
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.





_______________________________________________



_______________________________________________
TowerTalk mailing list
TowerTalk@contesting.com
http://lists.contesting.com/mailman/listinfo/towertalk

<Prev in Thread] Current Thread [Next in Thread>