Copyright (C) 1986-2009 by Daniel H. Hudgins, All Rights Reserved.
No part of "This Web Site" (HTML document), including associated files, may be: distributed, sublicensed, transmitted, copied, archived, mirrored, modified, bundled, embedded, sold, given away, rented, loaned, or shared in any form without express written permission in a formal Vendor agreement contract dated and signed in ink obtained directly from Daniel H. Hudgins by registered postal mail. All agreements for permission to distribute expire after a period no greater than one year from the date of the signing of the agreement by Daniel H. Hudgins. See the current "EULA" for information regarding limited copying and storage for the purpose of "Beta Testing" "This Web Site."
To view or use the current version of this Web page you may need to reload or refresh the display of this page by your browser. Just clicking on the browser's [Reload] or [Refresh] icon may not be enough to insure that all of the page's most current contents have been cached and displayed. Some browsers may have additional commands to help display the page's most current contents such as: holding down the [Shift] key and clicking on the [Reload] icon, holding down the [Control] key and clicking on the [Refresh] icon, holding down the [Control] and [Shift] keys and clicking on the [Refresh] icon, pressing the [Control] and [F5] keys, pressing [Control] and the [R] key, or some other combination of keys or clicks. Check to see which commands your HTML browser uses to load the most current page contents into its cache and then to display them onto the screen.
This Web site is dedicated to the thousands of "users" of my programs, those who have helped test my programs over the last 23 or so years, and especially those who shared their experiences with me.
You must read this notice: This is a licensed Web site (HTML document and associated files). You must read and agree to be legally bound in contract by the Terms of Use and conditions given in the End User License Agreement ("EULA"), Legal Notices, Instructions, Warnings, Disclaimers, and all other text in "SECTION: 0" of "This Web Site" (HTML document and associated files) before reading or using any of the information, software programs, and or files, contained in, linked to, and or associated with, "This Web Site" (HTML document and associated files). Any use or "Beta Testing" of "This Web Site" constitutes your acknowledgment of your full agreement with the current End User License Agreement ("EULA") and your decision to have this current license supersede all prior and contemporaneous agreements and understandings. Information and files in "This Web Site" (HTML document and associated files) have been placed here so that long time users of "The Author's" programs DANCAD3D.COM (tm) , DANCAD87.EXE (tm), DANCINEL.EXE (tm), DANCINES.EXE (tm) , DANCAM.EXE (tm) , or DANPLOT.EXE (tm) could help proofread the text of the documentation files or screens displayed, and also help test data files, example files, and or any software programs that might be made available from time to time, to aid "The Author" in finding mistakes, bugs, and other errors, omissions, defects, mistakes, and faults. Everything in "This Web Site" (HTML document and associated files) is "Beta Test", "Beta Code", Experimental, Preliminary, requires proofreading, or is being evaluated for possible revision, and is NOT warranted to be free of defect. To help "The Author" report any bugs, foul-ups, defects, or mistakes that you find, see "SECTION: 8" for instructions. "This Web Site" (HTML document and associated files) and all other files and programs by Daniel H. Hudgins are made available "AS IS" without warranty of any kind express, expressed, or implied. All offers and specifications are subject to change or discontinuation without notice of any kind. Please look over "SECTION: 8" of "This Web Site" before contacting "The Author."
This documentation section has text mostly about DANCAM.EXE (tm) and DANPLOT.EXE (tm), my CAM programs, and might be looked to for information on some of the CAM program commands. See also the other documentation files, and pages in this Web site, for additional information. The disclaimer and most of the other legal text has been moved to SECTION: 0 , you must read the disclaimer, End User License Agreement (EULA), and other legal text, before you read any of the other documentation or use any part of this HTML document or associated files and programs. Be sure to read all the Warnings in SECTION: 3.2.10.0 , and the other documentation, before running, installing, testing, or using any of my programs, and especially before using DANCAM.EXE (tm) and DANPLOT.EXE (tm).
The text in this section was derived from the CAMPLOT.DOC file that was in the original v2.6 distribution, and has been updated somewhat so that some of the changes made in v2.7 are reflected. It may take me some time to get back to work some more on this section, but you can help proof-read what is here now. Some adjustment may be required for versions prior or subsequent to v2.72 since there are variations between versions and the various revisions of versions.
You may not distribute, sell, rent, share, or give away these HTML documentation files or printed copies of them. You may not extract text from these HTML documentation files for distribution, sale, rent, sharing, or giving away. You can use the [Print] option in your browser to make one copy for yourself to mark up in order to help me proofread the text for mistakes.
Documents may be available to download from time to time, you can check SECTION: 9 to see what the current situation with regard to downloadable files is. The names of these documentation files may change, and they may be edited, combined, or eliminated in the future, without notice.
You may need to adjust your browser for best viewing of the pre- formatted text by changing the "font" size using the commands in your browser (see the help in your browser, or use the pull-down menus in your HTML browser.) If some letters in words on the screen appear to be missing or scrambled try changing the font size in your browser as this sometimes happens even though the words are spelled correctly in the HTML code.
Use the "Edit, Find in page Ctrl+F" or "Edit, Find (in this page)... Ctrl+F" command in your browser to search for keywords within the documentation text in this HTML page. You will need to search over again in the other pages in this HTML document for the same keyword since your browser may not search for a keyword beyond the current page that is loaded.
DANCAM.EXE (tm) and DANPLOT.EXE (tm) may run under DOS version 6.22, or a "DOS 95" floppy boot disk, on many PC/XT/AT compatible type computers that have a parallel port, 640KB of memory, and enough disk space. In order to automate your machine you will need to buy or build some electronic circuits and attach some stepper, or servo, motors to your machine.
The CAM programs in their v2.7 revisions have been revised to work on a wider range of computer speeds, and may be usable on computers from 4.7MHz up to 733MHz and possibly some faster ones as well.
A Joy-Stick port or serial port may be required for using some of the special features. The CAM programs in v2.7 have been revised, and can give you the option of using a mouse to answer their prompts, select commands, and select command options.
Steps to set-up the hardware:
Figure out what kind of electronics you will need.
Purchase the motors and electronics.
Wire up the motor control circuits and switches to your computer. Make other connections for the Joy-Stick, hand wheel encoder, scanning probe, mouse, and other options you wish to "Beta Test."
Install and configure the programs.
Use the automatic feed rate timing calibration command to configure the program's timing to your computer.
Test the motors by using the CAM program's motor testing commands, and adjust the configuration as needed.
Use the automatic feed rate timing calibration command again to configure the program's timing to your computer using the adjusted configuration.
Test your hardware and configuration with the sample tool path files.
Although DANCAD3D (tm) and DANCAD87 (tm) are best used with a somewhat fast computer and harddisk, DANPLOT.EXE (tm) and DANCAM.EXE (tm) can probably be used with a less expensive system or older "junk" computer. One advantage of using a less expensive computer, in the shop with the automated equipment, is that if the shop computer is damaged you will not have to spend much to repair or replace it. You can probably find some who will give you an old 80286, 80386, or 80486 computer for free, so there is little reason to use an 8088 anymore. If you have an 8088 computer already, it might be usable if you do not need to run the motors much faster than about 100 RPM.
DANCAM.EXE (tm) and DANPLOT.EXE (tm) might work on almost any older IBM (tm) compatible PC/XT/AT that has floppy disks or a hard disk drive large enough for holding the CAM program, DOS 6.22 or "DOS 95" and your tool path files, and is equipped with a IBM (tm) PC standard parallel port. No special hardware or circuit boards are required to be installed in your computer. Many standard stepper motor driver modules and solid state relays can be connected directly to the parallel port. The signals from the parallel port can be boosted with inexpensive parts, such as a 74H07 buffer chip, to drive stepper driver modules or solid state relays that require more power than the power the parallel port can supply.
Stepper or Servo motor driver modules that accept step pulse and direction signals compatible with TTL signal levels can generally be connected directly to the computer's parallel port for operation by the CAM programs. Three wires are required, one for the step pulse signal, one for the direction signal, and one for the signal common ground. The motor's direction of rotation, i.e. CW or CCW, is set by the direction signal's high or low state. The motor rotates a small amount, i.e. one step, each time the step pulse signal goes from low to high to low again. When there are no step pulse signals the motor holds position and is locked against rotating by the power applied to its coils.
Motor driver modules requiring pulse CW and pulse CCW might also be used if some cheep TTL chips are wired up to convert the step pulse and direction signals from the computer's parallel port into pulse CW and pulse CCW. To do this the direction signal is used to switch the path of the step pulse signal from the CW input to the CCW input of the driver module.
Information given below for the computer requirements applies to v2.7, for prior or subsequent and or later versions there may be other, different, more, or greater system and hardware requirements. Some of the versions prior to v2.7 may not work on computers faster than 133MHz to 166MHz.
COMPUTER: 100% IBM PC/XT/AT compatible 4.7MHz - 733MHz & possibly
faster. The computer's speed limits the maximum step rate.
In v2.72 the p.w.f. increaser value can be used to slow down
the step pulse rate so that slow motors can be used with
very fast computers.
OS: DOS 2.1 level required, DOS 6.22 level recommended.
A "DOS 95" floppy boot disk can be made for computers
running Windows 95 (tm) by using the command FORMAT A: /S /U
and then the floppy boot disk can be used to re-boot the
computer into DOS mode for use of the CAM programs. Version
2.72 of the CAM programs might be run under Windows 95 (tm)
in a DOS window if no other programs are running at the same
time, but the operation of some program features may be
degraded and the surface finish of parts made may be
diminished somewhat. To get the best results run the CAM
programs under DOS, or boot the computer with a "DOS 95"
boot disk, when doing simple tasks such as drilling circuit
boards without using the overdrive ramping you might be able
to get away with running the programs in a DOS window. When
you make a floppy boot disk you may need to set up some
hardware drivers, see the discussion about that issue.
PORTS: One Parallel Port is required, i.e. LPT1, LPT2, or LPT3.
One or two Joy-Stick ports if a Joy-Stick, hand wheel
encoder, or analog scanning probe are to be used. Serial
ports if the CAM program network is to be used.
VIDEO: Any 80 column by 25 line video text display, e.g. MDA.
CGA, Hercules (tm) or MGC, EGA, or VGA if graphics are used.
ISA or PCI VESA compatible video board may work best.
MEMORY: 640KB RAM DOS system memory, no TSR's loaded.
CAM Overlay will load into additional memory if available.
DRIVES: 1 floppy or hard disk drive large enough to hold the
program, DOS or OS, and your tool path file. Reading the
tool path data file from a RAM disk can avoid periodic short
interruptions due to blocks of data being loaded from the
data file. If you have more than 640KB on your computer
that you are using for DANCAM.EXE (tm) or DANPLOT.EXE (tm)
you might use a RAM disk program to make a RAM disk above
your DOS system memory to copy your ASCII tool path data
file into, so that DANPLOT.EXE (tm) or DANCAM.EXE (tm) will
read the tool path from the RAM disk drive. A RAM disk is
created by running a small utility program before you run
DANCAM.EXE (tm) or DANPLOT.EXE (tm). Sometimes RAM disk
programs are run from inside your CONFIG.SYS and or your
AUTOEXEC.BAT files. RAM disk utility programs may be
available for download from the internet. For computers
with just floppy drives, i.e. 360KB, the overlay file for
the CAM program can be put on the second floppy drive if
there is not enough room on the first floppy drive, see the
discussion of that issue.
External to your computer you will need to get some electronics wired up so the programs can operate your machine. The programs can be wired up in different ways, and to different amounts of hardware, for different tasks, so you will need to read over all of the documentation and figure out what extra things you need beyond the basic computer requirements.
You will need a cable to connect your computer's parallel port to the electronics that operate your automated machine. If you have a printer connected to your computer you can use that printer cable, provided it has all the right pins connected as most parallel printer cables do. To connect the wires to the motor driver modules you will need a Centronics 36 pin connector that will mate with your printer cable. You can then solder wires onto the Centronics connector rather than your printer cable and that will allow you to disconnect the printer cable from the Centronics connector attached to your machine's electronics at any time to use the printer cable on your printer. Be sure you reboot your computer after using DANCAM.EXE (tm) or DANPLOT.EXE (tm) before you use your printer. If you buy a printer switch box make sure all of the needed pins are connected since some cheaper switch boxes may not connect all of the pins.
Although I prefer using a standard printer cable and putting a Centronics 36 pin connector on the automated machine circuitry, many of the people that have used my CAM programs, or have sold kits for use with my CAM programs, prefer using a straight 25 pin to 25 pin cable and using a 25 pin connector on the automated machine circuitry. Presumably this is because the 25 pin connector is easier to find and probably cheaper than the Centronics 36 pin connector to purchase. I find it easier not to have to reach around the back of the computer to change from the standard printer cable to a straight 25 pin to 25 pin cable when I want to use my printer. If you are not going to use a printer on the computer you use to operate your automated machine, then you can pick the connector you prefer. The pin numbers used for the various functions are somewhat different on the Centronics 36 pin connector and the regular 25 pin connector, so check the Hook-up information for the connector you will be using. If you want to be cheep, you can just get an old printer cable and cut off the Centronics 36 pin connector, strip the wires, identify which wire goes to which pin on the computer end of the cable, and connect the stripped wires directly to the correct terminals on your motor driver modules.
You should not use the parallel port pass through on your scanner, or other device, since the parallel port pass through may sometimes give false signals for the switches on your automated machine, particularly if the device with the parallel port pass is turned off. Only make a direct connection from the connector on the back of your computer to your automated machine.
The wire going between the parallel port pins and the input pins of the motor driver translator modules should be shielded. Microphone or video coaxial cable can be used with the shields of the two cables being tied to common. Use one cable for the step pulse signal, and one cable for the direction signal. Electro-magnetic noise can be a problem, making the motors step or reverse incorrectly, because of a high current that flows through the wires that connect to the motor power supply and to the motor coils themselves. Always keep the step pulse and direction cables as separated and as far away from the motor coil wires as you can. Putting a 2.2K ohm pull up resistor from the step pulse and direction inputs of the motor driver translator module to a positive five volt regulated supply can help reduce the input impedance of the translator module and therefore the voltage of induced electro-magnetic noise. Opto- isolators, or LC or RC low pass filters on the inputs of translator modules can also help reduce incorrect triggering of the translator modules since opto-isolators and low pass filters reduce the input impedance and or attenuate high frequencies. To filter the step pulse and direction signals at the input of the translator module connect a 1000 pf capacitor from the input to common, connect a 2.2K ohm resistor from the input to +5 volts, and connect a 100 ohm resistor between the input of the translator and the parallel port signal (the five volt supply ground goes to the signal common). If adequately shielded and filtered the parallel port to translator cable might be able to be as long as 25 to 50 feet. If you need to run a cable longer than 25 to 50 feet from your computer to your automated machine you may be able to put high power TTL buffer chips on both ends of a heavier gauge cable with 360 ohm, or so, pull up resistors at both ends of the cable. When longer cables are used the total capacitance of the cable should be kept under 1000 pf particularly if you are operating servo motors or micro stepper driver modules.
If you use an extension cable, i.e. 15 pin type, on your Joy-Stick be sure that conductors are used for all of the pins since the "throttle" control that is used on some Joy- Sticks for the control of the Z axis on your automated machine may not be connected on an extension cable that does not connect all of the pins, resulting in the CAM programs reporting or producing an error with the Joy-Stick. If your Joy- Stick port only supports one Joy-Stick rather than two, you may not be able to use some of the CAM program's features even if your extension cable is satisfactory. Some Joy-Stick, i.e. game ports, on sound boards require a software driver in order to operate, particularly PCI sound cards for Windows 95 (tm) use, so you may need to run the sound board's driver when you boot your computer with DOS or "DOS 95." So if you have problems with your game ports there are some things you need to check other than just the cables if you are not using one of the older ISA dual game port boards.
Wire for connecting the motors should be stranded type and of large enough gauge to handle the current required, i.e. 8 to 16 gage. The wires for the limit and home switches can be rather thin, such as 22 gage, since very little current flows through the home and limit logic switches. Wires for the emergency machine power cutoff kill switch, and safety interlock machine power cutoff kill switches would need to be heavy enough to handle and be rated for the line current, perhaps 8 to 12 gauge and wired to the appropriate electrical building codes. Always obey laws and regulations regarding electrical wiring in the jurisdictions applicable since it may be illegal for you to build, or wire up connections to, your automated machine. If something you build starts a fire you may be found guilty of arson, if someone dies as a result of your wiring you may be found guilty of murder, and you may be sentenced to prison or you may be executed. Building things yourself may invalidate your insurance, so that if something happens you will have no insurance coverage.
You will need stepper motor translator driver modules for your stepper motors. If you use servo motors you will need servo motor driver modules specially designed for use with servo motors of the type you wish to use. There are probably hundreds of different motor driver modules on the market that are made to drive different types and sizes of stepper motors. You will want TTL signal compatible modules that have Motor Step Pulse and motor CW/CCW Direction inputs. TTL signals logic level is low from about 0 to 0.5 volts, and high from about 2.5 to 5 volts, at about 5 milliamperes. Since stepper motors need to be operated at voltages above what the motors are rated for the stepper motor translator module you purchase should offer some constant current or current cutback feature to keep the motors from burning up when they stop turning. Stepper motors generally get hottest when run slowly or are stopped, because the current drops as the frequency of the motor coil voltage goes up. Two types of translator module that give good performance are Bi-polar chopper and Bi-Level Bi-polar. Bi-polar drives might give more torque at medium speeds than Uni-Polar driver modules, but it depends on the circuit you are using. You should check that the stepper motors you are going to use are compatible with the driver type you want to use. Regardless of the type of motor driver module you have selected the top stepper motor speed will be less than the stepper motor's best if the stepper motor supply voltage is less than about five times the rated stepper motor voltage, e.g. a stepper motor rated at 5 volts will run well with a 25 volt supply, but a 25 volt stepper motor will need a supply voltage of 125 volts to run well. The maximum rated voltage and wattage of the stepper motor driver module will of course limit the maximum supply voltage you can use. Motor driver modules also have a rated range of motor coil current they can handle, the coil current set on the motor driver module for the motors should never exceed the rated current of the motor, for example: you have a stepper motor that is rated for 5 volts and 1 ampere per coil, you would purchase a driver that is rated for more than 1 ampere at 48 volts per phase, and use about a 35 volt power supply for the motor coils, and set the constant current limiting on the driver to 1 ampere for each motor coil. Check the motor current limiting using a meter and by having the motors stopped or running slowly and measure the motor case temperature, if the motor gets too hot you may need to reduce the maximum current to 80% of the rated current or something like that. If your motor has two coils on and you are measuring the current with a meter, the meter should be between the motor coil and the output of the module in order to measure just one of the coils, since if the meter is between the module and the power supply you will be measuring the total current of both coils and the losses in the module.
You can build your own motor driver circuits for your motors. The circuit for driving stepper motors has two parts, a up/down 0 to 3 counter or translator, and some amplifiers, generally two or four amplifiers, to control the current in the motor's coils. The counter or translator portion can be a few simple TTL chips that cost about one or two dollars. The amplifiers can be made with Darlington transistors or power HEXFET transistors. Two amplifiers are needed for Bi- polar two phase motors, and four amplifiers are generally used for Uni-polar type four coil motors. The cost of the amplifiers would run from about $5 to $50 or more depending on how much current and voltage your motors need.
If you do not want to wire up the driver circuits from "scratch" using discrete components, you can purchase integrated circuits, i.e. IC, that have most or all of the parts already wired. Small motors can be operated from such an IC chip for about $10 to $20 per axis. Sometimes two IC chips are used one chip for the logic and counter, and another chip with all the amplifiers in it. It might be possible to wire two or more of the amplifier IC chips, in such a set, in parallel to get more current in order to drive larger motors, you should ask the IC chip's manufacture about such matters.
Designing you own servo drive circuits would be very complicated, but you do not need to since some companies sell complete servo circuits that operate from step pulse and direction signals. Servo circuits operate "closed loop" with an encoder, and so do not lose steps in the same way stepper motors can if run too fast or overloaded. Servo motors can run faster than stepper motors, as high as 2000 to 6000 RPM compared with a maximum speed of about 60 to 240 RPM for stepper motors. Servo motors may not make fast starts and stops as well as stepper motors, and if you try to engrave very fast using servo motors you may find that the letters look sloppy since the sharp turns may be rounded off. When servo motors are used the motor speed ramping in the CAM programs needs to be configured to be used so that the motors can keep up with the changes in the step pulse rates during acceleration and deceleration.
Micro stepper motor driver modules reduce the noise and vibration produced by stepper motors by dividing the motor steps into many small fractional movements. The open loop micro stepper driver module does not do much to increase the physical accuracy of the motor positioning which will remain spongy within the physical full step angle of the stepper motor particularly when the direction reverses or the load changes, but the smaller increments of motion might improve surface finish.
Likewise with Servo motor driver modules even if you have an encoder on the servo motor that gives 4000 counts per revolution, you cannot make the closed loop stiff enough to physically achieve the single count accuracy when the motor reverses direction and changes speed. If you try to set the closed loop stiffness to apply full power to the servo motor for any positional errors of less than one degree, the motor will probably go into oscillation.
So the limit for physical accuracy of movement for both stepper and servo motors, particularly at their maximum speed, might be considered for practical application to be about one or two degrees no mater what kind of driver is used. When you compute the physical positioning accuracy of your machine do not use values smaller than about +/- one degree for the position of the motor shaft, even if the number of step pulses per revolution of the motor shaft is much greater.
The DRO position display in the CAM program's Jog and Teach modes will display the commanded position based on the number of step pulses sent to the motor driver module, this however may not be the actual position of the tool relative to the work-piece since the motor has some backlash and slack, and the machine will have its own backlash and slack, making the commanded position slightly different from the actual position. With servo motor driver modules there is normally a "dead zone" set so that the motor shaft will turn a little each way before power is applied to the motors coils, this "dead zone" keeps the motor from making noise all the time but adds some electronic backlash to the mechanical backlash of your machine.
Solid state relays such as the HAMLIN model 7521D or equivalent can be used to control auxiliary devices directly from the parallel port. The solid state relay selected should be able to operate from a 3 volt or smaller signal. Solenoid relays, i.e. mechanical relays operated by a magnetic coil of wire, or a solenoid for the Z axis, can be controlled from the parallel port if you use a Darlington amplifier transistor and DC power supply.
If your motor drivers do not have a built in power supply you will need an external power supply. You will need a power supply powerful enough to drive all of the stepper motors you are using at one time. For medium duty tasks this might be about 20 to 50 amperes at 35 to 96 volts DC. Stepper motors are run at voltages about 4 to 8 times their rated voltage, so if you have motors rated at 10 volts you would want to have at least a 50 volt power supply.
How high the power supply voltage can be is of course restricted by the maximum voltage of the motor translator driver modules you will be using. You may see stepper motors rated with odd low voltages, like a 3.4 volt motor, but you could use a standard 24 volt supply, and adjust the current limiting on the motor driver module to compensate for the higher than rated supply voltage.
To determine the total current required, figure that two coils will be drawing current in each two or four phase stepper motor, so if your stepper motors are rated at 1 ampere per coil and you have 3 motors you will need 6 amperes. To assure that the motors can get all the current they need while stepping you might put a 20000 mf capacitor across the power supply input terminals of each of your motor driver modules. Transformers do not give as much voltage under full load as under light load, so if you need 6 amperes you should probably get a 10 or 12 ampere rated transformer, to keep the voltage from going up or down when the motors change speed. You do not want the supply voltage to go up or down since that can make the motors lose steps, for example, if the x and y motors stop they draw more current and the voltage goes down, but at the same time the z axis is doing a rapid move and needs the voltage high, and so stalls or gets off position. In regulated supplies the transformer makes more voltage than is needed, and the regulator "removes" the extra voltage, for example you need 24 volts so you use a transformer that puts out 36 volts with no load and 28 volts at full load, the regulator then "removes" from 4 to 12 of the "extra" volts as needed while the load fluctuates.
You may also need a 5 volt 500 milliampere power supply to bias any pull-up resistors required for the parallel port connections. If you are going to use optical isolators between your computer and machine's electronics you might need two 5 volt supplies, one for the computer side of the optical isolators, and one for the machine's side so that their is not an electrical connection through the logic supply and your computer is truly isolated from your machine.
All supplies should be transformer isolated, so that you do not get grounding problems when you connect the power supply common to the computer. The primary and secondary windings in the supply transformer should not be connected together, and should be isolated for more than 1000 volts. If you use a variable auto-transformer to adjust the motor voltage, be sure that you are using the variable auto-transformer to feed power to the primary winding of an isolated step down transformer used in an unregulated supply. Never connect a auto-transformer directly to any supply that is connected to your computer or you will be connecting the common of your computer's mother board directly to your AC line voltage and you may damage your computer, give yourself an electric shock, start a fire, and or pop your circuit breaker!
To wire up all of the switches on your machine you will need three Normally Open, a.k.a. N.O., micro switches for home switches. Six Normally Closed, a.k.a. N.C., micro switches for limit switches. One Normally Closed, a.k.a. N.C., toggle switch for pause switch. One Normally Open, a.k.a. N.O. push button is needed for the bypass button. Three optical switches may also be required for critical applications, to be put in series with the home micro switches, the optical switches would be triggered by a rotating shutter fixed to the motor shaft.
In versions subsequent to v2.6 the pause switch wired to the parallel port would probably not be used as a pause switch under most circumstances, and pausing the CAM programs would instead be done using the programs software pause command that is activated by a special keyboard command, generally by pressing the [Ctrl] or [Control] key on the computer's keyboard. The pause switch might be able to be used if the overdrive ramping is not used with stepper motors, that is, you do not run the stepper motors at speeds above their safe pull in speeds. If servo motors are operating at high speed it would be better to use the software pause to ramp the motors speed down to a stop, rather than have the pause switch on the parallel port make the motors slam to a abrupt stop.
The pause switch input on the computer's parallel port effects stepper motors and servo motors differently. Servo motors may stop abruptly, and perhaps over shoot their commanded position, but should recover position shortly after restarting. If stepper motors are ramped above their safe pull in speed any abrupt stop will probably make the motors lose position, and so when using stepper motors you should re-home and restart your tool path after any abrupt stop that might have made the stepper motors lose their correct commanded position.
Whenever one of the limit switches is reached, you will need to re-home your machine and start the tool path over, after making the necessary corrections to the tool path so that the tool path file does not command the tool to go "out of bounds" again. The bypass push button wired to the computer's parallel port pins must be pressed after you press [Control] and [X] on your keyboard to "unlock" the motors so that the tool can go back home after one of the limit switches has been tripped. If you adjust the tool position while the tool path is being executed, be sure that you do not shift the tool so far off that it will reach the limit switches, that is, you need a safe buffer zone around your working space if you are going to adjust the tool position while the tool path is being executed.
If you use optical or magnetic home or limit switches be sure you use a regulated power supply with them since the trip point of the switches might move if the voltage of the supply changes. Stray light or magnetic fields might also effect the home trip point. EMI and RFI might also cause false switch readings. If you are having position errors check your home switches for stray influences.
The contacts in micro switches may oxidize over time, especially if you do not operate your machine for a period of time. Such oxidation of the switch contacts might move the trip point for the home switches by one or more motor steps causing the home point to be different from its previous position. Also electronic noise in the contacts of the home switches can cause premature tripping of the home signals. You may need to put a capacitor across the home switch contacts, e.g. 0.1 mf to 100 mf, or replace the home switches with a better kind if you get persistent problems with the switch not tripping at the same location each time.
The CAM programs have been designed to be able to have the computer's parallel port wired directly to the needed external components without using an external five volt supply, to use that approach two of the pins otherwise assigned for use in operating auxiliary relays are used as a small power source by having them set to TTL logic level high all the time. When a five volt power supply is available you can use the five volt power supply for the pull up of the input pins on the parallel port, freeing the two output pins from being used as a power supply to being able to be used to control two auxiliary relays. When you look at the Hook-up information in the program's help screens and in this Web site you will see various options with regard to the function and use of the pins on the parallel port, so you need to decide how you will pick and chose from the various possibilities.
The input and output pins on the parallel port can be used without an external power supply if two of the auxiliary relay outputs are used to supply pull-up power to the switch input pins. If you want to use all of the all of the auxiliary relay outputs then you should use an external power supply to pull-up the switch inputs. You may also want to use pull-up resistors on the output pins of the parallel port to help assure that the output logic high gets above three volts.
If you are using an external five volt power supply for the pull-up resistors to get logic level high on the TTL input signal pins of your computer's parallel port, you will need five 2.2K ohm 0.25 watt resistors, to pull-up the switch inputs of the parallel port. Pull-up resistors can also be connected from your parallel port's or motor driver's TTL logic IC's inputs and outputs to a plus five volt power supply. The common or "ground" from the external five volt power supply would be connected to the signal logic common or ground on the parallel port.
Since the home and limit switches connect between the input pins of the parallel port and common some pull-up resistors are needed to insure that the input pins are always at logic high when the switches are open. The logic high for TTL chips is about 2.8 to 5.0 volts. If you do not have a 5 volt supply, three "D" cells in a series battery could be used temporarily to pull-up the parallel port inputs to 4.5 volts, just be sure to check that the "D" cells have not gone dead, and you have the resistors between the input pins and the positive terminal. Never use a power supply of more than five volts for connection to the TTL logic and the parallel port.
If you do not want to use a special 5 volt supply for the limit and home switch inputs you might use 10K ohm 0.25 watt resistors from the various switch input pins to auxiliary outputs C and D. Auxiliary C and D in that case cannot then be used for relays since they will need to be logic high all the time, which would be setup in the configuration menu.
You might also be able to get positive five volts off of the positive file volt pins on the game port, to pull-up the parallel port switch inputs.
Never connect any voltage source greater than five volts or less that zero volts, i.e. negative voltage, to your parallel port or you will probably destroy your parallel port and in some cases your computer's mother board, or other parts of your computer, as well. Never short circuit, ground to common, or overload the output pins on your parallel port. If you want to see the parallel port signals by making a LED light up, always have a 2.2K ohm 0.25 watt resistor in series with the LED to limit the current flowing from the parallel port.
If you are using a RL type stepper motor driver that uses power resistors to limit the motor coil current, see the information about your driver circuit for the right value to use. Such power resistors get very hot and should be well ventilated, and put where they cannot be accidentally touched, or you will get burned. The power resistors can get hot enough to ignite wood, plastic, or paper, so only metal or ceramic should come in contact with, or be near to, them. The heated air from around the power resistors can rise, so nothing flammable, including paint, should be above or near them.
To connect the motors to the lead screws in your machine you will need flexible shaft couplings or timing belts and timing pulleys. It is important that the coupling used on the stepper motor shaft have about 0.5 degree of give, elasticity, so that the motor can step easily and smoothly and without excessive vibration. Metal bellows type shaft couplings might be good for high tolerance work, but in applications that are not critical you might be able to use a section of vinyl hose clamped to the lead screw and motor shaft with a small gap between them. The lead screw will need its own supporting and thrust bearings, do not use the motor's bearings to hold the lead screw in position.
Timing belts can be used as a coupling when you need some reduction from the motor to the lead screw. Timing belts are flat belts that have bumps on them so that they lock onto the pulleys like chain does on sprockets. Timing belts are sometimes better than chain since the pitch radius of the pulley does not "vary" as the pulley rotates. When you use ball lead screws that have a fast pitch, you might want a 2:1 reduction on the stepper motor to get more resolution from a smaller work-piece movement for each motor step movement. If you need more torque and do not care if the machine runs at a slower feed rate you can use reduction in place of using a larger motor to get the required torque at the lead screw to move the work-piece load. If you are cutting steel and you will only be using slow feed rates you could save money on the motors and drivers by using a 5:1 timing belt reduction, and you would get a better surface finish since the work-piece motion step size would be smaller.
As a system example, if your machine uses 5 tpi lead screws, and you half step a 150 in-oz stepper motor through a 5:1 timing belt reduction, you would get 25 revolutions of the motor shaft to 1 inch of tool movement (5*5=25) and a holding torque at the lead screw of about 750 in-oz (120*5=750). Further, with a top motor shaft speed of 120 RPM, at 25 revolutions per inch, the motor would give you a maximum feed rate of 4.8 inches per minute, i.e. 120/25=4.8, at a resolution of 0.0001 inch per half step, i.e. 1/(400*25).
If you direct drive your machine with a 500 in-oz motor operating in full step mode, for more torque, on your 5 tpi lead screw, with a top motor speed of 80 RPM you would get a maximum feed rate of 16 inches per minute, and a resolution of 0.001 inches per step, i.e. 1/(200*5).
Using these examples, if you were cutting at 3 inches per minute both of the above configurations would work, but the one with the smaller 150 in-oz motor would give ten times the resolution, and the motors and drivers might cost about half as much for the smaller motor, the only major loss in using the smaller motor is the ability to have a more rapid feed when you are not cutting.
In general the cost of your automated machine will relate to how fast you want it to operate, and if you want speed and high resolution at the same time the cost will go up even more. So try to design your machine to run as slowly as your needs will allow, and you might get a better finish too.
If you are designing your machine from scratch the most important thing to keep in mind might be that the machine should be as stiff as possible, any flexing, wiggle, or bending might make it difficult to cut from both directions and have the cuts line up.
Hooking up DANCAM.EXE (tm) and DANPLOT.EXE (tm) involves making some connections to the connector on your computers parallel port cable, or the connector on the parallel port board itself. You do not need to Hook-up all of the pins, only those that are needed for your application.
Steps to Hook-up of your automated machine for use with my CAM programs:
Review the drawings HOOKUP1, HOOKUP2, and HOOKUP3 and the information below.
Buy a connector to connect to your parallel port board or cable.
Attach wires to the correct pins on the connector.
Connect any pull-up resistors needed to a +5 volt supply, or pull-up the switch inputs to the unused auxiliary relay output pins.
Connect the signal wires to your modules, relays, and switches.
Make the appropriate connections to the safety interlock power cut off switches on your machines safety shields, and wire up the emergency stop red mushroom button to kill power to your machine in order to safely stop the machine in case of a problem or emergency.
Connect the handwheel encoder, and or Joy-Stick, to your game port.
Connect the scanning probe if you are going to use one.
It may be best to first test your connections to the parallel port connector or cable by using a "junk" computer, so that if you have made a mistake you will not destroy your "good" computer. After the programs have proven to work well with your connections as you have made them, you could upgrade the computer used from "junk" to something better, and then adjust and re-calibrate the configuration in the CAM programs for the improved performance of the better computer.
The connections to the parallel port of your computer can be as simple as six wires when building a plotter, i.e. X axis step pulse, X axis direction, Y axis step pulse, Y axis direction, the Z axis direction for the pen up and down solenoid, and a common (the limit switch input would go to common if not used.) If you want to hook up home switches, limit switches, a pause switch, relays and additional motors you can as well just by adding more wires on the parallel port connector. Always double check the accuracy of the connections before applying power to avoid any possible damage to your computer or other parts.
The connections for using Stepper motor or Servo motor driver modules are essentially the same, except that if the servo motor module has an error output signal that changes when the step pulses coming from the computer are too fast, and the servo motor is out of position, that error signal might be arranged to feed back into the limit and pause input on pin 10 of the parallel port to put the CAM programs into a hold state until the servo motor's catch up or clear their errors in position. This connection might involve using TLL NOT inverters, OR gates, XOR gates, or AND gates depending on the type of error signal the servo motor driver module produces, and how you sum or combine the needed limit and pause switch signals with the servo error signal.
You should not use the pause switch wired to pin 10 on the parallel port as a pause switch when you are operating stepper motors above their safe pull in speed through the use of the overdrive ramping feature in the CAM programs, since doing so will probably cause the stepper motors to stall or get off of their commanded position. The pause switch can be used when stepper motors are moving slower than their safe pull in speed and you have the overdrive p.w.f. set to the same value as the regular pull in speed p.w.f. for all of the axis. When you are using the overdrive ramping and you want to pause press the [Ctrl] or [Control] key on your keyboard and the motors will ramp their speed down to a stop, hopefully, without lousing position. When using servo motors you can use the pause switch on pin 10, but if the motors are turning quickly you would do better to use the [Ctrl] key on the keyboard to pause your machine since the servo motors may overshoot their commanded position if stopped abruptly.
Some schematics for the basic DANCAM.EXE (tm) and DANPLOT.EXE (tm) hook up is provided in the drawings HOOKUP1, HOOKUP2, and HOOKUP3. Studying the Hook-up drawings should make the information in this section more understandable. This following information gives many of the basic connections for using DANCAM.EXE (tm) and DANPLOT.EXE (tm).
Your automated machine will use many of the same connections to the pins of the parallel port that your printer uses, so always turn off and disconnect your automated machine before you run any program that could send something to the printer ports! The basic connections to the 36 pin printer end of the Centronics parallel port cable are:
Pin No.
36 18
35 17
34 16
TIE TO COMMON - 33 15
AUXILIARY INPUT - 32 14
AUXILIARY RELAY "D" OUTPUT - 31 13 - Z AXIS HOME SWITCH INPUT
TIE TO COMMON - 30 12 - Y AXIS HOME SWITCH INPUT
TIE TO COMMON - 29 11 - X AXIS HOME SWITCH INPUT
TIE TO COMMON - 28 10 - LIMIT & PAUSE SWITCH INPUT
TIE TO COMMON - 27 09 - AUXILIARY RELAY "B" OUTPUT
TIE TO COMMON - 26 08 - Z AXIS DIRECTION OUTPUT
TIE TO COMMON - 25 07 - Y AXIS DIRECTION OUTPUT
TIE TO COMMON - 24 06 - X AXIS DIRECTION OUTPUT
TIE TO COMMON - 23 05 - AUXILIARY RELAY "A" OUTPUT
TIE TO COMMON - 22 04 - Z AXIS STEP PULSE OUTPUT
TIE TO COMMON - 21 03 - Y AXIS STEP PULSE OUTPUT
TIE TO COMMON - 20 02 - X AXIS STEP PULSE OUTPUT
TIE TO COMMON - 19 01 - AUXILIARY RELAY "C" OUTPUT
All of the input pins must be "pulled up" to logic high, usually through using 2.2K ohm 0.25 watt resistors to a +5 volt regulated power supply. You should be able to find a regulated +5 volt 500 milliampere power supply for less than $20. You can use three flashlight 1.5 volt dry cells in series to get about 4.5 volts, but never use more than 5 volts or less than 3 volts. Always check that the Minus (-) end of the five volt supply connects to the signal Common ground point, since reversed connections will probably damage your parallel port and possibly other parts of your computer.
If you do not want to bother with a +5 volt power supply and do not need to use the auxiliary outputs "C" and "D", you can usually use the auxiliary outputs "C" and "D" to pull up the switch inputs, as shown here:
Pin No.
36 18
35 17
34 16
TIE TO COMMON - 33 15
AUXILIARY INPUT - 32 14
PULL UP FOR PINS: 10 & 32 - 31 13 - Z AXIS HOME SWITCH INPUT
TIE TO COMMON - 30 12 - Y AXIS HOME SWITCH INPUT
TIE TO COMMON - 29 11 - X AXIS HOME SWITCH INPUT
TIE TO COMMON - 28 10 - LIMIT & PAUSE SWITCH INPUT
TIE TO COMMON - 27 09 - AUXILIARY RELAY "B" OUTPUT
TIE TO COMMON - 26 08 - Z AXIS DIRECTION OUTPUT
TIE TO COMMON - 25 07 - Y AXIS DIRECTION OUTPUT
TIE TO COMMON - 24 06 - X AXIS DIRECTION OUTPUT
TIE TO COMMON - 23 05 - AUXILIARY RELAY "A" OUTPUT
TIE TO COMMON - 22 04 - Z AXIS STEP PULSE OUTPUT
TIE TO COMMON - 21 03 - Y AXIS STEP PULSE OUTPUT
TIE TO COMMON - 20 02 - X AXIS STEP PULSE OUTPUT
TIE TO COMMON - 19 01 - PULL UP FOR PINS: 11, 12, & 13
The value of the pull up resistors used will need to be increased to 10K ohm when auxiliary "C" and "D" are used as the pull up source to avoid over loading the parallel port. When the auxiliary input on pin 32 is not used a 4.7K ohm resistor can be connected between pin 31 and pin 10 in place of a 10K ohm resistor.
The home switches are normally open, a.k.a. N.O., and connect between the home switch input pins and the signal common ground point. The six limit switches, and pause switch, are normally closed, a.k.a N.C., and are connected in series between pin 10 and the signal common ground point. The bypass push button for the limit switches is normally open, a.k.a. N.O., and connects from pin 10 to the common point. If one of the limit switches opens (due to out-of-range travel, the motors will stop, and an error message will come up on the computer screen) press the [Control] and [X] keys on the keyboard and then press the limit switch bypass push button you wired from pin 10 to the common point. The limit switch bypass push button should be of the momentary contact push button type, and not a switch that could stay closed. When installing the limit switches at the home end of the travel be sure that the limit switches become open several motor steps after the home switches have closed, otherwise the motors will stop before the home position is reached and the program will not be able to home the machine up to the starting points.
The WINDOW drawing command in DANCAD3D (tm) or DANCAD87 (tm) should be used to clip boundaries of the tool path before you save the tool path to an ASCII file to avoid out- of-range motions. You can write a DANCAD3D (tm) macro to clip all your tool path files before you save them to disk. The values passed to the macro WINDOW command would be the maximum distance from the home point in DANCAM.EXE (tm) or DANPLOT.EXE (tm) such that no line segments would remain in the tool path that could cause an out-of-range error.
EXAMPLE: VERSION v2.7A
; CLIPPATH.MAC, Example macro to clip tool path in DANCAD3D (tm).
# 1 WINDOW_ELEMENT 20000 -5 -4 -2 5 4 2
# 1 ERASE_ELEMENT
; End macro.
DANPLOT.EXE (tm) can be hooked up in some additional configurations. DANPLOT.EXE (tm) can drive four motors, two for the X and Y movement, the Z axis motor to raise and lower the tool, and a C axis to rotate the tool to point the cutting edge into the direction of movement of the tool. In order to use the C axis the auxiliary relay "A" and "B" output pins are used for the C axis step pulse and direction signals, and the auxiliary input pin is used for the C axis home switch:
Pin No.
36 18
35 17
34 16
TIE TO COMMON - 33 15
C AXIS HOME SWITCH INPUT - 32 14
AUXILIARY RELAY "D" OUTPUT - 31 13 - Z AXIS HOME SWITCH INPUT
TIE TO COMMON - 30 12 - Y AXIS HOME SWITCH INPUT
TIE TO COMMON - 29 11 - X AXIS HOME SWITCH INPUT
TIE TO COMMON - 28 10 - LIMIT & PAUSE SWITCH INPUT
TIE TO COMMON - 27 09 - C AXIS DIRECTION OUTPUT
TIE TO COMMON - 26 08 - Z AXIS DIRECTION OUTPUT
TIE TO COMMON - 25 07 - Y AXIS DIRECTION OUTPUT
TIE TO COMMON - 24 06 - X AXIS DIRECTION OUTPUT
TIE TO COMMON - 23 05 - C AXIS STEP PULSE OUTPUT
TIE TO COMMON - 22 04 - Z AXIS STEP PULSE OUTPUT
TIE TO COMMON - 21 03 - Y AXIS STEP PULSE OUTPUT
TIE TO COMMON - 20 02 - X AXIS STEP PULSE OUTPUT
TIE TO COMMON - 19 01 - AUXILIARY RELAY "C" OUTPUT
You still have auxiliary outputs "C" and "D" available if you need to have control relays and your use a +5 volt supply for the pull up resistors on the switch inputs. So you see that this C axis Hook-up can connect to four motors and two relays. If you do not need the auxiliary relays the auxiliary outputs "C" and "D" might be used to pull-up the switch inputs, in place of using an external five volt supply.
Another option when hooking up DANPLOT.EXE (tm) is to use the Z axis direction bit pin to control a relay or solenoid rather than a stepper motor. This option gives you the possibility of two motors and five relays:
Pin No.
36 18
35 17
34 16
TIE TO COMMON - 33 15
AUXILIARY INPUT - 32 14
AUXILIARY RELAY "D" OUTPUT - 31 13 - Z AXIS HOME SWITCH INPUT
TIE TO COMMON - 30 12 - Y AXIS HOME SWITCH INPUT
TIE TO COMMON - 29 11 - X AXIS HOME SWITCH INPUT
TIE TO COMMON - 28 10 - LIMIT & PAUSE SWITCH INPUT
TIE TO COMMON - 27 09 - AUXILIARY RELAY "B" OUTPUT
TIE TO COMMON - 26 08 - Z AXIS RELAY OUTPUT
TIE TO COMMON - 25 07 - Y AXIS DIRECTION OUTPUT
TIE TO COMMON - 24 06 - X AXIS DIRECTION OUTPUT
TIE TO COMMON - 23 05 - AUXILIARY RELAY "A" OUTPUT
TIE TO COMMON - 22 04
TIE TO COMMON - 21 03 - Y AXIS STEP PULSE OUTPUT
TIE TO COMMON - 20 02 - X AXIS STEP PULSE OUTPUT
TIE TO COMMON - 19 01 - AUXILIARY RELAY "C" OUTPUT
When using a relay on the Z axis you need to set the default state for the Z axis direction bit pin and the rotation of the Z axis motion so that the relay is off before the tool path starts and is automatically set off when the tool path ends, by using the configuration setup menu option #4 from the DANPLOT.EXE (tm) and DANCAM.EXE (tm) main menus. Normally this means default to logic low and have the Z axis motion -10 to -200 steps. The pulse width factor, a.k.a. p.w.f., for the Z axis can be used to control the delay after the Z direction bit pin changes before the X and Y motors start to turn, so as to allow for the time the Z axis relay/device takes to respond before the work-piece starts to move.
You can also use the C axis motor and a Z axis relay if you want to, i.e. three relays and three motors. You can omit the home and limit switches if you wish, since both DANCAM.EXE (tm) and DANPLOT.EXE (tm) can operate without the switches connected. Small stepper motors can be arranged to stall by putting stops at the limits of the motion for all of the axis, but large stepper motors and servo motors might be dangerous to stall and so should probably only be used on a machine that has limit switches Hooked-up properly. The minimum hook up for DANCAM.EXE (tm) or DANPLOT.EXE (tm) running three motors would be:
Pin No.
36 18
35 17
34 16
TIE TO COMMON - 33 15
32 14
31 13
TIE TO COMMON - 30 12
TIE TO COMMON - 29 11
TIE TO COMMON - 28 10 - TIE TO COMMON
TIE TO COMMON - 27 09
TIE TO COMMON - 26 08 - Z AXIS DIRECTION OUTPUT
TIE TO COMMON - 25 07 - Y AXIS DIRECTION OUTPUT
TIE TO COMMON - 24 06 - X AXIS DIRECTION OUTPUT
TIE TO COMMON - 23 05
TIE TO COMMON - 22 04 - Z AXIS STEP PULSE OUTPUT
TIE TO COMMON - 21 03 - Y AXIS STEP PULSE OUTPUT
TIE TO COMMON - 20 02 - X AXIS STEP PULSE OUTPUT
TIE TO COMMON - 19 01
Or for DANPLOT.EXE (tm) the minimum Hook-up for two motors and an solenoid would be:
Pin No.
36 18
35 17
34 16
TIE TO COMMON - 33 15
32 14
31 13
TIE TO COMMON - 30 12
TIE TO COMMON - 29 11
TIE TO COMMON - 28 10 - TIE TO COMMON
TIE TO COMMON - 27 09
TIE TO COMMON - 26 08 - Z AXIS RELAY OUTPUT
TIE TO COMMON - 25 07 - Y AXIS DIRECTION OUTPUT
TIE TO COMMON - 24 06 - X AXIS DIRECTION OUTPUT
TIE TO COMMON - 23 05
TIE TO COMMON - 22 04
TIE TO COMMON - 21 03 - Y AXIS STEP PULSE OUTPUT
TIE TO COMMON - 20 02 - X AXIS STEP PULSE OUTPUT
TIE TO COMMON - 19 01
A lathe could be operated with only two motors connected. Just one motor and a relay might be used to to cut sheet material to length from a bulk roll. You could even forget about the motors all together and just use the relays to control something by drawing different colored lines of different lengths to control the timing and sequence that the relays would switch on and off.
If you wish to connect directly to the pins on your parallel port card's 25 pin connector rather than use the printer end of a parallel port printer cable, the connections are:
Pin No.
13 - Z AXIS HOME SWITCH INPUT
TIE TO COMMON - 25
12 - Y AXIS HOME SWITCH INPUT
TIE TO COMMON - 24
11 - X AXIS HOME SWITCH INPUT
TIE TO COMMON - 23
10 - LIMIT & PAUSE SWITCH INPUT
TIE TO COMMON - 22
09 - AUXILIARY RELAY "B" OUTPUT
TIE TO COMMON - 21
08 - Z AXIS DIRECTION OUTPUT
TIE TO COMMON - 20
07 - Y AXIS DIRECTION OUTPUT
TIE TO COMMON - 19
06 - X AXIS DIRECTION OUTPUT
TIE TO COMMON - 18
05 - AUXILIARY RELAY "A" OUTPUT
17
04 - Z AXIS STEP PULSE OUTPUT
AUXILIARY RELAY "D" OUTPUT - 16
03 - Y AXIS STEP PULSE OUTPUT
AUXILIARY INPUT - 15
02 - X AXIS STEP PULSE OUTPUT
14
01 - AUXILIARY RELAY "C" OUTPUT
You can also adjust connections on the 25 pin connector to correspond to any of the alternate Hook-ups, e.g. use auxiliary input on pin 15 for the C axis home switch, and or use the auxiliary relay "D" output on pin 16 to pull up pin 10. As you have probably noticed pins 1 through 13 have the same connections on both the parallel port 25 pin connector and the 36 pin parallel printer cable connector.
With DANCAM.EXE (tm) and DANPLOT.EXE (tm) you can use the standard clone computer Joy-Stick port to control the X, Y, and Z axis motors. If you wish to Hook-up some other Joy-Stick that is not wired for the IBM (tm) game card the connections to the Joy-Stick port are:
Pin No.
08
15
07 - SW TO PIN 05, MARK END
14
06 - 100K OHM POT TO PIN 01, Y AXIS
100K OHM POT TO 01, Z AXIS - 13
05 - COMMON GROUND FOR SWITCHES
12
04
11
03 - 100K OHM POT TO PIN 01, X AXIS
10
02 - SW TO PIN 05, MARK START
09
01 - +5 VOLTS TO POTS
The Joy-Stick should be the type that returns, by spring, to center when the control is released so that the motors will stop turning when you let go. Some commercially available "game type" Joy-Sticks have a "throttle" control pot, wired to pin 13, that will operate the Z axis motor. If you connect two 2D "game type" joy sticks to your Joy-Stick board one will control the X and Y axis, and the other will control the Z axis. Remember to use the configuration menus to tell the programs what type of Joy-Stick connections you have before you try to use the Joy-Stick. If the Joy-Stick gives an error, check that any extension cable actually has connections for all the required pins.
Most Joy-Stick boards made for the ISA bus should work without a driver, but if you are trying to use a PCI sound card as your Joy-Stick port the PCI sound card may not work when you run your computer with DOS. Joy-Stick ports on sound cards that fit into the ISA bus connector may work under DOS, especially if you have DOS drivers for your sound card. If your sound card will not work under DOS you may need to install a game port card in your ISA slot. The Joy-Stick ports on some "muti-I/O IDE controller" cards only support one Joy-Stick, and will not work with the Z axis or "throttle" control pot. If your "muti-I/O IDE controller" does not support two Joy- Sticks, you will need to set its jumpers to disable its Joy- Stick port, and install a ISA game port board that supports two Joy-Sticks if you want to use the Z axis with your "throttle" control.
DANCAM.EXE (tm) and DANPLOT.EXE (tm), in v2.7 up, allow for the use of an two channel incremental encoder in addition to the Joy-Stick and keyboard for the input of position signals in the Jog and Teach modes. The encoder can have a hand-wheel attached or just use a knob or counterbalanced crank.
Note that if your Joy-Stick port, a.k.a. Game port, is on a PCI bus sound card the Joy-Stick port may not work if you boot your computer with DOS 6.22 or a "DOS 95" floppy disk, unless you put an AUTOEXEC.BAT file on the boot floppy disk that includes the right path to the driver file for the driver for the sound board that enables the game port on the sound card. Some ISA sound cards may also require a software driver to enable the "game" port. Older ISA Joy-Stick port cards, and some older "multi-I/O" cards that have a "game" port do not usually require a software driver. PCI bus "game" port cards may require a software driver to be run in order to enable the "game" ports. The "game" port on some sound cards only supports Joy-Stick port #1, a.k.a. port "A", and so will not work with features that use the Joy-Stick port #2, eliminating the Joy-Stick for the Z axis jog, and making you choose between using just the Joy-Stick or the encoder, rather than using both of them connected at the "same" time as you can if your Joy-Stick board supports two Joy-Stick ports.
Almost any two channel incremental encoder with TTL compatible two phase quadrature "A" and "B" outputs should work, but an incremental encoder with about 100 pulses per revolution might be best since too high a resolution might make the input frequency too high for slower computers.
Normally such encoders have four connections, common ground, "A" and "B" square wave outputs with TTL compatible signals, and a +5 volts input. If the encoder does not draw too much current you may be able to power it off of the game port +5 volt pins, otherwise you would need a small +5 volt power supply. If you use a power supply do not connect the +5 volt terminal of the power supply to the +5 volt pins on the Joy-Stick port, only connect the +5 volt supply output terminal to the encoder +5 volt input terminal.
You should adjust the sensitivity of the encoder with the configuration in the programs so that the hand-wheel is not too sensitive, or the motors may turn when the hand-wheel moves a little from vibration and such.
The incremental encoder is connected to the button pins of Joy-Stick port one or two. If you are also using the Joy- Stick on port one, then you need to use the button pins on port two. If your Joy-Stick board only supports port one, then you have to pick just the encoder or pick the just the Joy-Stick.
The encoder works well with the large DRO display in the Jog and Teach modes. You can select the axis to move by pressing the [X], [Y], or [Z] keys on the key board while the encoder is active. The display highlights the active axis. The motors on your machine will turn when you turn the encoder, and move faster when you turn the encoder faster.
The pins on the Joy-Stick 1 port used by encoder seem to be:
Pin No.
08 - +5 VOLTS OUT TO ENCODER
+5 VOLTS OUT TO ENCODER - 15
07 - SIGNAL FROM ENCODER B CHANNEL
14
06
13
05 - COMMON GROUND
COMMON GROUND - 12
04 - COMMON GROUND
11
03
10
02 - SIGNAL FROM ENCODER A CHANNEL
+5 VOLTS OUT TO ENCODER - 09
01 - +5 VOLTS OUT TO ENCODER
The pins on the Joy-Stick 2 port used by encoder seem to be:
Pin No.
08 - +5 VOLTS OUT TO ENCODER
+5 VOLTS OUT TO ENCODER - 15
07
SIGNAL FROM ENCODER B CHANNEL - 14
06
13
05 - COMMON GROUND
COMMON GROUND - 12
04 - COMMON GROUND
11
03
SIGNAL FROM ENCODER A CHANNEL - 10
02
+5 VOLTS OUT TO ENCODER - 09
01 - +5 VOLTS OUT TO ENCODER
Normally all the common ground pins are tied so you connect pins 4, 5, and 12 together. Normally all the +5 volt pins get tied together, so you connect pins 1, 8, 9, and 15. Some Joy-Stick boards do not have all the connections, or they make have half the connections on one connector and the others on a second connector. With the original pin assignment for the game port board you needed to use a "splitter" cable to use two Joy-Sticks at one time.
Because of the way the software reads the encoder you may need to turn the encoder several "clicks" in one direction before the DRO changes one count. Be sure to check the power requirements of your encoder before you use the Joy-Stick to power the encoder, or you may damage your Joy-Stick board, your mother board, or your computer's power supply. Check with your Joy- Stick port's manufacture to find out how much power it can safely supply.
If the hand-wheel seems to need to be turned backwards for the way your machine is set up, you can reverse the connections for the "A" and "B" channels to reverse the motion. The encoder should be turned at a moderate speed, if you spin the encoder very fast the motors on your machine might turn backwards, although I have not had a problem with this happening with the low resolution encoders I have been using running the programs under DOS. If you like, you can connect a DPDT switch to so as to have the option to reverse the "A" and "B" channel connections so that you have a choice of having the encoder move the work-piece relative to the tool or the other way around, this would be wired like making a reversing switch for a DC motor.
The default encoder A/B read delay value of around 150 microseconds should work for most computers between 100MHz and 1GHz, on slower computers you may need to decrease this value since there will be some overhead due to the other instructions in the encoder read loop. If the value is too large or too small the motors may turn backwards and then forwards when the encoder is rotated at different speeds, or the motors will jerk or not turn at all. When the value is correct the encoder should work at any speed that you can turn the encoder by hand. The shaft rotation of the encoder does not correspond exactly to the position count in the Jog or Teach modes, so you cannot put a graduated scale on the encoder and expect it to stay in synchronization with the position display. The position should be read off of the DRO display in the Jog or Teach modes. You can change the number of steps per move in the Jog or Teach mode that each "click" on the encoder makes, this lets you increase the movement by 10, 100, or whatever step amount you want.