PMDX-SmartBOB-USB
Mach4 Plug-in Release Notes
Version 0.38.188
6 Apr 2016 (UPDATED 12 Apr 2016)
UPDATED 12 Apr 2016 to correct the release build number in release notes.
The original release notes listed the build as "138" when it should have been "188".
The plug-in itself always contained the correct build number.
Table of Contents
- Support and Updates
- Latest Plug-in Version Release Notes
- Issue with Input Signals and Mach4 Startup
- Spindle RPM Configuration (NEW)
- Probing Features and Restrictions
- Real-Time Signal Display
- Homing Features and Restrictions
- PMDX-126 Expanded Inputs
- Sample Mach4 Profile (Optional)
- Previous Plug-In Versions
Support for the PMDX-SmartBOB line of products is available on our
support forums here: http://www.pmdx.com/pmdx-forums/
Plug-In Updates: We announce new versions of both Mach4 and the SmartBOB
Mach4 Plug-In software on our forums. You can subscribe to receive an email
whenever we post an annoucement so that you always have the latest features
and bug fixes.
Documentation Updates: We also announce new versions of the PMDX-SmartBOB
Quick Start Guide and the upcoming User's Manual on our forums.
- Plug-In version: 0.38.188 (6 Apr 2016)
- Firmware version: 0.45.155
- Mach4Hobby versions: build number 2313 and higher (only tested with builds 2872 through 2914)
** WILL NOT run on any build older/lower than 2313 **
- Support PMDX-424 Revision B boards
- Support spindle RPM calculations using a 1 pulse-per-revolution sensor
mapped to the Mach4 "Index" input.
See here for more information.
- Support M62/M63 real-time output commands.
- Add M6 (tool change) macro to the PMDX sample profile. This is a slightly
modified copy of the "StopManualToolchange" sample Lua code
from the Mach4 "LuaExamples\Toolchanger" directory. The edits
were mostly cosmetic and did not affect the functionality of the macro.
NOTE: If you already have the PMDX Sample profile installed
the installer will update your profile with the M6 macro file (leaving all
other profile files untouched). If you already have an M6 macro file the
installer will leave your existing M6 macro in place.
- Re-send device configuration after communication timeout.
- Resynchronize the machine's actual position to Mach4 after hitting a
limit switch or getting and EStop or 'Disable' during motion.
- Fixed bug that caused motion underrun on very short jog moves
(mostly cause by VistaCNC iMach pendants, but can also be caused by
certain motor tuning settings).
- Enable the PMDX-424 Motor3 "Slave" step output (appears on
screw terminal connector J11 as "Motor 3B Step").
- Prevent spindle TIMING input messages from flooding the debug log and crashing Mach4
- Improve communication error handling and recovery.
Known Issues:
- Does not (yet) support threading
- Does not (yet) support "gantry squaring" during homing using
one home switch for each motor on a tandem axis
- Does not (yet) support backlash compensation (this is a Mach4 and plug-in issue)
**WARNING**
If your profile contains macros for M3, M4 or M5 like the ones installed by
the Mach4Hobby installer in the "Mach4Mill" profile, you MUST delete
these files in order for the PWM spindle speed control to function. The macros
as provided with the "Mach4Mill" profile DO NOT WORK, and they are not
needed for the PMDX-SmartBOB-USB to function. See the instructions below on
how to delete these files.
If you used the Mach4 Loader's "Copy Profile" button to copy the "Mach4Mill"
profile to a new profile, that new profile will contain these macro files.
If you copied the "PMDX-Sample" profile to a new profile, that new profile
will not contain these macro files (see note below). If instead of
copying an existing profile, you clicked on the "Create Profile" button to
create a new profile, that new profile should not contain these macro files.
NOTE that if you installed the PMDX sample profile from plug-in
version 0.13.63 (Nov 2014) or earlier, that profile may contain these macro files.
You will need to manually delete them (see below for instructions).
EVEN IF YOU TOLD THIS LATEST INSTALLER TO INSTALL THE SAMPLE PROFILE! The
installer does NOT overwrite an existing copy of the sample profile.
If you have created custom versions of the M3, M4 or M5 macros, or have
Lua code that affects that functionality, you will need to test them
with the PMDX-SmartBOB-USB plug-in to see if the plug-in still works
with your macros.
To delete the M3/M4/M5 Macro files: Presuming that you intalled Mach4
in the default "C:\Mach4Hobby" directory, these macros files are stored in the
"C:\Mach4Hobby\Profiles\YourProfileName\Macros" directory. If you
installed Mach4 into a different directory (for example, "C:\MyMach4"),
the substitute that directory name for the "Mach4Hobby" directory in the directory
path mentioned above (it now becomes "C:\MyMach4\Profiles\YourProfileName\Macros").
You should see two files for each M-code. For example, "M3.mcc" and "M3.mcs".
You must remove both of these files for each M-code, either by deleting them
or by moving them to another directory.
Symptoms of Mach4 Startup Input Signal Problem
Sometimes, when you start Mach4 with a PMDX-SmartBOB connected and enabled,
the input signals from the SmartBOB will not be properly handled by Mach4.
If you display the "Machine Diagnostics" tab in Mach4, some of the
input signals that come from the SmartBOB will show as active when they are
in fact NOT active. If any of these signals are assigned to limit switches then
Mach4 will not allow motion towards those limits until the inputs are properly
synchronized. Toggling that input signal will cause Mach4 to then display
the proper input signal state.
NOTE: This only happens on Mach4 startup. Once Mach4 and
the SmartBOB plug-in and device are running, the input signals function as
they should.
This happens only on some computers, and only on input signals
from the SmartBOB are defined as "Active Low". Even then, this does
not always happen.
Work-Around
Our work-around for this problem was for PMDX to add a delay to our plug-in.
During startup, the plug-in inserts a delay between the time Mach4 tells us it
is OK to start reporting signal values and when we actually start reporting them.
By default this delay is set to 250 milliseconds. This works for a variety of
computers here at PMDX, but it may not work for you. If not, see the steps
below to adjust the delay.
If you see the symptoms described above, then try changing the startup delay
as follows:
- With Mach4 running but not enabled, go to the "Configure" menu and
select "Plugins"
- Click on the "Configure" button for the PMDX-SmartBOB
- In our configuration dialog, click on the "Performance Settings"
tab
- Change the "Startup Configuration Delay". Try increasing that
delay then click on "OK" until you are back at the main Mach4
screen. Exit Mach4 and re-start it.
If you still see the input sigals displaying incorrectly on startup,
increase the delay some more and try again. If you reach the maximim startup
delay and you still see the input signals displaying incorrectly, contact
PMDX support. Meanwhile you should be able to use the "Manual"
work-around described below.
Manual Work-Around
Opening and closing the "Mach Configuration" dialog will also correct
this problem. Go to the Mach "Configure" menu and select "Mach".
When the "Mach Configuration" appears, click on either "OK"
or "CANCEL". This causes the SmartBOB plug-in and the Mach4 core to
resynchronize and Mach4 will display the correct input signal states.
The PMDX-SmartBOB supports two methods of measuring or estimating the spindle
RPM and reporting that to Mach4:
- A 1 pulse per revolution sensor attached to the spindle and connected to
any input pin on the SmartBOB device, then mapped to the Mach4 "Index"
signal.
- When PWM spindle speed control is enabled in the SmartBOB plug-in configuration
dialog, there is a checkbox to calculate the estimated
spindle RPM based on the PWM duty cycle.
Limitations
- The SmartBOB is configured to measure spindle RPM from 5 RPM up to more than
20,000 RPM. In order to measure spindle speeds down to 5 RPM, the SmartBOB needs
to wait up to 12 seconds for a pulse from the spindle sensor (5 RPM is 1 revolution
every 12 seconds). Therefore, when the spindle stops running, it can take up to
12 seconds for the SmartBOB to report zero RPM to Mach4. Until that happens,
the RPM readout on the Mach4 screen will continue to display the last reported
(non-zero) RPM reading.
- When calculating the estimated RPM from the PWM suty cycle, the reported
RPM will most likely not exactly match the commanded RPM. That is due to
the discrete nature of the PWM signal. The SmartBOB support 10-bit resolution
(1024 counts) when calculating the PWM duty cycle. That means that the
duty cycle has 1024 discrete steps between zero RPM and the maximum RPM that
you have configured for the current spindle range. The reported RPM will
be rounded to the nearest step. For example, if your spindle range is 0
to 20,000, and you command the spindle to 3,000 RPM, the PWM duty cycle
will be:
duty cycle = ROUND((commanded RPM) / (max RPM)) * 1024
cuty cycle = ROUND((3000/20000)*1024)
dyty cycle = 154 (out of 1024), or 15% duty cycle
To calculate the RPM to report back to Mach4:
calculated RPM = ((duty cycle) / 1024) * (max RPM - min RPM)
calculated RPM = (154/1024) * (20,000 - 0) = 3007.8 RPM
How to Configure a Spindle Sensor
To configure Mach4 to use a SmartBOB input as a spindle speed sensor input:
- Connect your sensor (usually an optical or proximity sensor) to one of
the SmartBOB's input terminals. You may use any of the SmartBOB inputs.
If you are using a PMDX-410, PMDX-422 or PMDX-424, we recomment using
the "C" input and the encoder connector as that input has
a faster response than the regular input terminals.
- In Mach4, go to the "Configure" menu and select "Mach...".
- Click on the "Input Signals" tab and scroll down almost to the
bottom to find the "Index" signal.
- On the "Index" line, click on the red "X" in the
"Mapping Enabled" column to change it to a green check mark to
enable that input. In the "Device" column select the
"SmartBOBUSB". Then in the "Input Name" column select
the SmartBOB input pin that you have the sensor connected to. Depending
on your sensor configuration you may also have to change the
"Active Low" setting.
- Click on "OK" to apply the new configuration.
- To test your spindle sensor, click on the Mach4 "Machine Diagnostics"
tab (in older screen sets this was also called "Diagnostics").
Then slowly rotate the spindle by hand. You should see the "Index"
indicator in the upper left section of the screen light up when the
sensor triggers. If the indicator is "on" most of the time and
only turns off when the sensor triggers, then change the "Active Low"
setting on the "Input Signals" tab as mentioned above.
You should now be able to see the measured spindle RPM in the "Spindle"
section in the lower right corner of the Mach4 screen.
How to Configure the Spindle RPM from PWM Duty Cycle
If you don't have a sensor on your spindle, and you are controlling the spindle
speed with a PWM signal from the SmartBOB, then you can have the SmartBOB plug-in
calculate an estimated RPM based on the PWM duty cycle. This is
the estimated RPM because the spindle speed interface (for example,
the PMDX-407) and the spindle control
electronics (VFD, etc.) may not have an exactly linear response to the PWM signal.
NOTE: This option is not available if there is an input pin
mapped to the Mach4 "Index" input. An "Index" signal that
can measure the actual spindle RPM take priority over an estimated RPM reading.
To enable using the PWM duty cycle for spindle RPM:
- Open the SmartBOB plug-in configuration dialog by going to the "Configuration"
menu and selecting "Plugins...", then click on the "PMDX SmartBOB-USB"
item. In older versions of Mach4, you will see a plug-in dialog and you
will have to click on the "Configure" button on the PMDX SmartBOB
line.
- When the SmartBOB plug-in configuration dialog is displayed, click on the
"Spindle Config" tab.
- Make sure that the PWM output is enabled in the "PWM Spindle Speed Control"
section.
- Then check the box labeled "Report calculated spindle RPM to Mach4".
Note that this check box will not be available if there is a SmartBOB input
mapped to the Mach4 "Index" input signal.
- Click on "OK" to activate the new setting.
You should now be able to see the estimated spindle RPM in the "Spindle"
section in the lower right corner of the Mach4 screen.
The PMDX-SmartBOB's probing implementation makes the following assumptions
and restrictions:
- Supports G31 probe command.
- The probe input MUST be connected to a PMDX-SmartBOB
input signal, and assigned to the Mach4 "PROBE" input. Note that
in some Mach4 profiles created with older versions of Mach4, the "PROBE"
input was called "DIGITIZE".
- When Mach4 attempts to execute a G31 probe move, if there is no signal
assigned to the "PROBE" input, or if that signal is not a
PMDX-SmartBOB input, then the SmartBOB plug-in will halt/disable Mach4.
- Does not yet support G31.1, G31.2 and G31.3 variants of the probe command,
which use the Mach4 "PROBE1", "PROBE2" and
"PROBE3" input signals respectively. If Mach4 attempts the execute one of
these G31.x commands, the PMDX-SmartBOB plug-in will halt/disable Mach4 and
display an error message on the Mach4 status line (and in the history window).
WARNING: There is a bug in Mach4 builds up through 2568
that can cause the Mach4 core to hang if the limit switch input is active
when a G31 command is started. This was partially fixed in build 2568, but running
the G31 command from the MDI window still exhibits this problem. G31 commands
inside of a GCode file work properly in build 2568.
The SmartBOB plug-in allows you to show a window that displays the states
of the input and output signals as they appear to the screw terminals or
26-pin ribbon header pins on the SmartBOB board. This can be used to help
diagnose issues with signal assignments in Mach4 and also to make sure that
the SmartBOB is "seeing" the signals you have connected to it.
To display the real-time status of the I/O signals, go to the Mach4
"Diagnostic" menu and select the "PMDX-SmartBOB-USB" from the
drop-down list. On the diagnostics window that is displayed, click on the
"Show Real-Time Input/Output Status" button. That will display another
window to show the states of the input and output signals. This new window
defaults to being always on top, meaning it will always be on top of any other
window, including the main Mach4 display. If you don't want that behavior then
un-check the "Stay on Top" check box.
The real-time status uses colors to show the state of the input and output
signals:
- Green - The signal is a logic "high", or somewhere
between 3.3V and 5V (roughly).
- Red - The signal is a logic "low", or somewhere
close to 0V (i.e. ground).
- Yellow - The signal is toggling (note that the display updates
approximately every 100ms, and "toggling" means that the signal
changed state at least 2 times during that 100ms interval).
- Orange - This color is used only for Charge Pump signals,
and only for the special case of the SmartBOB Plug-In having
"PMDX-126 Expanded Inputs" mode enabled and Mach4 being disabled.
Orange shows that the charge pump is toggling but at a very low
rate. The rate is low enough that the PMDX-126 sees it as not valid and
keeps its outputs disabled. But it still allows the SmartBOB to read the
multiplexed inputs from the PMDX-126. Please see the Expanded Inputs
section of this document and the PMDX-126 User's Manual for more
information about "Expanded Inputs" mode.
- Black - The signal's state cannot be displayed. This was
used for the step and direction signals (pins 2 through 9), and for
any pin that was assigned to one of the "charge pump" outputs
or the PWM spindle speed control. However, as of plug-in release 0.33.159
the states of all of these signals can be displayed, so the color black is
not used any more.
Homing Assumptions and Restrictions
The PMDX-SmartBOB-USB Plug-In and firmware are designed with some assumptions
about the machine's configuration and some restrictions as to what machine
configurations are supported. These assumptions and restrictions only pertain
if the SmartBOB is selected as the "motion device" in Mach4.
The plug-in will generate an error message and abort the homing sequence if
the configuration does not meet these restrictions. Some of these restrictions
will be removed in future releases of the PMDX-SmartBOB plug-in.
The assumptions and restrictions are:
- As of plug-in version 0.18.97 the plug-in supports a maximum of 2 motors
per axis (previous versions did not support any slaved motors)
- All motors assigned to the same axis must have the same motor tuning
parameters (steps/unit, acceleration and velocity). The "Reversed"
setting does not need to be the same for each motor assigned to an axis.
- DEFINITION: An axis is "homable" if the "Home Order"
is non-zero and the "Home In Place" setting is disabled (i.e. has a
red "X"). These settings can be found in the "Homing/Soft Limits"
tab of the "Mach Configuration" dialog.
- For each axis that is "homable" (see above definition) AND
will actually be homed, each motor assigned to that axis must have a home switch
input configured in the "Input Signals" tab of the "Mach Configuration" dialog.
Furthermore, the home switch must be connected to an input on the SmartBOB
device. The SmartBOB plug-in and device do not support homing configurations
with the home switches connected to other devices.
- This release of the SmartBOB plug-in uses only one home switch input per
axis, even if there is more than one motor assigned to that axis.
In the Mach4 configuration, that one home switch must be assigned to all motors
for that axis, with the same setting (red "X" or green check mark)
in the "Active Low" column. For example,
say that the X axis has motor0 and motor1 assigned to it, and that the home switch
for motor0 is on SmartBOB input Pin11 and the switch signal is active low.
In the Mach4 "Input Signals" tab, the "Motor 0 Home" and
"Motor 1 Home" must both be assigned to the SmartBOBUSB Pin11 with
a green check mark in the "Active Low" column.
- The SmartBOB presumes that the home switch is located near or at one end
of the allowable travel for that axis. In addition, the SmartBOB presumes that
when a homing sequence starts none of the motors are "beyond" their
home switch. If the axis is beyond the home switch when homing starts, the
machine configuration is not usable for automatic homing.
- If the axis is on its home switch when a homing sequence starts, the
SmartBOB will attempt to move off of the home switch ONLY IF the limit
switches for that axis are either (a) not configured, or (b) configured on
a different input than the home switch. If the home and at least one limit switch
for that motor share the same input, the SmartBOB will require the operator to manually
jog the axis off of the home/limit switches before homing can start. Depending
on your limit switch configuration, jogging off of the limit switches
may require enabling the "Limits Override" feature in Mach4.
- If multiple axes have home switches that share the same input, none of
the axes can be on their home switch when homing starts. If any of these
axes are on its home switch, the SmartBOB will require that the operator manually
jog all affected axes off of their home switches before homing can start.
- If multiple axes have home switches that share the same input, the
"Home Order" must be configured so that each of these axes
homes one at a time. For example, if the X and Y axis home switches are both
wired to the Pin11 input, the "X" and "Y" axis must have a different value
in the "Home Order" field so that one axis homes and then the other
one homes. This homing order constraint is assumed to be correct and
the plug-in does not explicitly test for this configuration.
Homing Operation
The PMDX-SmartBOB-USB takes the following steps to home an axis:
- If the axis is on the home switch, the SmartBOB will do one of two things
depending on the limit switch configuration:
- If there are no limit switches defined for that axis, or the limit
switches are assigned to a different input than the home switch, then the
SmartBOB will attempt to move the axis off of the home switch by moving
approximately 1 inch in the opposite direction than what is specified in
the "Home Dir" setting in the "Homing/SoftLimits"
configuration tab of the regular Mach4 configuration dialog. The speed of
this move is the "Home Speed %" setting from the
"Homing/SoftLimits" configuration tab. If, after moving 1 inch
the axis' home switch is still active the SmartBOB will abort the homing
procedure and return an error the Mach4.
- If there are limit switches defined for that axis and they share the
same input as the home switch, then the plug-in will abort the homing
operation and prompt the operator to manually jog the maching off of the
home switches. Once the axis has been jogged off of the home switch the
operator can request another homing sequence.
- The axis then moves towards the home switch at the "Home Speed %" setting
until the home switch becomes active
- Once the home switch is active, the SmartBOB moves an additional 0.050"
(or 1.27mm) to ensure that the axis stops beyond the hysteresis
point of the switch. The axis then decelerates to a stop.
- Then the axis starts moving back off of the homing switch at a speed
that is 1/4 (25%) of the homing speed used to approach the home switch.
- Once the home switch de-activates, the SmartBOB moves the axis an
additional 0.050" (1.27mm) off of the switch to ensure that it is
beyond the hysteresis point (in case the home switch is also a limit switch).
- The SmartBOB plug-in then tells Mach4 that the axis' position is the
value specified in the "Home Offset" field of the "Homing/SoftLimits"
tab.
Future versions of the SmartBOB plug-in will allow the user to configure
all of the parameters used in the homing sequence above.
The SmartBOB plug-in now supports the PMDX-126 in "Expanded Inputs"
mode. When "Expanded Inputs" mode is enabled, there are an additional
4 input signals available. The additional inputs signals are named
"PinE", "PinF", "PinG" and "PinH" to match
the signal names on the silkscreen on the PMDX-126 circuit board. This means that
the PMDX-411 has 9 input available (all through the PMDX-126), the PMDX-410 and
PMDX-422 have 12 inputs available (9 through the PMDX-126 and 3 from the PMDX-410/422's
J10 connector). See the following table.
Inputs Available in Expanded Inputs Mode
PMDX-411 | PMDX-410/422 | From PMDX-126 |
Pin10 | Pin10 | Yes |
Pin11 | Pin11 | Yes |
Pin12 | Pin12 | Yes |
Pin13 | Pin13 | Yes |
Pin15 | Pin15 | Yes |
| PinA | No |
| PinB | No |
| PinC | No |
PinE | PinE | Yes |
PinF | PinF | Yes |
PinG | PinG | Yes |
PinH | PinH | Yes |
Expanded Inputs Mode Assumptions and Restrictions
The SmartBOB plug-in and the PMDX-126 board have certain requirements and
restrictions in order for Expanded Inputs mode to function properly.
- One and only one of the two Mach4 charge pump signals must be assigned to
the SmartBOB's output Pin17. If that is not the case when you enable Expanded
Inputs mode in the plug-in, the plug-in will attempt to modify the
Mach4 configuration to assign a charge pump signal to Pin17 (after warning
you about what it is going to do).
- The PMDX-126 must have it's DIP switches configured for "Expanded
Inputs" mode. The SmartBOB does not support the PMDX-126's
"Expanded I/O" or "Expanded Outputs" modes. See the
PMDX-126 User's Manual for more information on configuring and using
"Expanded Inputs" mode.
Expanded Inputs Mode Input Signal Sample Rates
When in "Expanded Inputs" mode, inputs Pin11, Pin12, Pin13, Pin15,
Pin E, PinF, PinG and PinH are sampled at a rate determined by the charge pump
frequency, which has a fixed (non-user editable) value depending on which
SmartBOB device you have. PMDX-411 devices sample at 2.5 KHz (every 400 microseconds).
PMDX-410 and PMDX-422 devices sample at 300 Hz (every 6.67 milliseconds).
The difference in sample rates is due to the RC filters on the PMDX-410/422
input signals, which limit how fast we can sample. The PMDX-411 does not have
these RC filters and thus can run at a higher sample rate.
If you selected to install this sample profile during the plug-in installation, there will be a sample
Mach4 profile on your system that is pre-configured to use the PMDX-SmartBOB-USB.
The profile is named "PMDX-Sample". This profile has the following configuration:
- PMDX SmartBOB Plug-in is enabled and selected as the motion device
- All four motors are set for 1000 steps/unit, max velocity = 10 units/sec,
accel = 5 units/sec^2, motor not reversed, 0 backlash
- Homing: soft limits disabled, homing enabled, no homing offset
- Inputs:
- E-Stop assigned to PMDX-SmartBOB-USB Pin 10
- Outputs:
- Charge Pump assigned to PMDX-SmartBOB-USB Pin 17
- Spindle On assigned to PMDX-SmartBOB-USB Pin 1
(this controls the relay on the PMDX-422)
- PWM Spindle speed control disabled
There are two ways to run this profile:
- Use the "Mach4 Loader" shortcut on your desktop and select "PMDX-Sample"
- Use the "Mach4 PMDX Sample" shortcut on your desktop *if* you selected that
to be installed
!! IMPORTANT !! We strongly suggest that you NOT make changes to the sample
profile, since it may be overwritten in future plug-in updates. Instead, make
a copy of the profile, like this:
- Double-click on the "Mach4 Loader" icon to bring up the "Select Profile" dialog
- Click once on the "PMDX-Sample" line and then click on the "Copy Profile" button
- Enter a name for your new profile
- Optionally, you can select a screen set. If you leave this blank, Mach4 will
default to using the "wxMach.set" screen set, which looks mostly like Mach3.
- Then click on "OK" to create the new profile
- Finally, while still in the "Mach4 Loader" window, double-click on the new
profile name to start running that profile
If you want to change the PMDX-Sample shortcut on your desktop to run your new
profile name:
- Right-click on the PMDX-Sample icon and select "Properties"
- At the right end of the "Target" line you will see "/p PMDX-Sample"
- Change the "PMDX-Sample" to the name of your new profile.
- Click on OK
- The right-click on the PMDX-Sample icon again and select "Rename"
and give it new, meaningful name. Then click on "OK"
- Enjoy!
- Plug-In version: 0.36.171 (28 Jan 2016)
- Firmware version: 0.44.145
- Mach4Hobby versions: build number 2313 and higher (tested with 2313 through 2803)
** WILL NOT run on any build older/lower than 2313 **
- Added information to debug log for comms error debugging
- Add support for PMDX-424 SmartBOB-ISO-USB
- The green LED now has a different flash pattern when waiting for a
connection from the plug-in. While waiting for the plug-in the LED flashes
one short flash every 2 seconds. When the device is connected to the plug-in
the green LED will flash on for 1 second and off for 1 second. On the
PMDX-410, PMDX-422 and PMDX-424 this is the green LED that is just under the red LED.
- Fixed bug that corrupted the polling timer interval
- Fixed a bug in the homing code that caused an "Error 7" in certain situations
- Prevent spindle INDEX input messages from flooding the debug log and crashing Mach4
Known Issues:
- Does not (yet) support "gantry squaring" during homing using
one home switch for each motor on a tandem axis
- Does not (yet) support backlash compensation (this is a Mach4 and plug-in issue)
- Does not (yet) support coordinated I/O (via M62 and M63 codes)
- Does not (yet) support threading
- Plug-In version: 0.33.159 (6 Nov 2015)
- Firmware version: 0.42.137
- Mach4Hobby versions: build number 2313 and higher (tested with 2313 through 2763)
** WILL NOT run on any build older/lower than 2313 **
- The real-time status display shows the PWM signal if assigned to the
SmartBOB Pin16 or Pin17. Does not show the PWM signal when using a PMDX-407.
The real-time display now also shows the values of the step and direction pins.
- Enhanced the debug log capability to include information from the SmartBOB device.
- Enhanced USB communication error recovery.
- Closes debug log files before Mach4 creates its "package" (from the
Help->Support menu) and then re-opens them afterwards. This allows
the log files to be included in the package even if they were open.
- Fixed a bug in the PMDX-411 firmware that prevented the spindle PWM signal
from appearing on Pin16.
- Fixed a bug that re-mapped the charge pump signal to Pin17 if it was mapped
to any other SmartBOB output pin.
- Fixed issue with motion planner interface that mis-reported the actual
position for certain moves. The result was that the ending position for
subsequent moves would be off by a couple of step pulses. This happened
when the motor tuning parameters had a slow max velocity and a slow
acceleration/deceleration rate.
- Fixed a bug that required exiting Mach4 and re-starting it in order to disable
"Wildhorse Probe" mode or "Expanded Inputs" mode.
- No longer overwrite fixture offset table when homing an axis.
- Fix memory access error in USB interface.
- Fix memory access error in configuration dialog.
Known Issues:
- Does not (yet) support "gantry squaring" during homing using
one home switch for each motor on a tandem axis
- Does not (yet) support backlash compensation (this is a Mach4 and plug-in issue)
- Does not (yet) support coordinated I/O (via M62 and M63 codes)
- Does not (yet) support threading
- Plug-In version: 0.31.147 (18 Sep 2015)
- Firmware version: 0.40.130
- Mach4Hobby versions: build number 2313 and higher (tested with 2313 through 2686)
** WILL NOT run on any build older/lower than 2313 **
New features since Version 0.30.136:
- Supports the PMDX-126's "Expanded Inputs" mode (see the
PMDX-126 Expanded Inputs section for more information).
- Plug-in's spindle configuration moved to a separate "Spindle Config" tab
in the Plug-in Configuration Dialog to make room on the "Feature Config" tab
for the expanded inputs configuration.
- The red LED on the SmartBOB boards now indicates commumications failure
(i.e. red LED turns on when there is no communications between the SmartBOB
and the plug-in).
Bug Fixes Since Version 0.30.136:
- SmartBOB device disables outputs on communication failure with PC.
- Plug-in correctly identifies PMDX-422/PMDX-410 revision C boards.
- The real-time status display removes the "pinA", "pinB" and
"pinC" input indicators when connected to a PMDX-411 (which does not
support those input signals).
Known Issues:
- Does not (yet) support "gantry squaring" during homing using
one home switch for each motor on a tandem axis
- Does not (yet) support backlash compensation (this is a Mach4 and plug-in issue)
- Does not (yet) support coordinated I/O (via M62 and M63 codes)
- Does not (yet) support threading
- Plug-In version: 0.30.136 (1 Aug 2015)
- Firmware version: 0.39.120
- Mach4Hobby versions: build number 2313 and higher (tested with 2313 through 2580)
** WILL NOT run on any build older/lower than 2313 **
New features since Version 0.29.128:
- Added a real-time Input/Output status display to plug-in diagnostics dialog.
This allows you to see the input and output signals as the SmartBOB device
sees them. This can help diagnose wiring problems or issues with the
Mach4 input and output signal mapping. See the Real-Time Signal Display
section for more information.
- Plug-in diagnostics dialog now shows Mach4, plug-in and firmware versions along
with circuit board information (like the plug-in configuration dialog).
- Displays the current screen set name along with all of the version information
in the the SmartBOB plug-in configuration dialog, and also the diagnostics dialog.
- The plug-in writes the current version information (like is displayed on the
plug-in configuration dialog) into a text file in the current profile directory
every time Mach4 starts. This will help PMDX diagnose issues when we receive
a Mach4 profile "package" as built by the Mach4
"Help->Support->Package Current Profile" or "Email current profile"
operations.
- Firmware download moved from plug-in diagnostics dialog to plug-in configuration dialog.
Bug Fixes Since Version 0.29.128:
- Fixed probing bug that reported incorrect probe positions.
- Changed the algorithm used to find the SmartBOB communications port to avoid
issues with some Bluetooth modems on Windows 8.1. This has a side effect of
speeding up the start-up process on any PC with multiple devices that look like
serial ports.
Known Issues:
- Does not (yet) support "gantry squaring" during homing using
one home swtich for each motor on a tandem axis
- Does not (yet) support coordinated I/O (via M62 and M63 codes)
- Does not (yet) support PMDX-126 Expanded Input Mode
- Does not (yet) support threading
- Plug-In version: 0.29.128 (16 Jul 2015)
- Firmware version: 0.39.120
- Mach4Hobby versions: build number 2313 and higher (tested with 2313 through 2568)
** WILL NOT run on any build older/lower than 2313 **
New features since Version 0.26.117:
- Added support for G31 probing (see Probing Features and Restrictions
for more information).
- Homing supports the CYCLE STOP button (the red button marked "Stop"
under the "Feed Hold" button). Pressing CYCLE STOP will abort the
homing sequence and disable Mach4. Note that the FEED HOLD button is ignored
by the SmartBOB plug-in during homing.
- If the SmartBOB is selected as the motion device, the plug-in checks the
motor and axis configuration and reports an error if a motor is disabled and
is assigned/mapped to an axis that is enabled. Mach4, up through build 2522
(the latest version available for testing before this plug-in release), allows
motion on motors even if they are marked as "disabled" (by un-checking
the box next to the motor name in the "Motors" tab of the Mach
Configuration dialog).
- Decreased the distance that homing moves the axis onto the home switch
before stopping, and increased the speed used to move the axis back off of
the home switch. See the "Homing Operation" section of the
Homing Features and Restrictions section.
Bug Fixes Since Version 0.26.117:
- Fixed installer bug that failed to detect Mach4 Industrial running during
the installation process.
- Add work-around for startup issue in Mach4 that prevented Mach4 from
properly interpreting input signals from our plug-in on startup.
See the Issue with Input Signals and Mach4 Startup
section below for important information on using this work-around.
- No longer report a motor configuration error if the motor is disabled
and NOT assigned to an axis.
Known Issues:
- Does not (yet) support "gantry squaring" during homing using
one home swtich for each motor on a tandem axis
- Does not (yet) support coordinated I/O (via M62 and M63 codes)
- Does not (yet) support PMDX-126 Expanded Input Mode
- Does not (yet) support threading
- Plug-In version: 0.26.117 (29 May 2015)
- Firmware version: 0.38.117
- Mach4Hobby versions: build number 2313 and higher (tested with 2313 through 2472)
** WILL NOT run on any build older/lower than 2313 **
New features since Version 0.25.111:
- Support PMDX-422 Rev C boards
Bug Fixes Since Version 0.25.111:
- Fixed issue that caused Mach4 build 2441 and higher to crash on some PCs.
- Fixed installer bug that thought Mach4 was running when the Windows user
name was "Mach4".
Known Issues:
- Does not (yet) support probing (coming soon)
- Does not (yet) support "gantry squaring" during homing using
one home swtich for each motor on a tandem axis
- Does not (yet) support coordinated I/O (via M62 and M63 codes)
- Does not (yet) support PMDX-126 Expanded Input Mode
- Does not (yet) support threading
- Plug-In version: 0.25.111 (8 May 2015)
- Firmware version: 0.37.115
- Mach4Hobby versions: build number 2313 and higher (tested with 2313 through 2336)
** WILL NOT run on any build older/lower than 2313 **
New features since Version 0.23.107:
- Supports 20 microsecond step pulse width (used mainly with Sherline stepper drivers)
- Disables Mach4 whenever the SmartBOB plug-in configuration dialog is displayed
(used to only disable Mach4 if changes were made to the SmartBOB configuration).
Bug Fixes Since Version 0.23.107:
- Fixed issue that caused the axis DROs to occasionally display incorrect data.
- Fixed bug that did not always update step pulse width.
- Fixed a bug that occasionally caused Mach4 to hang when exiting the
SmartBOB plug-in configuration dialog.
- Changed sample Mach4 profile so that the Mach4 log window is visible
on all screen resolutions.
Known Issues:
- Does not (yet) support probing (coming REALLY soon)
- Does not (yet) support "gantry squaring" during homing using
one home swtich for each motor on a tandem axis
- Does not (yet) support coordinated I/O (via M62 and M63 codes)
- Does not (yet) support PMDX-126 Expanded Input Mode
- Does not (yet) support threading
- Firmware version: 0.35.111
- Mach4Hobby versions: build number 2313 and higher (tested with 2313 through 2326)
** WILL NOT run on any build older/lower than 2313 **
New features since Version 0.22.106:
Bug Fixes Since Version 0.19.100:
Known Issues:
- Does not (yet) support probing (coming REALLY soon)
- Does not (yet) support "gantry squaring" during homing using
one home swtich for each motor on a tandem axis
- Does not (yet) support coordinated I/O (via M62 and M63 codes)
- Does not (yet) support PMDX-126 Expanded Input Mode
- Does not (yet) support threading
- Firmware version: 0.35.111
- Mach4Hobby versions: build number 2223 and higher (tested with 2223 through 2270)
** WILL NOT run on any build older/lower than 2223
NOR ON ANY VERSION NEWER THAN 2270 **
New features since Version 0.19.100:
- Updated homing parameters related to how far to move onto and off of
the homing switch to accommodate machines with large values of "steps per".
See Homing Features and Restrictions for more information.
- The SmartBOB plug-in configuration dialog now shows the current motor
step and direction pin assignments on the "Motor Config" tab in
the "Step/Dir Configuration" section.
Bug Fixes Since Version 0.19.100:
- Fixed race condition in homing code that sometimes displayed error messages
when there were no errors.
- Fixed limit switch handling
- Fixed limit override handling
Known Issues:
- Does not (yet) support probing (coming REALLY soon)
- Does not (yet) support "gantry squaring" during homing using
one home swtich for each motor on a tandem axis
- Does not (yet) support coordinated I/O (via M62 and M63 codes)
- Does not (yet) support PMDX-126 Expanded Input Mode
- Does not (yet) support threading
Version 0.19.100 (24 Mar 2015)
- Plug-In version: 0.19.100 (24 Mar 2015)
- Firmware version: 0.35.111
- Mach4Hobby versions: build number 2223 and higher (tested with 2223 through 2270)
** WILL NOT run on any build older/lower than 2223 **
New features since Version 0.18.97:
Bug Fixes Since Version 0.18.97:
- Fix issue with homing and motors with the "Reverse" box checked
in the 'Motors' configuration tab (or the "DIR Polarity" settings
in the SmartBOB plug-in configuration set to "Reverse").
- Displays the correct error message when homing an axis and the SmartBOB
is unable to move the axis off of the home switch (used to display "INTERNAL ERROR").
Known Issues:
- Does not (yet) support probing (coming REALLY soon)
- Does not (yet) support "gantry squaring" during homing using
one home swtich for each motor on a tandem axis
- Does not (yet) support coordinated I/O (via M62 and M63 codes)
- Does not (yet) support PMDX-126 Expanded Input Mode
- Does not (yet) support threading
Version 0.18.97 (16 Mar 2015)
- Plug-In version: 0.18.97 (16 Mar 2015)
- Firmware version: 0.34.110
- Mach4Hobby versions: build number 2223 and higher (tested with 2223 through 2270)
** WILL NOT run on any build older/lower than 2223 **
New features since Version 0.17.86:
- Support for slaved axis (i.e. an axis with more than one motor).
Includes basic homing of axis with slaved motors. See the
Homing Features and Limitations section for
more information.
Bug Fixes Since Version 0.17.86:
- Homing errors due to configuration issues now abort homing, disable Mach4
and display an error message in the Mach4 message bar at the bottom of the
Mach4 screen.
- Homing now checks for configuration conflicts that would prevent successful
homing (see the Homing Features and Limitations section
for more information).
- Revised method of retrieving motion data from Mach4 core to avoid issues
discovered when screw mapping was added to Mach4.
- Some motion sequences left the axis not at expected position (related to
previous item regarding motion data).
- Fix minor position errors in final homing sequence.
Known Issues:
- When homing an axis, if the axis starts on the homing switch, the SmartBOB
attempts to move off of the homing switch before starting the homing sequence.
If the SmartBOB is unable to move off of the homing switch (i.e. the home input
remains active), the plugin will display an "INTERNAL ERROR" instead
of the actual "Could not move off of home switch" error.
- Does not (yet) support probing (coming soon)
- Does not (yet) support "gantry squaring" during homing using
one home swtich for each motor on a tandem axis
- Does not (yet) support coordinated I/O (via M62 and M63 codes)
- Does not (yet) support PMDX-126 Expanded Input Mode
- Does not (yet) support threading
Version 0.17.86 (11 Feb 2015):
- Firmware version: 0.32.104
- Mach4Hobby versions: build number 2223 and higher (tested with 2223)
** WILL NOT run on any build older/lower than 2223 **
New features since Version 0.16.82:
- Support for Mach4 Build 2223
Bug Fixes Since Version 0.16.82:
- Fixed issues with homing when the user clicks on the "Disable" button
while the machine is homing.
- SmartBOB plug-in configuration screen now should show all digits of
the charge pump frequency and minimum spindle PWM duty cycle on
high-resolution monitors
- Fixed issues with firmware download occasionally hanging after the
download completed successfully
- Fixed issue with downloading firmware to PMDX-410 boards
-
Known Issues:
- Does not (yet) support probing (coming soon)
- Does not (yet) support coordinated I/O (via M62 and M63 codes)
- Does not (yet) support threading
- Does not (yet) support slaved motors
- Does not (yet) support PMDX-126 Expanded Input Mode
Version 0.16.82 (26 Jan 2015)
- Firmware version: 0.31.103
- Mach4Hobby versions: build number 2192 and higher (tested with 2192)
** WILL NOT run on any build older/lower than 2192 **
New features since Version 0.15.77:
- Support configurable charge pump frequency
-
- Configuration option for "charge pump on always" (as long as Mach4 is
running), as opposed to only when Mach4 is "enabled". This option should be
used when connected to a Geckodrive G540.
- Improved motion queue handling code that should prevent most
"motion queue underrun" errors.
- Support for PMDX-411
Bug Fixes Since Version 0.15.77:
Known Issues:
- Does not (yet) support probing (coming soon)
- Does not (yet) support coordinated I/O (via M62 and M63 codes)
- Does not (yet) support threading
- Does not (yet) support slaved motors
- Does not (yet) support PMDX-126 Expanded Input Mode
Version 0.15.77 (12 Jan 2015):
- Firmware version: 0.29.100
- Mach4Hobby versions: build numbers 2114 and higher (tested through 2157)
** WILL NOT run reliably on any build older/lower than 2114 **
** SPECIFICALLY - The spindle speed control will not work at all **
New features since Version 0.14.72:
- Support the PMDX-407 Simple Spindle Speed Controller. SEE WARNING BELOW!
- Improved error reporting when configuring the SmartBOB device.
- Can now select the spindle speed PWM polarity (only when using pin 14 or
pin 16 for PWM output, the PMDX-407 PWM polarity is fixed).
Bug Fixes Since Version 0.14.72:
- Fixed spindle speed PWM when assigned to pin 14 on revision "A" SmartBOB
boards. Note that revision "A" boards were only sent to beta testers and
were never sold through our web site.
Known Issues:
- Does not (yet) support probing (coming soon)
- Does not (yet) support coordinated I/O (via M62 and M63 codes)
- Does not (yet) support threading
- Does not (yet) support slaved motors
- Does not (yet) support PMDX-126 Expanded Input Mode
**WARNING**
If your profile contains macros for M3, M4 or M5 (like are installed by
the Mach4Hobby installer), you MUST delete these files in order for the
PWM spindle speed control to function. The macros as provided with some
Mach4Hobby installations DO NOT WORK, and they are not needed for the
PMDX-SmartBOB-USB to function.
NOTE that if you installed the PMDX sample profile from previous plug-in
releases, that profile may contain these macro files. You will need to
manually delete them. EVEN IF YOU TOLD THIS INSTALLER TO INSTALL THE
SAMPLE PROFILE! The installer does NOT overwrite an existing copy of the
sample profile.
These macros are in the Profiles\YourProfileName\Macros directory. You
should see two files for each M-code. For example, "M3.mcc" and "M3.mcs".
You must remove both of these files for each M-code, either by deleting
them or by moving them to another directory.
If you have created custom versions of the M3, M4 or M5 macros, or have
Lua code that affects that functionality, you will need to test them
with the PMDX-SmartBOB-USB plug-in to see if the plug-in still works.
Version 0.14.72 (16 Dec 2014):
- Firmware version: 0.27.93
- Mach4Hobby versions: build numbers 2114 and higher (tested through 2157)
** WILL NOT run reliably on any build older/lower than 2114 **
New features since Version 0.12.53:
- Updated for Mach4 build 2114 and higher (tbough we recommend running the most
recent Mach4Hobby release, which is build 2157 as of this release date)
- Add PWM spindle speed control on pins 14 or 16 (see plug-in configuration
dialog on the "Feature Config" tab). SEE WARNING BELOW!
- Supports Mach4 configurations where this plug-in is not the motion controller
(i.e. the PMDX-SmartBOB-USB can act as an I/O device without driving
step and direction to motors)
- Plugin configuration allows the user to change the motion buffer lengths
in case they see "buffer underrun" errors (see new "Performance Settings" tab)
- Plugin configuration dialog has button to restore default debug settings
- Plug-in allows Mach4 to come out of reset (i.e. "enabled") if the plug-in is
disabled and there is no device connected. Previous versions required a
SmartBOB-USB to be connected even if the plug-in was disabled, or the plug-in
would prevent Mach4 from going into the "enable" state.
- The installer log file copied to the Plugins\PMDX-SmartBOB-USB directory in
case there are installer issues.
- The installer checks if Mach4 is running or a SmartBOB-USB is plugged in and
prompts the user to close Mach4 and unplug the SmartBOB-USB.
- The installer now presents a license before proceding with the installation
and stores a copy of the license in the Plugins\PMDX-SmartBOB-USB directory.
Bug Fixes Since Version 0.12.53:
- Fix motion buffer underrun issue when Mach4 is "Step jog mode" and the selected
step size is "small" (usually 0.010 or 0.001, depending on your machine
configuration).
- Increased default motion buffer length to avoid "buffer underrun" errors
- Fixed installer bug that did not install the USB Virtual COM Port driver
- Fixed/updated error reporting from device driver interface
- Removed Mach4 macro files from sample Mach4 profile (they did not work and
interfered with PWM spindle operation).
- Only validates motor tuning parameters when selected as the motion device
Known Issues:
- Does not (yet) support probing (coming soon)
- Does not (yet) support coordinated I/O (via M62 and M63 codes)
- Does not (yet) support threading
- Does not (yet) support slaved motors
- Does not (yet) support PMDX-126 Expanded Input Mode
**WARNING**
If your profile contains macros for M3, M4 or M5 (like are installed by
the Mach4Hobby installer), you MUST delete these files in order for the
PWM spindle speed control to function. The macros as provided with some
Mach4Hobby installations DO NOT WORK, and they are not needed for the
PMDX-SmartBOB-USB to function.
NOTE that if you installed the PMDX sample profile from previous plug-in
releases, that profile may contain these macro files. You will need to
manually delete them. EVEN IF YOU TOLD THIS INSTALLER TO INSTALL THE
SAMPLE PROFILE! The installer does NOT overwrite an existing copy of the
sample profile.
These macros are in the Profiles\YourProfileName\Macros directory. You
should see two files for each M-code. For example, "M3.mcc" and "M3.mcs".
You must remove both of these files for each M-code, either by deleting
them or by moving them to another directory.
If you have created custom versions of the M3, M4 or M5 macros, or have
Lua code that affects that functionality, you will need to test them
with the PMDX-SmartBOB-USB plug-in to see if the plug-in still works.
That's All Folks!