|
Controller
No Longer Available.
See VXM controller

The VP9000 is a complete, powerful stepping
motor controller/driver, capable of running up to four motors, in
one compact package. The VP9000 is fully front panel and RS-232
programmable. Commands and data are entered either through the RS-232
interface or selected with the front panel keyboard. Motor position(s),
setup parameters, and menus are viewed on the front panel display.
31 programs (over 1900 moves) can be entered into nonvolatile memory.
An optional encoder interface is available for automatic motor stall
detection.
Features
- Completely wired and tested for direct
connection to UniSlide motors/Assemblies.
- Linear type motor and logic power supplies
provide low Electromagnetic Interference (EMI).
- Motor position can be read while motor
is in motion.
- Automatic Power Down reduces power consumption
by de-energizing the motors when at a standstill. Motor 1 can
be set to stay energized when at a standstill.
- A Digitizing function can be utilized
with the front panel display, or with a host computer or terminal.
- A Jog Controller (included) allows motors
to be jogged manually one step or slewed up to full speed.
- Front Panel Readouts can be set to display
motor position in "real" units for various Lead Screw
pitches and Rotary Table gear ratios.
- "Friendly" error messages
displayed on front panel simplify troubleshooting.
- Terminal/Editor, Diagnostic and BASIC,
C, and PASCAL Example Programs for DOS PCs on diskette are included.
- The VP9000 can run in an interactive
or stand-alone mode.
- Acceleration/Deceleration is programmable
from 1,000 to 127,000 steps/sec2 in 1,000 step/sec2 increments.
- Speed is programmable from 1 step/ 2
sec to 8000 steps/sec in 1 step/sec increments.
- Incremental and Absolute Index distances
are programmable from ±1 to ±16,777,215 steps.
- Programmable Home to Limit and Zero
Position commands.
- The VP9000 stores thirty-one different
programs (total of 1984 different moves), or an optional sixty-two
program version.
- Jump-to a different program and Jump-to-and-return
commands allow programs to be extensions and subroutines to other
programs.
- Nine 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 109 minutes in 100 millisecond intervals, and 0.1 milliseconds
to 6.5535 seconds in 0.1 millisecond intervals.
- Two User Outputs can be programmed to
turn On and Off an external solid state relay, or interface to
other logic level devices.
- Two User Inputs can be utilized in a
program as WAITs for an external logic "low" level,
external switch, or relay closure.
- Special Inputs provide interruption
of WAIT or motion commands. An interrupt will decelerate a running
motor to a stop, or terminate a WAIT command and transfer control
to a user specific program.
- A user programmable counter can totalize
over four billion counts and display total on the front panel.
- The VP9000 can be programmed to send
a pulse or character at preset distances without stopping or slowing
the motor. Up to 6 speeds can be preset to change "on the
fly".
- Backlash Compensation can be set to
automatically finish every index approaching from the positive
direction.
- Single Step mode is provided for debugging
a program or as a controlled interrupt.
- The VP9000 can be polled for its status
at any time; additionally a prompt ("^") is automatically
sent to the host when a program has finished.
- Multiple 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"; unused
limit switch inputs can be software disabled.
- The VP9000 can be set to signal the
host when a limit switch has been encountered.
- Extensive self testing built in.
- Compact Enclosure, rack mountable, with
no fans or vent openings.
- A twelve-foot serial communication cable,
and 25 to 9 pin adapter for PCs comes standard.
- 2 year Limited Warranty.
Specifications
Functional
- Packaged Controller/Driver, 400 steps
per revolution (0.9o step angle) resolution. Operates one to four
(dependent on model) motors, one-at-a-time. Bi-level motor drives,
settable holding torque for motor one. Interactive limit switch
inputs (TTL), (CW and CCW for each axis).
- User input 1 active high (0V to +3V
min., -25V to +25V max.), Input 2 is TTL active low, and two user
outputs (0 or +5V, 10 mA sinking and 3 mA sourcing capability).
- Wide viewing angle, 2 line x 24 character,
backlit, super-twist LCD readout for motor position display and
data selection.
- Six key calculator quality keyboard
for cursor control, display selection, and 0 entry.
- Front panel programmable or through
a full-duplex three wire RS-232-C; 300,1200,4800,9600 Baud (settable),
7 Data bits, Even parity, 2 Stop bits, ASCII.
- User available NVRAM for program storage
is 7936 bytes.
- Remote Run, Reset, Two Interrupt input.
- Inputs to count quadrature converted
pulses from multiplexed encoder.
- Ten-foot motor and limit switch cables
with connectors.
Electrical Requirements
- 90-130 VAC, 50/60 Hz operation standard.
- 190-260 VAC, 50/60 Hz operation is optional.
Motor Compatibility
- American Precision: 23D-6108A, 23D-6209A,
23D-6309A, 34D-9109A, 34D-9209A, 34D-9311A
- Bodine Electric: 2430, 2530, 2431, 2531,
2411, 2511, 2433, 2533, 2434, 2534, 2435, 2535
- Superior Electric: MO61-LS08, MO62-LS09,
MO63-LS09, MO91-FD09, MO92-FD09, MO93-FD11
- Vexta: PX245-01, PX245M-01, PX245-02,
PX245M-02, PK245-01, PK245M-01
- Other motors on request
Physical
- Weight: 22 lbs. (10 kg)
- Height: 5.2 inches (13.2 cm)
- Width (without handles): 8.5 inches
(21.6 cm)
- Depth (without handles): 14.3 inches
(36.3 cm)
Environmental
- 35o to 95o F ( 2o to 35o C ) Convection
cooled
Models
| Cat
# |
Model
# |
Version |
| 4-911 |
VP9001 |
One
motor |
| 4-912 |
VP9002 |
Two
motor, one-at-a-time. |
| 4-913 |
VP9003 |
Three
motor, one-at-a-time. |
| 4-914 |
VP9004 |
Four
motor, one-at-a-time. |
|
Options
- Cat. # 4-918, 19" Rack Mount Extension
Plates
- Cat. # 4-919, Encoder Interface Module
for 1-4 motors
VP9000 Command Summary
|
Motion
Commands
|
| ImMx |
Set
steps to incremental Index motor CW (positive),
m=motor# (1,2,3,4), x=1 to 16,777,215 |
| ImM-x |
Set
steps to incremental Index motor CCW (negative),
m= motor# (1,2,3,4), x=1 to 16,777,215 |
| IAmMx |
Set Absolute Index
distance, m=motor# (1,2,3,4), x=
±1 to ±16,777,215 steps
|
| IAmM0 |
Index
motor to Absolute zero position, m=motor#
(1,2,3,4) |
| IAmM-0 |
Zero
motor position for motor# m, m= 1,2,3,4 |
| ImM0 |
Index
motor until positive limit is encountered, m=motor#
(1,2,3,4) |
| ImM-0 |
Index
motor until negative limit is encountered, m=motor#
(1,2,3,4) |
| SmMx |
Set
Speed of motor (70% of power applied to motor),
m=motor# (1,2,3,4), x=0 to 8000 steps/sec.
0 being 1 step/ 2 sec. |
| SAmMx |
Set
Speed of motor and Ascend to 100% power,
m= motor# (1,2,3,4), x=0 to 8000 steps/sec.
0 being 1 step/ 2 sec. |
| AmMx |
Acceleration/deceleration,
m= motor# (1,2,3,4), x=1 to 127; 1 is 1000
steps/sec2, 2 is 2000 steps/sec2, 127 is 127000 steps/sec2,
etc. |
|
|
Looping
Commands
|
| L0 |
Loop
continually from the beginning or Loop-to-marker of the
current program |
| LM0 |
Sets
the Loop-to-marker at the current location in the
program |
| LM-0 |
Resets
the Loop-to-marker to the beginning of the current
program |
| Lx |
Loop
from beginning or Loop-to-marker x-1 times (x=2
to 65,535), when the loop reaches its last count the non-loop
command directly preceding will be ignored |
| L-x |
Loop
from beginning or Loop-to-marker x-1 times, alternating
direction of motor 1, when the loop reaches
its last count the non-loop command directly preceding
will be ignored |
| LAx |
Loop
Always from beginning or Loop-to-marker x-1
times (x=2 to 65,535) |
| LA-x |
Loop
Always 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 |
|
|
Miscellaneous
Commands
|
| Px
|
Pause
x tenths of a second (x=0 to 65,535, 10
msec pause when x=0) |
| PAx |
Pause
x tenths of a second Altering output 1 high for
duration of the pause (x=0 to 65,535, 10 msec pause when
x=0) |
| P-x
|
Pause
x tenths of a millisecond (x=0 to 65,535) |
| PA-x
|
Pause
x tenths of a millisecond Altering output 1 high
for duration of the pause (x=0 to 65,535) |
| Bx
|
Backlash
compensation, compensation on when x=1, off when
x=0 |
| Ox
|
Indicate
limit switch Over-travel to host, off when x=0,
VP9000 sends "O" when x=1 and a limit
switch is encountered |
| PMx
|
Select
Program number x, x= 0 to
30 |
| PM-x
|
Select
and clear all commands from Program number
x, x= 0 to 30 |
| PM
|
Request
the number of the current Program |
| Jx |
Jump
to the beginning of program number x, x=
0 |
| JMx
|
Jump
to the beginning of program number x and come back
for More after program x ends, x=
0 to 30 |
|
|
User I/O
Commands
|
| U0
|
Wait
for a "high" on user input 1 |
| U1
|
Wait
for a high on user input 1, holding user output 1 high
while waiting |
| U2
|
Enable
Jog mode while waiting for an input |
| U3
|
Disable
Jog mode while waiting for an input |
| U4
|
User
output 1 "low" (reset state) |
| U5
|
User
output 1 high |
| U6
|
Send
"W" to host and wait for a "G" to
continue |
| U7
|
Start
of Continuous Index with pulse on output 2 |
| U8
|
Start
of Continuous Index sending "@" to the host |
| U9
|
End
of Continuous Index |
| U10
|
Wait
for a low on input 2 |
| U11
|
Wait
for a low on input 2, holding user output 2 high while
waiting |
| U12
|
Wait
for a keyboard key to jump to a program or continue: ç
key to jump to program #21, è key to jump to program #22,
ê key to jump to program #23, é key to jump to program
#24, 0 or SEL key to proceed in current program |
| U13
|
Wait
for a button on Remote Control to jump to a program or
continue: 1- key to jump to program #25, 1+ key to jump
to program #26, 2- key to jump to program #27, 2+ key
to jump to program #28, key to proceed in current program |
| U14
|
User
output 2 low (reset state) |
| U15
|
User
output 2 high |
| U16
|
Wait
for ç key to be pressed on front panel keyboard |
| U17
|
Wait
for è key to be pressed on front panel keyboard |
| U22
|
Wait
for a keyboard key to jump to a program and come back,
or continue: ç key to jump to program #21 and come back,
key è to jump to program #22 and come back, key ê to jump
to program #23 and come back, key é to jump to program
#24 and come back, 0 or SEL key to proceed in current
program |
| U23
|
Wait
for a button on Remote Control to jump to a program and
come back, or continue: 1- key to jump to program #25
and come back, 1+ key to jump to program #26 and come
back, 2- key to jump to program #27 and come back, 2+
key to jump to program #28 and come back, key to
proceed in current program |
| U30
|
Wait
for a high to low transition on user input 1 |
| U31
|
Wait
for a high to low transition on user input 1, holding
user output 1 high while waiting |
| U32
|
Wait
for 1- button to be pressed on Remote Control |
| U33
|
Wait
for 1+ button to be pressed on Remote Control |
| U40
|
Wait
for a low to high transition on input 2 |
| U41
|
Wait
for a low to high transition on input 2, holding user
output 2 high while waiting |
| U50
|
Wait
for a high and low on user input 1 with debouncing for
a mechanical push-button switch |
| U51
|
Wait
for a high and low on user input 1 with debouncing for
a mechanical push-button switch, holding user output 1
high while waiting |
| U60
|
Wait
for a low and high on user input 2 with debouncing for
a mechanical push-button switch |
| U61
|
Wait
for a low and high on user input 2 with debouncing for
a mechanical push-button switch, holding user output 2
high while waiting |
| U70
|
Zero
counts in user programmable counter |
| U71
|
Display
user programmable counts "on" |
| U72
|
Display
user programmable counts "off" |
| U73
|
Increment
user programmable counter by one |
| U90
|
Wait
for Run input |
|
|
Single
Character Commands
|
| Q
|
Quit
On-Line mode (return to Jog/slew mode) |
| R
|
Run
currently selected program |
| N
|
Null
(zero) motors 1,2,3,4 absolute position registers |
| K
|
Kill
operation in progress and reset user outputs |
| V
|
Verify
Controller’s status, VP9000 sends "B" to host
if busy, "R" if ready, or "J" if in
the Jog/slew mode |
| C
|
Clear
all commands from currently selected program |
| 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
|
Same
as "F" except <Cr> is added as termination
character |
| 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 |
| T
|
Send
position of motor 4 to host |
| M
|
Request
Memory available for currently selected program |
| #
|
Request
the number of the currently selected motor |
| %
|
Requests
encoder/motor status from last index, VP9000 sends: =
when motor counts and encoder counts are equal,
< when encoder counts are less than motor
counts (motor stall), > when encoder counts
are greater than motor counts (motor overshoot) |
| {x}
|
Send
commands to the next VP9000 in the "chain",
x are any of the previous commands |
| &
|
Enable
multiple VP9000s that are daisy chained |
| *
|
Request
position when last motor was interrupted with a "D"
command or user Input 4 |
|
|
|