PELS1.0 Donald Plewes -June 2016
PELS is an Arduino based Electronic Lead Screw (ELS) system which enables one to conduct Imperial threading and conventional turning on a benchtop lathe which normally requires gear or pulley changes to provide different threading options. This hardware/software was specifically designed for the Wabeco D6000 lathe and permits all common Imperial threading options to be performed, which include 10, 11, 12, 13, 16, 20, 24, 28, 32, 36, 40, 44, 48 and 52 threads/inch. In addition it provides conventional turning at three pitches/spindle revolution of: ‘normal’ ( 0.0019 inches), ‘coarse’ (0.0039 inches) and ‘fine’ (0.00150 inches). The saddle advance is achieved by using a 1024 step/revolution quadrature optical encoder which is geared down via pulleys to a value of 635 pulses/spindle revolution. This is used in conjunction with a 1.8o stepper motor with a 2:1 speed reduction to drive the Wabeco D6000 lead screw (4mm pitch). With this arrangement, all Imperial threads can be achieved by dividing the encoder pulse train by an integer which is equal to the desired number of threads/inch (tpi). For example, a 24 tpi thread is achieved by dividing the pulse stream by the integer 24. The pulse stream division and pulse generation is performed by an Arduino Uno R3 using a simple interrupt routine. The details of the architecture and construction of the PELS is described in detail in “An Arduino Based Electronic Lead Screw for a Wabeco D6000 Lathe” which will be published in Digital Machinist (http://www.digitalmachinist.net/) in the fall of 2016. The code is well commented and straightforward in operation. Parameters for all threading and turning are built into the software and only work when used as described for the D6000 lathe. It can be adapted to other lathes in a more universal fashion by proper choice of spindle encoder based on a knowledge of the lathe lead screw pitch. This code could likely be improved with a more compact and efficient interrupt routines as well as a more robust implementation of the quadrature detection for the knob rotary encoder used to select different threading parameters. The code runs in two modes. In the “lathe” mode, the PELS will generate stepper motor pulses to the lead screw and move the saddle. In this mode the division parameters cannot be adjusted. In the “prog” mode, the PELS does not generate stepper pulses but allows for the selection of different threading or turning parameters by turning a 32 step button-rotary switch. In order to lock in these parameters into the division routine and use the lathe, PELS must be returned to the “lathe” mode. Toggling between these two modes is achieved by the rotary switch push button. More information on the design and operation is outlined in the article mentioned above. Library- The ELS uses a small 2-16 character LCD display. The display for which this code is written communicates through an I2C protcal. You will note that the library is loaded in the first few lines of the code. In order to use the I2C LCD display, one needs to download a library from Adafruit. This can be found at: https://learn.adafruit.com/rgb-lcd-shield/using-the-rgb-lcd-shield. Follow the instructions for the download and ensure that the library is placed in the correct folders as instructed. Once in your libary, the display should work. This program is free software. It can be redistributed and/or modified under the terms of the GNU General Public License as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You can read a copy of the GNU General Public License at http://www.gnu.org/licenses/.