Abstract: This paper proposes a method for implementing a variable microstepping pulse distributor for multiple stepper motors using a Field Programmable Gate Array (FPGA) in a multi-purpose stepper motor motion control system. Based on the multi-purpose requirements of the motion control system and the concept of a reversible cyclic counting addressing EPROM, a variable microstepping control strategy is designed. The rectangular pulse wave controlling the stepper motor operation is converted into step-approximate, constant-amplitude sine and cosine waves through microstepping code. Using Verilog HDL hardware description language and MAX+plusII development software, a pulse distributor for multiple stepper motors is implemented on a single FPGA, responsible for generating and outputting the microstepping code. Most of the MCU peripheral interface circuits, including the MCU decoding circuit, keyboard, and interrupt interface circuit, are integrated within the FPGA chip, greatly simplifying the MCU software structure and peripheral circuits. Results show that the system is easily expandable, highly portable, and has wide adaptability.
Keywords: Stepper motor; Microstepping control; Field-programmable gate array; Hardware description language
Programmable Logic Device (PLD) is one of the fastest-growing products in the integrated circuit family in recent years. PLD consists of many independent programmable logic modules. Compared with traditional discrete components and dedicated ICs, PLD is more flexible in application and has stronger confidentiality. PLD manufacturers provide users with various IP cores, which can be customized by users, greatly simplifying the development process [1], making PLD popular among electronic design engineers worldwide. At present, the PLDs widely used at home and abroad are Field Programmable Gate Array (FPGA) and Complex Programmable Logic Device (CPLD). This paper applies the advantages of FPGA in digital circuit design, especially in sequential logic circuit design, to the stepper motor motion control system with multi-purpose characteristics.
Step motors are widely used as open-loop control elements in instruments and mechatronics, but due to the limitations of their own manufacturing process, their step angle is generally large and fixed, their step resolution is low, they lack flexibility, and they vibrate when running at low frequencies. These disadvantages mean that when step motors are used in high-requirement applications, they can only adopt closed-loop control, which increases the complexity of the system and seriously limits the effective use of step motors as excellent open-loop control components [2]. Step motor microstepping control is a drive control technology that can significantly improve the overall performance of the motor and can effectively overcome the above disadvantages to a certain extent. At present, research in this field is very active at home and abroad. The current development direction in this field abroad is mainly the extensive use of high-performance dedicated chips (ASICs), which are not only expensive, but also the integration technology used involves the forefront of microelectronics technology, integrated circuit processing technology, and power electronics technology, which cannot be realized in my country at present. Using integrated and discrete components to develop high-performance control and drive systems is more suitable for my country's national conditions. Based on the above considerations, this system adopts a single-chip microcomputer + field-programmable gate array (MCU + FPGA) as the basic architecture of the hardware circuit.
For details, please click: Design and Research of Stepper Motor Motion Control System Based on Field Programmable Gate Array