Motion Controller Development: Why?
Tufted carpets are cheaper than woven carpets because the way they are made is faster. However, they are not without drawbacks, being smooth or having a simple pattern formed by large blocks of simple shape with equal pile lengths. These patterns are formed by a complex combination of filament feed rollers and electromechanical loopers, which are driven by the main shaft of the machine through a transmission with a variable gear ratio. Until now, this has been so! In the picture on the left: machine prototype with 88 independent nap thread rollers. The thread is fed through plastic tubes at the top of the machine, then around a roller controlled by a stepper motor from the back of the machine, and is finally fed into the needle.
In tufted machines there can be up to 2000 needles simultaneously moving up and down, forming loops of the same length. All of them are driven from one common shaft. For one revolution of the shaft, each needle creates one loop of pile. The most advanced machines can make 1200 stitches per minute. It is impossible to change the length of the loops by changing the stitches of the individual needles, but it is possible to do this by changing the length of the feed thread. When Tom Engineering Ltd, of Blackburn, the leading manufacturer of tufted machines in the UK, Thom Engineering Ltd, of Blackburn developed a new way to change the length of individual thread loops, their task was not mechanical development, but a practical and economical way to independently control 2000 pile feed rollers.
Tom Engineering faced two main tasks: firstly, the independent and simultaneous control of 2000 stepper motors, and secondly, the conversion of complex computer-generated carpet designs into teams that can be used to control independent stepper motors.
The search for finished products showed that there was no suitable solution, so Tom Engineering was looking for a reliable partner capable of developing a specialized solution necessary to solve their demanding task.
We have developed a simplified system in which each axis is controlled by an independent controller, with the possibility of external coordination. Based on a digital signal processor (DSP), the controller is designed to handle large numbers and complex calculations typical of motion control applications.
In the picture on the left: Eleven 8-axis boards in the prototype machine rack with 88 independent faces of a pile thread. We started by developing a single-axis controller for one engine. The operation of the engine can be synchronized by an external signal or by a trigger. For example, by an encoder on the main shaft of the machine, which will generate a discrete pulse at each revolution to initiate a thread issuing cycle, or by a command from a personal computer. Having this debugged, we placed several controllers on one electronic circuit board. We found that the optimal placement density is 8 controllers on a 6U Eurocard printed circuit board.
The last task was to provide a connection between the controllers and the outward the way set of commands (program) can be changed to create carpets with different patterns. To accomplish that, we developed a network capable of addressing up to 65,535 controllers. The network allows you to download instructions to each controller individually, or broadcast to all at once. We also considered the possibility of transmitting each movement in separate commands to each controller. However, for 1200 movements sent to two thousand controllers every minute, the amount of transmitted data would be very large, as would be the risk of error in the pattern due to interference in the data channel. As a result, we decided to use flash memory in each controller to store up to 1000 instructions that can be repeated an infinite number of times. Since most carpets are made with 10-12 stitches per inch (one stitch 2-2.5 mm), the controller allows you to save data on 2-2.5 m of the carpet, after which the pattern will be repeated. This is more than enough for most carpets.
How did we do that?
We have developed a simplified motion control controller where each axis is controlled by a separate processor. There was a great opportunity to apply the development to a real task when the manufacturer of Blackburn pile carpet machines, Thom Engineering Ltd, Blackburn, UK, turned to our partner, Machinery Control Systems, Telford, UK with the task of simultaneous control of 2000 independent pile yarn issuing engines.
Number one challenge was to create a sample controller. The core of the controller is a digital signal processor (DSP) for performing complex calculations related to motion control. Having components selected, we developed an electronic CAD system, paying attention to important points, such as the location and power of thermal radiators (it removes the heat generated by the elements) and isolation of the sensitive components from the sources of electrical noise. The distribution of the tracks connecting the components was automatically performed in a CAD environment and saved in a file using which printed circuit boards were made. In the picture on the left: mounting a circuit board that contains 8 motion controllers generated by a CAD system. Having mounted the circuit on a printed circuit board and tested it electrically, we developed assembly code – a language that the microprocessor understands – which determined the controller’s functionality. As soon as the whole scheme worked for one engine, we were ready to multiply it by many axes.
The selected stepper motor for dispensing pile consumes a current of 1A. Based on the temperature characteristics of the motor winding switching microcircuit, we determined that eight circuits on a single 6U Eurocard rack-mounted printed circuit board would be the optimal density for the placement, which would share a frequency generator and a 5V power supply. It also made it possible to practically place power sockets capable of carrying the actual current and voltage values necessary to drive the motors, as well as ensuring resistance to electrical noise and compliance with certain EU noise directives.
An equally important part of the development of the controller was software, which can be divided into two main parts. One controls the thread feed motor and synchronizes it with the yarn mechanism, and another processes network messages and interprets and executes special commands developed for this project.
At the heart of each controller is a freely adjustable electronic gearbox that allows you to change the length of the output thread every machine cycle. Each controller can store up to 1000 instructions in flash memory that define a pattern of up to 1000 stitches of different lengths, with each movement having a different relationship between the pile feed mechanism and the looper mechanism. The looper mechanism is driven by the main shaft of the machine. The machine shaft is connected to a pulse encoder (encoder), which generates a stream of positional pulses, as well as one reference pulse for each revolution of the shaft. When the controllers detect the reference pulse, they proceed to the next step, which is interpolated according to the positional pulses for uniform feeding of the pile.
In the development, the company’s experience gained over the years was used. For example, a developed communication network for communication between controllers and a dedicated computer is modeled on the basis of the standard industrial protocol MODBUS, which is reliable and available for free use. While the MODBUS protocol allows addressing up to 255 nodes, the developed network allows addressing up to 65535 nodes, plus one address is used for broadcast commands addressed to all network nodes. The developed network also includes special commands specific to this project, but all of them use the same error control mechanism that MODBUS uses to ensure correct transmission of messages.
In the picture on the left: three-dimensional generated image of the board with details. In order to minimize the number of components used and thus the cost of electronic boards, we have implemented many functions in software that would otherwise be implemented by additional chips. For example, a software implementation of micro-step splitting, which allows you to break the motor step into even smaller steps. So, standard 200-step motors work like 6400-step ones, which leads to smoother movement and avoids twitching of the thread. The current is also maintained at a certain level, and therefore the torque on the entire range of engine speeds, which improves performance. There is also an energy-saving mode when the current decreases automatically if the engine is idling, which reduces heat dissipation. This is all implemented in the microcontroller program.
In the picture on the left: Interactive user interface. Also, an important part of the project was the development of an interactive user interface that allows you to set the carpet pattern and start the machine for execution. The program allows you to import a pattern description from a standard format file created by the NedGraphics carpet design system.