Automatic calibration method for 3D printing device, and electronic device and storage medium
Through the automatic calibration method, the motion of the nozzle on the module detection platform is used to obtain the coordinates of the touch point, calculate the center coordinates and calibrate the offset, solving the problem of low accuracy in the offset adjustment of the double nozzle, and achieving high-precision automatic calibration , save labor costs.
Patent Information
- Application Number
- PCT/CN2024/103722
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-04
- Filing Date
- 2024-07-04
- Publication Date
- 2025-01-09
AI Technical Summary
The offset adjustment of the dual nozzles in existing 3D printing equipment requires manual operation, which is not accurate and time-consuming and labor-intensive, and the process is cumbersome.
By controlling the movement of the first nozzle and the second nozzle on the module detection platform to obtain the coordinates of the touch point, calculate the center coordinates of each nozzle, calculate and calibrate the offset between the nozzles, and realize automatic calibration.
Improves the accuracy of nozzle calibration, saves labor costs, and simplifies the operation process.
Smart Images

Figure CN2024103722_09012025_PF_FP_ABST
Abstract
Description
Automatic calibration method for 3D printing equipment, electronic equipment and storage medium Technical Field
[0001] The present application relates to the field of 3D printing technology, and in particular to an automatic calibration method for a 3D printing device, an electronic device, and a storage medium. Background Art
[0002] With the rise of concepts like smart manufacturing and Industry 4.0, 3D printing technology is becoming increasingly widespread. 3D printing, first appearing in the mid-1990s, is essentially a state-of-the-art rapid prototyping device utilizing technologies like photocuring and paper lamination. It operates on essentially the same principle as conventional printing: a printer is filled with "printing material" such as liquid or powder. Once connected to a computer, the computer controls the process of layering the "printing material," ultimately transforming the blueprint on the computer into a physical object. This printing technology is known as 3D printing.
[0003] In related technologies, 3D printing equipment is a dual-nozzle printer. There is an offset between the dual nozzles, and users need to adjust the dual nozzles to the appropriate position. However, the accuracy of manual adjustment of the dual nozzles is not high, and repeated adjustment, printing, and readjustment are required. The process is cumbersome and time-consuming.
[0004] Summary of the Invention
[0005] In view of this, the present application provides an automatic calibration method for a 3D printing device, an electronic device, and a computer-readable storage medium, which can automatically calibrate the left second nozzle with high calibration accuracy and save labor costs.
[0006] A first aspect of the present application provides an automatic calibration method for a 3D printing device, wherein the 3D printing device includes a first nozzle, a second nozzle and a module detection platform, and the method includes: controlling the first nozzle to move in a horizontal direction, obtaining the coordinates of N first touch points of the first nozzle when the first nozzle touches N positions of the module detection platform, where N is an integer greater than 2; calculating the first center coordinates of a circle measured by the first nozzle based on the coordinates of the N first touch points; controlling the second nozzle to move in a horizontal direction, obtaining the coordinates of M second touch points of the second nozzle when the second nozzle touches M positions of the module detection platform, where M is an integer greater than 2; calculating the second center coordinates of a circle measured by the second nozzle based on the coordinates of the M second touch points; calculating the first offset of the first and second nozzles in the horizontal direction based on the first and second center coordinates; and calibrating the horizontal offset of the first and second nozzles based on the first offset.
[0007] Compared with the related art, the embodiments of the present application have at least the following advantages:
[0008] By controlling the first nozzle to move horizontally to N positions that touch the module detection platform, the coordinates of the N first touch points are obtained. Since three points determine a circle, the first center coordinates of the circle measured by the first nozzle can be calculated according to the coordinates of the N first touch points; similarly, the second center coordinates of the circle measured by the second nozzle can be obtained; and then the horizontal offset of the first nozzle and the second nozzle is calculated according to the first center coordinates and the second center coordinates, thereby realizing automatic calibration of the left second nozzle. This calibration method has high accuracy and saves labor costs.
[0009] In some possible implementations, the controlling the first nozzle to move in the horizontal direction and obtaining the coordinates of N first touch points of the first nozzle when the first nozzle touches N positions of the module detection platform includes: controlling the first nozzle to move along the preset direction of the first nozzle so that the first nozzle touches the four upper, lower, left and right positions of the module detection platform, and obtaining the coordinates of the four first touch points; the controlling the second nozzle to move in the horizontal direction and obtaining the coordinates of M second touch points of the second nozzle when the second nozzle touches M positions of the module detection platform includes: controlling the second nozzle to move along the preset direction of the second nozzle so that the second nozzle touches the four upper, lower, left and right positions of the module detection platform, and obtaining the coordinates of the four second touch points.
[0010] By adopting this technical solution, the first center coordinates of the circle measured by the first nozzle and the second center coordinates of the circle measured by the second nozzle can be obtained more accurately, thereby improving the accuracy of the offset calculation and further improving the accuracy of the automatic calibration method.
[0011] In some possible implementations, the calculation of the first center coordinates based on the coordinates of the N first touch points and the measurement of the first nozzle includes: arbitrarily selecting three coordinates from the coordinates of the four first touch points as the first data group, the first data group is four groups, and the coordinates in each first data group are different; calculating the first initial center coordinates according to each group of first data groups to obtain four first initial center coordinates; calculating the average value of the four first initial center coordinates, and taking the average value of the four first initial center coordinates as the first center coordinate.
[0012] By adopting this technical solution, the coordinates of the first circle center can be obtained more accurately, thereby improving the accuracy of offset calculation and further improving the accuracy of the automatic calibration method.
[0013] In some possible implementations, the second center coordinates calculated based on the coordinates of the M second touch points and measured based on the second nozzle include: arbitrarily selecting three coordinates from the coordinates of the four second touch points as the second data group, the second data group is four groups, and the coordinates in each second data group are different; calculating the second initial center coordinates according to each group of second data groups to obtain four second initial center coordinates; calculating the average value of the four second initial center coordinates, and taking the average value of the four second initial center coordinates as the second center coordinate.
[0014] By adopting this technical solution, the coordinates of the second circle center can be obtained more accurately, thereby improving the accuracy of offset calculation and further improving the accuracy of the automatic calibration method.
[0015] In some possible implementations, calculating the horizontal offset of the first nozzle and the second nozzle according to the first circle center coordinates and the second circle center coordinates includes: calculating the offset according to the following formula:
[0016] offset xy =O R (a, b)-O L (a, b); where offset xy is the offset, O R (a, b) are the coordinates of the second circle center, O L (a, b) are the coordinates of the first circle center.
[0017] In some possible implementations, the method further includes: controlling the first nozzle to move toward a measurement point and performing sampling to obtain a sampling result; the sampling result includes a plurality of height data between the first nozzle and a starting point, and pressure data between the first nozzle and the module detection platform corresponding to each of the height data, wherein the measurement point is located at the center of the module detection platform; obtaining candidate data of the first nozzle based on the sampling result, and determining whether the candidate data meets a preset data sampling condition; the candidate data includes candidate height data and candidate pressure data; if the candidate data meets the data sampling condition, determining target pressure data from the plurality of candidate pressure data; the target pressure data is used to represent the pressure data collected when the first nozzle first contacts the module detection platform; determining first height data of the first nozzle from the measurement point based on the candidate height data corresponding to the target pressure data; determining second height data of the second nozzle from the measurement point in the same manner as determining the first target height data of the first nozzle; and calibrating the vertical offset of the first nozzle and the second nozzle based on the first height data and the second height data.
[0018] By adopting this technical solution, the left second nozzle can be automatically calibrated in the vertical direction without the need for manual adjustment of the positions of the dual nozzles. The operation is simple and labor costs are saved.
[0019] In some possible implementations, controlling the first nozzle to move toward the measurement point and performing sampling to obtain a sampling result includes: controlling the first nozzle to move toward the measurement point according to a first preset step size, performing a first preset number of step samplings, and obtaining the sampling result including the initial data of multiple first nozzles; after judging whether the candidate data meets the preset data sampling conditions, the method further includes: when the candidate data does not meet the data sampling conditions, continuing to control the first nozzle to move toward the measurement point according to a second preset step size, and performing a second preset number of step samplings to obtain new initial data; adding the new initial data to the sampling result, and removing the initial data first obtained when performing the first preset number of step samplings to obtain a new sampling result; obtaining new candidate data for the first nozzle according to the new sampling result, and judging whether the new candidate data meets the data sampling conditions.
[0020] In some possible implementations, the sampling result includes an initial subsequence corresponding to the height data and an initial subsequence corresponding to the pressure data; the candidate data includes a candidate subsequence corresponding to the candidate height data and a candidate subsequence corresponding to the candidate pressure data; obtaining the candidate data of the first nozzle based on the sampling result includes: determining the first threshold data and the second threshold data in each of the initial subsequences, and calculating the first difference between the second threshold data and the first threshold data in each of the initial subsequences; calculating the second difference between the initial data in each of the initial subsequences and the first threshold data of the initial subsequence; obtaining the initial candidate data corresponding to the initial data based on the first difference and the second difference, wherein each of the initial subsequences corresponds to an initial candidate data; and determining the candidate data corresponding to the first nozzle based on the initial candidate data.
[0021] In a second aspect, the present application discloses an electronic device, comprising a processor and a memory, wherein the memory is used to store instructions, and the processor is used to call the instructions in the memory so that the electronic device executes the above-mentioned automatic calibration method for a 3D printing device.
[0022] A third aspect of the present application discloses a computer-readable storage medium, comprising computer instructions. When the computer instructions are executed on an electronic device, the electronic device executes the above-mentioned automatic calibration method for a 3D printing device.
[0023] It can be understood that the electronic device of the second aspect and the computer-readable storage medium of the third aspect provided above correspond to the method of the first aspect. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects of the corresponding methods provided above and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without paying any creative work.
[0025] FIG1 is a flow chart of an automatic calibration method for a 3D printing device provided in one embodiment of the present application.
[0026] FIG2 is a schematic structural diagram of a nozzle and module detection platform provided in one embodiment of the present application.
[0027] FIG3 is a flowchart of an automatic calibration method for a 3D printing device provided in an embodiment of the present application.
[0028] FIG4 is a schematic diagram of the structure of a module detection platform provided in an embodiment of the present application.
[0029] FIG5 is a coordinate diagram of candidate data provided by an embodiment of the present application.
[0030] FIG6 is a coordinate diagram of conversion data provided by an embodiment of the present application.
[0031] FIG7 is another structural schematic diagram of the first nozzle, the second nozzle, and the module detection platform provided in one embodiment of the present application.
[0032] FIG8 is a schematic diagram of the hardware structure of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0033] In order to enable those skilled in the art to better understand the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.
[0034] In this application, unless otherwise expressly specified or limited, terms such as "mounted," "connected," and "fixed" should be interpreted broadly. For example, these terms may refer to fixed, removable, or integral connections; mechanical or electrical connections; direct or indirect connections through an intermediary; internal communication between two components; surface contact only; or surface contact through an intermediary. Those skilled in the art will understand the specific meanings of these terms in this application based on the specific circumstances.
[0035] In addition, the terms "first", "second", etc. are only used to distinguish descriptions and should not be understood as specific or special structures. The descriptions of the terms "some embodiments", "other embodiments", etc. mean that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this application, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art can combine and combine the different embodiments or examples described in this application and the features of the different embodiments or examples, unless they are contradictory.
[0036] To facilitate understanding, some illustrations of concepts related to the embodiments of the present application are given for reference.
[0037] 3D printing equipment, also known as three-dimensional printers or stereo printers, is a rapid prototyping process that typically uses digital printing technology to create materials. 3D printing equipment is often used to create models or parts in fields such as mold manufacturing and industrial design.
[0038] Please refer to Figure 1, which is a flow chart of a method for automatically calibrating a 3D printing device provided in an embodiment of the present application. The 3D printing device includes a first nozzle, a second nozzle, and a module detection platform. The method includes the following steps:
[0039] Step 101: Control the first nozzle to move in the horizontal direction, and obtain the coordinates of N first touching points when the first nozzle touches N positions of the module detection platform.
[0040] Wherein, N is an integer greater than 2. This embodiment does not impose any specific limitation on the value of N, and it can be set according to actual needs.
[0041] In some embodiments, the first nozzle is controlled to move along a preset direction of the first nozzle so that the first nozzle touches four upper, lower, left, and right positions of the module detection platform to obtain the coordinates of the four first touch points.
[0042] Please refer to Figure 2, which is a schematic diagram of the structure of the nozzle and module detection platform provided in this application. The preset direction of the first nozzle is shown in Figure 2. The 3D printing device first controls the first nozzle to move to the left until it touches the left side of the module detection platform, obtaining the first touch point coordinate LL on the left side. Then, the first nozzle is controlled to move to touch the upper side, lower side, and right side of the module detection platform, respectively, obtaining the first touch point coordinate LU on the upper side, the first touch point coordinate LD on the lower side, and the first touch point coordinate LR on the right side.
[0043] Step 102: Calculate the coordinates of the first circle center obtained by measurement based on the first nozzle according to the coordinates of the N first touch points.
[0044] In some embodiments, three coordinates are randomly selected from the coordinates of the four first touch points as the first data set. The first data sets are four sets, and the coordinates in each set are different. That is, the four first data sets are: LL, LU, LD; LL, LU, LR; LL, LR, LD; and LR, LU, LD.
[0045] Then, the first initial circle center coordinates are calculated according to each first data group to obtain four first initial circle center coordinates; the average value of the four first initial circle center coordinates is calculated, and the average value of the four first initial circle center coordinates is used as the first circle center coordinate.
[0046] For ease of understanding, the following uses the above four first data groups as an example to specifically illustrate how to calculate the first circle center coordinates in this embodiment:
[0047] Taking the first data set as LL, LU, LR as an example, LL = (xL, yL), LR = (xR, yR), LU = (xU, yU), according to the formula of the center of the circle (xa) 2 +(y- b ) 2 =r 2 The following system of equations can be obtained:
[0048] (x L -a) 2 +(y L -b) 2 =r 2 ;(x R -a) 2 +(y R -b) 2 =r 2 ;(x U -a) 2 +(y U -b) 2 =r 2 ;
[0049] After eliminating r on both sides of the equation, it becomes:
[0050] (x L -a) 2 +(y L -b) 2 =(x R -a) 2 +(y R -b) 2 ;
[0051] (x L -a) 2 +(y L -b) 2 =(x U -a) 2 +(y u -b) 2 ;
[0052] Square root, move a and b to the left side of the equation to become:
[0053] Use the determinant to determine whether the equation has a solution. If the determinant is equal to 0, the equation system has no solution or has infinite solutions:
[0054] set up: From the determinant, we can judge that the condition for the determinant to be equal to 0 may be that LL, LR are 0 or LL, LU are 0 or LL, LR, LU are all 0; x L =x R or y L =y U And y L =y R or x L =x U These situations occur when the strain gauge data cannot be read or the strain gauge is abnormal. The solution in these cases is to take the median value of the XY coordinates.
[0055] If the determinant is not equal to 0, the inhomogeneous system of equations has a unique solution:
[0056] The first initial circle center coordinates obtained by LL, LU, and LR can be calculated. Similarly, the first initial circle center coordinates corresponding to the other three data sets can be calculated. After taking the average of the four first initial circle center coordinates, the first circle center coordinate O can be obtained. L (a, b).
[0057] Step 103: Control the second nozzle to move in the horizontal direction, and obtain the coordinates of M second touch points when the second nozzle touches M positions of the module detection platform.
[0058] Wherein, M is an integer greater than 2. This embodiment does not specifically limit the value of M, and it can be set according to actual needs.
[0059] In some embodiments, the second nozzle is controlled to move along a preset direction of the second nozzle so that the second nozzle touches four upper, lower, left, and right positions of the module detection platform to obtain the coordinates of the four second touch points.
[0060] Step 104: Calculate the coordinates of the second circle center obtained by measurement based on the second nozzle according to the coordinates of the M second touch points.
[0061] In some embodiments, three coordinates are arbitrarily selected from the coordinates of the aforementioned four second touch points as the second data group, and the second data groups are four groups, and the coordinates in each second data group are different; the second initial circle center coordinates are calculated according to each group of second data groups to obtain four second initial circle center coordinates; the average value of the four second initial circle center coordinates is calculated, and the average value of the four second initial circle center coordinates is used as the second circle center coordinate.
[0062] It is understandable that the calculation method of the second circle center coordinates is the same as the calculation method of the first circle center coordinates, and in order to avoid repetition, it will not be described here.
[0063] Step 105: Calculate the horizontal offset of the first nozzle and the second nozzle according to the first circle center coordinates and the second circle center coordinates.
[0064] In some embodiments, the offset is calculated according to the following formula:
[0065] offset xy =O R (a, b)-O L (a, b); where offset xy is the offset, O R (a, b) are the coordinates of the second circle center, o L (a, b) are the coordinates of the first circle center.
[0066] Step 106: Calibrate the horizontal offset of the first nozzle and the second nozzle according to the offset.
[0067] In some embodiments, the offset between the first nozzle and the second nozzle in the horizontal direction can be calibrated by updating the offset to the system controlling the 3D printing device.
[0068] Compared with the related art, the embodiments of the present application have at least the following advantages: by controlling the first nozzle to move in the horizontal direction to N positions that touch the module detection platform to obtain the coordinates of N first touch points, since three points determine a circle, the first center coordinates of the circle based on the measurement of the first nozzle can be calculated according to the coordinates of the N first touch points; similarly, the second center coordinates of the circle based on the measurement of the second nozzle can be obtained; and then the horizontal offset of the first nozzle and the second nozzle is calculated according to the first center coordinates and the second center coordinates, thereby realizing automatic calibration of the left second nozzle, and this calibration method has high accuracy and saves labor costs.
[0069] Please refer to FIG3 , which is a flowchart of an automatic calibration method for a 3D printing device provided in an embodiment of the present application. This embodiment is applied to the 3D printing device of the aforementioned embodiment. The 3D printing device includes a first nozzle, a second nozzle, and a module detection platform, and includes the following steps:
[0070] Execute steps 101 to 106 in the above embodiment.
[0071] Step 201: Control the first nozzle to move toward the measurement point and perform sampling to obtain a sampling result.
[0072] In some embodiments, the sampling result includes a plurality of initial data, including a plurality of height data between the first nozzle and the starting point, and pressure data between the first nozzle and the module detection platform corresponding to each height data.
[0073] In some embodiments, the module detection platform is a platform in a 3D printer for carrying a 3D entity. When the first nozzle contacts the plane of the module detection platform, the detection unit on the first nozzle can measure the coordinate data corresponding to each measurement point on the module detection platform. For example, the coordinate data of the measurement point on the module detection platform is a ij =(x ij ,y ij , z ij )(i∈[0, m-1], j∈(0, n-1)).
[0074] In some embodiments, the first nozzle may also be a device including a pressure sensor and the first nozzle, as shown in Figure 4, which is a schematic diagram of the structure of the module detection platform. When the first nozzle is raised to a preset height, the position at which it is located is the starting point corresponding to the current point to be measured. For example, at the position d0 = 0 and p0 = 0 in Figure 4, the height data between the first nozzle and the starting point is zero, and the pressure data between the first nozzle and the module detection platform is zero.
[0075] In some embodiments, when measuring the coordinates of various measurement points on the modular detection platform, the user can trigger the first nozzle to raise to a preset height, for example, 5 mm, and then control the first nozzle to move toward the measurement point according to a preset step value L and perform step sampling. At this point, the detection unit on the first nozzle can acquire multiple height data between the first nozzle and the starting point in real time. The pressure sensor in the first nozzle can collect the pressure data between the first nozzle and the modular detection platform corresponding to each height data. Finally, both the height data and the pressure data are used as sampling results and sent to a computer device.
[0076] Step 202: Obtain candidate data of the first nozzle according to the sampling result, and determine whether the candidate data meets the preset data sampling conditions.
[0077] In some embodiments, the candidate data includes candidate height data obtained by processing the height data in the sampling results, and candidate pressure data obtained by processing the pressure data in the sampling results.
[0078] In some embodiments, random errors may occur when the first nozzle is initially triggered to perform step sampling. Therefore, processing the sampling results can include removing a specific amount of initial data from the initial sampling. Furthermore, since the initial data may contain some singular data, processing the sampling results can also include normalizing the initial data. This can confine the initial data to a specific range, thereby eliminating the adverse effects of singular data and improving the accuracy of subsequent processing of candidate data.
[0079] In some embodiments, determining whether the candidate data meets the preset data sampling conditions includes: taking the last n candidate pressure data in the pressure candidate subsequence as the pressure data to be detected and the other candidate pressure data except the last n candidate pressure data as reference pressure data; taking the last n candidate height data in the height candidate subsequence as the height data to be detected and the other candidate height data except the last n candidate height data as reference height data; determining a first detection result based on the size relationship between each pressure data to be detected, and the size relationship between each pressure data to be detected and each reference pressure data; determining a second detection result based on the difference between each pressure data to be detected and the reference pressure data, and the difference between each height data to be detected and the reference height data; determining a third detection result based on the relationship between the pressure data to be detected and the preset data threshold; and determining whether the candidate data meets the preset data sampling conditions based on the first detection result, the second detection result, and the third detection result.
[0080] Among them, the candidate data includes a pressure candidate subsequence corresponding to the candidate pressure data, that is, the candidate pressure data is presented in the form of a pressure candidate subsequence; the candidate data also includes a height candidate subsequence corresponding to the candidate height data; the preset data sampling conditions include at least data sequence conditions, association relationship conditions and threshold conditions.
[0081] Specifically, the computer device selects a pressure sequence to be detected and a plurality of reference pressure data from the pressure candidate subsequence according to a preset screening rule. Similarly, the computer device selects a height sequence to be detected and a plurality of reference height data from the height candidate subsequence. The pressure sequence to be detected includes a plurality of pressure data to be detected, and the height sequence to be detected includes a plurality of height data to be detected. The computer device uses each height data to be detected and the pressure data to be detected corresponding to each height data to be detected as the coordinates of the data to be detected. At the same time, the computer device uses each reference height data and the reference pressure data corresponding to each reference height data as the reference data coordinates.
[0082] Furthermore, the computer device performs data sequence condition detection on the pressure sequence to be detected and multiple reference pressure data, that is, determines the size relationship between the pressure data to be detected, and the size relationship between each pressure data to be detected and each reference pressure data; the computer device performs association relationship condition detection on the candidate data, that is, determines whether the coordinates of the data to be detected and the coordinates of the reference data conform to the preset association relationship, that is, performs association relationship condition detection based on the difference between each pressure data to be detected and the reference pressure data, and the difference between each height data to be detected and the reference height data; the computer device performs threshold condition detection on the pressure sequence to be detected, that is, determines the relationship between each pressure data to be detected and the preset data threshold. When the first detection result, the second detection result and the third detection result are all passed, it is determined that the candidate data meets the preset data sampling condition.
[0083] Regarding step 201 and step 202, in some embodiments, controlling the first nozzle to move toward the measurement point and performing step sampling to obtain a sampling result includes: controlling the first nozzle to move toward the measurement point and performing a first preset number of step samplings to obtain a sampling result; the sampling result includes multiple initial data; after judging whether the candidate data meets the preset data sampling conditions, the method further includes: if the candidate data does not meet the data sampling conditions, continuing to control the first nozzle to move toward the measurement point and performing a second preset number of step samplings to obtain new initial data; adding the new initial data to the sampling result, and removing the preset second number of initial data first obtained in the sampling result to obtain a new sampling result; and entering the judgment step in step 202 again.
[0084] In which, usually the first preset number is greater than the second preset number. For example, when the first preset number is 10 times, the second preset number may be 1 time; the multiple initial data in the sampling result include altitude data and pressure data.
[0085] Specifically, when the control probe moves from the starting point to the current point to be measured in the printing platform and performs a first preset number of step samplings, the obtained data include the first preset number of height data and the first preset number of pressure data. After completing the first preset number of step samplings, the probe reaches the initial target point. The height data and the pressure data can be presented in the form of an initial subsequence. For example, the initial subsequence D = {d0, d1…d n} and the initial subsequence P = {p0, p1...p n}.
[0086] Furthermore, if the candidate data does not meet the data sampling conditions, it is necessary to control the probe to start from the initial target point and continue to move toward the current test point in the printing platform, and perform a second preset number of step samplings to obtain new height data and new pressure data. For example, D n+1 and P n+1 The new height data and the new pressure data are added to the sampling result, and the initial data of the first preset number of times obtained in the sampling result are removed to obtain a new sampling result. For example, the initial subsequence D = {d1…d n , d n+1} and the initial subsequence P = {p1…p n , p n+1}.
[0087] In some embodiments, in order to ensure the uniformity of the data sampling condition judgment for the candidate data, it is possible to always ensure that the number of the initial subsequence is the first preset number of times, for example, the first preset number of times is S, and the initial subsequence D={d n-(S-1) , d n-(s-1)+1 …d n} and the initial subsequence P = {p n-(s-1) , p n-(s-1)+1 …p n}.
[0088] By continuously moving toward the current test point and performing step sampling, an initial subsequence corresponding to a first preset number of height data and an initial subsequence corresponding to a first preset number of pressure data are obtained. After subsequently judging the data sampling conditions of the candidate data, the initial subsequence is updated in a first-in-first-out manner, thereby ensuring the data validity of the initial data in the initial subsequence.
[0089] In some embodiments, the sampling results include an initial subsequence corresponding to the height data and an initial subsequence corresponding to the pressure data; the candidate data include a candidate subsequence corresponding to the candidate height data and a candidate subsequence corresponding to the candidate pressure data; the processing of the sampling results to obtain candidate data of the first nozzle includes: for each of the initial subsequences, determining the first threshold data and the second threshold data in the current initial subsequence, and determining the first difference between the second threshold data and the first threshold data; for each initial data in the current initial subsequence, determining the second difference between the current initial data and the first threshold data; based on the first difference and the second difference, obtaining the candidate data corresponding to the current initial data; synthesizing the candidate data corresponding to each initial data in the current initial subsequence to obtain the candidate subsequence corresponding to the current initial subsequence; and synthesizing the candidate subsequences to obtain the candidate data corresponding to the first nozzle.
[0090] The sampling results include an initial subsequence corresponding to the altitude data and an initial subsequence corresponding to the pressure data; the candidate data include a candidate subsequence corresponding to the candidate altitude data and a candidate subsequence corresponding to the candidate pressure data. The first threshold data includes the minimum altitude data and the minimum pressure data in the initial subsequence; the second threshold data includes the maximum altitude data and the maximum pressure data in the initial subsequence.
[0091] The process of processing each initial subsequence in the sampling result can be a normalization process, which is as follows:
[0092] When the initial subsequence corresponding to the height data is used, the computer device determines the first difference between the maximum height data and the minimum height data, that is, MAX(D)-MIN(D), and determines the second difference between each height data and the minimum height data, that is, d i -MIN(D). The computer device obtains the candidate height data corresponding to each height data according to the ratio between the second difference and each first difference. Similarly, when the initial subsequence corresponding to the pressure data is used, the candidate pressure data corresponding to each pressure data can be obtained. The candidate subsequence corresponding to the candidate height data obtained by integrating each candidate height data is N(D), and the candidate subsequence corresponding to the candidate pressure data obtained by integrating each candidate pressure data is N(P), where: N(D)={N(d n-(S-1) ), N(d n-(s-1)-1 )…N(d n )}; N(P)={N(p n-(S-1) ), N(p n-(S-1)-1 )…N(p n )};
[0093] By performing preliminary normalization processing on the initial subsequence, the candidate subsequence corresponding to the candidate height data and the candidate subsequence corresponding to the candidate pressure data are obtained, which can improve the efficiency of subsequent data processing and ensure the accuracy of subsequent data sampling condition judgment on the candidate data.
[0094] Step 203: when the candidate data meet the data sampling conditions, determine target pressure data from the plurality of candidate pressure data; the target pressure data is used to indicate the pressure data collected when the first nozzle contacts the module detection platform for the first time.
[0095] Specifically, because the first nozzle is raised to a preset height before moving toward the measurement point and performing step sampling, it usually reaches the target step position where the first nozzle first contacts the module detection platform during the stepping process. At this time, the pressure data collected at the target step position is the target pressure data. Before the first nozzle reaches the target step position, under the influence of factors such as system errors, the pressure data detected by the pressure sensor on the first nozzle is usually small, and ideally may be zero. When the first nozzle reaches the target step position and continues to perform step sampling toward the current measurement point, the pressure data detected by the pressure sensor on the first nozzle will increase sharply because all subsequent step sampling will be in contact with the module detection platform.
[0096] Please refer to Figure 5, which is a coordinate diagram of the candidate data provided in this application. The computer device uses the candidate height data as the horizontal axis and the candidate pressure data as the vertical axis. Each candidate coordinate includes the candidate height data and the candidate pressure data corresponding to each candidate height data. When the candidate data meets the data sampling conditions, the target pressure data among the multiple candidate pressure data in the candidate data is determined, that is, the inflection point coordinates among the multiple candidate coordinates in Figure 5 are determined. The computer device can use the data rotation method to transform each candidate coordinate to obtain multiple conversion coordinates, wherein the conversion coordinates include height conversion data and pressure conversion data. Then, the target conversion coordinate with the smallest pressure conversion data is screened out from the conversion coordinates, and the pressure conversion data in the target conversion coordinate is used as the target pressure data.
[0097] In some embodiments, the computer device may use a data fitting method to fit the candidate coordinates to the exponential function y=a (x-v) +c is fitted to obtain a fitted target curve, and then according to the preset function slope, the target curve coordinates where the preset function slope is located are determined from the target curve, and the candidate pressure data in the target curve coordinates are used as the target pressure data.
[0098] In some embodiments, the reference pressure data may be the candidate pressure data corresponding to when the probe has not yet contacted the printing platform. At this time, due to system errors, the candidate pressure data is usually small. Only when the probe contacts the printing platform and continues to move toward the current printing point will the size of the candidate pressure data change significantly. At this time, the candidate pressure data is the pressure data to be tested. Therefore, the first test result is considered a pass only when the size of the pressure data to be tested gradually increases and each pressure data to be tested is greater than each reference pressure data. For example, when the preset number a is greater than or equal to 3, then:
[0099] N(p n )≥N(p n-1 )≥N(p n-2 )…≥N(p n-a )≥N(p b )(α≥3, b∈[n-(S-1),n-α-1]).
[0100] Referring again to Figure 5 , since the candidate coordinates in the coordinate axis include multiple coordinates of the data to be tested and the coordinates of the reference data, a third difference is determined between each height data to be tested and each reference height data, i.e., the difference in the horizontal coordinate data between each coordinate of the data to be tested and each reference data coordinate is determined; a fourth difference is determined between each pressure data to be tested and each reference pressure data, i.e., the difference in the vertical coordinate data between each coordinate of the data to be tested and each reference data coordinate is determined. Based on the third and fourth differences, multiple associations in the candidate data are then determined.
[0101] In some embodiments, the association relationship may include a slope relationship and an angle relationship. The computer device may determine the association relationship corresponding to each of the coordinates of the data to be detected based on the ratio between the fourth difference and the third difference, wherein the preset association condition corresponding to the slope relationship is a preset slope threshold, and the preset association condition corresponding to the angle relationship is a preset angle threshold, such as 40 degrees. When the association relationship is an angle relationship, if:
[0102] Among them, N(d i )≠N(d i ), pi and di constitute the coordinates of the data to be detected, and pj and dj constitute the coordinates of the reference data. This indicates that the angular relationship of each coordinate of the data to be detected meets the preset angle threshold.
[0103] In some embodiments, each pressure data to be detected must be greater than a preset data threshold. The preset data threshold can be P min , when the computer device determines that all the pressure data to be detected are greater than the preset data threshold, that is, P min ≤p r(r∈[n-a+1,n]).
[0104] In some embodiments, determining target pressure data among multiple candidate pressure data in the candidate data includes: determining head height data, head pressure data, tail height data and tail pressure data in the candidate data; determining the fifth difference between the tail height data and the head height data, and determining the sixth difference between the tail pressure data and the head pressure data; determining the target conversion angle of the candidate data based on the fifth difference and the sixth difference; converting each candidate data separately according to the target conversion angle, the head height data and the head pressure data to obtain multiple conversion data; and screening out the target pressure data that meets the preset conditions from the multiple conversion data.
[0105] Since the candidate data includes a candidate height subsequence corresponding to the candidate height data and a candidate pressure subsequence corresponding to the candidate pressure data, the height data that comes first in the candidate height subsequence, arranged in sampling order, can be used as the leading height data, and the height data that comes last can be used as the trailing height data. Similarly, the leading and trailing pressure data can be determined from the candidate pressure subsequence.
[0106] Specifically, the computer device may determine the target conversion angle in the following manner:
[0107] Among them, N(d n ) is the tail height data, N(d n-(S-1) is the head height data, N(p n ) is the tail pressure data, N(p n-(S-1) The computer device determines the fifth difference between the tail height data and the head height data to obtain N(d n )-N(d n-(S-1) , and determine the sixth difference between the tail pressure data and the head pressure data, and obtain N(p n )-N(p n-(S-1) , and then determine the target conversion angle of the candidate data according to the ratio between the sixth difference and the fifth difference.
[0108] Specifically, the computer device may determine the conversion data in the following manner: R(N(d i ))=(N(d i )-N(d n-(S-1) ))×cos(θ)-(N(p i )-N(p n-(S-1) ))×sin(θ)(i∈[n- (S-1), n]);
[0109] R(N(p i ))=(N(di )-N(d n-(S-1) ))×sin(θ)+(N(p i )-N(p n-(S-1) ))×cos(θ)(i∈[n-(S-1),n]); wherein, i∈[n-(S-1),n], i represents any candidate pressure data in the pressure candidate subsequence.
[0110] As shown in FIG6 , FIG6 is a coordinate diagram of conversion data. The computer device uses the height conversion data and the pressure conversion data corresponding to the height conversion data as conversion data, and constructs the conversion data into a coordinate form to obtain a plurality of conversion coordinates.
[0111] The computer device may calculate each candidate coordinate consisting of N(D) and N(P) based on N ( d n-(S-1) ) corresponding to the candidate coordinates, rotate the target conversion angle clockwise to obtain the conversion coordinates composed of R(N(D)) and R(N(P)).
[0112] Furthermore, the target pressure data that meets the preset conditions is selected from the multiple conversion data, that is, the data with the smallest pressure conversion data in the conversion coordinate is used as the target pressure data. At this time, R(N(p k ))=MIN(R(N(P))), where the K value represents the index of the conversion coordinate. Therefore, the candidate height data corresponding to the target pressure data can be used as the target height data of the current test point, that is, z=d k .
[0113] In some embodiments, since the target height data is the height between the first nozzle and the predefined zero position, z=0 at the zero position, the target height data refers to the difference between the position when it first contacts the module detection platform and the zero point, and the difference can be positive or negative.
[0114] In this embodiment, by using the data rotation method to convert the candidate data into the form of transformation coordinates when the candidate data meets the data sampling conditions, the target pressure data can be determined quickly and intuitively, thereby improving data processing efficiency and the accuracy of determining the target height data.
[0115] Step 204: Determine first height data of the first nozzle from the measurement point based on the candidate height data corresponding to the target pressure data.
[0116] Specifically, when the computer device uses the data rotation method to determine the target pressure data in the target transformed coordinates, the candidate coordinates corresponding to the target transformed coordinates before the coordinate transformation are used as the target candidate coordinates, and the candidate height data in the target candidate coordinates are used as the first height data of the first nozzle distance measurement point. When the computer device uses the data fitting method to determine the target curve coordinates, the candidate height data in the target curve coordinates are directly used as the first height data of the first nozzle distance measurement point.
[0117] Step 205 : Determine second height data of the second nozzle from the measurement point in the same manner as determining the first height data of the first nozzle.
[0118] In some embodiments, the method for obtaining the second height data of the second nozzle distance measurement point is the same as the method for obtaining the first height data of the first nozzle distance measurement point described in the above steps 201 to 204. To avoid repetition, it is not repeated here.
[0119] Step 206: Calibrate the vertical offset of the first nozzle and the second nozzle according to the first height data and the second height data.
[0120] Please refer to Figure 7. Use the second left nozzle to measure the center point of the module detection platform to obtain the height ZL of the first nozzle B and the height ZR of the second nozzle A. Then, the vertical offset of the first and second nozzles can be obtained:
[0121] offset z =Z R -Z L ; Among them, offset z is the offset in the vertical direction, Z R is the height of the second nozzle, Z L is the height of the first nozzle.
[0122] By updating the offset in the vertical direction to the system for controlling the 3D printing device, the offset between the first nozzle and the second nozzle in the vertical direction can be calibrated.
[0123] Please refer to Figure 8, which is a schematic diagram of the hardware structure of an electronic device 1000 provided in an embodiment of the present application. As shown in Figure 8, electronic device 1000 may include a processor 1001 and a memory 1002. Memory 1002 is used to store one or more computer programs 1003. One or more computer programs 1003 are configured to be executed by processor 1001. The one or more computer programs 1003 include instructions, which can be used to implement the above-mentioned method in electronic device 1000.
[0124] It is understood that the structure shown in this embodiment does not constitute a specific limitation on the electronic device 1000. In other embodiments, the electronic device 1000 may include more or fewer components than shown, or combine or separate some components, or arrange the components differently.
[0125] The processor 1001 may include one or more processing units. For example, the processor 1001 may include an application processor (AP), a modem, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors.
[0126] Processor 1001 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in processor 1001 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 1001. If processor 1001 needs to use the same instruction or data again, it can directly access it from this memory. This avoids duplicate accesses, reduces the waiting time of processor 1001, and thus improves system efficiency.
[0127] In some embodiments, the processor 1001 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a SIM interface, and / or a USB interface.
[0128] In some embodiments, memory 1002 may include high-speed random access memory and may also include non-volatile memory, such as a hard disk, memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), at least one disk storage device, a flash memory device, or other volatile solid-state storage device.
[0129] This embodiment further provides a computer-readable storage medium, in which computer instructions are stored. When the instructions are executed on an electronic device, the electronic device executes the above-mentioned related method steps to implement the method in the above-mentioned embodiment.
[0130] Among them, the electronic device and computer storage medium provided in this embodiment are used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding methods provided above, and will not be repeated here.
[0131] In practical applications, the above functions can be distributed to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0132] In the several embodiments provided in this application, the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are schematic. For example, the division of the modules or units is a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0133] The units described as separate components may or may not be physically separate, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0134] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0135] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0136] The above description is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or replacements within the technical scope disclosed in the present application should be included in the protection scope of the present application.
Claims
1. A method for automatic calibration of a 3D printing device, characterized in that: The 3D printing device includes a first nozzle, a second nozzle and a module detection platform, and the method includes: Controlling the first nozzle to move in a horizontal direction, and obtaining coordinates of N first touching points when the first nozzle touches N positions of the module detection platform, where N is an integer greater than 2; Calculate the coordinates of the first center of the circle measured by the first nozzle according to the coordinates of the N first touch points; Controlling the second nozzle to move in a horizontal direction, and obtaining coordinates of M second touch points when the second nozzle touches M positions of the module detection platform, where M is an integer greater than 2; Calculate the coordinates of the second circle center measured by the second nozzle according to the coordinates of the M second touch points; Calculating the horizontal offset of the first nozzle and the second nozzle according to the first center coordinates and the second center coordinates; The offset between the first nozzle and the second nozzle in the horizontal direction is calibrated according to the offset.
2. The automatic calibration method of a 3D printing device according to claim 1, characterized in that: The controlling the first nozzle to move in the horizontal direction to obtain coordinates of N first touching points when the first nozzle touches N positions of the module detection platform includes: Controlling the first nozzle to move along a preset direction of the first nozzle so that the first nozzle touches four positions of the upper, lower, left and right sides of the module detection platform, and obtaining coordinates of four first touching points; The controlling the second nozzle to move in the horizontal direction to obtain the coordinates of M second touch points when the second nozzle touches M positions of the module detection platform includes: The second nozzle is controlled to move along a preset direction of the second nozzle, so that the second nozzle touches four positions of the upper, lower, left and right of the module detection platform, and the coordinates of the four second touch points are obtained.
3. The automatic calibration method of a 3D printing device according to claim 2, characterized in that: The calculating, based on the coordinates of the N first touch points, the first center coordinates measured by the first nozzle includes: Randomly select three coordinates from the coordinates of the four first touch points as a first data group, the first data group includes four groups, and the coordinates in each group of the first data group are different; Calculate the first initial circle center coordinates according to each first data group to obtain four first initial circle center coordinates; An average value of the four first initial circle center coordinates is calculated, and the average value of the four first initial circle center coordinates is used as the first circle center coordinate.
4. The automatic calibration method of a 3D printing device according to claim 2, characterized in that: The calculating, according to the coordinates of the M second touch points, the coordinates of the second circle center measured by the second nozzle includes: Three coordinates are randomly selected from the coordinates of the four second touch points as the second data set. The second data set is four groups, and the coordinates in each second data set are different; Calculate the second initial circle center coordinates according to each second data group to obtain four second initial circle center coordinates; An average value of the four second initial circle center coordinates is calculated, and the average value of the four second initial circle center coordinates is used as the second circle center coordinate.
5. The automatic calibration method of a 3D printing device according to claim 1, characterized in that: The calculating the offset of the first nozzle and the second nozzle in the horizontal direction according to the first center coordinate and the second center coordinate includes: calculating the offset according to the following formula: offset xy =o R (a,b)-o L (a,b); where offset xy is the offset, o R (a, b) are the coordinates of the center of the second circle, o L (a, b) are the coordinates of the first circle center.
6. The automatic calibration method of a 3D printing device according to claim 1, characterized in that: The method further comprises: Control the first nozzle to move to a measuring point and perform sampling to obtain a sampling result; the sampling result includes a plurality of height data between the first nozzle and a starting point, and pressure data between the first nozzle and the module detection platform corresponding to each of the height data, and the measuring point is located at the center of the module detection platform; Obtaining candidate data of the first nozzle according to the sampling result, and determining whether the candidate data meets a preset data sampling condition; the candidate data includes candidate height data and candidate pressure data; In the case where the candidate data meets the data sampling condition, target pressure data is determined from the plurality of candidate pressure data; the target pressure data is used to represent the pressure data collected when the first nozzle contacts the module detection platform for the first time; Determining first height data of the first nozzle from the measuring point according to the candidate height data corresponding to the target pressure data; Determine second height data of the second nozzle from the measuring point in the same manner as determining the first height data of the first nozzle; The vertical offsets of the first nozzle and the second nozzle are calibrated according to the first height data and the second height data.
7. The automatic calibration method of a 3D printing device according to claim 6, characterized in that: The controlling the first nozzle to move toward the measuring point and perform sampling to obtain a sampling result includes: Controlling the first nozzle to move toward the measuring point according to a first preset step length, performing step sampling for a first preset number of times, and obtaining the sampling result including the initial data of a plurality of the first nozzles; After determining whether the candidate data meets a preset data sampling condition, the method further includes: When the candidate data does not meet the data sampling condition, the first nozzle is continuously controlled to move toward the measuring point according to a second preset step length, and a second preset number of step samplings are performed to obtain new initial data; Adding the new initial data to the sampling result, and removing the initial data first obtained when performing the first preset number of step samplings, to obtain a new sampling result; New candidate data of the first nozzle is obtained according to the new sampling result, and it is determined whether the new candidate data meets the data sampling condition.
8. The automatic calibration method of a 3D printing device according to claim 7, characterized in that: The sampling result includes an initial subsequence corresponding to the height data and an initial subsequence corresponding to the pressure data; the candidate data includes a candidate subsequence corresponding to the candidate height data and a candidate subsequence corresponding to the candidate pressure data; The step of obtaining candidate data of the first nozzle according to the sampling result includes: Determine first threshold data and second threshold data in each of the initial subsequences, and calculate a first difference between the second threshold data and the first threshold data in each of the initial subsequences; Calculating a second difference between the initial data in each of the initial subsequences and the first threshold data of the initial subsequence; Obtaining initial candidate data corresponding to the initial data according to the first difference and the second difference, wherein each of the initial subsequences corresponds to an initial candidate data; Determine candidate data corresponding to the first nozzle according to the initial candidate data.
9. An electronic device, characterized in that: The electronic device comprises a processor and a memory, wherein the memory is used to store instructions, and the processor is used to call the instructions in the memory, so that the electronic device executes the automatic calibration method for a 3D printing device according to any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that: The method comprises computer instructions, which, when executed on an electronic device, enable the electronic device to execute the automatic calibration method for a 3D printing device according to any one of claims 1 to 8.
Citation Information
Patent Citations
3D print head assembly, printing platform zeroing and leveling method and 3D printer
CN108099174A
3D printer and four-point calibration method for 3D printer
CN114536752A
3D printer and three-point calibration method for 3D printer
CN114536755A
Measurement method, calibration method and device of double-nozzle 3D printer and storage medium
CN114603859A
Automatic calibration method of 3D printing equipment, electronic equipment and storage medium
CN116901432A