Principle and Application of MCX314As Four-Axis Motion Controller

Publisher:一直333Latest update time:2012-01-14 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

1 Introduction
The MCX series motion controller is a special circuit designed by NOVA of Japan. Among them, MCX314As is the latest 4-axis motion controller launched by NOVA, which is an improvement and enhancement of the MCX314 function.
MCX314As controls 4 servo systems or stepper motor systems at the same time with a single circuit, and can perform independent positioning control and speed control for each axis, and can also perform arc, straight line, and bit pattern interpolation in any 2 or 3 axes. MCX314As can interface with 8/16-bit data bus, and realize the motion control and real-time monitoring of position, speed, acceleration, etc. of 4-axis 3-linkage through command, data and status registers, and realize trajectory interpolation of 3 modes: arc, straight line, and bit pattern, and the output pulse frequency reaches 4 MHz. Each axis has a servo feedback input terminal, 4 input points and 8 output points, and can be independently set to constant speed, linear, asymmetric S curve addition/subtraction control, asymmetric trapezoidal addition/deceleration control mode, and has 2 32-bit logic, actual position counters and status comparison registers to realize closed-loop control of position. In addition, compared with MCX314, it has added functions such as automatic search for home position, input signal filter, synchronous action, 32-bit output pulse, 32-bit circular/linear interpolation pulse range, asymmetric full S-curve acceleration/deceleration, manual setting mode, variable ring of position calculator, clearing of Z-phase input real position counter, increase/decrease reversal of real position calculator, etc. At the same time, MCX314As has made corresponding improvements to the final writing of continuous interpolation, the designation of the end point of circular interpolation, and the calculation error of input UP/DOWN pulse.

2 Internal structure and main functions
Figure 1 is the functional block diagram of MCX314As. It consists of the control part and interpolation counting part of the X, Y, Z and U axes with the same functions. The main functions are as follows:

2.1 4-axis control
The MCX314As control motor motion via pulse train drive. The 4 axes in the 4-axis motion controller have the same functions, allowing up to 3 axes to be linked, and have the same operation methods for constant speed drive, interpolation or S-curve drive. The performance of the 4 axes, such as S-curve acceleration/deceleration drive, is the same.
2.1 Speed ​​control
For constant speed drive, interpolation or S-curve acceleration/deceleration drive, the frequency range of the output pulse is 1 p/s to 4 Mp/s, and the accuracy of the output pulse frequency (clock frequency is 16 MHz) is less than ±0.1%. The speed multiplier is 1~500. The speed of the drive pulse output can be freely changed when not running.
2.3 Acceleration/deceleration drive
The MCX314As can control constant speed drive, interpolation acceleration/deceleration drive and S-curve acceleration/deceleration drive for each axis. Each axis can also be independently preset to S-curve or trapezoidal acceleration/deceleration. Using the S-curve acceleration/deceleration command can make the output pulse accelerate/decelerate according to the parabolic law.
2.4 Interpolation Function
Linear interpolation: Any 2 or 3 of the 4 axes can realize linear interpolation motion. The coordinates of the motion position boundary are between -2 147,483 646 and +2 147 483 646, and the position error of linear interpolation is ±0.5 LSB (minimum interpolation unit).
Circular interpolation: Any 2 axes can realize circular interpolation, and the range of its interpolation coordinates is the same as that of linear interpolation, and the position error of circular interpolation is ±1.0 LSB (minimum interpolation unit).
Bit mode interpolation: This interpolation data is calculated by the host computer CPU, and the host computer writes the interpolation result to MCX314As, and then MCX314As continuously outputs interpolation pulses at the preset drive speed. According to the processing power of the host computer CPU, MCX314As can interpolate curves of various shapes.
Continuous interpolation: MCX314As allows different interpolation modes to be used continuously, such as linear interpolation → circular interpolation → linear interpolation → ... ..., and the maximum interpolation speed allowed for uninterrupted continuous interpolation is 2 Mp/s.
2.5 Position control
Each axis has a 32-bit logical position counter and a 32-bit actual position counter. The logical position counter records the output position pulses. The actual position counter records the feedback pulses input from the external encoder or linear scale.
2.6 Comparison register and software limit
Each axis has two 32-bit comparison registers, one for the logical position counter and the other for the actual position counter. The comparison result can be read from the status register or reported through an interrupt. These registers can also be used to implement software limits.
2.7 Automatic search for home position function
MCX314As can complete the automatic search for home position without CPU intervention. This process includes high-speed home position search → low-speed home position search → encoder Z phase search → compensation drive. This function reduces the burden on the CPU.
2.8 Synchronous operation
Synchronous operation can realize some special functions, such as generating an excitation signal on each axis or two axes or an external device connected to the circuit to start or stop the operation synchronously. 10 types of excitation signals can be used, including special positions, start/stop when the axis moves, and the rising/falling edge of the pulse of the input signal. 4 types of operation responses include start/stop of axis movement, saving the calculated value of the position, and writing the speed of the axis operation.
2.9 Input signal filtering
MCX314As have the function of filtering each input signal, and it can be set whether the input signal is filtered or directly enters the circuit. The time constant of the filter can be selected.


