PMDX-SmartBOB-USB
Mach4 Plug-in Release Notes
29 May 2015
Table of Contents
- Support and Updates
- Latest Plug-in Version Release Notes
- Homing Features and Restrictions
- 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.26.117 (29 May 2015)
- Firmware version: 0.38.117
- Mach4Hobby versions: build number 2313 and higher (tested with 2313 through 2491)
** 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
**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.
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.
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 version 0.18.97 the plug-in supports 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).
- All home switches must be assigned to inputs on the SmartBOB device.
You cannot have the SmartBOB providing motion control and some other device
providing the home switch inputs to Mach4.
- 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 same "Active Low" setting. For example,
say that the X axis has motor0 and motor1 assigned to it, and the home switch
for motor0 is on input Pin11.
In the Mach4 "Input Signals" tab, the "Motor 0 Home" and
"Motor 1 Home" must both be assigned to the SmartBOBUSB Pin11 with
the same "Active Low" setting.
- 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 limit switches
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.
- If multiple axis have home switches that share the same input, none of
the axis can be on their home switch when homing starts. If any axis is
on its home switch, the SmartBOB will require that the operator manually
jog all axis off of their home switches before homing can start.
- If multiple axis have home switches that share the same input, the
"Home Order" must be configured so that each of these axis
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.
- If an axis has its home switch and at least one if its limit switches sharing
the same input, and that input is active (meaning that the axis is on its
home or limit switch) then the SmartBOB will refuse to move that axis and
the operator must manually jog the machine off of the home and limit switches.
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.100"
(or 2.54mm) 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/10th 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.
If you selected this 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" screen set, which looks mostly like Mach3.
- Then click on "OK" to create the new profile
- Finally, 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.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!