2
FMS: E LEMENTS OF CNC MACHINES Abstract Modern machine tools are controlled using computer technology, commonly known as Computer Numeric Control (CNC). The tutorial demonstrates what kind of eletronics are used and how they are connected. A PC- based open source controller will be used to control a stepper motor through the computer's parallel port. CNC Computer Numeric Control (CNC) is the automation of machine tools that are operated by precisely programmed commands encoded on a storage medium (computer command module, usually located on the device) as opposed to controlled manually by hand wheels or levers, or mechanically automated by cams alone. In modern CNC systems, end-to-end component design is highly automated using computer-aided design (CAD) and computer-aided manufacturing (CAM) programs. The programs produce a computer file that is interpreted to extract the commands needed to operate a particular machine by use of a post processor, and then loaded into the CNC machines for production. Since any particular component might require the use of a number of different tools – drills, saws, etc. – modern machines often combine multiple tools into a single "cell". In other installations, a number of different machines are used with an external controller and human or robotic operators that move the component from machine to machine. In either case, the series of steps needed to produce any part is highly automated and produces a part that closely matches the original CAD design. LAKOS 150 Lakos 150 (Figure 1) is 3-axis milling machine enabling milling, engraving and drilling. The movement is achieved by three stepper motors, controlled by a PC through the LPT interface. The machine positional resolution is 0,05 mm. The cutting process is performed by an engraver with the rotational speed range up to 20000 rpm. FIGURE 1: LAKOS 150 SCHEMATICS. LinuxCNC EMC2 LinuxCNC is software that runs on Linux, on most standard PCs, that can interpret G-code and run a CNC machine. It was originally developed on a milling machine, but support was added for lathes and many other types of machine. It can be used with mills, lathes, plasma cutters, routers, robots, and so on. LinuxCNC uses the parallel port (LPT) interface to transmit step/direction control signals for stepper motors. Inputs such as end switches and limit switches can be wired to the LPT port as well. The LinuxCNC user interface is shown in Figure 2. FIGURE 2: LINUXCNC USER INTERFACE. Parallel port The parallel port interface (LPT) enables the transfer of the step/direction control signals as well as the signals from the end switches. Figure 3 shows an example of pin assignments that are used along with LinuxCNC. FIGURE 3: PARALLEL PORT PIN ASSIGNMENTS

FMS: E CNC - LakosAssignment 2: Wire and configure one stepper motor. Assignment 3: Connect the wired configuration to one axis of the CNC machine and modify configuration accordingly

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FMS: E CNC - LakosAssignment 2: Wire and configure one stepper motor. Assignment 3: Connect the wired configuration to one axis of the CNC machine and modify configuration accordingly

FMS: ELEMENTS OF CNC MACHINES Abstract Modern machine tools are controlled using computer technology, commonly known as Computer Numeric Control (CNC). The tutorial demonstrates what kind of eletronics are used and how they are connected. A PC-based open source controller will be used to control a stepper motor through the computer's parallel port.

CNC Computer Numeric Control (CNC) is the automation of machine tools that are operated by precisely programmed commands encoded on a storage medium (computer command module, usually located on the device) as opposed to controlled manually by hand wheels or levers, or mechanically automated by cams alone.

In modern CNC systems, end-to-end component design is highly automated using computer-aided design (CAD) and computer-aided manufacturing (CAM) programs. The programs produce a computer file that is interpreted to extract the commands needed to operate a particular machine by use of a post processor, and then loaded into the CNC machines for production. Since any particular component might require the use of a number of different tools – drills, saws, etc. – modern machines often combine multiple tools into a single "cell". In other installations, a number of different machines are used with an external controller and human or robotic operators that move the component from machine to machine. In either case, the series of steps needed to produce any part is highly automated and produces a part that closely matches the original CAD design.

LAKOS 150 Lakos 150 (Figure 1) is 3-axis milling machine enabling milling, engraving and drilling. The movement is achieved by three stepper motors, controlled by a PC through the LPT interface. The machine positional resolution is 0,05 mm. The cutting process is performed by an engraver with the rotational speed range up to 20000 rpm.

FIGURE 1: LAKOS 150 SCHEMATICS.

LinuxCNC EMC2 LinuxCNC is software that runs on Linux, on most standard PCs, that can interpret G-code and run a CNC machine. It was originally developed on a milling machine, but support was added for lathes and many other types of machine. It can be used with mills, lathes, plasma cutters, routers, robots, and so on.

LinuxCNC uses the parallel port (LPT) interface to transmit step/direction control signals for stepper motors. Inputs such as end switches and limit switches can be wired to the LPT port as well.

The LinuxCNC user interface is shown in Figure 2.

FIGURE 2: LINUXCNC USER INTERFACE.

Parallel port The parallel port interface (LPT) enables the transfer of the step/direction control signals as well as the signals from the end switches. Figure 3 shows an example of pin assignments that are used along with LinuxCNC.

FIGURE 3: PARALLEL PORT PIN ASSIGNMENTS

Page 2: FMS: E CNC - LakosAssignment 2: Wire and configure one stepper motor. Assignment 3: Connect the wired configuration to one axis of the CNC machine and modify configuration accordingly

LPT interface – breakout board The breakout board serves as the interface between the PC’s parallel port and the stepper motor drivers. An example wiring diagram is shown in Figure 4.

FIGURE 4: BREAKOUT BOARD WIRING DIAGRAM.

Stepper motor drivers Gecko stepper motor drivers are used. The drivers operate on 24-80V and require step/direction type of signals for input. The current can be limited with a resistor on pins 11 and 12 (Figure 5).

FIGURE 5: GECKO G202 STEPPER MOTOR DRIVER.

Stepper motors Check stepper motor animation from NanoTec for wiring details of bipolar stepper motors.

FIGURE 6: STEPPER MOTOR WIRING AND ANIMATION.

LinuxCNC configuration LinuxCNC uses the StepConf program to create machine-specific configurations. The program can be used to specify driver timing settings, pinouts, and axis configurations.

The configurations are saved as .ini files on the hard drive. LinuxCNC reads the specified configuration at start-up.

Useful links Breakout board manual: http://www.lakos.fs.uni-lj.si/images/Predmeti/RIP/2015/Breakout-Board-Manual.pdf

Gecko stepper motor driver manual: http://www.lakos.fs.uni-lj.si/images/Predmeti/RIP/2015/G202%20REV-16%20MANUAL.pdf

LinuxCNC Wiki: http://wiki.linuxcnc.org/cgi-bin/wiki.pl

NanoTec stepper motor animation: http://en.nanotec.com/support/tutorials/stepper-motor-and-bldc-motors-animation/

Tutorial assignments Assignment 1: Create a wiring schematics for the system capable of controlling one stepper motor.

Assignment 2: Wire and configure one stepper motor.

Assignment 3: Connect the wired configuration to one axis of the CNC machine and modify configuration accordingly.

Assignment 4: Wire, configure, and test the end switches.

Questions 1. Explain and sketch the signals used in the Lakos 150 CNC machine! Sketch a step/direction signal type and explain how the position and the speed of a stepper motor depend on the signal?

2. What does real-time operation of the operating system mean? How is it configured in the settings?

3. Why is the breakout board used?

4. How are the LinuxCNC axis settings calculated?

5. What happens if the acceleration and the speed settings for the axis are set too high? How does the torque of the motor depend on the speed?