information and instruction manual for the simplexcnc ... · the specific manual for the version of...
TRANSCRIPT
Peter Norberg Consulting, Inc.
Professional Solutions to Professional Problems P.O. Box 10987 Ferguson, MO 63135-0987 (314) 521-8808
Information and Instruction Manual for the SimplexCNC Simple Router Control Application
Manual By
Peter Norberg Consulting, Inc. Matches SimplexCNC Program Revision 2.0.0.79
This Manual is Copyright 2008, 2009, 2010, 2011 by Peter Norberg Consulting, Inc. All Rights Reserved.
Authored in the United States of America. Manual published September 16, 2011 10:46 AM
Table Of Contents Page 2
SimplexCNC Application Peter Norberg Consulting, Inc.
Table Of Contents
Table Of Contents ...................................................................................................... 2
Disclaimer and Revision History ................................................................................... 5
Product Safety Warnings ............................................................................................ 6
LIFE SUPPORT POLICY .................................................................................... 6
Introduction and Product Summary ............................................................................. 7
SimplexCNC Application Summary ............................................................................... 8
Configuring your system using the Preferences Screen ........................................ 10
Setting your “Machine Units” ................................................................ 10
Loading and saving the machine settings ............................................... 11
X, Y, Z Axis Settings ............................................................................ 12
Resolution ............................................................................... 12
Backlash ................................................................................. 12
Home Over Run ....................................................................... 12
Limit – .................................................................................... 13
Limit + ................................................................................... 13
Home ..................................................................................... 13
Machine Origin ......................................................................... 13
Max Travel .............................................................................. 13
A Axis ................................................................................................ 14
Resolution Step/Deg ................................................................. 14
Axis of Rotation ....................................................................... 14
Angular Rate Modifier ............................................................... 14
Base Rates ......................................................................................... 15
Start Speed ............................................................................. 15
Maximum Speed ...................................................................... 15
Max Rate Change ..................................................................... 15
Acceleration ............................................................................ 15
Max Spindle Speed ................................................................... 15
SD4D user initialization string .................................................... 15
Chord Length ...................................................................................... 16
OK/Cancel .......................................................................................... 16
Operating your system with the main screen ..................................................... 17
Menu Options ..................................................................................... 18
File menu ................................................................................ 18
Edit menu ............................................................................... 19
Messages menu ....................................................................... 21
Preview ................................................................................... 21
Motor Locations .................................................................................. 22
Table Of Contents Page 3
SimplexCNC Application Peter Norberg Consulting, Inc.
GCode Source Panel ................................................................. 22
Messages ................................................................................ 22
Preview Panel .......................................................................... 23
Manual Data Input ................................................................... 25
Tool ........................................................................................ 25
Main control buttons ................................................................. 25
Incremental (toggles jog mode) ................................................. 26
Jog Control .............................................................................. 26
Library Manager ............................................................................................. 27
Example use of a library function .......................................................... 27
GCode Implementation .............................................................................................. 29
Implemented G Words .................................................................................... 29
Miscellaneous Words ....................................................................................... 33
M0 allows pause/restart action .............................................................. 34
Special Drill Commands (G81, G82, G83) .......................................................... 35
G81 - Drilling Canned Cycle .................................................................. 35
G82 - Spot Drilling Cycle (also called the „Drilling with dwell canned
cycle‟) ................................................................................................ 35
G83 - Deep Hole Drilling Cycle .............................................................. 35
Non Standard Functionality .............................................................................. 36
:debug/:nodebug ................................................................................ 36
STARTLOOP / ENDLOOP ....................................................................... 36
Extended Interpreter Functions ............................................................. 36
Example: ........................................................................................... 37
Diagnostic Support Log ................................................................................... 37
SD4DP/SD4D Series Board Connections ....................................................................... 38
Board Size ..................................................................................................... 39
Mounting Requirements .................................................................................. 39
Cooling Requirements ..................................................................................... 39
Connection Summary ................................................................................................. 40
Hardware Configuration: Board Jumpers ........................................................... 40
Jumper R1K: Default Step Pulse Polarity ................................................ 40
Jumper S1K: Default Step Direction Level .............................................. 40
Jumper RN: Clock enable ..................................................................... 40
Jumper DP: Driver Pullup Voltage Source ............................................... 40
Connector Signal Pinouts ................................................................................. 41
SX-Key debugger connector ................................................................. 42
CTL – Output Power and DAC voltages, SD4DP version ............................ 42
CTL - Board status and TTL Serial, SD4D series version ........................... 42
Input Limit Sensors, lines LW- to LZ+ .................................................... 43
Table Of Contents Page 4
SimplexCNC Application Peter Norberg Consulting, Inc.
PWR - Power Connector for the SD4DP and all but the SD4DEU ................ 44
PWR - Power Connector for the SD4DEU ................................................ 44
IO - TTL Outputs, used for device on/off control ...................................... 46
STEPS - TTL Step And Direction Signals ................................................. 48
Connection Example 1: SD4D revision 1 to Gecko G2O1 or G2O2 Drivers .............. 49
Connection Example 2: SD4DP, SD4D, SD4DEI or SD4DEU to Gecko G2O3 Drivers .......................................................................................................... 50
Connection Example 3: SD4DP, SD4DG, SD4DEI or SD4DEU to Gecko G201 or G2O2 Drivers ................................................................................................. 51
Connection Example 4: SD4DP, SD4DG to Gecko G203 Drivers ............................ 52
Connection Example 5: SD4DP, SD4DG, SD4DEI or SD4DEU to SMC LC6D
Drivers .......................................................................................................... 53
Disclaimer and Revision History Page 5
SimplexCNC Application Peter Norberg Consulting, Inc.
Disclaimer and Revision History
All of our products are constantly undergoing upgrades and enhancements. Therefore, while this manual is accurate to the best of our knowledge as of its date of publication, it cannot be construed as a commitment that future releases will operate identically to this description. Errors may appear in the documentation; we will correct any mistakes as soon as they are
discovered, and will post the corrections on the web site in a timely manner. Please refer to the specific manual for the version of the hardware and firmware that you have for the most accurate information for your product.
This manual describes Jim Gunther‟s SimplexCNC application. The software release described is SimplexCNC build 2.0.0.39. The manual version shown on the front page normally has the same value as the associated SimplexCNC application version. If no manual has yet been published which matches a given firmware level, then the update is purely one of internal
details; no new command features will have been added.
As a short firmware revision history key points, we have:
Version Date Description
1.0.0.55 February 15, 2008 First manual relating to SimplexCNC Software – BETA release
May 20, 2008 Corrected R1K and S1K jumper documentation;
they were reversed.
June 5, 2008 Added note for the new ESD version of the SD4DP board (serial numbers M209-0001 and later) relating to Gecko Vampire installation.
1.0.1.15 July 17, 2008 General code cleanup, corrected various customer
reported issues
1.0.1.22 August 15, 2008 Updated to add DXF import
1.1.0.91 April 27, 2009 Added „:debug‟ and „:nodebug‟ commands to the interpreter
1.2.0.105 May 10, 2009 Released 3D preview mode
2.0.0.28 January 11, 2010 Released operation on all of the SD4D series of
boards, added display resize capability, for support on many netbooks. Removed documentation for the SD4DP board,
since all products from the SD4D and SD4DP series are now supported
2.0.0.39 July 6, 2010 Added user control of diagnostic log file generation, as well control of font to use during engraving actions using the M96 command.
2.0.0.78 September 9, 2011 Added board connection documentation back into this manual, to better explain use of the IO connector to drive auxiliary devices. Updated engraving tool to lift Z axis (if home enabled) when moving between key locations
2.0.0.79 September 16, 2011
Corrected error in application -- failed to actually send the User Init string.
Product Safety Warnings Page 6
SimplexCNC Application Peter Norberg Consulting, Inc.
Product Safety Warnings
The SD4D series of controllers can get hot enough to burn skin if touched, depending on the voltages and currents used in a given application. Care must always be taken when handling the product to avoid touching the board or its installed components, until the board has cooled down completely. Always allow adequate time for the board to “cool down”
after use, and fully disconnect it from any power supply before handling it.
The board itself must not be placed near any flammable item, as it can generate significant heat. There exist several components on the bottom side of the board that can get quite hot; therefore, the board must be correctly mounted using stand-offs.
Note also that the product is not protected against static electricity. Its components can be damaged simply by touching the board when you have a “static charge” built up on your body. Such damage is not covered under either the satisfaction guarantee or the product warranty.
Please be certain to safely “discharge” yourself before handling any of the boards or components.
Always use a correctly grounded power supply to power the system. Failure to do so may cause dangerous voltages to exist on the board, and thus may cause damage or injury to anything connected to the product, including people!
LIFE SUPPORT POLICY
Due to the components used in the products (such as National Semiconductor Corporation,
and others), Peter Norberg Consulting, Inc.'s products are not authorized for use in life support devices or systems, or in devices that can cause any form of personal injury if a failure occurred.
Note that National Semiconductor states "Life support devices or systems are devices which (a) are intended for surgical implant within the body, or (b) support or sustain life, and in whose failure to perform when properly used in accordance with instructions or use provided in the labeling, can be reasonably expected to result in a significant injury to the user". For a
more detailed set of such policies, please contact National Semiconductor Corporation.
Introduction and Product Summary Page 7
SimplexCNC Application Peter Norberg Consulting, Inc.
Introduction and Product Summary
Full details of connecting and testing your SD4D series (SD4DG, SD4DEU, SD4DEI) controller board are available from within its hardware and firmware reference manual, SD4DNCRouter.pdf.
Full details of connecting and testing your SD4DP controller board are available from within its
hardware and firmware reference manual, SD4DFifoNCStepper.pdf.
The SimplexCNC application software is designed to operate up to 4 stepper motors, along with 1 DAC if available (usually used to define the spin rate for one DC motor), via a variant of the G-Code language.
SimplexCNC Application Summary Page 8
SimplexCNC Application Peter Norberg Consulting, Inc.
SimplexCNC Application Summary
The SimplexCNC application is designed to make thorough use of the capabilities of the SD4D and SD4DP series of boards, allowing control of 3 linear stages of motion (X, Y and Z) as well as a rotational stage (using the „W‟ motor connection). Additionally, on the SD4DP, one of the two 0-5 volt DAC outputs may be used to control the spin rate of a voltage-programmable DC
(or AC) motor through use of the „S‟ memory location. You will probably need an external speed controller to take voltage output and scale it to operate the external motor.
When the application is started, it first scans for the presence of our SD4DP board with the appropriate firmware. If the board is not detected, then the code will allow you to view your GCODE files as well as to configure the intended use of the application.
The main application page can appear as follows:
Almost all of your interaction with the system will be through this page, once you have configured your particular installation.
From this screen, you can request loading of new GCODE files, edit the existing GCODE file, preview the run, manually move the motors, control mist and spindle operation, and actually run the complete GCODE application.
SimplexCNC Application Summary Page 9
SimplexCNC Application Peter Norberg Consulting, Inc.
The other main interactive screen of the code is the preferences section, reached through the „Edit->Preferences‟ drop-down menu, and appears as follows:
This screen is used to define how the application makes use of the SD4DP controller board to
actually run your CNC machinery. This screen is critical to correct operation of your system, since it controls the scaling between internal machine units and user-units (inches or
millimeters), presence and polarity of limit switch inputs, as well as various other details relating to control of your system.
This manual will start by going through the details of configuring the application using the above preferences screen, followed by a detailed explanation of use of the main control screen.
SimplexCNC Application Summary Page 10
SimplexCNC Application Peter Norberg Consulting, Inc.
Configuring your system using the Preferences Screen
The preferences section is reached through the „Edit->Preferences‟ drop-down menu on the main screen, and appears as follows:
This page is used to tell the application how your system is physically configured, so that it
can correctly interpret your GCODE application requests. It shall be discussed here one section at time, roughly from top to bottom.
Setting your “Machine Units”
The “Machine Units” preference tells the application to interpret number values either in
inches (shown) or millimeters. Select which style fits your needs; the code will automatically rescale all of the other parameters on the screen to be in the appropriate form.
SimplexCNC Application Summary Page 11
SimplexCNC Application Peter Norberg Consulting, Inc.
Loading and saving the machine settings
Press the “File” menu to get to a screen that allows you to load and save the machine-specific portions of the configuration. The resulting screen appears as:
To load a new configuration, select the „Load Pre-Configured Settings…” menu item. This will bring up a file open dialog, to allow you to select a new machine configuration file to load. The settings in the preference screen will be reset to those in the requested file. To „back out‟ of the new settings, simply press the „Cancel‟ button on the main preferences screen.
To save the current configuration, select the „Save Current Setting as a Configuration…” menu item, which will bring up a file dialog for you to use to save the settings. Type in
the name under which you want the settings to appear, and press the “Save” button to save the settings.
SimplexCNC Application Summary Page 12
SimplexCNC Application Peter Norberg Consulting, Inc.
X, Y, Z Axis Settings
The X, Y and Z axis settings are used to define exactly how your motors are scaled into your preferred units (inches or millimeters). The code uses these values to scale all requests sent to the controller, and must be correct in order to generate correctly sized results.
The fields available for each separate motor are:
Resolution
This field tells the code how many steps of your motor system (which will be dependent on your actual motor driver microstep setting, the resolution of the motor itself, and your drive train) are needed per inch or millimeter (as set in the “Machine Units” selection).
For example, if you:
have a 200 step/revolution motor,
an a 10 turn/inch gear train
have a Gecko drive with 10 microsteps/step
then your „resolution‟ would be 200 (steps/motor revolution) * 10 (turns/inch) * 10 (microsteps/step), or 20,000 steps/inch.
Backlash
This field allows you to tell the system how much motor/gear train backlash there is in
your system. When you reverse a motor‟s direction of spin, most systems have enough „give‟ in their gear train to actually require several steps of motor motion to occur before real physical motion occurs. This setting is used to tell the code how much your particular drive train requires, so that it can correctly reach the same physical location from either direction of travel.
Home Over Run
The „Home Over Run‟ setting informs the code of the distance from where the limit
switch sensor triggers and where you want true physical end of travel. You should set this value to be slightly less than that maximum distance: it is used by the code to calculate the maximum rate at which the homing function may be accomplished without physically hitting the end-stops.
This setting is ignored for a given motor if there are no limit switches enabled.
SimplexCNC Application Summary Page 13
SimplexCNC Application Peter Norberg Consulting, Inc.
Limit –
This setting tells the code whether there is a “-“ motion limit switch, and whether it is wired as “low/closed” = at limit, or “high/open” = at limit.
„Low‟ means „low/closed‟ is a limit event,
„High‟ means „high/open‟ is a limit event
Limit +
This setting tells the code whether there is a “+“ motion limit switch, and whether it is wired as “low/closed” = at limit, or “high/open” = at limit.
„Low‟ means „low/closed‟ is a limit event,
„High‟ means „high/open‟ is a limit event
Home
This setting identifies which limit is to be used as the “auto-home” detector.
N/A means neither
Minus means use the „-„ limit
Plus means use the „+‟ limit
If this is set to use of either the „-„ or „+‟ limit, then the “HOME” button will be available on the main screen in order to force the system to automatically seek to the indicated
limit (to “home” the machine).
Machine Origin
If you have „homing‟ enabled (see the „Home‟ setting, above). then the “Machine Origin” defines the distance to come off the limit switch after homing the axis. This position is then defined as the origin (zero point) for that axis.
Note that the sum of the “Machine Origin” setting and the “Home Over Run” setting equals the physical distance from the end-stop at which the origin will be defined.
Max Travel
If you have „homing‟ enabled (see the „Home‟ setting, above), then the “Max travel” field will appear on the screen. This field defines the maximum distance to the „other limit‟ (soft limits). The code uses this to help prevent overrun requests.
SimplexCNC Application Summary Page 14
SimplexCNC Application Peter Norberg Consulting, Inc.
A Axis
This section defines the settings for the rotational axis, connected to motor „W‟ on the SD4DP.
Resolution Step/Deg
This describes the number of (micro)steps per degree of rotation.
For example, if you:
have a 200 step/revolution motor,
an a 10:1 gear reducer
have a Gecko drive with 10 microsteps/step
then you would have be 200 (steps/motor revolution) * 10 (gear reduction) * 10 (microsteps/step), or 20,000 (micro)steps per full revolution.
Since there are 360 degrees in a revolution, there would be 20000/360 or 55.5555
steps/degree.
Axis of Rotation
This allows you to select how the mechanics of the system are arranged.
None – The A axis is independent, and does not affect the geometry of cutter motion.
X, Y, or Z – The selected axis is the axis of rotation, and thus affects the geometry of cutter motion.
Angular Rate Modifier
This is a scale factor to apply to the run rate, to scale equivalent motion on the A axis
(since GCode does not support specifying a separate feed rate for this axis).
When the A axis is used as a rotary axis, the units are in degrees. Since the X, Y and Z axis are in inches or millimeters, the time it would take to rotate the A axis one turn would be same as moving the X,Y or Z 360 units. If the feed rate is 10 then it would
take 36 minutes to make the move. This issue only occurs if A is the dominate axis (that is to say, if A is the axis which “numerically” would need to move the furthest distance on a given move. If the "Angular Rate Modifier" is set to 10 then the move would take
3.6 minutes. Please note that, in setting this rate, one must consider the tangent velocity.
SimplexCNC Application Summary Page 15
SimplexCNC Application Peter Norberg Consulting, Inc.
Base Rates
This section defines the standard rates required for safe operation of your machine.
Start Speed
This is the start/stop speed for all motors, and is the rate at which all motion is normally started (and stopped). Setting this to too low of a value will make your system run more
slowly than you would like, since the system must accelerate from this rate to your feed rate. Setting this to too large of a value will generate uneven cuts, and may miss steps if your system does not have the torque to start out that quickly.
Maximum Speed
This is the maximum speed that the system is permitted to attempt to travel. As stepper motors move faster, they lose torque. Eventually, they reach a rate wherein they have inadequate torque to reliably move the mechanics – and they start missing
steps. This rate should be less than that rate, since otherwise you will get incorrect cuts.
Max Rate Change
This defines the maximum rate at which the system can go from one rate to the next, and is a function of your motor‟s capabilities in combination with your mechanics.
This is used to control how the code “breaks up” complex curves. Sometimes, when attempting to follow a requested path, a new rate for a motor will be too large of a jump
for the motors to be able to execute. If that is the case, the code will actually stop the motion, and then restart in the new direction.
Acceleration
This defines the normal rate that you want to use when going between different feed rates.
Max Spindle Speed
This defines the maximum rotational rate of your spindle when the onboard DAC is set to
5 volts. For example, a “Max Spindle Speed” of 1400 would mean that a 5 volt signal from Dac 0 (“DC0”) makes the spindle spin at 1400 RPM.
SD4D user initialization string
This is a string used to send special initialization sequences to the SD4D controller that are beyond the normal capabilities of the SimplexCNC application. Leave this field blank unless you are told to place some specific string into it by a technician from Peter Norberg Consulting, Inc.
The most common use of this field is to force the pulse width of the controller to match the characteristics of your motor driver. Depending on the controller, the default pulse width is 6.7 to 10.2 microseconds; the 'N' command may be used here to adjust this to match your needs.
SimplexCNC Application Summary Page 16
SimplexCNC Application Peter Norberg Consulting, Inc.
Chord Length
This tells the code how precisely it needs to draw curves. In reality, the system draws all curves as a series of very short straight lines, called “chords”. This section of the panel defines how long one chord is going to be.
Also, when performing actual motion control, you can either set motion priority as follows:
Speed: If selected, the code could literally „cut corners‟ in order to keep the motor rates of change within requirements.
Path: If selected, the code will slow down as needed in order to stay on path.
OK/Cancel
Press OK if you have made changes that you want the system to accept.
Press Cancel if you do not want any changes that you made to become permanent.
SimplexCNC Application Summary Page 17
SimplexCNC Application Peter Norberg Consulting, Inc.
Operating your system with the main screen
The main application page appears as follows:
If you have enabled any of the motors to operate in “homing mode” through enabling the
feature as described in the section entitled “Home”, then the „Home” button will appear on the Main screen as part of the control block near the bottom center:
Your normal operation would be to:
1. Open a GCODE file for processing
2. Observe that the preview panel correctly shows your intended pattern
3. Start the run by pressing „Cycle Start‟
4. Observe the run being highlighted on the preview screen
5. When the run completes, the system returns to being ready to run the same GCODE file again
The page is interpreted as is shown in the following sections of this manual.
SimplexCNC Application Summary Page 18
SimplexCNC Application Peter Norberg Consulting, Inc.
Menu Options
The menus near the top of the main window control access to files, preferences, as well as allowing you to see what the appearance is of the currently loaded GCODE file.
File menu
The „File‟ menu allows you to manage your GCODE source files.
New – Create a new, empty GCODE source
Open… – Open an existing GCODE source
Import DXF File – Import a DXF file, converting it to GCODE. Please see the
later section on DXF File import for details.
Save – Replace the currently open GCODE source file with any new content shown on the edit window.
Save As… – Save the currently open GCODE source file into a new file
Output Log File – When checked, a diagnostic log file will be generated which can help us trace any control problems you may be having
The “Import DXF File” action allows you to import and convert many DXF files into GCODE files. It brings up the following import display:
These parameters are used to fine-tune how the code treats separate lines within the
DXF file as follows:
Travel Height – Position of the Z axis while moving from one line to the next
Cut depth – Position of the Z axis while moving within one line
Feed rate – Cutting speed (in your default units) while moving
Same point – If line end points are closer together than this value, the lines are treated as one line: that is to say, the cutter will not be lifted during the move.
Position – Specifies where the cutting path should be positioned.
SimplexCNC Application Summary Page 19
SimplexCNC Application Peter Norberg Consulting, Inc.
Edit menu
The „Edit‟ menu gives you access to three separate subsystems within the SimplexCNC application.
The Cut, Copy, Paste, Find and Replace actions support direct editing within the currently
open GCODE source window.
Cut deletes the currently highlighted text within the GCODE window
Copy duplicates the currently highlighted text into the clipboard
Paste replicates the clipboard content into the current curser location within the GCODE source
Find allows you to locate text within the GCODE source
Replace allows to you automatically search and then interactively replace text
with the GCODE source.
Engraving Font allows you to select the font to use when the M96 command is performing an engraving action
The „Preferences‟ section provides access to the mappings between user-coordinates and
the „real‟ low-level device control required to actually run your machine. This brings up the „Preferences‟ window as documented here.
SimplexCNC Application Summary Page 20
SimplexCNC Application Peter Norberg Consulting, Inc.
„Work Offsets‟ brings up the „Work Offsets‟ window, shown below.
This allows you to define the values for each of the standard GCODE offset fields.
The system also allows you to select which of the various offset fields gets automatically redefined when you press the „ZERO‟ button in the main screen. This is quite useful for
defining standard template offsets: you first HOME your machine, then manually jog to the correct start point on the template. You then zero each motor – the default work offset will now contain the location of the template start point relative to the „home‟ position.
The „Subprogram Library‟ allows you to manage your library of complete GCODE
subprograms, bringing up the following display:
This panel is described later, in the section entitled “Library Manager”.
SimplexCNC Application Summary Page 21
SimplexCNC Application Peter Norberg Consulting, Inc.
'Engraving Font' allows you to select the font to use when the M96 command is performing an engraving action. The system font dialog appears, which is used to
perform the selection:
Messages menu
This allows you to save a copy of the current contents of the messages window (for a customer support engineer to review), and to clear that window.
Preview
Pressing the „Preview‟ menu will regenerate the preview window on the screen, showing
you the actions that will be performed by the currently loaded GCODE file.
SimplexCNC Application Summary Page 22
SimplexCNC Application Peter Norberg Consulting, Inc.
Motor Locations
This panel shows the current locations for each of the motors, the current rate of motion of the machine (the “Feed Rate”), and the duration of the current run.
You may redefine the current location of any motor to be “0” by pressing its associated “ZERO” button.
GCode Source Panel
This panel shows the current GCODE file source, and allows you to edit the file before the run starts.
A new file may be loaded through use of the “File->Open” pull-down menu, and the file may be saved (as a replacement operation) through use of the “File->Save” menu. If you select “File->Save As…”, then you may save the GCode file under a different name.
Messages
This panel shows you the current state of the system, and keeps you informed as to the current actions being performed by the code.
SimplexCNC Application Summary Page 23
SimplexCNC Application Peter Norberg Consulting, Inc.
Preview Panel
This panel shows you a plot of the current GCode file. You may change the orientation by moving the XY and YZ sliders (as well as returning to default orientations by pressing the 0/90 and 30/45 buttons).
The „0/90” button gives you a standard “direct down” view of just the X,Y plane.
The “30/45” button gives you more of a 3D view, with all planes slightly offset to allow you to see the entire motion of the cutter.
The A slider allows you to rotate the rotary axis.
The “Modify Draw” checkbox allows the display to alternate between two colors when the preview drawing appears as a solid color. This can make it easier to interpret the preview display.
SimplexCNC Application Summary Page 24
SimplexCNC Application Peter Norberg Consulting, Inc.
As of version 1.2.0.105, a 3-D preview mode is available, using three extra fields.
If “Show Surface” is checked, then the code will attempt to show you the image with a surface draw, instead of just the lines. This mode is only available if no rotations are being done by the „A‟ axis.
In the above example (after changing the orientation a bit), the display could appear as:
The “Mill Type” drop-down selects the type of bit used to do the cutting, which affects the view. Select the bit type which most closely matches that which you will be using. The “Top of Surface” edit field adjusts the expected relative height of the surface; this controls the size of box which is used by the firmware in generating the above image.
SimplexCNC Application Summary Page 25
SimplexCNC Application Peter Norberg Consulting, Inc.
Manual Data Input
This field allows you to execute one GCODE command at a time. Type in the command, then press the “Execute” button.
The drop down list will show at most the last 12 commands that you have entered, and allows you to select any of those commands to be executed again. You may also right-click on any command to save it or to delete it from the list.
Tool
This allows you to specify the size of the cutting tool.
Main control buttons
If homing is enabled for your system, the bottom 3 buttons get a new „Home‟ button
added, as:
These buttons allow you to actually control the run.
The blue buttons (Spindle, Flood, Mist and AUX) let you enable or disable their associated function (such as turning the cooling mist on or off).
The “Limits” box is used to show whether you have actuated a limit during a motion event.
The three (or four) large buttons are used to actually control a complete run:
Cycle Start is used to start a run, and to show that it is under way
Feed Hold is used to pause the run, so that you may make adjustments to the machine (during a feed hold, no motion commands are accepted). To exit feed
hold and continue the run, just press the Feed Hold button again.
STOP is used to stop the run in progress. It will also cancel any Feed Hold that is
active.
HOME (appears only if enabled on any motor) causes the system to automatically go to the „home‟ location for each motor on which it is enabled.
SimplexCNC Application Summary Page 26
SimplexCNC Application Peter Norberg Consulting, Inc.
Incremental (toggles jog mode)
The “Incremental” label is actually a push-to-lock button: when it is depressed (pushed),
the jog controls operate one “step” at a time (pre press of the associated jog button), with the motion size being that listed in the drop-down edit menu under the “Incremental” label. When it is not depressed, the jog controls request motion in their associated direction at the rate specified by the jog speed slider.
The units for both the “incremental” mode and the jog speed slider are set in the preferences screen.
Jog Control
This panel allows you to manually “jog” the motors into a better position. You can adjust
the slider to set the rate of motion while jogging.
The actual jog mode is controlled by the “Incremental” push-to-lock-button (above). While the button is depressed, each press of a jog button moves the motor one
“incremental” unit in the direction requested. While the button is not depressed, pressing and holding a jog button causes the indicated motor to move in the indicated direction at the requested jog rate.
SimplexCNC Application Summary Page 27
SimplexCNC Application Peter Norberg Consulting, Inc.
Library Manager
The “Library Manager” is reached from the „Edit->Subprogram Library‟ menu. Visually, it consists of the following window:
This window allows you to edit and create your own list of separate GCODE function libraries,
to simplify the task of managing complex applications.
The library functions are designed to be called by either (or both) of two ways:
“M98 #” can be used to call a function whose name is the purely numeric „#‟ (the code automatically 0-fills the number, so that “M98 P12” is the same as “M98 P00000012”). This is the historical method of calling external functions.
“Call function” where „function‟ is the name of the requested procedure from the library. The function can be purely numeric, or it can be a standard name. Note that, unlike the “M98” call, the “Call function” technique will NOT 0-fill purely numeric
names.
Example use of a library function
As a simple example, you could define the following library procedure “Star5pt” (which will be saved in the „My Documents\SimplexCNC\Library\Star5pt.mem” file):
// Star
G00X0Y0Z0.1
:Rad = 0.5
:Ang = 18
:X = Cos(Ang) * Rad
:Y = Sin(Ang) * Rad
G00X[X]Y[Y]
G01Z-0.1F8
StartLoop 5
:Ang = Ang + 144
:X = Cos(Ang) * Rad
SimplexCNC Application Summary Page 28
SimplexCNC Application Peter Norberg Consulting, Inc.
:Y = Sin(Ang) * Rad
G01X[X]Y[Y]
EndLoop
G00Z0.1
G00X0Y0
You could then call that procedure from your standard GCODE file as is shown in the sample “CircleOfStars.t” GCODE file:
( Circle of Stars )
G90
m3 s1000
G00Z0.1
G00X0Y0
:A = 0
:R = 1.625;
StartLoop 12
:XX = Cos(A) * R
:YY = Sin(A) * R
G00X[XX]Y[YY]
G92X0Y0
G68X0Y0R[A-90]
Call Star5pt
G69
G92.2
:A = A + 30
EndLoop
G00X0Y0
M30
When you run the above code, it will automatically load the “Star5pt” file from your SimplexCNC\Library, and will call it as part of the drawing procedure to generate the following result:
GCode Implementation Page 29
SimplexCNC Application Peter Norberg Consulting, Inc.
GCode Implementation
The SimplexCNC application implements the following GCODE commands.
Implemented G Words
Some G words alter the state of the machine so that it changes from cutting straight lines to cutting arcs. Other G words cause the interpretation of numbers as millimeters rather than inches. While still others set or remove tool length or diameter offsets. Most of the G words
tend to be related to motion or sets of motions.
G0
Rapid positioning Form : G0 X0 Y0 Z0 A0
G0 is a modal command. It moves at the maximum rate specified by your configuration settings.
G1
Linear interpolation Form : G1 X0 Y0 Z0 A0
G1 is a modal command. It uses the feed rate for motion control.
G2
Circular/helical interpolation (clockwise) Form : G2 X1 Y0 I1 J0 (XY plane)
G2 X1 Z0 I0 K1 (XZ plane) G1 Y0 Z1 J1 K0 (YZ plane) G2 X1 Y0 R1
G2 is a modal command . The default plane for the circular motion to
take place is the XY plane(See G17). The X, Y and Z words defines the ending position for each of axis‟s. In the XY plane all three axis‟s can be specified, creating a helical move.
There are two ways of defining an arc. The first is with the I, J and K words. The I word specifies the X
distance to the center of the arc from the current position, J the Y distance and K the Z distance.
The second is with the R word. The R word specifies the radius of the
arc.
G3 Circular/helical interpolation (counter-clockwise)
Same as G2.
G4
Dwell Form : G4 P2
This command will cause the motion to pause for the number seconds
specified. The P word is used to specify the delay in seconds.
G17
XY plane selection Form : G17
Selects the XY plane for the circular/helical moves.
GCode Implementation Page 30
SimplexCNC Application Peter Norberg Consulting, Inc.
G18
XZ plane selection Form : G18
Selects the XZ plane for the circular/helical moves.
G19
YZ plane selection Form : G19
Selects the YZ plane for the circular/helical moves.
G20
Imperial system selection Form : G20
Positions entered will be interpreted as inches.
G21
Metric system selection Form : G21
Positions entered will be interpreted as millimeters.
G40
Cancel cutter diameter compensation Form : G40
G41
Start cutter diameter compensation left Form : G41
This command will offset the cutter path by ½ the cutter diameter.
The offset will be to the left to the direction of travel. This program queues all the movement commands until the G40 command is encountered. The necessary calculations are made and the modified path is generated. Scaling, Mirroring and Rotation commands can not be issued
between the G42 and G40.
G42
Start cutter diameter compensation right Form : G42
This command will offset the cutter path by ½ the cutter diameter. The offset will be to the right to the direction of travel. This program
queues all the movement commands until the G40 command is encountered. The necessary calculations are made and the modified path is generated. Scaling, Mirroring and Rotation commands cannot be issued between the G42 and G40.
G50 Scaling function cancel Form : G50
GCode Implementation Page 31
SimplexCNC Application Peter Norberg Consulting, Inc.
G51
Scaling function Form : G51 X0 Y0 Z0 I2 J1.5 Z0.5 G51 X0 Y0 Z0 P2
The scaling command uses the X, Y and Z words to specify the center
of scaling. If the X, Y or Z word isn‟t specified then the current position will be used. The I, J and K words specify the scaling value. If all axis‟s are to be scaled the same, then the P word can be used to specify the scaling. The scaling command will effect the G2 and G3. If the scaling is different for the two axis‟s in the circular move, an elliptical move will be made.
The scaling command can also mirror positions by setting the scaling
factor to a negative value.
G54 Work coordinate offset 1 Form : G54
G55 Work coordinate offset 2 Form : G55
G56 Work coordinate offset 3 Form : G56
G57 Work coordinate offset 4 Form : G57
G58 Work coordinate offset 5 Form : G58
G59 Work coordinate offset 6 Form : G59
G59.1 Work coordinate offset 7 Form : G59.1
G59.2 Work coordinate offset 8 Form : G59.2
G59.3 Work coordinate offset 9 Form : G59.3
G68
Rotate Plane Form : G68 X0 Y0 R45
The coordinates of the cutter path will be rotate in the XY plane (G17) only. The X and Y words specify the center of rotation. The R word specifies the angle of rotation in degrees.
G68.1
Mirror X Form : G68.1 X0
The X word is used to set the point about which the X values will be mirrored. The scaling command (G51) can also be used.
GCode Implementation Page 32
SimplexCNC Application Peter Norberg Consulting, Inc.
G68.2
Mirror Y Form : G68.2 Y0
The Y word is used to set the point about which the Y values will be mirrored. The scaling command (G51) can also be used.
G69 Cancel Rotation Form : G69
G69.1 Cancel Mirror X Form : G69.1
G69.2 Cancel Mirror Y Form : G69.2
G80 Cancel motion mode (includes canned) Form : G80
G81
Drilling canned cycle Form : G81 X1 Y2 R0.1 Z-1 F5 1) Rapid motion to XY position 2) Rapid motion to R level 3) Feed rate motion to Z depth
4) Rapid retract to R level
G82
Drilling with dwell canned cycle Form : G82 X1 Y2 R0.1 Z-1 P0.1 F5 1) Rapid motion to XY position 2) Rapid motion to R level 3) Feed rate motion to Z depth
4) Dwell at depth - millisecond (P)
5) Rapid retract to R level
G83
Chip-breaking drilling canned cycle Form : G83 X1 Y2 R0.1 Z-1 Q0.1 F5 1) Rapid motion to XY position 2) Rapid motion to R level 3) Feed rate motion to Z depth by the amount of Q 4) Rapid retract to R level 5) Rapid motion to previous depth
6) Steps (3,4,5) repeated until Z depth is reached 7) Rapid retract to R level
G85
Boring, no dwell, feed out canned cycle Form : G85 X1 Y2 R0.1 Z-1 F5
1) Rapid motion to XY position 2) Rapid motion to R level 3) Feed rate motion to Z depth
4) Feed rate retract to R level
GCode Implementation Page 33
SimplexCNC Application Peter Norberg Consulting, Inc.
G89
Boring, dwell, feed out canned cycle Form : G89 X1 Y2 R0.1 Z-1 P0.1 F5 1) Rapid motion to XY position
2) Rapid motion to R level 3) Feed rate motion to Z depth 4) Dwell at depth - millisecond (P) 5) Feed rate retract to R level
G90 Absolute distance mode
G91 Incremental distance mode
G92 Offset coordinate systems
G92.2 Cancel offset coordinate systems
Miscellaneous Words
M words are used to control many of the I/O functions of a machine. M words can start the
spindle and turn on mist or flood coolant. M words also signal the end of a program or a stop within a program.
M0 Program stop - See extended notes (below)
M1 Optional program stop
M2 Program end
M3 Turn spindle clockwise
M4 Turn spindle counterclockwise
M5 Stop spindle turning
M7 Mist coolant on
M8 Flood coolant on
M9 Mist and flood coolant off
M10 Auxiliary Device On
M11 Auxiliary Device Off
M30 Program end, pallet shuttle, and reset
M96
Outputs a text outline path (engraves text). Form: M96 (text) Xn Yn Zn In Jn Rn
The (text) is specified as a comment. Xn and Yn define the lower left corner of the starting point.
Zn defines the depth of the cut In is optional. If present, it defines the width (length) of the text. If
In is not defined or is 0, then the length will be based on the font's proportion.
Jn defines the height of the text Rn defines the retract Z position to use in the non-cut parts of the
engraving.
GCode Implementation Page 34
SimplexCNC Application Peter Norberg Consulting, Inc.
M0 allows pause/restart action
M0 (Program Stop) has the capability of allowing a program to be restarted. M0 stops the motion, but allows the machine to be jogged while the machine is stopped. When the machine is restarted, it automatically returns to the X, Y and Z position that were active at the point when it was paused, at which point the program gets resumed.
The M0 behavior on a restart depends on whether the machine has been homed:
If it was homed, then the software will move the Z axis all of the way up before it does the return to the X, Y and Z position, so as to not cut a path
If it was not homed, then the machine will not do this Z axis clearing move first. Note that this might cause a collision with the walls of your cut!
GCode Implementation Page 35
SimplexCNC Application Peter Norberg Consulting, Inc.
Special Drill Commands (G81, G82, G83)
The SimplexCNC application supports 3 special drilling cycles. As a very simple summary, the cycles are implemented as follows:
G81 - Drilling Canned Cycle
G81 X.. Y.. R.. Z.. F..
1. Rapid motion to XY position
2. Rapid motion to R level
3. Feedrate motion to Z depth
4. Rapid retract to R level
G82 - Spot Drilling Cycle (also called the „Drilling with dwell canned cycle‟)
G82 X.. Y.. R.. Z.. P.. F..
1. Rapid motion to XY position
2. Rapid motion to R level
3. Feedrate motion to Z depth
4. Dwell at depth - millisecond (P..)
5. Rapid retract to R level
G83 - Deep Hole Drilling Cycle
G83 X.. Y.. R.. Z.. Q.. F..
1. Rapid motion to XY position
2. Rapid motion to R level
3. Feedrate motion to Z depth by the amount of Q
4. Rapid retract to R level
5. Rapid motion to previous depth
6. Steps (3,4,5) repeated until Z depth is reached
7. Rapid retract to R level
GCode Implementation Page 36
SimplexCNC Application Peter Norberg Consulting, Inc.
Non Standard Functionality
The SimplexCNC application provides for some non-standard extensions, in order to support programming full sequences without the need for an external GCODE generator.
:debug/:nodebug
These directives cause the system to output diagnostic information to the message window, allowing you to view intermediate values while the code is being executed. This is particularly useful in identifying incorrectly named variables, since the code will
automatically assume any variable name is valid, and will preassign it a value of 0 when it is first referenced.
STARTLOOP / ENDLOOP
These directives are used to repeat a group of code.
STARTLOOP n
….
ENDLOOP
The n on the STARTLOOP line is the loop count.
Extended Interpreter Functions
Embedded in the GCODE processor is an interpreter that can process the following
functions:
ABS(v) Absolute Value
ACOS(v) Arc Cosine
ASIN(v) Arc Sine
ATAN(dy, dx) Arc Tangent
COS(v) Cosine
EXP(v) Exponent (natural, based on „e‟)
FRAC(v) returns the fractional part of a number
INT(v) returns the whole part of a number
LN(v) natural log (based on „e‟)
ROUND(v) round the number
SIN(v) Sine
SQR(v) squares the number
SQRT(v) find the square root of a number
The interpreter also accepts the following operators:
+ plus
- minus
GCode Implementation Page 37
SimplexCNC Application Peter Norberg Consulting, Inc.
/ divide
* multiply
^ power.
Lines that are meant for the interpreter must start with a “:”.
Values calculated with the interpreter are inserted into the
G code commands with “[“ and “]”. See example below.
Example:
G90
G00Z0.5 G00X0y0 G01Z-0.5F5
:X= 0 StartLoop 361 G01 X[x/40] Y[Sin(x)*2] :X = X + 1 EndLoop
G00Z0.5 G00X0Y0 M30
Diagnostic Support Log
The SimplexCNC application always generates a diagnostic support log, to be used when you have an unexpected issue that needs to be reported to customer service. The file is created in your
“My Documents\SimplexCNC”
folder, and is called
“LOGFILE.TXT”
If the customer support engineer requests it, you will need to send this complete log (as well as your actual GCode file) to Peter Norberg Consulting as part of the problem determination procedure. We would strongly suggest that you compress it before sending it, since it can be
extremely large, depending on its contents. If you do not have a compression tool, please
contact technical support for suggestions.
SD4DP/SD4D Series Board Connections Page 38
SimplexCNC Application Peter Norberg Consulting, Inc.
SD4DP/SD4D Series Board Connections
The SimplexCNC application runs on both the SD4DP and SD4D series of boards.
An example of the SD4DP board is shown below.
Above is the SD4DP with Amp MTA-100 connectors
Above is the SD4D with screw terminal connectors
Above is the SD4DG with Amp MTA-100 connectors
Above is the SD4DEI with Amp MTA-100 connectors
SD4DP/SD4D Series Board Connections Page 39
SimplexCNC Application Peter Norberg Consulting, Inc.
Above is the SD4DEU with Amp MTA-100 connectors
Board Size
The boards, oriented as shown above, are 3 inches wide by 1.6 inches high.
Mounting Requirements
The SD4DP mounting holes are 0.125 inches in diameter, and are positioned exactly 0.125 inches in from each corner. They allow up to a number 5 screw, which thus allows use of the standard #4 mounting spacers. Horizontally, their centers are 2.75 inches apart, and vertically they are 1.35 inches apart. Thus, when the board is positioned as shown above,
their positions are: (0.125, 0.125), (2.875, 0.125), (0.125, 1.475), (2.875, 1.475)
Cooling Requirements
Normally, the board does not require any special cooling. However, if you use the +5V power outputs from the board for driving your own circuits and if you are supplying 6.5 to 15 volts as
your power source to the board, then you will want to fan-cool the board if you are going to be drawing more than about 100 mA of power.
You may also need to provide for board cooling if you are driving multiple outputs at 4 mA of current or more. If, in your application, the SX48 seems to be getting too warm, then you need to (1) check your connections to make certain that the 5mA of current/output requirement is not being exceeded, and (2) cool the board.
Fan based cooling should be done such that the airflow is directed toward the top or bottom
surface of the board, centered over the SX48 chip. The fan should provide about 6-10 CFM of air flow. Note that the board includes mounting holes positioned such that a 1.6 inch (40 mm) fan may be directly mounted, through use of two #4 standoffs. If the fan is mounted facing down at the top of the board (which cools the SX48 microprocessor better), use 1 inch standoffs. If mounted facing up at the bottom of the board (which cools the power regulator
better), use ½ inch standoffs.
Connection Summary Page 40
SimplexCNC Application Peter Norberg Consulting, Inc.
Connection Summary
The set of connectors on the board can be functionally grouped as follows:
Internal board configuration jumpers
USB Communications (either USB connector, or an optional SIP header for internal mounting)
Step-And-Direction outputs to up to four step-and-direction motor drivers
TTL Outputs, used to drive external devices, such as coolant flow
TTL-based input limit sensors, used to protect physical machine limits from being reached
Extra TTL SLEW inputs (on the SD4D series) are not used in the SimplexCNC application.
0-5 volt analog output, used to control external spindle motor controllers
Power connection to and from the board
These are generally grouped on related connectors, in order to simplify wiring.
Hardware Configuration: Board Jumpers
The board firmware has two features that can be configured as startup options through use of a hardware strap.
Jumper R1K: Default Step Pulse Polarity
Normally, we ship the product such that the default operation of the STEP output pulses is OFF-ON-OFF; that is to say a low-going pulse (of user-programmable width) is generated
for each step requested. If the R1K jumper is installed, then this pulse is ON-OFF-ON (high going). The „O‟ command may be used to override the jumper setting.
Jumper S1K: Default Step Direction Level
Normally, we ship the product such that the default operation of the DIRECTION output signals is “OFF=Negative, ON=Positive”. That is to say, when a pulse occurs on the associated step line, the direction line will be OFF if the step is to be negative, or ON if the step is to be positive.
If the S1K jumper is installed, then this operation is reversed: LOW becomes positive, and
HIGH becomes negative. The „O‟ command may be used to override the jumper setting.
There are also two other jumpers that are rarely changed:
Jumper RN: Clock enable
The „RN‟ jumper (on the 5 pin programming header in the middle of the board) must be installed for the controller to run. This connects the clock to the microprocessor, and is
required for correct operation of the system.
Jumper DP: Driver Pullup Voltage Source
If present (this is board artwork dependent), the „DP‟ jumper (in between the Step-And-
Direction and the IO connectors) is used to define the pullup-voltage used for the outputs from the ULN2803 high-current Step-And-Direction output drivers. When the jumper is inserted on the two pins closer to the center of the board (the default, shipped configuration), the pullup voltage is the on-board 5 volt bus. When inserted on the outer two pins, the pullup voltage is the +Vc power input connector. This is used to redefine the output drive voltage to match the needs of your step-and-direction driver board.
Connection Summary Page 41
SimplexCNC Application Peter Norberg Consulting, Inc.
Connector Signal Pinouts
Above is an example of an SD4DP board
Above is an example of an SD4D series board (the SD4DEU)
There are seven connectors on each SD4DP board, or eight on each SD4D board, given that 2 connectors (CTL and LIM) abut up against each other.
Going from bottom-left to the right, we have:
SX-Key debugger connector (5 pin SIP header in middle of board) and main clock enable („RN‟ jumper)
CTL – Output Power and DAC voltages (+5, GND, DC1 (DAC 1), GND, DC0 (DAC 0) GND.
LIM – TTL Limit Input (GND, LW- to LZ+)
SLEW - SLEW input control (SD4D series only), not used in the SimplexCNC
application
Going from top-left to the right, we have:
PWR – Power and reset connector (upper left)
IO – Generic TTL I/O connector , used to run external devices
STEPS – Step and Direction output connector
USB Serial connector (center right hand side)
Connection Summary Page 42
SimplexCNC Application Peter Norberg Consulting, Inc.
SX-Key debugger connector
Pin Name Description 1 GND Vss (gnd) for SX-Key
2 +5V +5 for SX-Key
3 OSC2 Oscillator Input 2
4 OSC1 Oscillator Input 1
5 RN Must be jumpered to OSC1 for the board to operate
This connector allows use of the Parallax, Inc.tm SX-Key debugger/programmer product, to reprogram the SX-48 in place. If the SX-Key is used as a debugging device, then
the ‘RN’ jumper MUST BE REMOVED, or damage to the SX-Key may occur!
CTL – Output Power and DAC voltages, SD4DP version
Name Description +5 Access to +5 from the board
GND Ground reference for all signals
DC1 DAC 1 0 to 5 volt output
GND Ground reference for DAC 1
DC0 DAC 0 0 to 5 volt output. This is used with the GCode „S‟ command to drive a spindle.
GND Ground reference for DAC 0
This connector gives access to the board 5 volt regulator output, as well as the two 0 to 5
volt DAC outputs. Note that Dac 0, labeled DC0, is used by the SimplexCNC application to run the spindle, if you have one. 5 volts is mapped by the code into your top spindle speed (i.e., that attained when the DAC is at 5 volts), and all lower speeds are assumed to be linearly scaled from there.
CTL - Board status and TTL Serial, SD4D series version
Name Description +5 Access to +5 from the board
GND Ground reference for all signals
SI INPUT: Raw SX-48 Serial Input (TTL level)
SO OUTPUT: Raw SX-48 Serial Output (TTL Level)
POT Connect to potentiometer to control step rate
RDY Ready/busy output
This connector gives access to the serial control signals for the SX-48, as well as board status and slew rates.
POT is unused when the SD4DNCStepper firmware is installed. In other firmwares, it can be connected to a user-provided potentiometer, to allow manual control of the motor stepping rate.
RDY is normally an informational output that describes the state of “one or more motors
are still stepping”. High means READY/IDLE, low means STEPPING. During processor reset, RDY is sampled as an input –this can be used on some firmware versions to control certain features.
SI and SO are the serial input and serial output (respectively), as seen by the SX-48 chip.
The communication rate is fixed at 19200 baud, no parity, 8 data bits, 1 stop bit.
Connection Summary Page 43
SimplexCNC Application Peter Norberg Consulting, Inc.
Input Limit Sensors, lines LW- to LZ+
Lines LW- through LZ+ are used by the software to request that the motors begin to stop moving when they reach a hardware-defined positional limit. The interpretation of these signals is controlled by the “X,Y, Z Axis Settings” section of the “Preferences” screen.
The connections are:
Signal Limit Sensed
LW- -W
LW+ +W
LX- -X
LX+ +X
LY- -Y
LY+ +Y
LZ- -Z
LZ+ +Z
The connections may be implemented as momentary switch closures to ground; on the connector, a ground pin is available near the LW- pin. They are fully TTL compatible; therefore driving them from some detection circuit (such as an LED sensor) will work. The
lines are “pulled up” to +5V with a very weak (10-20K) resistor, internal to the SX-48 microcontroller. By default, we also include an additional 1K pullup, to „strengthen‟ the signal: this extra resistor pack may optionally be excluded from the assembly.
The stop requested by a limit switch normally is “soft”; that is to say, the motor will start ramping down to a stop once the limit is reached – it will not stop instantly at the limit point (unless a special firmware option is ordered). It is quite important to know the distance (in steps) between limit switch actuation and the hard mechanical limit of each
motorized axis, and to set the machine settings appropriately.
You may also tell the board whether the limit is considered to be „reached‟ when the associated signal is high or low: this is controlled by the limit sense preference.
It is also possible to order the firmware configured for “instant stop” on the limit switches. As with the „!‟ command, if the firmware is configured with this mode of operation, please
be aware that, in some designs, damage to gear systems can result when such a sudden stop occurs. Use this feature with care!
Connection Summary Page 44
SimplexCNC Application Peter Norberg Consulting, Inc.
PWR - Power Connector for the SD4DP and all but the SD4DEU
Name Description
+Vc 6.5-15 volts DC, to be regulated by the board
GND Ground for Vc
GND Ground for +5V
+5V Either regulated 5 volts provided by you (do NOT
connect anything to +Vc), or 5 Volt output from the board (max 100 mA draw)
RST RESET- for processor. Pull low to initiate a board reset
There are two ways of powering the logic circuits for any of the boards (both SD4D series
and SD4DP), which can simplify selection of a power supply to use in driving the system.
1. If you have a 6.5 to 15 volt regulated DC power supply, then you can connect that to the +Vc and nearest GND connection. The on-board voltage regulator will regulate this down to 5 volts for use by the board, and will also present the 5 volts at the +5V/GND power connectors for external use (please do not draw more than about 100 mA).
2. If you have a regulated 5 volt DC power source, then you may power the board by
connecting that supply to the +5V and nearest GND connector. In this case, do NOT connect anything to the +Vc; otherwise, you will have our on-board regulator and your +5 power supply both attempting to generate the board 5 volts, which will probably cause failure of our board (and possibly your power supply!). This type of failure is not covered by our warranty.
In both methods of powering our board, it is critical that you use a correctly grounded power supply, and that our GND power signal is also connected to true
earth ground. If you fail to do this, you can have an incorrectly floating power system, which can cause failure of products (including damage to your computer) and can be potentially damaging to you!
The RST input signal provides you with a hardware method of restarting the controller. By momentarily grounding the RST line (or by driving it low with a TTL signal), the board will act as if a power-on request has been made, thus resetting all of its internal states to
match the power-on conditions.
PWR - Power Connector for the SD4DEU
This description is for the SD4DEU board. Please see the prior page for the description of this connector on the SD4D, SD4DG and SD4DEI boards.
Name Description
+Vc 6.5-15 volts DC, to be regulated by the board
GND Ground for Vc
GND Ground for +5V
+5V 5 Volt output from the board (max 100 mA draw)
RST RESET- for processor. Pull low to initiate a board reset
There are three ways of powering the logic circuits for system, which can simplify selection
of a power supply to use in driving the system. There is a 3-position jumper positioned just beside the PWR power connector, as shown below.
Connection Summary Page 45
SimplexCNC Application Peter Norberg Consulting, Inc.
The positions are labeled as:
USB (short top 2 pins) – Power is provided by the USB system.
5V (short center 2 pins) – You are providing fully regulated 5 volts.
>6.5 (short bottom 2 pins) – You are providing regulated 6.5 to 15 volts.
In both methods of powering our board with your own power supply, it is critical that you use a correctly grounded power supply, and that our GND power signal is also connected to true earth ground. If you fail to do this, you can have an incorrectly floating power system, which can cause failure of products (including damage to your computer) and can be potentially damaging to you!
1. If you have a 6.5 to 15 volt regulated DC power supply, then you can connect that to the +Vc and nearest GND connection, and set the PWR jumper to the “>6.5”
position. The on-board voltage regulator will regulate this down to 5 volts for use by the board, and will also present the 5 volts at the +5V/GND power connectors for external use (please do not draw more than about 100 mA).
2. If you have a regulated 5 volt DC power source, then you may power the board by connecting that supply to the +Vc and nearest GND connector, and set the PWR jumper to the “5V” position. Your 5V source will also be presented at the
+5V/GND connector.
3. If you wish to power the board off of the USB system, place the PWR jumper into the USB position. Do not draw more than 100mA from the +5V pin when this option is selected. Power will be present as long as the USB system from the computer is connected and “awake” – if the computer is placed into its sleep mode, then the board will (mostly) go to sleep, and the +5V will be turned off. Always unplug the USB connector from the board at any time that you
change any wire on the board! As long as the unit is plugged in, it is powered!
The RST input signal provides you with a hardware method of restarting the controller. By momentarily grounding the RST line (or by driving it low with a TTL signal), the board will act as if a power-on request has been made, thus resetting all of its internal states to
match the power-on conditions.
Connection Summary Page 46
SimplexCNC Application Peter Norberg Consulting, Inc.
IO - TTL Outputs, used for device on/off control
Lines IO0 through IO6/IO7 are usually generic TTL I/O lines, programmable by you to be either input or output. For the SimplexCNC application, they are normally configured as outputs, and are expected to be used to control specific external devices on your system.
Lines IO0 through IO3 are treated by SimplexCNC as outputs, with high (1) being 'on', 0
(low) being 'off'.
You will have to buffer these signals before you use them to drive external electronics! They are simply TTL outputs, and can only drive about 5 mA of current in each output.
Signal Used as
IO0 Spindle
IO1 Flood coolant
IO2 Mist coolant
IO3 Aux device
IO4 <reserved>
IO5 <reserved>
IO6 <reserved>
IO7 Not present on SD4DP
<reserved>
+5 Available on the SD4DP only to
drive your own low current device
(<100 mA)
Connection Summary Page 47
SimplexCNC Application Peter Norberg Consulting, Inc.
Possible Connections of the IO lines to external 12 volt relays
Note: Since relays are inductive, the 'COM'
connection on the ULN2803 needs to be
connected to the same power suppy that you
use to drive the relay coils. In this example,
it is assumed that you are using 12 volt relays,
and that the 12 volt supply has its ground
shared with the power ground for our board.
The 'COM' signal on the ULN2803 is used as
the voltage limiter point for the diode-protected
outputs of the device
IO4, IO5, and IO6 are not shown connected here.
The current version of SimpleCNC does not make
use of those ports for outputs.
GND
8B
7B
6B
5B
4B
3B
2B
1B
COM
8C
7C
6C
5C
4C
3C
2C
1C
ULN2803A
9
8
7
6
5
4
3
2
1
10
11
12
13
14
15
16
17
18
U1
1
2
3
4
5
6
7
8
9
IO
112V
K1
K2
K3
K4
SPINDLE
FLOOD
MIST
AUX
IO3
IO2
IO1
IO0
GND
+12V
Connection Summary Page 48
SimplexCNC Application Peter Norberg Consulting, Inc.
STEPS - TTL Step And Direction Signals
Name Description WDR W motor direction
WST W motor steps
XDR X motor direction
XST X motor steps
YDR Y motor direction
YST Y motor steps
ZDR Z motor direction
ZST Z motor steps
GND Logic signal ground
This connector gives access to the actual step-and-direction signals as generated by the
board. The outputs are configured in terms of polarity (high or low true) through use of the R1K and S1K jumpers, as well as through use of the „O‟ command.
By default, these outputs are configured to be compatible with most step-and-direction
motor drivers. The „direction‟ signals define the direction of motor motion each time that an associated „step‟ pulse event occurs.
The outputs are normally buffered through a ULN2803 driver (except for our original SD4D board that uses paper labels on the connectors), which gives you adequate current to
operate the Gecko products without additional external buffering. On some driver and board models (such as the “fool proof” Gecko), you may have to provide pullup resistors to +5 in order to define the signals as TTL compatable. If our board has the 3-pin 'DP' jumper header available and installed (in between the STEPS and IO connector), that shows that you have on-board pullups already installed, and you use the jumper to select the pullup voltage: shorting the two pins towards the inside of the board selects 5 volt
pullup, while the two pins towards the outside of the board select "+Vc" as the pullup source.
The step signals all default to operate as „Float-Pull Low-Float‟; that is to say, a „pulse‟ is defined as a signal which starts as „floating‟ (value defined by your connection/the pullup source), is pulled low to GND for an indicated number of microseconds, and then returns
to a „floating‟ state. If the „S1K‟ jumper is installed at the time that the board is reset or powered on, then this sequence is inverted; the signal starts as being grounded, „floating‟
for an indicated number of microseconds, and then returning to ground.
The direction signals are stable for at least 2 microseconds before the leading edge of the associated step pulse.
Many step-and-direction boards use optically isolated inputs to buffer the incoming signals. You will have to refer to the manufacturer‟s instructions to determine how to wire our ULN2803 driver to those boards. In most cases, our GND signal will be connected to their „common‟, while our signal lines are connected to the appropriate step or direction
inputs. In some cases (such as with Gecko G2O1 or G2O2 drivers), our +5V will need to be connected to their „common‟ (due to the way that they have wired their optical isolators); our step and direction signals will still be connected to their appropriate signal inputs as needed.
You will then have to determine whether the polarity of our step pulses is correct: an
incorrect choice can cause a missed step when a direction change is done, since the
direction signal will be changed during the wrong state of the „pulse‟. Again, you will have to study the motor driver‟s manual to determine the correct settings; feel free to call us with questions, but we will probably need access to a copy of your documentation in order to be able to give you definitive answers.
Connection Summary Page 49
SimplexCNC Application Peter Norberg Consulting, Inc.
Connection Example 1: SD4D revision 1 to Gecko G2O1 or G2O2 Drivers
The following schematic shows a very simple and inexpensive technique for connecting the SD4D version 1 controller to up to 4 Gecko G2O1 or G2O2 step-and-direction motor drivers. This is what is done directly on the SD4DG, SD4DEI and SD4DEU boards (as shown on later pages) – that is to say, the ULN2803 buffer is already in the circuit
between the microprocessor and the Step and Direction signals on our later SD4D series of boards.
A Radio Shack “Dual General Purpose IC PC Board” (their part number 276-159) can be used as a very inexpensive holder for the ULN2803A, as can their “Grid-Style PC Board” (their part number 276-150).
N.C.
Note: Since the Gecko inputs are
not inductive, the 'COM' connection on
the ULN2803 does not need to be connected
to anything -- that signal is used as the voltage
limiter point for the diode-protected outputs of
the device
Connection of the SD4D controller to four Gecko G2O1 or G2O2 drives
Connect +5V from SD4D PWR connector
to 'COMMON' on Gecko
GND 8B 7B 6B 5B 4B 3B 2B 1B
COM 8C 7C 6C 5C 4C 3C 2C 1C
ULN2803A
9 8 7 6 5 4 3 2 1
10 11 12 13 14 15 16 17 18
U1
1 2 3 4 5 6 7 8 9
STEP
1 PWR
10 j Motor Z
9 i Motor Z
8 h Motor Z
10 j Motor Y
9 i Motor Y
8 h Motor Y
10 j Motor X
9 i Motor X
8 h Motor X
10 j Motor W
9 i Motor W
8 h Motor W
Z-STEP
Z-DIR
Y-STEP
Y-DIR
X-STEP
X-STEP
X-DIR
W-DIR
WDR WST XDR XST YDR YST ZDR ZST GND
+5V
Connection Summary Page 50
SimplexCNC Application Peter Norberg Consulting, Inc.
Connection Example 2: SD4DP, SD4D, SD4DEI or SD4DEU to Gecko G2O3 Drivers
The following schematic shows how to connect the SD4DP, SD4D, SD4DEI or SD4DEU controller to up to 4 Gecko G2O3 step-and-direction motor drivers, when our board has its own pullups installed. Please refer to connection example 4 for connection of an SD4DG board to the G2O3.
Connect GND from SD4D STEP connector
to 'COMMON' on Gecko
Connection of the SD4D (original) controller to four Gecko G2O3 drives.
Unlike the G2O1 and the G2O2, the G2O3 accepts TTL input signals,
so the original SD4D may directly connect to the G2O3 system.
1 2 3 4 5 6 7 8 9
STEP
10 j Motor Z
9 i Motor Z
8 h Motor Z
10 j Motor Y
9 i Motor Y
8 h Motor Y
10 j Motor X
9 i Motor X
8 h Motor X
10 j Motor W
9 i Motor W
8 h Motor W
WDR
WDR
WST
WST
XDR XDR XST
XST YDR
YDR
YST
YST
ZDR
ZDR
ZST
ZST
GND
GND
Connection Summary Page 51
SimplexCNC Application Peter Norberg Consulting, Inc.
Connection Example 3: SD4DP, SD4DG, SD4DEI or SD4DEU to Gecko G201 or G2O2 Drivers
The following schematic shows how to connect the SD4DG, SD4DEI or SD4DEU controller
artwork to up to 4 Gecko G2O1 or G2O2 step-and-direction motor drivers.
N.C.
Connect +5V from SD4DG/P PWR connector to 'COMMON' on Gecko
Each output (such as WDR) has a Darlington driver circuit similar to the following:
This means that each output may be modeled as a switch closure to ground: The signal 'floats' when 'Off',
and is grounded when 'On'
Connection of the SD4DG or SD4DP controller to four Gecko G2O1 or G2O2 drives
1 2 3 4 5 6 7 8 9
STEP
1 PWR
10 j Motor Z
9 i Motor Z
8 h Motor Z
10 j Motor Y
9 i Motor Y
8 h Motor Y
10 j Motor X
9 i Motor X
8 h Motor X
10 j Motor W
9 i Motor W
8 h Motor W
Q1
WDR
WDR
WST
WST
XDR XDR XST
XST YDR
YDR
YST
YST
ZDR
ZDR
ZST
ZST
+5V
IN
GND
OUT
Connection Summary Page 52
SimplexCNC Application Peter Norberg Consulting, Inc.
Connection Example 4: SD4DP, SD4DG to Gecko G203 Drivers
The following schematic shows how to connect the SD4DG or SD4DP controller artwork to up to 4 Gecko G2O3 step-and-direction motor drivers. This example is for use with our older artworks that do not have the pullup resistors installed on them already.
Each output (such as WDR) has a Darlington driver circuit similar to the following:
This means that each output may be modeled as a switch closure to ground: The signal 'floats' when 'Off', and is grounded when 'On'
Connect GND from SD4DG/P SLEW connector to 'COMMON' on Gecko G2O3
Connection of the SD4DG or SD4DP controller to four Gecko G2O3 drives.
Unlike the G2O1 or G2O2, the G2O3 requires TTL input signals. We emulate
this by using 1K pullups on our transistor outputs.
1 2 3 4 5 6 7 8 9
STEP
1 PWR
10 Motor Z j
9 Motor Z i
8 Motor Z h
10 Motor Y j
9 Motor Y i
8 Motor Y h
10 Motor X j
9 Motor X i
8 Motor X h
10 Motor W j
9 Motor W i
8 Motor W h
Q1
1K Res Pack
IN
GND
GND OUT
ZST
ZST
ZDR
ZDR
YST
YST
YDR
YDR
XST XST
XDR XDR WST
WST
WDR
WDR
+5V
Connection Summary Page 53
SimplexCNC Application Peter Norberg Consulting, Inc.
Connection Example 5: SD4DP, SD4DG, SD4DEI or SD4DEU to SMC LC6D Drivers
The following schematic shows how to connect the SD4DP, SD4DG, SD4DEU or SD4DEU controller artwork to up to 4 SMC LC6D step-per-direction motor drivers. You will need to use the „O‟ command to tell the board that the system is to be configured for “step-per-
direction” mode of operation; please contact us for detailed instructions on how to convince SimplexCNC to do this for you!
N.C.
Each output (such as WDR) has a Darlington driver circuit similar to the following:
This means that each output may be modeled as a switch closure to ground: The signal 'floats' when 'Off', and is grounded when 'On'
Connection of the SD4DG or SD4DP controller to four SMC LC6D drivers
Connect +5V from SD4DG/P PWR connector to 'RTN' signals on SMC
1 2 3 4 5 6 7 8 9
STEP
1 PWR
2 Motor Z (CCW RTN)
10 Motor Z (CW)
9 Motor Z (CCW)
2 Motor Y (CCW RTN)
10 Motor Y (CW)
9 Motor Y (CCW)
2 Motor X (CCW RTN)
10 Motor X (CW)
2 Motor W(CCW RTN)
10 Motor W (CW)
9 Motor W (CCW)
Q1
3 Motor X (CW RTN)
3 Motor Y (CW RTN)
3 Motor Z (CW RTN)
9 Motor X (CCW)
3 Motor W (CW RTN)
WDR
WDR
WST
WST
XDR
XDR
XST XST
YDR
YDR
YST
YST
ZDR
ZDR
ZST
ZST
IN
GND
OUT
+5V