EZStep by Darwin Teague

Freeware 2002 Dishhead@insightbb.com

EZStep is a program that allows you to run a stepper motor forward or backward at any speed you desire. An easily built interface is used to control the stepper via the computer's printer port. Here is the link I used to build the interface

You'll notice that the person that drew the diagram switched the positions of 2 wires from the chip and two from the motor. I believe that he did this to match the order of the wires of his particular motor. There is no real need to do this.

I've redrawn the picture slightly to make it easier to understand.

Here is a link about using disk drive motors

Here is how to identify the wires on a stepper motor

I use a stepper motor from an old full height floppy disk drive. Old dot matrix printers are another source of stepper motors, but they may run at a higher voltage. I use an old computer power supply to power my stepper motor. Two wires on the drive connectors are 5 volt dc, the other two are 12 volts dc.

Here is a picture of my stepper motors.

There are several ways to control then speed of your motor. I wrote this program to run a equatorial telescope mount. The sun and moon appear to move at slightly different rates, so I incorporated 3 different speeds into the program. In addition to this, you may change the speed in any of the 6 different modes of operation. The easiest way to explain this will be through the configuration file. It must be named ezstep.cfg and be in the same directory as ezstep.exe. Here's an example:

1 010 020 030 4000

The first number refers to which printer port you are using.

The second number (010) is a base number that sets the speed for most modes. It must be a 3 digit number.

The third number (020) is a base number that sets the speed for "lunar" mode.It wouldn't actually differ this much from the "normal" mode. It must be a 3 digit number.

The fourth number (030) is a base number that sets the speed for "solar" mode.Again, it wouldn't differ this much from other modes but these three different modes can find other uses not related to astronomy.It must be a 3 digit number.

The last number (4000) is a countdown number that also contols speed. Here's is how it works. Since this program is written in assembly language it runs very quickly. Each time it moves the moter one step, it stops and waits a bit before moving another step. In my example in normal mode, it counts to 4000 and does this 10 times. In other words it counts to 40,000. You could use a different base and countdown value to do the same thing. Base numbers are 3 digit and countdown number are 4 digits.

010 4000
500 0080

In either case the program would count a total of 40,000 times. The difference is that changing the first number by one in the first example would make a much larger change in speed than it would in the second example.

Now for the different modes. Normal modes use single Single-Coil Excitation . This is the normal mode for moving a stepper motor.

High power mode uses Two-Coil Excitation. The speed is the same as normal mode, but since it is using two coils instead of one, it increases the turning power of the motor.

Half step mode combines these two modes to take smaller steps. The motor runs at half the speed as it does in the other modes. All modes are available either forward or reverse direction.

Here is a good explanation of different stepping sequences.

Lunar and solar use the high power mode, since that is the mode I expect to use with my mount.

You may change the speed of any mode while it's running by pressing the "Enter" key. This stops the motor and asks you to input a 3 digit number. This changes the base number (010,020 and 030 in my example). The change is temporary and will be reset to normal when you stop the motor.

One last thing, it doesn't run on my computer with Windows XP. It works great on older DOS or Windows 98 computers.

mailto:dishhead@insightbb.com