Difference between revisions of "USB-step"

From BitWizard WIKI
Jump to: navigation, search
(programming/protocol)
(programming/protocol)
Line 44: Line 44:
  
 
'''step''' allows setting the time that the motor is activated/stepping speed. Times are in ms.
 
'''step''' allows setting the time that the motor is activated/stepping speed. Times are in ms.
 +
 +
 +
For adjusting the clock setting you must know that the board uses microsteps. It won't drive the motor with better than "full step" resolution, but it uses very small steps internally. The motor will make a full revolution every 34190060316 of these internal steps. The motor is actually stepped when the accumulated number of steps internally exceeds 2^24 = 16777216. So at the slowest setting, 1 internal microstep per second, the motor wil be issued a step every 2^24 seconds (about twice a year), resulting in a full revolution every milennium.
 +
 +
The time required for each step limits the fastest possible stepping rate. You can experiment with reducing the "step" times with the '''step''' command to see what is the fastest possible step rate with your load.
 +
 +
 +
== current usage ==
 +
 +
the board uses about 120mA per motor-phase that is activated. Normally only one is activated at a time. The motor is powered off between the movements. We measured about 12mA "in rest", Add to that (by default) about 1% times 120mA, the total average power is around 13-14 mA.
  
 
== future ==
 
== future ==
  
 
In the future the interval between each group-of-steps will be configurable, currently fixed at "1s".
 
In the future the interval between each group-of-steps will be configurable, currently fixed at "1s".

Revision as of 15:59, 1 January 2016

USB-step

The USB stepper allows you to step a small stepper a certain number of steps at regular intervals.

The intended use is for example home-built clocks.

Overview

The usb-step has basically two connectors. The USB connector (micro USB), and a 5-pin JST for the stepper motor.

The board has a few other connectors for debugging (for us), for power (GND/3V3/5V between the motor and USB connector), for SPI (in the future we might make it possible to add an SPI display for example), and for selecting the voltage of the powerpin of the SPI connector. These connectors are unpopulated.

The board is 50x25.

pinout

The JST power connector is something like 1 - 5V 2 - A+ 3 - B+ 4 - A- 5 - B-

default

By default the board will step every second, and make a full revolution in 15 minutes.

programming/protocol

When you insert the board into your PC, you will get a virtual com port (VCP). Under Windows you should get a device for which "no driver could be found". install XXX this driver, and you will get a virtual com port.

Use your favorite serial-communciation program to connect to the VCP. (I suggest Minicom for Linux users, putty for windows-users).

you'll be presented with a commandline interface. The "help" command lists the available commands.

clock lists or sets the "steps-per-second" setting.

cal lists or sets the crystal calbration.

write writes the current settings to flash.

pat allows setting the activation pattern. For forward use: 4 1 2 4 8, for reverse use "4 8 4 2 1" as the arguments.

step allows setting the time that the motor is activated/stepping speed. Times are in ms.


For adjusting the clock setting you must know that the board uses microsteps. It won't drive the motor with better than "full step" resolution, but it uses very small steps internally. The motor will make a full revolution every 34190060316 of these internal steps. The motor is actually stepped when the accumulated number of steps internally exceeds 2^24 = 16777216. So at the slowest setting, 1 internal microstep per second, the motor wil be issued a step every 2^24 seconds (about twice a year), resulting in a full revolution every milennium.

The time required for each step limits the fastest possible stepping rate. You can experiment with reducing the "step" times with the step command to see what is the fastest possible step rate with your load.


current usage

the board uses about 120mA per motor-phase that is activated. Normally only one is activated at a time. The motor is powered off between the movements. We measured about 12mA "in rest", Add to that (by default) about 1% times 120mA, the total average power is around 13-14 mA.

future

In the future the interval between each group-of-steps will be configurable, currently fixed at "1s".