Screw fastener

A screw fastener includes a first screwdriver including a first bit configured to fasten a first screw by engaging with a recess of the first screw, and a first motor configured to rotate the first bit, a second screwdriver including a second bit configured to fasten a first screw by engaging with a recess of the second screw, and a second motor configured to rotate the second bit, an elevator unit configured to simultaneously ascend and descend both the first screwdriver and the second screwdriver, and a controller configured to control the first motor and the second motor so that seating of the first screw can start after torquing-up of the second screw starts.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. PCT/JP2007/071915, filed on Nov. 12, 2007, the entire contents of which are incorporated herein by reference.

FIELD

The embodiment(s) discussed herein are related to an automatic screw fastener configured to automatically fasten a screw.

BACKGROUND

Automatic screw fastening uses a screwdriver having a bit engageable with a recess of a screw to fasten the screw that can be inserted into a screw hole in a work. In order to inexpensively supply works, a supply of a small and low-priced automatic screw fastener having an increased throughput is important.

In order to fasten a plurality of screws, the fastening time of a certain screw may need to shift from the fastening time of another screw. For example, as depicted inFIG. 14, in screwing a disc-shaped lid1having a packing (not depicted) on the bottom, screws2arranged around the lid1are first fastened completely and then a center screw3is fastened so as to reduce a deformation and a position shift of the lid1. For similar reasons, as depicted inFIG. 15, in screwing a rectangular lid6, an internal screw8can be fastened after screws7arranged around the lid6are fastened. For example, the lid depicted inFIG. 14may be a clamp ring configured to clamp discs in a hard disc drive (“HDD”). The screw8depicted inFIG. 15may be used to fix a head stack assembly (“HSA”) having a carriage mounted with a head and configured to rotate in the HDD.

Prior art include, for example, Patent Documents 1-7:

In order to fasten two types of screws at different times in an automatic multi-axial screw fastener, it is conceivable to provide two fastening steps for these screws. In this case, the first step fastens the first screw and the next step fastens the second screw. However, these two fastening steps require two separate elevator units for a first screwdriver (or bit) configured to fasten the first screw and a second screwdriver (or bit) configured to fasten the second screw, causing the screw fastener to be large and expensive. In addition, when the second step follows the first step, a total fastening time period becomes longer and the throughput lowers.

SUMMARY

A screw fastener according to one aspect of the embodiment includes a first screwdriver including a first bit configured to fasten a first screw by engaging with a recess of the first screw, and a first motor configured to rotate the first bit, a second screwdriver including a second bit configured to fasten a first screw by engaging with a recess of the second screw, and a second motor configured to rotate the second bit, an elevator unit configured to simultaneously ascend and descend both the first screwdriver and the second screwdriver, and a controller configured to control the first motor and the second motor so that seating of the first screw can start after torquing-up of the second screw starts.

DESCRIPTION OF EMBODIMENTS

FIG. 1is a perspective view of a screw fastener100according to one embodiment. The screw fastener100includes a support frame101, an elevator unit110, a main controller or a host controller120, and a plurality of screwdrivers140.

The support frame101includes a pair of vertical plates102, a horizontal plate103fixed on the upper portions of the pair of vertical plates102. Each vertical plate102extends in the Z direction inFIG. 1. The horizontal plate103extends in the X direction depicted inFIG. 1. The elevator unit110is fixed onto the front surface side of the horizontal plate103, and a housing table104mounted with a power unit and a mechanical unit (not depicted) of the elevator unit110is fixed onto the back surface side of the horizontal plate103.

The elevator unit110includes a mechanical unit112, and a support table114having an L-shaped section. The support table114includes a vertical member115, a horizontal member116, and a pair of rims117.

The vertical member115of the support table114is fixed onto the mechanical unit112, and the mechanical unit112is configured to ascend and descend the vertical member115in the Z direction inFIG. 1. The vertical member115extends in the Z direction inFIG. 1. The plurality of screwdrivers140are attached to the horizontal member of the support table114. The horizontal member116extends in the Y direction inFIG. 1.

The elevator unit110is configured to ascend and descend the first screwdriver and the second screwdriver, which will be described later. Since one elevator unit110is commonly used for the plurality of screwdrivers140, the screw fastener100becomes smaller and less expensive than a screw fastener in which each screwdriver140has a separate elevator unit100. In addition, common ascending and descending for all the screwdrivers140shorten a screw fastening time period and improve a throughput in comparison with separate ascending and descending.

AlthoughFIG. 1shows four screwdrivers140, the number of screwdrivers is not limited as long as the number of screwdrivers is plural because the screw fastener100is an automatic multi-axial screw fastener configured to automatically control actions of a plurality of screwdrivers140.

The driver140is configured to rotate a bit142that downwardly extends in the Z direction from the horizontal member116through a perforation hole116aformed in the horizontal member116, and to fasten a screw for a work (an object to be fastened) (not depicted) located under the horizontal member116. The bit142is configured to engage with a recess of the screw and to fasten the screw.

FIG. 2Ais a partially sectional view depicting a positional relationship among a screw10, a component20, and a work30, where the screw10is partially inserted into the screw hole.FIG. 2Bis a partially sectional view depicting a positional relationship among the screw10that has been seated, the component20, and the work30.FIG. 2Amay be regarded as a view of a provisional fastening state. A recess12is formed at the center of a front surface13of a screw head11of the screw10. The bit142is rotated while its tip is engaged with the recess12of the screw10. A seat14of the screw head11opposes to a surface around a clearance hole22of the component20. A screw portion15of the screw10is inserted into the clearance hole22of the component20and a screw hole32of the work30. In this embodiment, the component20is, for example, a clamp ring, and the work30is, for example, a spindle hub, which is fixed in a housing of an HDD.

This embodiment classifies, as depicted inFIG. 3, the screwdrivers140into at least two types, a first driver and a second driver, which will be referred to as a first screwdriver140A and a second screwdriver140B, if it becomes necessary to distinguish them.

The first screwdriver140A includes a first bit142A configured to engage with a recess12A of a first screw10A and to fasten the first screw10A, and a first motor144A configured to rotate the first bit142A. The second screwdriver140B includes a second bit142B configured to engage with a recess12B of a second screw10B and to fasten the second screw10B, and a second motor144B configured to rotate the second bit142B. The first screw10A is, for example, the screw3depicted inFIG. 14and the screw8depicted inFIG. 15, and the second screw10B is the screw2depicted inFIG. 14and the screw7depicted inFIG. 15.

The main controller120communicates with a servo controller150provided for each screwdriver140. The main controller120includes a computer and is configured to control the first motor144A and the second motor144B so that seating of the first screw10A starts after torquing-up of the second screw10B starts. Here, “seating” means a contact between the seat14of the screw10and the surface around the screw hole (clearance hole22of the component20inFIG. 2B), and “torquing-up” means that the seated screw10is fastened and fixed with a predetermined torque. The phrase “after torquing-up starts” coverts not only that torquing-up is completed but also that torquing-up is in progress.

FIG. 4is a block diagram of the control system of the screw fastener100, which is configured to control seven screwdrivers140A1to140A6and140B, althoughFIG. 4shows only three screwdrivers140A1,140A2, and140B.FIG. 5Ashows a relationship between screws2and3corresponding to the screwdrivers140A to140A6and140B.

Each screwdriver140includes, as depicted inFIG. 4, a motor144as a driving source, a bit142at its top or bottom end engageable with the recess12on the screw head11of the screw10, and a bit driver146configured to drive the bit142using a driving force transmitted from the motor144. Although omitted inFIG. 4, the bit driver146has an output shaft that can be detachably engaged with the bit142.

InFIG. 4, housed in a casing141that holds the motor144and the bit driver146is a reduction gear row configured to transmit a driving force from an input gear attached to an output shaft of the motor144to the driving gear that rotates together with the above output shaft. The motor144may use a brush motor or a brushless motor.

The servo controller150directly controls driving of each screwdriver140, and is provided for each screwdriver140. The main controller120sends a variety of operational commands to the seven servo controllers150via a communication line119, such as RS-485.

The servo controller150includes a synchronization controller151connected to a first wired OR line160aand a second wired OR line160b, and a motor controller156configured to control the voltage or current to be applied to the motor144. The motor controller156includes an operating unit or calculator (CAL)157made of an MPU, etc. The servo controller150includes a first transistor162aand a second transistor162bthat constitute an input/output circuit among the synchronization controller151, the first wired OR line160a, and the second wired OR line160b. Each of the first transistor162aand the second transistor162bhave an open collector configured to provide an output to the first wired OR line160aand an output to the second wired OR line160b.

Although this embodiment uses an open collector output of the transistor to form a wired OR circuit (a circuit that becomes an OR gate in the negative logic by directly coupling the output of the TTL logic), but may form a wired OR circuit using an open drain output of a CMOS instead of the transistor.

As depicted inFIG. 4, a pull-up resistor164is connected to each end of the first wired OR line160aand the second wired OR line160b.

The synchronization controller151includes an odd line input circuit152and an odd line output circuit153connected to the first wired OR line160a, and an even line input circuit154and an even line output circuit155connected to the second wired OR line160b. The odd line output circuit153is a circuit configured to output a signal indicative of an odd-number-th synchronization waiting state in the screwdrivers140A1to140A6, and the even line output circuit155is a circuit configured to output a signal indicative of an even-number-th synchronization waiting state in the screwdrivers140A1to140A6. The odd line input circuit152is a circuit configured to detect a state of the first wired OR line160a, and the even line input circuit154is a circuit configured to detect a state of the second wired OR line160b.

The screw fastener100is used to fasten a screw, for example, of a clamp ring55in the HDD depicted inFIGS. 5A and 5B.FIG. 5Ais a plane view around the clamp ring55, andFIG. 5Bis its side view.

A magnetic disc unit50includes a pair of magnetic discs51that are vertically stacked via a spacer52, and a spindle motor53configured to rotate the magnetic discs51. A bearing54, the magnetic discs51, and the spacer52are concentrically stacked around the outer circumference of the spindle motor53, and the clamp ring55is arranged on the upper magnetic disc51.