3 Main Control Registers and Instruction System
3.1 Command Register (WR0)
The WR0 register of each axis in MCX314As is used to set and register commands for each axis. It includes the bits of axis setting, the bits of command word setting, and the bits of reset command. After writing the axis setting word and command word to this register, it will be executed immediately. Some commands should be written to WR6 and WR7 before writing to WR0.
3.2 Mode Register 1 (WR1)
Each of the 4 axes has its own status register 1. Which register is written depends on the designation of the NOP instruction or the situation before writing. WR1 can control the enable of input signals IN3~INO and is used to set the deceleration state and comparison result register.
3.3 Mode Register 2 (WR2)
WR2 sets the external limit switch input, feedback counter pulse type, and feedback signal of the servo drive.
3.4 Mode Register 3 (WR3)
Each of the 4 axes has its own WR3. Which status register is read depends on the axis that has been designated or the axis designated by the NOP instruction. WR3 can be used to operate manual deceleration, individual deceleration, S-curve acceleration/deceleration, external operation mode setting and general output OUT7~OUT4 setting.
3.5 Output Register (WR4)
This register is used to set the output signals nOUT3~nOUT0 of the 4 axes. It can also be used as a 16-bit general output. If a position is set to 0, it will output a low level; if it is set to 1, it will output a high level.
3.6 Main Status Register (RR0)
This register is used to display the status of each axis drive and error. In addition, it also displays the ready signal of interpolation, continuous interpolation, the quadrant of circular interpolation and the stack count of BP interpolation.
3.7 Status Register 1 (RRl, RR2, RR3)
Each axis has status registers RRl, RR2 and RR3. Which status register is read depends on the command written to the MCX314As. The command 10FH indicates the X axis, 20FH indicates the Y axis, 40FH indicates the z axis, and 80FH indicates the U axis.
3.8 Input Register (RR4/RR5)
RR4 and RR5 are general registers. If the data bit of the register is 0, the output is low level; if the data bit is 1, the output is high level.
3.9 Data Register (RR6/RR7)
RR6 and RR7 are data registers and read commands for the corresponding data. RR6 stores the lower 16 bits (D15~DO) and RR7 stores the upper 16 bits (D31~D16).
3.10 Write Data Command
When setting drive parameters such as acceleration, drive speed, and output pulse number, use the write data command to write these parameters/data to the MCX314As. If multiple axes are specified at the same time, the same data can be written to different axes at the same time. If the data length is 2 B, just write the data to WR6. If the data length is greater than 2 B, write the upper 16 bits to WR7 and the lower 16 bits to WR6. After the data is written to the data register, write the command to WR0 to set the axis and then execute the command.
3.1l Read Data Instruction
The data read command is used to read the value of each axis register. When the read command is written to WR0, the data will appear in RR6 and RR7. The data to be read is binary, and negative values ​​are in binary complement form.
3.12 Drive Command
The drive command will control the MCX314As to output drive pulses in different ways. When the command code is written to WR0 and the control axis is specified, the command is executed immediately. Multiple axes can be specified with the same command at the same time. During operation, the nDRV bit of RR0 of each axis will be set to 1, and when the operation ends, the nDRV position will be 0.
3.13 Interpolation Command
The interpolation command consists of 2-axis or 3-axis linear interpolation, clockwise/counterclockwise circular interpolation, 2-axis or 3-axis bit pattern interpolation and other related commands. When writing an interpolation command to WR0, set the D8~D1 bits of WR0 to 0, because it is not necessary to specify the axis for the interpolation command.
Before executing the interpolation command, you must first perform the following two steps: specify the axis to be interpolated by setting the D5~DO bits of WR5; set the speed parameters of the spindle.

