Patent Description:
Patent Literature <NUM> discloses an impact rotary tool (impact tool) including a motor, an impact mechanism, an output shaft, a control unit, trigger switch, and a motor driving unit. The impact mechanism includes a hammer and applies impacting force to the output shaft with the output of the motor, thus allowing the impact rotary tool to tighten a screw. The control unit gives a driving instruction according to a manipulative variable of the trigger switch to the motor driving unit. In accordance with the driving instruction given by the control unit, the motor driving unit regulates the voltage applied to the motor, thereby adjusting the number of revolutions of the motor.

In the impact rotary tool of Patent Literature <NUM>, control of the number of revolutions of the motor at the time of work is up to the user's operation on the trigger switch. Thus, an unskilled user sometimes cannot have the work done as efficiently as a skilled user.

<CIT> describes an electric working machine that includes a motor, a controller for controlling driving of the motor, a first setter, and a second setter. The first setter is operated for setting, as a control method for the motor, which is usable by the controller. The second setter is operated for setting, as a control method for the motor, which is usable by the controller, at least one of the control methods settable via the first setter.

<CIT> describes a method for detecting if a fastener is already tightened or not using a tightening tool with a pulse mechanism comprising the steps of placing the tightening tool on the fastener, accelerating the rotational parts of the tightening tool, limiting rotational speed of the rotational parts to a first rotational threshold value in revolutions per minute during an initial tightening phase, and detecting whether a pulse occurs during the initial tightening phase, said initial tightening phase being measured from a moment when the rotational parts are accelerated.

An object of the present disclosure is to provide an impact tool, a method for controlling the impact tool, and a program, all of which contribute to improving the work efficiency.

An impact tool according to an aspect of the present disclosure includes a motor, a control unit, an output shaft, a transmission mechanism, and an impact detection unit. The control unit performs vector control on the motor. The output shaft is to be coupled to a tip tool. The transmission mechanism transmits motive power of the motor to the output shaft. The transmission mechanism includes an impact mechanism. The impact mechanism performs an impact operation according to magnitude of torque applied to the output shaft. The impact mechanism applies impacting force to the output shaft while performing the impact operation. The impact detection unit determines, based on at least one of an excitation current to be supplied to the motor or a torque current to be supplied to the motor, whether or not the impact operation is being performed. The control unit places a limit on an increase in a number of revolutions of the motor before the impact detection unit detects the impact operation and removes the limit on the increase in the number of revolutions of the motor when the impact detection unit detects the impact operation.

A method for controlling an impact tool according to another aspect of the present disclosure is a method for controlling an impact tool including a motor, a control unit, an output shaft, and a transmission mechanism. The control unit performs vector control on the motor. The output shaft is to be coupled to a tip tool. The transmission mechanism transmits motive power of the motor to the output shaft. The transmission mechanism includes an impact mechanism. The impact mechanism performs an impact operation according to magnitude of torque applied to the output shaft. The impact mechanism applies impacting force to the output shaft while performing the impact operation. The method for controlling the impact tool includes impact detection processing, a first control, and a second control. The impact detection processing includes determining, based on at least one of an excitation current to be supplied to the motor or a torque current to be supplied to the motor, whether or not the impact operation is being performed. The first control includes placing a limit on an increase in a number of revolutions of the motor before the impact operation is detected in the impact detection processing. The second control includes removing the limit on the increase in the number of revolutions of the motor when the impact operation is detected in the impact detection processing.

A program according to still another aspect of the present disclosure is designed to cause one or more processors to perform the method for controlling the impact tool described above.

Embodiments of an impact tool <NUM> will now be described with reference to the accompanying drawings. Note that the embodiment to be described below is only an exemplary one of various embodiments of the present disclosure and should not be construed as limiting. Rather, the exemplary embodiment may be readily modified in various manners depending on a design choice or any other factor. Also, the drawings to be referred to in the following description of embodiments are schematic representations. That is to say, the ratio of the dimensions (including thicknesses) of respective constituent elements illustrated on the drawings does not always reflect their actual dimensional ratio.

The impact tool <NUM> (see <FIG>) may be used as, for example, an impact screwdriver, a hammer drill, an impact drill, an impact drill-screwdriver, or an impact wrench. In the following description of an exemplary embodiment, a situation where the impact tool <NUM> is used as an impact screwdriver for fastening a screw will be described as a typical application. As shown in <FIG> and <FIG>, the impact tool <NUM> includes a motor <NUM>, a control unit <NUM>, an output shaft <NUM>, a transmission mechanism <NUM>, and an impact detection unit <NUM>. The control unit <NUM> performs vector control on the motor <NUM>. The output shaft <NUM> is to be coupled to a tip tool <NUM>. The transmission mechanism <NUM> transmits motive power of the motor <NUM> to the output shaft <NUM>. The transmission mechanism <NUM> includes an impact mechanism <NUM>. The impact mechanism <NUM> performs an impact operation according to the magnitude of torque applied to the output shaft <NUM>. The impact mechanism <NUM> applies impacting force to the output shaft <NUM> while performing the impact operation. The impact detection unit <NUM> determines, based on at least one of an excitation current (current measured value id1) to be supplied to the motor <NUM> or a torque current (current measured value iq1) to be supplied to the motor <NUM>, whether or not the impact operation is being performed. The control unit <NUM> places a limit on an increase in the number N1 of revolutions (see <FIG>) of the motor <NUM> before the impact detection unit <NUM> detects the impact operation and removes the limit on the increase in
the number N1 of revolutions of the motor <NUM> when the impact detection unit <NUM> detects the impact operation.

In the impact tool <NUM> according to this embodiment, a limit is placed on an increase in the number N1 of revolutions of the motor <NUM> before the impact mechanism <NUM> starts performing the impact operation, thus reducing the chances of a work target such as a screw being tilted with respect to a workpiece such as a wall due to an excessive number N1 of revolutions and thereby improving the work efficiency. In addition, this also allows the number N1 of revolutions of the motor <NUM> to be increased once the impact mechanism <NUM> has started performing the impact operation, thus contributing to improving the work efficiency compared to a situation where the number N1 of revolutions cannot be increased.

Also, in a situation where at the beginning of an impact operation, a user attempts to increase the number N1 of revolutions of the motor <NUM> by operating the trigger switch <NUM> without depending on the control by the control unit <NUM>, if he or she lacks skills in operating the trigger switch <NUM>, then he or she may be unable to increase the number N1 of revolutions of the motor <NUM> to an appropriate level. In contrast, according to this embodiment, the control unit <NUM> removes the limit on the increase in the number N1 of revolutions of the motor <NUM> after the impact operation has started to be performed, thus making the number N1 of revolutions controllable without depending on the user's skills.

The motor <NUM> may be a brushless motor. In particular, the motor <NUM> according to this embodiment is a synchronous motor. More specifically, the motor <NUM> may be a permanent magnet synchronous motor (PMSM). The motor <NUM> includes a rotor <NUM> having a permanent magnet <NUM> and a stator <NUM> having a coil <NUM>. The rotor <NUM> includes a rotary shaft <NUM> which outputs rotational power. The rotor <NUM> rotates with respect to the stator <NUM> due to electromagnetic interaction between the coil <NUM> and the permanent magnet <NUM>.

The vector control is a type of motor control method in which a current supplied to the coil <NUM> of the motor <NUM> is broken down into a current component (excitation current) that generates a magnetic flux and a current component (torque current) that generates a torque (rotational power) and in which these current components are controlled independently of each other.

At least one of the current measured values id1, iq1 is used for both purposes of performing the vector control and determining whether or not any impact operation is being performed. This allows a part of a circuit for performing the vector control and a part of a circuit for determining whether or not any impact operation is being performed to be shared. This contributes to reducing the areas and dimensions of circuits provided for the impact tool <NUM> and cutting down the cost required for the circuits. In addition, this also improves the accuracy of detection compared to, for example, a situation where a measured value of the output current of the power supply unit <NUM> of the impact tool <NUM> is used to determine whether or not any impact operation is being performed.

As shown in <FIG>, the impact tool <NUM> includes a power supply unit <NUM>, the motor <NUM>, a motor rotation measuring unit <NUM>, the transmission mechanism <NUM>, the output shaft <NUM>, a socket <NUM>, and the tip tool <NUM>. In addition, the impact tool <NUM> further includes a trigger switch <NUM> and the control unit <NUM>. The control unit <NUM> includes the impact detection unit <NUM> for determining whether or not the impact mechanism <NUM> is performing any impact operation.

The output shaft <NUM> is a part that rotates upon receiving the driving force transmitted from the motor <NUM> via the transmission mechanism <NUM>. The socket <NUM> is fixed to the output shaft <NUM>. The tip tool <NUM> is attached removably to the socket <NUM>. The tip tool <NUM> rotates along with the output shaft <NUM>. The impact tool <NUM> is designed to rotate the tip tool <NUM> by turning the output shaft <NUM> with the driving force applied by the motor <NUM>. That is to say, the impact tool <NUM> is a tool for driving the tip tool <NUM> with the driving force applied by the motor <NUM>. The tip tool <NUM> (also called a "bit") may be a screwdriver bit or a drill bit, for example. One of various types of tip tools <NUM> is selected depending on the intended use and attached to the socket <NUM> for the intended use. Alternatively, the tip tool <NUM> may be directly attached to the output shaft <NUM>.

The impact tool <NUM> according to this embodiment includes the socket <NUM>, thus making the tip tool <NUM> replaceable depending on the intended use. However, the tip tool <NUM> does not have to be replaceable. Alternatively, the impact tool <NUM> may also be an impact tool designed to allow the use of only a particular type of tip tool <NUM>, for example.

The tip tool <NUM> according to this embodiment is a screwdriver bit for tightening or loosening a fastening member <NUM> (screw). More specifically, the tip tool <NUM> is a plus screwdriver bit, of which a tip portion <NUM> is formed in a + (plus) shape. That is to say, the output shaft <NUM> holds the screwdriver bit for tightening or loosening a screw and rotates upon receiving motive power from the motor <NUM>. In the following description, a situation where the screw is tightened by the impact tool <NUM> will be described as an example. Note that any type of screw may be used without limitation. The screw may be a bolt, a screw, or a nut, for example. If the operation mode of the control unit <NUM> is the first mode (to be described later), a wood screw is particularly suitably used as the fastening member <NUM>. In the first mode, the control unit <NUM> places a limit on the increase in the number N1 of revolutions of the motor <NUM> before the impact detection unit <NUM> detects any impact operation. As shown in <FIG>, the fastening member <NUM> according to this embodiment is a wood screw. The fastening member <NUM> includes a head portion <NUM>, a cylindrical portion <NUM>, and a thread portion <NUM>. The head portion <NUM> is connected to a first end of the cylindrical portion <NUM>. The thread portion <NUM> is connected to a second end of the cylindrical portion <NUM>. The head portion <NUM> has a screw hole (such as a plus (+) hole) that fits the tip tool <NUM>. The thread portion <NUM> has a thread thereon.

The tip tool <NUM> fits the fastening member <NUM>. That is to say, the tip tool <NUM> is inserted into the screw hole on the head portion <NUM> of the fastening member <NUM>. In this state, the tip tool <NUM> is caused to rotate by being driven by the motor <NUM>, thereby turning the fastening member <NUM>. In this manner, the fastening member <NUM> (wood screw) is screwed into a target member (such as a wall member) of screwing while forming a hole and a thread groove in the workpiece of screwing. That is to say, the tip tool <NUM> applies tightening (or loosening) force to the fastening member <NUM>.

The power supply unit <NUM> supplies a current for driving the motor <NUM>. The power supply unit <NUM> may be a battery pack, for example. The power supply unit <NUM> may include, for example, either a single secondary battery or a plurality of secondary batteries.

The transmission mechanism <NUM> includes a planetary gear mechanism <NUM>, a drive shaft <NUM>, and the impact mechanism <NUM>. The transmission mechanism <NUM> transmits the rotational power of the rotary shaft <NUM> of the motor <NUM> to the output shaft <NUM>. More specifically, the transmission mechanism <NUM> regulates the rotational power of the rotary shaft <NUM> of the motor <NUM> and outputs the rotational power thus regulated as the rotational power of the output shaft <NUM>.

The rotary shaft <NUM> of the motor <NUM> is connected to the planetary gear mechanism <NUM>. The drive shaft <NUM> is connected to the planetary gear mechanism <NUM> and the impact mechanism <NUM>. The planetary gear mechanism <NUM> reduces the rotational power of the rotary shaft <NUM> of the motor <NUM> at a predetermined reduction ratio and outputs the rotational power thus reduced as the rotational power of the drive shaft <NUM>.

The impact mechanism <NUM> is coupled to the output shaft <NUM>. The impact mechanism <NUM> transmits the rotational power (of the rotary shaft <NUM>) of the motor <NUM>, which has been received via the planetary gear mechanism <NUM> and the drive shaft <NUM>, to the output shaft <NUM>. In addition, the impact mechanism <NUM> also performs an impact operation of applying impacting force to the output shaft <NUM>.

The impact mechanism <NUM> includes a hammer <NUM>, an anvil <NUM>, and a spring <NUM>. The hammer <NUM> is attached to the drive shaft <NUM> via a cam mechanism. The anvil <NUM> is in contact with, and rotates along with, the hammer <NUM>. The spring <NUM> biases the hammer <NUM> toward the anvil <NUM>. The anvil <NUM> is formed integrally with the output shaft <NUM>. Alternatively, the anvil <NUM> may also be formed separately from, and be fixed to, the output shaft <NUM>.

Unless a load (torque) with a predetermined magnitude or more is applied to the output shaft <NUM>, the impact mechanism <NUM> causes the output shaft <NUM> to turn continuously with the rotational power of the motor <NUM>. That is to say, in that case, the drive shaft <NUM> and the hammer <NUM> that are coupled to each other via the cam mechanism rotate along with each other and the hammer <NUM> and the anvil <NUM> also rotate with each other. Thus, the output shaft <NUM> formed integrally with the anvil <NUM> rotates.

On the other hand, upon the application of a load with the predetermined magnitude or more to the output shaft <NUM>, the impact mechanism <NUM> performs an impact operation. In performing the impact operation, the impact mechanism <NUM> generates impacting force by transforming the rotational power of the motor <NUM> into pulses of torque. That is to say, while the impact operation is being performed, the hammer <NUM> retreats by overcoming the biasing force applied by the spring <NUM> (i.e., goes away from the anvil <NUM>) while being regulated by the cam mechanism between the drive shaft <NUM> and the hammer <NUM> itself. At a point in time when the hammer <NUM> retreats to be decoupled from the anvil <NUM>, the hammer <NUM> starts advancing (i.e., toward the output shaft <NUM>) while rotating, thereby applying impacting force to the anvil <NUM> in the rotational direction and causing the output shaft <NUM> to rotate. That is to say, the impact mechanism <NUM> applies rotational impact around the axis (output shaft <NUM>) to the output shaft <NUM> via the anvil <NUM>. While the impact mechanism <NUM> is performing the impact operation, the hammer <NUM> repeatedly performs the operation of applying impacting force to the anvil <NUM> in the rotational direction. Every time the hammer <NUM> advances and retreats, the impacting force is generated once.

The trigger switch <NUM> is an operating member for accepting the operation of controlling the rotation of the motor <NUM>. The motor <NUM> may be selectively activated (turned ON or OFF) by the operation of pulling the trigger switch <NUM>. In addition, the rotational velocity of the motor <NUM> is adjustable depending on the manipulative variable of the operation of pulling the trigger switch <NUM> (i.e., depending on how deep the trigger switch <NUM> is pulled). As a result, the rotational velocity of the output shaft <NUM> is adjustable depending on the manipulative variable of the operation of pulling the trigger switch <NUM>. The greater the manipulative variable is, the higher the rotational velocity of the motor <NUM> and the output shaft <NUM> becomes. The control unit <NUM> either starts or stops rotating the motor <NUM> and the output shaft <NUM>, and controls the rotational velocity of the motor <NUM> and the output shaft <NUM>, depending on the manipulative variable of the operation of pulling the trigger switch <NUM>. In this impact tool <NUM>, the tip tool <NUM> is coupled to the output shaft <NUM> via the socket <NUM>. In addition, the rotational velocity of the motor <NUM> and the output shaft <NUM> is controlled by operating the trigger switch <NUM>, thereby controlling the rotational velocity of the tip tool <NUM>.

The motor rotation measuring unit <NUM> measures the rotational angle of the motor <NUM>. As the motor rotation measuring unit <NUM>, a photoelectric encoder or a magnetic encoder may be adopted, for example.

The impact tool <NUM> includes an inverter circuit section <NUM> (see <FIG>). The inverter circuit section <NUM> supplies an electric current to the motor <NUM>. The control unit <NUM> is used along with the inverter circuit section <NUM> to control the operation of the motor <NUM> by feedback control.

The control unit <NUM> includes a computer system including one or more processors and a memory. At least some of the functions of the control unit <NUM> are performed by making the processor(s) of the computer system execute a program stored in the memory of the computer system. The program may be stored in the memory. The program may also be downloaded via a telecommunications line such as the Internet or distributed after having been stored in a non-transitory storage medium such as a memory card.

As shown in <FIG>, the control unit <NUM> includes a command value generating unit <NUM>, a velocity control unit <NUM>, a current control unit <NUM>, a first coordinate transformer <NUM>, a second coordinate transformer <NUM>, a flux control unit <NUM>, an estimation unit <NUM>, a step-out detection unit <NUM>, and the impact detection unit <NUM>. The impact tool <NUM> further includes a plurality of (e.g., two in the example illustrated in <FIG>) current sensors <NUM>, <NUM>.

Each of the plurality of current sensors <NUM>, <NUM> includes, for example, a hall element current sensor or a shunt resistor element. The plurality of current sensors <NUM>, <NUM> measure an electric current supplied from the power supply unit <NUM> (see <FIG>) to the motor <NUM> via the inverter circuit section <NUM>. In this embodiment, three-phase currents (namely, a U-phase current, a V-phase current, and a W-phase current) are supplied to the motor <NUM>. The plurality of current sensors <NUM>, <NUM> measure currents in at least two phases. In <FIG>, the current sensor <NUM> measures the U-phase current to output a current measured value iu<NUM> and the current sensor <NUM> measures the V-phase current to output a current measured value iv<NUM>.

The estimation unit <NUM> obtains a time derivative of the rotational angle θ1, measured by the motor rotation measuring unit <NUM>, of the motor <NUM> to calculate an angular velocity ω1 of the motor <NUM> (i.e., the angular velocity of the rotary shaft <NUM>).

An acquisition unit <NUM> is made up of the two current sensors <NUM>, <NUM> and the second coordinate transformer <NUM>. The acquisition unit <NUM> acquires a d-axis current (excitation current) and a q-axis current (torque current), both of which are to be supplied to the motor <NUM>. That is to say, the current measured value id1 of the d-axis current and the current measured value iq1 of the q-axis current are calculated by having two-phase currents measured by the two current sensors <NUM>, <NUM> transformed by the second coordinate transformer <NUM>.

The second coordinate transformer <NUM> performs, based on the rotational angle θ1, measured by the motor rotation measuring unit <NUM>, of the motor <NUM>, coordinate transformation on the current measured values iu<NUM>, iv<NUM> measured by the plurality of current sensors <NUM>, <NUM>, thereby calculating current measured values id1, iq1. That is to say, the second coordinate transformer <NUM> transforms the current measured values iu<NUM>, iv<NUM>, corresponding to currents in two out of three phases, into a current measured value id1 corresponding to a magnetic field component (d-axis current) and a current measured value iq1 corresponding to a torque component (q-axis current).

The command value generating unit <NUM> generates a command value cω1 for the angular velocity of the motor <NUM>. The command value generating unit <NUM> may generate, for example, a command value cω1 representing a manipulative variable that indicates how deep the trigger switch <NUM> (see <FIG>) has been pulled. That is to say, as the manipulative variable increases, the command value generating unit <NUM> increases the command value cω1 of the angular velocity accordingly.

The velocity control unit <NUM> generates a command value ciq1 based on the difference between the command value cω1 generated by the command value generating unit <NUM> and the angular velocity ω1 calculated by the estimation unit <NUM>. The command value ciq1 is a command value specifying the magnitude of a torque current (q-axis current) of the motor <NUM>. The velocity control unit <NUM> determines the command value ciq1 to reduce the difference between the command value cω1 and the angular velocity ω1. More specifically, the velocity control unit <NUM> determines the command value ciq1 such that the difference becomes equal to or less than a predetermined first threshold value.

The flux control unit <NUM> generates a command value cid1 based on the angular velocity ω1 calculated by the estimation unit <NUM>, a command value cvql (to be described later) generated by the current control unit <NUM>, and the current measured value iq1. The command value cid1 is a command value that specifies the magnitude of the excitation current (d-axis current) of the motor <NUM>. That is to say, the control unit <NUM> controls the operation of the motor <NUM> to bring the excitation current (d-axis current) to be supplied to the coil <NUM> of the motor <NUM> closer toward the command value cid1.

In this embodiment, the command value cid1 generated by the flux control unit <NUM> may be, for example, a command value to set the magnitude of the excitation current at zero. The flux control unit <NUM> may generate the command value cid1 to set the magnitude of the excitation current at zero constantly or may generate a command value cid1 to set the magnitude of the excitation current at a value greater or smaller than zero only as needed. When the command value cid1 of the excitation current becomes smaller than zero, a negative excitation current (i.e., a flux-weakening current) flows through the motor <NUM>.

The current control unit <NUM> generates a command value cvdl based on the difference between the command value cid1 generated by the flux control unit <NUM> and the current measured value id1 calculated by the second coordinate transformer <NUM>. The command value cvdl is a command value that specifies the magnitude of d-axis voltage of the motor <NUM>. The current control unit <NUM> determines the command value cvdl to reduce the difference between the command value cid1 and the current measured value id1. More specifically, the current control unit <NUM> determines the command value cvdl such that the difference becomes equal to or less than a predetermined second threshold value.

In addition, the current control unit <NUM> also generates a command value cvql based on the difference between the command value ciq1 generated by the velocity control unit <NUM> and the current measured value iq1 calculated by the second coordinate transformer <NUM>. The command value cvql is a command value that specifies the magnitude of q-axis voltage of the motor <NUM>. The current control unit <NUM> generates the command value cvql to reduce the difference between the command value ciq1 and the current measured value iq1. More specifically, the current control unit <NUM> determines the command value cvql such that the difference becomes equal to or less than a predetermined third threshold value.

The first coordinate transformer <NUM> performs coordinate transformation on the command values cvdl, cvq1 based on the rotational angle θ1, measured by the motor rotation measuring unit <NUM>, of the motor <NUM> to calculate command values cvu<NUM>, cvv<NUM>, cvw<NUM>. Specifically, the first coordinate transformer <NUM> transforms the command value cvdl for a magnetic field component (d-axis voltage) and the command value cvql for a torque component (q-axis voltage) into command values cvu<NUM>, cvv<NUM>, cvw<NUM> corresponding to voltages in three phases. Specifically, the command value cvu<NUM> corresponds to a U-phase voltage, the command value cvv<NUM> corresponds to a V-phase voltage, and the command value cvw<NUM> corresponds to a W-phase voltage.

The control unit <NUM> controls the power to be supplied to the motor <NUM> by performing pulse width modulation (PWM) control on the inverter circuit section <NUM>. Thus, the inverter circuit section <NUM> supplies voltages in three phases, corresponding to the command values cvu<NUM>, cvv<NUM>, cvw<NUM>, respectively, to the motor <NUM>.

The motor <NUM> is driven with the power (voltages in three phases) supplied from the inverter circuit section <NUM>, thus generating rotational power.

As a result, the control unit <NUM> controls the excitation current such that the excitation current flowing through the coil <NUM> of the motor <NUM> comes to have a magnitude corresponding to the command value cid1 generated by the flux control unit <NUM>. In addition, the control unit <NUM> also controls the angular velocity of the motor <NUM> such that the angular velocity of the motor <NUM> becomes an angular velocity corresponding to the command value cω1 generated by the command value generating unit <NUM>.

The step-out detection unit <NUM> detects a step-out (loss of synchronism) of the motor <NUM> based on the current measured values id1, iq1 acquired from the second coordinate transformer <NUM> and the command values cvdl, cvql acquired from the current control unit <NUM>. On detecting the step-out, the step-out detection unit <NUM> transmits a stop signal cs1 to the inverter circuit section <NUM>, thus having the supply of power from the inverter circuit section <NUM> to the motor <NUM> stopped.

The impact detection unit <NUM> determines whether or not the impact mechanism <NUM> is performing any impact operation. The impact detection unit <NUM> will be described in detail later.

Next, the vector control performed by the control unit <NUM> will be described in further detail. <FIG> shows an analysis model of the vector control. In <FIG>, shown are armature winding fixed axes for the U-, V-, and W-phases. According to the vector control, a rotational coordinate system rotating at the same rotational velocity as a magnetic flux generated by the permanent magnet <NUM> provided for the rotor <NUM> of the motor <NUM> is taken into account. In the rotational coordinate system, the direction of the magnetic flux generated actually by the permanent magnet <NUM> is defined by a d-axis and a coordinate axis corresponding to the control of the motor <NUM> by the control unit <NUM> and corresponding to the d-axis is defined by a γ-axis. A q-axis is set at a phase leading by an electrical angle of <NUM> degrees with respect to the d-axis. A δ-axis is set at a phase leading by an electrical angle of <NUM> degrees with respect to the γ-axis.

The dq axes have rotated and their rotational velocity is designated by ω. The γδ axes have also rotated and their rotational velocity is designated by ωe. Note that ωe in <FIG> corresponds with ω1 shown in <FIG>. Also, in the dq axes, the d-axis angle (phase) as viewed from the U-phase armature winding fixed axis is designated by θ. In the same way, in the γδ axes, the γ-axis angle (phase) as viewed from the U-phase armature winding fixed axis is designated by θe. Note that θe in <FIG> corresponds with θ1 shown in <FIG>. The angles designated by θ and θe are angles as electrical angles and are generally called "rotor positions" or "magnetic pole positions. " The rotational velocities designated by ω and ωe are angular velocities represented by electrical angles.

If θ and θe agree with each other, the d-axis and the q-axis agree with the γ-axis and the δ-axis, respectively. Basically, the control unit <NUM> performs the vector control such that θ and θe agree with each other. Thus, in a situation where the command value cid1 of the d-axis current is zero, as the load applied to the motor <NUM> increases or decreases, the control unit <NUM> performs control to compensate for the difference thus caused between θ and θe, and therefore, the current measured value id1 of the d-axis current comes to have a positive or negative value. Specifically, right after the load applied to the motor <NUM> has decreased, the current measured value id1 of the d-axis current comes to have a positive value. The instant the load applied to the motor <NUM> increases, the current measured value id1 comes to have a negative value.

The impact mechanism <NUM> performs an impact operation according to the magnitude of torque applied to the output shaft <NUM>. The impact detection unit <NUM> determines, based on at least one of a torque current to be supplied to the coil <NUM> of the motor <NUM> or an excitation current to be supplied to the coil <NUM> of the motor <NUM>, whether or not the impact mechanism <NUM> is performing the impact operation. Next, it will be described with reference to <FIG> and <FIG> how the impact detection unit <NUM> may determine whether or not the impact operation is being performed. In <FIG> and <FIG>, N1 indicates the number of revolutions of the (rotor <NUM> of the) motor <NUM> and cN1 indicates the command value of the number of revolutions of the motor <NUM>. That is to say, the command value cN1 is a value obtained by converting an angular velocity command value cω1 of the motor <NUM> into the number of revolutions.

In this embodiment, the control unit <NUM> has, as mutually switchable operation modes, a first mode and a second mode. In the first mode, the control unit <NUM> places a limit on an increase in the number N1 of revolutions of the motor <NUM> before the impact detection unit <NUM> detects the impact operation. In addition, in the first mode, when the impact detection unit <NUM> detects the impact operation, the control unit <NUM> removes the limit on the increase in the number N1 of revolutions of the motor <NUM>. Thus, in the second mode, the control unit <NUM> keeps the limit on the increase in the number N1 of revolutions of the motor <NUM> removed.

Therefore, the impact detection unit <NUM> may determine, at least when the operation mode of the control unit <NUM> is the first mode, whether or not the impact mechanism <NUM> is performing any impact operation. In the following description of an exemplary embodiment, the impact detection unit <NUM> is supposed to determine, irrespective of the operation mode of the control unit <NUM>, whether or not the impact mechanism <NUM> is performing the impact operation. <FIG> is a graph showing the results obtained when the operation mode of the control unit <NUM> is the second mode. <FIG> is a graph showing the results obtained when the operation mode of the control unit <NUM> is the first mode.

Note that the impact tool <NUM> includes a first user interface for accepting the user's operating command, for example. The first user interface may be, for example, a button, a slide switch, or a touchscreen panel. In accordance with the user's operating command entered through the first user interface, the control unit <NUM> switches the operation mode from the first mode to the second mode, and vice versa. For example, the user sets the operation mode of the control unit <NUM> at the first mode if the fastening member <NUM> is a wood screw and sets the operation mode of the control unit <NUM> at the second mode otherwise.

Optionally, the first user interface may display some marker representing a wood screw at a location where switch to the first mode is supposed to be made. Examples of such markers include a character string such as "wood screw" or "wood screw mode" or an icon, picture, or photograph representing a wood screw. Such a marker may be provided on a mechanical button or a button displayed on the screen of the touchscreen panel for use to switch the operation mode to the first mode. Alternatively, the marker may also be provided beside the button. Still alternatively, the marker may also be provided beside the location of a slide switch when the operation mode is the first mode.

The impact detection unit <NUM> determines, based on at least one of a current measured value id1 of an excitation current or a current measured value iq1 of a torque current, whether or not any impact operation is being performed. In this embodiment, the impact detection unit <NUM> determines, based on both the current measured values id1, iq1, whether or not the impact operation is being performed.

More specifically, as for the current measured value id1, the impact detection unit <NUM> determines whether or not the following first condition is satisfied. The first condition is that the amplitude of the current measured value id1 be greater than a predetermined d-axis threshold value. The amplitude of the current measured value id1 is herein defined to be a half of the difference between the maximum and minimum values per unit time of the current measured value id1, for example. The impact detection unit <NUM> may determine, for example, every time a predetermined unit time passes, whether or not the first condition is satisfied. The amplitude A1 shown in <FIG> and <FIG> is double the amplitude of the current measured value id1 which is defined by the current measured values id1 at respective points in time until the predetermined unit time (of a few milliseconds to several ten milliseconds, for example) passes since a certain point in time t1.

In this manner, the impact detection unit <NUM> determines, based on the amplitude of the current measured value id1 (of excitation current), whether or not the impact operation is being performed.

On the other hand, as for the current measured value iq1, the impact detection unit <NUM> determines whether or not the following second condition is satisfied. The second condition is that the magnitude of decrease per unit time (of several ten milliseconds, for example) in the current measured value iq1 be greater than a predetermined q-axis threshold value. The impact detection unit <NUM> may determine, for example, every time the predetermined time passes, whether or not the second condition is satisfied.

In this manner, the impact detection unit <NUM> determines, based on the magnitude of decrease per predetermined time in the current measured value iq1 (of a torque current), whether or not the impact operation is being performed.

When finding the interval between a point in time when one of the first and second conditions is satisfied and a point in time when the other condition is satisfied equal to or less than a predetermined time threshold value, for example, the impact detection unit <NUM> outputs a result of detection indicating that the impact mechanism <NUM> is performing the impact operation. Otherwise, the impact detection unit <NUM> outputs a result of detection indicating that the impact mechanism <NUM> is not performing the impact operation.

That is to say, the load applied to the motor <NUM> increases and decreases incessantly. Once the impact operation has started to be performed, the magnitude of the increase or decrease in the load applied to the motor <NUM> rises, thus widening the difference between θ and θe and causing an increase in the amplitude of the current measured value id1 of the excitation current. In addition, once the impact operation has started to be performed, the load applied to the motor <NUM> falls while repeatedly increasing and decreasing, thus causing a decrease in the current measured value iq1 of the torque current. The impact detection unit <NUM> determines, by seeing based on the first and second conditions if any such change has occurred, whether or not the impact operation is being performed.

Threshold values such as the d-axis threshold value and the q-axis threshold value may be stored in advance in, for example, a memory of a microcontroller serving as the control unit <NUM>.

Note that it is not until a predetermined mask period Tm1 has passed since the motor <NUM> started (started running) that the impact detection unit <NUM> starts determining whether or not the impact mechanism <NUM> is performing any impact operation. This may reduce the chances of the impact detection unit <NUM> detecting the impact operation erroneously during the mask period Tm1.

In <FIG>, after the motor <NUM> has started running at a point in time t0, the impact mechanism <NUM> starts performing the impact operation at a point in time t1. Once the impact operation has started to be performed, the amplitude of the current measured value id1 increases from the point in time t1 on. Meanwhile, the current measured value iq1 decreases from the point in time t1 through a point in time t2. In at least a part of the interval between the points in time t1 and t2, the impact detection unit <NUM> may detect, based on the first and second conditions, the impact operation. In <FIG>, the operation mode of the control unit <NUM> is the second mode, and therefore, the control of the motor <NUM> by the control unit <NUM> is not affected, no matter whether the impact operation is detected or not.

In <FIG>, as well as in <FIG>, after the motor <NUM> has started running at a point in time t0, the impact mechanism <NUM> starts performing the impact operation at a point in time t1. Next, at a point in time t2 following the point in time t1, the impact detection unit <NUM> outputs a result of detection indicating that the impact mechanism <NUM> is performing an impact operation.

<FIG> is a graph showing the results of detection obtained when the operation mode of the control unit <NUM> is the first mode. In the first mode, the control unit <NUM> places a limit on the increase in the number N1 of revolutions of the motor <NUM> before the impact detection unit <NUM> detects the impact operation. Specifically, before the impact detection unit <NUM> detects the impact operation (i.e., from the point in time t0 through the point in time t2), the command value cN1 of the number N1 of revolutions of the motor <NUM> is equal to or less than an upper limit value U1. More specifically, when the user pulls the trigger switch <NUM> to the maximum depth, the command value cN1 becomes equal to the upper limit value U1. This allows the control unit <NUM> to limit the number N1 of revolutions of the motor <NUM> to a predetermined upper limit value U1 or less before the impact detection unit <NUM> detects the impact operation. That is to say, at this time, the control unit <NUM> places a limit on the increase in the number N1 of revolutions of the motor <NUM>. As used herein, "limiting the number N1 of revolutions of the motor <NUM> to the predetermined upper limit value U1 or less" only requires that the number N1 of revolutions be equal to or less than the upper limit value U1 at least in a steady state. Thus, the number N1 of revolutions may temporarily exceed the upper limit value U1. For example, immediately after the number N1 of revolutions increasing has reached the upper limit value U1, the number N1 of revolutions may exceed the upper limit value U1 just temporarily as shown in <FIG>.

When the impact detection unit <NUM> detects the impact operation, the control unit <NUM> allows the number N1 of revolutions of the motor <NUM> to exceed the upper limit value U1 according to the manipulative variable of the trigger switch <NUM> (i.e., depending on how deep the trigger switch <NUM> has been pulled). Thus, the control unit <NUM> removes the limit on the increase in the number N1 of revolutions of the motor <NUM>. More specifically, when the impact detection unit <NUM> detects the impact operation, the control unit <NUM> updates the state where the command value cN1 of the number N1 of revolutions of the motor <NUM> is limited to the upper limit value U1 or less into a state where the command value cN1 of the number N1 of revolutions of the motor <NUM> is limited to another limit value U2 or less, where the limit value U2 is greater than the upper limit value U1. In this manner, the control unit <NUM> lifts the restriction that the number N1 of revolutions of the motor <NUM> should not increase to exceed the upper limit value U1. In the state where the control unit <NUM> limits the command value cN1 to the limit value U2 or less, when the user pulls the trigger switch <NUM> to the maximum depth, the command value cN1 becomes equal to the limit value U2.

Specifically, the upper limit value U1 and the limit value U2 may be <NUM> rpm and <NUM> rpm, respectively. Alternatively, the upper limit value U1 and the limit value U2 may also be <NUM> rpm and <NUM> rpm, respectively.

In the first mode, the number N1 of revolutions of the motor <NUM> may be kept lower, no matter how deep the trigger switch <NUM> is pulled, than in a situation where the command value cN1 of the number N1 of revolutions of the motor <NUM> is limited to the limit value U2 or less from the beginning. This makes it easier to stabilize the orientation of the fastening member <NUM> before the impact operation is started. If the fastening member <NUM> is a wood screw, for example, then the number N1 of revolutions may be kept relatively low until a tip part of the fastening member <NUM> is screwed to a certain depth or more into a target member (such as a wall member) into which the fastening member <NUM> should be screwed. Consequently, this makes it easier to stabilize the orientation of the fastening member <NUM>.

In addition, keeping the number N1 of revolutions of the motor <NUM> relatively low may also reduce the chances of causing a "come out" phenomenon. As used herein, the "come out" phenomenon refers to an unintentional disengagement of the tip tool <NUM> out of the fastening member <NUM> while the motor <NUM> is running (rotating). That is to say, if the tip portion <NUM> of the tip tool <NUM> which has been inserted into the screw hole of the fastening member <NUM> has come out of the screw hole while the motor <NUM> is running (rotating), then the "come out" phenomenon has occurred.

In addition, the first mode also enables having the work done in a shorter time since the impact operation has been started, compared to a situation where the command value cN1 of the number N1 of revolutions of the motor <NUM> is kept limited to the upper limit value U1 or less as shown in <FIG>.

Next, an exemplary operation of the impact tool <NUM> in a situation where the operation mode of the control unit <NUM> is the first mode will be described with reference to <FIG>.

At a point in time t0, the user pulls the trigger switch <NUM> to cause the motor <NUM> to start running. When the motor <NUM> starts running, the command value cN1 of the number N1 of revolutions of the motor <NUM> is limited to the upper limit value U1 or less. After the mask period Tm1 has passed since the motor <NUM> started running, the impact mechanism <NUM> starts performing the impact operation at a point in time t1.

Next, at a point in time t2, the impact detection unit <NUM> outputs a result of detection indicating that the impact mechanism <NUM> is performing the impact operation. Then, the control unit <NUM> updates the state where the command value cN1 of the number N1 of revolutions of the motor <NUM> is limited to the upper limit value U1 or less into a state where the command value cN1 of the number N1 of revolutions of the motor <NUM> is limited to another limit value U2 or less. From this point in time t2 on, the command value cN1 will be kept limited to the limit value U2 or less until the motor <NUM> stops running.

In this case, if the user has pulled the trigger switch <NUM> to the maximum depth, then the command value cN1 will increase to the limit value U2 from the point in time t2 on, thus causing an increase in the number N1 of revolutions.

Then, at a point in time t3, the work of tightening the fastening member <NUM> is finished. That is to say, the fastening member <NUM> is screwed fully at the point in time t3. Thus, at the point in time t3, the user stops performing the operation of pulling the trigger switch <NUM>. As a result, the command value cN1 decreases to <NUM> rpm, and therefore, the number N1 of revolutions goes <NUM> rpm. That is to say, the motor <NUM> stops running.

Next, an impact tool <NUM> according to a first variation will be described. In the following description, any constituent element of this first variation, having the same function as a counterpart of the embodiment described above, will be designated by the same reference numeral as that counterpart's, and description thereof will be omitted herein.

When the impact detection unit <NUM> detects the impact operation, the control unit <NUM> may not only lift the restriction that the command value cN1 of the number N1 of revolutions should be equal to or less than the upper limit value U1 but also increase the command value cN1 as well. That is to say, the control unit <NUM> increases the number N1 of revolutions indirectly by increasing the command value cN1.

For example, from a point in time when the impact detection unit <NUM> detects the impact operation, the control unit <NUM> may determine the command value cN1 provisionally depending on how deep the trigger switch <NUM> has been pulled and then increase the command value cN1. More specifically, the command value generating unit <NUM> of the control unit <NUM> increases the command value cN1 of the number N1 of revolutions substantially by increasing the command value cω1 of the angular velocity.

Optionally, the control unit <NUM> may determine the number N1 of revolutions that has been increased based on the number N1 of revolutions that has not been increased yet. For example, when the impact detection unit <NUM> detects the impact operation, the control unit <NUM> may calculate a new command value cN1 by multiplying the command value cN1 at the point in time when the impact detection unit <NUM> detects the impact operation by a predetermined first value which is greater than one (e.g., <NUM>). Alternatively, when the impact detection unit <NUM> detects the impact operation, the control unit <NUM> may calculate a new command value cN <NUM> by adding a predetermined second value (e.g., <NUM> rpm) to the command value cN1 at the point in time when the impact detection unit <NUM> detects the impact operation. Nevertheless, the control unit <NUM> adjusts the predetermined first or second value as appropriate such that the command value cN1 becomes equal to or less than the limit value U2.

Still alternatively, when the impact detection unit <NUM> detects the impact operation, the control unit <NUM> may set a setting as a new command value cN1. The setting is a value greater than the upper limit value U1 and equal to or less than the limit value U2. That is to say, when the impact detection unit <NUM> detects the impact operation, the control unit <NUM> may set the command value cN1 at a predetermined value, and thereby set the number N1 of revolutions at a predetermined number of revolutions.

This first variation enables, even when the trigger switch <NUM> has been pulled relatively shallowly, increasing the command value cN1 and the number N1 of revolutions.

Next, an impact tool <NUM> according to a second variation will be described. In the following description, any constituent element of this second variation, having the same function as a counterpart of the embodiment described above, will be designated by the same reference numeral as that counterpart's, and description thereof will be omitted herein.

The control unit <NUM> may control the number N1 of revolutions of the motor <NUM> toward a predetermined number of revolutions, no matter how deep the trigger switch <NUM> has been pulled. For example, in the interval between a point in time when the motor <NUM> started running in response to pulling of the trigger switch <NUM> and a point in time when the impact detection unit <NUM> detects the impact operation, the control unit <NUM> sets the command value cN1 of the number N1 of revolutions at a value equal to the upper limit value U1, thus reducing the chances of the number N1 of revolutions increasing to exceed the upper limit value U1. Also, when the impact detection unit <NUM> detects the impact operation, for example, the control unit <NUM> may set the command value cN1 at a value equal to the limit value U2. Thereafter, when the user stops pulling the trigger switch <NUM>, the control unit <NUM> sets the command value cN1 at <NUM> rpm.

This second variation makes the number N1 of revolutions of the motor <NUM> controllable without depending on the user's skill.

Next, other variations of the embodiment described above will be enumerated one after another. Optionally, the variations to be described below may be adopted in combination as appropriate. Alternatively, any of the variations to be described below may be combined as appropriate with any of the variations described above.

The functions of the impact tool <NUM> may also be implemented as, for example, a method for controlling the impact tool <NUM>, a (computer) program, or a non-transitory storage medium that stores the program thereon.

A method for controlling an impact tool <NUM> according to an aspect includes impact detection processing, a first control, and a second control. The impact detection processing includes determining, based on at least one of an excitation current (current measured value id1) to be supplied to the motor <NUM> or a torque current (current measured value iq1) to be supplied to the motor <NUM>, whether or not any impact operation is being performed. The first control includes placing a limit on an increase in the number N1 of revolutions of the motor <NUM> before the impact operation is detected in the impact detection processing. The second control includes removing the limit on the increase in the number N1 of revolutions of the motor <NUM> when the impact operation is detected in the impact detection processing.

Specifically, as shown in <FIG>, the control unit <NUM> first performs the first control to limit the command value cN1 of the number N1 of revolutions of the motor <NUM> to an upper limit value U1 or less (in Step ST1), thereby placing a limit on the increase in the number N1 of revolutions of the motor <NUM>. Next, the impact detection unit <NUM> determines whether or not the impact mechanism <NUM> is performing any impact operation (in Step ST2). When the impact detection unit <NUM> detects any impact operation (if the answer is YES in Step ST2), the control unit <NUM> updates the state where the command value cN1 of the number N1 of revolutions of the motor <NUM> is limited to the upper limit value U1 or less into a state where the command value cN1 of the number N1 of revolutions of the motor <NUM> is limited to a limit value U2 or less (in Step ST3). That is to say, the control unit <NUM> lifts the restriction that the number N1 of revolutions of the motor <NUM> should not increase to exceed the upper limit value U1.

A program according to another aspect is designed to cause one or more processors to perform the method for controlling the impact tool <NUM> described above.

The impact tool <NUM> according to the present disclosure includes a computer system. The computer system may include, as principal hardware components, a processor and a memory. Some of the functions of the impact tool <NUM> according to the present disclosure may be performed by making the processor execute a program stored in the memory of the computer system. The program may be stored in advance in the memory of the computer system. Alternatively, the program may also be downloaded through a telecommunications line or be distributed after having been recorded in some non-transitory storage medium such as a memory card, an optical disc, or a hard disk drive, any of which is readable for the computer system. The processor of the computer system may be made up of a single or a plurality of electronic circuits including a semiconductor integrated circuit (IC) or a large-scale integrated circuit (LSI). As used herein, the "integrated circuit" such as an IC or an LSI is called by a different name depending on the degree of integration thereof. Examples of the integrated circuits include a system LSI, a very-large-scale integrated circuit (VLSI), and an ultra-large-scale integrated circuit (ULSI). Optionally, a field-programmable gate array (FPGA) to be programmed after an LSI has been fabricated or a reconfigurable logic device allowing the connections or circuit sections inside of an LSI to be reconfigured may also be adopted as the processor. Those electronic circuits may be either integrated together on a single chip or distributed on multiple chips, whichever is appropriate. Those multiple chips may be aggregated together in a single device or distributed in multiple devices without limitation. As used herein, the "computer system" includes a microcontroller including one or more processors and one or more memories. Thus, the microcontroller may also be implemented as a single or a plurality of electronic circuits including a semiconductor integrated circuit or a large-scale integrated circuit.

Also, in the embodiment described above, the plurality of functions of the impact tool <NUM> are integrated together in a single housing. However, this is not an essential configuration for the impact tool <NUM>. Alternatively, those constituent elements of the impact tool <NUM> may be distributed in multiple different housings. Still alternatively, at least some functions of the impact tool <NUM> (e.g., some functions of the impact detection unit <NUM>) may be implemented as a cloud computing system as well.

The motor <NUM> may be an AC motor or a DC motor, whichever is appropriate.

The tip tool <NUM> does not have to be counted among the constituent elements of the impact tool <NUM>.

The tip tool <NUM> does not have to be a + (plus) screwdriver bit but may also be a - (minus) screwdriver bit. Alternatively, the tip tool <NUM> may even be a Torx® bit or a wrench bit.

The impact detection unit <NUM> may be provided separately from the control unit <NUM>. That is to say, a constituent element performing the control unit's <NUM> function of performing the vector control on the motor <NUM> and a constituent element performing the impact detection unit's <NUM> function of determining whether or not any impact operation is being performed may be provided separately from each other.

The motor rotation measuring unit <NUM> may be replaced with an acceleration sensor for measuring either the angular acceleration or circumferential acceleration of the rotary shaft <NUM> of the motor <NUM>.

The control unit <NUM> may have the function of changing at least one of the upper limit value U1 or the limit value U2. The impact tool <NUM> may include a second user interface for accepting the user's operating command, for example. The second user interface may be, for example, a button, a slide switch, or a touchscreen panel. In accordance with the user's operating command entered through the second user interface, the control unit <NUM> changes at least one of the upper limit value U1 or the limit value U2. Alternatively, the impact tool <NUM> may also include a reception unit for accepting a signal that has been input, for example. The reception unit receives the signal from an external device outside of the impact tool <NUM>. In response to the signal, the control unit <NUM> changes at least one of the upper limit value U1 or the limit value U2. The communication between the external device and the reception unit may be either wireless communication or wired communication, whichever is appropriate. Optionally, at least some constituent elements may be used in common between the second user interface and the first user interface.

When finding at least one of the first condition about the current measured value id1 or the second condition about the current measured value iq1 satisfied, the impact detection unit <NUM> may output a result of detection indicating that the impact mechanism <NUM> is performing the impact operation. Optionally, the impact detection unit <NUM> may determine, based on only the first condition, whether or not the impact operation is being performed. Alternatively, the impact detection unit <NUM> may determine, based on only the second condition, whether or not the impact operation is being performed.

Furthermore, the impact detection unit <NUM> may also use, as the second condition, a condition about the absolute value of the current measured value iq1. For example, the second condition defined by the impact detection unit <NUM> may be that the absolute value of the current measured value iq1 (instantaneous value) be greater than a predetermined threshold value. Then, when finding the first condition satisfied after the second condition has been satisfied, the impact detection unit <NUM> may output a result of detection indicating that the impact mechanism <NUM> is performing the impact operation. Alternatively, when finding the interval between a point in time when one of the first and second conditions is satisfied and a point in time when the other condition is satisfied equal to or less than a predetermined time threshold value, for example, the impact detection unit <NUM> may output a result of detection indicating that the impact mechanism <NUM> is performing the impact operation.

Still alternatively, the second condition defined by the impact detection unit <NUM> may also be that the absolute value of the current measured value iq1 have exceeded a predetermined threshold value and then the magnitude of decrease per predetermined time in the current measured value iq1 be greater than a predetermined q-axis threshold value. Then, when finding the interval between a point in time when one of the first and second conditions is satisfied and a point in time when the other condition is satisfied equal to or less than a predetermined time threshold value, for example, the impact detection unit <NUM> may output a result of detection indicating that the impact mechanism <NUM> is performing the impact operation.

As can be seen, the impact detection unit <NUM> may determine, based on at least one of the absolute value of the current measured value iq1 (of torque current) or the magnitude of decrease per predetermined time in the current measured value iq1 (of torque current), whether or not the impact operation is being performed.

Still alternatively, the impact detection unit <NUM> may also determine, based on not only at least one of the current measured values id1, iq1 but also the number N1 of revolutions of the motor <NUM>, whether or not the impact operation is being performed. That is to say, the impact detection unit <NUM> may determine, based on not only at least one of the first and second conditions but also the following third condition, whether or not the impact operation is being performed. Specifically, the third condition is that the number N1 of revolutions of the motor <NUM> overshoot. In other words, the third condition is that an overshoot waveform Nos1 (see <FIG>) be observed in the waveform representing the number N1 of revolutions of the motor <NUM>. As used herein, the "overshoot" means that a measured value is greater than a command value to a predetermined degree or more. Specifically, in <FIG>, once the impact mechanism <NUM> has started performing the impact operation at the point in time t1, the load applied to the motor <NUM> falls while repeatedly increasing and decreasing. Thus, the number N1 of revolutions temporarily increases to exceed the command value cN1. When the difference between the number N1 of revolutions and the command value cN1 becomes equal to or greater than a predetermined magnitude, the impact detection unit <NUM> decides that the third condition should be satisfied. When finding the first, second, and third conditions all satisfied within a predetermined period of time, for example, the impact detection unit <NUM> outputs a result of detection indicating that the impact mechanism <NUM> is performing the impact operation.

