DIY CNC Part 8: LinuxCNC StepConf
In this part of the build, it is time to setup LinuxCNC. With the computer insanity complete, I moved onto setting up LinuxCNC. Setting up LinuxCNC is pretty straightforward and launching the StepConf Wizard you will be greeted with the following screen. The StepConfWizard can be found under the CNC applications group.
Next, create a new configuration. Later if you wanted to change the configuration of the machine you would return to the StepConf and select “Modify a configuration already created with this program” Having the bottom checkboxes clicked will create the icon to launch LinuxCNC from the desktop when the configuration is completed.
Moving forward through the process brings you to the basic machine information. Here you would enter the parallel port settings and base period jitter. Clicking “Text Base Period Jitter” will run a latency test. Allowing the latency test to run for about 5 minutes will provide the value needed to enter into the Base Period Maximum Jitter box. While the latency test was running, I ran several different tasks like browsing the internet, opening and closing programs, and opened and closed photos, ran video, etc. The idea is to put the computer through its paces while the latency test checks to see what the worst case numbers are.
With the latency test complete and the Base Period Maximum Jitter number obtained (10024), I entered this number into its respective box. Using a PCI card for my parallel port, I entered the address of the port into the Parallel Port Settings. In order for me to know what the parport address was, I opened up a terminal window and ran at the command line lspci -v. The result of that command listed all my devices and I was able to obtain the parport address which was DD00 thru DD07. I then entered the address into the First Parport Base Address and ended up leaving the “0x” in front of the “DD00” and moved onto the X axis setup to jog the X axis and test the parport address. I was fortunate the first parport address of DD00 worked. If it didn’t work, I would have come back to this screen and enter DD01, try it again, DD02, try it again, DD03, etc., and repeat the process up thru DD07 until I got the machine to start moving. If it didn’t move after the DD07 address was given, then I would have checked the wiring on the parallel port cable and/or check to make sure the PCI card was seated properly in the slot in the computer.
With the parport address set up, the next screen will take you through the steps of configuring the parallel port. A couple of things to mention about this step is once the StepConf is complete, and you run the mill for the first time, you will have to check your axis for the correct travel direction. For instance my X axis was reversed so I had to come back to StepConf and check the “invert” box under pin 3 so the direction of travel on the table matched. Also, if you are using limit switches and they are wired in on the parallel cable you would have to select the appropriate pin and if necessary the invert button. Although I have the limit switches and they are wired up to pin 11, pin 12, and pin 13, but not installed, I left these pins as “unused.”
Moving onto the next screen, here you would configure the X axis of the machine. Under the leadscrew pitch, because I used 1/4 20 threaded rod, I entered 20 rev/inch. This basically means there are 20 threads per inch, or it would take 20 revolutions of the rod to move one inch. I also changed the Table Travel to the size of the workable area of my table.
At this point, if your wiring is correct and you have the correct parport address entered in the Parallel Port Setup mentioned in an earlier step, you should be able to test the table travel. I ran the “Test this axis” and was able to obtain the travel of the x axis which basically was 0 to 18 inches. I used the Jog function to test the axis in both directions. I noticed if you use the “Run” feature it will jog in both directions automatically. For instance, I set the Test Area to 6 inches, and it would travel one direction 6 inches, then the opposite direction 12 inches, then back to the original 6 inch mark, technically another 12 inches. It did not travel only 3 inches in one direction then 3 inches in the opposite direction, but 6 inches in one direction, then 12 in the opposite, then back to the original 6 inch mark. I certainly had the hand on the emergency shutoff during this process so I wouldn’t run out the axis and strip out the stepper motor to threaded rod coupler. I guess installing the limit switches would have taken care of that situation if it occurred. It was easier for me to just jog the x axis almost to it’s limits and measure the travel with a tape measure.
Once the X axis setup is complete, it was time to do the Y axis following the same procedure as mentioned in the previous step.
Then the Z axis. Note the Z axis travel will have a negative value as it travels away from the table. Testing the axis gave me the correct value to enter into the Z axis travel.
Once your done with the Z axis that should do the trick and the configuration is complete. Clicking apply will create the file and a desktop icon to launch LinuxCNC.
Clicking the desktop icon launches LinuxCNC.
Until next time,