Downloads

USB Driver: SmoothStepperUSBDriver2.04.06.zip

The driver files should be unzipped on your computer. When you plug in the SmoothStepper, point the "New Hardware Found Wizard" to the files, and follow the prompts.

Note: If you have a beta version of the SmoothStepper, you should not use these drivers. Instead, go to the FTDI website and download the D2XX driver from there (http://ftdichip.com/Drivers/D2XX.htm).

---------------------------------------------------

PlugIns

An "m3p" file is a "Mach 3 Plugin" file. Once downloaded, double-click the file and it will self install itself as a dll in the PlugIns directory of your Mach3 installation.

Please use a recent version of Mach with the SmoothStepper. If you experience any problems you will probably be asked to upgrade to the latest. As far as the SmoothStepper is concerned, anything after R3.037 should be OK for most functions. In particular, you will need to use a recent development version of Mach (i.e. 3.042.012 or newer) for threading or for encoders to work properly (using plugin version 15me or newer). Please note that the development version of Mach does not have the same meaning as it has in the past. Very few features are being added, and those features are not major ones. In general, the development version is the bug-fixed version of the lockdown (2.63). Aside from bug fixes, a typical feature that would be added is access to internal Mach variables so that an external device (such as the SmoothStepper) can perform threading. Because the SmoothStepper is requiring access to more of Mach than it is currently set up for, you really need to use the development version. Hopefully it won't be too far in the future that we will be able to declare a lockdown version for the SmoothStepper. Since Brian recently installed a revision control system, what I just described might change. If it did, the likely case is that there would be a bug-fixed version of the lockdown, and a development version. Regardless, you must use the development version in order to have the SmoothStepper work right.


2008-09-30    PlugIn: SmoothStepper_Beta2_v015me.m3p

- Because this new plugin has additional features that must be tracked in the XML, it is advisable to make a backup of your XML just in case this plugin does not work out for you and you want to revert back to the previous plugin.

- Threading. What more can I say? It threads! You must use a recent development version of Mach for this to work properly. With threading comes spindle RPM display. Right now the only mode supported is the same as the PP, which is one pulse per rev of the spindle. Assign the spindle index to the INDEX input in Ports & Pins and it will display Spindle RPM. In threading, it will read this value and plan the threading pass based on this value. Once the threading pass has begun, any changes in the spindle speed will change the feedrate by the same percentage. Once the threading pass has ended, the synchronization mode is over and it returns to the beginning of the thread to start again. It would not be terribly difficult to create a mode where the feedrate is always synchronized to the spindle. Every time the commanded spindle speed were changed, a new synchronization command could be issued. This mode would be very useful for saving your bit if the spindle stopped but the feed didn't.

- Soft Limits is finally finished. It operates practically identically to the PP version. The difference is in the speed at which the software operates. In the PP version, velocity updates occur at 10 Hz as it enters the slow zone. The SmoothStepper adjusts it at 1 kHz. In the PP version, it is monitoring the edge of the soft limit at 25 kHz or more. In the SS, it is only monitoring it at 1 kHz. This can be evidenced by what happens when you exceed a soft limit if your slow zone is too narrow or your accel value too low. It will overshoot by the amount it can travel in approximately 1 ms. In reality, momentum will probably carry it further because the motion is stopped abruptly at the soft limit if you do not appropriately set the slow zone or the acceleration in motor tuning. Properly set, it will slow down gradually as it enters the slow zone. Because of the mathematics involved, soft limits reduces the available travel in the axes to +/- 1,073,741,823 steps. That is probably not a limiting factor for anyone.

-GCODE that produced very small amounts of movement with gaps in time in between could get the SmoothStepper confused about whether it was OK for its buffer (a First-In First-Out (FIFO) buffer) to empty or not. I replaced the logic with a new method that can handle this. When the buffer does empty when it isn't supposed to (I often used the words "run dry"), I need to have the SmoothStepper act appropriately. I haven't done anything yet because I had been waiting for functionality that would come with threading. The time has come, but there are a few other things I need to attend to first. For all plugins, you can see if the FIFO ran dry by looking for the status in the SmoothStepper's Config screen. In older plugins, it might not be accurate though if the data burst to the SS was short. My plans are to have the device look ahead, and if the buffer is getting low, throttle back on the consumption of data in hopes that the PC would be able to download more data soon. In the event data never comes, it will become a "STOP" situation and the device will abruptly halt. It has to because there is no more data. Currently it will continue again as soon as more data does arrive.

- Fixed a bug in the initialization of axis position at startup. Forgot about slaved axes.

- There is now support for any combination of 5 encoders or MPGs. In the Settings tab of Mach3 Mill, the "Encoder Position" controls now operate and function properly for the SS. You should be able to transfer the Encoder values to and from the main DROs. This is very useful if you have encoders on your axes and you have an EStop or some other reason for losing position. If you have encoders, you will be able to regain position using these controls.

- There was a bug in homing limits that caused it to home in the wrong direction depending upon the size of the table or where the switches were mounted.

- There is a new output mode in addition to Step & Direction. Some higher-end drives can accept Quadrature. In the Config screen you can select whether you want Step & Direction or Quadrature for the output mode.


2008-09-30    PlugIn: SmoothStepper_Beta2_v013ca.m3p

-I have identified a bug in the older plugin versions that affects the polarity of Port 2 Pins 2, 3, 4, 5, and 6. I have recompiled the code with this fix, in case someone has been using 13c and are happy with it. Some people may prefer to let other people live on the edge. Some users have had issues running pendents on port 2, and this might be the reason.

2008-07-28    PlugIn: SmoothStepper_Beta2_v013c.m3p

- Noise filtering had a bug when it assigned values for MPGs.
- Some motor drivers require the step signal to be in the inactive level in order to go into a low-power idle state. At the end of a move, the SS will now deassert the signal if no steps are taken for about 120 us.
- Fixed a bug where Encoder 1 was not being recognized.
- I recently added code to initialize the DROs to the position Mach was at when it last closed. While I initialized the position in the SS device, I forgot to initialize some of the internal plugin values. This would produce a thunk in the axes at the beginning of homing.
- The plugin did some unnecessary syncing with Mach whenever the device was still. I believe this was causing some minor errors in position.

2008-07-20    PlugIn: SmoothStepper_Beta2_v012.m3p

- Noise filtering is complete. Since this plugin adds data to the XML, I would advise making a backup of your XML before you use it. When you run this plugin, go to the SS Config dialog and read the instructions there.
- If the SS sees a short pulse on the EStop line, it will EStop the device. It also reports the information to Mach, but the plugin did not use the information before. If the EStop does not last long enough for Mach to see it on the input data (which is only sampled at 10 Hz), Mach would not go into EStop. Now the plugin looks at the EStop flag from the device (not just the input pin), and will EStop Mach if it is set.
- If the option to disable menus is selected, the plugin will not try to add any menus.
- Changing the Controller Frequency should have an immediate effect now, though you will still need to restart Mach if a Max Step Frequency is changed. This is max Step Frequency affects motor tuning.

2008-07-15    PlugIn: SmoothStepper_Beta2_v011a.m3p

- Incremental probing moves are now functional.
- MPGs assigned to ModIO should work well now. The SS interfered with them before.
- Dwell times should now be honored.
- Removed the obnoxious warning that the dir line for the spindle was assigned to an invalid port/pin.
- The position may be saved and restored between Mach sessions.
- EStop is local to the device. This was implemented poorly the first time around. Having it local means it will be an instantaneous stop.
- The reason for the jump between version 6 and 11 is because there are a bunch of unfinished plugins in between (Expansion Port, Soft Limits, Spindle Sync, and Noise Filtering). I'm working on them and hope to release soon.

2008-06-01    PlugIn: SmoothStepper-Beta2-006c.m3p

- This release fixes a problem with estop being registered improperly in the device. This caused a variety of odd behavior in some installations, but not all.

2008-05-27    PlugIn: SmoothStepper-Beta2-006.m3p

- This release is all bug fixes. I'm working on the new features release, but there were a few bug fixes that needed to be made first. Please note that this version has changes that affect the XML file. I encourage you to make a backup before using this new plugin.
- The homing routine had a bug where a function was being called incorrectly. Those that have a homing offset, or anyone that had trouble with it zeroing an axis after homing should see that fixed now.
- The plugin did not pay attention to whether a signal's port was a SmoothStepper port (1, 2, or 3). People that use ModBus, or anyone that has a G100 in I/O mode, or uses a port other than 1, 2, or 3 should be happy.
- Spindle output was not working well for most people. I tracked the problem down to the duty cycle of the Spindle step frequency. It was 50%, but the parallel port is much narrower. I modified the SmoothStepper config dialog to include a way to specify the spindle pulse width in microseconds. It may be a fractional amount if you wish (i.e. 4.8 us). This change resulted in an additional tag for XML for Spindle Mode, and another for the pulse width.

2008-05-09    PlugIn: SmoothStepper-Beta2-005a.m3p

- EStop is now registered in the SS for quick response
- Fixed bug in discrete outputs (did not do anything if the signal was negated)
- Removed "Accel Warning"
- When exiting, it disables the outputs (puts them in high impedance) before resetting the device. Just in case the reset circuitry is broken, this will reset the outputs to an inactive state.
- Added a check box in the monitoring dialog to select between the physical or logical representation of the inputs. "Physical" reflects the voltage of the actual pin, whereas "Logical" takes into account whether or not you've configured the input as negated in Ports & Pins.
- Added Port 3 to the inputs in the monitoring dialog.

2008-05-09    PlugIn: SmoothStepper-Beta2-004a.m3p

- Version 005 (not 005a) seems to have some problems, so I pulled it and put up version 004a.  This version is the same as 004 but fixes the negate problem on outputs.