Optionally, the impact detection unit <NUM> may determine, based on the command value ciq1 instead of the current measured value iq1 of torque current, whether or not the impact operation is being performed. That is to say, in the exemplary embodiment and its variations described above, when a determination is made whether or not the impact operation is being performed, the current measured value iq1 may be replaced with the command value ciq1.

The embodiment and its variations described above may be specific implementations of the following aspects of the present disclosure.

An impact tool <NUM> according to a first aspect includes a motor <NUM>, a control unit <NUM>, an output shaft <NUM>, a transmission mechanism <NUM>, and an impact detection unit <NUM>. The control unit <NUM> performs vector control on the motor <NUM>. The output shaft <NUM> is to be coupled to a tip tool <NUM>. The transmission mechanism <NUM> transmits motive power of the motor <NUM> to the output shaft <NUM>. The transmission mechanism <NUM> includes an impact mechanism <NUM>. The impact mechanism <NUM> performs an impact operation according to magnitude of torque applied to the output shaft <NUM>. The impact mechanism <NUM> applies impacting force to the output shaft <NUM> while performing the impact operation. The impact detection unit <NUM> determines, based on at least one of an excitation current (current measured value id1) to be supplied to the motor <NUM> or a torque current (current measured value iq1) to be supplied to the motor <NUM>, whether or not the impact operation is being performed. The control unit <NUM> places a limit on an increase in a number N1 of revolutions of the motor <NUM> before the impact detection unit <NUM> detects the impact operation and removes the limit on the increase in the number N1 of revolutions of the motor <NUM> when the impact detection unit <NUM> detects the impact operation.

According to this configuration, a limit is placed on an increase in the number N1 of revolutions of the motor <NUM> before the impact mechanism <NUM> starts performing the impact operation, thus reducing the chances of a work target such as a screw being tilted with respect to a workpiece such a wall due to an excessive number N1 of revolutions and thereby improving the work efficiency. In addition, this also allows the number N1 of revolutions of the motor <NUM> to be increased once the impact mechanism <NUM> has started performing the impact operation, thus contributing to improving the work efficiency compared to a situation where the number N1 of revolutions cannot be increased.

In an impact tool <NUM> according to a second aspect, which may be implemented in conjunction with the first aspect, the impact detection unit <NUM> determines, based on an amplitude of the excitation current (current measured value id1), whether or not the impact operation is being performed.

This configuration allows the impact detection unit <NUM> to determine whether or not any impact operation is being performed.

In an impact tool <NUM> according to a third aspect, which may be implemented in conjunction with the first or second aspect, the impact detection unit <NUM> determines, based on at least one of an absolute value of the torque current (current measured value iq <NUM>) or magnitude of decrease per predetermined time in the torque current, whether or not the impact operation is being performed.

An impact tool <NUM> according to a fourth aspect, which may be implemented in conjunction with any one of the first to third aspects, further includes a trigger switch <NUM> to accept a user's operating command. The control unit <NUM> limits the number N1 of revolutions of the motor <NUM> to a predetermined upper limit value U1 or less before the impact detection unit <NUM> detects the impact operation and allows the number N1 of revolutions of the motor <NUM> to exceed the upper limit value U1 according to a manipulative variable of the trigger switch <NUM> when the impact detection unit <NUM> detects the impact operation.

This configuration allows the number N1 of revolutions of the motor <NUM> to be increased in accordance with the user's operating command after the impact operation has started to be performed.

In an impact tool <NUM> according to a fifth aspect, which may be implemented in conjunction with any one of the first to fourth aspects, the control unit <NUM> increases the number N1 of revolutions of the motor <NUM> when the impact detection unit <NUM> detects the impact operation.

This configuration allows the number N1 of revolutions of the motor <NUM> to be increased without the user's operation after the impact operation has started to be performed.

In an impact tool <NUM> according to a sixth aspect, which may be implemented in conjunction with the fifth aspect, the control unit <NUM> sets the number N1 of revolutions of the motor <NUM> at a predetermined number of revolutions when the impact detection unit <NUM> detects the impact operation.

This configuration enables setting the number N1 of revolutions of the motor <NUM> at an appropriate value without depending on the user's skill of operating the impact tool <NUM> after the impact operation has started to be performed.

In an impact tool <NUM> according to a seventh aspect, which may be implemented in conjunction with any one of the first to sixth aspects, the control unit <NUM> has, as mutually switchable operation modes, a first mode and a second mode. In the first mode, the control unit <NUM> places the limit on the increase in the number N1 of revolutions of the motor <NUM> before the impact detection unit <NUM> detects the impact operation. In the second mode, the control unit <NUM> keeps the limit on the increase in the number N1 of revolutions of the motor <NUM> removed.

This configuration enables selectively placing, depending on the necessity, a limit on the increase in the number N1 of revolutions of the motor <NUM>.

Note that the constituent elements according to the second to seventh aspects are not essential constituent elements for the impact tool <NUM> but may be omitted as appropriate.

A method for controlling an impact tool <NUM> according to an eighth aspect is a method for controlling an impact tool <NUM> including a motor <NUM>, a control unit <NUM>, an output shaft <NUM>, and a transmission mechanism <NUM>. The control unit <NUM> performs vector control on the motor <NUM>. The output shaft <NUM> is to be coupled to a tip tool <NUM>. The transmission mechanism <NUM> transmits motive power of the motor <NUM> to the output shaft <NUM>. The transmission mechanism <NUM> includes an impact mechanism <NUM>. The impact mechanism <NUM> performs an impact operation according to magnitude of torque applied to the output shaft <NUM>. The impact mechanism <NUM> applies impacting force to the output shaft <NUM> while performing the impact operation. The method for controlling the impact tool <NUM> includes impact detection processing, a first control, and a second control. The impact detection processing includes determining, based on at least one of an excitation current current measured value id1) to be supplied to the motor <NUM> or a torque current (current measured value iq1) to be supplied to the motor <NUM>, whether or not the impact operation is being performed. The first control includes placing a limit on an increase in a number N1 of revolutions of the motor <NUM> before the impact operation is detected in the impact detection processing. The second control includes removing the limit on the increase in the number N1 of revolutions of the motor <NUM> when the impact operation is detected in the impact detection processing.

This method enables improving the work efficiency.

A program according to a ninth aspect is designed to cause one or more processors to perform the method for controlling the impact tool <NUM> according to the eighth aspect.

Claim 1:
An impact tool (<NUM>) comprising:
a motor (<NUM>);
a control unit (<NUM>) configured to perform vector control on the motor (<NUM>);
an output shaft (<NUM>) configured to be coupled to a tip tool (<NUM>);
a transmission mechanism (<NUM>) including an impact mechanism (<NUM>) and configured to transmit motive power of the motor (<NUM>) to the output shaft (<NUM>), the impact mechanism (<NUM>) being configured to perform an impact operation of applying impacting force to the output shaft (<NUM>) according to magnitude of torque applied to the output shaft (<NUM>); and
an impact detection unit (<NUM>) configured to determine, based on at least one of an excitation current (id1) to be supplied to the motor (<NUM>) or a torque current (iq1) to be supplied to the motor (<NUM>), whether or not the impact operation is being performed,
the control unit (<NUM>) being configured to place a limit on an increase in a number (N1) of revolutions of the motor (<NUM>) before the impact detection unit (<NUM>) detects the impact operation and remove the limit on the increase in the number (N1) of revolutions of the motor (<NUM>) when the impact detection unit (<NUM>) detects the impact operation.