A motor control method and device, an additive manufacturing apparatus and a readable storage medium
Patent Information
- Application Number
- CN202211633323.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-19
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2042-12-19
AI Technical Summary
如果定位偏差大于10um会导致模型出现层纹,大于20um会导致模型开裂
[0044]本申请提供了一种电机控制方法,在电机控制驱动组件运动至打印待打印模型的目标层的对应位置之后,采集电机的旋转角度数据,并基于所采集的旋转角度数据确定目标层的采集定位误差,获取基于历史采集数据预测得到的目标层的预测定位误差,根据采集定位误差和预测定位误差确定目标层的实际定位误差;从而,能够通过基于历史采集数据预测得到的预测定位误差实现对旋转检测传感器的采集数据的修正,以消除人工装配和其他信号耦合导致的测量误差,得到目标层的实际定位误差,并通过实际定位误差对电机进行位移补偿,从而,能够避免由于丢步现象以及旋转检测传感器测量误差导致的电机定位精度低的问题,进而能够避免打印模型出现层纹、断层的现象,提高增材制造设备的模型打印质量。本申请还提供了一种电机控制系统、增材制造设备和可读存储介质,具有和上述电机控制方法相同的有益效果。
Smart Images

Figure CN116032181B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of 3D printing, and in particular to a motor control method, apparatus, additive manufacturing equipment, and readable storage medium. Background Technology
[0002] Currently, existing additive manufacturing equipment exhibits step loss in its internal motors under conditions such as overcurrent, overheating, overload, or excessive speed. Positioning deviations exceeding 10µm can cause layering in the model, while deviations exceeding 20µm can lead to cracking. In related technologies, because the rotation sensor is manually assembled to one end of the motor, it's impossible to guarantee the coaxiality of the rotation sensor, radial magnet, and motor. Furthermore, the magnetic flux signal collected by the rotation sensor is susceptible to coupling effects from other signals. Therefore, directly obtaining rotation angle data from the rotation sensor introduces measurement errors, resulting in low accuracy for motor positioning and negatively impacting the print quality of the 3D printer.
[0003] Therefore, how to provide a solution to the above-mentioned technical problems is a problem that needs to be solved by those skilled in the art. Summary of the Invention
[0004] The purpose of this application is to provide a motor control method, device, additive manufacturing equipment, and readable storage medium that can eliminate measurement errors of rotation detection sensors caused by manual assembly and other signal coupling, avoid the phenomenon of discontinuity, and improve the model printing quality of additive manufacturing equipment.
[0005] To address the aforementioned technical problems, this application provides a motor control method applied to an additive manufacturing equipment. The additive manufacturing equipment includes a motor and a rotation detection sensor. The motor drives the drive components of the additive manufacturing equipment, and the rotation detection sensor collects rotation angle data of the motor. The motor control method includes:
[0006] After the motor controls the drive component to move to the corresponding position of the target layer of the model to be printed, the rotation angle data of the motor is collected, and the acquisition positioning error of the target layer is determined based on the collected rotation angle data; the acquisition positioning error is the positioning error of the target layer determined based on the collected rotation angle data.
[0007] The predicted positioning error of the target layer is obtained; the predicted positioning error is the positioning error of the target layer predicted based on historical collected data.
[0008] The actual positioning error of the target layer is determined based on the acquired positioning error and the predicted positioning error.
[0009] Displacement compensation is performed on the motor based on the actual positioning error.
[0010] Optionally, the rotation angle data of the motor is collected, including:
[0011] Acquire multiple rotation angle data collected by the rotation detection sensor within a preset time period;
[0012] The mode, mean, or median of the plurality of rotation angle data is determined as the rotation angle data of the motor;
[0013] The determination of the acquisition and positioning error of the target layer based on the acquired rotation angle data includes:
[0014] The number of motor rotations collected by the rotation detection sensor and the lead of the rotation detection sensor are obtained, wherein the lead is the travel distance corresponding to one rotation of the motor;
[0015] Based on the collected number of motor rotations, the lead, and the collected rotation angle data, the actual travel distance of the motor is determined;
[0016] The target travel distance of the motor is obtained, and the acquisition and positioning error of the target layer is determined based on the target travel distance and the actual travel distance.
[0017] Optionally, obtaining the prediction and localization error of the target layer includes:
[0018] Acquire the acquisition positioning error of multiple printing layers adjacent to and preceding the target layer in the historical acquisition data;
[0019] Obtain the prediction relationship based on the acquisition and positioning errors of the multiple printing layers;
[0020] The predicted positioning error of the target layer is determined based on the acquisition and positioning errors of the multiple printing layers and the predicted relationship.
[0021] Optionally, the prediction relation is D. n =D n-1 -D n-3 +D n-2 ;
[0022] Among them, D n D represents the prediction and localization error of the target layer. n-1 D represents the acquisition and positioning error of the printing layer that is one layer ahead of the target layer. n-2 D represents the acquisition and positioning error of the printed layer, which is two layers ahead of the target layer. n-3 The acquisition and positioning error is the error of the printed layer that is three layers ahead of the target layer.
[0023] Optionally, the displacement compensation of the motor based on the actual positioning error includes:
[0024] When the actual positioning error is greater than a preset error threshold, a displacement compensation command is triggered;
[0025] In response to the displacement compensation command, a displacement compensation value is determined based on the actual positioning error;
[0026] The motor is subjected to displacement compensation based on the displacement compensation value.
[0027] Optionally, before performing displacement compensation on the motor based on the actual positioning error, the method further includes:
[0028] Obtain the range of predicted positioning error values in historical data, and determine the difference between the maximum and minimum values within the range.
[0029] The preset error threshold is determined based on the difference and the layer texture generation threshold, wherein the layer texture generation threshold is the minimum value of the positioning error that enables the printed model to generate layer texture.
[0030] Optionally, the rotation angle data of the motor is collected, including:
[0031] The operating mode of the rotation detection sensor is controlled to be ABZ mode, which collects the pulse signal of the motor and determines the number of rotations of the motor based on the pulse signal. The ABZ mode is an operating mode that collects the number of rotations and / or rotation angle of the motor by using the pulse signal of the motor.
[0032] Based on the collected number of motor rotations and the lead of the rotation detection sensor, the estimated travel distance of the motor is determined;
[0033] When the difference between the estimated travel distance of the motor and the target travel distance of the motor is greater than or equal to a preset difference, the additive manufacturing equipment is controlled to report an error.
[0034] When the difference between the estimated travel distance of the motor and the target travel distance of the motor is less than a preset difference, the operating mode of the rotation detection sensor is controlled to be the angle acquisition mode, and the rotation angle data of the motor is acquired. The angle acquisition mode is the working mode of directly acquiring the rotation angle of the motor.
[0035] To address the aforementioned technical problems, this application also provides a motor control device applied to additive manufacturing equipment. The additive manufacturing equipment includes a motor and a rotation detection sensor. The motor drives the drive components of the additive manufacturing equipment, and the rotation detection sensor collects rotation angle data of the motor. The motor control device includes:
[0036] The first acquisition module is used to acquire the rotation angle data of the motor after the motor controls the drive component to move to the corresponding position of the target layer of the model to be printed, and to determine the acquisition positioning error of the target layer based on the acquired rotation angle data; the acquisition positioning error is the positioning error of the target layer determined based on the acquired rotation angle data.
[0037] The second acquisition module is used to acquire the predicted positioning error of the target layer; the predicted positioning error is the positioning error of the target layer predicted based on historical collected data.
[0038] The determination module is used to determine the actual positioning error of the target layer based on the acquired positioning error and the predicted positioning error;
[0039] The control module is used to perform displacement compensation on the motor based on the actual positioning error.
[0040] To address the aforementioned technical problems, this application also provides an additive manufacturing apparatus, comprising:
[0041] Memory, used to store computer programs;
[0042] A processor for executing the computer program to implement the steps of the motor control method as described in any of the above.
[0043] To address the aforementioned technical problems, this application also provides a readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the motor control method described in any of the above descriptions.
[0044] This application provides a motor control method. After the motor control drive component moves to the corresponding position of the target layer of the model to be printed, the rotation angle data of the motor is collected. Based on the collected rotation angle data, the acquisition positioning error of the target layer is determined, and the predicted positioning error of the target layer based on historical acquisition data is obtained. The actual positioning error of the target layer is determined based on the acquisition positioning error and the predicted positioning error. Thus, the acquisition data of the rotation detection sensor can be corrected by the predicted positioning error based on historical acquisition data to eliminate measurement errors caused by manual assembly and other signal coupling. The actual positioning error of the target layer is obtained, and the motor displacement is compensated by the actual positioning error. This avoids the problem of low motor positioning accuracy caused by step loss and measurement errors of the rotation detection sensor, thereby avoiding layering and delamination in the printed model and improving the model printing quality of the additive manufacturing equipment. This application also provides a motor control system, additive manufacturing equipment, and a readable storage medium, which have the same beneficial effects as the above-described motor control method. Attached Figure Description
[0045] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0046] Figure 1 A flowchart of the steps of a motor control method provided in this application;
[0047] Figure 2 A schematic diagram illustrating the connection relationship between a magnetic rotation detection sensor, a radial magnet, and a stepper motor provided in this application;
[0048] Figure 3a A schematic diagram of the acquisition and positioning error curve of historical data provided in this application;
[0049] Figure 3b A schematic diagram of the acquisition and positioning error curve of another type of historical data provided in this application;
[0050] Figure 3c A schematic diagram of the acquisition and positioning error curve of another type of historical data provided in this application;
[0051] Figure 3d A schematic diagram of an actual positioning error provided in this application;
[0052] Figure 3e A schematic diagram of another actual positioning error provided in this application;
[0053] Figure 4 A schematic diagram of another acquisition and positioning error provided in this application;
[0054] Figure 5 A schematic diagram of the acquisition and positioning error curve after motor step loss compensation provided in this application;
[0055] Figure 6a A timing diagram of the identification pulses corresponding to the forward rotation of a motor provided in this application;
[0056] Figure 6b A timing diagram of the identification pulse corresponding to the reverse rotation of a motor provided in this application;
[0057] Figure 7 A schematic diagram of the structure of a motor control system provided in this application;
[0058] Figure 8 This is a schematic diagram of an additive manufacturing equipment provided in this application. Detailed Implementation
[0059] The core of this application is to provide a motor control method, device, additive manufacturing equipment, and readable storage medium that can eliminate measurement errors of rotation detection sensors caused by manual assembly and coupling with other signals, avoid the phenomenon of discontinuity, and improve the model printing quality of additive manufacturing equipment.
[0060] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0061] Firstly, please refer to Figure 1 , Figure 1 This application provides a flowchart of a motor control method applied to an additive manufacturing equipment. The additive manufacturing equipment includes a motor and a rotation detection sensor. The motor drives the drive components of the additive manufacturing equipment, and the rotation detection sensor collects rotation angle data of the motor. The motor control method includes:
[0062] S101: After the motor control drive component moves to the corresponding position of the target layer of the model to be printed, the rotation angle data of the motor is collected, and the collection positioning error of the target layer is determined based on the collected rotation angle data; the collection positioning error is the positioning error of the target layer determined based on the collected rotation angle data.
[0063] The rotation detection sensor includes, but is not limited to, magnetic encoders, photoelectric encoders, Hall effect sensors, and TMR sensors. The motor includes, but is not limited to, stepper motors. Taking a magnetic encoder as an example of a rotation detection sensor, the connection relationship between the magnetic encoder, radial magnet, and stepper motor is as follows: Figure 2 As shown, the magnetic rotation detection sensor A determines the rotation angle and rotation direction data of the stepper motor C by detecting the magnetic flux signal of the radial magnet B.
[0064] Specifically, the rotation angle data detected by the magnetic rotation detection sensor can be used as the motor's rotation angle data, or the rotation angle data obtained after processing the magnetic rotation detection sensor can be used as the motor's rotation angle data to improve the reliability of the acquired rotation angle data. In this embodiment, the motor's rotation angle data can be acquired based on the rotation angle data detected by the magnetic rotation detection sensor according to a preset control cycle, or the motor's rotation angle data can be acquired based on the rotation angle data detected by the magnetic rotation detection sensor after receiving a trigger signal. For example, the trigger signal can be generated after the motor moves to the position of the printing target layer. This embodiment does not specifically limit the triggering conditions for acquiring the motor's rotation angle data. The target layer can be any layer of the model during the printing process, that is, the layer corresponding to the target position of the motor movement. This application does not impose special restrictions on the specific position of the target layer.
[0065] The positioning error of the target layer of the model to be printed can be obtained based on the rotation angle data. Since the current rotation angle data is obtained based on the magnetic rotation detection sensor, this embodiment refers to the positioning error obtained based on the acquired data as the acquisition positioning error. Specifically, the positioning error is the error between the position below the printing platform and the ideal position of the target layer when the motor-controlled printing platform moves to the target layer.
[0066] As an optional embodiment, the acquisition of motor rotation angle data includes:
[0067] The operating mode of the control rotation detection sensor is ABZ mode, which collects the pulse signal of the motor and determines the number of motor rotations based on the pulse signal. ABZ mode is an operating mode that collects the number of motor rotations and / or rotation angle by using the motor's pulse signal.
[0068] Based on the collected motor rotation count and the lead of the rotation detection sensor, the estimated travel distance of the motor is determined;
[0069] When the difference between the estimated travel distance of the motor and the target travel distance of the motor is greater than or equal to the preset difference, the additive manufacturing equipment is controlled to report an error.
[0070] When the difference between the estimated travel distance of the motor and the target travel distance of the motor is less than the preset difference, the operating mode of the rotation detection sensor is controlled to be the angle acquisition mode, and the rotation angle data of the motor is collected. The angle acquisition mode is the working mode of directly collecting the rotation angle of the motor.
[0071] Specifically, in order to improve the accuracy of the rotation angle data collected by the rotation detection sensor, this embodiment first performs coarse positioning to ensure that the layer deviation between the rotation angle data collected by the rotation detection sensor and the positioning of the previous layer is within one revolution. For example, it ensures that the layer deviation is less than 1 / 4 lead, that is, the layer deviation between the positioning of the previous layer and the positioning of the previous layer is less than 1 / 4 revolution. It can be understood that after printing the previous layer and before the motor lifts up, there is a preset layer thickness difference between the position of the motor and the position of that layer. The layer thickness is generally much smaller than the lead of one revolution of the motor. In this way, directly obtaining the layer deviation from the positioning of the previous layer can facilitate calculation and reduce the amount of computation.
[0072] The rotation detection sensor includes ABZ mode and angle acquisition mode (e.g., Angel mode). The two modes have different positioning resolutions; ABZ mode achieves coarse positioning, while angle acquisition mode achieves fine positioning. For example, the positioning resolution of ABZ mode is 4mm / 2048, or 2µm, and the positioning resolution of angle acquisition mode is 4mm / 16384, or 0.2µm, where 4mm is the lead of the rotation detection sensor. ABZ mode is primarily used to acquire the number of motor rotations, while angle acquisition mode is used to directly acquire the motor's rotation angle.
[0073] Understandably, the rotation detection sensor is initially set to ABZ mode. After the motor rotates a certain angle, the sensor outputs a recognition pulse. This pulse is directional and includes both A and B pulses. Figure 6a As shown, if pulse B is low at the rising edge of pulse A, the motor rotates in the forward direction. Figure 6b As shown, if pulse B is high at the rising edge of pulse A, the motor rotates in the opposite direction. The MCU (Microcontroller Unit) in the rotation detection sensor captures and counts pulse signals in ABZ mode. Based on the count value of the pulse signals, the number of motor rotations can be determined, thereby calculating the motor's position, i.e., determining the relative distance of the motor rotation.
[0074] Specifically, it can be done through Calculate the estimated travel distance of the motor, where L is the estimated travel distance, c is the counter count value, and r is the current positioning resolution of the rotation detection sensor, i.e., N recognition pulses are output per revolution.
[0075] After calculating the relative distance, it is determined whether the difference between the estimated travel distance and the target travel distance of the motor is greater than or equal to a preset difference. If so, the additive manufacturing equipment is controlled to report an error; otherwise, the rotation detection sensor performs fine positioning through the angle acquisition mode. This means the rotation detection sensor is controlled to operate in angle acquisition mode to collect rotation angle data, ensuring that the layer deviation is within one revolution when acquiring rotation angle data, thus improving the accuracy of rotation angle data acquisition. When the rotation detection sensor is operating in angle acquisition mode, rotation angle data can be directly detected by the magnetic rotation detection sensor.
[0076] S102: Obtain the predicted positioning error of the target layer; the predicted positioning error is the positioning error of the target layer predicted based on historical data.
[0077] Reference Figure 3a and Figure 3b As shown, where, Figure 3a , Figure 3b and Figure 3c The horizontal axis represents the layer number of the printed layer, and the vertical axis represents the acquisition and positioning error corresponding to the printed layer. This is the acquisition and positioning error fitting curve obtained in this embodiment based on historical acquisition data. Figure 3a and Figure 3b The x-axis represents the layer number corresponding to the target layer, and the y-axis represents the acquisition and positioning error. Figure 3a and Figure 3b As can be seen, due to the influence of the coaxial eccentricity of the meridional magnet and / or other signal coupling, the acquisition and positioning error exhibits a sine wave or sawtooth wave shape. Analysis of the two error curves shows that their trends are similar to a sine wave. For ease of analysis, [the curves are then analyzed]. Figure 3a Ignoring even-numbered layers Figure 3c ,from Figure 3c The error curve exhibits strong periodicity, and a small change in the horizontal axis corresponds to a small change in the vertical axis. Therefore, ignoring the value of even-numbered layers has minimal impact on the curve's trend. Thus, the curve prediction method can effectively eliminate measurement errors caused by manual assembly and / or other signal coupling in the collected data. The historical collected data refers to the acquisition positioning errors corresponding to the printed layers obtained from historical data.
[0078] In some implementations, the positioning error of the target layer can be predicted based on the fitting curve of historical data. For example, a sinusoidal function correlation curve can be used to fit the positioning error of the target layer to obtain a fitting function. The fitting function is used to represent the mapping relationship between the layer position and the positioning error. The predicted positioning error is then predicted using the position of the target layer and the fitting function.
[0079] Specifically, the positioning error of the target layer can be predicted based on the changing trends of the acquisition and positioning errors of other printing layers of the model to be printed obtained in the early stage. In this embodiment, the predicted positioning error is called the predicted positioning error. For example, if the target layer is the 55th layer, the positioning error of the target layer can be predicted by the changing trends of the acquisition and positioning errors of the printing layers before the 55th layer, such as the 54th, 53rd, 52nd or 51st layers, to obtain the predicted positioning error of the target layer.
[0080] It is understood that S101 and S102 can be executed simultaneously or sequentially, and this embodiment does not make specific limitations here.
[0081] As an optional embodiment, obtaining the prediction and localization error of the target layer includes:
[0082] Obtain the acquisition and positioning errors of multiple printing layers that are adjacent to the target layer and located before the target layer in the historical acquisition data;
[0083] Obtain the prediction relationship based on the acquisition and positioning errors of multiple printing layers;
[0084] The predicted positioning error of the target layer is determined based on the acquisition and positioning errors of multiple printing layers and the prediction relationship.
[0085] As an optional implementation, the prediction relation is D. n =D n-1 -D n-3 +D n-2 ;
[0086] Among them, D n D represents the prediction and localization error of the target layer. n-1 D represents the acquisition and positioning error of the printed layer whose position precedes the target layer. n-2 D represents the acquisition and positioning error of the printed layer, which is two layers ahead of the target layer. n-3 This represents the acquisition and positioning error of the printed layer, which is three layers ahead of the target layer.
[0087] Reference Figure 3c As shown, the error curve exhibits strong periodicity. Therefore, curve prediction can be performed based on the curve's variation pattern. The data acquired by the magnetic rotation detection sensor is filtered to eliminate deviations caused by manual assembly and signal coupling. To ensure the accuracy of the prediction results, the acquisition and positioning errors of several printing layers close to the target layer are selected to predict the positioning error of the target layer.
[0088] Specifically, a prediction relation can be constructed based on the acquisition and positioning errors of multiple printing layers adjacent to and preceding the target layer. This prediction relation is then used to obtain the predicted positioning error of the target layer. For example, assuming a prediction relation is constructed based on the acquisition and positioning errors of three printing layers adjacent to and preceding the target layer, the prediction relation would be D. n =D n-1 -D n-3 +D n-2 , where D n =D n-1 -D n-3 This represents the error increment between layers, specifically the error increment every two layers shown in the historical data. For example, assuming the target layer is layer 55, the acquisition and positioning errors of layers 54, 53, and 52 are obtained. The acquisition and positioning error of layer 54 is subtracted from the acquisition and positioning error of layer 52, and this difference is added to the acquisition and positioning error of layer 53. The sum obtained is the predicted positioning error of layer 55. It can be understood that the sine function has an approximately linear trend within a short range of values. Therefore, constructing a prediction relationship based on the acquisition and positioning errors of the three printing layers adjacent to and preceding the target layer can limit the prediction range to a shorter range, making the prediction results more accurate.
[0089] In some implementations, a prediction relationship can be constructed based on the acquisition and positioning errors of a preset number of printing layers adjacent to and preceding the target layer. The preset number is less than a preset threshold, thereby limiting the prediction range to a shorter value interval and making the prediction results more accurate. S103: Determine the actual positioning error of the target layer based on the acquisition and positioning errors and the predicted positioning error.
[0090] Specifically, the acquired positioning error can be filtered based on the predicted positioning error to obtain the actual positioning error of the target layer. Alternatively, the predicted positioning error and the acquired positioning error can be fitted to obtain a fitted error curve, thereby obtaining the actual positioning error of the target layer.
[0091] In a specific embodiment, after obtaining the acquisition positioning error and the predicted positioning error, the difference between the acquisition positioning error and the predicted positioning error can be used to obtain the actual positioning error used to control the motor operation. For example, the actual positioning error can be calculated using the first relation D = Dc - Dn, where D is the actual positioning error, Dc is the acquisition positioning error, and Dn is the predicted positioning error.
[0092] It is understandable that the rotation detection sensor has a certain measurement error due to the coaxiality problem of the assembly between the rotation detection sensor and the motor. In addition, noise interference such as electromagnetic signals may also introduce noise into the measurement signal value of the rotation detection sensor. Thus, when combined with the positioning error of the motor itself, multiple errors accumulate, making it difficult to obtain the positioning error of the motor itself from the acquisition positioning error detected by the rotation detection sensor.
[0093] In this application, as described in the above embodiment, the difference between the acquired positioning error and the predicted positioning error is used to obtain the actual positioning error for controlling motor operation. It can be understood that the predicted positioning error is the positioning error predicted from the acquired positioning errors of the previous few layers of the target layer. In other words, the predicted positioning error inherits the characteristics of the acquired positioning errors of the previous few layers of the target layer, including measurement errors caused by assembly coaxiality and noise interference, but it does not include positioning errors caused by sudden step loss in the motor. Therefore, by subtracting the acquired positioning error from the predicted positioning error, the positioning error caused by sudden step loss in the motor can be filtered out from the acquired positioning error and determined as the actual positioning error of the motor. This is beneficial for making more accurate motor position control based on the actual positioning error. In other words, the actual positioning error is the actual motor positioning error after eliminating measurement errors caused by assembly coaxiality, noise, etc.
[0094] In some implementations, after obtaining the acquisition positioning error and the prediction positioning error, a proportionality coefficient between the acquisition positioning error and the prediction positioning error can be calculated, and the magnitude of this proportionality coefficient can be used to represent the magnitude of the actual positioning error.
[0095] S104: Perform displacement compensation on the motor based on the actual positioning error.
[0096] Based on the actual positioning error of the target layer, motor displacement compensation is performed. Specifically, real-time displacement compensation of the target layer can be performed each time the printing platform descends to reach the target layer, enabling precise positioning layer by layer in real time. It can be understood that the overall computational load of steps S101 to S103 is relatively small, allowing for rapid determination of the actual positioning error. This enables real-time displacement compensation of the motor based on the actual positioning error, resulting in more accurate motor positioning and improved printing precision.
[0097] When the lower surface of the printing platform or printing model base presses down close to the screen, it is necessary to expel the liquid pressure and air inside the resin to make the exposed liquid resin more uniform. Therefore, a certain waiting time can be set before exposure; this time is the lamp-off time. In some embodiments, steps S101 to S103 can be performed during the lamp-off time after the printing platform descends to the target layer each time. It can be understood that the overall computational load of steps S101 to S103 is relatively small, allowing for rapid determination of the actual positioning error. The actual positioning error can be determined before the lamp-off time ends, and this error is generally not too large, having little impact on the distribution of liquid pressure and air inside the resin. Thus, without waiting, real-time displacement compensation of the motor based on the actual positioning error can be achieved, resulting in more accurate motor positioning and improved printing precision.
[0098] In some implementations, hysteresis displacement compensation may be performed on the layer below the target layer, or on other layers after the target layer. That is, after moving to the target layer, the rotation angle data is first obtained, and after obtaining the actual positioning error through steps S101 to S103, displacement compensation may be temporarily not performed, but instead performed on the layer below the target layer or on other layers after the target layer.
[0099] In some embodiments, motor displacement compensation can be performed only when the actual positioning error exceeds a preset error threshold. It is understood that the actual positioning error has a certain degree of fluctuation; thus, by setting a displacement compensation trigger based on a preset error threshold, the motor can be kept running smoothly under normal conditions, preventing instability caused by repeated positioning compensation and improving motor control efficiency. Alternatively, the actual positioning error can be used directly to compensate the motor after it is obtained.
[0100] It is understood that the motor in this embodiment can specifically be a motor used to drive printing components such as the printing platform or printing nozzle in the additive manufacturing equipment to move in the z-axis direction. (Refer to...) Figure 3a As shown, the maximum value of the acquisition and positioning error curve ①, which is affected by the coaxial eccentricity of the radial magnet, is 8 μm. (Refer to...) Figure 3b As shown, the maximum value in the acquisition and positioning error curve ②, which is affected by the coupling of other noise signals, is 13µm. After subtracting the acquisition and positioning error curve from the predicted positioning error curve layer by layer, the actual positioning error curve is obtained as a reference. Figure 3d and Figure 3e As shown, where, Figure 3d and Figure 3e The horizontal axis represents the layer number of the printed layer, and the vertical axis represents the actual positioning error corresponding to the printed layer. Figure 3d In this process, the maximum actual positioning error of the target layer was reduced to 2µm. Figure 3e In this process, the maximum value of the actual positioning error of the target layer is reduced to 2.2µm. Therefore, controlling the motor movement by the actual positioning error of the target layer, compared to directly controlling the motor movement by collecting the positioning error, allows us to eliminate measurement errors caused by assembly coaxiality, noise, etc., from the collected positioning error to obtain the actual positioning error. This makes it easier and more accurate to detect the measurement signal fluctuations when the motor actually loses steps from the actual positioning error.
[0101] As can be seen, in this embodiment, the acquisition and positioning error of the target layer of the model to be printed is first determined by the rotation angle data collected by the rotation detection sensor. Then, the positioning error of the target layer is predicted using the pattern of the acquisition error of the rotation detection sensor, resulting in a predicted positioning error. The predicted positioning error is used to filter the data collected by the rotation detection sensor to eliminate measurement errors caused by manual assembly and coupling with other signals. Finally, the actual positioning error obtained based on the predicted positioning error and the acquisition positioning error is used to control the motor operation and perform displacement compensation. In this way, the acquisition positioning error can be corrected by the predicted positioning error to obtain the actual positioning error of the target layer, and the motor displacement can be compensated by the actual positioning error. This avoids the problem of low motor positioning accuracy caused by step loss and measurement errors of the rotation detection sensor, thereby preventing layer lines and breaks in the printed model and improving the model printing quality of the additive manufacturing equipment.
[0102] It should be noted that the term "step loss" in this application includes both insufficient and excessive motor displacement, and is not limited to the understanding of insufficient motor displacement.
[0103] Based on the above embodiments:
[0104] As an optional embodiment, the rotation angle data of the motor is collected, including:
[0105] Acquire multiple rotation angle data collected by the rotation detection sensor within a preset time period;
[0106] The mode, mean, or median of multiple rotation angle data are used to determine the rotation angle data of the motor.
[0107] The acquisition and positioning error of the target layer is determined based on the collected rotation angle data, including:
[0108] The number of motor rotations collected by the rotation detection sensor and the lead of the rotation detection sensor are obtained, where the lead is the travel distance corresponding to one rotation of the motor.
[0109] Based on the collected data on the number of motor rotations, lead, and rotation angle, the actual travel distance of the motor is determined.
[0110] The target travel distance of the motor is obtained, and the acquisition and positioning error of the target layer is determined based on the target travel distance and the actual travel distance.
[0111] To improve the reliability of the collected data, multiple rotation angle data points collected by the rotation detection sensor within a preset time period can be acquired. These data points are then sorted according to their magnitude, either from largest to smallest or smallest to largest. When selecting the motor's rotation angle data, the median, mode, or mean can be chosen from the sorted data. The mean is obtained by averaging the remaining rotation angle data after removing one or more minimum / maximum values. As a preferred embodiment, to further improve the reliability of the selected rotation angle data, the rotation angle data that appears most frequently can be selected first, i.e., the mode. If there is no mode among the multiple rotation angle data, the median is selected, thus avoiding the influence of excessively large or small rotation angle data.
[0112] Understandably, when calculating the mean and median, the data crossing zero points needs to be processed first. For example, assuming the current positioning resolution of the rotation detection sensor is 16384, meaning the sensor's data acquisition range is 0 to 16383, and multiple rotation angle data collected within a preset time period are 0, 1, 2, 16300, and 16311, with a maximum value of 0 and a minimum value of 16311, the absolute value of the difference between the two is 16311, which is greater than 8192. Therefore, it is determined that this set of rotation angle data collected within the preset time period has zero-crossing points. The multiple rotation angle data 0, 1, 2, 16300, and 16311 need to be processed as: 16383+0, 16383+1, 16383+2, 16300, and 16311, or as: 0, 1, 2, 16300-16383, 16311-16383, before calculating the mean and median. In other words, the mean and median are calculated after unifying the data at the zero point to a single dimension.
[0113] The following is a detailed explanation of the sorting of multiple rotation angle data:
[0114] It is understandable that rotation angle data may cross zero, meaning that the maximum value of the rotation angle data plus 1 might become 0. In other words, a rotation angle of 0 might be larger than a rotation angle of 16384. Therefore, when sorting, it is necessary to consider whether multiple rotation angle data collected within a preset time period cross zero. The process of detecting whether multiple rotation angle data collected within a preset time period cross zero includes:
[0115] Determine the maximum and minimum values among multiple rotation angle data within a preset time period;
[0116] Determine whether the absolute value of the difference between the maximum and minimum values is greater than half of the current positioning resolution of the rotation detection sensor;
[0117] If so, determine if a zero-crossing point exists;
[0118] If not, it is determined that there is no zero-crossing point.
[0119] For example, assuming the current positioning resolution of the rotation detection sensor is 16384, and multiple rotation angle data collected within a preset time period are 0, 1, 2, 16300, and 16311 respectively, with a maximum value of 0 and a minimum value of 16311, the absolute value of the difference between the two is 16311, which is greater than 8192. Therefore, it is determined that this set of rotation angle data collected within the preset time period has a zero-crossing point. Thus, after sorting in ascending order, it is as follows:
[0120] 16300, 16311, 0, 1, 2;
[0121] Since there is no mode in this set of rotation angle data, the median can be selected as 0 as the current rotation angle data.
[0122] After determining the motor's rotation angle data, the acquisition positioning error is obtained based on the data collected by the rotation detection sensor. Before calculating the acquisition positioning error, this embodiment also includes the operation of acquiring the lead of the rotation detection sensor and the number of motor rotations. Based on the collected number of motor rotations, lead, and collected rotation angle data, the actual travel distance of the motor is determined. Specifically, the number of motor rotations can be calculated based on parameters such as rotation angle data and positioning resolution. The positioning resolution is the counting resolution corresponding to one rotation of the motor. A second relationship is constructed based on the lead, positioning resolution, rotation angle data, and preset layer thickness. The acquisition positioning error of the target layer is calculated using this second relationship.
[0123] The second relationship can be Dc = (da / r × α) × β - λ, where Dc is the acquisition and positioning error, da is the motor rotation angle, r is the current positioning resolution, α is the lead, β is the zero-crossing indicator value, and λ is the preset layer thickness. Wherein, if a zero-crossing point exists among the multiple rotation angle data acquired within the preset time period, then β = -1; if no zero-crossing point exists among the multiple rotation angle data acquired within the preset time period, then β = 1. In some embodiments, the anchor point for calculating the rotation angle data is the motor position after printing the previous layer and before the motor lifts up. Since the motor position after printing the previous layer and before the motor lifts up has a preset layer thickness difference from the layer position, as shown in the above embodiment, a preset layer thickness is introduced so that the final acquisition and positioning error can eliminate the influence of different layer thicknesses on the motor positioning position. In some embodiments, if the anchor point for calculating the rotation angle data is another position, a preset layer thickness may not be introduced; instead, other data may be introduced to eliminate the positional difference between the anchor point and the target layer.
[0124] As an optional embodiment, displacement compensation of the motor based on the actual positioning error includes:
[0125] When the actual positioning error exceeds the preset error threshold, a displacement compensation command is triggered.
[0126] In response to the displacement compensation command, the displacement compensation value is determined based on the actual positioning error;
[0127] Displacement compensation is performed on the motor based on the displacement compensation value.
[0128] Understandable Figure 3a The acquisition and positioning error curve ①, which is affected by manual assembly, is shown. Figure 3b The acquisition and positioning error curve ② is shown, which is affected by the coupling of other noise signals. Figure 4 and Figure 5 The horizontal axis represents the layer number of the printed layer, and the vertical axis represents the acquisition and positioning error corresponding to the printed layer. Considering practical applications, refer to... Figure 4 As shown, there is a situation where the acquisition and positioning error changes from acquisition and positioning error curve ① to acquisition and positioning error curve ②. The first half of this curve is a relatively flat sine wave curve, while the second half is a sawtooth wave curve. Based on this, to adapt to the changes in acquisition error caused by different factors, this embodiment designs a preset error threshold. When the calculated actual positioning error of the target layer is greater than the preset error threshold, a displacement compensation value is determined based on the actual positioning error. The motor is then displaced using this displacement compensation value, thereby avoiding false triggering of displacement compensation. It can be understood that when the actual positioning error is positive, positive displacement compensation is performed, and when the actual positioning error is negative, reverse displacement compensation is performed.
[0129] The preset error threshold can be pre-set, such as 10µm, or it can be calculated based on actual working conditions; this embodiment does not impose a specific limitation. As an optional embodiment, before compensating for motor displacement based on the actual positioning error, the method further includes:
[0130] Obtain the range of predicted positioning errors in historical data and determine the difference between the maximum and minimum values within that range;
[0131] The preset error threshold is determined based on the difference and the layer texture generation threshold. The layer texture generation threshold is the minimum positioning error that allows the printed model to generate layer textures.
[0132] Understandably, up to the target layer, the predicted positioning error of multiple printing layers can be obtained, the range of predicted positioning error values in historical data can be determined, and the difference between the maximum and minimum values in the range can be determined. Based on the difference and the layer texture threshold, a third relation can be constructed, and the preset error threshold can be calculated using the third relation.
[0133] The third relation is f = σ + 2 × Dn max f is the preset error threshold, σ is the layer formation threshold, and Dn max The extreme values after removing the largest variance values from the actual positioning errors in the historical data are used to obtain a preset error threshold that can better adapt to situations where other signals are coupled in the acquired data. Thus, referring to... Figure 5 As shown, after displacement compensation, the corrected acquisition and positioning error curves are all below the sine function, which makes the current layer thickness move closer to the negative direction of the error, making the motor positioning more accurate, or reducing the layer thickness and preventing discontinuity.
[0134] Secondly, please refer to Figure 7 , Figure 7 This application provides a schematic diagram of a motor control device applied to an additive manufacturing equipment. The additive manufacturing equipment includes a motor and a rotation detection sensor. The motor drives the drive components of the additive manufacturing equipment, and the rotation detection sensor collects rotation angle data of the motor. The motor control device includes:
[0135] The first acquisition module is used to acquire the rotation angle data of the motor after the motor control drive component moves to the corresponding position of the target layer of the model to be printed, and to determine the acquisition positioning error of the target layer based on the acquired rotation angle data; the acquisition positioning error is the positioning error of the target layer determined based on the acquired rotation angle data.
[0136] The second acquisition module is used to acquire the predicted positioning error of the target layer; the predicted positioning error is the positioning error of the target layer predicted based on historical data.
[0137] The determination module is used to determine the actual positioning error of the target layer based on the acquired positioning error and the predicted positioning error.
[0138] The control module is used to compensate for the displacement of the motor based on the actual positioning error.
[0139] As can be seen, in this embodiment, the acquisition and positioning error of the target layer of the model to be printed is first determined by the rotation angle data collected by the rotation detection sensor. Then, the positioning error of the target layer is predicted using the pattern of the acquisition error of the rotation detection sensor, resulting in a predicted positioning error. The predicted positioning error is used to filter the data collected by the rotation detection sensor to eliminate measurement errors caused by manual assembly and coupling with other signals. Finally, the actual positioning error obtained based on the predicted positioning error and the acquisition positioning error is used to control the motor operation and perform displacement compensation. In this way, the acquisition positioning error can be corrected by the predicted positioning error to obtain the actual positioning error of the target layer, and the motor displacement can be compensated by the actual positioning error. This avoids the problem of low motor positioning accuracy caused by step loss and measurement errors of the rotation detection sensor, thereby preventing layer lines and breaks in the printed model and improving the model printing quality of the additive manufacturing equipment.
[0140] As an optional embodiment, the rotation angle data of the motor is collected, including:
[0141] Acquire multiple rotation angle data collected by the rotation detection sensor within a preset time period;
[0142] The mode, mean, or median of multiple rotation angle data are used to determine the rotation angle data of the motor.
[0143] The acquisition and positioning error of the target layer is determined based on the collected rotation angle data, including:
[0144] The number of motor rotations collected by the rotation detection sensor and the lead of the rotation detection sensor are obtained, where the lead is the travel distance corresponding to one rotation of the motor.
[0145] Based on the collected data on the number of motor rotations, lead, and rotation angle, the actual travel distance of the motor is determined.
[0146] Obtain the target travel distance of the motor, and determine the acquisition and positioning error of the target layer based on the target travel distance and the actual travel distance.
[0147] As an optional embodiment, obtaining the prediction and localization error of the target layer includes:
[0148] Obtain the acquisition and positioning errors of multiple printing layers that are adjacent to the target layer and located before the target layer in the historical acquisition data;
[0149] Obtain the prediction relationship based on the acquisition and positioning errors of multiple printing layers;
[0150] The predicted positioning error of the target layer is determined based on the acquisition and positioning errors of multiple printing layers and the prediction relationship.
[0151] As an optional implementation, the prediction relation is D. n =D n-1 -D n-3 +D n-2 ;
[0152] Among them, D n D represents the prediction and localization error of the target layer. n-1 D represents the acquisition and positioning error of the printed layer whose position precedes the target layer. n-2 D represents the acquisition and positioning error of the printed layer, which is two layers ahead of the target layer. n-3 This represents the acquisition and positioning error of the printed layer, which is three layers ahead of the target layer.
[0153] As an optional embodiment, displacement compensation of the motor based on the actual positioning error includes:
[0154] When the actual positioning error exceeds the preset error threshold, a displacement compensation command is triggered.
[0155] In response to the displacement compensation command, the displacement compensation value is determined based on the actual positioning error;
[0156] Displacement compensation is performed on the motor based on the displacement compensation value.
[0157] As an optional embodiment, the device further includes:
[0158] The third acquisition module is used to acquire the range of predicted positioning errors in historical data, determine the difference between the maximum and minimum values in the range, and determine a preset error threshold based on the difference and the layer texture generation threshold. The layer texture generation threshold is the minimum positioning error that can cause the printed model to generate layer textures.
[0159] As an optional embodiment, the acquisition of motor rotation angle data includes:
[0160] The operating mode of the control rotation detection sensor is ABZ mode, which collects the pulse signal of the motor and determines the number of motor rotations based on the pulse signal. ABZ mode is an operating mode that collects the number of motor rotations and / or rotation angle by using the motor's pulse signal.
[0161] Based on the collected motor rotation count and the lead of the rotation detection sensor, the estimated travel distance of the motor is determined;
[0162] When the difference between the estimated travel distance of the motor and the target travel distance of the motor is greater than or equal to the preset difference, the additive manufacturing equipment is controlled to report an error.
[0163] When the difference between the estimated travel distance of the motor and the target travel distance of the motor is less than the preset difference, the operating mode of the rotation detection sensor is controlled to be the angle acquisition mode, and the rotation angle data of the motor is collected. The angle acquisition mode is the working mode of directly collecting the rotation angle of the motor.
[0164] Specifically, controlling error reporting in additive manufacturing equipment can involve controlling the equipment to report errors on an interactive screen, via voice, in the host computer background, or via a remote client.
[0165] Thirdly, this application also provides an additive manufacturing apparatus, comprising:
[0166] Memory, used to store computer programs;
[0167] A processor is used to execute a computer program to implement the steps of the motor control method as described in any of the embodiments above.
[0168] The memory 11 includes a non-volatile storage medium and an internal memory 11. The non-volatile storage medium stores an operating system and computer-readable instructions, and the internal memory 11 provides an environment for the operation of the operating system and computer-readable instructions in the non-volatile storage medium. For a description of the additive manufacturing equipment provided in this application, please refer to the above embodiments, which will not be repeated here.
[0169] The additive manufacturing equipment provided in this application has the same beneficial effects as the motor control method described above.
[0170] Fourthly, this application also provides a readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the motor control method as described in any of the embodiments above.
[0171] The storage medium may include various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks. For a description of the readable storage medium provided in this application, please refer to the above embodiments, which will not be repeated here.
[0172] The readable storage medium provided in this application has the same beneficial effects as the above-described motor control method.
[0173] It should also be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0174] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A motor control method, characterized in that, An additive manufacturing equipment is used, comprising a motor and a rotation detection sensor. The motor drives the drive components of the additive manufacturing equipment, and the rotation detection sensor collects rotation angle data of the motor. The motor control method includes: After the motor controls the drive component to move to the corresponding position of the target layer of the model to be printed, the rotation angle data of the motor is collected, and the acquisition positioning error of the target layer is determined based on the collected rotation angle data; the acquisition positioning error is the positioning error of the target layer determined based on the collected rotation angle data. The predicted positioning error of the target layer is obtained; the predicted positioning error is the positioning error of the target layer predicted based on the acquisition positioning errors of the previous few layers of the target layer. The actual positioning error of the target layer is determined based on the acquired positioning error and the predicted positioning error. Displacement compensation is performed on the motor based on the actual positioning error.
2. The motor control method according to claim 1, characterized in that, Collect the rotation angle data of the motor, including: Acquire multiple rotation angle data collected by the rotation detection sensor within a preset time period; The mode, mean, or median of the plurality of rotation angle data is determined as the rotation angle data of the motor; The determination of the acquisition and positioning error of the target layer based on the acquired rotation angle data includes: The number of motor rotations collected by the rotation detection sensor and the lead of the rotation detection sensor are obtained, wherein the lead is the travel distance corresponding to one rotation of the motor; Based on the collected motor rotation number, lead, and rotation angle data, the actual travel distance of the motor is determined; The target travel distance of the motor is obtained, and the acquisition and positioning error of the target layer is determined based on the target travel distance and the actual travel distance.
3. The motor control method according to claim 1, characterized in that, The step of obtaining the prediction and localization error of the target layer includes: Acquire the acquisition and positioning errors of multiple printing layers adjacent to and preceding the target layer; Obtain the prediction relationship based on the acquisition and positioning errors of the multiple printing layers; The predicted positioning error of the target layer is determined based on the acquisition and positioning errors of the multiple printing layers and the predicted relationship.
4. The motor control method according to claim 3, characterized in that, The prediction relation is D. n =D n-1 -D n-3 +D n-2 ; Among them, D n D represents the prediction and localization error of the target layer. n-1 D represents the acquisition and positioning error of the printing layer that is one layer ahead of the target layer. n-2 D represents the acquisition and positioning error of the printed layer, which is two layers ahead of the target layer. n-3 The acquisition and positioning error is the sampling error of the printing layer that is three layers ahead of the target layer.
5. The motor control method according to claim 1, characterized in that, The displacement compensation of the motor based on the actual positioning error includes: When the actual positioning error is greater than a preset error threshold, a displacement compensation command is triggered; In response to the displacement compensation command, a displacement compensation value is determined based on the actual positioning error; The motor is subjected to displacement compensation based on the displacement compensation value.
6. The motor control method according to claim 5, characterized in that, Before performing displacement compensation on the motor based on the actual positioning error, the method further includes: Obtain the range of values for the predicted positioning error, and determine the difference between the maximum and minimum values within the range; The preset error threshold is determined based on the difference and the layer texture generation threshold, wherein the layer texture generation threshold is the minimum value of the positioning error that enables the printed model to generate layer texture.
7. The motor control method according to any one of claims 1-6, characterized in that, Collect the rotation angle data of the motor, including: The operating mode of the rotation detection sensor is controlled to be ABZ mode, which collects the pulse signal of the motor and determines the number of rotations of the motor based on the pulse signal. The ABZ mode is an operating mode that collects the number of rotations and / or rotation angle of the motor by using the pulse signal of the motor. Based on the collected number of motor rotations and the lead of the rotation detection sensor, the estimated travel distance of the motor is determined; When the difference between the estimated travel distance of the motor and the target travel distance of the motor is greater than or equal to a preset difference, the additive manufacturing equipment is controlled to report an error. When the difference between the estimated travel distance of the motor and the target travel distance of the motor is less than a preset difference, the operating mode of the rotation detection sensor is controlled to be the angle acquisition mode, and the rotation angle data of the motor is acquired. The angle acquisition mode is the working mode of directly acquiring the rotation angle of the motor.
8. A motor control device, characterized in that, An additive manufacturing equipment is used, comprising a motor and a rotation detection sensor. The motor drives the drive components of the additive manufacturing equipment, and the rotation detection sensor collects rotation angle data of the motor. The motor control device includes: The first acquisition module is used to acquire the rotation angle data of the motor after the motor controls the drive component to move to the corresponding position of the target layer of the model to be printed, and to determine the acquisition positioning error of the target layer based on the acquired rotation angle data; the acquisition positioning error is the positioning error of the target layer determined based on the acquired rotation angle data. The second acquisition module is used to acquire the predicted positioning error of the target layer; the predicted positioning error is the positioning error of the target layer predicted based on the acquisition positioning errors of the previous few layers of the target layer. The determination module is used to determine the actual positioning error of the target layer based on the acquired positioning error and the predicted positioning error; The control module is used to perform displacement compensation on the motor based on the actual positioning error.
9. An additive manufacturing apparatus, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the motor control method as described in any one of claims 1-7 when executing the computer program.
10. A readable storage medium, characterized in that, The readable storage medium stores a computer program that, when executed by a processor, implements the steps of the motor control method as described in any one of claims 1-7.
Citation Information
Patent Citations
Calibration method and build unit
CN109070469A