The clamp ring51is coupled with a hub of the spindle motor53via six screws2arranged at vertexes of a regular hexagon and one center screw3, as depicted inFIG. 5A.FIG. 5Aschematically shows the screwdrivers140A1to140A6corresponding to these screws2. In this embodiment, the screwdrivers140A1and140A2, the screwdrivers140A3and140A4, and the screwdrivers140A5and140A6are paired, and the bits142of a pair of screwdrivers140in each pair are arranged with an angular interval of 180° around the center of the screw3. Due to the screws2and3, the clamp ring55fixes the discs51and the spacer52onto the spindle motor53. Thereby, as the spindle motor53rotates, the magnetic discs51rotate and the magnetic head (not depicted) is ready to record information in and reproduce the information from the magnetic discs51.

In this embodiment, the main controller120drives the elevator unit110and simultaneously descends all the screwdrivers140(or the first screwdrivers140A and the second driver140B). In this embodiment, the tip of each bit142attracts the screw10via a magnetic force or a vacuum absorption, and the bit142is inserted into the recess12of each screw10. Only when the elevator unit110simultaneously descends all the screwdrivers140, the screws2and3are arranged on the screw hole (not depicted) of the clamp ring55and become ready to fasten. However, it is not always necessary to mount the screw2or3at the tip of the bit142, and the screws2and3are arranged in the screw hole (not depicted) of the clamp ring55by another apparatus or manually in another embodiment.

Next, the main controller120controls driving of the first motor144A and driving of the second motor144B so that the first bit142A and the second bit142B can simultaneously rotate or the first bit142A can stop and the second bit142B can rotate.

The main controller120controls driving of the first motor144A and driving of the second motor144B so that seating of the first screw10A can start after torquing-up of the second screw10B starts. Some methods can provide this effect:

According to the first method, the screw portion of the first screw10A is longer than the screw portion of the second screw10B. Thereby, seating of the first screw10A can be made later than seating of the second screw10B even when fastening of the second screw10B and fastening of the first screw10B start at the same time and at the same bit rotation velocity. By adjusting a difference of the length between the screw portion of the first screw10A and the screw portion of the second screw10B, torquing-up of the second screw10B can proceed to some extend until the first screw10A is seated.

The second method is to control the first motors144A and the second motor144B so that the rotation velocity of the first bit142A is smaller than that of the second bit142B. Thereby, even when the screw portion of the first screw10A and the screw portion of the second screw10B have the same length or different lengths, seating of the first screw10A can be made later than seating of the second screw10B even when fastening of the second screw10B and fastening of the first screw10B start at the same time. By adjusting a rotational velocity difference between the bits142A and142B, torquing-up of the second screw10B can proceed to some extend until the first screw10A is seated. The first method and the second method can be combined with each other.

According to the third method, fastening rotation of the first bit142A starts later than that of the second bit142B. By adjusting a delay time period, torquing-up of the second screw10B can proceed to some extent until the first screw10A is seated. The third method may be combined with the first method and/or the second method.

According to one embodiment that achieves the third method, the main controller120of the screw fastener100includes, as depicted inFIG. 6, a timer122and a memory124configured to store a setting time period. The main controller120allows the timer122to start measuring time when the fastening rotation of the second motor144B starts or when descending of the elevator unit110is completed. The main controller120drives the first motor144A when determining that the timer122has measured the setting time period. The start time of the first motor144A is determined by the timer122. It is optional that the first bit142A completes fastening the first screw10A as soon as the second bit142B completes fastening the second screw10B. Since the structure depicted inFIG. 6does not actually detect the state of the second bit142B, the main controller120has a simpler and less expensive configuration. The setting time period stored in the memory124is a time period necessary for torquing-up of the second screw10B to proceed to some extent.

According to another embodiment that achieves the third method, the main controller120of the screw fastener100includes a memory124configured to store a setting state as depicted inFIG. 7, and the second bit142B of the second driver140B is connected to a state detector147configured to detect a torquing-up state of the second screw10B. The servo controller150informs the memory controller120of the detection result of the state detector147. The main controller120drives the first motor144A when determining that the state detector147detects the setting state stored in the memory124. The start time of the first motor144A is determined based on the detection result of the state detector147. The state detector147is, for example, a detector configured to detect a change of a rotation velocity of the second bit142. It is optional that the first bit142A completes fastening the first screw10A as soon as the second bit142B completes fastening the second screw10B. Since the structure depicted inFIG. 7enables the first screw10A to be fastened when the state of the second screw10B actually becomes the setting state, the deformations, the positional shifts, and inclinations of the component and the work can be effectively prevented. The setting state is a state in which torquing-up of the second screw10B proceeds to some extent.

According to the fourth method, the main controller120controls driving of the first motor144A and driving of the second motor144B so that the first bit142A and the second bit142B can be simultaneously rotate for fastening, and then the first bit142A is paused before the first screw10A is seated. The second screw10B continuously transfers to torquing-up and driving of the first motor144A resumes after torquing-up of the second screw10B starts. That the first bit142A and the second bit142B “simultaneously rotate for fastening” allows a slight time difference that can be regarded as a simultaneous rotation. The resume time is time when torquing-up of the second screw10B proceeds to some extent. By fastening the first screw10A to a state prior to seating together with the second screw10B, the throughput is higher than a throughput that starts a rotation of the first screw10A after torquing-up of the second screw10B proceeds to some extent. In order to maximize the throughput, the pause may be provided at a rotation amount just before the first screw10A is seated.

According to one embodiment that achieves the fourth method, the main controller120of the screw fastener100includes a memory124configured to store a predetermined rotation amount of the first bit10A before the first screw10A is seated after fastening of the first screw10A starts. In addition, a rotation detector148is provided and configured to detect a rotation amount of the first bit142A. The rotation detector148includes, for example, a rotary encoder. The servo controller150informs the main controller120of the detection result of the rotation detector148. When the rotation amount detected by the rotation detector148reaches the predetermined rotation amount stored in the memory124, the main controller120pauses the first motor144A and then resumes it. As described above, in order to maximize the throughput, the predetermined rotation amount stored in the memory124may be the rotation amount just before the first screw10A is seated.

The main controller120can determine the resume time of driving of the paused first motor144A using the structure depicted inFIG. 6or7.

In the structure depicted inFIG. 6, the main controller120includes a timer122and a memory124configured to store the setting time period. The main controller120allows the timer122to measure time, for example, when the main controller120pauses a rotation of the first motor144B. The main controller120resumes driving of the first motor144A when determining that the time122has measured the setting time period. The resume time of driving of the first motor144A is determined by the timer122. It is optional that the first bit142A completes fastening the first screw10A as soon as the second bit142B completes fastening the second screw10B. Since the structure depicted inFIG. 6does not actually detect the state of the second bit142B, the main controller120becomes a simpler and less expensive configuration. The setting time period stored in the memory124is a time period necessary for torquing-up of the second screw10B to proceed to some extent.

In the structure depicted inFIG. 7, the main controller120includes a memory124configured to store the setting time period, and the second bit142B of the second driver140B is connected to the state detector147configured to detect a torquing-up state of the second screw10B. The main controller120resumes driving of the first motor144A when determining that the state detector147detects the setting state stored in the memory124. The resume time of driving of the first motor144A is determined by the detection result of the state detector147. It is optional that the first bit142A completes fastening the first screw10A as soon as the second bit142B completes fastening the second screw10B. Since the structure depicted inFIG. 7enables the first screw10A to be fastened when the state of the second screw10B actually becomes the setting state, the deformations, the positional shifts, and inclinations of the component and the work can be effectively prevented. The setting state is a state in which torquing-up of the second screw10B proceeds to some extent.

WhileFIGS. 6 and 7provide the timer122and the memory124in the main controller120, they may be parts of the motor controller156of the servo controller150.FIG. 9shows this embodiment.FIG. 9is a block diagram of a variation of the control system of the screwdriver140, and the first driver140A, and the second driver140B are generalized by140A1,140A2, . . . ,140Am,140B1,140B2, . . . ,140Bm.

The calculator157is made of an MPU, which is a micro controller configured to control the motor144in accordance with a command of a switch (not depicted). The calculator157includes a memory157athat includes a ROM configured to store a program and a RAM for temporary storage in the same chip. The memory157astores a time period value to release the pause, a velocity setting value, a torque-up pattern in the torque control, etc. Thereby, the calculator157can execute a screw fastening sequence. The calculator157further includes a timer157b, which includes a counter configured to measure the number of crystal oscillation clocks, and thus can measure a time period. Thereby, a precise time period can be maintained before the pause is released, etc. In addition, the calculator (MPU)157may further include such peripheral circuits as an angular counter158a, a D/A converter158b, a power amplifier158c, and an A/D converter158dthat are illustrated outside of the calculator157inFIG. 9.

The angular counter158ais an up/down counter configured to measure a rotation amount of the motor144, and measures an output pulse of the incremental type encoder148. In addition, the calculator157converts a measurement value of the rotation amount of the motor144into a bit rotation amount by dividing the measurement value by a reduction gear ratio. The bit rotation amount is initialized to 0 when an operation starts using a start lever or switch (not depicted) so as to measure a bit rotation amount in the subsequent operation. The calculator157calculates a bit rotation velocity by measuring an increase or decrease amount of the bit rotation amount for each unit time period (which is about 1 msec) and by dividing the measurement result by the time interval.

The D/A converter158converts into an analogue voltage a digital operation amount to the motor144which is calculated by the calculator157for the torque control, velocity control, and angular control, and outputs the analogue voltage to the power amplifier158c.

The power amplifier158cdrives the motor144with a voltage in proportion to the output of the D/A converter158b. Alternatively, the motor144may be completely digitally driven by replacing the D/A converter158bwith a PWM (pulse width modulator) and the power amplifier158cwith a switching circuit such as an FET.

The A/D converter158dconverts the (analogue) voltage at both ends of the resistor inserted in series into a motor winding into a digital value. The calculator157divides the digital value by a resistance value and finds a motor current value. Moreover, the calculator157finds a bit output torque by multiplying a torque constant of the motor144by a reduction gear ratio.

The driver140includes a motor144, a gear unit141a, and encoder148in a driver mechanical unit.

The gear141ais housed in the casing141, increases an output torque of the motor144by a reduction ratio, and rotates the bit142. Instead, the bit rotation velocity is reduced to 1/(reduction ratio). When the screw fastening torque is small, the motor rotation can be transmitted to the bit as it is without using the reduction machine, such as gears, and the reduction ratio can be made 1 in that case.

The motor144depicted inFIG. 9is a brush DC servo motor configured to generate a torque in proportion to the motor current. The motor144can use a three-phase brushless motor by adding a sine commutation control unit using motor rotation angle information measured by the encoder148so as to serve as a brush. The motor144is equivalent with the DC servo motor at a manipulation amount (inlet) and at a motor current (outlet), and its basic operation is similar to that of the DC servo motor.

The encoder148is an incremental type encoder configured to measure a rotation amount of the motor144, and to generate a rectangular wave signal that switches for each fine rotation amount by detecting the darkness and brightness of the light that transmits slits in the scale. In an encoder that generates two-phase rectangular waves having a phase difference of 90°, a rotational direction can be detected by analyzing the fast or slow angle of the signal. The encoder148may use an absolute type encoder configured to detect an absolute angle of the motor144without using a counter. The encoder148directly reads a rotation angle in the calculator157. The calculator157stores the rotation angle at the operation start time rather than the initialization, and finds a rotation amount during the operation which is a motor rotation amount since the operation has been started, by subtracting the memorized value from the detected value.

The first driver140A and the second driver140B have approximately similar structures and similarly act. The first driver140A is different from the second driver140B in that the calculator157further includes a pause/release unit157c. The pause/release unit157cis configured to make zero a velocity command value to the motor144A and to pause the motor144A when the measurement value of the angular counter158areaches the predetermined bit rotation amount. The pause/release unit157cis further configured to release the pause of the motor144A after the setting time period passes. The screwdriver140of each axis is independently driven after it is run.

FIG. 10shows a timing chart in this case. It is understood that the pause time is determined by the bit rotation amount and torquing-up of the second screw10B ends in the pause period T. Next follows seating and torquing-up of the first screw10A.

According to another embodiment that uses the structure depicted inFIG. 9, the first driver140A is different from the second driver140B in that the calculator157further includes a pause/release unit157c. The pause/release unit157cis configured to make zero a velocity command value to the motor144A and to pause the motor144A when the measurement value of the angular counter158areaches the predetermined bit rotation amount. The pause/release unit157cis further configured to release the pause of the motor144A in response to a command from the main controller120. The screwdriver140of each axis is independently driven in response to the command from the main controller120.

The main controller120initially issues a screw fastening start command to of all axes. In addition, the main controller120issues a pause release command to the paused first driver140A when detecting that the screw fastening is completed for all axes of the second drivers140B through a reference to status information of each axis or an interruption notice from the axis that has completed screw fastening. Alternatively, if necessary, the main controller120may issue the pause release command when fastening proceeds to a predetermined torque level before fastening is completed rather than in response to a completion of fastening. In that case, the second driver140B is configured to inform the main controller120of status information indicating that the predetermined torque level has been reached.

FIG. 11shows a timing chart in this case. It is understood that the pause time is determined by the bit rotation amount, and the pause is released when the main controller120sends a pause release signal after the main controller120recognizes that torquing-up of the second screw10B ends. The status detector147detects whether the torquing-up of the second screw10B ends by referring to the status information of the second screw10B. After the main controller120sends the pause release command, seating and torquing-up of the first screw10A follow.

According to still another embodiment, the first driver140A and the second driver140B have approximately similar structures and similarly act in the structure depicted inFIG. 12. The second driver140B has a route130to directly send a screw fastening completion signal (or status information) to the first driver140A without intervening the main controller120. In the first driver140A, the calculator157is programmed to make zero a velocity command value to the first motor144A and pauses the first motor144A when the measurement value of the angular counter158areaches the predetermined bit rotation amount, to recognize the completions of the screw fastening actions of all axes based on information directly obtained from the route130without intervening the main controller120(and through logic operations if there are a plurality of axes), and to release the pause by its self determination.

Alternatively, if necessary, the pause release may be issued when fastening proceeds to the predetermined torque level (such as 95% of torquing-up) before fastening is completed rather than in response to a completion of fastening. In that case, the second driver140B is configured to inform the first driver140A of a signal indicating that the predetermined torque level has been reached.

FIG. 13shows a timing chart in this case. It is understood that the pause time is determined by the bit rotation amount, and the pause is released when the pause release signal is sent after the first driver140A recognizes that torquing-up of the second screw10B is completed through a notice from the second driver140B. Next follows seating and torquing-up of the first screw10A.

For a plurality of second screws10B, fastening of these second screws10B may be synchronized with each other. For a plurality of first screws10A, fastening of these first screws10A may be synchronized with each other. Thereby, the deformations, positional shifts, and inclinations of the work can be reduced.

For example, each second driver140B has the above state detector147. Assume that a plurality of stages are set up to the setting torque necessary for torquing-up of the second screws10B, and a target torque is set to each stage. When the main controller120receives notices that the target torques are reached of the current stage from all the state detectors147of the plurality of second drivers140B, the main controller120transfers the target torques to the next stages and may control the second motors144B so that the transfer timings shift among the second screwdrivers140B. For example, screws are simultaneously fastened every pair (such as140B1and140B2) in the second screwdrivers140B, and the fastening time is shifted for each pair. This technique is described in detail in Patent Document 7, and a detailed description thereof will be omitted.

An embodiment that applies a method described in Patent Document 7 and enables a screwdriver to change screw fastening timings and to automatically release the pause state without intervening the main controller120as depicted inFIGS. 12 and 13. InFIG. 4, the calculator157of the servo controller150of each screwdriver140has a counter function configured to count the number of synchronization waiting states. The synchronization waiting counter is set to 0 in the initialization.

FIGS. 16A to 16Eshow a computer program used to control an operation relating to the synchronization executed by the calculator157in each screwdriver depicted inFIG. 4.

FIG. 16Ais a control flowchart of an initialization of each screwdriver executed when the power is projected and when a series of screw fastening actions are completed. Initially, at step (which is abbreviated as “S” in FIGS.)10, the calculator157starts an initialization since the synchronization point5is set (see the timing chart depicted in FIG.17, which will be described later). At step11, the calculator157resets a counter value of the synchronization waiting counter to 0. Next, at step12, the calculator157turns off the even line output and turns on the odd line output. Thereby, the even wired OR line OR2is turned off, and the odd wired OR line OR1is turned on. Next, at step13, the initialization flow ends.

FIG. 16Bis a flowchart relating to state settings of even and odd line outputs executed when the seating action is completed in each screwdriver and when torquing up and down is completed in each screwdriver. Initially, at step20, when the calculator157recognizes seating or torquing-up or torquing-down, the flow moves to step21. At the step21, the calculator157increments a counter value of the synchronization waiting counter by 1. Next, at step22, the calculator157determines whether the counter value of the synchronization waiting counter is odd or even. When it is odd, at step23, the calculator157turns on the even line output and turns on the odd number line output. When each of all the screwdrivers becomes in this state, the even wired OR line OR2turns on while the odd wired OR line OR1switches from the ON state to the OFF state. On the other hand, at the step22, when the counter value of the synchronization waiting counter is even, the flow moves to step24, in which the calculator157turns off the even line output and turns on the odd line output. When each of all the screwdrivers becomes in this state, the odd wired OR line OR1turns on whereas the even wired OR line OR2switches from the ON state to the OFF state.

FIG. 16Cshows a synchronization determination flowchart. At step30, the calculator157starts a synchronization determination, and determines, at the next step31, whether the synchronization waiting counter value is odd or even. When it is odd, the flow moves to step32, in which the calculator157determines whether the odd wired OR line OR1is in the ON state or OFF state. When it is in the ON state, the step32is repeated. On the other hand, when the counter value of the synchronization waiting counter is determined even, at step31, the flow moves to the step33, in which the calculator157determines whether the even wired OR line OR2is in the ON state or OFF state. When it is determined to be in the ON state, the step33is repeated. When the odd wired OR line is in the OFF state at step S32or the even wired OR line is in the OFF state at step S33, the flow end (S34).

FIG. 16Dis a control flowchart of a wired OR line escape action of the first screwdriver140A. Initially, at step40, the calculator157starts an escape action when the synchronization point1is set. Next, at step41, the calculator157turns off the even line output and turns on the odd line output. Finally, at step42, the flow ends.

FIG. 16Eis a pause release determination flowchart of the first screwdriver140A. Initially, at step50, the calculator157starts a pause release determination, and initialize the counter value of the synchronization counter to 1 at step51. At step52, the calculator157increments the counter value of the synchronization waiting counter by one, and the flow moves to step53.

At the step53, the calculator157determines whether the counter value of the synchronization waiting counter is odd or even. If it is odd, the flow moves to step54. At the step54, the calculator157determines whether the odd wired OR line OR1is in the ON state or OFF state. If it is in the ON state, the step54is repeated. If it is in the OFF state, the flow moves to step56. On the other hand, at the step53, when the counter value of the synchronization waiting counter is determined even, the flow moves to the step55. At the step55, the calculator157determines whether the even wired OR line OR2is in the ON state or OFF state. If it is in the ON state, the step55is repeated. If it is in the OFF state, the flow moves to step56.

At the step56, the calculator157determines whether the counter value of the synchronization waiting counter reaches a predetermined value. When the synchronization waiting counter value does not reach the predetermined value, the flow returns to the step52, and this routine is repeated until the synchronization waiting counter value reaches the predetermined value. When the synchronization waiting counter value reaches the predetermined value, the flow moves to step57. At the step57, the calculator157releases the pause of the first driver140A and resumes the bit rotation. At step58, the pause state release determination flow ends.

FIG. 17is a screw fastening control procedure and an operational timing chart for each of the screwdrivers140A and140B, and shows a screw fastening action state with one first screw10A and four second screws10B. These four screwdrivers140B are distinguished by reference numerals140B1to140B4.

When the screwdriver140A and the screwdrivers140B1to140B4receive the screw fastening start command, they synchronously fasten screws. For each of the first screwdriver140A and the second screwdriver140B, the even line output turns on and the odd line output turns off by a synchronization waiting1subsequent to the screw fastening start command, and the bits are rotated at the synchronization point1. The second screwdriver140B allows screws to seat without pausing whereas the first screwdriver140A pauses the bit just before seating. In addition, since the first screwdriver140A does not participate in the subsequent synchronous fastening, the first screwdriver140A turns off the odd line output153and the even line output155as in the step41inFIG. 16D(so that the synchronization waiting can end). Next, the second screwdriver140B waits for an even-number-th synchronization, and the even line output turns off and the odd line output turns on. Torquing-up T1follows at a synchronization point2. The torquing-up T1corresponds to a predetermined ratio of a required torquing-up amount. Then, the second screwdriver140B synchronously moves to torquing-up T2(such as 95% of the required torquing-up amount). At this time, the counter value of the synchronization waiting counter becomes a synchronization point4.

The first screwdriver140A pauses the bit rotation just before seating, and maintains the pause until the synchronization waiting counter value reaches the synchronization point4. When the synchronization waiting counter value reaches the synchronization point4, the first driver140A releases the pause and rotates the bit as depicted in the step57inFIG. 16E, and executes seating and torquing-up asynchronous with the second screwdriver140B. Each second screwdriver140B completes the screw fastening faster than the first screwdriver140A, and initializes the synchronization waiting counter value as depicted in the step11inFIG. 16A. The first driver140A completes screw fastening later than each second driver140B, and initializes the synchronization waiting counter value. Such screw fastening can reduce the deformations, positional shifts, and inclinations of the work.

Here, the route130inFIG. 12corresponds to the wired OR lines160aand160bdepicted inFIG. 4, and their states are taken in by the motor controller158from the odd line input152and the even line input154of the servo controller of each axis, and the program ofFIGS. 16A to 16Eand17is independently executed by each axis. When the servo controller of each axis stores information in advance on which the servo controller belongs to, a prior screw fastening group140B or a later screw fastening group140A, these groups provide the operation ofFIG. 17as a whole because the prior screw fastening group140B executes the process of theFIGS. 16A-16Cindependently and the subsequent screw fastening group140A executes the process ofFIGS. 16A,16C,16D, and16E independently. The grouping information may be written down as a parameter in a memory, such as an EEPROM in the servo controller150if the function is approximately fixed or the grouping status may be made semi-fixed or variable through a switch, etc. When the function changes every screw fastening, the grouping information may be set as a parameter annexed to the screw fastening start command.

As another method, a signal of the wired OR line may be taken in by connecting it to the main controller120and the main controller120may have a synchronization waiting counter function or receive the information on this counter value through a communication from each screwdriver. This case corresponds to the method depicted inFIG. 11, and the main controller120instructs the pause release timing. Disadvantageously, this method may cause a delay of the pause release timing because the main controller120commands the pause release via the communication line. This method is not as fast as the former method that directly monitors the wired OR line no matter how the communication velocity is increased. In addition, a program of the main controller120becomes complex, and as the number of screws increases the number of processes in the main controller120increases. On the other hand, according to the former method in which the servo controller of each axis autonomously determines the pause release, no matter how the number of axes of the screwdrivers140A and140B increases, the programs of the main controller120and the servo controller150do not become complex, the communication does not become crowed, and the number of screws can be easily adjusted as long as the number of connections among the servo controllers is increased.

The embodiments can provide a screw fastener that can provide at least one of a smaller configuration, less expensiveness, and an increase of a throughput.

A screw fastener according to one aspect of the embodiment includes a first screwdriver including a first bit configured to fasten a first screw by engaging with a recess of the first screw, and a first motor configured to rotate the first bit, a second screwdriver including a second bit configured to fasten a first screw by engaging with a recess of the second screw, and a second motor configured to rotate the second bit, an elevator unit configured to simultaneously ascend and descend both the first screwdriver and the second screwdriver, and a controller configured to control the first motor and the second motor so that seating of the first screw can start after torquing-up of the second screw starts. Since the elevator unit is commonly used for the first screwdriver and the second screwdriver, this screw fastener is smaller and less expensive than a screw fastener in which the first screwdriver and the second screwdriver have separate elevator units. Since the elevator action is commonly used, the screw fastening time period can become shorter and the throughput improves than a screw fastener which provides two elevator actions. Here, a phrase “after torquing-up starts” intends to cover a completion of torquing-up or its progress (such as 95% of a torquing-up completion).

