Methods, systems, and computer program products for calibrating actuators
The method and system for actuator calibration using an electronically rectified motor and binary search algorithm provide accurate positioning without high-precision sensors, addressing the limitations of existing systems by reducing costs and enhancing flexibility.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- BD KIESTRA BV
- Filing Date
- 2024-04-12
- Publication Date
- 2026-05-01
AI Technical Summary
Existing actuator calibration systems require expensive encoders, precise sensor positioning, and individual calibration of each unit, limiting flexibility and increasing costs.
A method and system for calibrating actuators using an electronically rectified motor, a reference sensor, and a binary search algorithm to determine precise positioning relative to a mechanical stop without requiring high-precision sensors or manual calibration, enabling accurate actuator calibration with low-cost components.
Enables precise actuator calibration without expensive encoders, reduces susceptibility to interference, and enhances design flexibility by allowing retrospective calibration of field devices with low-cost sensors.
Smart Images

Figure 2026514114000001_ABST
Abstract
Description
Technical Field
[0001] Cross - Reference to Related Applications This application claims priority to U.S. Provisional Application No. 63 / 459,404, filed on April 14, 2023, entitled "Method, System, and Computer Program Product for Calibrating an Actuator", the entire disclosure of which is incorporated herein by reference.
Background Art
[0002] Accuracy refers to the ability of an actuator to achieve a commanded position. For example, accuracy is a measure of the error between the commanded position and the actual position achieved. Existing systems for calibrating an actuator use expensive encoders, require sensors that are accurately positioned as a reference, need to calibrate each actuator unit individually, and / or may use components necessary to meet very strict tolerances to achieve a desired level of actuator accuracy.
Summary of the Invention
[0003] Therefore, improved systems, devices, products, apparatuses, and / or methods for calibrating an actuator are provided.
[0004] According to some non-limiting embodiments or aspects, a method for calibrating an actuator is provided, comprising: using at least one processor to control an electronically rectified motor to drive an actuator member away from a mechanical stop until a reference sensor is triggered by the actuator member of the actuator; using at least one processor to determine the position of the electronically rectified motor where the actuator member of the actuator triggered the reference sensor; using at least one processor to control the electronically rectified motor to repeatedly reciprocate the actuator member at varying search distances from the position toward the mechanical stop and back to triggering the reference sensor until two reciprocating search distances (which are separately at least parts of the rectification steps of the electronically rectified motor) are detected; and using at least one processor to determine a distance for precisely positioning the actuator member relative to the mechanical stop based on the two reciprocating search distances.
[0005] In some non-limiting embodiments or aspects, at least one processor uses a binary search algorithm to determine various search distances.
[0006] In some non-limiting embodiments or aspects, the electronically rectified motor includes a stepper motor.
[0007] In some non-limiting embodiments or aspects, the electronically rectified motor includes a rotary motor or a linear motor.
[0008] According to some non-limiting embodiments or aspects, a method for calibrating an actuator includes: (i) using at least one processor to control an electronically rectified motor to drive the actuator member away from a mechanical stop until a reference sensor is triggered by the actuator member of the actuator; (ii) using at least one processor to store in memory the position of the electronically rectified motor where the actuator member of the actuator triggered the reference sensor; and (iii) using at least one processor to control the electronically rectified motor to move the actuator member to the stored position at the current search distance. (iv) Using at least one processor to drive the electronically rectified motor toward a mechanical stop from position (current incremental), (v) Using at least one processor to control the electronically rectified motor toward a reference sensor from the end of the current search distance toward the reference sensor until the reference sensor is triggered by the actuator member, (v) Using the actuator member to trigger the reference sensor, using at least one processor to compare the current position of the electronically rectified motor toward the reference sensor being triggered by the actuator member with the stowed position of the electronically rectified motor, (vi) Using at least one processor to determine that the current position of the electronically rectified motor is different from the stowed position of the electronically rectified motor, and to determine that the actuator member has encountered a mechanical stop and set the current search distance to the current incremental amount (current incremental).A method is provided which includes reducing by an amount and repeating steps (iii) to (vi), and (b) in response to determining that the current position of the electronically rectified motor is the same as the storage position of the electronically rectified motor, using at least one processor to determine whether the actuator member has encountered a mechanical stop with respect to the current search distance plus the current increment, (1) in response to determining that the actuator member has not encountered a mechanical stop with respect to the current search distance plus the current increment, using at least one processor to increase the current search distance by the current increment and repeat steps (iii) to (vi), and (2) in response to determining that the actuator member has encountered a mechanical stop with respect to the current search distance plus the current increment, using at least one processor to determine a distance for precisely positioning the actuator member relative to the mechanical stop based on the current search distance and the current search distance plus the current increment.
[0009] In some non-limiting embodiments or aspects, the current increment includes at least one commutation step of an electronically commutated motor.
[0010] In some non-limiting embodiments or aspects, at least one processor uses a binary search algorithm to determine the current search distance and the current increment.
[0011] In some non-limiting embodiments or aspects, the electronically rectified motor includes a stepping motor.
[0012] In some non-limiting embodiments or aspects, the electronically rectified motor includes a rotary motor or a linear motor.
[0013] In some non-limiting embodiments or aspects, the method further includes using at least one processor to store in memory a distance for precisely positioning an actuator member relative to a mechanical stop.
[0014] According to some non-limiting embodiments or aspects, a system is provided comprising at least one processor coupled to memory and configured to control an electronically rectified motor to drive an actuator member away from a mechanical stop until a reference sensor is triggered by an actuator member of the actuator; to determine the position of the electronically rectified motor where the actuator member of the actuator triggered the reference sensor; to control the electronically rectified motor to repeatedly reciprocate the actuator member until two reciprocating search distances from that position (which are separately at least part of the rectification steps of the electronically rectified motor) are detected at various search distances that restart the triggering of the reference sensor from that position toward the mechanical stop; and to determine a distance for precisely positioning the actuator member relative to the mechanical stop based on the two reciprocating search distances.
[0015] In some non-limiting embodiments or aspects, at least one processor uses a binary search algorithm to determine various search distances.
[0016] In some non-limiting embodiments or aspects, the electronically rectified motor includes a stepping motor.
[0017] In some non-limiting embodiments or aspects, the electronically rectified motor includes a rotary motor or a linear motor.
[0018] According to some non-limiting embodiments or aspects, the following are coupled to a memory: (i) Control an electronically rectified motor to drive the actuator member away from a mechanical stop until a reference sensor is triggered by the actuator member of the actuator; (ii) Store in the memory the position of the electronically rectified motor at which the actuator member of the actuator triggered the reference sensor; (iii) Control an electronically rectified motor to drive the actuator member from its stored position toward the mechanical stop at the current search distance; (iv) Control an electronically rectified motor to drive the actuator member from the end of the current search distance toward the reference sensor until the reference sensor is triggered by the actuator member; (v) In response to the triggering of the reference sensor using the actuator member, compare the current position of the electronically rectified motor at which the reference sensor is triggered by the actuator member with the stored position of the electronically rectified motor; (vi) In response to (a) determining that the current position of the electronically rectified motor is different from the stored position of the electronically rectified motor, the actuator A system is provided which includes at least one processor configured to: determine that an actuator member has encountered a mechanical stop, reduce the current search distance by the current increment, and repeat steps (iii) to (vi); and (b) determine whether the actuator member has encountered a mechanical stop with respect to the current search distance plus the current increment in response to determining that the current position of the electronically rectified motor is the same as the stowed position of the electronically rectified motor; (1) increase the current search distance by the current increment in response to determining that the actuator member has not encountered a mechanical stop with respect to the current search distance plus the current increment, and repeat steps (iii) to (vi); and (2) determine a distance for precisely positioning the actuator member relative to the mechanical stop based on the current search distance and the current search distance plus the current increment in response to determining that the actuator member has encountered a mechanical stop with respect to the current search distance plus the current increment.
[0019] In some non-limiting embodiments or aspects, the current increment includes at least one commutation step of an electronically commutated motor.
[0020] In some non-limiting embodiments or aspects, at least one processor is configured to determine the current search distance and the current increment using a binary search algorithm.
[0021] In some non-limiting embodiments or aspects, the electronically rectified motor includes a stepping motor.
[0022] In some non-limiting embodiments or aspects, the electronically rectified motor includes a rotary motor or a linear motor.
[0023] In some non-limiting embodiments or aspects, at least one processor is further configured to store in memory a distance for precisely positioning an actuator member relative to a mechanical stop.
[0024] According to some non-limiting embodiments or aspects, a computer program product is provided which, when executed by at least one processor, causes at least one processor to control an electronically rectified motor to drive an actuator member away from a mechanical stop until a reference sensor is triggered by an actuator member of the actuator; determines the position of the electronically rectified motor where the actuator member of the actuator triggered the reference sensor; causes the electronically rectified motor to repeatedly reciprocate until two reciprocating search distances from that position (which are separately at least parts of the rectification steps of the electronically rectified motor) are detected at various search distances toward the mechanical stop and resuming to trigger the reference sensor; and determines a distance for precisely positioning the actuator member relative to the mechanical stop based on the two reciprocating search distances.
[0025] In some non-limiting embodiments or aspects, when the program instructions are executed by at least one processor, the at least one processor is further caused to use a binary search algorithm to determine various search distances.
[0026] In some non-limiting embodiments or aspects, the electronic commutation motor includes a stepping motor.
[0027] In some non-limiting embodiments or aspects, the electronic commutation motor includes a rotary motor or a linear motor.
[0028] According to some non-limiting embodiments or aspects, when executed by at least one processor, at least one processor is caused to (i) control an electronically rectified motor to drive the actuator member away from a mechanical stop until a reference sensor is triggered by the actuator member of the actuator; (ii) store in memory the position of the electronically rectified motor where the actuator member of the actuator triggered the reference sensor; (iii) control the electronically rectified motor to drive the actuator member from the stored position toward the mechanical stop at the current search distance; (iv) control the electronically rectified motor to drive the actuator member from the end of the current search distance toward the reference sensor until the reference sensor is triggered by the actuator member; (v) in response to the triggering of the reference sensor using the actuator member, cause the reference sensor to compare the current position of the electronically rectified motor where the actuator member triggered the reference sensor with the stored position of the electronically rectified motor; and (vi) in response to (a) determining that the current position of the electronically rectified motor is different from the stored position of the electronically rectified motor. A computer program product is provided, which includes at least one non-temporary computer-readable medium, which includes a program instruction causing (i) to determine that the actuator member has encountered a mechanical stop, reduce the current search distance by the current increment, and repeat steps (iii) to (vi); and (b) to determine whether the actuator member has encountered a mechanical stop with respect to the current search distance plus the current increment, in response to determining that the current position of the electronically rectified motor is the same as the storage position of the electronically rectified motor; and (i) to increase the current search distance by the current increment, in response to determining that the actuator member has not encountered a mechanical stop with respect to the current search distance plus the current increment, and repeat steps (iii) to (vi); and (ii) to determine a distance for precisely positioning the actuator member relative to the mechanical stop, based on the current search distance and the current search distance plus the current increment, in response to determining that the actuator member has encountered a mechanical stop with respect to the current search distance plus the current increment.
[0029] In some non - limiting embodiments or aspects, the current increment amount includes at least one commutation step of an electronically commutated motor.
[0030] In some non - limiting embodiments or aspects, when the program instructions are executed by at least one processor, the at least one processor is caused to use a binary search algorithm to determine a current search distance and a current increment amount.
[0031] In some non - limiting embodiments or aspects, the electronically commutated motor includes a stepper motor.
[0032] In some non - limiting embodiments or aspects, the electronically commutated motor includes a rotary motor or a linear motor.
[0033] In some non - limiting embodiments or aspects, when the program instructions are executed by at least one processor, the at least one processor is further caused to store in a memory a distance for accurately positioning an actuator member relative to a mechanical stop.
Brief Description of the Drawings
[0034] The accompanying drawings are incorporated herein and form a part of the specification. [Figure 1] Diagrams of non - limiting embodiments or aspects of an environment in which the systems, devices, products, apparatuses, and / or methods described herein may be implemented. [Figure 2A] Shows an exemplary stepper motor in a rotary application according to aspects of the present disclosure. [Figure 2B] Shows an exemplary stepper motor in a linear application according to aspects of the present disclosure. [Figure 2C] Shows an exemplary stepper motor in a linear application according to aspects of the present disclosure. [Figure 2D] An exemplary brushless direct current (BLDC) motor according to aspects of this disclosure is shown. [Figure 2E] An exemplary stepping motor according to an aspect of this disclosure is shown. [Figure 3] An exemplary linear actuator according to aspects of this disclosure is shown. [Figure 4A] An exemplary electronically rectified linear motor according to aspects of this disclosure is shown. [Figure 4B] An exemplary electronically rectified linear motor according to an aspect of this disclosure is shown. [Figure 4C] An exemplary electronically rectified linear motor according to an aspect of this disclosure is shown. [Figure 5] This is a flowchart of a non-limiting embodiment or aspect of a process for calibrating an actuator. [Figure 6] This is a flowchart of a non-limiting embodiment or aspect of a process for calibrating an actuator. [Figure 7] This is a graph of a binary search plot. [Figure 8] This is an example of a computer system useful for implementing various embodiments.
[0035] In drawings, similar reference numbers generally indicate identical or similar elements. Furthermore, the number(s) at the left end of a reference number generally identify the drawing in which the reference number first appears. [Modes for carrying out the invention]
[0036] This specification provides embodiments of systems, apparatus, devices, methods and / or computer program products for calibrating an actuator (and / or measuring the distance to a mechanical stop or other obstacle), and / or combinations and subcombinations thereof. Non-limiting embodiments or aspects of this disclosure may control an electronically rectified motor to drive an actuator member away from a mechanical stop until a reference sensor is triggered by the actuator member of the actuator, the actuator member of the actuator may determine the position of the electronically rectified motor that triggered the reference sensor, the electronically rectified motor may be controlled to repeatedly reciprocate the actuator member until two reciprocating search distances (which are separately at least part of the rectification steps of the electronically rectified motor) are detected from that position toward the mechanical stop and resuming to trigger the reference sensor (for example, one reciprocating search distance having equal forward and return distances, and the other reciprocating search distance having a return distance smaller than the forward distance, etc.), and based on the two reciprocating search distances, a distance may be controlled to precisely position the actuator member relative to the mechanical stop. For example, when the outbound distance no longer matches the return distance for round-trip exploration, it can be determined that there is an obstacle blocking the movement of the actuator member or shaft (e.g., a mechanical stop, etc.) (for example, this causes the rotor to snap back to a previous rectification step or position, even though the drive sine wave is counted as the distance in the forward direction, thereby making the return distance that does not encounter the obstacle at least one drive sine wave smaller than the outbound distance, etc.). As an example, the rotor of an electronically rectified motor (or the coil of a forser in a linear motor) is configured such that the motor's magnets settle into an orientation that aligns with the magnetic field of the stator or coil. In such an example, an external force can offset the orientation of the rotor (or coil) and, therefore, the magnets with respect to the magnetic field of the stator or coil. By increasing the offset of the rotor (or coil), the force of the intended magnetic field may decrease, and the force from adjacent magnetic fields may increase.If the rotor (or coil) is significantly offset, and the force from an adjacent magnetic field is greater than the intended magnetic field, the rotor (or coil) will snap towards the adjacent magnetic field, if physically possible. Therefore, by using an iterative calibration method according to a non-limiting embodiment or aspect, the offset between the magnetic field and the mechanical end stop can be found with an accuracy of at least a portion or fraction of the commutative step size (e.g., the microstep accuracy of a stepping motor).
[0037] Thus, non-limiting embodiments or aspects of the present disclosure may enable the precise calibration of an actuator member or shaft to a mechanical stop (and / or measurement of the distance to an obstacle) without requiring an encoder (or similar position detection) and without requiring a precisely positioned reference sensor (e.g., relative to other components, etc.) by determining the relative position of a mechanical stopper with respect to the commutation error of an electronically commutated motor driving an actuator. Accordingly, non-limiting embodiments or aspects of the present disclosure may provide (i) compensation for accuracy differences between actuator assemblies without requiring manual calibration, (ii) achieving a high level of accuracy with low-precision (e.g., low-cost) sensors, (iii) providing a cost-effective alternative to encoder-controlled actuator calibration, (iv) being less susceptible to interference due to encoder omission, (v) increasing design flexibility during development, and (vi) enabling retrospective calibration of any field device, including reference sensors and / or similar.
[0038] Next, referring to Figure 1, which is a diagram of an exemplary environment 100 in which the devices, systems, methods, and / or products described herein may be implemented. As shown in Figure 1, the environment 100 includes a controller 102, an actuator 103 including an electronically rectified motor 104 and / or actuator member 106, a reference sensor 108, and / or a mechanical stop 110.
[0039] The controller 102 may include at least one processor coupled to memory, such as a microcontroller (e.g., a low-power microcontroller unit (MCU), etc.) and / or similar. For example, the controller 102 may include one or more components of the computer system 800 shown in Figure 8. The controller 102 may be configured to control the operation of the actuator 103, as will be described in more detail herein with respect to Figures 5 and 6.
[0040] In some non-limiting embodiments or aspects, for example, as shown in Figures 2B and 2C, the controller 102 may be implemented as a printed circuit board assembly (PCBA) 220 that can be connected to or mounted on the inner or outer surface of the housing or frame of the actuator 103, such as the housing or frame 222 of the actuator 200. For example, the PCBA 220 may include a processor 224 (e.g., a low-power MCU), memory 226 (e.g., main memory 808, secondary memory 810), wireless communication circuitry 228, power supply 230, and / or user input / feedback device 232.
[0041] The wireless communication circuit 228 may be configured to wirelessly communicate information and / or data (e.g., actuator control commands, motor position, calibration values, etc.) with an external computing device (e.g., via a short-range wireless communication connection such as an NFC communication connection, an RFID communication connection, a Bluetooth® communication connection, and / or similar). The wireless communication circuit 228 may be configured to establish communication with an external computing device (e.g., pair and / or activate a pairing sequence for pairing with an external computing device, etc.) based on a predetermined user input to the user input / feedback device 232 (e.g., in response to a user pressing and / or holding a button, etc.).
[0042] The power supply 230 may include a rechargeable battery, a disposable battery, a replaceable battery, a connection to an external power supply, or any combination thereof. In some non-limiting embodiments or aspects, the power supply 230 may include an energy harvester (e.g., a thermoelectric energy harvester, a photovoltaic energy harvester, a piezoelectric energy harvester, etc.). The power supply 230 may be configured to supply power to the operating components of the PCBA 300 and / or the electronically rectified motor 104 (e.g., to drive the actuator member 106, etc.).
[0043] The user input / feedback device 232 may be configured to receive user input from the user and / or provide feedback to the user. For example, the user input / feedback device 232 may include at least one of a display, a light-emitting diode (LED), an audio output device (e.g., a buzzer, a speaker, etc.), or any combination thereof.
[0044] Actuator 103 may include linear actuators, rotary actuators, any combination thereof, and / or similar. For example, actuator 103 may include an actuator configured to adjust the nozzle of a 3D printer relative to the printer bed or plate (e.g., the printing surface, etc.) of the 3D printer, and / or to adjust the printer bed or plate relative to the nozzle, so as to ensure that the nozzle is precisely positioned relative to the bed or plate. As an example, actuator 103 may include an actuator configured to adjust one or more components of a microbiology plate station to ensure that microbiology plates and corresponding components are precisely positioned relative to each other for inoculation, incubation, plate imaging, handling, transport, and / or reading. For example, non-limiting embodiments or aspects of the present disclosure may be used to calibrate one or more actuators of an automated specimen processing system (relative to one or more stops, obstacles, or other components), as described in International Publication No. 2021 / 1808836, published on September 16, 2021, whose entire contents are incorporated herein by reference. Further details regarding non-limiting embodiments or aspects of the actuator 103 are provided below with reference to Figures 2A-2E, Figure 3, and Figures 4A-4C.
[0045] The electric rectifier motor 104 may include brushless direct current (BLDC) motors, stepping motors, rotary motors, linear motors (e.g., iron-core linear motors, iron-free or U-channel linear motors, slotless linear motors, tubular linear motors, etc.), and / or similar. Further details regarding non-limiting embodiments or aspects of the electric rectifier motor 104 are provided below with respect to Figures 2A-2E, Figure 3, and Figures 4A-4C.
[0046] The reference sensor 108 may include at least one of the following: U-shaped sensors (e.g., Panasonic PM-Y45-P, Omron EE-SX4350, Omron EE-SX3340, etc.), beam break sensors and / or similar photoelectric sensors (e.g., visible light sensors, infrared (IR) light sensors, ultraviolet (UV) light sensors, etc.), mechanical sensors (e.g., switches, microswitches, strain sensors, load cells, etc.), proximity sensors (e.g., ultrasonic sensors, inductive sensors (e.g., Festo SIED-M12B-ZS-KL-PA, etc.), Hall effect sensors, capacitive sensors, eddy current sensors, etc.), encoders (e.g., when the resolution of the encoder is coarser than the desired or required precision, etc.), any combination thereof, and / or similar.
[0047] The reference sensor 108 may be configured to be triggered by the presence of the actuator member 106 (for example, it may be configured to detect the position of the actuator member 106). The reference sensor 108 may be held in a stationary position relative to the mechanical stop 110. For example, the distance and orientation of the reference sensor relative to the mechanical stop may be consistent or constant. However, the reference sensor 108 does not need to be precisely positioned relative to the mechanical stop 110 and / or other components of the actuator 103. For example, the reference sensor 108 may be positioned at any position along the movement path of the actuator member 106.
[0048] The mechanical stop 110 may include a rigid mechanical stop or obstacle configured to obstruct or block the movement or motion of the actuator member 106 away from the reference sensor 108 (and thereby the movement of the rotor or forcer of the electronically rectified motor 104) when the mechanical stop 110 is encountered by the actuator member 106. For example, the mechanical stop 110 may be fixed to the housing or frame of the actuator 103, such as the housing or frame 222 of the rotary actuator 200, as shown in Figure 2A.
[0049] Referring now to Figures 2A to 2C, Figures 2A to 2C show exemplary rotary actuators 200 according to embodiments of the present disclosure. As shown in Figures 2A to 2C, the actuator member 206 may be mechanically connected to an electronically rectified rotary motor 204 (for example, to the rotor 207 of a BLDC motor 204a shown in Figure 2D, to the rotor 207b of a stepping motor 204b shown in Figure 2E, etc.) via a lead screw 205.
[0050] Referring also to Figure 2D, which shows an exemplary BLDC motor 204a, according to aspects of the disclosure, the rotor 207a may include permanent magnets, and the stator coils 209a of the BLDC motor 204a may not rotate but instead be fixed in place on the stator. Rotation may be achieved by changing the direction of the magnetic field generated by the surrounding stationary stator coils, and / or the controller 102 may control the rotation by adjusting the magnitude and / or direction of the current to the stator coils. Although Figure 2D shows three stator coils and a single pair of permanent magnets, non-limiting embodiments or aspects of the disclosure are not limited thereto, and the BLDC motor 204a may include any desired number of phases (e.g., one-phase motor, two-phase motor, three-phase motor, etc.) and / or consist of a rectification sequence including any desired number of rectification steps (e.g., 6 steps, 32 steps, 64 steps, 1024 steps, etc.).
[0051] Referring also to Figure 2E, which shows an exemplary stepping motor, according to an aspect of this disclosure, the rotor 207b may include permanent magnets, and when current flows through the stator winding 209b, the stator winding 209b generates a vector magnetic field. The magnetic field can drive the rotor 207b to rotate by a certain angle such that the magnetic field pair of the rotor 207b and the magnetic field direction of the stator 209b are consistent. When the vector magnetic field of the stator 209b rotates by a certain angle, the rotor 207b also rotates by a certain angle with the magnetic field. Each time an electrical pulse is input, the rotor 207b rotates by an additional 1 degree. The angular displacement output by the rotor 207b is proportional to the number of input pulses, and the speed is proportional to the pulse frequency. By changing the order of winding power, the motor can be reversed. In this way, the controller 102 can control the rotation of the stepping motor 204b by controlling the number of pulses, frequency, and electrical sequence of each phase winding of the motor.
[0052] In some non-limiting embodiments or aspects, the controller 102 may drive the stepper motor 204b using microstepping. For example, microstepping drives the stepper motor by less than one full step per movement. As an example, a stepper motor may operate by turning one full step with each pulse of current. Microstepping allows the motor to produce much finer steps by having the controller 102 send the stepper motor the appropriate kind of current pulses. For example, the controller 102 may not send the stepper motor the entire pulse of current to move it, but instead send only a partial pulse to the stepper motor. As a result, the motor rotates only a fraction of a step. Exemplary values for microstepping are 16 to 64 microsteps per full step. For a 1.8° stepper motor, this produces steps from 0.1124° to 0.028°. As an example, the controller 102 may send current to the motor as a stepped sine wave. The steps in the sinusoidal pattern are individual microsteps, and the entire wavelength is a pulse that rotates the motor in one complete step.
[0053] Referring next to Figure 3, which shows an exemplary linear actuator 300 according to an aspect of the present disclosure. As shown in Figure 3, the linear actuator 300 may include an electronically rectified rotary motor 204, a gearbox 350, a coupling 352, a screw 354, a nut 356 (e.g., actuator member 106, etc.), and / or a bearing 358, which may be the same as or similar to the rotary motor 308. The linear actuator 300 may be configured to drive the nut or actuator member 356 linearly along the screw 354 between the bearings 358 at both ends of the screw 354 via the gearbox 350 and the coupling 352. For example, the rotary motor 304 may be used as a source of actuation in conjunction with a lead screw or ball screw to generate linear motion. In such an example, a reference sensor 108 may be positioned between the bearing 358 and a mechanical stop 110.
[0054] Referring to Figures 4A to 4C, Figures 4A to 4C show exemplary electronically rectified linear motors 404a, 404b, and 404c according to embodiments of the present disclosure. As shown in Figure 4A, the electronically rectified linear motor 404a may include a three-phase electromagnetic coil wound around a stacked iron core (teeth) on a forcer 450a, and a track 452a containing permanent magnets. As shown in Figure 4B, the electronically rectified linear motor 404b may include an ironless linear motor (e.g., a U-channel linear motor, etc.) mounted in epoxy, rather than an iron stacked stack on a forcer 450b, and a track 452b containing permanent magnets. Slotless linear motors (not shown) may combine design elements of iron-core motors and ironless motors. As shown in Figure 4C, the electronically rectified linear motor 404c may include a tubular linear motor including a cylindrical magnet shaft containing permanent magnets or a coil winding (e.g., a three-phase coil winding, etc.) on a forcer 450c containing coils surrounding a track 452c. The forcers 450a, 450b, and 450c of the electronically rectified linear motors 404a, 404b, and 404c may act as actuator members 106 to move the actuator member 106 forward and / or backward along the tracks 452a, 452b, and 452c, and / or apply driving force to the actuator member 106. In non-limiting embodiments or aspects of the present disclosure, the electronically rectified linear motors 404a, 404b, and 404c may include any desired number of phases (e.g., one-phase motor, two-phase motor, three-phase motor, etc.) and / or may consist of a rectification sequence including any desired number of rectification steps (e.g., 6 steps, 32 steps, 64 steps, 1024 steps, etc.).
[0055] The number and arrangement of devices and systems shown in Figures 1, 2A-2E, 3, and 4A-4C are provided as examples. Additional devices and / or systems, fewer devices and / or systems, different devices and / or systems, or devices and / or systems arranged differently may exist compared to those shown in Figures 1, 2A-2E, 3, and 4A-4C. Furthermore, two or more devices and / or systems shown in Figures 1, 2A-2E, 3, and 4A-4C may be implemented within a single device and / or system, or a single device and / or system shown in Figures 1, 2A-2E, 3, and 4A-4C may be implemented as multiple distributed devices and / or systems. Furthermore, or alternatively, a set of devices and / or systems in environment 100 (e.g., one or more devices or systems) may perform one or more functions described as being performed by another set of devices and / or systems in environment 100.
[0056] Next, referring to Figure 5, Figure 5 is a flowchart of a non-limiting embodiment or aspect of process 500 for calibrating an actuator.
[0057] As shown in Figure 5, in step 502, process 500 includes controlling the electronically rectified motor to drive the actuator member away from the mechanical stop until the reference sensor is triggered by the actuator member of the actuator. For example, the controller 102 may control the electronically rectified motor 104 to drive the actuator member 106 away from the mechanical stop 110 (and / or toward the reference sensor 108) until the reference sensor 108 is triggered by the actuator member 106 of the actuator 103. As an example, when the calibration sequence for the actuator 103 is started by the controller 102, the controller 102 may determine whether the reference sensor 108 has already been triggered by the actuator member 106. If the reference sensor 108 has not yet been triggered by the actuator 108, the controller 102 may control the electronically rectified motor 104 to drive the actuator member 106 away from the mechanical stop 110 (and / or toward the reference sensor 108) until the reference sensor 108 is triggered by the actuator member 106 of the actuator 103. In such an example, if the reference sensor 108 has already been triggered by the actuator 108, the controller 102 may read the storage position from the member, as will be described in more detail herein.
[0058] As shown in Figure 5, in step 504, process 500 includes determining the position of the electronically rectified motor triggered by the actuator member of the actuator to the reference sensor. For example, the controller 102 may determine the position (e.g., trigger position, stored position, etc.) of the electronically rectified motor 104 triggered by the actuator member 106 of the actuator 103 to the reference sensor 108. As an example, the controller 102 may store in memory the position of the electronically rectified motor 104 triggered by the actuator member 106 of the actuator 103 to the reference sensor 108. In such an example, the position of the electronically rectified motor 104 triggered by the actuator member 106 of actuator 103 to the reference sensor 108 may include the rectification step and / or at least a portion thereof in the rectification sequence of the electronically rectified motor 104 triggered by the actuator member 106 of actuator 103 to the reference sensor 108 (e.g., the relative position of the stator and rotor for a rotary motor (or the relative position of the forcer coil and permanent magnet track for a linear motor)). For example, the controller 102 may determine the position based on the electromotive force (EMF) that causes a current in a winding or coil having a magnetic field that counteracts the original change of magnetic flux, as described by Lenz's law and as described in further detail herein.
[0059] Further details regarding non-limiting embodiments or aspects of step 504 of process 500 are provided below with respect to Figure 6.
[0060] As shown in Figure 5, in step 506, process 500 controls the electronically rectified motor to repeatedly reciprocate the actuator member at various search distances from the position (these are separately at least part of the rectification steps of the electronically rectified motor) until two reciprocating search distances from the position (these are at least part of the rectification steps of the electronically rectified motor) are detected, at various search distances from the position (e.g., trigger position, retracted position, etc.) to the mechanical stop 110 and until two reciprocating search distances from the position (these are at least part of the rectification steps of the electronically rectified motor 104. As an example, the first of the two distances may be the maximum reciprocating search distance where the forward distance and the return distance are equal, and the second of the two distances may be a shorter reciprocating search distance where the return distance is less than the forward distance. In such an example, the return distance may be shorter than the forward distance due to at least a portion of the rectification steps of the electronically rectified motor 104 (for example, by the sinusoidal period of the AC stator current). In such an example, the controller 102 may set the torque and / or speed of the electronically rectified motor 104 to limit or prevent mechanical deformation of the actuator member 106 when encountering a mechanical stop 110 and / or maintain consistent and predictable operation.
[0061] The controller 102 may determine the forward and return distances by counting the number of sine waves (or microsteps) driving the stator coils of the electronically rectified motor 104. For example, each sine wave (e.g., one full period of each single sine wave, etc.) may correspond to a rectification step of the electronically rectified motor 104. As an example, the controller 102 may include Texas Instruments' DRV 10983-Q1 and / or similar, which provides single-chip sensorless control of a BLDC motor with either sine wave rectification and digital or analog control, in which the rectification control algorithm continuously measures the motor phase current, periodically measures the VCC supply voltage, uses this information to estimate the value of BEMF, and makes this value available for external use via an I2C interface.
[0062] The controller 102 may determine the forward and return distances using an EMF (Electromagnetic Field) that causes a current in a winding or stator with a magnetic field that counteracts the change in the original magnetic flux, as described by Lenz's Law. The EMF tends to resist the rotation of the motor and may therefore be called a "reverse" EMF. For a given motor with a constant magnetic flux and number of windings, the EMF may be proportional to the angular velocity of the rotor. By monitoring the reverse EMF, the controller 102 may determine the relative position of the stator and rotor without requiring a Hall effect sensor, which not only simplifies the motor structure and reduces costs but also eliminates the additional wiring and connections to the motor that would otherwise be required to support the sensor, thereby improving reliability.
[0063] Further details regarding non-limiting embodiments or aspects of step 506 of process 500 are provided below with respect to Figure 6.
[0064] As shown in Figure 5, in step 508, process 500 includes determining a distance for precisely positioning the actuator member relative to a mechanical stop based on two reciprocating search distances. For example, controller 102 may determine a distance for precisely positioning the actuator member 106 relative to a mechanical stop 110 based on two reciprocating search distances. As an example, controller 102 may store in memory the distance for precisely positioning the actuator member relative to the mechanical stop (e.g., a calibrated value, etc.). In such an example, controller 102 may calculate the distance based on the distance from the current motor position to the mechanical stop 110 (e.g., trigger position, etc.) and subtract half of the current phase of the stator and system compression (e.g., bending of actuator member 106, transmission inaccuracies, etc.) from the determined distance.
[0065] Next, referring to Figure 6, Figure 6 is a flowchart of a non-limiting embodiment or aspect of process 500 for calibrating an actuator.
[0066] As shown in Figure 6, in step 602, process 600 includes storing in memory the position of the electronically rectified motor when the actuator member of the actuator triggered the reference sensor. For example, the controller 102 may store in memory the position (e.g., trigger position, stored position, etc.) of the electronically rectified motor 104 when the actuator member 106 of the actuator 103 triggered the reference sensor 108. As an example, the controller 102 may control the electronically rectified motor 104 to drive the actuator member of the actuator 103 away from the mechanical stop 110 (and / or toward the reference sensor 108) until the reference sensor 108 is triggered by the actuator member 106, as described herein with respect to step 502 in Figure 5, and / or the controller 102 may determine the position of the electronically rectified motor 104 when the actuator member 106 of the actuator 103 triggered the reference sensor 108, as described herein with respect to step 504 in Figure 5. As an example, the controller 102 may, in response to the actuator member 106 of the actuator 103 driving toward the reference sensor 108 from the end of the current search distance, as described in more detail herein, store in memory the position of the electronically rectified motor 104 that triggered the reference sensor 108 (e.g., trigger position, stored position, etc.) when the actuator member 106 triggered the reference sensor 108.
[0067] As shown in Figure 6, in step 604, process 600 includes controlling the electronically rectified motor to drive the actuator member from the stowed position toward the mechanical stop by the current search distance. For example, the controller 102 may control the electronically rectified motor 104 to drive the actuator member 106 from the stowed position toward the mechanical stop 110 by the current search distance. As an example, the controller 102 may control the electronically rectified motor 104 to drive the actuator member 106 toward the mechanical stop 110 by moving through several (a number of) rectification steps corresponding to the current search distance.
[0068] In some non-limiting embodiments or aspects, the controller 102 may use a binary search algorithm to determine the current search distance itself, such as the initial search distance, and / or similar (and / or, as described herein, the current increment by which the current search distance may increase and / or decrease). For example, also with reference to Figure 7, which is a graph of a binary search plot, the binary search may compare the target value with intermediate elements of the array (e.g., a sequence of rectification steps or part thereof, etc.), and if they are not equal, half may be eliminated where the target cannot lie, the search continues with the remaining half, again comparing with the target value using the intermediate elements, and repeating this until the target value is found. If the search ends with the remaining half empty, the target is not in the array (e.g., there are no mechanical stops 110 or obstacles present, etc.).
[0069] In some non-limiting embodiments or aspects, the initial search distance may include a predetermined search distance (e.g., a predetermined number of rectification steps, a predetermined number of full-period driven sine waves, etc.).
[0070] As shown in Figure 6, in step 606, process 600 includes controlling the electronic rectifier motor to drive the actuator member from the end of the current search distance toward the reference sensor until the reference sensor is triggered by the actuator member. For example, the controller 102 may control the electronic rectifier motor 104 to drive the actuator member 106 from the end of the current search distance toward the reference sensor 108 until the reference sensor 108 is triggered by the actuator member 106. As an example, the controller 102 may control the electronic rectifier motor 104 to move several rectification steps or parts thereof toward the reference sensor 108 until the reference sensor 108 is triggered by the actuator member 106.
[0071] As shown in Figure 6, in step 608, process 600 includes, in response to triggering the reference sensor using the actuator member, the reference sensor comparing the current position of the electronically rectified motor triggered by the actuator member with the stowed position of the electronically rectified motor. For example, in response to triggering the reference sensor 108 using the actuator member 106 (for example, when the actuator member 106 is driven toward the reference sensor 108 from the end of the current search distance, etc.), the reference sensor 108 may compare the current position of the electronically rectified motor 104 triggered by the actuator member 106 with the stowed position of the electronically rectified motor 104. As an example, the controller 102 may compare a first number of rectification steps or a portion thereof used to drive the actuator member 106 toward the mechanical stop 110 with a second number of rectification steps or a portion thereof used to drive the actuator member 106 toward the end of the current search distance until the reference sensor 108 is triggered by the actuator member 108. In such an example, the controller may determine a first number of rectification steps or a portion thereof and a second number of rectification steps or a portion thereof by counting the number of sine waves that drive the stator coils of the electronically rectified motor 104 in each direction.
[0072] As shown in Figure 6, in step 610, process 600 determines that the actuator member has encountered a mechanical stop in response to the determination in step 608 of Figure 6 that the current position of the electronically rectified motor is different from the stowed position of the electronically rectified motor, reduces the current search distance by the current increment, and repeats steps 602 to 608 of Figure 6. For example, in step 608 of Figure 6, the controller 102 may determine that the actuator member 106 has encountered a mechanical stop 110 in response to the determination that the current position of the electronically rectified motor 104 is different from the stowed position of the electronically rectified motor 104, reduces the current search distance by the current increment, and repeats steps 602 to 608 of Figure 6.
[0073] The current increment, which can thereby increase and / or decrease the current search distance, may include at least a portion of the commutation steps of the electronic commutator motor 104 (e.g., at least a portion of the commutation steps, a microstep, a single commutation step, multiple commutation steps, etc.). The controller 102 may determine the current increment for each iteration of process 600 (e.g., whenever it is decided to increase or decrease the current search distance by the current increment, etc.). For example, the current increment may be a dynamic value.
[0074] In some non-limiting embodiments or aspects, the controller 102 may use a binary search algorithm as described herein to determine the current increment amount by which the current search distance may increase and / or decrease (and / or determine the current search distance itself, such as the initial search distance, and / or similar).
[0075] In some non-limiting embodiments or aspects, the current increment, which may thereby increase and / or decrease the current search distance, may include a predetermined amount (e.g., a predetermined number of rectification steps, a single rectification step, at least a portion of rectification steps, etc.).
[0076] As shown in Figure 6, in step 612, process 600 includes determining whether the actuator member encountered a mechanical stop for the current search distance plus the current increment, in response to determining that the current position of the electronically rectified motor is the same as the stowed position of the electronically rectified motor. For example, the controller 102 may determine whether the actuator member 106 encountered a mechanical stop 110 for the current search distance plus the current increment (and / or whether the desired resolution / accuracy therefor was achieved, etc.) in response to determining that the current position of the electronically rectified motor 104 is the same as the stowed position of the electronically rectified motor 104. As an example, the controller 102 may determine whether a mechanical stop 110 was encountered in a previous iteration of process 600.
[0077] As shown in Figure 6, in step 614, process 600 includes increasing the current search distance by the current increment in response to determining that the actuator member did not encounter a mechanical stop within the current search distance plus the current increment, and repeating steps 602 to 608 in Figure 6. For example, the controller 102 may increase the current search distance by the current increment in response to determining that the actuator member 106 did not encounter a mechanical stop 110 within the current search distance plus the current increment (e.g., did not encounter a mechanical stop 110 in the previous iteration of process 600, etc.), and repeating steps 602 to 608 in Figure 6.
[0078] As shown in Figure 6, in step 616, process 600 includes determining a distance to precisely position the actuator member relative to the mechanical stop based on the current search distance and the current search distance plus the current increment, in response to a determination that the actuator member has encountered a mechanical stop at the current search distance plus the current increment. For example, controller 102 may determine a distance to precisely position actuator member 106 relative to the mechanical stop 110 based on the current search distance and the current search distance plus the current increment, in response to a determination that actuator member 106 has encountered a mechanical stop 110 at the current search distance plus the current increment. As an example, controller 102 may store in memory the distance to precisely position the actuator member relative to the mechanical stop (e.g., a calibrated value, etc.).
[0079] Various embodiments may be implemented using one or more computer systems, such as the computer system 800 shown in Figure 8. The computer system 800 may be any computer capable of performing the functions described herein.
[0080] The computer system 800 includes one or more processors (also called a central processing unit or CPU), such as processor 804. Processor 804 is connected to a communication infrastructure or bus 806.
[0081] Each of the processors 804 may be a graphics processing unit (GPU). In one embodiment, a GPU is a processor which is a special electronic circuit designed to process mathematically intensive applications. A GPU may have a parallel structure that is efficient for parallel processing of large data blocks, such as mathematically intensive data common to computer graphics applications, images, videos, etc.
[0082] The computer system 800 also includes user input / output devices 803, such as monitors, keyboards, and pointing devices, which communicate with a communication infrastructure 806 via user input / output interfaces 802.
[0083] The computer system 800 also includes main memory or primary memory 808, such as random access memory (RAM). Main memory 808 may include one or more levels of cache. Main memory 808 stores control logic (i.e., computer software) and / or data within it.
[0084] The computer system 800 may also include one or more secondary storage devices or memories 810. The secondary memory 810 may include, for example, a hard disk drive 812 and / or a removable storage device or drive 814. The removable storage drive 814 may be a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, a tape backup device, and / or any other storage device / drive.
[0085] The removable storage drive 814 may interact with the removable storage unit 818. The removable storage unit 818 includes a computer-usable or readable storage device on which computer software (control logic) and / or data are stored. The removable storage unit 818 may be a floppy disk, magnetic tape, compact disk, DVD, optical storage disk, and / or any other computer data storage device. The removable storage drive 814 reads from and / or writes to the removable storage unit 818 in a well-known manner.
[0086] According to exemplary embodiments, the secondary memory 810 may include other means, circumstances or other approaches to enable computer programs and / or other instructions and / or data to be accessed by the computer system 800. Such means, circumstances or other approaches may include, for example, a removable storage unit 822 and an interface 820. Examples of the removable storage unit 822 and interface 820 may include a program cartridge and cartridge interface (such as those found in video game devices), a removable memory chip (such as an EPROM or PROM) and associated socket, a memory stick and USB port, a memory card and associated memory card slot, and / or any other removable storage unit and associated interface.
[0087] The computer system 800 may further include a communication interface or network interface 824. The communication interface 824 enables the computer system 800 to communicate with and interact with any combination of remote devices, remote networks, remote entities, etc. (referenced individually and collectively by reference number 828). For example, the communication interface 824 may enable the computer system 800 to communicate with a remote device 828 via a communication path 826, which may be wired and / or wireless and may include any combination of LAN, WAN, Internet, etc. Control logic and / or data may be transmitted to and from the computer system 800 via the communication path 826.
[0088] In one embodiment, a tangible non-temporary device or manufactured article including a tangible non-temporary computer-usable or readable medium having control logic (software) stored thereon is also referred to herein as a computer program product or program storage device. This includes, but is not limited to, a computer system 800, a main memory 808, a secondary memory 810, and removable storage units 818 and 822, as well as tangible manufactured articles embodying any of the aforementioned combinations. When such control logic is executed by one or more data processing devices (such as the computer system 800), it causes such data processing devices to operate as described herein.
[0089] Based on the teachings contained herein, methods for creating and using embodiments of the disclosure using data processing devices, computer systems, and / or computer architectures other than those shown in Figure 8 will be apparent to those skilled in the art. In particular, embodiments may operate with software, hardware, and / or operating system implementations other than those described herein.
[0090] It should be understood that the section on embodiments for carrying out the invention, rather than any other section, is intended to be used to interpret the claims. Other sections may describe one or more exemplary embodiments, but not all, as contemplated by the inventor, and are therefore not intended to limit the scope of the claims of this disclosure or the appended claims in any way.
[0091] This disclosure describes exemplary embodiments for exemplary fields and applications, but it should be understood that this disclosure is not limited thereto. Other embodiments and modifications thereof are possible and within the scope and spirit of this disclosure. For example, without limiting the generality of this paragraph, embodiments are not limited to software, hardware, firmware, and / or entities illustrated and / or described herein. Furthermore, embodiments (whether expressly described herein or not) have significant utility for fields and applications beyond the embodiments described herein.
[0092] Embodiments are described herein using functional building blocks that illustrate the implementation of specific functions and their relationships. Furthermore, the boundaries of these functional building blocks are arbitrarily defined herein for the sake of clarity. Alternative boundaries may be defined, as long as the specific functions and relationships (or their equivalents) are adequately performed. Alternative embodiments may also perform functional blocks, steps, operations, methods, etc., using a different order than that described herein.
[0093] References herein to “one embodiment,” “embodiment,” “exemplary embodiment,” or similar phrases indicate that the embodiments described may include certain features, structures, or characteristics, but not all embodiments may necessarily include certain features, structures, or characteristics. Furthermore, such phrases do not necessarily refer to the same embodiment. Moreover, where certain features, structures, or characteristics are described in relation to an embodiment, incorporating such features, structures, or characteristics into other embodiments, whether or not they are expressly mentioned or described herein, would be within the knowledge of those skilled in the art. Additionally, some embodiments may be described using the expressions “coupled” and “connected” along with their derivatives. These terms are not necessarily intended to be synonymous with each other. For example, some embodiments may be described using the terms “connected” and / or “coupled” to indicate that two or more elements are in direct, physical, or electrical contact with each other. However, the term “coupled” may also mean that two or more elements are not in direct contact with each other but still cooperate or interact with each other.
[0094] The scope and width of this disclosure should not be limited by any of the exemplary embodiments described above, but should be defined solely in accordance with the following claims and their equivalents.
Claims
1. A method for calibrating an actuator, Controlling an electronically rectified motor using at least one processor to drive the actuator member of the actuator away from a mechanical stop until a reference sensor is triggered by the actuator member, Using the at least one processor, the position of the electronically rectified motor is determined by the actuator member of the actuator triggering the reference sensor, Using the at least one processor, the electronically rectified motor is controlled to repeatedly reciprocate the actuator member at various search distances from the position toward the mechanical stop and resuming to trigger the reference sensor, until two reciprocating search distances from the position, which are separately at least part of the rectification steps of the electronically rectified motor, are detected. A method comprising using at least one processor to determine a distance for precisely positioning the actuator member relative to the mechanical stop based on the two reciprocating search distances.
2. The method according to claim 1, wherein the at least one processor determines the various search distances using a binary search algorithm.
3. The method according to claim 1, wherein the electronically rectified motor includes a stepping motor.
4. The method according to claim 1, wherein the electronically rectified motor includes a rotary motor or a linear motor.
5. A method for calibrating an actuator, (i) Using at least one processor to control an electronically rectified motor to drive the actuator member of the actuator away from a mechanical stop until a reference sensor is triggered by the actuator member, (ii) Using at least one processor, store in memory the position of the electronically rectified motor in which the actuator member of the actuator triggered the reference sensor, (iii) Using at least one processor to control the electronically rectified motor to drive the actuator member from the storage position toward the mechanical stop at the current search distance, (iv) Using at least one processor to control the electronically rectified motor to drive the actuator member from the end of the current search distance toward the reference sensor until the reference sensor is triggered by the actuator member, (v) In response to the reference sensor being triggered by the actuator member, the at least one processor compares the current position of the electronically rectified motor, which is triggered by the actuator member, with the storage position of the electronically rectified motor, (vi) (a) In response to determining that the current position of the electronically rectified motor is different from the storage position of the electronically rectified motor, the at least one processor determines that the actuator member has encountered the mechanical stop, reduces the current search distance by the current increment, and repeats steps (iii) to (vi), and (b) In response to determining that the current position of the electronic rectifier motor is the same as the storage position of the electronic rectifier motor, the at least one processor determines whether the actuator member has encountered a mechanical stop with respect to the current search distance plus the current increment, and (1) In response to determining that the actuator member has not encountered the mechanical stop within the current search distance plus the current increment, the at least one processor is used to increase the current search distance by the current increment, and steps (iii) to (vi) are repeated, and (2) In response to determining that the actuator member has encountered the mechanical stop at the current search distance plus the current increment, the system uses at least one processor to determine a distance for precisely positioning the actuator member relative to the mechanical stop based on the current search distance and the current search distance plus the current increment, A method that includes one of the following.
6. The method according to claim 5, wherein the current increment includes at least one rectification step of the electronic rectifier motor.
7. The method according to claim 5, wherein the at least one processor uses a binary search algorithm to determine the current search distance and the current increment.
8. The method according to claim 5, wherein the electronically rectified motor includes a stepping motor.
9. The method according to claim 5, wherein the electronically rectified motor includes a rotary motor or a linear motor.
10. The method according to claim 5, further comprising using the at least one processor to store in the memory the distance for precisely positioning the actuator member relative to the mechanical stop.
11. Coupled to memory, and The electronically rectified motor is controlled to drive the actuator member of the actuator away from the mechanical stop until the reference sensor is triggered by the actuator member. The actuator member of the actuator determines the position of the electronically rectified motor that triggered the reference sensor. The electronic rectifier motor is controlled to repeatedly reciprocate the actuator member at various search distances from the position toward the mechanical stop and to restart triggering the reference sensor, until two reciprocating search distances from the position, which are separately at least part of the rectification steps of the electronic rectifier motor, are detected. A system including at least one processor configured to determine a distance for precisely positioning the actuator member relative to the mechanical stop based on the two aforementioned reciprocating search distances.
12. The system according to claim 11, wherein the at least one processor is configured to determine the various search distances using a binary search algorithm.
13. The system according to claim 11, wherein the electronically rectified motor includes a stepping motor.
14. The system according to claim 11, wherein the electronically rectified motor includes a rotary motor or a linear motor.
15. Combined into memory, (i) Control the electronically rectified motor to drive the actuator member of the actuator away from the mechanical stop until the reference sensor is triggered by the actuator member. (ii) The memory stores the position of the electronically rectified motor that triggered the reference sensor when the actuator member of the actuator triggered the reference sensor. (iii) Control the electronic rectifier motor to drive the actuator member from the storage position toward the mechanical stop at the current search distance, (iv) Control the electronic rectifier motor to drive the actuator member from the end of the current search distance toward the reference sensor until the reference sensor is triggered by the actuator member. (v) In response to the reference sensor being triggered using the actuator member, the reference sensor compares the current position of the electronically rectified motor triggered by the actuator member with the stored position of the electronically rectified motor. (vi) (a) In response to determining that the current position of the electronic rectifier motor is different from the storage position of the electronic rectifier motor, it is determined that the actuator member has encountered the mechanical stop, the current search distance is reduced by the current increment, and steps (iii) to (vi) are repeated, and (b) In response to determining that the current position of the electronic rectifier motor is the same as the storage position of the electronic rectifier motor, it is determined whether the actuator member has encountered the mechanical stop with respect to the current search distance plus the current increment, and (1) In response to the actuator member determining that it has not encountered the mechanical stop within the current search distance plus the current increment, the current search distance is increased by the current increment, and steps (iii) to (vi) are repeated, and (2) In response to determining that the actuator member has encountered the mechanical stop at the current search distance plus the current increment, the system determines a distance to accurately position the actuator member relative to the mechanical stop based on the current search distance and the current search distance plus the current increment, A system comprising at least one processor configured to perform one of the following:
16. The system according to claim 15, wherein the current increment includes at least one rectification step of the electronic rectifier motor.
17. The system according to claim 15, wherein the at least one processor is configured to determine the current search distance and the current increment using a binary search algorithm.
18. The system according to claim 15, wherein the electronically rectified motor includes a stepping motor.
19. The system according to claim 15, wherein the electronically rectified motor includes a rotary motor or a linear motor.
20. The system according to claim 15, wherein the at least one processor is further configured to store in the memory the distance for precisely positioning the actuator member relative to the mechanical stop.
21. When executed by at least one processor, the at least one processor, The electronically rectified motor is controlled to drive the actuator member of the actuator away from the mechanical stop until the reference sensor is triggered by the actuator member. The actuator member of the actuator causes the reference sensor to trigger the position of the electronically rectified motor, The electronic rectifier motor is controlled to repeatedly reciprocate the actuator member at various search distances from the position toward the mechanical stop and to restart triggering the reference sensor, until two reciprocating search distances from the position, which are separately at least part of the rectification steps of the electronic rectifier motor, are detected. A computer program product including at least one non-temporary computer-readable medium, which includes a program instruction causing a program instruction to determine a distance for precisely positioning the actuator member relative to the mechanical stop based on the two aforementioned reciprocating search distances.
22. The computer program product according to claim 11, wherein when the program instruction is executed by the at least one processor, the at least one processor is further prompted to use a binary search algorithm to determine the various search distances.
23. The computer program product according to claim 11, wherein the electronically rectified motor includes a stepping motor.
24. The computer program product according to claim 11, wherein the electronically rectified motor includes a rotary motor or a linear motor.
25. When executed by at least one processor, the at least one processor, (i) Control the electronically rectified motor to drive the actuator member of the actuator away from the mechanical stop until the reference sensor is triggered by the actuator member. (ii) Store in memory the position of the electronically rectified motor that triggered the reference sensor when the actuator member of the actuator triggered the reference sensor. (iii) Control the electronic rectifier motor to drive the actuator member from the storage position toward the mechanical stop at the current search distance, (iv) Control the electronic rectifier motor to drive the actuator member from the end of the current search distance toward the reference sensor until the reference sensor is triggered by the actuator member. (v) In response to the reference sensor being triggered using the actuator member, the reference sensor compares the current position of the electronically rectified motor triggered by the actuator member with the stored position of the electronically rectified motor. (vi) (a) In response to determining that the current position of the electronic rectifier motor is different from the stored position of the electronic rectifier motor, the actuator member is determined to have encountered the mechanical stop, the current search distance is reduced by the current increment, and steps (iii) to (vi) are repeated, (b) In response to determining that the current position of the electronic rectifier motor is the same as the storage position of the electronic rectifier motor, the actuator member is made to determine whether it has encountered the mechanical stop with respect to the current search distance plus the current increment, and (1) In response to the actuator member determining that it has not encountered the mechanical stop within the current search distance plus the current increment, the current search distance is increased by the current increment, and steps (iii) to (vi) are repeated, and (2) A computer program product including at least one non-temporary computer-readable medium which program instructions cause the actuator member to determine a distance for precisely positioning the actuator member relative to the mechanical stop based on the current search distance and the current search distance plus the current increment, in response to the actuator member determining that it has encountered the mechanical stop at the current search distance plus the current increment.
26. The computer program product according to claim 25, wherein the current increment includes at least one rectification step of the electronically rectified motor.
27. The computer program product according to claim 25, wherein when the program instruction is executed by the at least one processor, the at least one processor is further instructed to use a binary search algorithm to determine the current search distance and the current increment.
28. The computer program product according to claim 25, wherein the electronically rectified motor includes a stepping motor.
29. The computer program product according to claim 25, wherein the electronically rectified motor includes a rotary motor or a linear motor.
30. The computer program product according to claim 25, wherein when the program instruction is executed by the at least one processor, the at least one processor further causes the memory to store the distance for precisely positioning the actuator member relative to the mechanical stop.