3D printer and 3D printing control method

By selecting the extruder's maximum operating speed as the actual operating speed in the 3D printer, and combining this with feedforward compensation to control the movement of the extruder and print head, the slippage problem caused by excessive or sudden changes in extruder speed is solved. This achieves synchronization between the extrusion flow rate and the print head movement, improving printing quality and efficiency.

CN120816731APending Publication Date: 2025-10-21SHENZHEN ANKER SMART TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410448307.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-04-12
Publication Date
2025-10-21

AI Technical Summary

Technical Problem

The existing 3D printer has a single control method for matching the extrusion flow of the extruder with the movement speed of the print head, which leads to excessive or sudden changes in the extruder speed, causing slippage and affecting the printing quality.

Method used

By acquiring the first speed command, the smaller speed between the first target speed and the extruder's limit operating speed is selected as the actual operating speed of the extruder. Feedforward compensation is used to control the movement of the extruder and the print head to ensure that the extruder operates within the limit operating speed and avoids excessive speed or sudden changes.

Benefits of technology

It effectively avoids extruder slippage, ensures the synchronization of extrusion flow and print head movement, and improves printing quality and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120816731A_ABST
    Figure CN120816731A_ABST
Patent Text Reader

Abstract

The invention discloses a 3D printer and a 3D printing control method. The method comprises the steps of obtaining a first speed instruction; wherein the first speed instruction comprises a first target speed, and the first target speed is obtained through feedforward compensation and used for controlling the running speed of the extruder; the smaller speed in the first target speed and the limit operation speed of the extruder is selected as the actual operation speed of the extruder; and controlling the extruder to operate according to the actual operation speed. By means of the mode, the phenomenon that the speed of the extruder is too high or suddenly changed, and slipping occurs can be avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of 3D printing technology, and in particular to a 3D printer and a 3D printing control method. Background Art

[0002] An FDM (Fused Deposition Modeling) 3D printer consists of an extruder and a print head. The printing material is generally a thermoplastic material. The printing material is heated and melted in the extruder. The print head moves along a pre-designed path while the extruder squeezes out the melted printing material and stacks it layer by layer. The printing material cools and solidifies to form a product.

[0003] In order to ensure that the extrusion flow rate of the extruder in the current 3D printer matches the movement speed of the print head, a feed amount can be added to the extruder to adjust the extrusion flow rate of the extruder to match the movement speed of the print head.

[0004] The inventors of this application have found that this control method is relatively simple. When the superimposed feed amount of the extruder is too large, the speed of the extruder will be too high or change suddenly, causing slippage, which in turn affects the printing quality. Summary of the Invention

[0005] This application provides a 3D printer and a 3D printing control method, which can solve the technical problem of slipping of the extruder motor in the 3D printer.

[0006] To solve the above technical problems, the present application provides, on the one hand, a 3D printing control method, which includes: obtaining a first speed instruction; wherein the first speed instruction includes a first target speed, the first target speed is obtained through feedforward compensation, and is used to control the operating speed of the extruder; selecting the smaller speed between the first target speed and the maximum operating speed of the extruder as the actual operating speed of the extruder; and controlling the extruder to operate at the actual operating speed.

[0007] When a first target speed corresponding to a first speed instruction is greater than a maximum operating speed of an extruder, the method includes: obtaining a proportional parameter in response to an actual operating speed of the extruder being the maximum operating speed of the extruder; determining an actual moving speed of the print head using the actual operating speed of the extruder and the proportional parameter; and controlling the print head to move according to the actual moving speed.

[0008] Among them, the scale parameter is related to the printing layer height and the nozzle diameter of the print head.

[0009] The obtaining of the first speed instruction includes: obtaining a second target speed; wherein the second target speed is an interpolation speed of the extruder; obtaining a first target speed according to the second target speed, and forming a first speed instruction based on the first target speed.

[0010] Among them, using a feedforward controller to obtain the first target speed according to the second target speed corresponding to the second speed instruction includes: obtaining the acceleration corresponding to the second target speed and the compensation coefficient; using the feedforward controller to obtain the first target speed according to the second target speed, the acceleration and the compensation coefficient.

