Gripping device
The stepper motor drive system with compliance and stall detection control addresses the need for cost-effective electrical gripper control, offering efficient and energy-saving gripping solutions by predicting and applying forces without continuous power.
Patent Information
- Application Number
- JP2024080232
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-05-19
- Filing Date
- 2024-05-16
- Publication Date
- 2024-12-10
AI Technical Summary
Existing gripper technologies face challenges in achieving cost-effective electrical control similar to pneumatic grippers, especially in environments where fluids are not optimal, often requiring complex controls that increase cost and complexity.
A stepper motor drive system with compliance and stall detection control, using back EMF voltage monitoring to manage force application without sensors, allowing for predictable and repeatable forces in various mechanical devices.
The system provides cost-effective electrical gripper control with simple mechanisms, enabling efficient gripping and energy savings by maintaining grip without continuous power, and reducing temperature buildup.
Smart Images

Figure 2024170383000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to object engagement systems and methods, and more particularly to systems and methods for controlling stepper motors of grippers used to grasp / grasp objects. [Background technology]
[0002] The background discussion provided in this disclosure is intended to generally present the context of the disclosure, and the work of the inventors named in this disclosure is not admitted expressly or impliedly as prior art to the disclosure, to the extent that it is described in this background section, as well as aspects of the specification that may not be considered prior art at the time of filing.
[0003] In a gripper, whether pneumatic or electric, the general operation of the gripper involves closing the fingers through a clearance zone (stroke) until they reach the part and can apply a gripping force. The fingers move at high speed with very little force from a home or grip-ready position through the gripper stroke. Usually, only the force required to accelerate the gripper components and overcome friction is applied. When the fingers contact the part, the gripper stops moving and increases the gripping force. In many existing designs, the actuator may be constantly energized to maintain the gripping force on the part. Losing this force means the part will drop. Therefore, pneumatic grippers with pneumatic cylinders are utilized due to their low cost and effective gripping of the part. However, in environments where the fluid is not optimal, electric grippers are utilized. However, these electric grippers often require complex controls to operate the gripper. This adds cost as well as complexity to the gripper.
[0004] It would therefore be desirable to have an electric gripper that is cost competitive with pneumatic grippers, yet provides simple controls. Accordingly, the present disclosure is such a device. Summary of the Invention [Means for solving the problem]
[0005] The present disclosure provides a stepper motor drive system using compliance. The system combines a compliance device with a controller (control module) that can drive a typical stepper motor to generate forces at any position in its travel, known or unknown. Stepper motors are typically only used in applications based on known loads and known positions. The present disclosure provides a stepper motor with a stall-detecting controller and a compliance device to generate predictable and repeatable forces in a myriad of mechanical devices. Stepper motors are advantageous due to their low cost, ease of control, relatively high power density, high torque at low speeds, and open-loop positioning capabilities. The present disclosure provides a controller (control module) that can detect when a stepper motor is approaching its stall torque without the use of encoders or sensors by monitoring the motor's back electromotive force (back EMF) voltage.
[0006] According to a first aspect of the disclosure, a gripping device includes a body and a stepper motor positioned within the body. A lead screw is driven by the stepper motor. A gripper is coupled to the lead screw for gripping and releasing a part. A compliance is attached between the body and the motor for allowing movement of the motor relative to the body. A controller is electrically coupled to the motor. The controller can learn and store various positions, such as an "open position" and a "part gripping position" by counting commutations of the motor. The gripper includes a wedge coupled to a lead screw and a pair of jaws to move the pair of jaws and fingers between an open position and a gripping position. When the controller senses that a stop (such as a workpiece or end of jaw travel) has been encountered, it can respond with an appropriate change in speed and torque, and / or a signal output. The stepper motor has low torque and moves at a high speed when moving from the open position to the gripping position. When a stop is detected on the part, the stepper motor is configured to move at a high torque and a low speed. The controller then applies the desired force to the part without reaching a stall by moving the stepper motor a predetermined number of additional steps to deflect the compliant member. This deflection of the compliant member generates a force on the part depending on its elastic modulus. The controller reports the gripper position if it is in one of the previously taught positions. The controller saves energy by turning off the stepper motor and the gripper mechanically maintains the gripping force. The controller can provide further braking by shorting out multiple motor coils, thus creating a back EMF brake.
[0007] According to a second aspect of the disclosure, a stepper motor drive system includes a stepper motor coupled to a mechanical ground and a shaft driven by the stepper motor. A load is coupled to the shaft for moving the load. A compliance device enables the stepper motor to apply a force to the load. A controller electrically coupled to the motor can learn and store various positions by counting the commutations of the motor. The controller senses when a stop is encountered and varies the current to the stepper motor. The stepper motor has low torque and moves at a high speed when moving to multiple positions. When a stop is detected, the stepper motor changes to high torque and low speed. The controller then applies a desired force to the part by moving the stepper motor a predetermined number of additional steps to deflect the compliance member. This deflection of the compliance member generates a force on the part according to its elastic modulus. The controller can report the position of the gripper if it is at one of multiple previously taught positions. The controller saves energy by powering off the stepper motor and the actuator mechanically maintains the force. The controller can provide additional braking by shorting multiple motor coils, thus creating back EMF braking.
[0008] In one feature, a stepper motor control system includes a stepper motor configured to actuate an actuator to engage an object; and a power control module configured to apply electrical pulses in a predetermined sequence to a plurality of stator coils of the stepper motor based on a first predetermined torque and a first predetermined speed during a first time period before compression of the compliance mechanism occurs, and when the actuator contacts the object, compression of the compliance mechanism occurs, and apply a predetermined number of extra pulses in a predetermined sequence to a plurality of stator coils of the stepper motor based on a second predetermined torque and a second predetermined speed during a second time period after compression of the compliance mechanism occurs.
[0009] In further features, the stepper motor is one of a linear stepper motor and a rotary stepper motor.
[0010] In further features, the actuator is a gripper.
[0011] In further features, the power control module is configured to apply a predetermined number of extra pulses to a plurality of stator coils of the stepper motor in a predetermined sequence based on a second predetermined torque and a second predetermined speed.
[0012] In further features, the power control module is configured to apply a predetermined number of extra pulses to a plurality of stator coils of the stepper motor in a predetermined sequence based on a third predetermined torque that is less than or greater than the second predetermined torque.
[0013] In further features, the power control module is configured to apply a predetermined number of extra pulses to a plurality of stator coils of the stepper motor in a predetermined sequence based on a third predetermined speed that is slower or faster than the second predetermined speed.
[0014] In further features, the second predetermined torque is greater than the first predetermined torque.
[0015] In further features, the first predetermined speed is faster than the second predetermined speed.
[0016] In further features, the contact module is configured to indicate whether compression of the compliance mechanism is occurring based on a back electromotive force (back EMF) voltage of one or more stator coils of the stepper motor.
[0017] In further features, the contact module is configured to signal that compression of the compliance mechanism is occurring when the back EMF voltage changes in a predetermined manner.
[0018] In further features, the contact module is configured to indicate that compression of the compliance mechanism is occurring when the back EMF voltage is greater than a predetermined back EMF value.
[0019] In further features, the contact module is configured to indicate that compression of the compliance mechanism is not occurring when the back EMF voltage is less than a predetermined back EMF value.
[0020] In further features, the motion controller is configured to indicate that compression of the compliance mechanism is not occurring when the rate of change of the back EMF voltage is slower or faster than a predetermined rate of change.
[0021] In further features, the power control module is configured to apply electrical pulses to a plurality of stator coils of the stepper motor in a predetermined sequence based on a second predetermined torque and a second predetermined speed until a predetermined number of extra pulses are applied.
[0022] In further features, the first predetermined torque corresponds to a first predetermined current of the electrical pulse and the second predetermined torque corresponds to a second predetermined current of the electrical pulse, the second predetermined current being greater than the first predetermined current.
[0023] In further features, the first predetermined speed corresponds to a first predetermined rate of applying electrical pulses to the stepper motor and the second predetermined speed corresponds to a second predetermined rate of applying electrical pulses to the stepper motor, the first predetermined rate being faster than the second predetermined rate.
[0024] In further features, the power control module is configured to disconnect the stepper motor from the power supply when a predetermined number of extra pulses are applied to the plurality of stator coils of the stepper motor.
[0025] In further features, the training module is configured to determine a predetermined number of extra pulses to be applied to the plurality of stator coils during actuation of the actuator and to store the predetermined number of extra pulses in the memory.
[0026] In further features, the training module is configured to determine the predetermined number of extra pulses to apply based on a difference between (a) a first number of pulses applied to the stepper motor during the first time period and (b) a second number of pulses applied to the stepper motor between (i) the start of operation in the second mode and (ii) contact of the actuator with the one or more hard stops.
[0027] In one feature, a method of controlling a stepper motor includes applying electrical pulses in a predetermined sequence to a plurality of stator coils of a stepper motor based on a first predetermined torque and a first predetermined speed during a first time period before compression of the compliance mechanism occurs, the stepper motor being configured to actuate an actuator to engage an object, where compression of the compliance mechanism occurs when the actuator contacts the object; and applying a predetermined number of extra pulses in a predetermined sequence to a plurality of stator coils of the stepper motor based on a second predetermined torque and a second predetermined speed during a second time period after compression of the compliance mechanism occurs.
[0028] Further areas of applicability of the present disclosure will become apparent from the detailed description, claims, and drawings. The detailed description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.
[0029] The present disclosure will become more fully understood from the detailed description and the accompanying drawings, wherein:
[0030] In the drawings, reference numbers may be reused to identify similar and / or identical elements. [Brief description of the drawings]
[0031] [Figure 1] FIG. 2 is a schematic diagram of the gripper in an open position. [Diagram 2] FIG. 2 is a schematic diagram of FIG. 1 with the finger moving towards the part. [Diagram 3] FIG. 2 is a schematic diagram of the gripper with a part in a holding position. [Figure 4] FIG. 1 is a schematic diagram of a rotary stepper motor drive system. [Diagram 5] FIG. 5 is a schematic diagram similar to FIG. 4 with alternative compliance. [Figure 6] FIG. 5 is a schematic diagram similar to FIG. 4 with alternative compliance. [Figure 7] FIG. 5 is a schematic diagram similar to FIG. 4 with alternative compliance. [Figure 8] FIG. 1 is a schematic diagram of a linear stepper motor drive system with a rotating screw. [Figure 9] FIG. 9 is a schematic diagram similar to FIG. 8 with alternative compliance. [Figure 10] FIG. 9 is a schematic diagram similar to FIG. 8 with alternative compliance. [Figure 11] FIG. 9 is a schematic diagram similar to FIG. 8 with alternative compliance. [Figure 12] FIG. 1 is a schematic diagram of a linear stepper motor drive system with a captive screw and nut. [Figure 13] FIG. 13 is a schematic diagram similar to FIG. 12 with alternative compliance. [Figure 14] FIG. 13 is a schematic diagram similar to FIG. 12 with alternative compliance. [Figure 15] FIG. 13 is a schematic diagram similar to FIG. 12 with alternative compliance. [Figure 16] FIG. 1 is a schematic diagram of a linear stepper motor drive system with a rotating internal nut. [Figure 17] FIG. 17 is a schematic diagram similar to FIG. 16 with alternative compliance. [Figure 18] FIG. 17 is a schematic diagram similar to FIG. 16 with alternative compliance. [Figure 19] FIG. 17 is a schematic diagram similar to FIG. 16 with alternative compliance. [Figure 20] FIG. 1 is a schematic diagram of a direct linear stepper motor drive system. [Figure 21] FIG. 21 is a schematic diagram similar to FIG. 20 with alternative compliance. [Figure 22] FIG. 21 is a schematic diagram similar to FIG. 20 with alternative compliance. [Diagram 23] FIG. 21 is a schematic diagram similar to FIG. 20 with alternative compliance. [Figure 24] FIG. 1 is a functional block diagram of an example of a stepping motor control system. [Diagram 25] FIG. 2 is a functional block diagram of an embodiment of a control module for a stepping motor. [Figure 26] 4 is a flow chart illustrating an example method for controlling a stepper motor and actuating an actuator. [Figure 27] 1 is a graph of torque and speed over time. [Figure 28] 10 is a flow chart illustrating an example of a method for determining and setting a predetermined number of extra pulses applied to the stepper motor 1004 during operation in the second mode. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0032] Referring to the Figures, a gripper is illustrated and designated by the reference numeral 10. The gripper includes a housing body 12 that houses a stepper motor 14. A compliance device 16 is positioned between the body 12 and the stepper motor 14. A gripper 20 is coupled to the stepper motor 14 for movement between first and second positions to release and grip a part 22.
[0033] The body 12 includes a cavity 24 that houses the stepper motor 14. A flange or shelf 26 extends from the wall that defines the cavity, providing a hole 28. A compliance device 16 is positioned between the body 12 and the stepper motor 14 so that the motor 14 can move axially to store a force on the compliance device. The compliance device 16 includes a plurality of first and second pads 30 and 32, respectively. The pads 30, 32 are positioned on opposite sides of the shelf 26, and fasteners secure the pads 30, 32 in place relative to the body shelf 26 and the stepper motor 14. As the stepper motor 14 moves, the resilient pads 30, 32 are compressed, providing a repeatable spring constant and applying a load that increases with further compression. The compliance device 16 may be a resilient pad, spring, or the like.
[0034] The elastic compliance device 16 cushions the shock load and generates, regulates and stabilizes the force. The compliance device 16 can gradually increase the force to increase the load. Loading and unloading the stepper motor 14 increases and decreases the load on the desired side of the shelf.
[0035] The gripper 20 includes a lead screw or shaft 40 that is rotatably coupled to the stepper motor 14. The lead screw 40 may have fine threads that reinforce the locked position of the gripper 20 when power to the stepper motor 14 is interrupted or terminated.
[0036] A wedge 42 is coupled to the lead screw 40. As the stepper motor 14 rotates in a first direction and a second opposite direction to control the stepper motor 14 and gripper 20 as described below, the wedge 42 is driven toward and away from the body ledge 44. The wedge 42 has a threaded fastening portion 46 that is fastened to the lead screw 40. An arrow-shaped portion 48 enhances the movement of the gripper 20.
[0037] A plurality of jaws 50 are secured within a channel 52 in the body 12. The jaws 50 include grooves 54 that receive tips 56 of the arrowhead portions 48 of the wedge and allow the tips 56 to slide along the grooves 54. As the wedge 42 slides along the grooves 54, the jaws 50 are moved toward and away from one another. This moves the gripper between an open position and a gripping position.
[0038] The jaws 50 are secured to fingers 60. As shown, the fingers 60 have a generally L-shape; however, the fingers may be of any shape necessary to hold a workpiece. One portion 62 of the fingers is secured to the jaws 50, and another portion 64 extends away from the jaws to grip the part 22. Thus, the fingers 60 clamp and release the part 22 as the stepper motor 14 is rotated in a first direction and an opposite second direction.
[0039] A controller 70 (a control module, described in more detail below) is electrically coupled to the stepper motor 14 .
[0040] The compliance device 16 allows for asynchronous operation between the stepper motor 14 and the gripper 20. During operation of the stepper motor 14, the controller 70 detects when the motor approaches its stall torque caused by the resistance of the compliance device. When the controller detects the approach of the stall torque, it modifies the motor parameters to continue further movement of the finger into the compliance zone. The controller in this application is taught a home position and one or more preset positions taught by the user. When the finger 60 contacts the part 22, the stepper motor is in a low torque mode and the controller 70 detects that the stepper motor 14 is approaching stall because it cannot overcome the resistance of the compliance device. The controller 70 immediately reconfigures the operating parameters to transition to a high torque, low speed mode. The stepper motor 14 provides high torque at a low speed. The stepper motor 14 continues to increase the force from the motor to the compliance device 16. The compliance device 16 deflects and generates a force proportional to the deflection, like a spring.
[0041] This deflection force is transferred to the gripper 20, which generates a gripping force on the part 22. The controller 70 knows from the initial teaching how many steps to deflect the compliance device to create a consistent and repeatable gripping force. This allows the set point to be identified as a specific teaching point. The stepper motor 14 deflects the compliance device 16 by a predetermined number of steps to create a gripping force. In this high current, low speed mode, the controller 70 stops after a predetermined number of steps before the motor can stall. The stepper motor 14 can then be powered off and due to the fine pitch of the lead screw, the gripper 20 will maintain the gripping force. This allows the gripper 20 to hold the part 22 with sufficient gripping force for any length of time without requiring power. This is an advantage in energy conservation, power outage situations, as well as in reducing gripper temperature by not needing power during gripping. The stepper motor controller 70 can create back EMF braking by shorting multiple coils of the stepper motor 14 when power is removed. This creates an additional damping effect which improves the fail-safety of the lead screw and further ensures a fail-safe gripping condition when power is interrupted.
[0042] To open the gripper, the lead screw is moved in the same high current, high torque, low speed mode to loosen it. The motor moves until it has moved the same number of steps as was used to load the gripper, but in the opposite direction. At this point, the gripping force decreases as the compliance device unloads. The gripper then continues to open at low torque and high speed until it reaches its home position.
[0043] With reference to Figures 4-23, further embodiments are shown. As mentioned above, a control system is devised to control a stepper motor. To apply a force, the mechanical output of the stepper motor can be made to reach an unknown stop position. Usually, when applying a force to a position that is not predefined, the stepper motor stalls. The control system relies on mechanical compliance in the mechanical system for operation. The compliance can be in the motor mounting, the motor output, the load itself, or any combination of these. The compliance can be bidirectional. However, some applications only require unidirectional compliance.
[0044] Below are descriptions of schematic diagrams of various stepper motors and compliance devices.
[0045] 4-7 show a rotary stepper motor having a rotating shaft. The rotary motor 110 includes a shaft 112. The motor 110 is attached to the gland via a bracket 114. A number of radial compliances 116 surrounding bolts 124 secure the motor 110 to the bracket 114. The radial compliances 116, such as bearings or the like, surrounding the bolts 124 allow the motor to conform radially. The shaft 112 also includes a radial compliance coupling 118, such as a spring. The radial compliance coupling 118 has a load, such as a rotating disk 120, on the other side of the coupling 118. The radial compliance coupling 118 is attached to the load 120 to allow it to rotate. Thus, the rotary stepper motor 110 of this design includes a double compliance.
[0046] FIG. 5 is a similar embodiment to FIG. 4. The same reference numbers are similarly identified. FIG. 5 includes a motor 110 and a bracket 114. The bracket 114 is secured to the motor via a radial compliance 116 that encircles a number of bolts 124. The rotating shaft 112 includes a rigid coupling 122. And, a load 120 is coupled to one end of the rigid coupling 122. Thus, the motor housing is attached to the gland via the bracket 114 and the radial compliance member 116 that allows the motor to conform radially. The radial rigid coupling 122 attaches the rotating shaft 112 to the load 120. Thus, compliance exists between the gland and the motor 110.
[0047] 6, a similar design is shown, where a motor 110 is secured to a bracket 114 via fasteners 148. A shaft 112 includes a radial compliant coupling 118 with a load 120. Thus, the radial compliant coupling 118 is coupled to the load 120. Thus, compliance exists between the motor 110 and the load 120.
[0048] 7, radial compliance 126 is shown on load 120. Load 120 includes an arm 128 with radial compliance 126. Member 115 protrudes from bracket 114 to connect the load to ground through bracket 114. Additionally, radial compliance 126 can rest on member 115 with arm 128 contacting it, as shown in phantom.
[0049] 8-11, a rotary lead screw type stepper motor 130 is shown secured to a bracket 114. The stepper motor 130 includes a constrained rotary lead screw 132 that moves axially, coupled to a nut 134. The nut 134 is a non-rotating nut that is constrained to a non-rotating load. The stepper motor 130 further includes an axial compliance device 136 as well as a load 138. The motor 130 is secured to the ground via the bracket 114 and is held by an axial compliance device 140. The axial compliance device 140 may include a spring, or a resilient bushing, or the like. The axial compliance device 136 may include a spring, or a resilient bushing, or the like, positioned on either side of the flange 136 and may be secured to the load 138 via a fastener. The load 138 also includes an axial compliance device 142. The axial compliance device 142 connects the load 138 to the ground via a protruding member 144 of the bracket. Alternatively, as shown in phantom, a protruding member 144 can be provided with an axially compliant device 142 against which the load contacts. This design therefore represents a linear stepper motor with a triple compliant rotary screw.
[0050] Referring to FIG. 9, there is shown a motor 130 coupled to ground via an axial compliance device 140 and a bracket 114. Here, a nut 134 is secured to a load 138 without an axial compliance device. Thus, a linear stepper motor 130 with a rotating screw 132 has compliance between the motor and ground. Also, a lead nut 134 is attached to the load, causing the load to move axially. As above, the load 138 includes an axial compliance device 142 and the bracket includes a protruding member 144. The load provides anti-rotation.
[0051] FIG. 10 shows a motor 130 secured to a bracket 114 by a fastener 148. The nut 134 also includes an axial compliance 136 secured to a load 138. Thus, a linear stepper motor 130 having a rotating screw 132 has load compliance between the motor and the load 138. The load 138 also includes an axial compliance device 142 for abutting a protruding member 144, as described above. Thus, an axial compliance exists between the nut and the load, or between the load and the ground, and the load provides anti-rotation.
[0052] 11 shows the motor 130 secured to the bracket 114 by a fastener 148 and the screw 132 secured to a nut 134 secured to the load 138. The load 138 also includes an axial compliance device 142 for bearing against a protruding member 144, as described above.
[0053] 12-15 show a stepper motor with a captive screw and nut. The lead screw is attached to the rotor of the motor and rotates with the rotor. The lead nut is captive so it does not move. The end of the lead screw is attached inside a hollow splined shaft 152. The splined shaft 152 holds the screw inside the motor and prevents it from rotating. Here, the motor 150 is attached to the bracket 114 via an axial compliance 140. The splined shaft 152 extends from the lead screw nut 154. An axial compliance device 136 is coupled to a load 138. A load adapter receives the splined shaft 152. The load 138 also includes an axial compliance device 142. The axial compliance device 142 connects the load 138 to ground via a protruding member 144 on the bracket. Alternatively, the axial compliance device 142 can be placed on the protruding member 144 as shown in phantom and the load can contact it. A linear stepper motor with a captive screw and nut therefore contains a triple compliance: there is compliance between the motor and ground, between the motor and load, and also between the load and ground.
[0054] 13 shows a motor 150 secured to the gland via bracket 114 by an axial compliance member 140. A splined shaft 152 is connected to a load 138. Thus, compliance exists between the gland and the motor, or between the load and the gland. The load 138 also includes an axial compliance device 142 to abut against a protruding member 144, as described above.
[0055] 14 shows a motor 150 secured to the ground via fasteners 148 and bracket 114. An internal lead screw axially moves a splined shaft 152 which is secured to a load 138 via a nut and axial compliance 136. The load 138 also includes an axial compliance device 142 to abut against a protruding member 144 as described above. Thus, a linear stepper motor with a captive screw and nut has compliance between the motor and the load, and between the load and the ground.
[0056] 15 shows a motor 150 secured to the bracket 114 by fasteners 148 and a shaft 152 secured to a nut 134 secured to a load 138. The load 138 also includes an axial compliance device 142 for abutting the protruding member 144, as described above.
[0057] 16-19, a linear stepper motor having a rotating internal nut is shown. The motor 160 is fixed to the bracket 114 via the axial compliance device 140. Similarly, the lead screw 162 is fixed to the load adapter 164, which is fixed to the load 138 via the load adapter 164 and the axial compliance member 136. The load 138 also includes the axial compliance device 142 to abut against the protruding member 144, as described above. Thus, the linear stepper motor 160 having a rotating internal nut includes a triple compliance function. That is, there is compliance between the ground and the motor, between the motor and the load, and between the load and the ground. In addition, the load provides anti-rotation. FIG. 17 shows the motor 160 coupled to the ground via the bracket 114 and the axial compliance member 140. The lead screw 162 is fixed directly to the load 138. The load 138 also includes the axial compliance device 142 to abut against the protruding member 144, as described above. In addition, the load provides anti-rotation.
[0058] 18 shows a motor 160 with a lead screw 162 coupled to a load adapter 164. The lead screw 162 is further secured to a load 138 via an axial compliance member 136. The load 138 also includes an axial compliance device 142 for abutting the protruding member 144, as described above. Thus, a stepper motor 160 with an axially moving unconstrained lead screw 112 includes axial compliance between the motor and the load and between the load and ground. In addition, the load provides anti-rotation.
[0059] 19 shows a motor 160 secured to the bracket 114 by a fastener 148. A screw 162 is secured to the rod 138, which also includes an axial compliance device 142, as described above, for abutting the protruding member 144. In addition, the rod provides anti-rotation.
[0060] 20-23, a linear stepping motor is shown. The linear stepping motor of FIG. 20 includes a triple compliance. A linear stepping motor 170 is fixed to a bracket 114 via an axial compliance member 140. An axially moving shaft 172 is fixed to a load adapter 174. The load adapter 174 is fixed to a load 138 via an axial compliance member 136. Thus, a triple compliance is provided between the gland and the motor, and between the motor and the load. Also, the load 138 includes an axial compliance device 142 for abutting against the protruding member 144, as described above.
[0061] 21, the motor 170 is fixed to ground via the axial compliance member 140 and the bracket 114. The axial shaft 172 is fixed directly to the load 138. The load 138 also includes the axial compliance device 142 for abutting the protruding member 144, as described above.
[0062] 22, motor 170 is secured to bracket 114 via fasteners 148. Shaft 172 is secured to load adapter 174 via axial compliance member 136. Load 138 also includes axial compliance device 142 to abut protruding member 144 as described above. Linear stepper motor 170 therefore has axial movement of the shaft. The motor is attached to ground via axial compliance between the motor and load and between the load and ground.
[0063] 23 shows a motor 170 secured to the bracket 114 by fasteners 148. A shaft 172 is secured to the load 138. The load 138 also includes an axial compliance device 142 for abutting the protruding member 144, as described above.
[0064] The motor is actuated via a control as described herein, and when actuated, the compliance member moves as described above.
[0065] Generally, a load is any resistance to motion that requires a force to overcome, although in some applications a load is usually only applied at the end of a motion to immobilize an object.
[0066] Some examples of products that can be driven by the stepper motor drive system described above are grippers, of which there are many varieties, power clamps, slide mechanisms in which the payload is attached to a carriage supported by bearings, and feed escapements, etc. Another example is the movement of a load by gravity in a vertical lift application. Here the figure is rotated 90 degrees.
[0067] Rotary actuation stepper systems can be effectively used for any device that requires torque input for operation. The stepper motor with compliance covers most rotary electric motor applications that move a load to a holding position. Some examples of products that can be driven by rotary motors are hoists, gates, clamps, valves, screwdrivers, etc.
[0068] 24 is a functional block diagram of an example of a stepper motor control system. As previously described, a stepper motor 1004 is used to actuate an actuator 1008. The actuator 1008 may be a gripper as described above or another type of actuator actuated by a stepper motor 1004. The stepper motor 1004 may be a linear stepper motor or a rotary stepper motor as previously described. Although an example of gripping an object is provided, the present application is applicable to other functions that can be performed by an actuator 1008 using a stepper motor 1004.
[0069] The stepper motor 1004 may include two stator coils that drive the rotation of a rotor coupled to an output shaft of the stepper motor 1004. The rotation of the output shaft of the stepper motor 1004 moves / actuates the actuator 1008. Each commutation (pulse) of the coils of the stepper motor 1004 drives the rotation of the output shaft a predetermined rotation angle. This angle may also be referred to as a step. For example, in many common stepper motors, 200 commutations (200 step movements) complete one rotation of the output shaft of the stepper motor. Further position resolution may be achieved by interpolation between commutations. This may also be referred to as microstepping.
[0070] The control module 1012 switches power to the stepper motor 1004 in pulses to actuate the actuator 1008. The control module 1012 may alternate pulses between coils to change the polarity of the pulses (e.g., coil A+, coil B+, coil A-, coil B-, then back to A+, etc.). Although an example of two coils is provided, the stepper motor 1014 may include more stator coils. The control module 1012 may repeatedly apply pulses to these coils in a predetermined order. For example, if the stepper motor 1004 includes three coils, the control module 1012 may apply one pulse to the first coil, then one pulse to the second coil, then one pulse to the third coil, then one pulse to the first coil, then one pulse to the second coil, etc. In this manner, the magnetic field generated by the plurality of stator coils rotates, causing rotation of the output shaft in a first direction. The control module 1012 may apply the plurality of pulses in reverse of the predetermined sequence to drive rotation of the output shaft in a second direction opposite the first direction.
[0071] The control module 1012 applies power (pulses) from a power source 1016 to the stepper motor 1004. These pulses may be direct current (DC) pulses at a predetermined voltage (e.g., 12 volts). The power source 1016 may be a DC power source (e.g., a battery) or an alternating current (AC) power source. In various implementations, the control module 1012 may include a voltage converter that converts AC power to DC power to apply DC pulses to the stepper motor 1004, or may include a voltage converter that converts DC power to AC power to apply AC pulses to the stepper motor 1004. The voltage converter may also step up (increase) and / or step down (reduce) the received voltage to generate the pulses.
[0072] The control module 1012 controls the application of pulses to the stepper motor 1004 (and the actuation of the actuator 1008) based on signals from the sensors 1020. The sensors 1020 include back electromotive force (back EMF) sensors (e.g., current shunts), such as one sensor per stator coil. The control module 1012 may detect the retard angle between the stator magnetic field and the rotor position by monitoring the back EMF (back EMF) voltage of the motor coils. This back EMF may be sensed via a current shunt or another suitable type of back EMF sensor. An increased retard angle may infer an increased load on the motor, and thus a motor stall approaching can be detected.
[0073] 25 is a functional block diagram of one implementation of the control module 1012. The mode module 1104 sets an operating mode for the operation of the actuator 1008. The power control module 1108 applies a number of pulses to the stepper motor 1004 based on the operating mode.
[0074] In various implementations, when the actuator 1008 is in a home position (orientation), the mode module 1104 may set the mode to a first mode (e.g., low torque and high speed). When the mode is the first mode, the power control module 1108 applies pulses to the stepper motor 1004 based on the movement of the actuator toward the object at a first predetermined speed and a first predetermined torque. The first predetermined speed is faster than a second predetermined speed used during operation in a second mode after the actuator contacts the object. The first predetermined torque is less than the second predetermined torque used in the second mode. To move the actuator at the first predetermined speed and the first predetermined torque, the power control module 1108 may apply pulses of a first predetermined current to the multiple coils at a first predetermined rate (e.g., one pulse every X milliseconds, where X is a value greater than 0). The first predetermined current is less than the second predetermined current used in the second mode. The first predetermined rate is faster than a second predetermined rate used in the second mode (e.g., one pulse every Y milliseconds, where Y is greater than 0). Using the example of X and Y above, X is less than Y.
[0075] When the actuator 1008 contacts an object to be manipulated (e.g., grasped), the mode module 1104 transitions the mode from the first mode to the second mode. The contact module 1112 may measure the back EMF of coils that are not currently being pulsed, etc., to determine and inform if the actuator 1008 is in contact with an object. For example, the contact module 1112 may determine and inform if the actuator 1008 is in contact with an object when the back EMF of coils that are not currently being powered (inactive coils) is greater than or less than a predetermined threshold or greater than or less than a predetermined rate of change ("threshold"). The predetermined back EMF threshold is a calibration value. The contact module 1112 may receive the back EMF from the sensor 1020 or may measure the back EMF by connecting the coils of the motor through a current shunt.
[0076] When the mode is the second mode, the power control module 1108 applies a predetermined number of extra pulses to the stepper motor 1004 using a second predetermined speed and a second predetermined torque based on the engagement of the object. As described above, the first predetermined speed is greater than the second predetermined speed and the first predetermined torque is less than the second predetermined torque. To move the actuator at the second predetermined speed and the second predetermined torque, the power control module 1108 may apply pulses of a second predetermined current to the multiple coils at a second predetermined rate. As described above, the first predetermined current is less than the second predetermined current and the first predetermined rate is faster than the second predetermined rate.
[0077] The power control module 1108 detects a pulse based on the output of the power control module 1108. When the output (e.g., voltage, current) of the power control module 1108 increases by a predetermined amount, the power control module 1108 may determine that a pulse has been applied. The output of the power control module 1108 may be measured by a sensor (e.g., one of the sensors 1020).
[0078] The power control module 1108 applies a predetermined number of extra pulses (#ExtraPulses, which may also be referred to as overtravel) to the stepper motor 1004 based on firm engagement (e.g., gripping / holding) of the object. The power control module 1108 may retrieve the predetermined number of extra pulses from memory 1120. The predetermined number of extra pulses is a calibrated or trained value and is greater than 1. The training module 1124 may determine and store the predetermined number of extra pulses as described further below (e.g., see FIG. 28).
[0079] After a predetermined number of extra pulses are applied to the stepper motor 1004, the power control module 1108 may disconnect the stepper motor 1004 from the power source. Even though no power is applied to the stepper motor 1004, the stepper motor 1004 and / or one or more other mechanical fail-safe devices prevent the actuator 1008 from disengaging (e.g., losing its grip) from the object. This reduces power consumption. Other types of electric motors may require the application of power to prevent the actuator 1008 from disengaging from the object.
[0080] In various implementations, the object may be moved to a different position and / or processed in one or more ways, after which the power control module 1108 may apply multiple pulses to the stepper motor 1004 to rotate the output shaft in the reverse direction and return the actuator 1008 to the home position.
[0081] 26 is a flow chart of an example method for controlling the actuation of the stepper motor 1004 and the actuator 1008. Control begins when the actuator 1008 and the stepper motor 1004 are in a home / initial position, such as fully open or fully closed. At 1204, the control module 1012 determines whether to engage (e.g., grab) an object. For example, the control module 1012 may engage an object in response to receiving a user input to engage the object. If 1204 is true, control proceeds to 1208. If 1204 is false, control remains at 1204.
[0082] At 1208, the mode module 1104 sets the mode to a first mode. At 1212, the power control module 1108 applies a plurality of pulses in a predetermined sequence to a plurality of coils of the stepper motor 1004 according to the first mode, which includes applying pulses to the stepper motor 1004 based on a first predetermined torque (low torque) and a first predetermined speed (high speed).
[0083] At 1216, the contact module 1112 determines whether the actuator 1008 is in contact with the object and whether compression of the compliance mechanism has begun, as described above. For example, the contact module 1112 may determine that compression of the compliance mechanism has begun when the back EMF of a coil that does not currently have power applied increases and / or is greater than a predetermined back EMF threshold, or when the back EMF decreases and / or is less than a predetermined back EMF threshold. If 1216 is false, control returns to 1208. If 1216 is true, control proceeds to 1220.
[0084] At 1220, the power control module 1108 may stop applying pulses to the stepper motor 1004 for a predetermined amount of time. At 1224, the mode module 1104 sets the mode to the second mode.
[0085] At 1228, the power control module 1108 determines a predetermined number of extra pulses to apply to the stepper motor, such as by retrieving from the memory 1120. At 1232, the power control module 1108 sets an extra pulse counter to zero. At 1236, the power control module 1108 applies pulses in a predetermined sequence to the coils of the stepper motor 1004 with predetermined characteristics according to the second mode. The extra pulses may be based on a second predetermined torque and a second predetermined speed.
[0086] At 1240, the power control module 1108 determines whether a predetermined number of extra pulses have been applied to the stepper motor 1004. For example, the power control module 1108 may determine whether an extra pulse counter is equal to the predetermined number of extra pulses. If 1240 is true, control proceeds to 1244. If 1240 is false, control may return to 1236. At 1244, the actuator 1008 engages (e.g., grasps) the object. The power control module 1108 stops applying pulses to the stepper motor 1004 and electrically disconnects the stepper motor 1004 from the power source. A mechanical locking feature then holds the object engaged and prevents additional power consumption.
[0087] 27 is a graph of torque and speed over time. As shown, between time T0 and time T1, when the mode is set to the first mode, a pulse is applied to the stepper motor 1004 based on a first predetermined speed and a first predetermined torque. Between time T1 and time T2, when the mode is set to the second mode, an extra pulse is applied to the stepper motor 1004 based on a second predetermined speed and a second predetermined torque. The second predetermined torque and second predetermined speed may be used for the extra pulse.
[0088] 28 is a flow chart illustrating an example method for determining and setting the predetermined number of extra pulses applied to the stepper motor 1004 while operating in the second mode. Control begins at 1304 where the training module 1124 determines whether to train / learn / teach the predetermined number of extra pulses to apply to the stepper motor 1004. If 1304 is true, control proceeds to 1308. If 1304 is false, control remains at 1304.
[0089] At 1308, the mode module 1104 sets the mode to the first mode. At 1312, the power control module 1108 applies pulses to the stepper motor 1004 based on the first mode. At 1316, the contact module 1112 determines whether the actuator 1008 is in contact with an object and whether compression of the compliance mechanism has begun, as described above. For example, the contact module 1112 may determine that compression of the compliance mechanism has begun when the back EMF of a coil to which power is not currently applied increases and / or is greater than a predetermined back EMF threshold, or when the back EMF decreases and / or is less than a predetermined back EMF threshold. If 1316 is false, control returns to 1308. If 1316 is true, control proceeds to 1320.
[0090] At 1320, the training module 1124 stores the number of pulses applied to the stepper motor 1004 since starting at 1308 as a first value (D1). At 1324, the mode module 1104 sets the mode to a third mode. When the mode is in the third mode, the power control module 1108 applies pulses to the stepper motor 1004 at a third predetermined speed and a third predetermined torque based on the movement of the actuator. The third predetermined speed may be equal to or less than the second predetermined speed and less than the first predetermined speed. The third predetermined torque may be greater than the first predetermined torque and less than the second predetermined torque. To move the actuator at the third predetermined speed and the third predetermined torque, the power control module 1108 may apply pulses of a third predetermined current to the multiple coils at a third predetermined rate (e.g., one pulse every Z milliseconds, where Z is a value greater than 0). The third predetermined current is less than the second predetermined current used in the second mode. The third predetermined rate may be greater than or equal to the second predetermined rate used in the second mode (eg, one pulse every Z milliseconds, where Z is greater than 0).
[0091] At 1328, the power control module 1108, based on operation in the third mode, applies a first predetermined number of pulses in a predetermined sequence to the stepper motor 1004. The first predetermined number of pulses is a predetermined calibration value and may be a number greater than the number of pulses (steps) that the stepper motor 1004 is currently capable of moving.
[0092] At 1332, the training module 1124 may determine if the motor has stalled, such as based on whether the stepper motor 1104 has achieved a third predetermined torque. If 1332 is true, control may proceed to 1336. If 1332 is false, control may return to 1324. At 1332, a mechanical stop ensures forward movement and prevents backdriving due to a stalled motor. At this point, the maximum overtravel point has been reached. It is then measured how much the characteristic torque has deflected the entire system (e.g., including the compliance device, fingers, and workpiece, etc.).
[0093] At 1340, the mode module 1104 sets the mode to a second mode. At 1344, the power control module 1108 applies a second predetermined number of pulses to the stepper motor 1004 based on operating in the second mode to move the actuator away from the object. The second predetermined number of pulses is a predetermined calibration value, which may be approximately equal to the (e.g., normal) compliance range of the compliance device.
[0094] At 1348, the mode module 1104 sets the mode to the first mode. At 1348, the power control module 1108 applies a number of pulses to the stepper motor 1004 based on operation in the first mode to move the actuator away from the object and toward one or more hard stops of the home / initial position. At 1356, the training module 1124 may determine whether contact with a hard stop has occurred. If 1356 is true, control proceeds to 1360. If 1356 is false, control returns to 1348.
[0095] At 1360, the power control module 1108 stops applying pulses to the stepper motor 1104 and actuation of the actuator to the home / initial position is completed. At 1348, the training module 1124 stores the number of pulses applied to the stepper motor 1104 since 1336 as a second value (D2). At 1352, the training module 1124 may store the contact position X1 in the memory 1120 as the first number of pulses D1 from the home / initial position. At 1356, the training module 1124 may determine the number of extra pulses to apply to the stepper motor 1104 as described above based on the difference between the first number and the second number, such as based on or equal to D2-D1. The training module 1124 stores the number of extra pulses in the memory 1120 to recall for subsequent use in interfacing with the object.
[0096] The above description is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses. The broad teachings of the disclosure can be embodied in various forms. Thus, while the disclosure includes specific examples, the true scope of the disclosure is not intended to be limited to the specific examples, since other variations will become apparent upon review of the drawings, specification, and appended claims. It should be understood that one or more steps in a method may be performed in different orders (or simultaneously) without altering the principles of the disclosure. Furthermore, although each embodiment is described above as having specific features, any one or more of the features described with respect to any embodiment of the disclosure may be embodied in and / or combined with any feature of any other embodiment, even if the combination is not expressly stated. In other words, the described embodiments are not mutually exclusive, and one or more embodiments may be substituted for each other within the scope of the disclosure.
[0097] Spatial and functional relationships between elements (e.g., between modules, circuit elements, semiconductor layers, etc.) are described using a variety of terms, including "connected," "engaged," "coupled," "adjacent," "next to," "on top of," "above," "below," and "disposed." When a relationship between a first element and a second element is described in the above disclosure, unless "direct" is specified, the relationship may be a direct relationship where there are no other intervening elements between the first element and the second element, but may also be an indirect relationship where there are one or more intervening elements (spatial or functional) between the first element and the second element. As used in this disclosure, the phrase at least one of A, B, and C shall be interpreted as meaning a logical OR (A OR B OR C) using a non-exclusive logical OR, and shall not be interpreted as meaning "at least one A, at least one B, and at least one C."
[0098] In each diagram, the direction of the arrow, as indicated by the arrowhead, typically indicates the flow of information (e.g., data or instructions) that is the subject of the description. For example, when elements A and B exchange various information, and the information communicated from element A to element B is relevant to the description, the arrow may point in the direction from element A to element B. This unidirectional arrow does not imply that other information is not communicated from element B to element A. Furthermore, for information sent from element A to element B, element B may send a request for the information, or an acknowledgment of receipt of the information, to element A.
[0099] In this application, including the definitions below, the terms "module" and "controller" may be substituted for the term "circuitry." The term "module" may refer to, be a part of, or include an application specific integrated circuit (ASIC), digital, analog, or mixed analog / digital discrete circuitry, digital, analog, or mixed analog / digital integrated circuitry, combinatorial logic circuitry, field programmable gate arrays (FPGAs), processor circuitry (shared, dedicated, or group) that executes code, memory circuitry (shared, dedicated, or group) that stores code executed by the processor circuitry, other suitable hardware components that provide the described functionality, or a combination of some or all of the above.
[0100] A module may include one or more interface circuits. In some examples, the interface circuits may include wired or wireless interfaces connected to a local area network (LAN), the Internet, a wide area network (WAN), or combinations thereof. The functionality of any given module of the present disclosure may be distributed among multiple modules connected via interface circuits. For example, multiple modules may enable load balancing. In a further example, a server module (also known as remote, or cloud) may perform some functions on behalf of a client module.
[0101] The term code as used above may include software, firmware, and / or microcode, and may further refer to programs, routines, functions, classes, data structures, and / or objects. The term shared processor circuit encompasses a single processor circuit that executes some or all code from multiple modules. The term group processor circuit encompasses one processor circuit in combination with multiple additional processor circuits that executes some or all code from one or more modules. References to multiple processor circuits encompass multiple processor circuits on multiple separate dies, multiple processor circuits on a single die, multiple cores of a single processor circuit, multiple threads of a single processor circuit, or combinations thereof. The term shared memory circuit encompasses a single memory circuit that stores some or all code from multiple modules. The term group memory circuit encompasses one memory circuit in combination with multiple additional memories that store some or all code from one or more modules.
[0102] The term memory circuit is a subset of the term computer-readable medium. The term computer-readable medium as used in this disclosure does not encompass a transitory electrical or electromagnetic signal propagating through a medium (such as on a carrier wave). Thus, the term computer-readable medium may be considered to be tangible and non-transitory. Non-limiting examples of non-transitory tangible computer-readable media are non-volatile memory circuits (such as flash memory circuits, erasable programmable read-only memory circuits, or masked read-only memory circuits), volatile memory circuits (such as static random access memory circuits or dynamic random access memory circuits), magnetic storage media (such as analog or digital magnetic tape or hard disk drives), and optical storage media (such as CDs, DVDs, or Blu-ray discs).
[0103] The apparatus and methods described herein may be embodied, in part or in whole, by a special-purpose computer produced by configuring a general-purpose computer to perform one or more specific functions embodied in a computer program. The functional blocks, flowchart components, and other elements described above serve as software specifications that can be converted into a computer program by the routine work of a skilled technician or programmer.
[0104] A computer program includes processor-executable instructions stored on at least one non-transitory tangible computer-readable medium. A computer program may further include or depend on stored data. A computer program may include a basic input / output system (BIOS) that interacts with the hardware of a special-purpose computer, device drivers that interact with specific devices of a special-purpose computer, one or more operating systems, user applications, background services, background applications, and so on.
[0105] A computer program may include (i) parsed text, such as HTML (HyperText Markup Language), XML (Extensible Markup Language), or JSON (JavaScript Object Notation), (ii) assembly code, (iii) object code generated from source code by a compiler, (iv) source code executed by an interpreter, (v) source code compiled and executed by a just-in-time compiler, etc. By way of example only, the source code may be written using syntax of languages including: C, C++, C#, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java, Fortran, Perl, Pascal, Curl, OCaml, Javascript, HTML5 (Hypertext Markup Language Fifth Edition), Ada, ASP (Active Server Pages), PHP (Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash, VisualBasic, Lua, MATLAB, SIMULINK, and Python.
Claims
1. A gripping device, comprising: The main body, a stepper motor positioned within the body; a lead screw driven by the stepping motor; a gripper coupled to the lead screw for gripping and releasing a part; a compliance mounted between the body and the motor to allow movement of the motor relative to the body; a controller electrically coupled to the motor to provide motion control and to maintain a learned set of positions based on sensing that the motor is approaching its stall torque; A gripping device comprising:
2. The gripping device of claim 1 , wherein the gripper further comprises a pair of fingers for gripping the part.
3. The gripping device of claim 2 further comprising a pair of jaws each coupled to one of the fingers.
4. The gripping apparatus of claim 3 further comprising a wedge coupled to said lead screw and said pair of jaws for moving said pair of jaws and fingers between an open position and a gripping position.
5. The gripping device of claim 1 , wherein the controller senses when the motor is approaching its stall torque and the controller varies the current to the stepper motor.
6. 6. The gripping apparatus of claim 5, wherein the stepper motor has low torque and moves at a high speed when moving from the open position to the gripping position, and as the motor approaches its stall torque, the stepper motor transitions to a high torque and a low speed.
7. 7. The gripping apparatus of claim 6, wherein the controller runs the stepper motor an additional predetermined number of steps at a high current and a low speed to deflect a compliance member to generate a desired force without reaching the stall point of the motor.
8. 8. The gripping apparatus of claim 7, wherein upon application of any force up to a force less than the stall force, the compliance device deflects and generates a force proportional to the deflection.
9. 9. The gripping device of claim 8, wherein the controller determines that the position is at a previously taught point and the controller powers down the stepper motor to conserve energy while gripping force is maintained by the pitch of the lead screw not back driving the gripper fingers.
10. The gripping device of claim 9 , wherein the controller provides additional back EMF braking by shorting the motor coil.
11. An actuator, a stepper motor coupled to mechanical ground; A shaft driven by the stepping motor; a load coupled to the shaft for moving the load; a compliance that allows the stepper motor to apply a force to the load; a controller electrically coupled to the motor to provide motion control and to maintain a learned set of positions based on sensing that the motor is approaching its stall torque; An actuator comprising:
12. The actuator of claim 11 , wherein the controller senses when the motor is approaching its stall torque and the controller varies the current to the stepper motor.
13. 13. The actuator of claim 12, wherein the stepper motor has low torque and moves at a high speed when moving to the position, and as the motor approaches its stall torque, the stepper motor transitions to a high torque and a low speed.
14. The actuator of claim 13 , wherein the controller moves the stepper motor an additional predetermined number of steps at a high current and a low speed to deflect a compliant member.
15. 15. The actuator of claim 14, wherein upon application of any force up to a force less than the stall force, the compliance device deflects and generates a force proportional to the deflection.
16. 16. The actuator of claim 15, wherein the controller determines that the position is at a previously taught point and the controller turns off power to the stepper motor to conserve energy while force is maintained mechanically.
17. 17. The actuator of claim 16, wherein the controller provides additional back EMF braking by shorting the motor coil.
18. The actuator of claim 11 , wherein the compliance is located between the mechanical ground and the motor.
19. The actuator of claim 11 , wherein the compliance is located between the motor and the load.
20. The actuator of claim 11 , wherein the compliance is located between the load and ground.
