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