Es3000 Command
Es3000 Command
Compatible with:
Easy Step 3000 Module Firmware – 1V28
Easy Step ISP Software – 1V27 and 1V28
Document History
The ES3000 has an onboard microcontroller, RS232 Converter and motor interface circuitry.
The unit is designed for controlling a single unipolar stepper motor. Any computer (PC, Mac,
Palmtop etc) with an RS232 interface can be used to control or interrogate the ES3000, in
this document we will refer to this computer as the - PC (Personal Computer).
The ES3000 remembers the mode it is in (PC, Remote & Voltage), even if the power is
removed (with the exception of teach mode).
The Standard version can be ‘un-locked’ and converted to ’Pro’ – visit www.active-
robots.com/easy-step3000.shtml (you will need your ES3000 serial number).
Data from the ES3000 to the PC is enclosed is ‘square’ brackets, [ ] , technically referred to
as “Brackets” (ASCII codes [=91D/5Bh/0101 1011B, ]=93D/5D/0101 1101B).
(Where D=Decimal, h=Hexadicimal, B=Binary).
The PC initiates communication by issuing a command to the ES3000 module, the module
may follow instructions (by moving the motor), or responding with information (e.g. current
Status) etc.
Example comms code – showing the transmission of the ‘demo mode’ command – {CD}
BASCOM AVR
Print “{CD}” ‘Toggle demo mode
The Easy Step TM 3000 Module uses the following comms setup:
In BASCOM AVR you can setup the comms via the Options Tab (Alt + o):
Options > Communications > then select the various available options.
2.1 Overview
The Easy- Step TM 3000 command set is divided into three distinct command types.
1. “C” prefix, are all commands that setup the ES3000.
2. “I” prefix are all immediate move instructions
3. “P” prefix are associated with the hardware inputs.
All data sent is in plain ASCII text, for example ASCII for ‘1’ = 49 or 31 in hex or 00110001 in
binary. No spaces are needed between characters or termination characters (CHR$13 etc).
Some commands use commas ‘,’ to separate data. Received data from the ES3000 may
have a semi-colon ‘;’ i.e. [a;b]
{IE1000,200,600,5,0} Å
You have to be aware of software comms time outs as the ES3000 may take many seconds
to perform some of your commands.
Minimum step = 1
Maximum step = 999
Although manufacturers issue guidelines as to the maximum step rate of a motor, the
loading and supply voltage will greatly affect the speeds that can be achieved, for
example a typical small motor will completely stall at a step rate of about 1000.
Example {CA3} sets a step rate of 3, {CA999} sets a rate of 999 steps/second
As a approximate guide to working out your maximum step rate (motor speed) then use the
following example calculation;
A motor has the following characteristics: 1.8º /step (or 200 step per revolution), 3.3 Ohm
phase resistance and a phase inductance of 3.4uH. Calculate the maximum step rate,
assuming we have a need for 85% motor torque, Given: 2 Time constants = 85% torque?
Ans.
Two Time constant in ms = 2 * (3.4/3.3) = 2.06ms per step
Of course individual motors may differ and “Forcing Resistors” can be used to increase the
step rate, by increasing the effective voltage across the phase coils, forcing the coils to pass
current more rapidly than they normally would.
Minimum = 0
Maximum = 200
NOTE on issuing a Ramp Factor command the ES3000 module will respond with
some serial comms, it is not enclosed in brackets and is not useable.
It should be noted that a high ramp factor causes very slow acceleration, this can
cause the number of steps to “run out” before full speed is reached and thus the
motor will slow down again without reaching full speed.
Say for example you only wanted to move two hundred steps (1 rotation with 1.8º
motor) but the ramp factor meant an acceleration/deceleration time of 20seconds
then the motor would hardly increase above the start step rate.
The ‘Easy Step 3000 ISP TM ’ program displays the deceleration time in a box next to
the Ramp Factor entry box.
Minimum = 0
Maximum = 2
Full step 2-phase mode is the power-on default setting. In Full step 2-phase mode
two coils are energised at the same time giving the highest available torque, with a
200 step/revolution motor this equates to 1.8º per step.
Full step 1-phase (Wave) mode gives the same size step (1.8º) as full step mode,
but only one coil is energised at any time so saving on power. Note that not all motors
will run efficiently in wave mode.
Half step mode, as its name suggests doubles the available number of steps per
revolution improving positional accuracy by a factor of 2.
For the logic truth tables for these modes see the Easy Step TM 3000 User Guide
The LED will change from Green to Red to Orange and then repeat the sequence
finally stopping on Green. The motor will then spin in full step mode 200 steps
clockwise followed immediately by 200 steps anticlockwise returning the motor to its
original position.
NOTE Demo mode will only work if the ES3000 PCB is in PC mode, if the ES3000 is
in Voltage or PIN/Remote modes then demo mode is disabled.
10
The each line has the following format; it contains the number of lines in the
sequence, and the following lines contain their line number, the start step rate, max
step rate, acceleration factor, mode, dwell, command and where appropriate the
number of steps to move.
Dwell Time - pauses the motor for the amount of time specified, after the movement
command has finished. Time is entered is in tenths of a second, i.e. 20 = 2sec,
1=100ms
Command number - refers to the command you wish to send, these are:
1 – ID (Go To Absolute Position)
2 – IE (Go To Relative Position)
3 – PF …..
4 – PG
5 – PH
6 – PJ
7 – PK
8 – IM
9 – IN
10 – CQ
11 – CR
11
Suppose we wish to send and store the following commands to the Easy Step TM ;
{IE1000,200,600,5,20,0} Å
{IE2000,200,600,5,20,0}
{IE3043,200,600,5,20,0}
{CE1,3,2,1000,200,600,5,20,0} Å
{CE2,3,2,2000,200,600,5,20,0}
{CE3,3,2,3043,200,600,5,20,0}
Note these extended command sequences include a dwell time, so that pauses can be
made between commands on playback, thus the order of data is different from a normal
extended command sequence (see 6.4 & 6.5).
If stored sequences are being replayed in hardware using the IP4 input then the dwell time
between sequences is determined by IP4 input; each time the input is toggled (1-0-1) the
next sequence will be carried out.
12
Reply: [x.xx;y;zzz]
Minimum = 0
Maximum = 999
13
Where xx :-
0 = PC (default from factory)
1 = Pulse or Remote/slave
21 = Voltage, 0-270°
22 = Voltage, 0-1000°
23 = Voltage Centre off
31 = Teach Mode – Send steps to PC
32 = Teach Mode – Turn Motor CCW
33 = Teach Mode – Turn Motor CW
14
Response: [a,b,c,d,e,f,]
Where: a = Actual Position
b = Start Rate (Pull in Rate)
c = Max Step Rate
d = Ramp Factor
e = Step Mode
f = Motor Stopped Power State
Response: [a,b,c,d,e]
Where: a to e represents IP1 to IP5
15
16
Immediately prior to executing the command both lines are checked, if either are low
at that point no movement will take place.
Immediately prior to executing the command both lines are checked, if either are low
at that point no movement will take place.
Immediately prior to executing the command the line is checked, if it is low at that
point no movement will take place.
17
However, the stop will not be immediate, the current ramp settings will be used to
protect positional integrity, and therefore the motor may turn for some time after the
stop signal has been received. To minimise movement keep the ramp times as low as
possible.
Immediately prior to executing the command the line is checked, if it is low at that
point no movement will take place.
18
19
ID - Go to Absolute Position
IE - Go to Relative Position
IM - Go to Mark Position
IN - Go to Home Position
{IE1000,200,600,5,0} Å
END OF DOCUMENT
20