Untitled - Velmex Inc

Untitled - Velmex Inc
CONTENTS
Introduction _______________________________________________ 3
Features ____________________________________________________ 3
Setup ________________________________________________________ 5
JOG/slew Mode ______________________________________________ 6
Digitizing _________________________________________________ 7
On-Line Mode _______________________________________________ 7
Command Summary ____________________________________________ 8
Example Programs __________________________________________ 9
Interactive Mode _________________________________________ 14
Stand-alone Mode _________________________________________ 15
Daisy-chaining NF90 Controllers _______________________ 16
Reference __________________________________________________ 18
Index Motor Command ____________________________________
Speed of Motor Command _________________________________
Acceleration/deceleration Command ______________________
Loop Commands __________________________________________
Pause Command __________________________________________
User Commands __________________________________________
Backlash Compensation Command __________________________
Indicate Over-travel Command ___________________________
Quit On-Line Mode Command ______________________________
Run Command ____________________________________________
Null Position Registers Command ________________________
Kill Operation Command _________________________________
Verify Controller’s Status Command _____________________
Clear Memory Command ___________________________________
Decelerate to a Stop Command ___________________________
Enable On-Line Mode Command ____________________________
Enable On-Line Mode with Echo oFF Command ______________
Go after Waiting or Holding Command ____________________
Put Controller on Hold Command _________________________
<Delete> Command _______________________________________
Request Motor Position Commands ________________________
Commands for Daisy-Chained Controllers _________________
Troubleshooting Procedure _______________________________
Specifications ____________________________________________
18
19
20
20
21
21
23
23
24
24
24
24
24
24
25
25
25
25
25
25
26
26
27
29
Appendix A
Switch settings and RS-232-C Connections ____________________
30
Appendix B
Limit Switch and Joystick Connections _______________________
31
Appendix C
USER OUT, USER IN, and RUN Connections ______________________
32
Appendix D
Motor Connections ___________________________________________
33
Appendix E
Motor Performance ___________________________________________
2
34
Introduction
The
NF90
is a programmable stepping motor controller
for
running up to three motors, one-at-a-time. The Controller
incorporates a single chip "Super Microprocessor" that has on-chip
RAM. The RAM is available for temporary storage of a user-entered
program and motion parameters.
Commands and data are entered through the RS-232-C interface from
a host computer, terminal, or programmable controller. Specialized
Commands provide simple and efficient entry of a complex, yet
compact, program.
Features
Completely wired and tested for direct connection to UniSlide
motors/ assemblies.
A complete microprocessor-based Controller with motor drives
for three motors.
400 steps per revolution (0.9o step angle) resolution
Output current is factory matched for a specific motor (0.7 to
4.7 amp/phase motor).
An all metal enclosure and Linear type motor and logic power
supplies result in low RFI and EMI.
95-130 VAC, 50/60 Hz operation. 190-260
operation with European fuses is available.
VAC,
50/60
Hz
JOG/slew mode allows motors to be jogged one step or slewed up
to 1000 steps/sec. or 2000 steps/sec.(switch settable). An
optional joystick is available.
A Digitizing function can be utilized with a host terminal
connected as a readout of motor position.
A three wire serial port, conforming to EIA standard RS-232-C,
allows a host to enter Commands (ASCII characters) and Data,
Poll for status, and Read Position information.
The NF90 will run in an interactive or stand-alone mode.
Acceleration/Deceleration settable from
steps/sec2 in 2,000 step/sec2 increments.
2,000
to
100,000
Speed programmable from 1 to 6000 steps/sec in 1 step/sec
increments.
NOTE: Most motors have low torque above 2000
steps/sec. (see speed/torque curves in Appendix E)
Incremental Index
±1,048,575 steps.
distance
3
is
programmable
from
±1
to
Programmable Return-to-Zero position.
Six powerful Loop Commands provide from one to continuous
repeat
operations,
performing
simple
functions
like
auto-reverse to raster scans and other complex X,Y matrix
patterns.
Programmable pauses from 100 milliseconds to 13 minutes.
A User Output can be programmed to turn On and Off an external
solid state relay, or interface to other logic level devices.
A User Input can be utilized in a program as a Wait for
external switch or relay closure.
Backlash Compensation can be set to automatically finish every
index approaching from the positive direction.
Run, Limit switch, Joystick, Output, Input, RS-232-C, and
Motor connections are accessible at unpluggable connectors on
the front panel.
RS-232-C baud rate settings are switch settable to 300, 1200,
4800, or 9600.
As many as 255 controllers can be "daisy-chained" together
allowing the host to address each one from just one serial
port.
Limit Switches for CW and CCW directions are provided with
plug-in connection to UniSlide limit switch
assemblies.
Limits can be used for "homing."
Automatic
Power
Down
de-energizing the motors
reduces
power
consumption
when at a standstill.
by
Single Step mode is provided for debugging a program or as a
controlled interrupt.
The NF90 can be polled for its status at any time;
additionally a prompt ("^") is automatically sent to the host
when a program has finished.
The NF90 can be programmed to send a pulse or character at
preset distances without stopping or slowing the motor.
Motor position can be read while motor is in motion ( up to
500 steps/sec. )
The NF90 can be set to signal the host when a limit switch has
been encountered.
Terminal, Diagnostic, and Example programs for MS-DOS PCs on
a diskette are included.
4
Setup
* * CAUTION * *
* HAZARDOUS VOLTAGE, DO NOT REMOVE CONTROLLER’S COVER
* DO NOT CONNECT OR DISCONNECT MOTOR(S) WHEN POWER IS "ON"
* HIGH TEMPERATURE, NF90 SHOULD BE KEPT AT LEAST
6 INCHES FROM ANY OBJECTS
* AIR MUST CIRCULATE AROUND THE CONTROLLER
* NEVER USE IN AN EXPLOSIVE ENVIRONMENT
* IN INDUSTRIAL ENVIRONMENTS, THE NF90 MUST BE PROTECTED TO
PREVENT METAL CHIPS FROM GETTING INTO SMALL OPENINGS
NF90 controllers are factory wired with 8 foot cables for motor(s)
and limit switch(es). An optional joystick or RS-232-C cable will
be factory wired to the NF90.
CAUTION: Before connecting motor(s), compare the motor’s label
current and the resistor ohms value from the label on the back of
the NF90 to the following table:
NF90 Resistor
( 100 watt wirewound, located in screened
channel on back of NF90, see Appendix D
for electrical connection )
2Ω
3Ω
4Ω
5Ω
7Ω
10Ω
Motor
(Amps) 2.9-4.7 2.8-3.8 1.9-2.9 1.5-1.9 1.2-1.4 0.7-1.1
DANGER: The motor current/resistor combination must be within the
limits of the above table. A mismatch of motors to resistor value
can result in severe damage to controller or motors.
Refer to Appendix A and B to determine proper
joystick connections to the NF90.
RS-232-C and
1.
Connect cables to motors and limit switches. Connect a cable
between your computer’s or terminal’s serial port and the NF90.
IMPORTANT: Limit Switch inputs require a closed circuit for the
motor(s) to operate, ie, for motors to operate, limit switch cables
must be connected to the UniSlide limit assemblies or equivalent
(see Appendix B).
5
2.
The NF90 is factory set to 9600 baud, 7 data, 2 stop bits, and
even parity. To change baud rate refer to Appendix A.
CAUTION: Never connect or disconnect motors with power on; this
may result in severe damage to motor drives.
3.
Plug the NF90 into a 120VAC outlet.
4.
Turn on the NF90 by pushing the top of the rocker switch
located on the back panel.
The Power light will come on and the On-Line light will flash on
then off once.
The NF90 is now ready to receive commands or be jogged/slewed from
the optional joystick or user inputs to the JOG inputs (see
Appendix B).
The simplest method to send commands (ASCII characters) to the NF90
is with a terminal or computer operating with a terminal program
(such as NFTERM included on the Utility Disk). Make sure your
computer or terminal is set at 7 data, 2 stop bits and even parity,
and the same baud rate as the NF90 ( see Appendix A to change baud
rate on the NF90 ).
The other method to send commands is with commercially available
languages such as BASIC, C, PASCAL, FORTRAN, or ASSEMBLY.
JOG/slew Mode:
When the On-Line light is not lit the NF90 is in the JOG/slew mode.
With the NF90 in the JOG/slew mode, the motors can be
jogged one step, or slewed to 1000 (factory setting) or 2000
steps/sec determined by the setting of SW-3 (see Appendix A).
To JOG motor 1 positive (CW), press the joystick 1+ button
momentarily; the motor will move one step CW. To slew the motor
maintain pressure on the 1+ button; the motor will accelerate to
speed until the button is released.
To JOG motor 1 negative (CCW), press the joystick 1- button
momentarily; the motor will move one step CCW. To slew the motor
maintain pressure on the 1- button; the motor will accelerate to
speed until the button is released.
To JOG motor 2 positive (CW), press the joystick 2+ button
momentarily; the motor will move one step CW. To slew the motor
maintain pressure on the 2+ button; the motor will accelerate to
speed until the button is released.
6
To JOG motor 2 negative (CCW), press the joystick 2- button
momentarily; the motor will move one step CCW. To slew the motor
maintain pressure on the 2- button; the motor will accelerate to
speed until the button is released.
To jog or slew motor 3, hold the shift* button down and
actuate the joystick motor 2 buttons.
Digitizing:
The NF90 stores its absolute position (relative to the position
when power was applied or when registers were zeroed) in memory
until the NF90 is turned-off. The absolute registers reflect the
accumulated distance from operating the motors in the JOG/slew mode
and/or under program control. These registers can hold from
-8388608 to +8388607 steps.
With a host terminal or computer connected via the RS-232-C
interface, the NF90 can be used as a digitizer. In the JOG/slew
mode the NF90 will send motor position when it receives
a "D" from the host.
Here is an example of what the host would receive when Motor 1 is
at absolute 201, Motor 2 is at absolute -1294010, and Motor 3 is at
0:
<lf>X+0000201<cr>
<lf>Y-1294010<cr>
<lf>Z+0000000<cr>
<lf> is a linefeed, <cr> is a carriage return.
The host can null ("zero") the registers by sending a "N" to the
Controller.
There is a program called "NFDISPLY" on the Utility Disk for
automatically displaying position in actual distance units for
various lead screws and rotary tables.
On-Line Mode:
The NF90 can be programmed when it is in the On-Line mode.
To put the NF90 in the On-Line mode the host must send a "E" or
"F". When the controller receives an "E" or "F" the On-line light
will light.
The "E" puts the NF90 on-line with echo "on" (echoes all characters
received back to the host). The "F" puts the NF90 on-line with echo
"off".
If you are using a terminal to communicate to the NF90 use the "E"
so that the characters the controller echoes will be displayed on
the terminal screen.
* This button is designated by:
7
Command Summary:
(See Reference Section for a more complete description)
The following must end with a carriage return (Enter key) or comma:
ImMx Set steps to Index motor CW (positive), m= motor# (1,2,3), x=1
to 1048575
ImM-x Set steps to Index motor CCW (negative), m= motor# (1,2,3),
x=1 to 1048575
ImM0 Index motor to absolute zero position, m=motor# (1,2,3)
SmMx Set Speed of motor, m= motor# (1,2,3), x=1 to 6000 steps/sec.
AmMx Acceleration/deceleration, m= motor# (1,2,3), x=1 to 50
L0
Loop continually from the beginning
L-0 Sets the Loop-to-marker at the current location in the program
Lx
Loop from beginning or Loop-to-marker x-1 times (x=2 to 255)
L-x Loop from beginning or Loop-to-marker x-1 times, alternating
direction of motor 1
LM-2 Loop once from beginning or Loop-to-marker reversing index
direction of motor 2
LM-3 Loop once from beginning or Loop-to-marker reversing index
direction of motor 1 and motor 2
Px
Pause x tenths of a second and output if output enabled (x=0
to 8191, 10 µsec pause when x=0)
U0
Wait for a "high" on the user input
U1
Wait for a high on the user input, holding the user output
high while waiting
U2
Disable user output when pausing
U3
Enable output when pausing (reset state)
U4
User output "low"
U5
User output high
U6
Send "W" to host and wait for a "G" to continue
U7
Start of Continuous Index with pulse output
U8
Start of Continuous Index sending "@" to the host
U9
End of Continuous Index
Bx
Backlash Compensation, compensation on when x=1, off when x=0
Ox
Indicate Limit Switch Over-travel to host, off when x=0, NF90
sends "O" when x=1 and a limit switch is encountered
The following commands do not need the carriage return or comma:
Q
Quit On-Line mode (return to Jog/Slew mode)
R
Run program
N
Null (zero) motors 1,2,3 Absolute Position Registers
K
Kill operation in progress
V
Verify Controller’s status; when On-Line, NF90 sends "B" to
host if busy, "R" if ready; in Jog/slew Mode NF90 sends "J"
C
Clear program from memory
D
Decelerate to a stop (interrupts current index in progress)
E
Enable On-Line mode with echo on
F
Enable On-Line mode with echo oFF
G
Go after waiting or holding
H
Put Controller on Hold (single step mode)
X
Send position of motor 1 to host
Y
Send position of motor 2 to host
Z
Send position of motor 3 to host
The following are for NF90s that are daisy-chained together:
[x] Send commands to the next NF90 in the "chain", x are any of
the above commands
&
Enable multiple NF90s that are daisy-chained
8
Example Programs: (These Examples are included on the Utility
Disk)
The following examples require commands (ASCII characters) be sent
to the NF90 with a terminal or computer operating with a terminal
program. Make sure your computer or terminal is set at 7 data, 2
stop bits and even parity, and the same baud rate (baud rate is
factory set to 9600) as the NF90 ( see Appendix A to change baud
rate on the NF90 ).
The other method to send commands is with commercially available
languages such as BASIC, C, PASCAL, FORTRAN, or ASSEMBLY.
Note: The "<cr>" is a carriage return character ( <Enter> key on
most keyboards). Command characters are in LARGE BOLD.
Example #1
Motors run
On-Line
RAM usage
(bytes)
-
Function
-
Enable On-Line mode
with echo on (OnLine light lit)
E
Example #2
Motors run
Index
RAM usage
(bytes)
1
Function
3
Index Motor 1 400
steps (1 rev) CW
I1M400,R
or
I1M400<cr>
R
Graphic Representation:
Example #3
Clear
Motors run
start
→
+----+
RAM usage
(bytes)
-
-
C
9
end
Function
Clear
previous
program from memory
Example #4
Index
Motors run
RAM usage
(bytes)
1
Function
3
Index Motor
steps CCW
1
600
I1M-600,R
end
Example #5
Auto-Reverse
Motors run
←
+------+
start
RAM usage
(bytes)
1
6
Function
Auto-Reverse
2)
(motor
I2M600,I2M0,R
→
start/end +------+
:
:
+------+
←
Example #6
Repeating Index
Motors run
RAM usage
(bytes)
1
9
Function
Repeating Index in
two
directions,
pausing
1
sec.
between Indexes
P10,I1M400,L10,L-2,R
start/end
→
P
P
P
P
P
P
P
P
P
P
+---+---+---+---+---+---+---+---+---+
1
2
3
4
5
6
7
8
9 10
:
:
P
P
P
P
P
P
P
P
P
P
+---+---+---+---+---+---+---+---+---+
10
9
8
7
6
5
4
3
2
1
←
10
Example #7
Motors run
Raster Scan
RAM usage
(bytes)
2
18
Function
Raster scan
with 1
sec.
pauses
and
waiting for input at
beginning
and
the
end,
then
run
backwards
through
raster scan
I1M200,P10,L7,I2M400,L-4,U0,LM-2,U0,L0,R
→
P
P
P
P
P
P
+-1--+-2--+-3--+-4--+-5--+-6--+-7--+
U
P
P
P
P
P
P
⇐
⇑↓
←
P
P
P
P
P
P
+-7--+-6--+-5--+-4--+-3--+-2--+-1--+
P
P
P
P
P
P
⇒
⇑↓
→
P
P
P
P
P
P
+-1--+-2--+-3--+-4--+-5--+-6--+-7--+
P
P
P
P
P
P
⇐
⇑↓
←
P
P
P
P
P
P
+-7--+-6--+-5--+-4--+-3--+-2--+-1--+
U
P
P
P
P
P
P
⇒
Key: → =forward path
⇒ =backwards path
start
Example #8
Rectangle
Motors run
RAM usage
(bytes)
2
12
3
4
Rectangle,
with
Output and Wait at
each corner
→
U
+--------------------------------+
U
↓
↑
U
U
+--------------------------------+
←
11
2
Function
I1M2000,U1,I2M1000,U1,LM-3,L0<cr>
start
1
Example #9
Motors run
Home to Limit
RAM usage
(bytes)
1
9
Function
Home
Motor
1
to
Positive
Limit
Switch and move 200
steps
from
switch
and zero position
S1M600,I1M1000000,I1M-200,R<cr>
The host must wait for the above commands to finish (wait for "^"
from NF90) and then zero position registers and clear the above
commands from memory by executing the following:
NC
The NF90 is now zeroed 200 steps from the positive limit switch and
ready for a program.
CAUTION: Motor speed should not be set above 1000 steps/sec. when
homing to a limit switch.
→
+------------------------------------- limit switch
:
end
+---←
start
Example #10
Motors run
X,Y Matrix
RAM usage
(bytes)
2
17
Function
Mirror-image
Matrix
P3,I1M-400,L3,I2M400,L-4,I1M1600,LM-3<cr>
←
1
2
3
4
start/end
←
P
P
P
P
P
P
+----+----+--------------+----+----+
3
2
1
↓
→
→
↑
P
P
P
P
P
P
+----+----+
+----+----+
↓
↑
←
←
P
P
P
P
P
P
+----+----+
+----+----+
↓
↑
→
→
P
P
P
P
P
P
+----+----+--------------+----+----+
1
2
3
12
X,Y
Example #11
Motors run
Two Raster Scans
RAM usage
(bytes)
2
Function
19
Two Different Raster
Scans using Loop-tomarker
I1M2000,I2M300,L-4,L-0,I2M600,I1M3000,L-3,I2M0<cr>
start/end
→
+---------------------------+ 1
↑
↓
←
+---------------------------+ 2
↓
→
+---------------------------+ 3
↓
↑
←
+---------------------------+ 4
↓
→
+------------------------------------------+ 1
↓
↑
←
+------------------------------------------+ 2
↓
+
Example #12
3
Motors run
X,Y Matrix
RAM usage
(bytes)
3
Function
22
X,Y Matrix Moving Z
Axis Up then Down at
each Position
I3M2000,I3M-2000,I1M1600,L5,I2M400,L-3,I1M0,I2M0<cr>
1
2
3
→
4
→
5
Z
Z
Z
Z
Z
+---------+--------+--------+--------+
↓
↑
←
Z
Z
Z
Z
Z
+---------+--------+--------+--------+
↓
↑
→
Z
Z
Z
Z
Z
+---------+--------+--------+--------+
↑
←
←
←
←
start/end
13
1
2
3
Interactive Mode
The NF90 can be controlled in an interactive mode. The following
procedure would be used for running the NF90 in an interactive
mode:
1.
2.
3.
4.
5.
6.
7.
8.
9.
The host puts the NF90 On-Line by sending an "F"
The host sends a "N" to zero position registers if necessary
The host sends speed, and acceleration if necessary
The host sends an Index
The host sends a "R" to start the Index
The host then will wait until it receives a ready prompt ("^")
from the NF90
The user’s routine for outputting, measuring, etc. would be
executed by the host
A "C" would be sent from the host to clear the previous Index
command from the NF90’s memory
The process is repeated from step # 3
Below is an interactive example written in BASIC: (This program is
included on the Utility Disk under the name "NFEXINT")
95 REM Open RS-232 (COM1:), 9600 Baud, control lines disabled,ASCII
100 OPEN "COM1:9600,E,7,2,CS0,DS0" FOR RANDOM AS #1
105 REM Enable with echo off, Zero position registers
110 PRINT #1, "FN"
115 REM Clear any existing program, 1000 Steps/Sec, Index 1500steps
120 PRINT #1, "C S1M1000,I1M1500,R"
130 GOSUB 500
135 REM Clear existing program, Index 900 steps
140 PRINT #1, "C I1M900,R"
150 GOSUB 500
155 REM Clear existing program, Index 1000 steps
160 PRINT #1, "C I1M1000,R"
170 GOSUB 500
175 REM Clear existing program, 2000 Steps/Sec, Index to zero
180 PRINT #1, "C S1M2000,I1M0,R"
190 GOSUB 500
390 PRINT "DONE RUNNING NF90"
392 REM leave NF90 off-line
395 PRINT #1, "Q"
400 END
499 REM Wait until ready ("^") prompt appears in receive buffer
500 C$ = INPUT$(1, #1)
510 IF C$ <> "^" THEN 500
515 REM Request motor position from NF90 and print on your computer
520 PRINT #1, "X"
530 INPUT #1, P
540 PRINT "MOTOR POSITION="; P
550 REM Your routine for end of Index would go here
600 RETURN
14
Stand-alone Mode
The NF90 can be programmed in a stand-alone mode. In a stand-alone
mode the host downloads all the commands necessary and the operator
starts the program with the RUN (J1,4) input on the J1 connector
(see Appendix C for a proper remote RUN input).
Below is a BASIC example that sends example #6 as a stand-alone
program: (This program is included on the Utility Disk under the
name "NFEXSTD")
95 REM Open RS-232 (COM1:), 9600 Baud, control lines disabled,ASCII
100 OPEN "COM1:9600,E,7,2,CS0,DS0" FOR RANDOM AS #1
105 REM Enable with echo off, Zero position registers,clear any pgm
110 PRINT #1, "FNC P10,I1M400,L10,L-2,"
999 END
Another way of sending programs from an IBM PC would be to first
write them as text files with an editor such as DOS Edlin or
Wordstar nondocument, and use the DOS commands MODE and COPY to
send them to the NF90.
If the following
"EXAMPLE":
program
was
stored
under
the
file
name
of
FNC P10,I1M400,L10,L-2,
Then the following DOS commands would send the program at 9600 baud
to a NF90 connected to COM1 serial port of the PC:
MODE COM1:9600,E,7,2
COPY EXAMPLE COM1
15
Daisy-chaining NF90 Controllers
Users that require more than three motors or simultaneous motion
can daisy-chain NF90 Controllers together. Multiple Controllers can
be operated from a single RS-232 port by daisy-chaining. When
daisy-chaining multiple NF90s together, addressing is accomplished
by enclosing information in brackets. Information between brackets
is relayed to succeeding Controllers. The number of brackets used
determines the destination of the information. As each Controller
receives the information, it removes a set of brackets and relays
the remainder of the instruction to the next Controller. Up to 255
Controllers can be daisy-chained together and programmed in this
manner. For example, if four Controllers are daisy-chained together
and the fourth Control is to be programmed, the instruction for
that Controller would be placed within three brackets. The first
Controller receiving the information would remove one set of
brackets and relay the information along, the second Controller
would remove the second set of brackets and the third Controller
would remove the third set and relay the instructions to the fourth
without any brackets. The targeted fourth Controller would then be
programmed with the information.
EXAMPLES:
This character will put all the NF90s On-Line.
&
This will take two NF90s linked together off-line.
[Q]Q
This will program Controller #4 to Index Motor 1 800 Steps.
[[[C,I1M800,R]]]
This polls Controller #2 to see if it is busy.
[V]
This requests position of Motor 1 of Controller #3.
[[X]]
16
The procedure for daisy-chaining Controllers:
1.
Connect the RS-232 from the host to the NF90 Controllers
as shown.
2.
Set RS-232 parameters on the host and Controllers the
same.
3.
Initialize Controllers by sending the following character
(CAUTION: do not use the "E" or "F" command to put the
NF90s On-Line):
&
The "&" commands all the Controllers On-Line with echo
off (the host will receive a "!" from the last NF90).
4.
Controller #1 is now ready to receive commands, all other
controllers will be in a relay mode. Use brackets to
address a different NF90 in the chain.
17
Reference
This section gives detailed explanations of the NF90’s commands
The following commands must end with a carriage return (Enter key
or Return on most keyboards) or a comma. Most of the commands use
the NF90’s (RAM) memory. The required memory needed per command is
specified in the following descriptions. The NF90 has 101 bytes of
RAM available for commands, which is reestablished when the "C"
(Clear) command is used.
The NF90 will ignore any incoming
commands and send a "^" if it’s memory is totally full.
ImMx
Set steps to Index (Move) motor CW* (positive, UniSlide
Slider will move away from motor end , Rotary Table will
rotate CCW*), m= motor# (1,2,3), x=1 to 1048575.
Memory usage = 3 bytes.
Examples:
Note: The "<cr>" is a carriage return character
( <Enter> key on most keyboards). Command characters are in
LARGE BOLD.
This example sets motor 1 to index 1200 steps CW:
I1M1200<cr>
This example sets motor 2 to index 9200 steps CW:
I2M9200<cr>
This example sets motor 3 to index 10200 steps CW:
I3M10200<cr>
To calculate the number of steps for indexing, divide the distance
desired to move by the Adv/step. Example: To move 1 inch with the
W4 lead screw ( 1 ÷ 0.001 = 1000 ) requires a 1000 step index.
UniSlide
Adv/rev
Adv/step
Speed at 1000
Lead Screw
steps/sec
P40,C
0.025"
0.0000625"
0.0625 ips
P20,B
0.050"
0.000125"
0.1250 ips
P10,W1
0.100"
0.00025"
0.2500 ips
P5,W2
0.200"
0.0005"
0.5000 ips
P2.5,W4
0.400"
0.001"
1.0000 ips
WF
1.000"
0.0025"
2.5000 ips
K1,Q1
1.00 mm
0.0025 mm
2.50 mm/sec
K2,Q2
2.00 mm
0.005 mm
5.00 mm/sec
K4,Q4
4.00 mm
0.01 mm
10.00 mm/sec
UniSlide
Rotary Table
B4872TS
B4836TS
B4818TS
5900-90
5900-45
*
Gear
Ratio
72:1
36:1
18:1
180:1
90:1
45:1
Adv/step
0.0125o
0.025o
0.050o
0.005o
0.010o
0.020o
Speed at 1000
steps/sec
12.5o/sec
25.0o/sec
50.0o/sec
5.0o/sec
10.0o/sec
20.0o/sec
To reverse this direction see Appendix D for wiring changes
18
ImM-x
Set steps to Index (Move) motor CCW* (negative,
UniSlide Slider will move toward motor end , Rotary Table will
rotate CW*), m= motor# (1,2,3), x=1 to 1048575.
Memory usage = 3 bytes.
Examples:
This example sets motor 1 to index 120 steps CCW:
I1M-120<cr>
This example sets motor 2 to index 20 steps CCW:
I2M-20<cr>
This example sets motor 3 to index 1 step CCW:
I3M-1<cr>
ImM0
Index motor to absolute zero position, m=motor#
(1,2,3). When this command is used the NF90 calculates the
distance and direction to get back to absolute zero position.
The "absolute zero" position was established when the NF90 was
turned on or when the "N" (Null Absolute Position Registers)
command is used.
Memory usage = 3 bytes.
Examples:
This example sets motor 1 to index to absolute zero position:
I1M0<cr>
This example sets motor 2 to index to absolute zero position:
I2M0<cr>
This example sets motor 3 to index to absolute zero position:
I3M0<cr>
SmMx
Set Speed of motor, m= motor# (1,2,3), x=1 to 6000
steps/sec. If this command is not used the default speed will
be 1000 steps/sec.
When the speed is set in a program
followed by a "C" (Clear) command, the speed will default to
this last set speed. NOTE: motor torque decreases as speed
increases, and most motors have limited torque above 2000
steps/sec, see Appendix E for speed/torque curves. Stepping
motors produce vibration at certain speeds, if noise or
vibration at a chosen speed is objectionable, try a speed
slightly higher or lower.
Memory usage = 3 bytes.
Example:
This example sets the speed of motor 1 to 500 steps/sec:
S1M500<cr>
*
To reverse this direction see Appendix D for wiring changes
19
AmMx
Acceleration/deceleration, m= motor# (1,2,3), x=1 to
50. A value of 1 is 2000 steps/sec2, 2 is 4000 steps/sec2, 50
is 100000 steps/sec2, etc. If this command is not used the
default will be 1 (2000 step/sec2). The higher the number
used, the faster the motor will reach the set speed, and the
faster it will slow down to a stop. CAUTION: motors may stall
if this value is set to high.
Memory usage = 0 bytes (this command is immediate, and uses
a reserved memory location)
Example:
This example sets the acceleration/deceleration of motor 1 to
6000 steps/sec2:
A1M3<cr>
L0
Loop continually from the beginning. This command can be
used once in a program as the last command, it functions the
same as a "continuous run input".
Memory usage = 2 bytes.
L-0
Sets the Loop-to-marker at the current location in the
program. All looping commands, except "L0", that follow this
command will branch to here. Loop commands prior to this one
will branch to the beginning of the program.
NOTE: This
command can be used only once in a program.
The maximum number of loop commands a program can hold is 10
before and 10 after the loop-to-marker.
Memory usage = 0 bytes (this command is immediate, and uses a
reserved memory location)
Lx
Loop from beginning or Loop-to-marker x-1 times (x=2 to
255). Loop commands can be nested for looping more than 255-1
times.
Memory usage = 2 bytes.
The following example loops equal (100x100x10)-1 = 99,999
times:
L100,L100,L10<cr>
NOTE: When the Loop reaches its last count, the non-loop
command directly preceding the Loop will be ignored.
20
L-x
Loop from beginning or Loop-to-marker x-1 times,
alternating direction of motor 1 indexes (x=2 to 255). Loop
commands can be nested for looping more than 255-1 times.
Memory usage = 2 bytes.
The following example loops equal (100x5)-1 = 499 times:
L-100,L5<cr>
NOTE: When the Loop reaches its last count, the non-loop
command directly preceding the Loop will be ignored.
LM-2
Loop once from beginning or Loop-to-marker reversing
index direction of motor 2. See Example Program section for
use of this command.
Memory usage = 2 bytes.
LM-3
Loop once from beginning or Loop-to-marker reversing
index direction of motor 1 and motor 2. See Example Program
section for use of this command.
Memory usage = 2 bytes.
Px
Pause x tenths of a second and output if output enabled
(x=0 to 8191, 10 µsec pause when x=0). The USER OUT (J1,2)
will go to +5V (if "pause control" is enabled) for the
duration of the pause. The default is output enabled when
pausing (see U2 and U3 commands for "pause control").
Memory usage = 2 bytes.
Example:
This example pauses for 15 seconds:
P150<cr>
U0
Wait for a "high" on the user input.
A "high" is a
voltage between +3V and +25V applied to USER IN (J1,3). A
simple pushbutton or toggle switch can be used between +5V
(J1,1) and USER IN (J1,3) to satisfy this input.
Memory usage = 1 byte.
U1
Wait for a "high" on the user input, holding the user
output high while waiting. A "high" is a voltage between +3V
and +25V applied to USER IN (J1,3). The USER OUT (J1,2) will
go to +5V for the duration of the wait.
Memory usage = 1 byte.
21
U2
Disable user output when pausing. Use this command when
you do not want pauses to affect the state of USER OUT (J1,2).
Memory usage = 1 byte.
U3
Enable output on USER OUT (J1,2) when pausing (reset
state)
Memory usage = 1 byte.
U4
User output low. The USER OUT (J1,2) will go to +0V.
This is the state of the user output on power-up.
This
command is used in conjunction with the "U5" command.
Memory usage = 1 byte.
U5
User output high. The USER OUT (J1,2) will go to +5V.
This command is used in conjunction with the "U4" command.
Memory usage = 1 byte.
U6
Send "W" to the host and wait for a "G" to continue. The
NF90 sends the single character "W" to the host when this
command is executed.
The NF90 will wait until a "G" is
received from the host before proceeding in the program.
Memory usage = 1 byte.
U7
Start of Continuous Index with pulse output.
This
command is used when it is desirable to make several Indexes
on one axis without stopping or slowing between each Index.
Instead of stopping a 20 µsec wide pulse will appear on the
USER OUT (J1,2) at each Index distance. This pulse would be
used to trigger measurement/sampling equipment.
The "U9"
command must be used as the last command to decelerate
properly to a stop from the last Index.
Memory usage = 1 byte.
Continuous Indexes require the following:
a)
Each Index must be the same motor, speed, and direction.
b)
After the last Index the motor will move
distance determined by the deceleration.
c)
The first Index should be long enough (or acceleration
high enough) for motor to reach set speed.
d)
The maximum speed that should be used is 2000 steps/sec.
e)
The "D" and the "H" commands can not be used.
22
an
extra
Examples:
This example produces a pulse when motor 1 reaches positions
1000,1100,1150,1250, and then runs back to the start position:
S1M1500,U7,I1M1000,I1M100,I1M50,I1M100,U9,I1M0<cr>
This example will Index motor 2 and pulse 100 times:
U7,I2M400,L101,U9<cr>
This example will run continuously producing a pulse each
revolution of Motor 1:
U7,I1M400,L0<cr>
U8
Start of Continuous Index sending "@" to the host. This
command is the same as the "U7" except the single character
"@" is transmitted at each Index distance, instead of a pulse
on the USER OUT (J1,2).
Always use the highest baud rate
possible (9600).
Memory usage = 1 byte.
U9
End of Continuous Index. This command is used, as the
ending command of a Continuous Index, in conjunction with the
"U7" or "U8" commands.
Memory usage = 1 byte.
Bx
Backlash Compensation, compensation is on when x=1, off
when x=0 (reset state). The NF90 can compensate for mechanical
backlash by ending every index in the positive direction.
When backlash compensation is on, and a motor makes a negative
Index, 20 steps will be added to the Index. The Motor will
then immediately reverse, indexing positive 20 steps.
Memory usage = 0 bytes (this command is immediate, and uses a
reserved memory location)
Ox
Indicate Limit Switch Over-travel to the host, off when
x=0 (reset state), NF90 sends "O" when x=1 and a limit switch
is encountered. This command is useful when the host needs to
know if a positioner’s travel has been exceeded due to a motor
stall or an index(es) that are too long. When Indicate Limit
Switch Over-travel is on, the NF90 transmits the single
character "O" to the host when an indexing motor activates
it’s limit switch input.
Memory usage = 0 bytes (this command is immediate, and uses a
reserved memory location)
NOTE: limit switches also stop motor motion immediately.
23
The following are immediate (not stored) commands, therefore they
do not use any of the NF90’s memory and do not need an ending
carriage return or comma:
Q
Quit On-Line mode (return to Jog/Slew mode). The "Q"
command is used to get back to the power-up state, where the
NF90 is in the JOG/slew mode, and the On-Line light is off.
R
Run program. The "R" command will start execution of
commands stored (program) in the NF90’s memory. At the end of
the "run" the single character "^" will be transmitted to the
host.
Additional "R" commands received by the NF90
will
repeat the same program.
See the "C" command to clear a
program from memory. The RUN input (J1,4) functions the same
as this "R" command.
N
Null (zero) motors 1,2,3 Absolute Position Registers.
This command can be used in the JOG/slew or the On-Line mode.
The "N" command zeros the position registers that have been
counting steps from indexing and/or jog/slewing the motor(s).
K
Kill operation in progress.
This command will
immediately interrupt any running program and reset the user
output.
If a motor is indexing it will be stopped
immediately. If the motor speed is above 1000 steps/sec. when
the interrupt occurs, the motor may loose position due to
mechanical overshoot (see the "D" command for a less abrupt
method to interrupt indexes). The NF90 will transmit the "^"
to the host after receiving the "K" command.
V
Verify Controller’s status, when On-Line the NF90 sends
a "B" to the host if it is busy, or an "R" if it is ready.
The "V" command is used to poll the NF90 to see if it is busy
running a program, or ready to receive more commands. Use of
this command is optional, since the NF90 automatically
transmits a "^" character to the host when a program has
finished. If the NF90 is running a program when it receives
a "V" the NF90 will respond by transmitting the single
character "B". If the NF90 is idle waiting for a command the
NF90 will respond by transmitting the single character "R".
In the JOG/slew Mode, the NF90 will send a "J" in response to
the "V".
C
Clear program from memory. The "C" removes all commands
stored in memory. The Absolute Position Registers, state of
the Backlash Compensation and Indicate Limit Switch Overtravel will not be affected. The acceleration settings will
not be changed and motor speeds will default to the last set
speed.
24
D
Decelerate to a stop (interrupts current index in
progress). When the NF90 receives the single character "D"
while it is indexing a motor, that motor will be decelerated
to a stop at the set deceleration. The NF90 will then proceed
to the next command in the program. The "D" command has a
different function when in the JOG/slew mode, refer to the
section on Digitizing for more information.
E
Enable On-Line mode with echo on. The single character
"E" is used to put the NF90 in the On-Line mode after powerup. All characters the NF90 receives will be echoed back to
the host.
Refer to the section On-Line Mode for more
information.
F
Enable On-Line mode with echo oFF. The single character
"F" is used to put the NF90 in the On-Line mode after powerup. No characters will be echoed back to the host. The NF90
will still respond to motor position and status requests.
Refer to the section On-Line Mode for more information.
G
Go after waiting or holding. The single character "G" is
used to continue when the NF90 is in a single step mode ("H"
command) or when a "U6" command is being executed.
H
Put Controller on Hold (single step mode). When the NF90
receives the single character "H" the Hold Flag will be set.
With the Hold Flag set, a "running" program stops after each
operation (command) and sends a ":" to the host.
An
additional stop occurs at the beginning and end of the program
and when a loop reaches its last count. When stopped, the
"X", "Y", and "Z" commands can be used to read motor position.
A "G" will cause the program to continue to the next
operation.
An "H" toggles the flag off and the program
continues
as normal.
The "K" terminates the program and
clears the Hold Flag. This Command allows single stepping
through a program for debugging or as a program interrupt from
the host.
<Delete>(ASCII 127)
Deletes current partial value "keyedin". Any ASCII character greater than the value 57 will
function as a <Delete>. The NF90 will send a "^" character
when it receives a <Delete>.
25
X
Send position of motor 1 to the host.
When the NF90
receives the single character "X" it will transmit the value
from it’s motor 1 Absolute Position Register.
Below is what
the host would receive if motor 1 is at negative 1200. This
command can be used when the motor is indexing, however speed
should be limited to 500 steps/sec. and the baud rate should
be 9600. See the "N" command for information on zeroing the
Absolute Position Registers.
-0001200<cr>
Y
Send position of motor 2 to the host.
When the NF90
receives the single character "Y" it will transmit the value
from it’s motor 2 Absolute Position Register.
Below is what
the host would receive if motor 2 is at positive 9201. This
command can be used when the motor is indexing, however speed
should be limited to 500 steps/sec. and the baud rate should
be 9600. See the "N" command for information on zeroing the
Absolute Position Registers.
+0009201<cr>
Z
Send position of motor 3 to the host.
When the NF90
receives the single character "Z" it will transmit the value
from it’s motor 3 Absolute Position Register.
Below is what
the host would receive if motor 3 is at negative 20. This
command can be used when the motor is indexing, however speed
should be limited to 500 steps/sec. and the baud rate should
be 9600. See the "N" command for information on zeroing the
Absolute Position Registers.
-0000020<cr>
NOTE: When using the above commands, with PCs that operate below
7MHz clock speed, a buffer overflow may occur in the PC’s input
buffer. Use a lower baud rate if this error condition occurs.
The following commands are for NF90 controllers that are daisychained together.
[x]
Send commands to the next NF90 in the "chain", x are any
of the previous commands.
Refer to the section Daisychaining NF90 Controllers (P.16) for more information.
&
Enable multiple NF90s that are daisy-chained. The "&"
command is used in place of the "E" or "F" command when NF90
controllers are daisy-chained together. Refer to the section
Daisy-chaining NF90 Controllers (P.16) for more information.
26
Troubleshooting Procedure
SYMPTOM
POSSIBLE CAUSE
Power light does
not "light" when
NF90 is switched
on.
CORRECTIVE ACTION
Blown fuse.
Check fuse located on the
back of the Controller.
Line
cord
not
fully plugged in
Check line cord at power
receptacle on back of
Controller
Limit switch(es)
circuit open or
switches
improperly wired
or missing.
Check limit switches for
proper
action
and
connection.
Make sure
connector J1 is fully
seated
Wire connections
or connector J2
may
have
come
loose
Make sure connector J2 is
fully
seated
and
connector’s screws are
tight.
In-line
fuse
located on side
of NF90 may have
blown.
Check fuse. If fuse is
blown, check motor and
motor cables.
On-Line
light
flashes
continuously
after power-up
RUN input (J1,4)
is activated by
user switch or
jumper.
Open connection
input (J1,4).
Controller does
not come On-Line
when sent "E" or
"F".
RS-232C may not
be
connected
properly.
Trace Transmitted Data,
Received Data, and Signal
Ground wires from your
computer to the NF90.
Your computer or
terminal is not
sending
upper
case letters.
Transmit only upper case
letters. The Controller
will not respond to lower
case.
Your
computer
may
require
a
high on its Data
Set Ready (DSR)
line.
Check with the computer
manufacturer to see if
the DSR line must be
pulled high, or if it can
be disabled in software.
The
RS-232-C
parameters
are
not
set
properly.
Match
the
RS-232-C
settings on the NF90 to
those of your computer or
terminal.
Motor does
operate.
not
NF90
does
not
come On-Line or
program does not
operate.
27
to
RUN
Your
computer
does not receive
data
from
the
Controller.
Your
computer
may
require
a
"high"
on
its
Request To Send
(RTS) line.
Check with the computer
manufacturer to see if
the RTS line must be
pulled high, or if it can
be disabled in software.
Motor stalls, it
does not move at
all.
Inertia
in
system
is
too
high,
or
mechanism
has
seized.
Hand rotate the system to
locate any binding.
A
larger
motor,
or
a
different ratio (pitch)
may be required.
Motor
stalls,
after
rotating
slightly.
Acceleration too
high.
Use a lower acceleration
/deceleration.
Motor
cannot
overcome
friction
or
load.
Check mechanism for ease
of movement. Load will
have to be reduced or
counterbalanced.
Motor
stalls
before reaching
maximum speed.
Motor torque decreases as it’s
speed increases.
Reduce steps/sec. setting
of motor.
With
Motor
removed
from
equipment, Motor
runs erratically
at all speeds,
has no torque.
Broken
cable.
Check
cable
and
connector
for
broken
wires and repair breaks.
Faulty Motor.
(Rare)
Replace Motor.
Motor or system
resonates
(vibrates
loudly).
The motor speed
is the motor or
system’s natural
resonant
frequency
(common
at low speeds).
Increase
or
decrease
speed to avoid resonance
points.
A
damper
or
flywheel added to the
motor shaft or lead screw
may dampen the resonance.
Controller stops
operating for no
apparent reason.
Inductive surge
on
AC
powerline.
Isolate or remove any
equipment that may be
putting "spikes" on the
power-line.
Inductive/Static
surges coming in
the
I/O
connections.
Make sure all external
equipment connected is
properly
grounded
and
inductive
loads
are
isolated from the NF90.
motor
28
Specifications
FUNCTIONAL
Packaged Controller/Driver, using Microcomputer control of stepping
motors. Operates one to three (dependent on model) motors,
one-at-a-time.
Interactive limit switch inputs (TTL), (CW and CCW for each axis).
One User Input (0V to +3V min., -25V to +25V max.), and one User
Output (0 or +5V, 10 ma sinking and 3 ma sourcing capability).
Programming through full-duplex RS-232-C; 300,1200,4800,9600 Baud
(switch settable), 7 Data bits, Even parity, 2 Stop bits, ASCII;
special configurations with 8 data bits, odd or no parity, are
available.
User available RAM for program storage is 101 bytes
Remote Run and joystick Inputs (TTL).
Eight foot ( 244 cm ) motor and limit switch cables with connectors
MOTOR COMPATIBILITY
1.8o PM 6 or 8 lead stepping motors, 4.7 amp/phase maximum.
Factory matched for a particular motor current, motors on each axis
to be the same amp/phase value.
PHYSICAL
Weight:
Height:
Width:
Depth:
7.2 lbs. ( 3.2 kg )
5.0 inches ( 12.7 cm )
10.8 inches ( 27.4 cm )
7.8 inches ( 19.8 cm )
ELECTRICAL REQUIREMENTS
90 to 130 VAC 50/60Hz, 150 watts
ENVIRONMENTAL
35o to 95o F
( 2o to 35o C )
Convection cooled
MODELS
Model # NF90-1
Model # NF90-2
Model # NF90-3
One motor version
Two motor version
Three motor version
29
Appendix A
Switch settings and RS-232-C Connections (7 Data,Even,2 Stop)
Suggested RS-232 Cable Configuration
IBM PC,XT,AT, &
Compatibles
NF90
Controller
Serial (25 Pin)
J1
TX
RX
GND
RTS
CTS
DSR
DTR
2
3
7
4
5
6
20
18 RX
17 TX
16 GND
Serial (9 Pin)
RX
TX
GND
DTR
DSR
RTS
CTS
J1
2
3
5
4
6
7
8
17 TX
18 RX
16 GND
30
Appendix B
Limit Switch and Joystick Connections
31
Appendix C
USER OUT, USER IN, and RUN Connections
32
Appendix D
Motor Connections
33
Appendix E
Motor Performance
(Superior Electric / Bodine model numbers)
34
Limited Two Year Warranty
Velmex warrants this Controller against defects in material and workmanship for a period of two
years from date of shipment. In case of defect, Velmex will repair this Controller without
charge. The user will be responsible for shipment to Velmex, and will be charged a minimum of
$45.00 for non-warranty service.
For service under this warranty:
1.
2.
3.
4.
Contact Velmex to obtain a Return Authorization number (Tel. 716-657-6151).
Pack Controller in the original container or equal.
Enclose a description of the problem, along with the return address, the name of
the end user, his/her telephone and fax number.
Ship Controller Prepaid and insured to :
Velmex, Inc
7550 State Route 5&20
Bloomfield, NY 14469
Exclusions and Limitations:
This warranty covers step motor controllers manufactured by Velmex, Inc. External
electrical cables and connectors are not covered for wear and breakage. This warranty
does not extend to any damage or malfunction resulting from misuse, neglect or accident.
Except for any implied warranty, this warranty contains the entire obligation of Velmex,
and the remedies described above are the exclusive remedies under this warranty or any
implied warranty. The duration of any implied warranty is limited to two years. In No
Event Shall Velmex Be Liable For Incidental or Consequential
Damages.
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement