CN110879568A - Motion control method of multi-axis linkage economical numerical control system - Google Patents

Motion control method of multi-axis linkage economical numerical control system Download PDF

Info

Publication number
CN110879568A
CN110879568A CN201911408466.4A CN201911408466A CN110879568A CN 110879568 A CN110879568 A CN 110879568A CN 201911408466 A CN201911408466 A CN 201911408466A CN 110879568 A CN110879568 A CN 110879568A
Authority
CN
China
Prior art keywords
speed
motion
movement
displacement
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911408466.4A
Other languages
Chinese (zh)
Other versions
CN110879568B (en
Inventor
张建华
葛红宇
李承锦
林健
李鲁
俞耀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Institute of Technology
Original Assignee
Nanjing Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Institute of Technology filed Critical Nanjing Institute of Technology
Priority to CN201911408466.4A priority Critical patent/CN110879568B/en
Publication of CN110879568A publication Critical patent/CN110879568A/en
Application granted granted Critical
Publication of CN110879568B publication Critical patent/CN110879568B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35349Display part, programmed locus and tool path, traject, dynamic locus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P70/00Climate change mitigation technologies in the production process for final industrial or consumer products
    • Y02P70/10Greenhouse gas [GHG] capture, material saving, heat recovery or other energy efficient measures, e.g. motor control, characterised by manufacturing processes, e.g. for rolling metal or metal working

Abstract

X, Y, Z of a controlled object and W-direction movement are dragged by a movement motor; the driving mode of the motion motor is a mode of combining instruction pulses with direction signals; when the driving mode of the motion motor is an instruction pulse mode, the driving signal of the motion motor comprises a driving pulse signal and a direction control signal; the frequency of the driving pulse determines the rotating speed of the motion motor, and the higher the pulse frequency is, the faster the rotating speed is; the lower the frequency, the slower the rotation speed; the rotating angle of the moving motor is controlled by the number of the command pulses, and the larger the number of the command pulses is, the larger the rotating angle of the moving motor is; the level state of the direction signal determines the rotation direction of the motion motor, and controls the motion motor to realize the rotation motion in the anticlockwise or clockwise direction; x, Y, Z or W, the motion control includes: specific acceleration and deceleration control and a specific feeding motion control strategy, so that more accurate and reasonable motion control is realized.

Description

Motion control method of multi-axis linkage economical numerical control system
Technical Field
The technical scheme belongs to the technical field of numerical control, and particularly relates to a motion control method of a multi-axis linkage economical numerical control system.
Background
The three-dimensional printing is based on the concept of discrete-accumulation, the spatial three-dimensional shape is realized through the processing of a two-dimensional layer, the processing difficulty of a complex three-dimensional structure can be greatly reduced, and the three-dimensional printing method is an important research content in the current manufacturing field. High-performance processing control methods and systems are important research directions in the field of three-dimensional printing. In combination with the development of three-dimensional printing in the directions of novel forming process, method, material and metal part forming and the like, the research on a novel 3D printing control method and an economical system which are low in cost, high in precision, high in integration degree and reliability and have an extensible function and a reconfiguration function is important in the research.
Meanwhile, the social requirements of individuation and differentiation also put forward higher requirements on the adaptability and the complexity of the production system, and the method is suitable for economic numerical control with low cost, high flexibility and high complexity of changeable markets and fast changing products, and is an urgent requirement on a processing system in a production field. According to the situation, the method is oriented to three-dimensional printing and expansion, and the project research is oriented to FDM and other economic numerical control processing control methods and implementation technologies.
Disclosure of Invention
According to the situation, the invention researches a control technology for three-dimensional printing, expands the control technology to other typical multi-axis linkage controlled objects, and provides a motion control method of a multi-axis linkage economical numerical control system, wherein X, Y, Z and W-direction motion of a controlled object are dragged by a motion motor, and the driving mode of the motion motor is a mode of combining command pulses with direction signals;
when the driving mode of the motion motor is an instruction pulse mode, the driving signal of the motion motor comprises a driving pulse signal and a direction control signal; the frequency of the driving pulse determines the rotating speed of the motion motor, and the higher the pulse frequency is, the faster the rotating speed is; the lower the frequency, the slower the rotation speed; the rotating angle of the moving motor is controlled by the number of the command pulses, and the larger the number of the command pulses is, the larger the rotating angle of the moving motor is;
the level state of the direction signal determines the rotation direction of the motion motor, and controls the motion motor to realize the rotation motion in the anticlockwise or clockwise direction;
x, Y, Z or W, the motion control includes:
1) acceleration and deceleration control
X, Y, Z or W direction feed movement is realized by trapezoidal curve acceleration and deceleration:
assuming an acceleration value a of the feed motionMCommand velocity vMThe initial speed value is "0";
according to the speed change characteristics, the whole process of trapezoidal acceleration and deceleration is divided into 3 processes of acceleration section, uniform speed section and deceleration section, which respectively correspond to 0-t0、t0-t1And t1-t2A time period; assuming that the acceleration and the velocity at the time t are a (t) and v (t), respectively, the acceleration a (t) at the time t is:
Figure BDA0002349318670000011
the velocity v (t) at time t is:
Figure BDA0002349318670000012
assuming an initial velocity v of the movement0The velocity v (t) can also be described as:
Figure BDA0002349318670000013
assuming that the sampling time of the system is delta t, and the speed and the acceleration at the moment k are respectively set as vk、akVelocity v at time kkDiscretization is as follows:
Figure BDA0002349318670000014
calculating the instantaneous acceleration and speed of each movement moment according to formulas (1) and (4); then, calculating a corresponding driving pulse count value according to the instantaneous speed, and generating a driving pulse of a movement motor according with the movement speed and the displacement, so that the speed and the displacement control of the movement in the corresponding direction can be realized;
2) feed motion control strategy
2.1) motion analysis and planning
Assuming a current speed v of the feed motion, the commanded speed vMAccording to v and vMThe comparison relationship of (a) and whether the next section of the current direction movement continues, the feed movement of the X, Y, Z shaft is divided into 4 types: respectively designing control strategies for the acceleration ending movement, the deceleration ending movement, the acceleration continuous movement and the deceleration continuous movement;
(1) acceleration ending exercise
① motion characteristic that A is the current speed v less than or equal to the command speed vM(ii) a B. When the current movement is finished, the direction movement is stopped; C. the movement comprises 3 movement sections of speed raising, uniform speed and braking;
② planning the movement speed and displacement according to the movement segment of the feed;
A. in the speed raising stage, acceleration integral is executed at regular time, the instant speed and the count value are calculated, and the corresponding driving pulse is output until the command speed vM
B. Uniform velocity segment according to vMCalculating brake displacement, keeping the speed unchanged, collecting displacement at fixed time, and entering a brake section when the brake displacement arrives;
C. a brake section for executing acceleration integration at regular time, calculating speed and count value, and outputting drive pulse until reaching target displacement;
(2) deceleration ending exercise
① motion characteristic that A, the current speed v is more than or equal to the instruction speed vM(ii) a B. When the current movement is finished, the direction movement is stopped; C. the movement comprises 3 movement sections of speed reduction, uniform speed and braking;
② planning the movement speed and displacement according to the movement segment of the feed;
A. in the speed reduction stage, acceleration integral is executed at regular time, the instant speed and the count value are calculated, and the corresponding driving pulse is output until the command speed vM
B. Uniform velocity segment according to vMCalculating brake displacement, keeping the speed unchanged, collecting displacement at fixed time, and entering a brake section when the brake displacement arrives;
C. a brake section for executing acceleration integration at regular time, calculating speed and count value, and outputting drive pulse until reaching target displacement;
(3) speed-up continuous motion
① motion characteristic that A is the current speed v less than or equal to the command speed vM(ii) a B. When the current movement is finished, the direction movement is continued; C. the motion comprises 2 motion segments with ascending speed and uniform speed;
② planning the movement speed and displacement according to the movement segment of the feed;
A. in the speed raising stage, acceleration integral is executed at regular time, the instant speed and the count value are calculated, and the corresponding driving pulse is output until the command speed vM
B. In the constant speed section, displacement is collected at regular time until the target displacement;
(4) reduced speed continuous motion
① motion characteristic that A, the current speed v is more than or equal to the instruction speed vM(ii) a B. When the current movement is finished, the direction movement is continued; C. the motion comprises 2 motion segments with reduced speed and uniform speed;
② planning the movement speed and displacement according to the movement segment of the feed;
A. in the speed reduction stage, acceleration integral is executed at regular time, the instant speed and the count value are calculated, and the corresponding driving pulse is output until the command speed vM
B. In the constant speed section, displacement is collected at regular time until the target displacement;
2.2) feed control strategy
A. Related concepts
Braking speed: speed of system during brake actuation
Brake displacement: when braking is carried out, the movement is reduced from the braking speed to the speed 0, and displacement is generated in the period; assuming a brake velocity value vBRKThen according to the parameter curve of trapezoidal acceleration and deceleration, the brake displacement sBRKComprises the following steps:
Figure BDA0002349318670000021
the essence of the brake displacement is the remaining unfinished displacement of the current movement when the system executes the brake operation;
B. preparing for exercise: obtaining motion parameters, judging whether the motion in the direction is stopped or not after the current motion is finished, stopping the motion, and obtaining an instruction speed vMAnd calculating the brake displacement as the brake speed; if the motion is continued, the brake displacement calculation is not executed; comparing the current velocity v with the command velocity vMJudging the speed rising/falling type, determining the acceleration a and the speed rising segment value aMValue of-a at the speed reduction stageMEntering corresponding speed rising/falling control;
C. controlling the ascending/descending speed: executing trapezoidal acceleration integration at fixed time, calculating instant speed and count value, and outputting drive pulse until command speed vM
D. Uniform speed control: if the direction movement stops after the current movement is finished, the system collects displacement at fixed time, and enters brake control after reaching the brake position; if the direction movement continues after the current movement is finished, acquiring displacement at fixed time until the displacement is instructed;
E. brake control, acceleration a taking the value-aMExecuting acceleration integration at fixed time, calculating speed and count value, and outputting driving pulse until command displacement;
F. abnormal control, namely, achieving command displacement, prohibiting system output and ending movement no matter what control mode is adopted; during acceleration control, the command displacement 1/2 is reached, and the system enters brake control;
the W-direction motion only has speed control and no displacement or rotation angle control.
The motion motor is a servo motor.
Drawings
FIG. 1 is a functional block diagram of an industrial control system oriented to FDM in this example;
FIG. 2 is a schematic diagram of an implementation structure of an FDM-oriented industrial control system;
FIG. 3 is a schematic diagram of the logic structure of an FDM-oriented industrial control system ASIC (i.e., the control circuit in this example);
FIG. 4 is a graph comparing acceleration and velocity curves of trapezoidal acceleration and deceleration (the left graph is an acceleration curve, and the right graph is a velocity curve);
FIG. 5 is a schematic diagram of the logical structure of the XYZ-direction motion control module;
FIG. 6 is a schematic diagram of the logical structure of the W spinning motor control module;
FIG. 7 is a control timing of the typical AD device ADS7816
Fig. 8 is a timing chart of the operation of the motion execution control module ExeInstr.
Detailed Description
The method is described below by taking an FDM-oriented industrial control system as an example, and specifically includes the following steps:
1. system functional framework
The functional structure of the economical reconfigurable industrial control system facing FDM, which is proposed herein by comprehensively analyzing the data processing and scanning-stacking processing and forming processes of the fused deposition manufacturing process, is shown in FIG. 1. According to the completed system function and control task, the control system is divided into three constituent units, namely an upper control system, a lower control system and a machine tool body and an execution component. The upper control system is realized by a high-performance industrial control computer and supporting software thereof, and mainly completes the human-computer interface and control, the hierarchical slicing algorithm and the data processing of the system. The method supports the relevant instruction operation, processing parameters, three-dimensional processing model input, model discretization processing, processing instruction generation and transmission, state data transmission and display of a user.
The lower control system mainly comprises an embedded system, software, a printing control special integrated circuit and a basic supporting circuit (namely, the control circuit is adopted). The embedded control system realizes management scheduling, unit control algorithm and hardware driving function of the printing control process. When executing printing control, the management scheduling program executes dynamic searching special integrated circuit according to preset strategy to obtain state information of machine tool equipment; then, according to the state information, calling a related algorithm control program, according to a preset control strategy, dynamically calling corresponding hardware drive control, and sending related control data to the integrated circuit to realize a preset action.
The printing control special integrated circuit of the lower control system receives the instruction information sent by the embedded system and the software, executes data conversion according to the specific requirements of the servo motor, the acquisition system and the heating circuit, sends the converted instruction data to the corresponding control circuit, drives the corresponding equipment to realize corresponding movement, heating and acquisition operations, and realizes the functions of printing, scanning, stacking, wire temperature detection and control and the like. Meanwhile, the printing control special integrated circuit responds to the request of the embedded processor, and timely collects and sends out states of the wire temperature, the stroke, the limit switch and the like for the retrieval of the embedded control system.
The machine tool body and the executing component mainly comprise a machine tool body, an XY direction scanning motion servo system and a motor, a Z direction stacking motion servo system and a motor, a W axis spinning motion servo system and a motor, an AD conversion and support circuit for filament temperature acquisition control, a spinning heating power amplification circuit, a digital I/O amplification circuit and other auxiliary control and circuits. The execution component receives the standard control signal output by the lower control system, executes power amplification, drives corresponding equipment such as a motor and a heating circuit, and realizes instruction action. Meanwhile, the execution component receives data such as a travel switch, a power-off signal and the like from the machine tool body, converts the data into a standard signal after amplification and conversion, and sends the standard signal to the special integrated circuit of the lower control system for retrieval by the embedded processor.
Other auxiliary control and circuits including the control of lighting, power switch, lubricating and other functions are completed by the electric system of the machine tool body and are not directly controlled by a lower control system.
2. System implementation structure
According to the basic functional structure and control requirements of the control system, and combined with the comprehensive consideration of the specific implementation method and implementation process of module functions, the convenience requirement of command operation control and the like, the implementation structure of the reconfigurable system for FDM fused deposition modeling and other economic numerical controls proposed herein is shown in fig. 2. The system is convenient to realize, expand functions and improve the reliability of the system, and the upper control system is constructed by a standard industrial PC. The hardware is realized by standard industrial PC, the supporting software is a mainstream operating system, a standard driver and a graphic library, and the high-speed data communication adopts a built-in RS232 standard serial port and a transmission protocol of the PC. And a special algorithm and a processing program of the upper control system receive and process the three-dimensional CAD model, generate a processing control file according to the process and the hardware requirements of the control system, and transmit the processing file to the lower control system according to a special communication protocol based on RS 232.
The lower processing control is realized by a standard embedded system and a self-designed printing control special integrated circuit. The embedded control system comprises standard hardware such as an embedded processor, a starting circuit, a clock circuit, a downloading circuit and the like and a special printing control program; based on the consideration of the aspects of transmission speed, transmission distance, control instantaneity and the like, the data transmission between the embedded system and the application-specific integrated circuit is realized through an SPI bus protocol, and the communication baud rate is 36 MBPS. Through a special control program of a standard embedded system, the lower control system receives and interprets an instruction program sent by the high-speed communication port, drives multi-axis motion control, PWM control, AD conversion and acquisition control sub-modules of the special integrated circuit, realizes instruction actions of processing motion, silk temperature acquisition, silk spraying heating and the like, and processes the appointed three-dimensional solid part.
The special integrated circuit is controlled by the instruction of the embedded system to realize the direct control of the functions of printing and scanning, layer stacking, silk temperature acquisition, printing and spinning and the like; the XYZW-direction motion control module finishes XY-direction printing and scanning, Z-direction processing and stacking and W-axis spinning actions, and outputs driving pulses and direction control signals of an XYZW-axis servo system, and the specific control contents comprise XYZ-axis direction, acceleration, speed, displacement, linkage, W-axis direction and speed control and the like; the special PWM control module receives PWM parameters sent by the standard embedded system, outputs PWM control signals according with a preset duty ratio, and drives the heating power amplification circuit to realize real-time regulation of spinning heating power; and the AD conversion and acquisition control module sends out a control signal meeting the time sequence logic requirement of an external AD device according to the instruction requirement from the SPI, starts data acquisition and acquires the instant spinning temperature.
The switching value input/output control module receives switching signals such as stroke, limit and the like sent by the machine tool equipment end, sends the switching signals to the special buffer in the chip in real time and responds to an instruction to be sent to the system; meanwhile, the module outputs switching signals such as processing instructions, running conditions and the like according to system instructions to realize equipment state indication; the register of the integrated circuit and the processing instruction queue temporarily store data such as operating parameters, states, processing instruction information and the like, the processing instruction execution control module automatically acquires a queue instruction, executes instruction decoding, starts a related control module according to the instruction and realizes instruction required action.
3. Integrated circuit logic structure (in this example, the integrated circuit employing the control circuit of the present invention) and instruction set design
3.1 logical Structure design
The logic unit formation and logic relationship structure of the FDM-oriented reconfigurable control system-specific integrated circuit is shown in fig. 3, according to the functional structure and implementation structure of the reconfigurable control system, in combination with the functional requirements, the working process analysis, and the input/output logic relationship with other constituent modules of the reconfigurable system of the dedicated control integrated circuit.
The basic constituent unit of the application-specific integrated circuit mainly comprises an SPI reading SpiRd, an SPI writing SpiWr, a command decoding DecInstr, a PWM output control U1PwmDrv, an acquisition conversion control U0MaxDrv, a switching value output DigOutP, a switching value input DigInP, a motion command queue mInstr, a motion command execution control ExeInstr, an X-direction motion control UxMtDrv, a Y-direction motion control UyMtDrv, a Z-direction motion control UzMtDrv and a W-axis motion control UwMtDrv. SpiRd and SpiWr jointly form SPI read-write control, DigOutP and DigInP realize switching value input/output control, and UxMtDrv, UyMtDrv, UzMtDrv and UwJetMt realize XYZW directional motion control.
The SpiWr module of the integrated circuit receives SPI standard signals MOSI, SCK and NSS, executes data analysis and data discrimination, calculates a command code CMD, command data DInst and a data serial number DIndx, sends a calculation result to the DecInstr module, and executes command decoding; the SpiRd module responds to SPI signals SCK and NSS and sends the on-chip data TBuf to an SPI port MISO according to a preset time sequence.
The module DecInstr receives the command data CMD, DIndx and DInstr output by the SpiWr, realizes command decoding and executes a part of commands. Receiving a motion instruction (such as spinning, feeding and the like), calculating a mInstr instruction queue write pointer WrP by the module, judging a queue full state QueF, writing data into an mInstr instruction queue according to the write pointer WrP, and waiting for an instruction execution control module ExeInstr to process; receiving instructions of PWM output, acquisition conversion, switching value output and the like, sending instruction parameters to corresponding module circuits by the module DecInstr, starting the U1PwmDrv, U0MaxDrv or DigOutP module, outputting a preset PWM waveform, and starting acquisition conversion or outputting a specified switching value; after receiving instructions of switching value input, XYZ coordinate acquisition, AD acquisition data acquisition, motion state acquisition and the like, the module DecInstr retrieves corresponding registers DIBuf, MtCor, wData and MtBu and sends data to the SPI sending register TBuf and SpiRd to the SPI bus. The signal MtCor in the figure is current coordinate information in XYZ direction, i.e., XYZ current coordinates Cor sent by UxMtDrv, UyMtDrv, UzMtDrv; the signal MtBsy is the current state of XYZ axes, i.e., UxMtDrv, UyMtDrv, XYZ current busy-idle state Bsy sent by UzMtDrv.
The switching value output DigOutP responds to an enabling signal EnDO sent by an instruction decoding DecInstr, and sends 16-bit data of the switching value output buffer DObuf to an integrated circuit port DO; the switching value input DigInP acquires a switching value input port DI of 16 paths, relevant input data is sent to a buffer DIbuf, the module responds to an enable signal EnDI output by the DecInstr, the DIbuf is sent to a sending buffer TBuf of the SpiRd, and the SpiRd is sent out of the integrated circuit; the acquisition conversion control U0MaxDrv receives an enable signal EnAd sent by the DecInstr to generate mSK and mCS control signals required by an external AD device. Meanwhile, the module U0MaxDrv dynamically collects the serial data port DM according to the timing requirement of the AD device, and sends the obtained conversion data to the register wData. Then, the DecInstr responds to the acquired data reading instruction, transmits the wData data to the TBuf, and transmits the wData data to the SPI bus through the SpiRd; the PWM output control U1PwmDrv responds to the enable signal EnPWM sent by the DecInstr, and outputs a specified PWM waveform according to the pulse width parameter wDur and the pulse interval parameter wInt output by the DecInstr.
The executive control ExeInstr receives an mInstr write pointer WrP sent by the instruction decoding DecInstr, acquires instruction data of a motion instruction queue mInstr, calculates the directions Dr of an XYZW motion axis, a read pointer RdP of the mInstr, a motion segment end stop mark Stp and a motion instruction queue empty mark QueE, sends the instruction speed Spd, the displacement Dis, the motion direction Dr and the motion segment stop mark Stp to the specified XYZW control module UxMtDrv, UyMtDrv, UzMtDrv or UwJetMt, and outputs driving pulses xCp, yCp, zCp and wCp of the corresponding XYZW axis to realize corresponding motion. Specifically, the motion direction of the XYZW axis is also realized by the execution control module ExeInstr.
The motion control modules UxMtDrv, UyMtDrv and UzMtDrv realize printing XY scanning and Z stacking motion, the modules receive an acceleration set value mAcc output by instruction decoding DecInstr, execute and control an enable signal En, a speed setting Spd, a displacement setting Dis, a direction setting DR and a motion segment rear end mark Stp sent by the ExeInstr module, output servo motor driving pulses xCP, yCp and zCp in corresponding directions, a three-way motion axis busy mark Bsy and three-axis current coordinates Cor (namely xCor, yCor and zCor), and realize acceleration and deceleration control in corresponding directions and driving of corresponding axis motors; the motion control module UwJetMt realizes the spinning action of the three-dimensional printing spinning motor, receives an enable signal wEn output by the instruction decoding DecInstr and the speed setting Spd, and outputs a driving pulse wCp of a spinning shaft W, so that the circuit is convenient to simplify, and the module is not provided with an acceleration and deceleration function.
3.2 basic instruction and basic instruction set design
3.2.1 instruction format and method of transmission
The basic structure of the instruction comprises an instruction code and an instruction parameter, wherein the instruction code indicates the operation content of the instruction and occupies 1 byte; the instruction parameters specify the parameters used to execute the instruction, taking 4-18 bytes. System instructions are classified into motion instructions and non-motion instructions according to functions and operations to be performed. Wherein the motion instruction is used for realizing motion required in processing; the non-motion command is used to set processing parameters, obtain system status, or implement other output and input controls than processing motion.
The instruction transmission is realized by adopting a 16-bit SPI process, and according to the sequence, the embedded CPU sequentially transmits instruction codes and instruction parameters to the special integrated circuit through the SPI in sequence according to the byte sequence, namely, the instruction transmission is finished; when data such as system state, coordinate position and the like are acquired, and the last SPI cycle is executed by an instruction, the requested 16-bit data is received at the same time.
3.2.2 non-motion Instructions
The non-motion command comprises switching value output, switching value read-in, analog value input, PWM output, acceleration setting, coordinate reading, state reading and the like, and the format definitions of the non-motion command are different.
1) Output switch value
The switching value output is used to set an output switching value of 16 bits, and the basic configuration of the command is shown in table 1. The command code 17H, byte 2 and byte 3 are respectively the high byte DOH and low byte DOL of the 16-bit preset switching value data.
TABLE 1 switching value output instruction Format
Instruction code Byte 1 Byte 2 Byte 3
17H 00H (unused) DOH DOL
When the output switching value is set, the SPI firstly sends out a command code and data 1700H of byte 1, then the SPI sends out 16-bit data formed by DOH and DOL, and the output high-low bit byte of the special integrated circuit is the 16-bit switching value of the DOH and the DOL respectively.
2) Input switching value
The switching value input is used to obtain the state data of the 16-bit input switching value, and the basic structure of the command is shown in table 2. Instruction code 15H, parameter bytes 1, 2, and 3 are 00H, XXH and XXH, respectively. Where XXH is arbitrary data.
TABLE 2 switching value input command Format
Instruction code Byte 1 Byte 2 Byte 3
15H 00H (unused) XXH XXH
When the input switching value is obtained, the SPI firstly sends out an instruction code and data 1500H of byte 1, then the SPI sends out data XXXXH of parameter byte 2 and parameter byte 3, and meanwhile 16-bit state data of the input switching value are received.
3) Enabling operation
Enabling operation enables/disables the corresponding system device by pulling/resetting different flag bits, and the basic composition of the instruction is shown in table 3.
TABLE 3 Enable operation instruction Format
Figure BDA0002349318670000061
Instruction code 1BH, parameter bytes 1, 2 are both 00H. The D0 bit of byte 3 is used for starting and stopping the acquisition conversion control module U0MaxDrv (1/0), and the D1 bit is used for starting/stopping the PWM output control module U1PwmDrv (1/0); the rest bits are reserved for system expansion.
4) State acquisition
The state acquisition command is mainly used for acquiring the working condition of a system circuit before the system sends out a command, so as to avoid misoperation, and the basic composition and related meanings of the command are shown in table 4. Instruction code 14H, parameter bytes 1, 2 are both 00H. The bits D0, D1 and D2 of byte 3 are respectively a busy flag of X, Y, Z direction motion, the bit D3 is a busy flag of the acquisition conversion control module, and the bits D4 and D5 are respectively full and empty flags of the motion instruction queue mlstr.
Table 4 state fetch instruction format
Figure BDA0002349318670000062
The other bits of parameter bytes 1, 2 and parameter byte 3 are temporarily unused and can be used as system extensions.
5) Analog input
The input of the analog quantity needs to start the acquisition conversion control firstly, and then wait for the acquisition conversion to finish to obtain the conversion result.
(1) Starting digital-to-analog conversion: starting digital-to-analog conversion requires first prohibiting acquisition conversion and clearing the last conversion result according to the enable operation instruction shown in table 3. And then, restarting the module U0MaxDrv and starting new acquisition conversion.
(2) Waiting for the conversion to end: when the conversion is finished, the system acquires the system state according to the instruction shown in the table 4, the AdBsy is 0, and an analog input result is acquired; otherwise, continuing to wait.
(3) Obtaining an analog quantity: the basic configuration of the analog quantity fetch instruction is shown in table 5. Instruction code 16H, parameter bytes 1, 2, and 3 are 00H, XXH and XXH, respectively. Where XXH is arbitrary data.
TABLE 5 analog get instruction Format
Instruction code Byte 1 Byte 2 Byte 3
16H 00H (unused) XXH XXH
When the input result of the analog quantity is obtained, the SPI first sends out 16-bit data 1600H (the high byte is the command code 16H, and the low byte is the value 00H of the parameter byte 1), and then the SPI sends out data xxxxxh of the parameter byte 2 and the parameter byte 3, and the low 12 bits of the received 16-bit data are the input analog quantity to be obtained.
6) PWM parameter setting and output instruction
The PWM parameter setting and output instruction comprises three types of PWM pulse interval setting, pulse width setting and PWM output, and the three types of PWM pulse interval setting, pulse width parameter setting and specified PWM waveform output are respectively used for PWM waveform pulse interval and pulse width parameter setting.
(1) Setting PWM pulses: the unit μ s is set for the inter-pulse parameter, and the basic structure of the command is shown in table 6. The instruction code 19H, byte 2 and byte 3 are respectively the upper eight-bit wPulIntH and the lower 8-bit wPulIntL of the setting value of wPulInt between pulses.
TABLE 6 PWM Interpulse set instruction Format
Instruction code Byte 1 Byte 2 Byte 3
19H 00H (unused) wPulIntH wPulIntL
When the setting between the PWM pulses is executed, the SPI first sends out the instruction code and the data 1900H of byte 1, and then sends out the 16-bit parameter between the pulses composed of wpullinth and wpullinth, thereby realizing the setting between the PWM pulses.
(2) Setting PWM pulse width: the basic configuration of the pulse width parameter setting command is shown in table 7. Instruction code 1AH, bytes 2 and 3 are the upper eight bits wPulDurH and the lower 8 bits wPulDurL, respectively, of the set value of wPulDur between pulses.
TABLE 7 PWM pulse Width setting instruction Format
Instruction code Byte 1 Byte 2 Byte 3
1AH 00H (unused) wPulDurH wPulDurL
The pulse width setting method is similar to the inter-pulse setting, except that the instruction codes are different.
(3) And (3) PWM waveform output: the PWM waveform output is accomplished by enabling the operation commands, the format of which is shown in table 3. After setting parameters between pulse width and pulse, SPI first sends out enable opcode and data byte 1B 00H; then, setting the PWM enabling position by the external processor, and recalculating the parameter byte 3; finally, the external processor sends the parameter byte 2(00H) and the calculated parameter byte 3 to the asic through the SPI, outputting a predetermined PWM waveform.
8) Acceleration setting
Acceleration setting is used for setting acceleration parameters of XYZ-directional motions, so that instructions are simplified, the same acceleration is adopted for three-axis motions, and the basic composition of the instructions is shown in table 8.
TABLE 8 Accelerator setting Command Format
Instruction code Byte 1 Byte 2 Byte 3
18H 00H (unused) mAccH mAccL
The instruction code 18H, the byte 2 and the byte 3 are respectively a high byte mAccH and a low byte mAccL of 16-bit preset acceleration, and the setting method is similar to the output switching value, and will not be described herein again.
9) Coordinate reading
The coordinate reading mainly comprises acquiring XYZ coordinate data, only rotating the W axis in the forward direction or the reverse direction, without the coordinate control requirement, and the basic composition of the command is shown in Table 9. The instruction codes obtained by XYZ coordinates are 11H, 12H, and 13H, respectively, and the parameter bytes 1, 2, and 3 are 00H, XXH and XXH, respectively. Where XXH is arbitrary data.
TABLE 9 coordinate fetch instruction Format
Instruction code Byte 1 Byte 2 Byte 3
11H/12H/13H 00H (unused) XXH XXH
When coordinate information is acquired, the SPI first sends out the command code and the data 1100H, 1200H or 1200H of byte 1 as required, and then sends out the 16-bit data xxxxxh composed of the parameter byte 2 and byte 3, and receives the corresponding 16-bit coordinate data.
3.2.3 motion Instructions
1) Motion command generic format
The processing movement of the system comprises three types of unidirectional movement, two-axis linkage and XYZ three-axis linkage. Wherein, the unidirectional movement is divided into X, Y, Z and W-direction movement; the two-axis linkage is divided into XY, YW and XW linkage motion; the motion commands are also individually associated with the motion classes, and the general format is shown in table 10.
TABLE 10 motion instruction general Format
Figure BDA0002349318670000071
The command code 10H, the parameter byte 1 is not used, the parameter byte 2 is the enabling condition of the motion axis, D0-D4 is X, Y, Z and whether W moves or not in sequence, and the axis is set to be '1' and moves; otherwise, the shaft does not participate in the movement; the parameter byte 3 is the command movement direction, D0-D4 are X, Y, Z and W axis movement directions in sequence, and set to be '1', and the axis moves in a negative direction; conversely, the shaft moves in a forward direction;
parameter bytes 4 and 5 are 16-bit instruction speed of motion, unit: step/s; parameter bytes 6 and 7 are 16-bit instruction displacements of motion, in units of: and (5) carrying out the steps. And X, Y, Z or W axes participating in the movement are sequentially distributed according to the sequence (W only sets the movement speed and has no displacement parameter).
2) Unidirectional motion command
The unidirectional motion has 8 conditions of positive and reverse motion of X, Y, Z, W axes
(1) X unidirectional movement: the structure of the X unidirectional motion command is shown in table 11. The instruction code 10H, the parameter byte 1 is not used, the parameter byte 2 is 01H, and the movement is indicated as X-axis movement; the parameter byte 3 indicates the direction of motion, 00H for positive motion and 01H for negative motion. Parameter bytes 4-5 specify a 16-bit motion velocity in steps/s, and parameter bytes 6-7 specify a 16-bit motion displacement amount in steps.
TABLE 11X-axis unidirectional motion command format
Instruction code Byte 1 Byte 2 Byte 3 Bytes 4-5 Bytes 6-7
10H 00H (unused) 01H 00H positive/01H negative 16 bit instruction speed 16 bit instruction displacement
(2) Y, unidirectional motion: the instruction structure is shown in table 12. The instruction code 10H, the parameter byte 1 is not used, the byte 2 is 02H, and the Y-axis motion is designated; byte 3 is 00H, Y moves forward; 02H, Y moves negatively. Bytes 4-5 and 6-7 specify 16 bits of speed and displacement, respectively.
TABLE 12Y-AXIS ONE-WAY MOTION COMMAND FORMAT
Instruction code Byte 1 Byte 2 Byte 3 Bytes 4-5 Bytes 6-7
10H 00H (unused) 02H 00H positive/02H negative 16 bit instruction speed 16 bit instruction displacement
(3) Z unidirectional movement: the instruction structure is shown in table 13. Parameter byte 2 is 04H, and Z-axis motion is specified; the parameter byte 3 is 00H, and the Z axis moves in the positive direction; 04H, and Z moves in the negative direction. Parameter bytes 4-5 and 6-7 specify the 16-bit speed and displacement, respectively.
Table 13Z-axis unidirectional motion instruction format
Instruction code Byte 1 Byte 2 Byte 3 Bytes 4-5 Bytes 6-7
10H 00H (unused) 04H 00H positive/04H negative 16 bit instruction speed 16 bit instruction displacement
(4) W, unidirectional movement: the instruction structure is shown in table 14. Parameter byte 2 is 08H, specifying W-axis motion; the parameter byte 3 is 00H, and the W axis rotates in the positive direction; at 08H, W is rotated negatively. The parameter bytes 4-5 specify 16-bit movement speed (frequency) of the W-axis, which is used as a spinning action of a spinning shaft or a spindle rotation action of economic numerical control, and only performs rotation speed control but not angular displacement control.
Table 14W-axis unidirectional motion command format
Instruction code Byte 1 Byte 2 Byte 3 Bytes 4-5
10H 00H (unused) 08H 00H positive/08H negative 16 bit instruction speed
3) Two-axis linkage control instruction
The X-Y oblique line movement or X/Y unidirectional printing track or numerical control cutting track is divided into 3 types of linkage of XY, YW and XW according to the movement axis.
(1) XY linkage: the XY axis linkage control command structure is shown in table 15. The command code is still 10H, parameter byte 2 is 03H, indicating that the axis of motion is X, Y; the parameter byte 3 indicates the direction of motion, and the parameters 00H-03H indicate positive X-positive Y-positive X-negative Y-positive X-positive Y-negative X-negative Y-negative motion in sequence.
Table 15 XY axis linkage control instruction format
Instruction code Byte 1 Byte 2 Byte 3 Bytes 4-5 Bytes 6-7 Bytes 8-9 Bytes 10-11
10H 00H (unused) 03H 00H-03H 16 bit X speed 16 bit X shift 16 bit Y speed 16 bit Y shift
The parameter bytes 4-5 and 6-7 specify the 16-bit movement speed and displacement in the X direction in turn, and the parameter bytes 8-9 and 10-11 specify the 16-bit movement speed and displacement in the Y direction, respectively.
(2) YW linkage: the YW axis linkage control command structure is shown in table 16. Parameter byte 2 is 0AH, indicating an axis of motion of Y, W; parameters 00H, 02H, 08H, and 0AH of parameter byte 3 specify the direction of motion of the Y positive W positive, Y negative W positive, Y positive W negative, and Y negative W negative instruction in sequence.
Table 16 YW axle linkage control instruction format
Instruction code Byte 1 Byte 2 Byte 3 Bytes 4-5 Bytes 6-7 Bytes 8-9
10H 00H (unused) 0AH 00H、02H、08H、0AH 16 bit Y speed 16 bit Y shift 16 bit W speed
Parameter bytes 4-5 and 6-7 specify the 16-bit movement speed and displacement in the Y-direction in turn, and parameter bytes 8-9 specify the 16-bit movement speed in the W-direction.
(3) XW linkage: the XW axis linkage control command structure is shown in table 17. Parameter byte 2 is 09H, indicating an axis of motion of X, W; parameters 00H, 01H, 08H, and 09H of parameter byte 2 sequentially specify the instruction movement directions of positive X-direction W positive, negative X-direction W positive, positive X-direction W negative, and negative X-direction W negative.
Table 17 XW axle linkage control instruction format
Figure BDA0002349318670000081
Figure BDA0002349318670000091
Parameter bytes 4-5 and 6-7 specify the 16-bit movement speed and displacement in the X-direction in turn, and parameter bytes 8-9 specify the 16-bit movement speed in the W-direction.
4) XYW three-axis linkage control instruction
The instruction structure for XY diagonal printing or numerical control cutting trajectory is shown in table 18. The command code is still 10H, parameter byte 2 is 0BH, indicating the axes of motion are X, Y and W; the parameter byte 3 indicates the direction of movement, and the parameters 00-03H and 08-0BH indicate the movements of positive X-positive Y-positive W-positive, negative X-negative Y-positive W-positive, negative X-positive Y-negative W-positive, positive X-positive Y-negative W-negative, negative X-negative Y-positive W-negative, negative X-positive Y-negative W-negative, and negative X-negative Y-negative W-negative in sequence.
Table 18 XYW three-axis linkage control instruction format
Instruction code Byte 1 Byte 2 Byte 3 Bytes 4-5 Bytes 6-7 Bytes 8-9 Bytes 10-11 Bytes 12-13
10H 00H (unused) 0BH 00-03H,08-0BH X speed X displacement Speed of Y Y displacement W speed
The parameter bytes 4-5 and 6-7 specify the 16-bit movement speed and displacement in the X direction in turn, the parameter bytes 8-9 and 10-11 specify the 16-bit movement speed and displacement in the Y direction, respectively, and the parameter bytes 12-13 specify the 16-bit movement speed in the W direction.
4. Motion control and implementation
The motion control of the system comprises XYZ processing feed motion and spinning motion of a spinning shaft W direction, and the requirements and implementation methods of the two types of motion are different. The printing and feeding requirements are that the motion is stable, no impact is generated, and the requirements of motion speed and displacement control are met, and the printing and feeding requirements are met through X, Y, Z-direction motion control modules UxMtDrv, UyMtDrv and UzMtDrv; the spinning motion is realized by W-direction motion control UwMtDrv, compared with printing feed motion, the power of the spinning motion is small, the speed is low, only the speed control is executed, and the control requirement of displacement or rotation angle is avoided.
When the machining motion is executed, the execution control module ExeInstr coordinates in the whole process, controls the XYZ motion control modules UxMtDrv, UyMtDrv, UzMtDrv and the W-direction spinning motion control module UwJetMt, and drives the corresponding servo motor to realize the three-dimensional printing operation.
4.1 feed control principle
4.1.1 drive mode
The motion in the XYZW direction is dragged by a servo motor, and the driving method adopts a mode of combining command pulses with direction signals. Compared with other control modes, the mode of combining the instruction pulse with the direction signal is simple and convenient in wiring and debugging and easy to realize.
When the servo motor works in a command pulse mode, the driving signal of the servo motor comprises a driving pulse signal and a direction control signal. The frequency of the driving pulse determines the rotating speed of the servo motor, and the higher the pulse frequency is, the faster the rotating speed is; the lower the frequency, the slower the rotation speed; the rotation angle of the motor is controlled by the number of the command pulses, and the larger the number of the command pulses is, the larger the rotation angle of the servo motor is.
The level state of the direction signal determines the rotation direction of the motor, and controls the servo motor to realize the rotation movement in the counterclockwise direction or the clockwise direction.
4.1.2 acceleration/deceleration control
From the perspective of simplifying calculation and facilitating realization, the printing feed motion of the system is realized by acceleration and deceleration of a trapezoidal curve and the like. Assuming an acceleration value a of the movementMCommand velocity vMThe initial velocity value is "0", and the acceleration-velocity curve of the complete trapezoidal acceleration-deceleration process is shown in fig. 4.
According to the speed change characteristics, the whole process of trapezoidal acceleration and deceleration can be divided into 3 processes of acceleration section, uniform velocity section and deceleration section, which respectively correspond to 0-t0、t0-t1And t1-t2A time period. Assuming that the acceleration and the velocity at the time t are a (t) and v (t), respectively, the acceleration a (t) at the time t is:
Figure BDA0002349318670000092
the velocity v (t) at time t is:
Figure BDA0002349318670000093
assuming an initial velocity v of the movement0The velocity v can also be described as:
Figure BDA0002349318670000094
assuming that the sampling time of the system is delta t, and the speed and the acceleration at the moment k are respectively set as vk、akVelocity v at time kkDiscretization is as follows:
Figure BDA0002349318670000095
and (4) calculating the instantaneous acceleration and speed of each motion moment according to the formulas (1) and (4). And then, calculating a corresponding driving pulse count value according to the instantaneous speed, and generating motor driving pulses according with the movement speed and the displacement, so that the speed and the displacement control of the movement in the corresponding direction can be realized.
4.1.3 feed motion control strategy design
1) Motion analysis and planning
Assuming a current speed v of the feed motion, the commanded speed vMAccording to v and vMThe comparison relationship of (a) and whether the next section of the current direction movement continues, the feed movement of the X, Y, Z shaft is divided into 4 types: and respectively designing control strategies for the acceleration ending movement, the deceleration ending movement, the acceleration continuous movement and the deceleration continuous movement.
(1) Acceleration ending exercise
① motion characteristic that A is the current speed v less than or equal to the command speed vM(ii) a B. When the current movement is finished, the direction movement is stopped; C. the movement comprises 3 movement sections of speed rising, uniform speed and braking.
② planning the movement speed and displacement according to the movement segment of the feed.
A. The acceleration section is used for executing acceleration integral at regular time and calculating the instant speed and meterNumerical value, outputting corresponding driving pulse until command speed vM
B. Uniform velocity segment according to vMCalculating brake displacement, keeping the speed unchanged, collecting displacement at fixed time, and entering a brake section when the brake displacement arrives;
C. and a brake section, which executes acceleration integration at regular time, calculates speed and count value, and outputs driving pulse until reaching target displacement.
(2) Deceleration ending exercise
① motion characteristic that A, the current speed v is more than or equal to the instruction speed vM(ii) a B. When the current movement is finished, the direction movement is stopped; C. the movement comprises 3 movement sections of speed reduction, uniform speed and braking.
② planning the movement speed and displacement according to the movement segment of the feed.
A. In the speed reduction stage, acceleration integral is executed at regular time, the instant speed and the count value are calculated, and the corresponding driving pulse is output until the command speed vM
B. Uniform velocity segment according to vMCalculating brake displacement, keeping the speed unchanged, collecting displacement at fixed time, and entering a brake section when the brake displacement arrives;
C. and a brake section, which executes acceleration integration at regular time, calculates speed and count value, and outputs driving pulse until reaching target displacement.
(3) Speed-up continuous motion
① motion characteristic that A is the current speed v less than or equal to the command speed vM(ii) a B. When the current movement is finished, the direction movement is continued; C. the movement comprises 2 movement segments with ascending speed and uniform speed.
② planning the movement speed and displacement according to the movement segment of the feed.
A. In the speed raising stage, acceleration integral is executed at regular time, the instant speed and the count value are calculated, and the corresponding driving pulse is output until the command speed vM
B. And in the constant speed section, displacement is collected at regular time until the target displacement.
(4) Reduced speed continuous motion
① motion characteristic that A, the current speed v is more than or equal to the instruction speed vM(ii) a B. At presentThe movement is finished, and the direction movement is continued; C. the movement comprises 2 movement segments with reduced speed and uniform speed.
② planning the movement speed and displacement according to the movement segment of the feed.
A. In the speed reduction stage, acceleration integral is executed at regular time, the instant speed and the count value are calculated, and the corresponding driving pulse is output until the command speed vM
B. And in the constant speed section, displacement is collected at regular time until the target displacement.
2) Feed control strategy
A. Related concepts
Braking speed: speed of system during brake actuation
Brake displacement: when braking is performed, the movement is reduced from the braking speed to the speed 0, and the displacement is generated in the period. Assuming a brake velocity value vBRKThen according to the parameter curve of trapezoidal acceleration and deceleration, the brake displacement sBRKComprises the following steps:
Figure BDA0002349318670000101
the essence of the braking displacement is the remaining unfinished displacement of the current movement when the system performs a braking operation.
B. Preparing for exercise: obtaining motion parameters, judging whether the motion in the direction is stopped or not after the current motion is finished, stopping the motion, and obtaining an instruction speed vMAnd calculating the brake displacement as the brake speed; if the motion is continued, the brake displacement calculation is not executed; comparing the current velocity v with the command velocity vMJudging the speed rising/falling type, and determining the acceleration a (the value a of the speed rising section)MValue of-a at the speed reduction stageM) Entering corresponding speed rising/falling control;
C. controlling the ascending/descending speed: executing trapezoidal acceleration integration at fixed time, calculating instant speed and count value, and outputting drive pulse until command speed vM
D. Uniform speed control: if the direction movement stops after the current movement is finished, the system collects displacement at fixed time, and enters brake control after reaching the brake position; if the direction movement continues after the current movement is finished, acquiring displacement at fixed time until the displacement is instructed; .
E. Brake control, acceleration a taking the value-aMAnd performing acceleration integration at regular time, calculating speed and count value, and outputting driving pulse until command displacement.
F. Abnormal control, namely, achieving command displacement, prohibiting system output and ending movement no matter what control mode is adopted; during the speed raising control, the command displacement 1/2 is reached, and the system enters the braking control.
4.2 implementation of XYZ-directional motion control
4.2.1 logical Structure of control Module
X, Y, Z the motion control modules UxMtDrv, UyMtDrv and UzMtDrv adopt the mode of combining the pulse with the direction signal to realize the drive of the corresponding motion motors, and the acceleration and deceleration control is completed by trapezoidal acceleration and deceleration. The three modules have similar functions and requirements, adopt the same logic structure and are mainly formed as shown in figure 5.
The motion direction of the XYZW is given by a motion control instruction, and ExeInstr is directly output by motion execution control; the driving pulse of the motion is realized by an XYZ motion control module.
The XYZ motion control module receives the reference clock CLK, the motion acceleration Acc sent by the command decoding module DecInstr, the command speed SpdI sent by the motion execution control ExeInstr, the command displacement Dis, the motion enable G, the motion direction DR, and the stop flag bStp after the end of this segment, and outputs X, Y and the driving pulse CP of the Z axis, the current coordinate Coor of the motion direction, and the motion busy flag Bsy. The module mainly comprises a motion control clock submodule Ck10KP, a state conversion control submodule StaCon, a brake displacement calculation submodule CalDis, a displacement calculation submodule DisCtrl, a driving pulse submodule CPGen and a speed counting calculation submodule CalCnt.
The Ck10KP submodule uses the reference clock CLK to implement a control clock signal Ck10K for the feed movement; the StaCon is controlled to collect and output feeding motion control parameters by state conversion, speed, displacement discrimination and state conversion are executed, and the whole process control of feeding motion is realized; the speed counting calculation submodule CalCnt acquires the current movement speed, and calculates a corresponding speed counter value tSpdCnt according to a driving pulse principle; the driving pulse submodule CPGen acquires a speedometer value and sends out a matched driving pulse to drive the servo motor to realize movement; the displacement operation submodule DisCtrl samples the driving pulse of the servo motor and calculates the current displacement; and when the current motion axis does not participate in the motion of the next instruction, the brake displacement calculation submodule CalDis acquires the brake speed and calculates the brake displacement of the current feeding motion.
4.2.2 logical implementation of control Module
1) Control clock submodule Ck10KP
According to the control requirements of the motion speed, the precision and the like of three-dimensional printing and other economical numerical control systems, a 1MHz active crystal oscillator is selected as a system reference clock CLK, the system control period is 10 mus, the control clock frequency is set to be 100KHz, and the control is realized through a submodule Ck10 KP.
Ck10KP receives the reference clock CLK of the system, and divides the CLK clock by 10 to obtain the control clock signal Ck10K of 100 KHz.
2) State transition control StaCon
The submodule StaCon realizes the conversion and control of the motion state, the motion execution control ExeInstr sets the motion enable G, the StaCon starts the motion process and executes the conversion control of the motion state, and the basic process mainly comprises the motion preparation and the control of the motion process.
(1) Preparing for exercise: the method comprises the steps of A, judging the motion type and B, setting initial parameters.
A. And when the motion starts, the StaCon acquires the acceleration data Acc sent by the command decoding module DecInstr, the command speed SpdI, the displacement Dis and the direction DR sent by the motion execution control module ExeInstr and the stop mark bStp after the current segment is ended, compares the current speed Spd with the command speed SpdI, and executes the type judgment of the motion acceleration and deceleration and the judgment of whether the brake is performed or not by combining the stop mark bStp after the motion is ended.
B. Setting initial parameters, finishing the motion discrimination, sending Spd into CalCnt by StaCon, and calculating a current speed count value; and if the vehicle stops after the movement is finished, sending SpdI serving as the braking speed BrkSpd into CalDis, and calculating the braking displacement. And then, the StaCon sets a corresponding motion speed increasing and decreasing control state, an enabling driving pulse submodule CPGen and a setting motion busy sign Bsy according to the motion speed increasing and decreasing type.
(2) And (3) process control: the motion process control comprises motion end judgment and motion state conversion.
A. In the motion process, StaCon continuously samples the displacement operation submodule DisCtrl to obtain the current displacement iDisCur, the command displacement Dis is reached, the module clears the busy motion mark Bsy, and the motion is finished; if the Dis is not reached, switching to the motion state;
B. and (5) converting the motion state.
A) The control clock Ck10K outputs StaCon sampling CalCnt, obtains a count value tSpdCnt, sends the count value tSpdCnt into a driving pulse submodule CPGen as SpdCnt, and then enters state processing;
B) state processing, then, StaCon performs motion state processing.
(A) When the motion is in brake control, the acceleration selection-Acc and StaCon call a formula (10), acceleration integration is executed, the motion speed Spd is recalculated, the Spd is sent to CalCnt, and a count value tSpdCnt is calculated for the next use;
(B) the motion is in acceleration control, if Spd is smaller than SpdI, the acceleration is selected Acc, StaCon calls a formula (10), acceleration integration is executed, the speed Spd is recalculated and sent to CalCnt, and a count value tSpdCnt is calculated for the next use; if the Spd is larger than or equal to SpdI, the movement is switched to the constant speed control;
(C) the movement is in deceleration control, if Spd is larger than SpdI, the acceleration is selected to-Acc, StaCon calls a formula (10), acceleration integration is executed, the movement speed Spd is recalculated and sent to CalCnt, and a counting value tSpdCnt is calculated for the next use;
(D) if the motion is in the uniform speed control, if bStp is equal to '1' (the current motion is finished, the motion of the current axis is stopped), StaCon collects the current displacement iDisCur sent by DisCtrl, the residual displacement is less than or equal to RemDis, and the motion is switched to the brake control.
C) Speed calculation method
(A) Principle of velocity calculation
Setting speed unit 'step/s', acceleration unit 'mm/s', setting motion step equivalent of 0.01mm, integral period delta t and motion controlThe system period is chosen to be consistent, set to 10 mu s, and the velocity v at the moment k is calculated according to the formula (4)kCan be expressed as:
Figure BDA0002349318670000121
definition of integral remainder sigmaMak,sigMakIs an integral
Figure BDA0002349318670000122
For the remainder of divisor 1000, equation (6) evolves to:
Figure BDA0002349318670000123
wherein int is the rounding operation, Rm is the decimal operation, and the parameter Spd is definedk
Figure BDA0002349318670000124
Since there is no decimal value for the speed in steps/s, SpdkThe actual movement speed at time k:
Figure BDA0002349318670000125
(B) formula for calculation
Summarizing equations (6) - (9), the velocity calculation is implemented using equation (10), where the Rem () operation is a modulo 1000 operation:
Figure BDA0002349318670000126
(C) calculation process
When performing acceleration integration, first calculate sum formula sigmaMaK-1+ak-1The result of (1); is convenient to realize and is in the formula
Figure BDA0002349318670000127
Pass-sum sigmaMaK-1+ak-1The result of (d) is shifted right by 10 bits; calculating Rem (sigMa)k-1+ak-1) In time, directly taking and summing type sigmaMaK-1+ak-1The lower 10 bits of the result; 3) caldis sub-module for calculating brake displacement
The CalDis obtains that command decoding module sends out acceleration Acc and the brake speed BrkSpd that state transition control StaCon sent out calculates the brake displacement, according to equation (5), calculates brake displacement RemDis, unit: step (0.01 mm).
CalDis includes a 12-bit multiplying circuit and a 24-bit dividend, a 13-bit divisor, each. The multiplication circuit executes square operation of 12-bit speed, the speed value is 0-4000 steps/s (0-40mm/s), and 12-bit data is occupied; the division circuit realizes the division operation of the sum of the squares of the speeds of 24 bits and the acceleration of 13 bits; 1/2 in equation (5) is implemented by logical right shift, not by special de-circuitry, to save resources.
4) Calcnt sub-module for calculating velocity count
(1) Speed counting implementation principle
The motion control of the system utilizes the speed meter value to count the reference clock, and the pulse output port of the motion control motor is pulled up/cleared at fixed time, so that the pulse width and the pulse interval of equidistant driving pulses of the servo motor are realized. Assuming a speed of motion v, in units of "steps/s", the frequency f of the reference clock CLKCLKThen the speedometer value kCComprises the following steps:
kC=fcLK/2v (11)
according to the principle described in equation (11), the submodule CalCnt acquires the current speed Spd sent out by the state transition control StaCon, calculates the corresponding count value tsspdcnt, and returns it to StaCon standby. Setting the equivalent of motion step of 0.01mm and the frequency f of reference clock CLKCLKSetting 1MHz, the count tsspdcnt may be determined as:
tSpdCnt=5×105/Spd (12)
(2) implementation procedure
Calcnt calculates the velocity count value tSpdCnt by using a standard neutralization circuit with a 20-bit dividend and a 12-bit divisor, wherein the dividend is a fixed value of 5 × 10 in the above formula5The divisor is the 12-bit speed Spd.
5) Displacement operation submodule DisCtrl
The sub-module DisCtrl samples a driving pulse internal signal iCP output by the CPGen sub-module and performs counting operation on the driving pulse internal signal iCP, calculates the instant displacement iDisCur of movement, and then sends the instant displacement iDisCur into the state conversion control StaCon to realize the state control of the movement;
meanwhile, the DisCtrl calculates the current coordinate value Coor of the motion in combination with the motion direction DR sent by the motion execution control module ExeInstr, and the current coordinate value Coor is used as the output of the motion control module.
6) Drive pulse submodule CPGen
The sub-module CPGen outputs a servo motor driving pulse CP to drag the servo motor to realize movement. The CPGen receives and responds to an enabling mark CPEn sent by the state conversion control submodule StaCon, counting operation is carried out on a 1MHz reference pulse CLK, a pulse counting value SpdCnt is reached, the output of the module is inverted, and a new round of counting is restarted; the reciprocating circulation realizes the motor driving pulse.
CPGen simultaneously sends the homologous signal iCP of CP to the displacement operator module DisCtrl, and carries out displacement and coordinate calculation; StaCon monitors the displacement and coordinate operation results in time, and when the instruction displacement is reached, CPEn can be forbidden, and the current motion is finished.
4.3 spinning/spindle motion control UwJetMt (in FDM system, controlling W spindle for controlling spinning motor)
Different from XYZ-direction movement, the movement control of the spinning motor is relatively simple, acceleration and deceleration and displacement control are not required, and only the speed and direction control of the movement is required. The direction signal of the W-axis spinning motor is also given by a motion instruction and is directly output through the module ExeInstr, and the logic structure of the motion control of the W-axis spinning motor is shown in figure 6.
The control structure shown in fig. 6 realizes motor drive pulse output, and is composed of a speed count calculation sub-module CalCnt and a drive pulse sub-module CPEn, and the realization principle and function of the speed count calculation sub-module CalCnt and the drive pulse sub-module CPEn are the same as those of feed control. CalCnt obtains the W-axis movement speed Spd sent by ExeInstr, calculates a pulse count value SpdCnt and sends the pulse count value SpdCnt to a driving pulse CPGen; controlled by W-axis motion enabling signal G sent by ExeInstr, CPGen generates spinning motion driving pulse signal CP with corresponding frequency
4.4 ganged control
Through the coordination control of the module ExeInstr on the actions of UxMtDrv, UyMtDrv, UzMtDrv and UwJetMt, the linkage motion of XYZ and W axes can be realized, including the linkage motion of straight lines and curves of two axes, three axes and four axes.
4.4.1 Linear linkage
1) Data preprocessing:
when the linear linkage is executed, the embedded CPU of the lower control system calculates the speed and displacement of each linkage shaft, generates an instruction by combining an instruction format and an instruction set, and then sends the instruction to the special integrated circuit through the SPI bus.
2) Linkage execution:
an ExeInstr module of the special integrated circuit acquires instruction parameters, simultaneously resets the enabling bits of the XYZW linkage shafts in the enabling register according to the linkage shaft serial numbers, and forbids the actions of the linkage shafts; then, the ExeInstr acquires the motion direction and sets direction control signals participating in linkage of all the shafts; then, writing the ExeInstr into the speed and displacement parameters participating in linkage of each shaft according to the instruction data; and finally, the ExeInstr module simultaneously sets the enabling positions of the XYZW linkage shafts in the enabling register again to take effect of the motion parameters and start linkage motion.
3) The linkage principle is as follows:
when linkage control is executed, the control modules UxMtDrv, UyMtDrv, UzMtDrv and UwJetMt which are linked with the shafts use the same reference clock CLK with the frequency of-1 MHz, and each step of the movement motor is controlled by dividing the frequency of the CLK, so that the shafts which participate in linkage can be ensured to realize linkage displacement according to the specified speed and time, and the requirements of the speed, the displacement and the track of the linkage movement are ensured.
4) FDM linkage:
the FDM three-dimensional printing movement only has the linkage requirement of XY-direction scanning movement and is used for realizing the processing track of any angle oblique line of a two-dimensional layer scanning boundary.
When the oblique line scanning track is realized, the embedded CPU of the lower control system respectively calculates X, Y axis scanning component speed and component displacement according to the track parameter and speed data, and writes in the integrated circuit according to the instruction format; an ExeInstr module of the special integrated circuit firstly prohibits XY motion and acquires and sets XY direction signals; then, writing the speed and displacement of XY respectively; finally, the ExeInstr simultaneously starts the XY movement again, namely, the arbitrary angle oblique line scanning of XY is realized.
4.4.2 spatial curvilinear motion
The three-dimensional curve motion of the numerical control system requires linkage of multiple motion shafts, and the realization of the linkage is more complex than linear linkage. Because the calculation of the three-dimensional curve parameters is involved, the operation speed and the complexity are high, and the participation of a PC (personal computer) of an upper control system is required. The three-dimensional curvilinear motion trail is realized by the linear approximation of a plurality of sections of spaces, namely, the coarse interpolation and the fine interpolation.
1) Data preprocessing:
when the rough interpolation is executed, the industrial PC of the upper control system executes discretization operation on the space curve by combining the control precision, the space curve is discretized into a series of space straight-line segments, parameters such as the motion speed, the displacement, the direction and the like of each axis are respectively calculated, a series of space straight-line motion commands are formed according to the command format, and the so-called rough interpolation is completed.
Then, through high-speed data communication, the industrial PC sends a series of spatial linear motion commands to the lower control system, and the lower control system realizes spatial curvilinear motion, so-called "fine interpolation".
2) Linkage execution:
through the SPI bus, the embedded CPU of the lower control system continuously sends the received serial linear motion commands to the special integrated circuit and stores the serial linear motion commands into a command queue mInstr. Responding to the control clock Ck10K, the ExeInstr reads mInstr to obtain a linear motion command sequence, and executing each linear motion command one by one according to the motion sequence of the motion axis forbidding, the motion parameter writing and the motion axis restarting, namely realizing the preset space curvilinear motion, namely 'fine interpolation'.
5. Filament temperature heating and acquisition control
The silk temperature control is realized by a silk temperature control algorithm of a lower control system, silk temperature heating control and silk spraying temperature acquisition control. When the spinning temperature control is executed, an embedded CPU of the lower control system collects spinning temperature at fixed time, calculates temperature deviation according to the set spinning temperature, calls a spinning temperature control algorithm to calculate the duty ratio of a heating control PWM signal, calculates the pulse width and the pulse interval count value of the PWM by combining a 1MHz reference clock, sends the pulse width and the pulse interval count value into a special integrated circuit, outputs corresponding PWM control signals, and drives corresponding circuits to heat and spin, so that the corresponding spinning temperature is realized.
5.1 filament temperature heating and analog output control
The filament temperature heating and analog quantity output control realizes the control of the filament spraying heating power through a PWM output control module U1 PwmDrv. And the U1PwmDrv receives a PWM waveform pulse width count value wDur, an inter-pulse count value wInt and an enable control signal EnPWM sent by the instruction decoding DecInstr module, outputs a signal PWM and controls spinning heating.
When the spinning heating operation is executed, the SPI respectively sends a PWM pulse width setting instruction and an inter-pulse setting instruction to the special integrated circuit, and sets PWM pulse width and inter-pulse parameters; then, setting a PWM enabling bit EnPWM and starting a PWM output control module U1 PwmDrv; u1PwmDrv responds and performs pulse width/pulse width counting on 1MHz reference clock CLK, the counting value reaches wDur/wInt, U1PwmDrv inverts an output port signal PWM and shifts to pulse width/pulse width counting; the above steps are repeated in a circulating way to realize a preset PWM waveform, and an external heating circuit is dragged to realize the control of the spinning heating power.
The PWM output control module U1PwmDrv can also be used for control of a cutting spindle motor or the like, the rotation speed or other control quantity being regulated by a duty ratio.
5.2 filament temperature acquisition and analog input control
The wire temperature collection is realized through an analog input control module U0MaxDrv, the external AD device facing the control surface is a typical 12-bit AD conversion device ADS7816, and the control time sequence of the device is shown in figure 7.
When the wire temperature acquisition is executed, the temperature sensor sends standard 5v temperature acquisition amount or other analog amount to the ADS7816, and the acquisition and conversion of the temperature/analog amount are completed by the acquisition and conversion control U0MaxDr of the special integrated circuit.
U0MaxDrv receives an enable control signal EnAd sent by the instruction decoding DecInstr, outputs mCS and mSK, starts ADS7816 to execute analog-to-digital conversion and transmits data according to the protocol shown in FIG. 7;
after the conversion is finished, the ADS7816 responds to the data clock mSK sent by the U0MaxDrv, and sends the collected data to the DM end of the U0MaxDrv module in order according to bits; u0MaxDrv obtains each data bit according to mSK sampling DM port, and sends the data into wData;
and finally, the SPI sends an analog quantity acquisition instruction, the instruction decoding module DecInstr acquires the acquired data wData, sends the acquired data wData to the SpiRd through the buffer TBuf, and the SpiRd sends the data to the embedded CPU of the lower control system.
6. Motion execution control exelnstr
The XYZ-direction feeding motion, the W-direction spinning motion and the coordination control of the three-dimensional printing are realized by executing and controlling ExeInstr through motion instructions. When the system is executed to move, the ExeInstr acquires an instruction from the instruction queue mInstr, corrects the queue read pointer pRd and the queue empty mark QueE, acquires and distributes motion parameters, and coordinates and controls the XYZW to execute corresponding motion to the motion control module. The read pointer pRd and the write pointer pWr of the queue mInstr respectively point to 1 word (2 bytes) of data, and the working timing of the module ExeInstr is shown in FIG. 8.
FIG. 8 is a control sequence including XYZW four-axis linkage commands, where the whole control cycle includes a waiting period tWMoving axis and direction setting period tC0Parameter setting period t of 1 st-4 th movement axisC1-tC5;tC1-tC4Sequentially corresponding to the control period of the XYZW axis, and divided into a speed setting period tspdDisplacement setting period tdis. Considering the capacity of the instruction queue, discontinuous writing of the same instruction should be allowed, for example, when the mlstr is full and an instruction is not written, the system is allowed to wait until the queue is not full, and then write the remaining instruction parameters; at this time, one or more t s need to be inserted between different parameter setting periodsWAnd waiting for a period.
In the system operation process, the module ExeInstr responds to the reference clock CLK and executes the operation timing sequence shown in fig. 8; CLK till, ExeInstr searches an XYZ direction motion busy mark Bsy and an instruction queue mInstr empty mark QueE; QueE or Bsy mark in any direction is set, and ExeInstr is inserted into a waiting period tW;QueBsy marks in the E direction and the XYZ direction are both '0', and the ExeInstr reads mInstr queue data of 1 word (2 bytes) and executes a period tax-drAcquiring the enabling condition of the movement axis of 1 byte and the direction of the movement axis of 1 byte; then, the ExeInstr module searches the enabling conditions of the XYZW axis from low to high in sequence according to the data bit sequence of the enabling condition bytes of the motion axis according to the instruction format, pulls down the enabling mark En participating in each motion axis in the instruction, prohibits the motion axis of the instruction from acting, and prepares to write in motion parameters; then, the ExeInstr module sequentially retrieves the motion directions of the XYZW axes from low to high according to the data bit sequence of the motion direction bytes and outputs the corresponding motion directions DR according to the instruction format; then, the ExeInstr adds one to the read pointer pRd of the queue mInstr, and compares the read-write pointer pWr with pRd; setting an empty mark QueE of the mInstr when the mInstr and the mInstr are equal, and emptying queue data; otherwise, no processing is performed; finally, ExeInstr waits for the next CLK clock to enter the motion parameter settings for each axis.
When the motion parameter setting of each axis is executed, the ExeInstr responds to the clock CLK and enters the period t in sequenceC1-tC4Setting the parameter settings of 1 st-4 th movement axes and 4 maximum movement axes. Enter tC1T ofspdPeriod, if QueE is set, insert wait period tW(ii) a Otherwise, the ExeInstr searches the D0 bit (X enable bit) of the instruction enable status byte, if the instruction enable status byte is '1', reads 2 bytes of mInstr data, and feeds the data into the X speed Spd; then, adding one to the reading pointer pRd, comparing with pWr and modifying the null mark QueE to complete the X speed setting; then, wait for CLK and enter X shift setting tdis(ii) a The X enable bit is '0', directly enters the X displacement setting tdis. Enter tC1T ofdisPeriod, QueE set, insert tW(ii) a On the contrary, the ExeInstr acquires the D0 bit (X enable bit) of the enable status byte, and if the enable status byte is '1', 2 bytes of mInstr data are taken to be sent into the X displacement Dis; then adding one to the reading pointer pRd, comparing with pWr and modifying the empty mark QueE to complete the setting of X displacement; then, wait for CLK and enter tC2(ii) a The X enable bit is '0', and the period t is directly enteredC2And setting Y-axis parameters.
The Y, Z axis parameter set is similar to the X axis and will not be described in detail herein.After the parameter setting in the XYZ axis is completed, ExeInstr enters the W axis parameter setting. At this time, the ExeInstr responds to the CLK, and the parameter setting of all the motion axes is completed by writing the W-axis motion speed. Then, ExeInstr enters tC5And a parameter validation period. When the CLK comes again, ExeInstr sets the enable bit of each motion axis of XYZW, i.e., activates the motion axis, according to the motion axis enable status byte of the instruction, and executes the predetermined instruction. After that, the ExeInstr enters a waiting state, the busy flag of the XYZ axis is adopted according to the timing of CLK, and when all the busy flag is idle, the ExeInstr reads the queue mInstr again, acquires and executes a new instruction.
In the system operation process, the module ExeInstr continuously monitors the queue write pointer pWr, a new motion instruction or instruction data is written in, pWr changes, and the ExeInstr immediately clears the empty flag QueE to prepare for instruction reading and execution.
7. Other controls
Other controls include SPI read SpiRd, SPI write SpiWr, command decode DecInstr, switching value output DigOutP, switching value input DigInP, motion command queue mis.
1) SPI read control SpiRd
The SPI read module SpiRd performs parallel-to-serial conversion, responds to the serial data clock SCK, and sequentially sends the 16-bit data of the integrated circuit transmission buffer to the SPI data terminal MISO in the order from high to low for retrieval by the embedded CPU of the lower control system.
When the read operation is executed, the embedded CPU needs to send out the instruction code and the byte 1 according to the instruction, and then sends out any data again, that is, the data requested by the instruction is received in the receiving buffer of the SPI.
2) SPI write control SpiWr
The SPI write module SpiWr performs serial-to-parallel conversion, responds to the serial data clock SCK, and sequentially receives data from the SPI data terminal MOSI in order from high to low, forming 16-bit parallel data.
The SPI writing SpiWr default system of the system takes the high 8 bits of the 16-bit data written by the system for the first time as instruction codes, and judges whether the parameter number, the parameter serial number and the parameter writing are finished or not according to the instruction codes and an instruction set; parameter write is completed, SpiWr again turns into instruction cycle, waits for new instruction 3) instruction decode DecInstr
And the command decoding DecInstr acquires a command Cmd, a parameter serial number Dindx and command data Dinst which are sent out by the SPI write control SpiWr, and sends parameters into and starts a corresponding control module according to the command Cmd to realize a command.
(1) The command is a command of switching value input, state acquisition, analog quantity acquisition, coordinate acquisition and the like, and the DecInstr sends the corresponding switching value input, state acquisition, analog quantity input and coordinate register content to a sending buffer TBuf of the SPI after sending out a command code byte of the SPI and before finishing sending byte 1. Then, the SPI sends xxxxxxh (i.e., any 16-bit data), SpiRd changes Tbuf from high to low, and in response to the data clock, sends Tbuf bits to MISO in sequence, and then to the embedded CPU of the lower control system.
(2) The command is a switching value output command, an enabling operation command, a PWM pulse width/pulse width setting command, an acceleration setting command and the like, the DecInstr obtains a command code and command parameters and sends the command parameters to a corresponding switching value output port, an enabling zone bit, a pulse width/pulse width parameter register and an acceleration register.
(3) Acquiring analog inputs requires multiple instructions to implement. At this time, the enabling operation is firstly executed, the AD acquisition and conversion control module U0MaxDrv is forbidden to act, then the module U0MaxDrv is enabled again, a control signal waveform conforming to the time sequence of an ADS7816 device is output, the external analog quantity of the conversion is acquired, and the conversion data is obtained; and then, executing a state acquisition instruction to acquire the busy state of the U0MaxDrv, finishing the conversion if the U0MaxDrv is not busy, and acquiring conversion data through an analog quantity acquisition instruction.
(4) Receiving a motion instruction, storing an instruction code and parameter bytes into a motion instruction queue mInstr according to word sequence by a module DecInstr, calculating a write pointer pWr, comparing the write pointer with a read pointer pRd, equaling, and setting an mInstr full mark QueF; meanwhile, the instruction decoding module DecInstr monitors the read pointer pRd, and immediately clears the full flag QueF once a read operation occurs.
4) Switching value output DigOutP: DigOutP receives a start signal EnDO sent by the instruction decoding module DecInstr and output data DObuf, wherein EnDO is high, and sends DObuf data out of the switching value output port DO.
5) Switching value input DigInP: DigInP receives a start signal EnDI sent by the command decoding module DecInstr and an external input DI, EnDI is high, and DigInP sends 16-bit DI data to DIbuf and enters the DecInstr module.
6) Motion instruction queue mlstr: mInstr is a 20-byte FIFO circuit, and the write operation is performed by instruction DecInstr, which includes the operations of full flag QueF and write pointer pWr; the read operation is performed by the motion execution module exelnstr, which includes the operation of the empty flag QueE and the write pointer pRd.
8. Construction of FDM-oriented economic numerical control system
By adopting the method, an economical numerical control system represented by FDM processing can be realized, and the economical numerical control system comprises an FDM processing system, an SLA processing system and the like.
1) The system structure is as follows: the functional structure of fig. 1 and the implementation structure shown in fig. 2 are adopted.
2) An instruction system: the basic instruction format and instruction set described above are used.
3) An upper control system: the method is realized by combining a standard PC system with FDM or other special data processing software processed in the same type, and after the processing is finished, the instruction data is transmitted to a lower control system through high-speed communication (generally adopting a high-speed serial port) according to the requirement of an instruction system.
4) Printing/processing movement: the method comprises the steps of three-dimensional printing scanning, stacking, spinning and other economic numerical control feeding motions, wherein the scanning is realized through an XY-direction servo system and a control module, the stacking/Z-direction feeding is realized through a Z-direction servo system and a control module, and the spinning motion is realized through a W-direction servo system and a control module.
5) And (3) spinning, heating and collecting: comprises heating the filament temperature and collecting and controlling the filament temperature. The wire temperature heating controls the on-off of the heating circuit through the PWM control module and the heating circuit, and power control is achieved. The silk temperature or other collection is realized by the silk temperature collection and analog quantity input control module.
6) A lower control system: the method is realized by a standard embedded system and a special control program. When printing and processing, the special control program drives the filament temperature acquisition module to acquire the filament spraying temperature at regular time, calculates the temperature deviation, and calculates the PWM duty ratio of filament spraying heating control through a PID algorithm to realize filament spraying temperature control. And receiving the instruction, and writing the parameters into the special integrated circuit to realize processing. The lower control system collects coordinates, temperature, travel or other analog quantity and switching value at regular time and sends the coordinates, temperature, travel or other analog quantity and switching value to a standard PC through high-speed communication to realize display updating.
7) Application specific integrated circuit: receiving control instructions of spinning heating, temperature acquisition, scanning, spinning, stacking movement and the like sent by a standard embedded system, outputting signals of a motor, acquisition control, heating control PWM and the like, and driving an execution component to realize corresponding functions; meanwhile, information such as coordinates, temperature and the like is collected, a request of a standard embedded system is responded, and corresponding data information is sent out.
8) Inputting switching values such as travel: the method is realized through a switching value input module.
In combination with other processing technologies, other types of three-dimensional printing systems can be constructed, for example, the W-axis spinning is used for controlling the ejection of the binder, and the three-dimensional bonding forming of powder can be realized; the SLA can be achieved by using the W-axis direction control for the on-off control of the ultraviolet light or laser. When the method is used for realizing other three-dimensional printing, the reconstruction of the system is realized by combining and changing the corresponding data processing program.

Claims (5)

1. A motion control method of a multi-axis linkage economical numerical control system, wherein X, Y, Z and W-direction motion of a controlled object are dragged by a motion motor, and the method is characterized in that the driving mode of the motion motor is a mode of combining instruction pulses with direction signals;
when the driving mode of the motion motor is an instruction pulse mode, the driving signal of the motion motor comprises a driving pulse signal and a direction control signal; the frequency of the driving pulse determines the rotating speed of the motion motor, and the higher the pulse frequency is, the faster the rotating speed is; the lower the frequency, the slower the rotation speed; the rotating angle of the moving motor is controlled by the number of the command pulses, and the larger the number of the command pulses is, the larger the rotating angle of the moving motor is;
the level state of the direction signal determines the rotation direction of the motion motor, and controls the motion motor to realize the rotation motion in the anticlockwise or clockwise direction;
x, Y, Z or W, the motion control includes:
1) acceleration and deceleration control
X, Y, Z or W direction feed movement is realized by trapezoidal curve acceleration and deceleration:
assuming an acceleration value a of the feed motionMCommand velocity vMThe initial speed value is "0";
according to the speed change characteristics, the whole process of trapezoidal acceleration and deceleration is divided into 3 processes of acceleration section, uniform speed section and deceleration section, which respectively correspond to 0-t0、t0-t1And t1-t2A time period; assuming that the acceleration and the velocity at the time t are a (t) and v (t), respectively, the acceleration a (t) at the time t is:
Figure FDA0002349318660000011
the velocity v (t) at time t is:
Figure FDA0002349318660000012
assuming an initial velocity v of the movement0The velocity v (t) can also be described as:
Figure FDA0002349318660000013
assuming that the sampling time of the system is delta t, and the speed and the acceleration at the moment k are respectively set as vk、akVelocity v at time kkDiscretization is as follows:
Figure FDA0002349318660000014
calculating the instantaneous acceleration and speed of each movement moment according to formulas (1) and (4); then, calculating a corresponding driving pulse count value according to the instantaneous speed, and generating a driving pulse of a movement motor according with the movement speed and the displacement, so that the speed and the displacement control of the movement in the corresponding direction can be realized;
2) feed motion control strategy
2.1) motion analysis and planning
Assuming a current speed v of the feed motion, the commanded speed vMAccording to v and vMThe comparison relationship of (a) and whether the next section of the current direction movement continues, the feed movement of the X, Y, Z shaft is divided into 4 types: respectively designing control strategies for the acceleration ending movement, the deceleration ending movement, the acceleration continuous movement and the deceleration continuous movement;
(1) acceleration ending exercise
① motion characteristic that A is the current speed v less than or equal to the command speed vM(ii) a B. When the current movement is finished, the direction movement is stopped; C. the movement comprises 3 movement sections of speed raising, uniform speed and braking;
② planning the movement speed and displacement according to the movement segment of the feed;
A. in the speed raising stage, acceleration integral is executed at regular time, the instant speed and the speed count value are calculated, and the corresponding driving pulse is output until the command speed vM
B. Uniform velocity segment according to vMCalculating brake displacement, keeping the speed unchanged, collecting displacement at fixed time, and entering a brake section when the brake displacement arrives;
C. a brake section for executing acceleration integration at regular time, calculating speed and count value, and outputting drive pulse until reaching target displacement;
(2) deceleration ending exercise
① motion characteristic that A, the current speed v is more than or equal to the instruction speed vM(ii) a B. When the current movement is finished, the direction movement is stopped; C. the movement comprises 3 movement sections of speed reduction, uniform speed and braking;
② planning the movement speed and displacement according to the movement segment of the feed;
A. in the speed reduction stage, acceleration integral is executed at regular time, instant speed and speed count value are calculated, and corresponding driving pulse is output until the command speed vM
B. Uniform velocity segment according to vMThe brake displacement is calculated, the speed is not changed,the displacement is collected at regular time, the brake displacement is up, and the brake section is entered;
C. a brake section for executing acceleration integration at regular time, calculating speed and count value, and outputting drive pulse until reaching target displacement;
(3) speed-up continuous motion
① motion characteristic that A is the current speed v less than or equal to the command speed vM(ii) a B. When the current movement is finished, the direction movement is continued; C. the motion comprises 2 motion segments with ascending speed and uniform speed;
② planning the movement speed and displacement according to the movement segment of the feed;
A. in the speed raising stage, acceleration integral is executed at regular time, the instant speed and the speed count value are calculated, and the corresponding driving pulse is output until the command speed vM
B. In the constant speed section, displacement is collected at regular time until the target displacement;
(4) reduced speed continuous motion
① motion characteristic that A, the current speed v is more than or equal to the instruction speed vM(ii) a B. When the current movement is finished, the direction movement is continued; C. the motion comprises 2 motion segments with reduced speed and uniform speed;
② planning the movement speed and displacement according to the movement segment of the feed;
A. in the speed reduction stage, acceleration integral is executed at regular time, the instant speed and the count value are calculated, and the corresponding driving pulse is output until the command speed vM
B. In the constant speed section, displacement is collected at regular time until the target displacement;
2.2) feed control strategy
A. Related concepts
Braking speed: speed of system during brake actuation
Brake displacement: when braking is carried out, the movement is reduced from the braking speed to the speed 0, and displacement is generated in the period; assuming a brake velocity value vBRKThen according to the parameter curve of trapezoidal acceleration and deceleration, the brake displacement sBRKComprises the following steps:
Figure FDA0002349318660000021
the essence of the brake displacement is the remaining unfinished displacement of the current movement when the system executes the brake operation;
B. preparing for exercise: obtaining motion parameters, judging whether the motion in the direction is stopped or not after the current motion is finished, stopping the motion, and obtaining an instruction speed vMAnd calculating the brake displacement as the brake speed; if the motion is continued, the brake displacement calculation is not executed; comparing the current velocity v with the command velocity vMJudging the speed rising/falling type, determining the acceleration a and the speed rising segment value aMValue of-a at the speed reduction stageMEntering corresponding speed rising/falling control;
C. controlling the ascending/descending speed: executing trapezoidal acceleration integral at fixed time, calculating instantaneous speed and speed count value, and outputting drive pulse until command speed vM
D. Uniform speed control: if the direction movement stops after the current movement is finished, the system collects displacement at fixed time, and enters brake control after reaching the brake position; if the direction movement continues after the current movement is finished, acquiring displacement at fixed time until the displacement is instructed;
E. brake control, acceleration a taking the value-aMExecuting acceleration integration at fixed time, calculating speed and speed count value, and outputting driving pulse until command displacement;
F. abnormal control, namely, achieving command displacement, prohibiting system output and ending movement no matter what control mode is adopted; during acceleration control, the command displacement 1/2 is reached, and the system enters brake control;
the W-direction motion only has speed control and no displacement or rotation angle control.
2. The motion control method according to claim 1, wherein the motion motor is a servo motor.
3. The motion control method according to claim 1, wherein the velocity calculating method is:
a. principle of velocity calculation
Setting the speed unit 'step/s', the acceleration unit 'mm/s', andstep equivalent of fixed motion is 0.01mm, integration period delta t is consistent with motion control period selection and is set to be 10 mu s, and according to formula (4), velocity v at moment kkCan be expressed as:
Figure FDA0002349318660000022
definition of integral remainder sigmaMak,sigMakIs an integral
Figure FDA0002349318660000023
For the remainder of divisor 1000, equation (6) evolves to:
Figure FDA0002349318660000031
wherein int is the rounding operation, Rm is the decimal operation, and the parameter Spd is definedk
Figure FDA0002349318660000032
Since there is no decimal value for the speed in steps/s, SpdkThe actual movement speed at time k:
Figure FDA0002349318660000033
b. formula for calculation
Summarizing equations (6) - (9), the velocity calculation is implemented using equation (10), where the Rem () operation is a modulo 1000 operation:
Figure FDA0002349318660000034
c. the speed counting calculation implementation method comprises the following steps:
the speed counter value is used for counting the reference clock, the pulse output port of the motor is controlled by timing pull-up/zero clearing movement, and the pulse width and the pulse interval of equidistant driving pulses of the servo motor are realized(ii) a Assuming a speed of motion v, in units of "steps/s", the frequency f of the reference clock CLKCLKThen the speedometer value kCComprises the following steps:
kC=fCLK/2v (11)
according to the principle of the formula (11), CalCnt acquires the current speed Spd sent by the state transition control StaCon, calculates the corresponding count value tSpdCnt, and returns the count value tSpdCnt to the StaCon for standby; setting the equivalent of motion step of 0.01mm and the frequency f of reference clock CLKCLKSetting 1MHz, determining the count value tsspdcnt as:
tSpdCnt=5×105/Spd (12) 。
4. the motion control method according to claim 1, wherein the linked motion of the X, Y and Z, W axes is realized by coordinating the X, Y and Z, W motions, the linked motion comprises a linear linked motion and a curved linked motion of each axis:
1) the step of linear linkage comprises:
1.1) data preprocessing:
firstly, calculating the speed and displacement of each shaft;
1.2) linkage execution:
firstly, forbidding the action of each linkage shaft according to the serial number of the shaft participating in linkage;
then, setting direction signals of all shafts participating in linkage according to the movement direction;
then, acquiring speed and displacement parameters of the shafts participating in linkage;
finally, starting each shaft participating in linkage, taking the direction, speed and displacement parameters of the corresponding shaft into effect, and starting linkage movement;
1.3) linkage principle:
when linkage control is executed, the same reference clock CLK is used for each linkage shaft, each step of action of the motion motor is controlled by frequency division of the CLK, linkage displacement of each shaft participating in linkage is guaranteed according to the designated speed, and therefore the requirements of speed, displacement and track of linkage motion are guaranteed;
1.4) realizing multi-axis linkage:
for the motion with the requirement of XYZW direction linkage, the processing track of three-dimensional printing of a two-dimensional layer scanning boundary or an economical numerical control space oblique line at any angle is realized; when the spatial diagonal scanning track is realized, firstly, the scanning component speed and component displacement of an X, Y, Z, W axis are calculated; then:
firstly, inhibiting X, Y, Z, W movement, acquiring and setting XYZW direction signals;
then, the speed and displacement of X, Y, Z and the speed of W are obtained and set;
finally, X, Y, Z, W axes are started again at the same time, and any angle oblique line motion of X, Y, Z, W is executed;
2) curvilinear linkage motion
The three-dimensional curve motion track is realized by multi-section space linear approximation, namely coarse interpolation and fine interpolation;
2.1) data preprocessing:
when coarse interpolation is executed, firstly, discretization operation is executed on a space curve in combination with control precision, and the three-dimensional curve is discretized into a series of space straight-line segments; aiming at the space straight-line segments, respectively calculating the motion speed, displacement and direction parameters of each axis for each straight-line segment; based on the parameters, controlling each axis participating in linkage, and sequentially realizing the linear motion, thereby completing three-dimensional curvilinear motion and finishing fine interpolation;
2.2) linkage execution:
firstly, prohibiting the movement of a shaft participating in linkage;
then, acquiring speed, displacement and direction parameters of the shaft participating in linkage;
and finally, simultaneously starting the shafts participating in linkage, and executing the motion of each straight line segment by segment according to corresponding speed, displacement and direction parameters.
5. The motion control method according to claim 1, wherein the motion control of X, Y, Z and W is coordinated by a module ExeInstr;
the ExeInstr acquires an instruction from an instruction queue mInstr, corrects a queue read pointer pRd and a queue empty mark QueE, acquires and distributes motion parameters, and coordinately controls XYZW to execute corresponding motion to a motion control module;
the read pointer pRd and the write pointer pWr of the queue mlstr respectively point to 1 word (2 bytes) of data;
the whole control period of the XYZW four-axis linkage instruction comprises a waiting period tWMoving axis and direction setting period tC0Parameter setting period t of 1 st-4 th movement axisC1-tC5;tC1-tC4Sequentially corresponding to the control period of the XYZW axis, and divided into a speed setting period tspdDisplacement setting period tdis
Allowing discontinuous writing of the same instruction, requiring the insertion of one or more t between different parameter setting cyclesWA waiting period;
responding to a reference clock CLK and CLK by ExeInstr, and searching an XYZ direction motion busy mark Bsy and an instruction queue mInstr empty mark QueE by the ExeInstr;
QueE or Bsy mark in any direction is set, and ExeInstr is inserted into a waiting period tW
The Bsy marks of the QueE and the XYZ directions are both '0', the ExeInstr reads the mInstr queue data of the 1 word, and the execution cycle tax-drAcquiring the enabling condition of the movement axis of 1 byte and the direction of the movement axis of 1 byte;
then, according to the instruction format, the ExeInstr sequentially searches the enabling conditions of the XYZW axis from low to high according to the data bit sequence of the enabling condition bytes of the motion axis, pulls down the enabling mark En participating in each motion axis in the instruction, inhibits the motion axis from acting, and prepares to write in the motion parameters;
then, the ExeInstr module sequentially retrieves the motion directions of the XYZW axes from low to high according to the data bit sequence of the motion direction bytes and outputs the corresponding motion directions DR according to the instruction format;
then, the ExeInstr adds one to the read pointer pRd of the queue mInstr, and compares the read-write pointer pWr with pRd; setting an empty mark QueE of the mInstr when the mInstr and the mInstr are equal, and emptying queue data; otherwise, no processing is performed;
finally, ExeInstr waits for the next CLK clock to enter the motion parameter settings for each axis.
ExeInstr response clock when executing motion parameter setting of each axisCLK sequentially entering a period tC1-tC4And setting parameters of 1 st to 4 th movement axes up to 4. Enter tC1T ofspdPeriod, if QueE is set, insert wait period tW(ii) a Otherwise, the ExeInstr searches the D0 bit of the instruction enable status byte, namely the X-direction enable bit, if the instruction enable status byte is '1', reads 2 bytes of mInstr data, and sends the data into the X speed Spd; then, adding one to the reading pointer pRd, comparing with pWr and modifying the null mark QueE to complete the X speed setting; then, wait for CLK and enter X shift setting tdis(ii) a The X enable bit is '0', directly enters the X displacement setting tdis(ii) a Enter tC1T ofdisPeriod, QueE set, insert tW(ii) a On the contrary, the ExeInstr acquires the D0 bit of the enabling status byte, and if the enabling status byte is '1', 2 bytes of mInstr data are taken and sent into the X displacement Dis; then adding one to the reading pointer pRd, comparing with pWr and modifying the empty mark QueE to complete the setting of X displacement; then, wait for CLK and enter tC2(ii) a The X enable bit is '0', and the period t is directly enteredC2Setting Y-axis parameters;
y, Z axis parameter settings are similar to the X axis;
after the parameter setting of the XYZ axis is completed, the ExeInstr enters the W axis parameter setting:
responding to CLK by the ExeInstr, and writing the W-axis motion speed to complete the parameter setting of all motion axes;
then, ExeInstr enters tC5A parameter validation period; when the CLK comes again, the ExeInstr sets the enabling bit of each motion axis of the XYZW according to the enabling status byte of the motion axis of the instruction, namely, starts the motion axis and executes a preset instruction;
then, the ExeInstr enters a waiting state, a busy mark of an XYZ axis is adopted according to the timing of CLK, and when all the busy marks are idle, the ExeInstr reads the queue mInstr again to obtain and execute a new instruction;
ExeInstr continuously monitors the queue write pointer pWr, new motion instructions or instruction data are written, pWr changes, ExeInstr immediately clears the empty flag QueE, and instruction reading and execution are prepared.
CN201911408466.4A 2019-12-31 2019-12-31 Motion control method of multi-axis linkage economic numerical control system Active CN110879568B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911408466.4A CN110879568B (en) 2019-12-31 2019-12-31 Motion control method of multi-axis linkage economic numerical control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911408466.4A CN110879568B (en) 2019-12-31 2019-12-31 Motion control method of multi-axis linkage economic numerical control system

Publications (2)

Publication Number Publication Date
CN110879568A true CN110879568A (en) 2020-03-13
CN110879568B CN110879568B (en) 2023-05-23

Family

ID=69731661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911408466.4A Active CN110879568B (en) 2019-12-31 2019-12-31 Motion control method of multi-axis linkage economic numerical control system

Country Status (1)

Country Link
CN (1) CN110879568B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113110304A (en) * 2021-03-13 2021-07-13 无锡信捷电气股份有限公司 Multi-channel sport
CN113867423A (en) * 2021-09-07 2021-12-31 北京特种机械研究所 Servo turntable azimuth angle tracking control method and device

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4287461A (en) * 1979-12-06 1981-09-01 International Business Machines Corporation Motor driving system
JPH02106187A (en) * 1988-10-12 1990-04-18 Matsushita Electric Ind Co Ltd Multi-shaft synchronous driving gear
CN102193530A (en) * 2010-03-10 2011-09-21 中国科学院自动化研究所 Numerical control system and control method based on dual-core architecture teamwork
CN102354153A (en) * 2011-08-31 2012-02-15 北京配天大富精密机械有限公司 Machine inching control system and method and numerical control machine
WO2013102338A1 (en) * 2012-01-05 2013-07-11 Jiang Junfeng Method for synchronizing starting point and end point in open numerical control system, and servo drive
CN103713660A (en) * 2013-12-12 2014-04-09 南京工程学院 Control circuit for realizing S curve acceleration and deceleration of motion control system
CN103713581A (en) * 2013-12-12 2014-04-09 南京工程学院 Method for realizing S curve acceleration and deceleration of motion control system
CN204576209U (en) * 2015-01-29 2015-08-19 浙江师范大学 A kind of linear acceleration and deceleration control device based on programmable logic device (PLD)
CN106426941A (en) * 2016-11-18 2017-02-22 中南大学 Orthogonal decomposition motion control method and device for extrusion head of 3D printing machine
US20180093420A1 (en) * 2016-09-30 2018-04-05 Robert Robert Olson Calibrated 3-D Printing
CN108819228A (en) * 2018-08-17 2018-11-16 南京工程学院 A kind of FDM 3 D-printing control system
CN110465422A (en) * 2019-08-29 2019-11-19 内蒙古大学 A kind of flush coater kinetic control system and its motion control method based on FPGA

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4287461A (en) * 1979-12-06 1981-09-01 International Business Machines Corporation Motor driving system
JPH02106187A (en) * 1988-10-12 1990-04-18 Matsushita Electric Ind Co Ltd Multi-shaft synchronous driving gear
CN102193530A (en) * 2010-03-10 2011-09-21 中国科学院自动化研究所 Numerical control system and control method based on dual-core architecture teamwork
CN102354153A (en) * 2011-08-31 2012-02-15 北京配天大富精密机械有限公司 Machine inching control system and method and numerical control machine
WO2013102338A1 (en) * 2012-01-05 2013-07-11 Jiang Junfeng Method for synchronizing starting point and end point in open numerical control system, and servo drive
CN103713660A (en) * 2013-12-12 2014-04-09 南京工程学院 Control circuit for realizing S curve acceleration and deceleration of motion control system
CN103713581A (en) * 2013-12-12 2014-04-09 南京工程学院 Method for realizing S curve acceleration and deceleration of motion control system
CN204576209U (en) * 2015-01-29 2015-08-19 浙江师范大学 A kind of linear acceleration and deceleration control device based on programmable logic device (PLD)
US20180093420A1 (en) * 2016-09-30 2018-04-05 Robert Robert Olson Calibrated 3-D Printing
CN106426941A (en) * 2016-11-18 2017-02-22 中南大学 Orthogonal decomposition motion control method and device for extrusion head of 3D printing machine
CN108819228A (en) * 2018-08-17 2018-11-16 南京工程学院 A kind of FDM 3 D-printing control system
CN110465422A (en) * 2019-08-29 2019-11-19 内蒙古大学 A kind of flush coater kinetic control system and its motion control method based on FPGA

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
张;: "MCX314As型四轴运动控制器的原理及应用", 国外电子元器件 *
张博等: "基于FPGA的多轴联动专用控制电路设计", 《南京工程学院学报(自然科学版)》 *
李嘉平: "3D打印控制算法研究及实验仿真", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 *
葛红宇: "《电子设计自动化(EDA)技术》", 30 June 2017 *
葛红宇;罗茂炫;张建华;安仲帅;邢跃进;: "3D打印嵌入式工业控制系统硬件设计", 工业控制计算机 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113110304A (en) * 2021-03-13 2021-07-13 无锡信捷电气股份有限公司 Multi-channel sport
CN113867423A (en) * 2021-09-07 2021-12-31 北京特种机械研究所 Servo turntable azimuth angle tracking control method and device
CN113867423B (en) * 2021-09-07 2023-12-19 北京特种机械研究所 Servo turntable azimuth angle tracking control method and device

Also Published As

Publication number Publication date
CN110879568B (en) 2023-05-23

Similar Documents

Publication Publication Date Title
CN111026041B (en) Reconfigurable system and reconfigurable method for multi-axis linkage numerical control
CN110879568B (en) Motion control method of multi-axis linkage economic numerical control system
CN110465422B (en) FPGA-based spraying machine motion control system and motion control method thereof
CN104786221B (en) A kind of open method for controlling robot based on Ethernet
CN103676787B (en) A kind of center of circle model space circular interpolation method for kinetic control system
CN112327954B (en) High-precision positioning method for linear motor controlled by asymmetric S-shaped speed curve
CN103576614A (en) Multi-axis motion control system
CN1848011A (en) Numerical controller
CN106020122B (en) Digital controlled tracing control method based on Newton iteration
CN103744346A (en) Electronic cam curve generation method
CN105892412A (en) Multi-axis motion control hardware configuration based on custom bus
CN106584861B (en) A kind of trapezoidal rate curve control system of 3D printer extruder head
CN105824270A (en) Multi-shaft motion controller and control method of closed-loop PWM pulse
CN110879563A (en) Control circuit of multi-axis linkage economical system and application of control circuit in FDM (frequency division multiplexing) -oriented system
CN108829032B (en) Interpolation method for high-precision control
CN108508857B (en) Multi-axis linkage control method and device
CN112925268B (en) High-performance cutting bed motion control system based on FPGA
CN105929796B (en) The small line segment interpolation coprocessor of three-axis numerical control system high-speed high-precision and its operation method
CN101349907B (en) Numerical control system and method for optimizing data stream
CN110244660B (en) peripheral configurable CT/PET-CT motion control system
CN109093624B (en) Continuous interpolation motion control method for complex curve of mechanical arm
CN103926877B (en) A kind of multi-axis linkage numerical control system and its processing method
CN106444636A (en) Speed planning parameter selection method suitable for continuous mixing curve
CN110543095A (en) Design method of numerical control gear chamfering machine control system based on quantum frame
CN113985805B (en) Electronic cam generation method and terminal

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200313

Assignee: Nanjing Kaitong Automation Technology Co.,Ltd.

Assignor: NANJING INSTITUTE OF TECHNOLOGY

Contract record no.: X2024980001801

Denomination of invention: The motion control method of multi axis linkage economic CNC system

Granted publication date: 20230523

License type: Common License

Record date: 20240202

EE01 Entry into force of recordation of patent licensing contract