PoKeys Pulse Engine v2 - User Manual - 2
PoKeys Pulse Engine v2 - User Manual - 2
Version: 6/3/2016
PoKeys Pulse engine v2 documentation
SAFETY INFORMATION
!
This product is intended for integration by the user into a computer numerical control (CNC)
machine. It is the user's responsibility to assess the overall system design and address all safety
considerations that affect the users and equipment. The user assumes all responsibility for system
design, including compliance with regulatory standards and codes issued by the applicable
entities. PoLabs do not make any claims as to the suitability of this equipment for the user’s
application. Serious personal injury or equipment damage can occur from the improper integration,
installation or operation of this product.
This product is not guaranteed to be fail-safe. The system that this equipment is used with shall be
fitted with a separate means of fail-safe protection, emergency-stop capability and/or system power
removal. This equipment may be connected to dangerous power sources, including electrical power
sources. Dangerous voltage levels may be present at this equipment or at connected devices.
Measures must be taken to prevent persons from contacting voltage sources which may be present.
Equipment should be housed inside an enclosure suitable for the intended environment. Safety
interlocks should be provided to prevent any and all dangers to personnel.
CNC machine tools are inherently dangerous, and can cause injury to operators and maintenance
personnel. Operators and maintenance personnel shall be properly trained in the safe use, operation
and maintenance of such machines. Automated machines that this equipment may be used with can
move at any time. All persons exposed to such machines must understand the dangers that are
present.
2 www.poscope.com
PoKeys Pulse engine v2 documentation
Description
PoKeys Pulse engine v2 (upgrade of the original PoKeys Pulse engine) is available on PoKeys56U,
PoKeys56E and PoKeys57E devices and enables a direct control of a positioning systems that accepts
step/direction signals (stepper motors, servo systems, etc.). PoKeys Pulse engine can operate in
standalone (rapid positioning and speed control mode, homing, probing) or in slave mode (under the
commands of the PC application). Each axis supports two end (limit) switch inputs, one home
(reference position) switch input, which can be either a dedicated one or shared with limit switch
inputs. All inputs can are fully configurable (input polarity, placement) using the PoKeys protocol
(used by PoKeys application or a third party application for motion control).
In addition, operations in each axis can be limited using the soft limit function, where minimum and
maximum permissible axis position is specified - once enabled, the axis is put to a stop when
exceeding the allowed range, but is free to move in other direction.
Each axis can be assigned a different encoder with a customizable multiplication factor for the
operation with MPG (manual pulse generator).
PoKeys Pulse engine also supports a dedicated emergency switch input, which stops the pulse
generation.
Figure 1: PoKeys Pulse engine connections for use with the integrated pulse generator
3 www.poscope.com
PoKeys Pulse engine v2 documentation
Table of contents
Description .............................................................................................................................................. 3
Pulse generator selection .................................................................................................................... 6
PoKeys device pins in use ........................................................................................................................ 7
Integrated pulse generator - up to 3 axes at 25 kHz step frequency .................................................. 7
External pulse generator with dedicated IO capability - up to 8 axes at 125 kHz step frequency ..... 8
10-pin motor driver connector pinout ............................................................................................ 9
Dedicated axis switch inputs ........................................................................................................... 9
Relay outputs................................................................................................................................... 9
Open-collector outputs ................................................................................................................. 10
0-10 V voltage output .................................................................................................................... 10
Additional digital inputs ................................................................................................................ 10
Pulse engine limitations: ....................................................................................................................... 11
PoKeys Mach3 plugin ............................................................................................................................ 12
Installing plugin ............................................................................................................................. 12
PoKeys Mach3 plugin existing functionality .................................................................................. 12
Configuring plugin for the first time .............................................................................................. 12
Enabling Pulse engine .................................................................................................................... 14
Motors/axis setup ......................................................................................................................... 15
Axis switches configuration ........................................................................................................... 17
Setting up digital inputs and outputs mapping ............................................................................. 18
Pendant mode ........................................................................................................................... 19
PoPendant configuration....................................................................................................... 20
Encoder (MPG) settings ................................................................................................................. 21
MPG (manual pulse generator) setup ....................................................................................... 21
PoKeys IO status ............................................................................................................................ 26
Other (miscellaneous) settings ...................................................................................................... 26
Reading and writing of IO from VB script ...................................................................................... 27
Example script (finds the PoKeys device with the serial number 25000, then toggles the IO 1
on and off at a rate of 1 Hz): ..................................................................................................... 28
Additional OEM buttons ................................................................................................................ 29
Additional OEM LEDs ..................................................................................................................... 29
Pulse engine v2 operating principles..................................................................................................... 30
Modes of operation ........................................................................................................................... 31
4 www.poscope.com
PoKeys Pulse engine v2 documentation
5 www.poscope.com
PoKeys Pulse engine v2 documentation
- Integrated pulse generator (for up to 3 stepper motors with step frequencies up to 25 kHz)
- External pulse generator without dedicated IO capabilities (for up to 8 stepper motors with
step frequencies up to 125 kHz) using PoExtensionOC16 or third-party custom board.
- External pulse generator with dedicated IO capabilities (for up to 8 stepper motors with step
frequencies up to 125 kHz, dedicated limit+, limit-, home/ref, axis error inputs, 3 relay
outputs, 4 open-collector outputs, 0-10 V output) using PoKeysCNCaddon (pictured below).
PoKeysCNCaddon inputs and outputs are galvanically isolated from PoKeys board.
6 www.poscope.com
PoKeys Pulse engine v2 documentation
Inputs for limit, home and probing switches can be freely connected to any PoKeys pin and
configured in software.
Remarks:
- Watch for pin 47! It is not used for step output!
- All switch inputs expect normally closed (NC) switches and must be connected between
specified PoKeys input pin and ground.
- We advise adding an additional 1 kΩ pull-up resistor on pins with an external switch
- Emergency switch must be connected in such way so that it cuts the power supply to the
motors when the switch is activated.
7 www.poscope.com
PoKeys Pulse engine v2 documentation
PoExtension
connector 8x
Limit-
Home/Ref
Limit+
signals
Vmax adjustment
1
Note that PoKeys Mach3 plugin supports only 4 axes
8 www.poscope.com
PoKeys Pulse engine v2 documentation
-AX8
RefAX8
+AX8 Pin (from Function Pin Function
-AX7 top to (continued
RefAX7 bottom) )
+AX7
-AX6 -AX8 Limit- for axis 8 -AX4 Limit- for axis 4
RefAX6 RefAX8 Ref/home for axis 8 RefAX4 Ref/home for axis 4
+AX6
-AX5 +AX8 Limit+ for axis 8 +AX4 Limit+ for axis 4
RefAX5 -AX7 Limit- for axis 7 -AX3 Limit- for axis 3
+AX5 RefAX7 Ref/home for axis 7 RefAX3 Ref/home for axis 3
-AX4
RefAX4 +AX7 Limit+ for axis 7 +AX3 Limit+ for axis 3
+AX4 -AX6 Limit- for axis 6 -AX2 Limit- for axis 2
-AX3
RefAX3 RefAX6 Ref/home for axis 6 RefAX2 Ref/home for axis 2
+AX3 +AX6 Limit+ for axis 6 +AX2 Limit+ for axis 2
-AX2 -AX5 Limit- for axis 5 -AX1 Limit- for axis 1
RefAX2
+AX2 RefAX5 Ref/home for axis 5 RefAX1 Ref/home for axis 1
-AX1 +AX5 Limit+ for axis 5 +AX1 Limit+ for axis 1
RefAX1
+AX2
Relay outputs
PoKeysCNCaddon board features 3 relay outputs with normally-open
contacts.
Rating:
9 www.poscope.com
PoKeys Pulse engine v2 documentation
Open-collector outputs
PoKeysCNCaddon board features 4 open-collector outputs with LEDs for signaling the output state.
Rating:
In order to convert PWM signal to an analog output, a low-pass filter with the time constant of 1 ms
is applied to the source signal. In order to avoid ripples in the analog output, use PWM frequency of
10 kHz or more.
Setup/calibration: either set the duty cycle to 100% or connect the PWM signal input to
PoKeysCNCaddon board (pin 3) to +3.3V. Use the multimeter to measure voltage between GND adn
0-10 V output. Use the Vout adjustment potentiometer to adjust the voltage to 10 V (
10 www.poscope.com
PoKeys Pulse engine v2 documentation
11 www.poscope.com
PoKeys Pulse engine v2 documentation
12 www.poscope.com
PoKeys Pulse engine v2 documentation
Enable the Pokeys-Polabs plugin and click CONFIG to start configuring the plugin. PoKeys plugin
support multiple PoKeys devices (PoKeys55, PoKeys56U and PoKeys56E). To add a new device
configuration, click the ‘Add new’ button and select the PoKeys device (as illustrated in the image
below).
After restart, the option ‘Configure’ is enabled. This opens the device configuration dialog where user
can configure the device. The same can be achieved using a dedicated device menu entry in the
Mach3 Plugin Control menu.
13 www.poscope.com
PoKeys Pulse engine v2 documentation
- Integrated 3ch: use the integrated pulse engine support in PoKeys56U and PoKeys56E. This
option supports step frequencies up to 25 kHz
- External 4ch without IO: use the pulse engine with conjunction with a simple external pulse
engine adapter. This option supports step frequencies up to 125 kHz.
- External 4ch with IO: use the pulse engine with PoKeysCNCaddon external boards. This
option supports step frequencies up to 125 kHz.
After selecting one of the options above, click OK and restart Mach3 in order to allow Mach3
recognize an external motion controller.
On the next Mach3 startup, the following dialog will appear, notifying you that the motion control
hardware plugin was detected. Select PoKeys-Polabs and click OK.
To enable Pulse engine, the emergency switch input must be connected between pin 52 and
ground. The switch must be NC (normally closed) type.
At this step, configure the axes as normally through Config -> Motor tuning. See below for details.
14 www.poscope.com
PoKeys Pulse engine v2 documentation
Motors/axis setup
Open Config > Ports & Pins. The following dialog will appear.
Please check that the X, Y and Z axis are enabled (enable A Axis if external pulse generator is used).
Other settings are ignored.
After enabling the axes, open the Motor tuning dialog (Config > Motor tuning).
Follow the Mach3 motor tuning procedure to setup the appropriate values for ‘Steps per’, ‘Velocity’
and ‘Acceleration’ for each axis. The ‘Step pulse’ and ‘Dir pulse’ options are IGNORED.
To setup Home/Soft Limits, go to the menu Config > Homing/Limits. In this dialog, software limits and
homing speeds can be setup. Use the 'Reversed' and 'Home neg' options to setup the axes directions.
Please note that 'Slow Zone' is not supported.
15 www.poscope.com
PoKeys Pulse engine v2 documentation
16 www.poscope.com
PoKeys Pulse engine v2 documentation
There is a separate drop-down menu for each available switch. If external pulse engine with IO
functionality is selected, external dedicated option can be selected in the menu for each switch or a
standard PoKeys digital input pin (the latest is the only option to use when using integrated pulse
engine or external pulse engine without IO functionality).
- Shared with Limit-: Limit- switch functions both as Limit- and as home position switch.
During homing, Limit- functionality is temporarily disabled
- Shared with Limit+: same as above, but with Limit+ switch
All switches can be inverted - the green/red blocks on the left of the switch selection options display
the current switch status, with green indicating a free (non-tripped) switch and red indicating tripped
switch. Use the 'Invert' option to switch between the states if necessary.
If limit switches are enabled, PoKeys Pulse engine will enter emergency mode if any limit switch gets
triggered.
The probing input option is available at the bottom of the dialog and offers mapping the probing
input to either external digital inputs or PoKeys digital input pins.
17 www.poscope.com
PoKeys Pulse engine v2 documentation
Mapping to Mach3
PoKeys digital
OEM button
input or output
Mapping to Mach3
IOs
Selected IO
function
Use invert option to
invert the digital
Mapping to input or output state
Mach3 OEM LED
First column displays a list of all inputs or outputs, available on your PoKeys device. Use the tree
structure to navigate between different peripherals and their IO pins.
The second column displays the pin function. If the pin is assigned a special function, a description of
this function will be displayed. If multiple special functions are assigned, a red 'Conflict' warning will
be displayed.
Third column (available for digital inputs and outputs) enables selection of mapping to Mach3 OEM
LEDs. If the pin function is set to 'Input', this mapping will enable setting of Mach3 OEM LED state
based on PoKeys IO pin state. If the pin function is set to 'Output', Mach3 OEM LED state will be
reflected to PoKeys IO pin state.
Fourth column (available only for digital inputs) enables selection of IO mapping to Mach3 OEM
buttons. When PoKeys IO pin is triggered, the selected Mach3 OEM button will be triggered also.
Fifth column (available for digital inputs and outputs) enables selection of mapping to/from Mach3
IOs (outputs, such as spindle relay, vacuum, … used internally by Mach to control different external
devices and inputs, such as limit, home switches, … used internally by Mach to detect the status of
the machine) and Mach3 IODevice inputs and outputs (accessible via VBScript).
18 www.poscope.com
PoKeys Pulse engine v2 documentation
Pendant mode
Plugin supports the usage of pendant with activation switch. If such pendant is connected to PoKeys,
'Pendant mode' should be enabled (checkbox at the bottom of the 'PoKeys mapping' dialog). In this
mode, jog action will be deactivated when the activation switch is released and will be automatically
activated when there is a signal detected for both the axis and step selection.
19 www.poscope.com
PoKeys Pulse engine v2 documentation
PoPendant configuration
Use the following table to configure PoPendant with Mach3. Activate 'Pendant mode' in Mapping
page in order to activate the MPG jogging activation/deactivation using the 'Control switch' on the
side of the PoPendant.
The configuration can also be downloaded (see PoPendant homepage) and imported into Mach3 (go
to Import/Export tab in plugin configuration and select 'PoKeys pin mapping' and 'Encoder settings
and mapping', then click on 'Import' and select the PoPendant configuration file).
Note: the following table only gives an example on how to connect the PoPendant to PoKeys
device. To ease the setup process, the configuration file for this example is provided on PoPendant
homepage. Wiring can be rearranged by the user, but the plugin configuration must be adjusted
accordingly.
If PoKeys Pulse engine is used, 'Let PoKeys handle MPG jogging' must be checked in encoder
configuration page.
20 www.poscope.com
PoKeys Pulse engine v2 documentation
Invert direction
Enable 4x
PoKeys Encoders
resolution
Encoder to OEM
Encoder A and B DRO mapping
pins mapping
Enable fast or
ultra fast
encoders
The encoder page lists all supported encoders with their current settings. Fast encoders (replacing
encoders 1-3) can be enabled by selecting the 'Enable fast encoders' option in the bottom part of the
dialog. Ultra fast encoders (available on PoKeys56 devices) appear as encoder 26 and can also be
enabled using the check box at the bottom of the window.
For other ('normal') encoders channel A and B signals must be setup. Select the appropriate PoKeys
pin in each list. The selected pin will be automatically set as digital input.
To invert the encoder direction (instead of switching A and B signal connections physically) use the
'Invert' option. The check box in the sixth column enables 4x greater encoder resolution. The second
to last column enables selection of encoder to Mach3 OEM DRO mapping.
The option in the last column 'Pendant' tells PoKeys plugin which encoder is used as MPG on the
pendant. In case the 'Pendant mode' is enabled and there is an invalid signal from connected
pendant, changes of encoders marked with 'Pendant' will have no effect on Mach3 or motion.
In order to setup MPG, follow the instructions above for an encoder, but select 'DRO 101 (MPG1)'
(for MPG1), 'DRO 102' (for MPG2) or 'DRO 103' (for MPG3) in DRO field for that encoder. Also note,
that the corresponding MPG must be only enabled in Mach3's Ports and pins under MPG tab.
If PoKeys Pulse engine is used, 'Let PoKeys handle MPG jogging' must be checked.
21 www.poscope.com
PoKeys Pulse engine v2 documentation
The matrix keyboard setup gives the options to activate matrix keyboard, select its width and height
and assign PoKeys pins to matrix keyboard row and column connections.
The selected pins are automatically setup as digital inputs and outputs.
Matrix keyboard
Enable matrix size
keyboard option
Row
connections
Column
connections
To setup mapping of matrix keyboard keys to OEM LEDs and buttons, go back to 'PoKeys mapping'
tab and select appropriate functions for the matrix keyboard entries in the list of available IOs.
22 www.poscope.com
PoKeys Pulse engine v2 documentation
LCD setup
The LCD configuration dialog can be used to enable LCD, select connection option (primary or
secondary pins, as defined in the PoKeys manual), select LCD size and edit contents of the LCD.
LCD size
Connections
'cheatsheet'
To edit the LCD contents, setup the LCD first, then click on 'Edit contents' button. The following
dialog will appear
The dialog holds as many tabs as there are configured LCD lines in the previous step. The 'Row 1'
dialog is used to setup only the line 1 of the LCD display ('Row 2', … are used to setup the other lines
of the display).
Each row can hold multiple entries – either label only, either holding a numeric display of one of the
available variables. To add a new entry, enter the 'User label' (optional), select a variable you would
like to display and its display format. Then click 'Add' button. The contents list will be updated with
the new entry. To remove the entry, double-click on it. Although entries are displayed in the list in
the vertical manner, they are combined on the LCD horizontally as is displayed in the 'Preview' field
at the bottom.
23 www.poscope.com
PoKeys Pulse engine v2 documentation
PoKeys devices support up to 6 pulse-width modulated digital outputs. All outputs share the same
PWM total period (specified in microseconds) and have separetely configurable duty cycles. Duty
cycles can be specified either in 0-100% or as raw PWM duty cycle period in microseconds.
PWM total
Fixed PWM
period setting
value selection
Each PWM output can be deactivated, mapped to Mach3 OEM DRO (PWM period in microseconds or
in %) or assigned a fixed value (PWM period in microseconds or in %).
24 www.poscope.com
PoKeys Pulse engine v2 documentation
Analog inputs
Available analog inputs on the PoKeys device (pins 43-47 on PoKeys55 and pins 41-47 on PoKeys56)
can be either mapped to Mach3 OEM DRO register or used as an analog joystick axis, used for
jogging.
Analog inputs are displayed as 12-bit value (10-bit analog values on PoKeys55 devices are up-scaled
to 12-bit) and can be configured with user specific offset and gain value using the following formula:
𝑢𝐴𝐷 − 𝑢𝑜𝑓𝑓𝑠𝑒𝑡
𝑢𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑 = ∗ 𝑢𝑔𝑎𝑖𝑛
4096
where 𝑢𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑 is the corrected value of analog to digital readout 𝑢𝐴𝐷 using the offset 𝑢𝑜𝑓𝑓𝑠𝑒𝑡 and
gain 𝑢𝑔𝑎𝑖𝑛 . The offset and gain values can be adjusted for each analog input separately. Mapping to
DRO or analog joystick is done using the corrected value 𝑢𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑 .
Analog joystick
Raw analog axis selection
input value
Mach3 OEM
DRO selection
𝑢𝑜𝑓𝑓𝑠𝑒𝑡
Analog joystick
𝑢𝑔𝑎𝑖𝑛 test window (x-y)
Analog joystick
𝑢𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑
calibration
Analog joystick functionality enables convenient jogging option. Based on the analog voltage, present
on the selected pin, the selected axis can be jogged progressively. To enable analog joystick, assign
the axes in the 'Analog joystick' column and click 'Calibrate' button at the bottom of the dialog. A
simple wizard will walk you through the process and enable you to calibrate (automatically set the
gain and offset values) based on your input. After the successfull calibration, enable analog joystick
functionality by checking the box 'Enable analog joystick'.
To disable unwanted jogging in zero position, adjust the parameter 'Deadband' based on the noise of
your analog input (enter value in analog value ticks – 0 to 2048). If the |𝑢𝐴𝐷 − 𝑢𝑜𝑓𝑓𝑠𝑒𝑡 | < 𝑢𝑑𝑒𝑎𝑑𝑏𝑎𝑛𝑑
the axis will not be jogged.
If 'Use OEM LED 1911 to enable the joystick' option is checked, analog joystick can be enabled and
disabled using the OEM LED 1911 signal.
25 www.poscope.com
PoKeys Pulse engine v2 documentation
PoKeys IO status
This tab gives the user an overview of the PoKeys inputs and outputs. PoKeys pins are represented as
a grid of colored squares, each resembling a single PoKeys pin and encoder values are listed at the
bottom of the dialog.
By clicking the 'Open status', a floating dialog is diplayed, giving the user an overview of PoKeys
inputs and outputs, encoder values and PoKeys Pulse engine states even when configuration dialog is
closed.
Assert 'Reset' on connection failure: if checked, Mach3 will be but into 'Reset' mode when the
connection with the PoKeys device is dropped.
Disable the unavailable devices display on startup: if checked, PoKeys plugin won't display the
'Unavailable devices' window on Mach3 startup if the current device is not available
26 www.poscope.com
PoKeys Pulse engine v2 documentation
This option enables interchange between PoIL shared slots (see PoBlocks manual) and Mach3 DRO
registers. Once enabled, first 27 shared data slots are copied from PoKeys PoIL core to Mach3 DROs,
starting by the Mach3 DRO number, specified in the field on the right (values between 1000 and
2255 are valid).
If 'Use slots 21-27 to send data from Mach3 to PoKeys' option is enabled, slots 21 to 27 are read from
specified Mach3 DRO registers and sent to PoKeys PoIL core.
Custom operations can be performed on data from various PoKeys peripherals and result forwarded
to Mach3 (e.g. spindle speed calculation, product counting, PID control with reference set by Mach3,
…).
PoKeys Mach3 plugin exposes each PoKeys device (named PoKeys_{serial}, where serial is the serial
number of the PoKeys device) as 100 virtual IO pins that can be accessed from Mach3 VB script with
the following functions:
Return - Returns the name of the Divice as a String. If the device ID is out of range the return will be
"NoDevice"
Return - Returns the value of an input OR the value that an output is set to . If the device is not found
a return of 999 will be sent back.
Return Short
Value - Any value to set the output to. for digital outputs 0 and 1 are used as on and off
27 www.poscope.com
PoKeys Pulse engine v2 documentation
Return - Return of 0 if there are no faults, 1 is returned if he pin is not found , 2 is returned if the pin
is an output pin.
Example script (finds the PoKeys device with the serial number 25000, then toggles the IO 1
on and off at a rate of 1 Hz):
Sub Main()
DevName = "PoKeys_25000"
Outputnumber = 1
DevID = -1
Do
DevID = DevID+1
SearchName = GetIODevName(DevID)'Search for the Device
If(SearchName = "NoDevice") Then
MsgBox ("Error Finding Device")
Exit Sub
End If
Loop While (DevName <> SearchName)
For d=0 To 60'Loop 60 times to toggle the output on and off for one min
r = SetIODevOutput(DevID,Outputnumber,1)'Activate the output
If(r<>0) Then
MsgBox("Output#" & Outputnumber & " " & GetIODevIOName(DevID,Outputnumber) & " is Not
an
output" )
Exit Sub
End If
Sleep(500) 'Wait .5 sec
SetIODevOutput(DevID,Outputnumber,0)'Turn the output off
Sleep(500)'Wait .5 sec
Next d
End Sub
Main
28 www.poscope.com
PoKeys Pulse engine v2 documentation
29 www.poscope.com
PoKeys Pulse engine v2 documentation
PoKeys Pulse engine divides the operations into 1 millisecond time slots, during which the pulse
frequency is held constant, and supports the generation of up to 25 pulses per 1 millisecond time slot
using integrated pulse generator or up to 125 pulses per 1 millisecond time slot using external pulse
generator circuit (which equates to 25/125 kHz maximum pulse frequency supported).
At each time slot beginning, the selected limit and home switches are read and evaluated. If
emergency switch or any activated limit switch (enabled in the configuration) is tripped, the pulse
engine is put into Error mode and no more pulses are generated (with hard-stop mechanism). Limit
switches can be disabled using the ‘Limit override’ function. In addition, PoKeys pulse engine also
supports ‘Soft-limit’ function, which limits the machine motion using the virtual limit switches.
30 www.poscope.com
PoKeys Pulse engine v2 documentation
PoKeys Pulse engine operates in different modes with additional modes selectable per each axis.
Modes of operation
Stopped: the pulse engine does not generate any pulses.
Error: the pulse engine encountered an error (e.g. limit switch was activated).
Homing: homing mode is activated. In this mode, one or more axes can be homed. The
selected axis (or axes) moves in negative direction at predefined fraction of the maximum
speed until the home switch is tripped. Then, the direction is changed to positive and speed
decreased to half the previous speed. When the switch is tripped, the internal position
counter is reset and the axis is commanded to stop. This operation does not include moving
back to position 0. The state of homing procedure is reflected in axes states.
Probing: during probing, selected axes are actuated by PoKeys device until a probe signal has
changed to a predefined state. The position of the axes is saved and the motion is stopped.
(MPG) Jogging: if axis has an MPG assigned, the MPG jog is done by PoKeys device itself
using the MPG multiplier value.
Running: normal operation mode. In this mode, each axis can be put into either the ‘buffer’
mode (the internal controller is disabled and the slots are fed direclty from a slot buffer,
which must be constantly filled by the external application) or into the ‘internal controller
mode’:
o internal position control: moves the axis to the desired position, following the
limitations set by the axis parameters,
o internal speed control: moves the axis at the desired speed, following the limitations
set by the axis parameters.
Internal controller modes and buffer mode utilize separate internal buffers for operation. Hence,
changing between internal or external (buffered) mode does not require clearing the motion buffers.
Moreover, internal controller can be used on selected axes in parallel to the external (buffered)
mode on other axes (new to Pulse engine v2).
In buffer (slave) mode, the generated motion is transferred and temporarily stored in the timeslot
buffer - a 128-slots deep buffer that holds pulse frequencies for each axis, giving a 128 millisecond
buffered motion period. Each slot entry in the buffer holds 16 bytes (2 byte per axis) and each axis
entry uses 15-bits for pulse frequency and MSB bit for the direction signal (if MSB bit is set, the
direction output is activated). Although buffer holds 16 bytes per time slot, only [number of activated
axes] bytes are transferred for each slot using default ‘Fill motion buffer’ command.
Fill buffer command is used to transfer the data to the slot buffer. Application that uses the fill buffer
command should send as much time slot data as possible. PoKeys Pulse engine will then return the
number of accepted time slots. This omits the need of additional query on the buffer free space in
PoKeys Pulse engine buffer. Application should only then increase the 'read pointer' based on the
number of accepted slots. Additionally, fill buffer command returns a number of parameters of the
pulse engine (position, engine state, state of limit and home switches and states of each axis).
In Mach3 plugin, PoKeys Pulse engine operates in buffer (slave) mode during job execution and
executes the motion, generated by Mach3 motion planner. During jogging, MPG jogging, homing,
probing operations, the selected axis is switched to internal motion controller, enabling real-time
31 www.poscope.com
PoKeys Pulse engine v2 documentation
responses and high accuracy of positioning. MPG jogging uses encoder (MPG) values directly to feed
the internal motion controller with the up-to-date information on MPG position. This results in fast
responses of the machine to the MPG input.
In Mach3 plugin, the user can select whether charge pump output is active during emergency.
In Mach3 plugin, the motor driver enable outputs settings are joined with safety charge-pump
settings.
Axis parameters
Internal mode uses the following axis parameters of motion:
Two 74HCT595 can be cascaded in order to support 8 axes, but single one can be used for up to 4
axes. When cascading, CLOCK and LATCH signals are shared between both ICs, while DATA out (pin 9)
of the first IC is used as DATA signal of the second IC.
32 www.poscope.com
PoKeys Pulse engine v2 documentation
100n5V
GNDi
16
DATA 14 15 100 STEP+1
SER QA
VCC
1 DIR+1
QB 100
CLOCK 11 2 STEP+2
SCK QC 100
10 3 DIR+2
5V /SCLR QD 100
4 STEP+3
QE 100
LATCH 12 5 DIR+3
RCK QF R2B
100
6 STEP+4
QG 100
7 DIR+4
QH 100
13
GND
/OE
9 DATA to next 4 axes
QH*
GNDi 74HCT595
GNDi
33 www.poscope.com
PoKeys Pulse engine v2 documentation
34 www.poscope.com
PoKeys Pulse engine v2 documentation
Whenever Mach “reset” is blinking the stepper motor power is engaged, and you cannot turn the
motor shaft with your fingers. When “reset” is released, the motors loose power.
There is an option 'Invert enabled signal' in the 'Pulse engine' tab of the PoKeys Mach3 plugin. There
are two types of stepper drivers - ones expect active low signal for enabling the outputs, the others
expect active high signal. Since PoKeys is not a LPT port extension, the Mach3's Ports & Pins is not
functional and all configuration is done via PoKeys plugin configuration dialogs.
I really do not know how to set up the spindle control. Normally I would use for example the S60
(for spindle speed of 60 to produce an analog output to control the spindle). I do not know how to
tell the pokeys CNC addon board how to pick up this S command.
This is achieved using the PWM output of the PoKeys board, connected to the pin 3 of the
PoKeysCNCaddon board connection. Go to PoKeys Mach3 plugin configuration, tab 'PWM', select
'Map to DRO in %' and select DRO202. Then set the appropriate multiplier that the DRO value is
multiplied with before sending it to the output (the output goes from 0 to 100 %, so in case you have
values between 0 and 500 in this DRO, set the multiplier to 0.2). If you want to lower the output
range, lower the multiplier value (digitally scale the output voltage instead of using the pot).
Similarly, spindle relay outputs can be configured in the 'PoKeys mapping' tab for one of the pins (for
example, configuring one pin as Digital output and mapping it to LED 11 (Spindle ON LED).
35 www.poscope.com
PoKeys Pulse engine v2 documentation
1. All information included in this document is current as of the date this document is issued. Such information, however,
is subject to change without any prior notice.
2. PoLabs does not assume any liability for infringement of patents, copyrights, or other intellectual property rights of
third parties by or arising from the use of PoLabs products or technical information described in this document. No
license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property
rights of PoLabs or others. PoLabs claims the copyright of, and retains the rights to, all material (software, documents,
etc.) contained in this release. You may copy and distribute the entire release in its original state, but must not copy
individual items within the release other than for backup purposes.
3. Descriptions of circuits, software and other related information in this document are provided only to illustrate the
operation of the products and application examples. You are fully responsible for the incorporation of these circuits,
software, and information in the design of your equipment. PoLabs assumes no responsibility for any losses incurred by
you or third parties arising from the use of these circuits, software, or information.
4. PoLabs has used reasonable care in preparing the information included in this document, but PoLabs does not warrant
that such information is error free. PoLabs assumes no liability whatsoever for any damages incurred by you resulting
from errors in or omissions from the information included herein.
5. PoLabs devices may be used in equipment that does not impose a threat to human life in case of the malfunctioning,
such as: computer interfaces, office equipment, communications equipment, test and measurement equipment, audio
and visual equipment, home electronic appliances, machine tools, personal electronic equipment, and industrial robots.
6. Measures such as fail-safe function and redundant design should be taken to ensure reliability and safety when PoLabs
devices are used for or in connection with equipment that requires higher reliability, for example: traffic control
systems, anti-disaster systems, anticrime systems, safety equipment, medical equipment not specifically designed for
life support, and other similar applications.
7. PoLabs devices shall not be used for or in connection with equipment that requires an extremely high level of reliability
and safety, as for example: aircraft systems, aerospace equipment, nuclear reactor control systems, medical equipment
or systems for life support (e.g. artificial life support devices or systems), and any other applications or purposes that
pose a direct threat to human life.
8. You should use the PoLabs products described in this document within the range specified by PoLabs, especially with
respect to the maximum rating, operating supply voltage range and other product characteristics. PoLabs shall have no
liability for malfunctions or damages arising out of the use of PoLabs products beyond such specified ranges.
9. Although PoLabs endeavors to improve the quality and reliability of its products, semiconductor products have specific
characteristics such as the occurrence of failure at a certain rate and malfunctions under certain use conditions.
Further, PoLabs products are not subject to radiation resistance design. Please be sure to implement safety measures
to guard them against the possibility of physical injury, and injury or damage caused by fire in the event of the failure of
a PoLabs product, such as safety design for hardware and software including but not limited to redundancy, fire control
and malfunction prevention, appropriate treatment for aging degradation or any other appropriate measures.
10. Usage: the software in this release is for use only with PoLabs products or with data collected using PoLabs products.
11. Fitness for purpose: no two applications are the same, so PoLabs cannot guarantee that its equipment or software is
suitable for a given application. It is therefore the user's responsibility to ensure that the product is suitable for the
user's application.
12. Viruses: this software was continuously monitored for viruses during production, however the user is responsible for
virus checking the software once it is installed.
13. Upgrades: we provide upgrades, free of charge, from our web site at www.poscope.com. We reserve the right to charge
for updates or replacements sent out on physical media.
14. Please contact a PoLabs support for details as to environmental matters such as the environmental compatibility of
each PoLabs product. Please use PoLabs products in compliance with all applicable laws and regulations that regulate
the inclusion or use of controlled substances, including without limitation, the EU RoHS Directive. PoLabs assumes no
liability for damages or losses occurring as a result of your noncompliance with applicable laws and regulations.
15. Please contact a PoLabs support at [email protected] if you have any questions regarding the information
contained in this document or PoLabs products, or if you have any other inquiries.
16. The licensee agrees to allow access to this software only to persons who have been informed of and agree to abide by
these conditions.
17. Trademarks: Windows is a registered trademark of Microsoft Corporation. PoKeys, PoKeys55, PoKeys56U, PoKeys56E,
PoScope, PoLabs and others are internationally registered trademarks.
36 www.poscope.com