[0011] The method further includes: when the extruder is running at the actual running speed, calculating the position of the extrusion shaft of the extruder in the first target running track using the actual running speed.

[0012] Among them, the position of the extruder shaft in the first target running trajectory is calculated using the actual running speed, including: using the actual running speed and the extrusion shaft running distance of the previous cycle to obtain the extrusion shaft running distance of the extruder in the current cycle; combining the end position, starting position and extrusion shaft running distance of the first target running trajectory to calculate the position of the extrusion shaft in the first target running trajectory.

[0013] The method further includes: when the print head moves according to the actual moving speed, calculating the position of the print head in the second target running track using the actual moving speed.

[0014] Among them, the position of the print head in the second target running trajectory is calculated using the actual moving speed, including: using the actual moving speed and the print head moving distance of the previous cycle to obtain the print head moving distance in the current cycle; combining the end position, starting position and print head moving distance of the second target running trajectory to calculate the position of the print head in the second target running trajectory.

[0015] To solve the above technical problems, the present application provides a 3D printer on the other hand, which includes: an extruder, a print head and a processor, and the processor is configured to execute the method provided by the above technical solution.

[0016] The 3D printer and 3D printing control method provided by the present application, when obtaining a first speed instruction input to the extruder, limit the actual operating speed of the extruder by selecting the smaller speed between the first target speed corresponding to the first speed instruction and the maximum operating speed of the extruder as the actual operating speed of the extruder, so that the extruder always operates within the maximum operating speed, thereby avoiding excessive or sudden changes in the speed of the extruder and the occurrence of slippage. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0018] Figure 1 This is a schematic structural diagram of an embodiment of a 3D printer provided by the present application;

[0019] Figure 2 This is a flow chart of an embodiment of a 3D printing control method provided by the present application;

[0020] Figure 3 This is a flow chart of another embodiment of the 3D printing control method provided by the present application;

[0021] Figure 4 This is a flowchart of an embodiment of step 34 provided by this application;

[0022] Figure 5 This is a flow chart of another embodiment of the 3D printing control method provided by the present application;

[0023] Figure 6 This is a flow chart of another embodiment of the 3D printing control method provided by the present application;

[0024] Figure 7 This is a flowchart of an embodiment of step 67 provided by this application;

[0025] Figure 8 This is a flow chart of another embodiment of the 3D printing control method provided by the present application;

[0026] Figure 9 It is a flowchart of an embodiment of step 82 provided in this application. DETAILED DESCRIPTION

[0027] The present application will be further described in detail below in conjunction with the accompanying drawings and examples. It is particularly noted that the following examples are only intended to illustrate the present application and are not intended to limit the scope of the present application. Similarly, the following examples are only some examples of the present application and not all examples. All other examples obtained by those of ordinary skill in the art without creative work are intended to fall within the scope of protection of this application.

[0028] In the description of this application, the meaning of "multiple" is at least two, such as two, three, etc., unless otherwise specifically defined. The terms "first", "second", and "third" in the embodiments of this application are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, a feature defined as "first", "second", and "third" may explicitly or implicitly include at least one of such features. All directional indications in the embodiments of this application (such as up, down, left, right, front, back, etc.) are only used to explain the relative positional relationship, movement, etc. between the components under a specific posture (as shown in the accompanying drawings). If the specific posture changes, the directional indication will also change accordingly. The terms "including" and "having" in the embodiments of this application and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units that are not listed, or may optionally include other steps or components inherent to these processes, methods, products, or devices.

[0029] References herein to "embodiments" mean that a particular feature, structure, or characteristic described in connection with the embodiments may be included in at least one embodiment of the present application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor does it constitute an independent or alternative embodiment that is mutually exclusive of other embodiments. It is understood, both explicitly and implicitly, by those skilled in the art that the embodiments described herein may be combined with other embodiments.

[0030] See Figure 1 , Figure 1 3D printer 100 includes an extruder 10, a print head 20, and a processor 30. The processor is configured to execute any of the following methods.

[0031] In some embodiments, the extruder 10 and print head 20 each have independent drive motors. The drive motor of the extruder 10 is primarily responsible for stirring the printing material in the extruder and controlling the extrusion rate of the printing material. The drive motor of the print head 20 is primarily responsible for controlling the movement of the print head 20 along a predetermined trajectory, thereby driving the printing material extruded by the extruder 10 along the predetermined trajectory, ultimately forming the corresponding 3D printed object.

[0032] See Figure 2 , Figure 2 3D printing control method provided by this application is a flow chart of an embodiment. The method includes:

[0033] Step 21: Obtain a first speed instruction; wherein the first speed instruction includes a first target speed, and the first target speed is obtained through feedforward compensation.

[0034] In some embodiments, the 3D printer receives parameters related to the object to be printed, such as a 3D model of the object, in advance, and establishes a printing motion trajectory and a corresponding print head movement speed based on the 3D model.

[0035] In some embodiments, during the printing process, the print head movement speed is used for feed-forward compensation to generate a first target speed, and a first speed instruction is input to the extruder based on the first target speed. The first speed instruction is used to instruct the motor in the extruder to operate at its corresponding speed.

[0036] In some embodiments, after obtaining the print head movement speed, a corresponding extruder interpolation speed is generated, and then the extruder interpolation speed is used for feedforward compensation to generate a first target speed. The first target speed is used as a reference to input a first speed command to the extruder. The first speed command is used to instruct the motor in the extruder to operate at its corresponding speed.

[0037] Step 22: Select the smaller speed between the first target speed corresponding to the first speed instruction and the maximum operating speed of the extruder as the actual operating speed of the extruder.

[0038] In some embodiments, the first target speed corresponding to the first speed instruction may be greater than the maximum operating speed of the extruder. Therefore, if the extruder operates at the first target speed, the extruder speed may be excessive or abruptly increased, causing slippage, which in turn affects print quality. Based on this, the present application proposes comparing the first target speed with the maximum operating speed of the extruder and selecting the smaller of the two as the actual operating speed of the extruder. This can then limit the extruder speed to prevent the extruder speed from being excessive or abruptly increased, which could result in slippage.

[0039] For example, if the first target speed is less than the maximum operating speed of the extruder, the first target speed is used as the actual operating speed of the extruder. For example, if the first target speed is greater than the maximum operating speed of the extruder, the maximum operating speed is used as the actual operating speed of the extruder.

[0040] Step 23: Control the extruder to run at the actual operating speed.

[0041] In this embodiment, when a first speed command is received and input to the extruder, the actual operating speed of the extruder is limited by selecting the smaller of the first target speed corresponding to the first speed command and the maximum operating speed of the extruder as the actual operating speed of the extruder. This allows the extruder to always operate within the maximum operating speed, thereby preventing the extruder from over-speeding or suddenly changing, which could cause slippage. Specifically, according to the above-described method, the actual operating speed of the extruder will not exceed the maximum operating speed, thereby preventing the extruder from over-speeding or suddenly changing, which could cause slippage.

[0042] See Figure 3 , Figure 3 : This is a flow chart of another embodiment of the 3D printing control method provided by this application. The method includes:

[0043] Step 31: Obtain a first speed instruction; wherein the first speed instruction includes a first target speed, and the first target speed is obtained through feedforward compensation.

[0044] Step 32: Select the smaller speed between the first target speed corresponding to the first speed instruction and the maximum operating speed of the extruder as the actual operating speed of the extruder.

[0045] Step 33: Control the extruder to run at the actual operating speed.

[0046] Steps 31 to 33 have the same or similar technical solutions as any embodiment of the present application and are not described in detail here.

[0047] Step 34: When the extruder is running at the actual running speed, the position of the extrusion axis of the extruder in the first target running trajectory is calculated using the actual running speed.

[0048] During the 3D printing process, the print head and the extruder must move according to a predetermined running trajectory in order to print out the corresponding objects, but the running speed can vary. For example, when running at the first target speed, the position of the extruder's extrusion shaft can be calculated using the first target speed, so as to determine the position of the extrusion shaft in real time, so as to know the printing progress. For example, when running at the limit running speed, the position of the extruder's extrusion shaft can be calculated using the limit running speed, so as to determine the position of the extrusion shaft in real time, so as to know the printing progress. It can be understood that during the printing process, the 3D printer divides the structural lines of the object into different straight lines, and uses the straight lines as a reference (that is, each running trajectory should be a straight line) to control the movement of the print head and the extruder. In the extruder, the rotation of the extrusion shaft can be equivalently calculated, the number of rotations can be equivalent to the rotational running distance, and the running distance can be equivalent to a straight line.

[0049] Optionally, the position of the print head in the second target running trajectory may be calculated using an algorithm such as cubic spline interpolation, B-spline interpolation or Bezier curve interpolation.

[0050] In one embodiment, see Figure 4 , step 34 may be the following process:

[0051] Step 341: Utilize the actual running speed and the extrusion shaft running distance of the previous cycle to obtain the extrusion shaft running distance of the extruder in the current cycle.

[0052] Since the printing process of the printer moves according to the running trajectory, the rotation of the extrusion shaft of the extruder can also be equivalent to the running trajectory.

[0053] Assuming the running trajectory is fixed and linear, running at the running speed within the corresponding time period will be reflected as the running distance within that time period. Therefore, there may be multiple time periods within the running trajectory. The actual running speed and the extruder shaft running distance of the previous cycle are used to obtain the extruder shaft running distance in the current cycle. For example, the product of the actual running speed and the current time, plus the extruder shaft running distance of the previous cycle, can be used to obtain the extruder shaft running distance in the current cycle.

[0054] Step 342: Calculate the position of the extrusion axis in the first target running trajectory by combining the end position and the starting position of the first target running trajectory and the running distance of the extrusion axis in the current cycle.

[0055] Because 3D-printed objects are in three-dimensional space, the first target trajectory is also in three-dimensional space. Therefore, it is necessary to calculate the spatial position of the extrusion axis within the first target trajectory. For example, the end and starting positions are used to determine the length of the first target trajectory. The extrusion axis's travel distance is then used to calculate its contribution to that length. Finally, the starting position and contribution are used to calculate the extrusion axis's position within the first target trajectory.

[0056] In this embodiment, when a first speed instruction input to the extruder is obtained, the actual operating speed of the extruder is limited by selecting the smaller speed between the first target speed corresponding to the first speed instruction and the maximum operating speed of the extruder as the actual operating speed of the extruder, so that the extruder always operates within the maximum operating speed, thereby avoiding excessive or sudden changes in the speed of the extruder and the occurrence of slippage.

[0057] Furthermore, when the extruder is running at the actual operating speed, the position of the extrusion shaft of the extruder in the first target operating trajectory is calculated using the actual operating speed, so as to know the actual position of the extrusion shaft after running at the actual operating speed, avoid deviation of the motion path after the speed is changed, and facilitate operation planning for the next cycle.

[0058] See Figure 5 , Figure 5 : This is a flow chart of another embodiment of the 3D printing control method provided by this application. The method includes:

[0059] Step 51: Obtain a first speed instruction; wherein the first speed instruction includes a first target speed, and the first target speed is obtained through feedforward compensation.

[0060] Step 52: Select the smaller speed between the first target speed corresponding to the first speed instruction and the maximum operating speed of the extruder as the actual operating speed of the extruder.

[0061] Step 53: Control the extruder to run at the actual operating speed.

[0062] Steps 51 to 53 have the same or similar technical solutions as any embodiment of the present application and are not described in detail here.

[0063] When the first target speed corresponding to the first speed instruction is greater than the maximum operating speed of the extruder, the moving speed of the print head needs to be adjusted, and step 54 is executed.

[0064] Step 54: In response to the actual operating speed of the extruder being the limit operating speed of the extruder, obtaining a proportional parameter.

[0065] When the first target speed is greater than the limit operating speed of the extruder, the limit operating speed of the extruder is used as the actual operating speed of the extruder. Based on this, the moving speed of the print head needs to be adjusted synchronously, so step 54 is executed.

[0066] Among them, the scale parameter is related to the printing layer height and the nozzle diameter of the print head.

[0067] Step 55: Determine the actual moving speed of the print head using the actual operating speed of the extruder and the proportional parameters.

[0068] In some embodiments, the proportional parameter is a positive number less than 1, and the actual moving speed of the print head can be determined by multiplying the actual running speed of the extruder by the proportional parameter.

[0069] In some embodiments, the proportional parameter is a positive number greater than 1, and the actual moving speed of the print head can be determined by dividing the actual running speed of the extruder by the proportional parameter.

[0070] Step 56: Control the print head to move according to the actual moving speed.

[0071] In this embodiment, when a first speed instruction input to the extruder is obtained, the actual operating speed of the extruder is limited by selecting the smaller speed between the first target speed corresponding to the first speed instruction and the maximum operating speed of the extruder as the actual operating speed of the extruder, so that the extruder always operates within the maximum operating speed, thereby avoiding excessive or sudden changes in the speed of the extruder and the occurrence of slippage.

[0072] Furthermore, the actual operating speed of the extruder is used to limit the moving speed of the print head. While limiting the operating speed of the extruder, the extrusion flow of the extruder is ensured to be synchronized with the moving speed of the print head, avoiding the problem of reduced printing quality caused by the extruder and the print head being out of sync.

[0073] See Figure 6 , Figure 6 : This is a flow chart of another embodiment of the 3D printing control method provided by this application. The method includes:

[0074] Step 61: Obtain a first speed instruction; wherein the first speed instruction includes a first target speed, and the first target speed is obtained through feedforward compensation.

[0075] Step 62: Select the smaller speed between the first target speed corresponding to the first speed instruction and the maximum operating speed of the extruder as the actual operating speed of the extruder.

[0076] Step 63: Control the extruder to run at the actual operating speed.

[0077] Step 64: In response to the actual operating speed of the extruder being the limit operating speed of the extruder, obtaining a proportional parameter.

[0078] Among them, the scale parameter is related to the printing layer height and the nozzle diameter of the print head.

[0079] Step 65: Determine the actual moving speed of the print head using the actual operating speed of the extruder and the proportional parameters.

[0080] Step 66: Control the print head to move according to the actual moving speed.

[0081] Steps 61 to 66 have the same or similar technical solutions as any embodiment of the present application and are not described in detail here.

[0082] Step 67: When the print head moves according to the actual moving speed, the position of the print head in the second target running track is calculated using the actual moving speed.

[0083] Because the print head's movement speed is synchronized with the extruder's actual operating speed, the print head's position also needs to be recalculated. It's understandable that during the printing process, a 3D printer divides the object's structural lines into distinct straight lines, using these lines as a reference (i.e., each trajectory should be a straight line) to control the print head and extruder's movement. Therefore, the print head's position can be calculated based on the actual movement speed.

[0084] Optionally, the position of the print head in the second target running trajectory may be calculated using an algorithm such as cubic spline interpolation, B-spline interpolation or Bezier curve interpolation.

[0085] In some embodiments, see Figure 7 , step 67 may be the following process:

[0086] Step 671: Utilize the actual movement speed and the print head movement distance of the previous cycle to obtain the print head movement distance in the current cycle.

[0087] The printer's printing process follows a trajectory. Assuming the trajectory is fixed and linear, the print head moves at the speed within a corresponding time period, which is reflected as the distance traveled within that time period. Therefore, there may be multiple time periods within the trajectory. The distance traveled in the current cycle is calculated by combining the actual travel speed and the distance traveled in the previous cycle. For example, the product of the actual travel speed and the current time, plus the distance traveled in the previous cycle, yields the distance traveled in the current cycle.

[0088] Step 672: Calculate the position of the print head in the second target running trajectory by combining the end position and the starting position of the second target running trajectory and the print head movement distance of the current cycle.

[0089] Because 3D-printed objects exist in three-dimensional space, the second target trajectory also exists in three-dimensional space. Therefore, the position of the print head within the second target trajectory must be calculated. For example, the end and starting positions are used to determine the length of the second target trajectory. The print head's travel distance is then used to calculate its contribution to that length. Finally, the print head's position within the second target trajectory is calculated using the starting position and the contribution.

[0090] In this embodiment, when a first speed instruction input to the extruder is obtained, the actual operating speed of the extruder is limited by selecting the smaller speed between the first target speed corresponding to the first speed instruction and the maximum operating speed of the extruder as the actual operating speed of the extruder, so that the extruder always operates within the maximum operating speed, thereby avoiding excessive or sudden changes in the speed of the extruder and the occurrence of slippage.

[0091] Furthermore, when the print head moves at the actual moving speed, the actual moving speed is used to calculate the position of the print head in the second target running trajectory, so as to know the actual position of the print head after moving at the actual moving speed, avoid deviation of the motion path after the speed changes, and facilitate the operation planning of the next cycle.

[0092] See Figure 8 , Figure 8 : This is a flow chart of another embodiment of the 3D printing control method provided by this application. The method includes:

[0093] Step 81: Obtain a second target speed; wherein the second target speed is the interpolation speed of the extruder.

[0094] In some embodiments, after determining the movement speed of the print head, an interpolated speed of the extruder can be determined based on the interpolated speed, and then a second speed instruction is formed based on the interpolated speed. The speed corresponding to the second speed instruction is used for feedforward compensation to obtain the operating speed of the extruder.

[0095] Step 82: Obtain a first target speed according to the second target speed, and form a first speed instruction based on the first target speed.

[0096] In some embodiments, see Figure 9 , step 82 may be the following process:

[0097] Step 821: Obtain the acceleration corresponding to the second target speed and the compensation coefficient.

[0098] Step 822: Obtain the first target speed according to the second target speed, the acceleration, and the compensation coefficient.

[0099] In some embodiments, feedforward control is a control method that predicts the gap between the system output and the expected output and takes control action before the gap occurs to eliminate or reduce the gap. The control law of the feedforward control link is the inverse dynamic model of the extruder. For example, the extruder can be modeled as a first-order system with a transfer function of:

[0100]

[0101] Then the feedforward link is transferred as follows:

[0102] G E (s) -1 =T c s+1.

[0103] Therefore, the feedforward link controls the speed command of the motion controller interpolation, and the calculation formula is as follows:

[0104] v Ef=v Ec +T c *a

[0105] Among them, v Ef is the output speed of the feedforward controller (first target speed), v Ec The interpolation speed (second target speed) of the extruder provided by the motion controller, a is the current interpolation acceleration, T c is the compensation coefficient.

[0106] Step 83: Select the smaller speed between the first target speed corresponding to the first speed instruction and the maximum operating speed of the extruder as the actual operating speed of the extruder.

[0107] Step 84: Control the extruder to run according to the actual operating speed.

[0108] Furthermore, the actual moving speed of the print head is determined using the actual operating speed of the extruder, and the print head is controlled to move according to the actual moving speed.

[0109] When the actual running speed is the first target speed, the actual moving speed of the print head does not change. When the actual running speed is the actual running speed, the actual moving speed of the print head is re-determined using the proportional parameter according to any of the above embodiments.

[0110] Steps 83 to 84 have the same or similar technical solutions as any embodiment of the present application and are not described in detail here.

[0111] In this embodiment, when a first speed instruction input to the extruder is obtained, the actual operating speed of the extruder is limited by selecting the smaller speed between the first target speed corresponding to the first speed instruction and the maximum operating speed of the extruder as the actual operating speed of the extruder, so that the extruder always operates within the maximum operating speed, thereby avoiding excessive or sudden changes in the speed of the extruder and the occurrence of slippage.

[0112] In one application scenario, the extruder saturation limit is taken into consideration, and the extruder feedforward control and speed limiting are performed. The limited extruder speed is then mapped to the print head. The print head moves at the new speed, and compensation control is implemented on both sides of the extruder and print head movement to prevent the extruder from exceeding the speed limit. The extrusion flow is synchronized with the movement of the print head to ensure good printing quality and printing efficiency.

[0113] The specific process is as follows:

[0114] (1) Feedforward control:

[0115] Feedforward control is a control method that predicts the gap between the system output and the expected output and takes control action before the gap occurs to eliminate or reduce the gap. The control law of the feedforward control link is the inverse dynamic model of the extruder. For example, the extruder can be modeled as a first-order system with a transfer function of:

[0116]

[0117] Then the feedforward link is transferred as follows:

[0118] G E (s) -1 =T c s+1.

[0119] Therefore, the feedforward link controls the speed command of the motion controller interpolation, and the calculation formula is as follows:

[0120] v Ef =v Ec +T c *a.

[0121] Among them, vEf is the output speed of the feedforward controller, vEc is the interpolation speed of the extruder provided by the motion controller, and a is the current interpolation acceleration.

[0122] By using feedforward control to match the extrusion flow of the extruder with the movement speed of the print head, the printing quality can be improved.

[0123] (2) Speed ​​limit:

[0124] Since the extrusion speed of the extruder has a certain upper limit, if the extrusion motor runs at too high a speed, the melting speed of the material in the extruder cannot keep up, and the pressure rises rapidly, which will cause the load to increase sharply, causing the stepper motor in the extruder to lose steps and the material to slip, affecting the printing quality.

[0125] Based on this, the speed limiter is used to limit the motor speed of the extruder to not exceed its maximum limit. The specific formula is as follows:

[0126] v El =min(v Emax , v Ef ).

[0127] Among them, v Emax This is the extruder speed limit.

[0128] (3) Print head compensation:

[0129] When the acceleration is high, if the output speed of the feedforward control exceeds the extruder's limit speed, the speed limiter module will take effect, and the superposition of the feedforward control will not be fully applied to the extruder shaft. In order to synchronize the extruder flow rate with the movement of the print head, the extruder speed after limiting is mapped to the print head movement speed. The print head movement speed is represented by vMl and is calculated according to the following formula:

[0130]

[0131] Among them, k is the ratio parameter of the extruder movement speed to the print head movement speed. This parameter is related to the printing layer height and nozzle diameter and is determined by the slicing software. El Indicates the actual operating speed of the extruder.

[0132] (4) Linear interpolation

[0133] Due to speed limitation and speed compensation of the print head, the speed of movement is changed. Linear interpolation is performed at the new speed on the path of the original interpolation point.

[0134] The linear interpolation formula is as follows:

[0135]

[0136] Among them, s Ek′ Indicates the running distance of the extrusion axis in the previous cycle, v El Indicates the actual operating speed of the extruder, T s Indicates the time period, s Ek Indicates the extrusion axis running distance of the current cycle (distance from the starting point), p Em (i) represents the end point of the first target trajectory, p Em (i-1) represents the starting point of the first target trajectory, s E =abs(pEm(i)-pEm(i-1)), p En (k) represents the position of the extrusion axis in the first target running trajectory of the current cycle.

[0137]

[0138] Among them, s Mk′ Indicates the print head movement distance in the previous cycle, v Ml Indicates the actual moving speed, T s Indicates the time period, s Mk Indicates the print head movement distance of the current cycle (distance from the starting point), p Mm (i) represents the end point of the second target trajectory, p Mm (i-1) represents the starting point of the second target trajectory, sM =abs(pMm(i)-pMm(i-1)), p Mn (k) represents the position of the print head in the second target running trajectory in the current cycle.

[0139] In the above application scenario, by controlling the running speed of the extruder, it can be ensured that the running speed of the extruder motor does not exceed the extruder speed limit, which can effectively avoid the stepper motor of the extrusion shaft from losing steps and the occurrence of material slippage, ensuring the working stability of the stepper motor, thereby accurately controlling the extrusion flow rate.

[0140] Furthermore, the actual operating speed of the extruder is mapped to the print head to obtain the actual moving speed of the print head, and the extrusion flow of the extruder and the moving speed of the print head are synchronized during the printing process to ensure the printing quality.

[0141] In summary, the 3D printer and 3D printing control method provided by the present application, when obtaining the first speed instruction input to the extruder, limit the actual operating speed of the extruder by selecting the smaller speed between the first target speed corresponding to the first speed instruction and the maximum operating speed of the extruder as the actual operating speed of the extruder, so that the extruder always operates within the maximum operating speed, thereby avoiding excessive or sudden changes in the speed of the extruder and the occurrence of slippage.

[0142] Furthermore, when the extruder is running at the actual speed, the actual speed is used to calculate the position of the extruder shaft in the first target trajectory. This facilitates knowing the actual position of the extruder shaft after running at the actual speed, avoids deviations in the motion path after speed changes, and facilitates operation planning for the next cycle. Furthermore, when the print head is moving at the actual speed, the actual speed is used to calculate the position of the print head in the second target trajectory. This facilitates knowing the actual position of the print head after moving at the actual speed, avoids deviations in the motion path after speed changes, and facilitates operation planning for the next cycle.

[0143] Furthermore, the actual operating speed of the extruder is used to limit the moving speed of the print head. While limiting the operating speed of the extruder, the extrusion flow of the extruder is ensured to be synchronized with the moving speed of the print head, avoiding the problem of reduced printing quality caused by the extruder and the print head being out of sync.

[0144] The above descriptions are only some embodiments of the present application and do not limit the scope of protection of the present application. Any equivalent device or equivalent process transformation made using the contents of the description and drawings of this application, or directly or indirectly applied in other related technical fields, are also included in the scope of patent protection of this application.

Claims

1. A 3D printing control method, characterized in that: include: Obtaining a first speed instruction; wherein the first speed instruction includes a first target speed, the first target speed is obtained by feedforward compensation, and is used to control the operating speed of the extruder; selecting a smaller speed between the first target speed and the limit operating speed of the extruder as the actual operating speed of the extruder; The extruder is controlled to run at the actual running speed.

2. The method according to claim 1, characterized in that When a first target speed corresponding to the first speed instruction is greater than a limit operating speed of the extruder, the method includes: In response to the actual operating speed of the extruder being the limit operating speed of the extruder, obtaining a proportional parameter; Determining the actual moving speed of the print head using the actual operating speed of the extruder and the proportional parameter; The print head is controlled to move according to the actual moving speed.

3. The method according to claim 2, characterized in that The scale parameter is related to the printing layer height and the nozzle diameter of the print head.

4. The method according to claim 1, wherein The obtaining of the first speed instruction includes: Obtaining a second target speed; wherein the second target speed is an interpolation speed of the extruder; The first target speed is obtained according to the second target speed, and the first speed instruction is formed based on the first target speed.

5. The method according to claim 4, characterized in that The obtaining the first target speed according to the second target speed includes: Obtaining the acceleration corresponding to the second target speed and a compensation coefficient; The first target speed is obtained according to the second target speed, acceleration, and the compensation coefficient.

6. The method according to claim 1, characterized in that The method further comprises: When the extruder is running at the actual running speed, the position of the extrusion shaft of the extruder in the first target running trajectory is calculated using the actual running speed.

7. The method according to claim 6, characterized in that The step of calculating the position of the extrusion shaft of the extruder in the first target running trajectory by using the actual running speed includes: Utilizing the actual operating speed and the extrusion shaft operating distance of the previous cycle, the extrusion shaft operating distance of the extruder in the current cycle is obtained; The position of the extrusion axis in the first target running trajectory is calculated by combining the end position, the starting position and the running distance of the extrusion axis in the current cycle of the first target running trajectory.

8. The method according to claim 2, characterized in that The method further comprises: During the movement of the print head at the actual movement speed, the position of the print head in the second target running track is calculated using the actual movement speed.

9. The method according to claim 8, characterized in that The calculating the position of the print head in the second target running track by using the actual moving speed includes: Utilizing the actual moving speed and the print head moving distance in the previous cycle, the print head moving distance in the current cycle is obtained; The position of the print head in the second target running track is calculated by combining the end position, the starting position and the print head movement distance of the second target running track in the current cycle.

10. A 3D printer, characterized in that: The 3D printer includes: an extruder, a print head, and a controller, wherein the controller is configured to execute the method according to any one of claims 1 to 9.