A method and apparatus for controlling a 3D printer without an axis positioning sensor
By using a shaftless positioning sensor control method, and utilizing a motor to find the mechanical boundary and zero point, the positioning error and high cost problems of traditional 3D printers are solved, achieving high-precision and low-failure-rate positioning control.
Patent Information
- Application Number
- CN202311164873.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-11
- Publication Date
- 2026-07-10
- Estimated Expiration
- 2043-09-11
Smart Images

Figure CN117087167B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of 3D printing technology, and more particularly to a control method and apparatus for a 3D printer without a shaft positioning sensor. Background Technology
[0002] Traditional FDM 3D printers typically use proximity switches or photoelectric switches for zeroing and positioning. For example... Figure 2 As shown, in high-temperature printers (where the chamber temperature can reach 300°C), such electronic devices are affected by high temperatures, which can lead to positioning errors and device failure.
[0003] In addition, the use of two or even four positioning sensors (edge positioning and limit switches) on each axis increases the number of accessories and cables, which negatively impacts the production cost and stability of the equipment.
[0004] Finally, to meet the high precision requirements of repeatability positioning, the mounting plane and sensing plane of the sensor have process requirements such as flatness and assembly distance. The assembly is complicated, and the position needs to be recalibrated after damage, resulting in high maintenance and after-sales costs. Summary of the Invention
[0005] To solve the above-mentioned technical problems, the present invention is achieved through the following techniques:
[0006] In some embodiments, the present invention provides a 3D printer control method without an axis positioning sensor, comprising:
[0007] Send a zero-return command to the motion axis so that the motion axis seeks the first mechanical boundary at the motor end and then seeks the first mechanical zero point in the reverse direction;
[0008] After obtaining the first mechanical boundary and the first mechanical zero point, the motion axis searches for the second mechanical boundary and the corresponding second mechanical zero point at the non-motor end.
[0009] Based on the first mechanical boundary, the first mechanical zero point, the second mechanical boundary, and the second mechanical zero point, determine whether the 3D printer has exceeded mechanical limits;
[0010] When it is determined that the 3D printer has not exceeded its mechanical limits, the 3D printer is controlled to enter the working mode.
[0011] In some implementations, sending a zero-point command to the motion axis, causing the motion axis to seek a first mechanical boundary at the motor end and then reversely seek a first mechanical zero point, includes:
[0012] Based on the preset collision torque and preset collision speed, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs clockwise;
[0013] When the current speed of the motor is zero, the motion shaft collides with the first mechanical boundary to determine the first mechanical boundary;
[0014] Once the first mechanical boundary is determined, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs counterclockwise;
[0015] When the motor rotates to a preset angle position, the first mechanical zero point is determined.
[0016] In some implementations, after obtaining the first mechanical boundary and the first mechanical zero point, the step of the motion axis finding the second mechanical boundary and the corresponding second mechanical zero point at the non-motor end includes:
[0017] Based on the preset collision torque and preset collision speed, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs counterclockwise;
[0018] When the current speed of the motor is zero, the motion shaft collides with the second mechanical boundary to determine the second mechanical boundary;
[0019] Once the second mechanical boundary is determined, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs clockwise;
[0020] When the motor rotates to a preset angle position, the second mechanical zero point is determined.
[0021] In some implementations, the method further includes: setting the preset collision torque, preset collision speed, and length of each motion axis motor offline, specifically including the following steps:
[0022] The lengths of each motion axis are determined based on the lengths of the lead screw, guide rail, and linear motor of the 3D printer.
[0023] The maximum impact force is determined based on the rated torque of the motor; the maximum collision speed is determined based on the maximum impact force and the mechanical collision material, and the maximum collision speed is used as the preset collision speed.
[0024] The minimum collision torque is determined based on the friction coefficient of the lead screw and the friction coefficient of the guide rail, and the minimum collision torque is used as the preset collision torque.
[0025] In some embodiments, determining the maximum impact force based on the rated torque of the motor includes:
[0026] The maximum impact force of the collision is calculated using the following formula:
[0027] F*s=0.5*m*v 2 ;
[0028] Where F is the maximum impact force of the collision; s is the magnitude of the collision deformation; m is the mass of the load; and v is the moving speed of the load.
[0029] In some embodiments, the present invention also provides a 3D printer control device without an axis positioning sensor, comprising:
[0030] The first searching module is used to send a zero-return command to the motion axis so that the motion axis searches for the first mechanical boundary at the motor end and then searches for the first mechanical zero point in the reverse direction.
[0031] The second searching module is used to search for the second mechanical boundary and the corresponding second mechanical zero point at the non-motor end of the motion axis after the first mechanical boundary and the first mechanical zero point are obtained.
[0032] The judgment module is used to determine whether the 3D printer has exceeded mechanical limits based on the first mechanical boundary, the first mechanical zero point, the second mechanical boundary, and the second mechanical zero point.
[0033] The control module is used to control the 3D printer to enter the working mode when it is determined that the 3D printer has not exceeded the mechanical limits.
[0034] In some implementations, the first searching module is used to:
[0035] Based on the preset collision torque and preset collision speed, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs clockwise;
[0036] When the current speed of the motor is zero, the motion shaft collides with the first mechanical boundary to determine the first mechanical boundary;
[0037] Once the first mechanical boundary is determined, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs counterclockwise;
[0038] When the motor rotates to a preset angle position, the first mechanical zero point is determined.
[0039] In some implementations, the second searching module is used for:
[0040] Based on the preset collision torque and preset collision speed, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs counterclockwise;
[0041] When the current speed of the motor is zero, the motion shaft collides with the second mechanical boundary to determine the second mechanical boundary;
[0042] Once the second mechanical boundary is determined, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs clockwise;
[0043] When the motor rotates to a preset angle position, the second mechanical zero point is determined.
[0044] In some embodiments, it further includes: a setting module, used for offline setting of the preset collision torque, preset collision speed, and length of each motion axis motor, specifically including the following steps:
[0045] The lengths of each motion axis are determined based on the lengths of the lead screw, guide rail, and linear motor of the 3D printer.
[0046] The maximum impact force is determined based on the rated torque of the motor; the maximum collision speed is determined based on the maximum impact force and the mechanical collision material, and the maximum collision speed is used as the preset collision speed.
[0047] The minimum collision torque is determined based on the friction coefficient of the lead screw and the friction coefficient of the guide rail, and the minimum collision torque is used as the preset collision torque.
[0048] In some implementations...
[0049] The maximum impact force of the collision is calculated using the following formula:
[0050] F*s=0.5*m*v 2 ;
[0051] Where F is the maximum impact force of the collision; s is the magnitude of the collision deformation; m is the mass of the load; and v is the moving speed of the load.
[0052] The 3D printer control method and apparatus without a positioning sensor provided by the present invention have at least the following beneficial effects:
[0053] (i) By limiting the speed and torque of the motor, the movement of the motor and the collision with the mechanical edge are controlled. After the collision, the motor speed drops to zero. The mechanical boundary is determined by the sudden drop in motor speed to near zero. Then, the reverse positioning after the collision is performed according to the motor electrical angle or encoder, etc., to determine the origin position of the 3D printer. There is no need to install positioning and limit sensors for each motion axis, which reduces the number of cables and accessories and lowers the failure rate of the equipment.
[0054] (ii) The present invention makes it easier to ensure the positioning accuracy of the motion axis during mass production of the equipment. The positioning accuracy of the equipment can reach the micron level without the need for sensors.
[0055] (III) In the present invention, the zero-point repeatability positioning accuracy can be guaranteed within 2 micrometers in the "servo + lead screw" mode, and the structure is simple.
[0056] (iv) Saves equipment assembly time, reduces equipment material costs, and installation costs.
[0057] (v) The zeroing process of the motion axis is also a self-checking process of the equipment accuracy. If the equipment accuracy decreases, an alarm can be triggered so that maintenance personnel can determine whether the equipment needs to be maintained based on the feedback data. This reduces the maintenance difficulty of maintaining high precision of the equipment and reduces maintenance costs. Attached Figure Description
[0058] The preferred embodiments will be described below in a clear and easy-to-understand manner, with reference to the accompanying drawings, to further explain the above-mentioned characteristics, technical features, advantages, and implementation methods of a 3D printer control method and device with an axisless positioning sensor.
[0059] Figure 1 This is a schematic diagram of an embodiment of a 3D printer control method with a shaftless positioning sensor according to the present invention;
[0060] Figure 2 This is a schematic diagram of 3D printing in this invention;
[0061] Figure 3 This is a schematic diagram of an embodiment of a 3D printer control method with a shaftless positioning sensor according to the present invention;
[0062] Figure 4 This is a schematic diagram of an embodiment of a 3D printer control method with a shaftless positioning sensor according to the present invention;
[0063] Figure 5 This is a schematic diagram of an embodiment of a 3D printer control method with a shaftless positioning sensor according to the present invention;
[0064] Figure 6 This is a schematic diagram of an embodiment of a 3D printer control device with an axisless positioning sensor according to the present invention. Detailed Implementation
[0065] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application can also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.
[0066] It should be understood that, when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or sets.
[0067] To keep the drawings concise, only the parts relevant to the invention are shown schematically in each figure, and they do not represent the actual structure of the product. Furthermore, for ease of understanding, in some figures, only one of components with the same structure or function is shown schematically, or only one is labeled. In this document, "one" can mean not only "only one" but also "more than one".
[0068] It should also be further understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0069] Furthermore, in the description of this application, the terms "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0070] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the specific implementation methods of the present invention will be described below with reference to the accompanying drawings. Obviously, the drawings described below are merely some embodiments of the present invention. For those skilled in the art, other drawings and other implementation methods can be obtained based on these drawings without any creative effort.
[0071] In one embodiment, such as Figure 1 As shown, the present invention provides a 3D printer control method without a shaft positioning sensor, comprising:
[0072] S101 sends a zero-return command to the motion axis so that the motion axis seeks the first mechanical boundary at the motor end and then seeks the first mechanical zero point in the reverse direction.
[0073] S102 After obtaining the first mechanical boundary and the first mechanical zero point, the motion axis searches for the second mechanical boundary and the corresponding second mechanical zero point at the non-motor end;
[0074] S103 determines whether the 3D printer has exceeded mechanical limits based on the first mechanical boundary, the first mechanical zero point, the second mechanical boundary, and the second mechanical zero point;
[0075] S104 When it is determined that the 3D printer has not exceeded its mechanical limits, the 3D printer is controlled to enter the working mode.
[0076] In this embodiment, the motor end is located first, followed by the end furthest from the motor. By limiting the motor's speed and torque, the motor's movement and mechanical edge collisions are controlled. After a collision, the motor speed drops to zero. The mechanical boundary is determined by the sudden drop in motor speed to near zero. Then, reverse positioning is performed after the collision using methods such as motor electrical angles or encoders to determine the origin position of the 3D printer. This eliminates the need for positioning and limit sensors for each motion axis, reducing the number of cables and accessories, and lowering the equipment's failure rate.
[0077] In one embodiment, the present invention provides a method for controlling a 3D printer without an axis positioning sensor, comprising:
[0078] 1. Based on the torque and speed limits provided by the mechanical components (such as the technical data of the lead screw, guide rail suppliers, etc.), ensure that the motor runs at a speed and torque less than required by the mechanical components in the direction of clockwise rotation of the motor until the drive shaft collides with the mechanical boundary, thus confirming the boundary of the machine.
[0079] 2. Next, rotate the motor counterclockwise to the set motor angle position (for motors with encoders: use encoder position; one revolution of the encoder has one Z signal, and rotating counterclockwise until the first rising edge of the Z signal is determined as the mechanical zero point of the equipment. For motors without encoders: use motor electrical angle position; one revolution of the motor has several electrical angles from 0 to 360°, and once the motor is determined, the electrical angle value of one revolution is also determined. For commonly used stepper motors, rotate counterclockwise to the 10th electrical angle 0 point) to determine the mechanical zero point of the equipment.
[0080] 3. Run the motor counterclockwise at its rated speed until it reaches the other boundary of the drive shaft. Repeat steps 1 and 2 to determine the position on the other side.
[0081] 4. The bilateral data and the measurement data stored in the equipment (generated average measurement data) are compared for judgment. If the data difference exceeds the error value (currently set at 5 micrometers), an equipment alarm is triggered. This ensures high-precision and low-failure-rate operation of the equipment.
[0082] Among them, such as Figure 4As shown in section 2.5.1, determining the mechanical boundary includes:
[0083] Using a torque less than that that would damage the components (in actual use, it should not exceed the rated torque), the motor runs clockwise towards the boundary of the motion axis at a zero speed. When the motor speed drops to zero, it is considered that the motor is stalled (for motors with encoders, the motor speed can be calculated by feeding back the encoder information; for motors without encoders, stall can be determined by checking the motor current), thus defining the mechanical boundary.
[0084] 2.5.2 Confirming the mechanical zero point includes:
[0085] After determining the mechanical boundaries, the motor is reversed to a specific position to determine the device's zero point. The servo motor is controlled by a servo driver. When the motor rotates one revolution, the driver sends a Z signal back to the control system at a specific position on the motor. The rising edge of the first Z signal after the reversal (or the falling edge or the edge of the nth signal) is taken as the mechanical zero point. For stepper motors without a code disk (common two-phase hybrid stepper motors have 50 electrical zero points per revolution), the reverse rotation to the nth electrical zero point is controlled by the internal current of the stepper driver.
[0086] Among them, such as Figure 5 As shown, measure the other boundary and determine the mechanical state:
[0087] Reverse the process and repeat steps 2.5.1 and 2.5.2 to determine the other boundary and zero position of the motor.
[0088] 2.5.4 Measurement data storage and judgment include:
[0089] The measured data is compared with the initial data stored in the device for evaluation. If the mechanical error is too large, exceeding 2 micrometers (1 micrometer deviation on one side), an alarm is triggered; this ensures high-precision operation of the equipment and early warning for equipment maintenance.
[0090] In one embodiment, the present invention provides a method for controlling a 3D printer without an axis positioning sensor, comprising:
[0091] 1. Set the boundary collision torque, collision speed, and length of each motion axis motor offline.
[0092] 1.1 Determine the length of each motion axis of the equipment based on the actual length of the lead screw, guide rail, or linear motor.
[0093] 1.2 Based on the properties and mechanical strength of the moving parts selected for the equipment (refer to the specifications of each part), determine the maximum collision torque and collision speed. The collision shall be carried out at a speed and torque lower than that required by the mechanical parts.
[0094] Steps for confirming collision speed and collision torque:
[0095] The maximum impact force of the collision is determined based on the rated torque of the motor.
[0096] The maximum collision speed is determined based on the maximum impact force and the material of the mechanical collision.
[0097] The impact force is equal to the kinetic energy divided by the distance. F = (0.5 * m * v^2) ÷ s, where F is the torque converted from the rated torque at the motor end to the torque at the load end, m is the load mass, v is the load's moving speed, and s is the deformation of the material colliding with the equipment. Based on this, the load's moving speed can be calculated, and thus the maximum impact speed of the motor can be determined.
[0098] The minimum collision torque is determined based on factors such as the friction coefficient of the lead screw and guide rail.
[0099] Before the collision, the motor torque and the impact torque are in opposite directions. The collision torque only needs to exceed the load torque at the collision velocity. That is, the collision torque > u*m*g, where u = max (maximum static friction coefficient, dynamic friction coefficient). Based on the maximum friction coefficient of the material, determine the minimum set value of the collision torque. Thus, the maximum collision velocity and the minimum collision torque are obtained.
[0100] 2. Perform motor end boundary measurements and zero-point determination:
[0101] 2.1 The motor performs boundary collision at the set speed and torque, and the boundary is acquired after the motor stalls.
[0102] 2.2 Reverse the motor to the set motor characteristic position (motor encoder Z signal or motor electrical zero point) to determine the zero point position of the equipment's motion axis.
[0103] 3. Determine the boundary and zero point on the other side of the motion axis:
[0104] Repeat the previous step to determine the boundary and zero point of the other side of the motion axis.
[0105] 4. Determine the status of the operating shaft of the equipment:
[0106] 4.1 The range of motion of the device's motion axis and the position of the double-sided zero point can be determined by the data determined in steps 2 and 3.
[0107] 4.2 The measured data is compared with the data stored in the equipment. If the deviation of the servo motor equipment exceeds 5 micrometers (8 micrometers for the stepper motor equipment), an alarm will be issued. This alarm is a warning before the equipment needs maintenance.
[0108] 5. Once the zero point of the equipment is confirmed to be normal, the initial position of the equipment coordinates is completed, the zeroing is successful, and normal printing can proceed.
[0109] For example, the AC servo motors used for each motion axis of the equipment have collision torques of 1 Nm, 1 Nm, and 1.2 Nm respectively, determined based on the load of each motion axis and the strength of the equipment, with a collision speed of 300 rpm. Under this setting, there is no damage to the motors or the mechanical components of the equipment.
[0110] Once the motor is confirmed to be stuck due to a collision (the system does not receive any changes from the encoder, and the motor speed drops to 0), the motor is reversed, the rising edge of the Z signal from the motor encoder is acquired, and the motor is stopped to determine the mechanical zero point position. Similarly, the zero point position on the other side of the motion axis is acquired. Then, the working range of the motion axis is compared with the initially saved range. If the motion range and the saved data exceed the set error, an alarm is triggered. This solution ensures high-precision operation of the equipment and early warning before maintenance is required.
[0111] For example, the stepper motors used for each motion axis of the device, based on the load of each motion axis and the strength of the device, determined the collision currents of the XYZ axes to be 1A, 1A, and 1.2A respectively in multiple offline tests (stepper motor current and torque are related, but the linear relationship is poor), and the collision speed to be 150rpm. Under this setting, there is no damage to the motors and the mechanical components of the device.
[0112] After the motor is confirmed to be stalled due to a collision (stall detection can be performed internally in the stepper drive), it is forced to run to zero electrical angle, then reverses one full revolution (360° mechanical angle) to determine the motor's zero point. Similarly, the zero point position on the other side of the motion axis is obtained, and then the working range of the motion axis is compared with the initially saved range. If the motion range and saved data exceed the set error, an alarm is triggered, allowing equipment maintenance personnel to make a judgment. This ensures high-precision operation of the equipment.
[0113] In some implementations, sending a zero-point command to the motion axis, causing the motion axis to seek a first mechanical boundary at the motor end and then reversely seek a first mechanical zero point, includes:
[0114] Based on the preset collision torque and preset collision speed, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs clockwise;
[0115] When the current speed of the motor is zero, the motion shaft collides with the first mechanical boundary to determine the first mechanical boundary;
[0116] Once the first mechanical boundary is determined, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs counterclockwise;
[0117] When the motor rotates to a preset angle position, the first mechanical zero point is determined.
[0118] In some implementations, after obtaining the first mechanical boundary and the first mechanical zero point, the step of the motion axis finding the second mechanical boundary and the corresponding second mechanical zero point at the non-motor end includes:
[0119] Based on the preset collision torque and preset collision speed, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs counterclockwise;
[0120] When the current speed of the motor is zero, the motion shaft collides with the second mechanical boundary to determine the second mechanical boundary;
[0121] Once the second mechanical boundary is determined, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs clockwise;
[0122] When the motor rotates to a preset angle position, the second mechanical zero point is determined.
[0123] In some implementations, the method further includes: setting the preset collision torque, preset collision speed, and length of each motion axis motor offline, specifically including the following steps:
[0124] The lengths of each motion axis are determined based on the lengths of the lead screw, guide rail, and linear motor of the 3D printer.
[0125] The maximum impact force is determined based on the rated torque of the motor; the maximum collision speed is determined based on the maximum impact force and the mechanical collision material, and the maximum collision speed is used as the preset collision speed.
[0126] The minimum collision torque is determined based on the friction coefficient of the lead screw and the friction coefficient of the guide rail, and the minimum collision torque is used as the preset collision torque.
[0127] In some embodiments, determining the maximum impact force based on the rated torque of the motor includes:
[0128] The maximum impact force of the collision is calculated using the following formula:
[0129] F*s=0.5*m*v 2 ;
[0130] Where F is the maximum impact force of the collision; s is the collision deformation; m is the mass of the load; and v is the moving speed of the load.
[0131] In some embodiments, the present invention also provides a 3D printer control device without an axis positioning sensor, comprising:
[0132] The first searching module is used to send a zero-return command to the motion axis so that the motion axis searches for the first mechanical boundary at the motor end and then searches for the first mechanical zero point in the reverse direction.
[0133] The second searching module is used to search for the second mechanical boundary and the corresponding second mechanical zero point at the non-motor end of the motion axis after the first mechanical boundary and the first mechanical zero point are obtained.
[0134] The judgment module is used to determine whether the 3D printer has exceeded mechanical limits based on the first mechanical boundary, the first mechanical zero point, the second mechanical boundary, and the second mechanical zero point.
[0135] The control module is used to control the 3D printer to enter the working mode when it is determined that the 3D printer has not exceeded the mechanical limits.
[0136] In some implementations, the first searching module is used to:
[0137] Based on the preset collision torque and preset collision speed, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs clockwise;
[0138] When the current speed of the motor is zero, the motion shaft collides with the first mechanical boundary to determine the first mechanical boundary;
[0139] Once the first mechanical boundary is determined, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs counterclockwise;
[0140] When the motor rotates to a preset angle position, the first mechanical zero point is determined.
[0141] In some implementations, the second searching module is used for:
[0142] Based on the preset collision torque and preset collision speed, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs counterclockwise;
[0143] When the current speed of the motor is zero, the motion shaft collides with the second mechanical boundary to determine the second mechanical boundary;
[0144] Once the second mechanical boundary is determined, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs clockwise;
[0145] When the motor rotates to a preset angle position, the second mechanical zero point is determined.
[0146] In some embodiments, it further includes: a setting module, used for offline setting of the preset collision torque, preset collision speed, and length of each motion axis motor, specifically including the following steps:
[0147] The lengths of each motion axis are determined based on the lengths of the lead screw, guide rail, and linear motor of the 3D printer.
[0148] The maximum impact force is determined based on the rated torque of the motor; the maximum collision speed is determined based on the maximum impact force and the mechanical collision material, and the maximum collision speed is used as the preset collision speed.
[0149] The minimum collision torque is determined based on the friction coefficient of the lead screw and the friction coefficient of the guide rail, and the minimum collision torque is used as the preset collision torque.
[0150] In some implementations...
[0151] The maximum impact force of the collision is calculated using the following formula:
[0152] F*s=0.5*m*v 2 ;
[0153] Where F is the maximum impact force of the collision; s is the collision type variable; m is the mass of the load; and v is the moving speed of the load.
[0154] By limiting the speed and torque of the motor, the movement of the motor and collisions with the mechanical edges are controlled. After a collision, the motor speed drops to zero. The mechanical boundary is determined by the sudden drop in motor speed to near zero. Then, the reverse positioning after the collision is performed based on the motor electrical angle or encoder, etc., to determine the origin position of the 3D printer. There is no need to install positioning and limit sensors for each motion axis, which reduces the number of cables and accessories and lowers the failure rate of the equipment.
[0155] This invention more easily ensures the positioning accuracy of the motion axis during mass production of equipment. Current equipment can achieve micron-level accuracy without sensors. In this invention, the zero-point repeatability positioning accuracy can be guaranteed within 2 microns in the "servo + lead screw" mode, with a simple structure. This saves equipment assembly time, reduces equipment material costs, and lowers installation costs. The motion axis homing process also serves as a self-checking process for equipment accuracy. An alarm can be triggered if the equipment accuracy decreases, allowing maintenance personnel to determine whether maintenance is necessary based on the feedback data. This reduces the difficulty and cost of maintaining high precision in equipment maintenance.
[0156] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of program modules is merely an example. In practical applications, the above functions can be assigned to different program modules as needed, that is, the internal structure of the device can be divided into different program units or modules to complete all or part of the functions described above. The program modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one processing unit. The integrated unit can be implemented in hardware or as a software program unit. Furthermore, the specific names of the program modules are only for easy differentiation and are not intended to limit the scope of protection of this application.
[0157] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0158] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0159] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; the division of modules or units is merely a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling or direct coupling or communication connection may be through some interface; the indirect coupling or communication connection of apparatus or units may be electrical, mechanical, or other forms.
[0160] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0161] Furthermore, the functional units in the various embodiments of this application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The integrated unit described above can be implemented in hardware or as a software functional unit.
[0162] It should be noted that the above embodiments can be freely combined as needed. The above description is only a preferred embodiment of the present invention. It should be pointed out that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A control method for a 3D printer without a shaft positioning sensor, characterized in that, include: Send a zero-return command to the motion axis so that the motion axis seeks the first mechanical boundary at the motor end and then seeks the first mechanical zero point in the reverse direction; After obtaining the first mechanical boundary and the first mechanical zero point, the motion axis searches for the second mechanical boundary and the corresponding second mechanical zero point at the non-motor end. Based on the first mechanical boundary, the first mechanical zero point, the second mechanical boundary, and the second mechanical zero point, determine whether the 3D printer has exceeded mechanical limits; When it is determined that the 3D printer has not exceeded its mechanical limits, the 3D printer is controlled to enter the working mode. The process of finding the first mechanical boundary, the first mechanical zero point, the second mechanical boundary, and the second mechanical zero point includes: based on a preset collision torque and a preset collision speed, controlling the torque of the motor to be less than the preset collision torque and the rotational speed of the motor to be less than the preset collision speed.
2. The 3D printer control method with an axisless positioning sensor according to claim 1, characterized in that, The step of sending a zero-point command to the motion axis, so that the motion axis seeks the first mechanical boundary at the motor end and then seeks the first mechanical zero point in reverse, includes: Based on the preset collision torque and the preset collision speed, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs clockwise; When the current speed of the motor is zero, the motion shaft collides with the first mechanical boundary to determine the first mechanical boundary; Once the first mechanical boundary is determined, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs counterclockwise; When the motor rotates to a preset angle position, the first mechanical zero point is determined.
3. The 3D printer control method with an axisless positioning sensor according to claim 1, characterized in that, After obtaining the first mechanical boundary and the first mechanical zero point, the motion axis searches for the second mechanical boundary and the corresponding second mechanical zero point at the non-motor end, including: Based on the preset collision torque and the preset collision speed, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs counterclockwise; When the current speed of the motor is zero, the motion shaft collides with the second mechanical boundary to determine the second mechanical boundary; Once the second mechanical boundary is determined, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs clockwise; When the motor rotates to a preset angle position, the second mechanical zero point is determined.
4. The 3D printer control method with an axisless positioning sensor according to claim 1, characterized in that, Also includes: The offline setting of the preset collision torque, preset collision speed, and length of each motion axis motor specifically includes the following steps: The lengths of each motion axis are determined based on the lengths of the lead screw, guide rail, and linear motor of the 3D printer. The maximum impact force is determined based on the rated torque of the motor; the maximum collision speed is determined based on the maximum impact force and the mechanical collision material, and the maximum collision speed is used as the preset collision speed. The minimum collision torque is determined based on the friction coefficient of the lead screw and the friction coefficient of the guide rail, and the minimum collision torque is used as the preset collision torque.
5. The 3D printer control method with an axisless positioning sensor according to claim 4, characterized in that, Determining the maximum impact force based on the rated torque of the motor includes: The maximum impact force of the collision is calculated using the following formula: ; Where F is the maximum impact force of the collision; s is the magnitude of the collision deformation; m is the load mass; and v is the moving speed of the load.
6. A control device for a 3D printer without a positioning sensor, characterized in that, include: The first searching module is used to send a zero-return command to the motion axis so that the motion axis searches for the first mechanical boundary at the motor end and then searches for the first mechanical zero point in the reverse direction. The second searching module is used to search for the second mechanical boundary and the corresponding second mechanical zero point at the non-motor end of the motion axis after the first mechanical boundary and the first mechanical zero point are obtained. The judgment module is used to determine whether the 3D printer has exceeded mechanical limits based on the first mechanical boundary, the first mechanical zero point, the second mechanical boundary, and the second mechanical zero point. The control module is used to control the 3D printer to enter the working mode when it is determined that the 3D printer has not exceeded the mechanical limits; The process of finding the first mechanical boundary, the first mechanical zero point, the second mechanical boundary, and the second mechanical zero point includes: based on a preset collision torque and a preset collision speed, controlling the torque of the motor to be less than the preset collision torque and the rotational speed of the motor to be less than the preset collision speed.
7. The 3D printer control device with a shaftless positioning sensor according to claim 6, characterized in that, The first searching module is used for: Based on the preset collision torque and the preset collision speed, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs clockwise; When the current speed of the motor is zero, the motion shaft collides with the first mechanical boundary to determine the first mechanical boundary; Once the first mechanical boundary is determined, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs counterclockwise; When the motor rotates to a preset angle position, the first mechanical zero point is determined.
8. The 3D printer control device with a shaftless positioning sensor according to claim 6, characterized in that, The second searching module is used for: Based on the preset collision torque and the preset collision speed, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs counterclockwise; When the current speed of the motor is zero, the motion shaft collides with the second mechanical boundary to determine the second mechanical boundary; Once the second mechanical boundary is determined, the torque of the motor is controlled to be less than the preset collision torque and the rotational speed of the motor is controlled to be less than the preset collision speed, so that the motor runs clockwise; When the motor rotates to a preset angle position, the second mechanical zero point is determined.
9. The 3D printer control device with a shaftless positioning sensor according to claim 6, characterized in that, Also includes: The setting module is used to set the preset collision torque, preset collision speed, and length of each motion axis motor offline, specifically including the following steps: The lengths of each motion axis are determined based on the lengths of the lead screw, guide rail, and linear motor of the 3D printer. The maximum impact force is determined based on the rated torque of the motor; the maximum collision speed is determined based on the maximum impact force and the mechanical collision material, and the maximum collision speed is used as the preset collision speed. The minimum collision torque is determined based on the friction coefficient of the lead screw and the friction coefficient of the guide rail, and the minimum collision torque is used as the preset collision torque.
10. The 3D printer control device with a shaftless positioning sensor according to claim 9, characterized in that, The maximum impact force of the collision is calculated using the following formula: ; Where F is the maximum impact force of the collision; s is the magnitude of the collision deformation; m is the load mass; and v is the moving speed of the load.
Citation Information
Patent Citations
Method and system for automatic home position return of 3D printing equipment
CN110641024A
Zero point positioning method, zero point positioning system, servo motor and storage medium
CN110793553A