The screw fastener may further include a rotation detector configured to detect a rotation amount of the first bit, and a memory configured to store a predetermined rotation amount of the first bit before the first screw is seated after fastening of the first screw starts. The controller may control driving of the first motor and driving of the second motor so that the first bit and the second bit can simultaneously rotate for fastening, the first motor can pause when the detection amount detected by the rotation detector reaches the predetermined rotation amount stored in the memory, and the fast motor can later resume. The rotation detector is, for example, an encoder. That the first bit and the second bit “simultaneously rotate” intends to allow a time difference that can be regarded as a simultaneous rotation. The resume time is the time when torquing-up of the second screw proceeds to some extent. By fastening the first screw to a state prior to seating with the second screw, the throughput becomes higher than a throughput in which the first screw starts rotating after torquing-up of the second screw proceeds to some extent. Therefore, in order to maximize the throughput, the predetermined rotation amount stored in the memory may be a rotation amount just before the first screw is seated. In this case, the controller may be provided in the first motor or a host controller outside of the first driver.

The screw fastener may further include a timer, and a memory configured to store a setting time period, and the controller initially stops the first motor and drives the second motor and then drives the first motor when determining that the timer measures the setting time period. In this case, the start time of the first motor is determined by the motor. It is optional that the first bit completes fastening the first screw simultaneous with a completion of fastening of the second screw by the second bit. Since the state of the second bit is not actually detected, the control system becomes simpler and thus less expensive. The setting time period is a time period necessary for torquing-up of the second screw to proceed to some extent.

The screw fastener may further include a timer, and the memory may further store a setting time period. The controller may resume driving of the first motor when determining that the timer measures the setting time period. In this case, the resume time of the first motor is determined by the timer. Even in this case, since the state of the second bit is not actually detected, the control system becomes simpler and thus less expensive. The setting time period is a time period necessary for torquing-up of the second screw to proceed to some extent.

The screw fastener may further include a state detector configured to detect a torquing-up state of the second screw, and a memory configured to store a setting state. The controller initially stops the first motor and drives the second motor and then drives the first motor when determining that the state detector detects the setting state stored in the memory. In this case, the start time of the first motor is determined by the detection result of the state detector. It is optional that the first bit completes fastening the first screw simultaneous with a completion of fastening of the second screw by the second bit. Since the first screw can be fastened when the state of the second screw actually becomes the setting state, the deformation, positional shift, and inclination of the work can be prevented. The setting state is a state in which torquing-up of the second screw proceeds to some extent.

The screw fastener may further include a state detector configured to detect a torquing-up state of the second screw, and the memory may further store a setting state. The controller may resume driving of the first motor when determining that the state detector detects the setting state stored in the memory. In this case, the resume time of the first motor is determined by the detection result of the state detector. Even in this case, since the first screw can be fastened when the state of the second screw actually becomes the setting state, the deformation, positional shift, and inclination of the work can be prevented. The setting state is a state in which torquing-up of the second screw proceeds to some extent. The controller may determine that the state detector detects the setting state stored in the memory when a rotation velocity of the second bit detected by the state detector is zero.

The first screw may have a screw portion longer than that of the second screw. Thereby, seating of the first screw can be made later than seating of the second screw even when the second screw and the first screw are fastened at the same bit rotation velocity. Thus, by adjusting a difference of the length between the screw portion of the first screw and the screw portion of the second screw, torquing-up of the second screw can proceed to some extend until seating of the first screw is completed.

The controller may control the first motor and the second motor so that a rotation velocity of the first bit can be smaller than that of the second bit. Thereby, even when the screw portion of the first screw and the screw portion of the second screw have the same length or different lengths, seating of the first screw can be made later than seating of the second screw even when the second screw and the first screw are simultaneously fastened. By properly securing a rotational velocity difference between both bits, torquing-up of the second screw can proceed to some extend until seating of the first screw is completed.

The screw fastener may include a plurality of second screwdrivers, and the controller may torque up the plurality of second screws by synchronizing driving of second motors of the plurality of second screwdrivers. This configuration can reduce the deformation, the positional shift, and inclination of the work. For example, each second screwdriver may include a state detector configured to detect a state of a corresponding one of the second motors. There may be a plurality of stages up to a set torque necessary to torque up the second screws and a target torque is set to each stage. The controller may control the second motors so that a current stage can be transferred to a set torque of a next stage when receiving notices from all state detectors of the plurality of second screwdrivers that a target torque has been reached in the current state.

Alternatively, each second screwdriver may include a state detector configured to detect a state of a corresponding one of the second motors and connected to the controller by a wired OR line, and a counter configured to increment a counter value by one whenever a synchronization waiting state is set. Each state detector may switch an output to a first wired OR line from a first state to a second state in a synchronization waiting state of an odd counter value, and switches an output to a second wired OR line from the second state to the first state in a synchronization waiting state of an even counter value. The controller may determine an odd-number-th synchronization when a state of the first wired OR line switches from the first state to the second state after all the second screwdrivers become in odd-number-th synchronization waiting states, and may determine an even-number-th synchronization when a state of the second wired OR line switches from the first state to the second state after all the second screwdrivers become in even-number-th synchronization waiting states. Since the wired OR is equivalent with an AND circuit, all second screwdrivers can be synchronized with each other. This is applied to the first screwdrivers.