4 Application Circuit
At present, the economical CNC systems that occupy the main share of the domestic CNC market mostly use MCS~5l series microcontrollers or MCS~51 series compatible microcontrollers, with a maximum frequency of 12 MHz~40 MHz and a single-cycle instruction execution time of 250 ns~1 ms, which limits the further development of economical CNC systems, especially multi-axis high-speed linkage, high-speed thread cutting and high-resolution control. Combining MCX314As motion controller and MCS-51 series microcontroller to build a high-performance economical CNC system can solve the problems of slow speed, few functions and difficult development of traditional economical CNC systems, and has a good development prospect.

Tension control is widely used in processing production lines composed of various rolls and rollers, such as paper mills, printing plants, textile dyeing plants and food factories. These production lines must have a certain tension in the process of processing large-size materials such as paper, thin sheets, silk, thread, cloth, etc. Too little tension will lead to drawbacks such as wrinkles and misregistration; too much tension will increase the machine load unnecessarily and easily cause the material to break; and unstable tension will cause the material to jump and also cause misregistration and ghosting. In order to maintain the quality, efficiency and reliability of the product, a set of fully functional tension control systems is necessary. As shown in Figure 2, the tension control device of the gravure printing machine can be divided into three parts as a whole; tension/speed detection device, control device, actuator and driver. Among them, the control device is the core of the system control. This design uses MCX314As and 89C52 microcontrollers to realize the tension control and speed adjustment of the system.
The 4-axis motion control card uses MCX314As as the core, uses 89C52 microcontrollers as the main controller, and uses PSD913F2 programmable peripheral devices to replace most of the traditional peripheral devices. The clock frequency of MCX314As is determined externally. This system uses the default 16 MHz frequency of MCX314As as the clock signal. In Figure 2, PG1, PG2, PG3, and PG4 are photoelectric encoders. M1, M2, M3, and M4 are stepper motors.
The chip select signal and low-order address AO~A3 of MCX314As are generated by PSD913F2. The data line and read/write signal are directly controlled by the corresponding data line and read/write signal of 89C52. The interrupt signal triggers the external interrupt terminal of 89C52. MCX314As has only one interrupt signal port. All interrupt source signals must be output to the interrupt signal port after "OR operation". The enable and status of the interrupt source are set and judged through the write/read register on MCX314As.
89C52, PSD913F2, and MCX314As can provide 32 general input terminals, 32 general output terminals, and 13 programmable general input/output terminals. These ports are used for S, M, T functions and various feedback input signals.
The system unwinding and rewinding motor control pulses are generated by MCX314As, and differential drive outputs are generated through differential output drivers, which can control digital AC servo drivers, stepper motor drivers, and DC motor drivers. External feedback pulses are input to MCX314As after differential input drivers, and tension sensor signals and speed signals can also be directly input to MCX314As. General input/output signals must be optically isolated and can only be connected to MCX314As or PSD913F2 after being driven.


5 Conclusion
The tension control system is an important part of the printing and packaging industry. Applying the MCX314As motion controller to the tension control system of the gravure printing machine can improve the stability and reliability of the system, allowing more advanced and intelligent control strategies to be used. However, the anti-interference ability of the system needs to be further improved.


Reference address:Principle and Application of MCX314As Four-Axis Motion Controller

Previous article:Research on the synchronization of data flow in SPI communication of single chip microcomputer
Next article:PROTEUS Design and Simulation of Single-Chip Microcomputer Application Products

Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号