Motor control device, motor control method, and program

The motor control device improves positioning accuracy by integrating position sensor feedback to adjust drive signal generation, correcting deviations and ensuring the movable part reaches the intended target position accurately.

JP7762882B2Active Publication Date: 2025-10-31PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2022571605
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-12-23
Filing Date
2021-12-23
Publication Date
2025-10-31
Estimated Expiration
2041-12-23

AI Technical Summary

Technical Problem

Existing motor control devices struggle with positioning accuracy issues due to deviations between the target position and the actual position of a movable part, as they rely solely on encoder signals without adequate correction from position sensors.

Method used

A motor control device that generates drive signals based on both command and encoder signals, with a generation method change unit adjusting the signal generation method using position sensor feedback to correct deviations, and includes a switching unit to enable/disable this correction.

Benefits of technology

Enhances positioning accuracy by aligning the movable part with the actual target position, reducing adverse effects from sudden corrections and maintaining precise control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007762882000001
    Figure 0007762882000001
  • Figure 0007762882000002
    Figure 0007762882000002
  • Figure 0007762882000003
    Figure 0007762882000003
Patent Text Reader

Abstract

A motor control device (10) is provided with: a control unit (20) which generates a drive signal for driving a motor (50), on the basis of a command signal for bringing a movable unit (60) connected to the motor (50) to a target position, and an encoder signal indicating the position of the motor (50) as detected by an encoder (51), and outputting the generated drive signal to the motor (50); and a generation method changing unit (30) which changes the method for generating the drive signal by means of the control unit (20), on the basis of a position sensor signal indicating a detected target position, which is the position of the target position as detected by a position sensor (61) attached to the movable unit (60).
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a motor control device that controls a motor. [Background technology]

[0002] Patent Documents 1 and 2 disclose motor control devices that control a motor.

[0003] In the above-described conventional motor control device, the motor is controlled based on information detected by a sensor attached to a moving part connected to the motor. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent No. 6824593 [Patent Document 2] Japanese Patent Application Laid-Open No. 2005-267138 Summary of the Invention [Problem to be solved by the invention]

[0005] However, there is room for improvement in the motor devices disclosed in Patent Documents 1 and 2.

[0006] Therefore, an object of the present disclosure is to provide a motor control device and the like that can be further improved. [Means for solving the problem]

[0007] A motor control device according to one aspect of the present disclosure includes a control unit that generates a drive signal to drive the motor based on a command signal for moving a movable part connected to the motor to a target position and an encoder signal indicating the position of the motor detected by an encoder, and outputs the generated drive signal to the motor; and a generation method change unit that changes the method by which the control unit generates the drive signal based on a position sensor signal indicating a detected target position, which is the position of the target position detected by a position sensor attached to the movable part.

[0008] A motor control method according to one aspect of the present disclosure includes a control step of generating a drive signal for driving the motor based on a command signal for moving a movable part connected to the motor to a target position and an encoder signal indicating the position of the motor detected by an encoder, and outputting the generated drive signal to the motor; and a generation method change step of changing the method of generating the drive signal in the control step based on a position sensor signal indicating a detected target position, which is the position of the target position detected by a position sensor attached to the movable part.

[0009] A program according to one aspect of the present disclosure is a program for causing a motor control device that controls a motor to execute a motor control process, the motor control process including a control step of generating a drive signal to drive the motor based on a command signal for moving a movable part connected to the motor to a target position and an encoder signal indicating the position of the motor detected by an encoder, and outputting the generated drive signal to the motor; and a generation method change step of changing a generation method of the drive signal in the control step based on a position sensor signal indicating a detected target position, which is the position of the target position detected by a position sensor attached to the movable part. [Effects of the Invention]

[0010] The motor control device and the like according to one aspect of the present disclosure can be further improved. [Brief explanation of the drawings]

[0011] [Figure 1] FIG. 1 is a block diagram showing the configuration of a motor control system according to a first embodiment. [Figure 2] FIG. 2 is a flowchart of a first motor control process according to the first embodiment. [Figure 3] FIG. 3 is a schematic diagram showing a first specific example of operation performed by the motor control device according to the first embodiment. [Figure 4] FIG. 4 is a block diagram showing the configuration of a motor control system according to the second embodiment. [Figure 5] FIG. 5 is a flowchart of a second motor control process according to the second embodiment. [Figure 6] FIG. 6 is a block diagram showing the configuration of a motor control system according to the third embodiment. [Figure 7] FIG. 7 is a flowchart of a third motor control process according to the third embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0012] (How one aspect of the present disclosure was achieved) Even if the motor control device that controls the motor drives the motor based on a command signal to move the movable part connected to the motor to a target position and an encoder signal that indicates the position of the motor detected by the encoder, the position of the movable part may deviate from the actual target position.

[0013] The inventors have found the above problem and have come up with the following motor control device and the like to solve this problem.

[0014] A motor control device according to one aspect of the present disclosure includes a control unit that generates a drive signal to drive the motor based on a command signal for moving a movable part connected to the motor to a target position and an encoder signal indicating the position of the motor detected by an encoder, and outputs the generated drive signal to the motor; and a generation method change unit that changes the method by which the control unit generates the drive signal based on a position sensor signal indicating a detected target position, which is the position of the target position detected by a position sensor attached to the movable part.

[0015] The motor control device configured as described above changes the method of generating the drive signal that drives the motor in accordance with the target position detected by the position sensor attached to the movable part, thereby enabling the position of the movable part to become the actual target position.

[0016] In this way, the motor control device having the above configuration provides a motor control device that can be further improved.

[0017] Furthermore, the image processing device may further include a switching unit that switches between enabling and disabling the change of the generation method by the generation method changing unit.

[0018] This makes it possible to switch between valid and invalid changes in the method of generating a drive signal for driving the motor, depending on the target position detected by the position sensor.

[0019] Furthermore, when there is a difference between the target position and the detected target position, the generation method change unit may (1) generate a correction value that corrects the command signal so that the target position is changed by the difference, and (2) change the generation method so that the drive signal is generated based on the command signal corrected by the correction value and the encoder signal.

[0020] This allows the position of the movable part to be set to the target position using the command signal corrected by the correction value.

[0021] The generation method change unit may further output the correction value to a controller that generates the command signal.

[0022] This allows the controller to generate a command signal that reflects the correction value.

[0023] Furthermore, when there is a difference between the target position and the detected target position, the generation method change unit may (1) temporarily stop the motor, (2) generate a correction value that corrects the command signal so that the target position is changed by the difference after a first predetermined time has elapsed since the motor was temporarily stopped, and (3) change the generation method so that the drive signal is generated based on the command signal corrected by the correction value and the encoder signal.

[0024] According to the motor control device having the above configuration, the correction value is generated after the vibration of the movable part has subsided, thereby enabling the position of the movable part to be set to the target position with higher accuracy.

[0025] The generation method change unit may further output the correction value to a controller that generates the command signal.

[0026] This allows the controller to generate a command signal that reflects the correction value.

[0027] The generation method change unit may reset the correction value when a first predetermined condition is satisfied.

[0028] This makes it possible to prevent the correction value from becoming too large due to the accumulation of positional deviations of the movable part relative to the target position, while also suppressing the occurrence of adverse effects that may occur when the correction value is reset.

[0029] Furthermore, the first predetermined condition includes a condition that the motor is operating; The generation method change unit may reset the correction value during operation of the motor so that the correction value gradually approaches zero and finally reaches zero.

[0030] Generally, resetting the correction value while the motor is stopped can have adverse effects such as the motor suddenly starting to move.

[0031] The motor control device having the above configuration can suppress the occurrence of such adverse effects. Furthermore, the motor control device having the above configuration can suppress the occurrence of adverse effects that may occur when the correction value is set to zero all at once.

[0032] The generation method change unit may change the generation method so as to change a gain parameter for determining a gain of the drive signal relative to the command signal based on the position sensor signal and generate the drive signal.

[0033] This allows the gain parameters to be changed based on the position sensor signal.

[0034] The generation method change unit may also change the generation method based on an acceleration sensor signal indicating the acceleration of the movable part detected by an acceleration sensor attached to the movable part.

[0035] This allows the position of the movable part to be set to the target position with higher accuracy.

[0036] Furthermore, the image processing device may further include a switching unit that switches between enabling and disabling the change of the generation method by the generation method changing unit.

[0037] This makes it possible to switch between enabling and disabling the change in the method of generating the drive signal that drives the motor depending on the target position detected by the position sensor and the acceleration of the movable part detected by the acceleration sensor.

[0038] Furthermore, when there is a difference between the target position and the detected target position and the acceleration of the movable part indicated by the acceleration sensor signal is below a predetermined threshold for a second predetermined time period or more, the generation method change unit may (1) generate a correction value that corrects the command signal so that the target position is changed by the difference, and (2) change the generation method so that the drive signal is generated based on the command signal corrected by the correction value and the encoder signal.

[0039] According to the motor control device having the above configuration, the correction value can be generated after the vibration of the movable part has subsided, thereby enabling the position of the movable part to be set to the target position with higher accuracy.

[0040] The generation method change unit may also reset the correction value when a second predetermined condition is satisfied.

[0041] This makes it possible to prevent the correction value from becoming too large due to the accumulation of positional deviations of the movable part relative to the target position, while also suppressing the occurrence of adverse effects that may occur when the correction value is reset.

[0042] In addition, the second predetermined condition may include a condition that the motor is in operation, and the generation method change unit may reset the correction value while the motor is in operation so that the absolute value of the correction value gradually approaches zero and eventually becomes zero.

[0043] Generally, resetting the correction value while the motor is stopped can have adverse effects such as the motor suddenly starting to move.

[0044] The motor control device having the above configuration can suppress the occurrence of such adverse effects. Furthermore, the motor control device having the above configuration can suppress the occurrence of adverse effects that may occur when the correction value is set to zero all at once.

[0045] The generation method change unit may further output the correction value to a controller that generates the command signal.

[0046] This allows the controller to generate a command signal that reflects the correction value.

[0047] The generation method change unit may also change the generation method so as to generate the drive signal by changing a gain parameter for determining a gain of the drive signal relative to the command signal based on the position sensor signal and / or the acceleration sensor signal.

[0048] This allows the gain parameters to be changed based on the position sensor signal and / or the acceleration sensor signal.

[0049] A motor control method according to one aspect of the present disclosure includes a control step of generating a drive signal for driving the motor based on a command signal for moving a movable part connected to the motor to a target position and an encoder signal indicating the position of the motor detected by an encoder, and outputting the generated drive signal to the motor; and a generation method change step of changing the method of generating the drive signal in the control step based on a position sensor signal indicating a detected target position, which is the position of the target position detected by a position sensor attached to the movable part.

[0050] The motor control method changes the method of generating a drive signal for driving the motor in accordance with the target position detected by a position sensor attached to the movable part, thereby enabling the position of the movable part to be set to the actual target position.

[0051] In this way, the motor control method provides a motor control device that can be further improved.

[0052] A program according to one aspect of the present disclosure is a program for causing a motor control device that controls a motor to execute a motor control process, the motor control process including a control step of generating a drive signal to drive the motor based on a command signal for moving a movable part connected to the motor to a target position and an encoder signal indicating the position of the motor detected by an encoder, and outputting the generated drive signal to the motor; and a generation method change step of changing a generation method of the drive signal in the control step based on a position sensor signal indicating a detected target position, which is the position of the target position detected by a position sensor attached to the movable part.

[0053] The program changes the method of generating a drive signal for driving the motor in accordance with the target position detected by the position sensor attached to the movable part, thereby enabling the position of the movable part to be set to the actual target position.

[0054] In this way, the program provides a motor control device that can be further improved.

[0055] A specific example of a motor control device according to one aspect of the present disclosure will be described below with reference to the drawings. Each embodiment shown here represents one specific example of the present disclosure. Therefore, the numerical values, shapes, components, arrangement and connection of the components, steps (processes), and order of steps shown in the following embodiments are merely examples and are not intended to limit the present disclosure. Furthermore, each figure is a schematic diagram and is not necessarily an exact illustration. In each figure, substantially identical components are assigned the same reference numerals, and redundant explanations are omitted or simplified.

[0056] (Embodiment 1) A motor control system according to embodiment 1 will be described below. This motor control system controls a motor to move a movable part connected to the motor to a target position. This motor control system may be, for example, a production device that mounts components on a board.

[0057] <Configuration> FIG. 1 is a block diagram showing the configuration of a motor control system 1 according to the first embodiment.

[0058] As shown in FIG. 1, the motor control system 1 includes a motor control device 10, a motor 50, a moving part 60, a controller 70, an encoder 51, a position sensor 61, and an object 65.

[0059] The motor 50 is driven by a drive signal output from the motor control device 10. Here, the motor 50 is described as being a rotary motor. However, the motor 50 is not necessarily limited to being a rotary motor, and may be, for example, a linear motor.

[0060] The drive signal is, for example, a current for rotating the motor 50 .

[0061] The encoder 51 detects the position of the motor 50 and outputs an encoder signal indicating the detected position of the motor 50 to the motor control device 10.

[0062] The movable part 60 is connected to the motor 50. For example, when the motor control system 1 is a production device that mounts components on a board, the movable part 60 is a header that transports the components to a mounting position.

[0063] The controller 70 generates a command signal for moving the movable part 60 to a target position and outputs the generated command signal to the motor control device 10. The command signal may be, for example, a position command signal indicating a position command for moving the movable part 60 to the target position, a speed command signal indicating a speed command for moving the movable part 60 to the target position, an acceleration command signal indicating an acceleration command for moving the movable part 60 to the target position, or a torque command signal indicating a torque command for moving the movable part 60 to the target position.

[0064] The object 65 is placed at the target position. That is, the position of the object 65 becomes the target position.

[0065] The position sensor 61 is attached to the movable part 60, detects the position of the object 65, and outputs a position sensor signal indicating the detected position of the object 65 to the motor control device 10. In other words, the position sensor 61 detects a detected target position, which is the position of the target position, i.e., an actual target position, and outputs a sensor signal indicating the detected detected target position to the motor control device 10.

[0066] The position sensor 61 may be realized by, for example, an imaging device. In this case, the imaging device may, for example, capture an image of an imaging range, and when an object 65 is present within the imaging range, perform image processing on the captured image to calculate the position deviation of the movable part 60 with respect to the object 65 located at the target position, and use this as the detection target position.

[0067] Furthermore, the position sensor 61 may be realized by, for example, a displacement sensor. For example, the position sensor 61 may be realized by a transmissive laser displacement sensor, and when the object 65 is in a position where it blocks the laser, the position where the object 65 forms a predetermined light blocking amount or light blocking pattern may be set as a target position, and the positional deviation of the movable part 60 from the target position may be calculated and used as the detection target position.

[0068] The motor control device 10 receives a command signal, an encoder signal, and a position sensor signal, and outputs a drive signal.

[0069] Motor control device 10 may be realized, for example, by a computer device including a processor, memory, and an input / output interface, in which the processor executes a program stored in memory.Motor control device 10 may also be realized, for example, by a dedicated hardware circuit.Motor control device 10 may also be realized by a combination of a computer device in which a processor executes a program stored in memory, and the dedicated hardware circuit.

[0070] The motor control device 10 includes a control unit 20, a generation method change unit 30, and a switching unit 40.

[0071] The control unit 20 generates a motor drive signal for driving the motor 50 based on the command signal output from the controller 70 and the encoder signal output from the encoder 51, and outputs the generated motor drive signal to the motor 50.

[0072] The control unit 20 includes a drive signal generation unit 21 and a correction unit 22 .

[0073] The correction unit 22 stores the correction value output from the generation method change unit 30. Here, the correction value is a signal for correcting the command signal so that the target position is changed by the difference when there is a difference between the target position indicated by the command signal and the detected target position indicated by the position sensor signal. Here, it is assumed that the correction unit 22 stores a correction value indicating that the command signal is not to be corrected in the initial state. In addition, in this description, it is assumed that the correction value indicating that the command signal is not to be corrected is 0 (zero).

[0074] When a command signal is input, the correction unit 22 corrects the command signal based on the stored correction value, and outputs the corrected command signal (hereinafter also referred to as the “corrected command signal”) to the drive signal generation unit 21.

[0075] The correction unit 22 may reset the correction value (set it to an initial value) when a predetermined condition is satisfied. Here, the predetermined condition is preferably a condition that can suppress the occurrence of adverse effects that may occur due to resetting the correction value. The predetermined condition may be, for example, a condition that the motor 50 is in operation.

[0076] Generally, if the correction value is reset while the motor 50 is stopped, there is a risk of adverse effects such as the motor 50 suddenly starting to move. For this reason, the correction unit 22 can suppress the occurrence of such adverse effects by resetting the correction value while the motor 50 is operating.

[0077] Furthermore, the correction unit 22 may reset the correction value so that the correction value gradually approaches zero and finally reaches zero while the motor 50 is operating. This makes it possible to further suppress the occurrence of adverse effects that may occur when the correction value is set to zero all at once.

[0078] The drive signal generating unit 21 generates a drive signal by performing feedback control that feeds back the encoder signal output from the encoder 51 to the corrected command signal output from the correction unit 22, and outputs the generated drive signal to the motor 50.

[0079] The generation method change unit 30 changes the method of generating the drive signal by the control unit 20 based on the position sensor signal.

[0080] The generation method change unit 30 includes a correction value generation unit 31 and a gain change unit 32 .

[0081] When there is a difference between the target position indicated by the command signal and the detected target position indicated by the position sensor signal, the correction value generation unit 31 generates a correction value that corrects the command signal so that the target position is changed by the difference, and outputs the generated correction value to the correction unit 22.

[0082] The correction value generation unit 31 outputs the generated correction value to the correction unit 22, thereby updating the correction value stored in the correction unit 22. As a result, the correction value generation unit 31 changes the method of generating a drive signal by the control unit 20 so that the drive signal is generated based on the correction command value corrected by the updated correction value and the encoder signal.

[0083] The correction value generating unit 31 may output the generated correction value to the controller 70. This enables the controller 70 to generate a command signal that reflects the correction value.

[0084] The gain change unit 32 changes, based on the position sensor signal, a gain parameter of the drive signal generation unit 21, which is a gain parameter for determining the gain of the drive signal relative to the command signal. As a result, the gain change unit 32 changes the method of generating a drive signal by the control unit 20 so that the drive signal is generated with a gain determined by the changed gain parameter. The gain change unit 32 may change the gain parameter of the drive signal generation unit 21, for example, when the difference between the target position and the position of the movable part 60 indicated by the position sensor signal is equal to or greater than a predetermined value.

[0085] The switching unit 40 switches between enabling and disabling the change in the generation method of the drive signal by the control unit 20, which is made by the generation method changing unit 30.

[0086] The switching unit 40 may perform the above switching based on, for example, an instruction from the controller 70, or the switching unit 40 may have a function of accepting operations by a user using the motor control device 10 and perform the above switching based on the accepted user operation.

[0087] Here, as an example, the description will be given assuming that the generation method change unit 30 operates in either a first operation mode that enables the change of the drive signal generation method by the control unit 20, or a second operation mode that disables the change, and the switching unit 40 switches the operation mode of the generation method change unit 30 between the first operation mode and the second operation mode. In this way, the switching unit 40 switches between enabling and disabling the change of the drive signal generation method by the control unit 20 by the generation method change unit 30.

[0088] <Operation> The operation of the motor control device 10 configured as above will now be described.

[0089] Motor control device 10 executes a first motor control process to control motor 50 based on a command signal, an encoder signal, and a position sensor signal. The first motor control process is started, for example, when a user of motor control device 10 performs an operation on motor control device 10 to start the first motor control process.

[0090] FIG. 2 is a flowchart of a first motor control process performed by motor control device 10.

[0091] 2, when the first motor control process is started, the generation method change unit 30 checks whether the change of the drive signal generation method by the control unit 20, made by the generation method change unit 30, is valid (step S10). That is, the generation method change unit 30 checks whether its own operation mode is the first operation mode.

[0092] In the process of step S10, if the change in the generation method of the drive signal by the control unit 20 by the generation method change unit 30 is valid (step S10: Yes), the correction value generation unit 31 generates a correction value based on the difference between the target position indicated by the command signal and the detected target position indicated by the position sensor signal (step S20). That is, if there is a difference between the target position indicated by the command signal and the detected target position indicated by the position sensor signal, the correction value generation unit 31 generates a correction value that corrects the command signal so that the target position is changed by the difference.

[0093] When the processing of step S20 is completed, correction unit 22 stores the generated correction value, and when the change in the method of generating a drive signal by control unit 20 by generation method change unit 30 is not valid in the processing of step S10 (step S10: No), correction unit 22 stores the stored correction value as is (step S30). Then, correction unit 22 corrects the command signal based on the stored correction value, and outputs the corrected command signal to drive signal generation unit 21 (step S40).

[0094] Next, correction unit 22 checks whether (A) the conditions for resetting the stored correction value are satisfied, (B) the conditions for resetting the stored correction value are satisfied so that the stored correction value gradually approaches zero while motor 50 is operating and eventually becomes zero, or (C) neither the conditions for resetting the stored correction value nor the conditions for resetting the stored correction value are satisfied so that the stored correction value gradually approaches zero and eventually becomes zero, i.e., the conditions for retaining the stored correction value are satisfied (step S50).

[0095] In the process of step S50, if the condition for resetting the stored correction value is met (step S50: A), the correction unit 22 resets the stored correction value (step S60).

[0096] In the processing of step S50, if the condition for resetting the stored correction value so that it gradually approaches zero while the motor 50 is operating and finally reaches zero is met (step S50:B), the correction unit 22 checks whether the motor 50 is operating (step S70).

[0097] In the process of step S70, if the motor 50 is not in operation (step S70: No), the correction unit 22 repeats the process of step S70 until the motor 50 is in operation.

[0098] In the processing of step S70, if the motor 50 is operating (step S70: Yes), the correction unit 22 resets the stored correction value so that it gradually approaches zero and finally reaches zero depending on the amount of operation of the motor 50 (step S80).

[0099] In the process of step S50, if the condition for holding the stored correction value is met (step S50: C), the correction unit 22 holds the stored correction value without resetting it (step S90).

[0100] When the processing of step S60 is completed, when the processing of step S80 is completed, or when the processing of step S90 is completed, motor control device 10 ends its first motor control processing.

[0101] <Example> A first specific operation example, which is one example of a specific operation performed by the motor control device 10 configured as described above, will be described below.

[0102] FIG. 3 is a schematic diagram showing a first specific example of operation performed by motor control device 10. As shown in FIG.

[0103] In the first specific operation example, in sequence No. 1, the controller 70 outputs a control command to move the target position of the movable part 60 assumed by the controller 70 from the initial state of 0 (zero) to a position of 100, but the detected target position, i.e., the actual target position, is a position of 110. In sequence No. 2, the controller 70 outputs a control command to move the target position of the movable part 60 assumed by the controller 70 from the position of 100 to a position of 150, but because the change in the method of generating a drive signal by the control unit 20 by the generation method change unit 30 is valid, a drive signal is generated to maintain the position of the movable part 60 at 110. In sequence No. 3, the switching unit 40 switches the change in the method of generating the drive signal by the control unit 20 using the generation method change unit 30 from enabled to disabled, and the correction value of the correction unit 22 is cleared to 0, while the controller 70 continues to output a control command to move the target position of the movable part 60 assumed by the controller 70 from position 100 to position 150, and in sequence No. 4, this is an example of operation in which the detected target position is at position 195 even though the controller 70 outputs a control command to move the target position of the movable part 60 assumed by the controller 70 from position 150 to position 200.

[0104] In addition, in the first specific example, the position sensor 61 is an imaging device or a transmission type laser displacement sensor, and is configured to be able to detect the position of the object 65 when the position of the object 65 is within a range of ±20 from the position of the position sensor 61 attached to the movable part 60.

[0105] 3, in the first specific operation example, in sequence No. 1, first, (0) the position of the movable part 60 is 0. Next, (1) the switching part 40 changes the change of the driving signal generation method by the control part 20, by the generation method change part 30, from disabled (hereinafter also referred to as "visual FB disabled") to enabled (hereinafter also referred to as "visual FB enabled").

[0106] At this time, since the position of the object 65 is outside the detectable range of the position sensor 61, (2) the position sensor 61 does not detect the position of the object 65. Therefore, (3) it is impossible to calculate the difference between the position of the movable part 60 and the detection target position detected by the position sensor 61. Therefore, (4) the correction unit 22 holds the correction value of the initial value 0 (zero).

[0107] Next, (5) a command signal is output from the controller 70 to move the target position of the movable part 60 assumed by the controller 70 from position 0 to position 100. Then, since the correction value held by the correction part 22 is 0, (6) the correction part 22 outputs the command signal as is to the drive signal generation part 21 as a corrected command signal without correcting the command signal. As a result, the drive signal generation part 21 performs feedback control in which the encoder signal output from the encoder 51 is fed back to the corrected command signal output from the correction part 22, thereby generating a drive signal and driving the motor 50. As a result, (7) the movable part 60 moves to the target position assumed by the controller 70.

[0108] (7) When the position of the movable part 60 reaches 90, (8) the position of the target object 65 falls within the detectable range of the position sensor 61. Therefore, the position sensor 61 detects the position of the target object 65. (9) Here, the position sensor 61 detects that the position of the movable part 60 is 20 degrees off the detection target position. Because the position of the movable part 60 has not reached the detection target position or the target position of the movable part 60 assumed by the controller 70, (10) the position of the movable part 60 moves to 100 based on the command signal from the controller 70. (11) Here, the position sensor 61 detects that the position of the movable part 60 is 10 degrees off the detection target position. Because the position of the movable part 60 has not reached the detection target position but has reached the target position of the movable part 60 assumed by the controller 70, the correction value generation unit 31 generates a correction value of 10, which is the difference between the detection target position and the target position of the movable part 60 assumed by the controller 70, and outputs the correction value to the correction unit 22. Then, (12) the correction unit 22 holds the correction value 10. Then, (13) the correction unit 22 outputs a corrected command signal for moving the position of the movable part 60 to the corrected target position 110. As a result, the drive signal generation unit 21 performs feedback control by feeding back the encoder signal output from the encoder 51 in response to the corrected command signal output from the correction unit 22, thereby generating a drive signal and driving the motor 50. (14) As a result, the movable part 60 moves to the position 110. (15) Therefore, the difference between the corrected target position of the movable part 60 assumed by the controller 70 and the detected target position, which is the position of the object 65 detected by the position sensor 61, i.e., the actual target position, becomes zero.

[0109] In sequence No. 2, first, (0) the position of the movable part 60 is 0. Next, (1) the switching unit 40 keeps the switching of the drive signal generation method by the control unit 20 enabled by the generation method changing unit 30. At this time, (2) the position of the object 65 is within the detectable range of the position sensor 61. Therefore, (3) the difference between the corrected target position of the movable part 60 assumed by the controller 70 and the detected target position, which is the position of the object 65 detected by the position sensor 61, is 0. At this time, (4) the correction unit 22 holds a correction value of 10.

[0110] Next, (5) a command signal is output from the controller 70 to move the target position of the movable part 60 assumed by the controller 70 from position 100 to position 150. However, the correction value generation unit 31 attempts to maintain the detected target position of the object 65, so it generates a correction value of -40 and outputs it to the correction unit 22. Then, (6) the correction unit 22 holds the correction value -40. As a result, (7) the command signal output from the correction unit 22 remains at 110, and the position of the movable part 60 remains at 110.

[0111] In sequence No. 3, first, (0) the position of the movable part 60 is 0. Next, (1) the switching unit 40 switches the visual FB from enabled to disabled by the generation method change unit 30. At this point, the movable part 60 does not move. At this time, (2) the position sensor 61 does not detect the position of the object 65. Therefore, (3) the difference between the position of the movable part 60 and the detected target position detected by the position sensor 61 cannot be calculated. Therefore, (4) the correction unit 22 holds a correction value of -40. Also, (5) the target position of the command signal at this point is 150, and the target position of the corrected command signal at this point is 110.

[0112] Next, the correction unit 22 resets the held correction value of −40. As a result, (6) the correction unit 22 holds the correction value of 0. Then, (7) the correction unit 22 outputs a corrected command signal for moving the position of the movable part 60 to the corrected target position 150. As a result, the drive signal generation unit 21 performs feedback control in which the encoder signal output from the encoder 51 is fed back in response to the corrected command signal output from the correction unit 22, thereby generating a drive signal and driving the motor 50. As a result, (8) the movable part 60 moves to the position of 150.

[0113] In sequence No. 4, first, (0) the position of the movable part 60 is 150. Next, (1) the switching unit 40 changes the visual FB from disabled to enabled by the generation method changing unit 30. At this time, since the position of the object 65 is outside the detectable range of the position sensor 61, (2) the position sensor 61 does not detect the position of the object 65. Therefore, (3) the difference between the position of the movable part 60 and the detection target position detected by the position sensor 61 cannot be calculated. Therefore, (4) the correction unit 22 holds the correction value of the initial value 0 (zero).

[0114] Next, (5) a command signal is output from the controller 70 to move the target position of the movable part 60 assumed by the controller 70 from position 150 to position 200. Then, since the correction value held by the correction part 22 is 0, (6) the correction part 22 outputs the command signal as is to the drive signal generation part 21 as a corrected command signal without correcting the command signal. As a result, the drive signal generation part 21 performs feedback control in which the encoder signal output from the encoder 51 is fed back to the corrected command signal output from the correction part 22, thereby generating a drive signal and driving the motor 50. As a result, (7) the movable part 60 moves to the target position assumed by the controller 70.

[0115] (7) When the position of the movable part 60 reaches 175, (8) the position of the object 65 falls within the detectable range of the position sensor 61. Therefore, the position sensor 61 detects the position of the object 65. (9) Here, the position sensor 61 detects the position of the movable part 60 as being 20 degrees off the detection target position. Since the position of the movable part 60 has not reached the detection target position or the target position of the movable part 60 assumed by the controller 70, (10) when the position of the movable part 60 moves to 195 based on the command signal from the controller 70, (11) the position sensor 61 detects that the position of the movable part 60 is the detection target position. Since the position of the movable part 60 has reached the detection target position but has not reached the target position of the movable part 60 assumed by the controller 70, the correction value generation unit 31 generates a correction value of −5, which is the difference between the detection target position and the target position of the movable part 60 assumed by the controller 70, and outputs the correction value to the correction unit 22. Then, (12) the correction unit 22 holds the correction value -5. Then, (13) the correction unit 22 outputs a corrected command signal for moving the position of the movable part 60 to the corrected target position 195. As a result, the drive signal generation unit 21 performs feedback control by feeding back the encoder signal output from the encoder 51 in response to the corrected command signal output from the correction unit 22, thereby generating a drive signal and driving the motor 50. As a result, the movable part 60 maintains the position of 195. Therefore, the difference between the corrected target position of the movable part 60 assumed by the controller 70 and the detected target position, which is the position of the object 65 detected by the position sensor 61, i.e., the actual target position, remains 0.

[0116] <Consideration> As described above, with the motor control device 10 having the above configuration, even in cases where moving the movable part 60 to the target position indicated by the command signal would result in the position of the movable part 60 being different from the actual target position, the movable part 60 can be moved to the actual target position.

[0117] Thus, the motor control device 10 configured as described above provides a motor control device that can be further improved.

[0118] In addition, in sequence No. 3 of the first specific example, the correction unit 22 may reset the correction value so that it gradually approaches zero and finally reaches zero while the motor 50 is operating to change the position of the movable part 60 from position 110 to position 150.

[0119] (Embodiment 2) A motor control system according to a second embodiment, which is configured by partially modifying the motor control system 1 according to the first embodiment, will be described below.

[0120] In the following, for the motor control system according to embodiment 2, components that are similar to those of the motor control system 1 according to embodiment 1 have already been explained, so they are assigned the same symbols and detailed explanations are omitted, and the explanation focuses on the differences from motor control system 1.

[0121] FIG. 4 is a block diagram showing the configuration of a motor control system 1A according to the second embodiment.

[0122] As shown in Fig. 4, motor control system 1A is configured by changing motor control device 10 from motor control system 1 according to embodiment 1 to motor control device 10A. Furthermore, motor control device 10A is configured by changing control unit 20 from motor control device 10 to control unit 20A and changing generation method change unit 30 from generation method change unit 30A. Furthermore, control unit 20A is configured by changing drive signal generation unit 21 from control unit 20 to drive signal generation unit 21A. Furthermore, generation method change unit 30A is configured by changing correction value generation unit 31 from generation method change unit 30 to correction value generation unit 31A and adding a temporary stop unit 33.

[0123] When a difference occurs between the target position indicated by the command signal and the detected target position indicated by the position sensor signal, the temporary stopping unit 33 outputs a motor stop signal to the drive signal generating unit 21A to stop the motor 50. Then, when a first predetermined time T1 has elapsed since the difference occurred, the temporary stopping unit 33 stops outputting the motor stop signal. Here, the first predetermined time T1 is preferably equal to or longer than the time from when the motor 50 is stopped until the vibration of the movable part 60 subsides.

[0124] In addition to the functions of drive signal generation unit 21 according to the first embodiment, drive signal generation unit 21A further generates a motor control signal that stops motor 50 while a motor stop signal is being output from temporary stopping unit 33, and outputs the generated motor control signal to motor 50. As a result, motor 50 is stopped until a first predetermined time T1 has elapsed since the difference occurred.

[0125] When a difference occurs between the target position and the position of the movable part 60 indicated by the position sensor signal, the correction value generation unit 31A waits until a first predetermined time T1 has elapsed since the difference occurred, and if there is a difference between the target position indicated by the signal and the detected target position indicated by the position sensor signal at the time when the first predetermined time T1 has elapsed, it generates a correction value to correct the command signal so that the target position is changed by the difference, and outputs the generated correction value to the correction unit 22.

[0126] The correction value generation unit 31A outputs the generated correction value to the correction unit 22, thereby updating the correction value stored in the correction unit 22. As a result, the correction value generation unit 31A changes the method of generating a drive signal by the control unit 20A so that the drive signal is generated based on the correction command value corrected by the updated correction value and the encoded signal.

[0127] The correction value generating unit 31A may output the generated correction value to the controller 70. This enables the controller 70 to generate a command signal that reflects the correction value.

[0128] <Operation> The operation of the motor control device 10A configured as described above will now be described.

[0129] Motor control device 10A performs a second motor control process in which some of the processes in the first motor control process according to the first embodiment are changed.

[0130] FIG. 5 is a flowchart of the second motor control process performed by motor control device 10A.

[0131] In the second motor control process, the process of step S110 and the processes of steps S120 to S190 are respectively the same as the process of step S10 and the processes of steps S20 to S90 in the first motor control process according to embodiment 1. That is, with respect to the process of step S10 and the processes of steps S20 to S90 in the first motor control process, control unit 20 is replaced with control unit 20A, generation method change unit 30 is replaced with generation method change unit 30A, correction value generation unit 31 is replaced with correction value generation unit 31A, and drive signal generation unit 21 is replaced with drive signal generation unit 21A. For this reason, the process of steps S111 and S112 will be mainly described here.

[0132] In the process of step S110, if the change in the drive signal generation method by the control unit 20A by the generation method change unit 30A is valid (step S110: Yes), the temporary stop unit 33 waits until a difference occurs between the target position indicated by the command signal and the detected target position indicated by the position sensor signal (step S111: No is repeated), and when a difference occurs between the target position indicated by the command signal and the detected target position indicated by the position sensor signal (step S111: Yes), it outputs a motor stop signal to the drive signal generation unit 21A to stop the motor 50. Then, when a first predetermined time T1 has elapsed since the difference occurred, the temporary stop unit 33 stops outputting the motor stop signal. As a result, the temporary stop unit 33 stops the motor 50 until the first predetermined time T1 has elapsed (step S112).

[0133] When the process of step S112 ends, that is, when the first predetermined time T1 has elapsed since the motor 50 stopped, the second motor control process proceeds to the process of step S120.

[0134] <Consideration> With the above configuration, when there is a difference between the target position indicated by the command signal and the detected target position indicated by the position sensor signal, motor control device 10A first stops motor 50, then generates a correction value after a first predetermined time T1 has elapsed since motor 50 was stopped, and then drives motor 50 based on the command signal corrected with the generated correction value.

[0135] Therefore, the motor control device 10A can generate the correction value after the first predetermined time T1 has elapsed since the motor 50 stopped and the vibration of the movable part 60 has subsided. As a result, the motor control device 10A can move the movable part 60 to the actual target position with greater accuracy.

[0136] With the above configuration, when the position of the object 65 comes within a range that can be detected by the position sensor 61, the motor control device 10A temporarily stops the movement of the movable part 60, and after the vibration of the movable part 60 has subsided, moves the position of the movable part 60 to the actual target position again.

[0137] (Embodiment 3) A motor control system according to a third embodiment, which is configured by partially modifying the motor control system 1 according to the first embodiment, will be described below.

[0138] In the following, for the motor control system of embodiment 3, components that are similar to those of the motor control system 1 of embodiment 1 have already been explained, so they will be assigned the same symbols and their detailed explanations will be omitted, and the explanation will focus on the differences from motor control system 1.

[0139] FIG. 6 is a block diagram showing the configuration of a motor control system 1C according to the third embodiment.

[0140] 6, motor control system 1C is configured by changing motor control device 10 to motor control device 10C and adding acceleration sensor 62 to motor control system 1 according to embodiment 1. Furthermore, motor control device 10C is configured by changing generation method change unit 30 to generation method change unit 30C. Furthermore, generation method change unit 30C is configured by changing correction value generation unit 31 to correction value generation unit 31C and changing gain change unit 32 to gain change unit 32C in generation method change unit 30.

[0141] The acceleration sensor 62 is attached to the movable part 60, detects the acceleration of the movable part 60, and outputs an acceleration sensor signal indicating the detected acceleration of the movable part 60 to the motor control device 10C.

[0142] The generation method change unit 30C changes the method of generating a drive signal by the control unit 20 based on the position sensor signal and the acceleration sensor signal.

[0143] When the acceleration of the movable part 60 indicated by the acceleration sensor signal remains below a predetermined threshold for a second predetermined time T2 or more, and there is a difference between the target position indicated by the command signal and the detected target position, which is the position of the object 65 indicated by the position sensor signal, the correction value generation unit 31C generates a correction value for correcting the command signal so that the target position is changed by the difference, and outputs the generated correction value to the correction unit 22. Here, the second predetermined time T2 is preferably a time equal to or longer than the time from when the acceleration of the movable part 60 becomes below the predetermined threshold until the vibration of the movable part 60 subsides.

[0144] As a result, the correction value can be generated after the second predetermined time T2 has elapsed since the acceleration of the movable part 60 became constant, and the vibration of the movable part 60 has subsided.

[0145] The second predetermined time T2 may be zero.

[0146] The correction value generation unit 31C outputs the generated correction value to the correction unit 22, thereby updating the correction value stored in the correction unit 22. As a result, the correction value generation unit 31C changes the method of generating a drive signal by the control unit 20 so that the drive signal is generated based on the correction command value corrected by the updated correction value and the encoder signal.

[0147] The correction value generating unit 31C may output the generated correction value to the controller 70. This enables the controller 70 to generate a command signal that reflects the correction value.

[0148] The gain change unit 32C changes the gain parameters of the drive signal generation unit 21, which are used to determine the gain of the drive signal relative to the command signal, based on the position sensor signal and / or the acceleration sensor signal. The gain change unit 32C then changes the method of generating the drive signal by the control unit 20 so that the drive signal is generated with a gain determined by the changed gain parameters. The gain change unit 32C may change the gain parameters of the drive signal generation unit 21, for example, when a difference between the target position and the position of the movable part 60 indicated by the position sensor signal is equal to or greater than a predetermined value. The gain change unit 32C may also change the gain parameters of the drive signal generation unit 21, for example, when an acceleration of the movable part 60 indicated by the acceleration sensor signal is equal to or greater than a predetermined value. The gain change unit 32C may also change the gain parameters of the drive signal generation unit 21, for example, when a difference between the target position and the position of the movable part 60 indicated by the position sensor signal is equal to or greater than a predetermined value and the acceleration of the movable part 60 indicated by the acceleration sensor signal is equal to or greater than a predetermined value.

[0149] <Operation> The operation of the motor control device 10C configured as above will be described below.

[0150] Motor control device 10C executes a third motor control process that controls motor 50 based on the command signal, the encoder signal, the position sensor signal, and the acceleration sensor signal. This third motor control process is a process in which some processes are changed from the first motor control process according to the first embodiment.

[0151] FIG. 7 is a flowchart of the third motor control process performed by motor control device 10C.

[0152] In the third motor control process, the process of step S210 and the process of steps S220 to S290 are respectively the same as the process of step S10 and the process of steps S20 to S90 in the first motor control process according to embodiment 1. That is, in the process of step S10 and the process of steps S20 to S90 in the first motor control process, generation method change unit 30 is replaced with generation method change unit 30C and correction value generation unit 31 is replaced with correction value generation unit 31C. For this reason, the process of step S211 will be mainly described here.

[0153] In the processing of step S210, if the change in the method of generating the drive signal by the control unit 20 by the generation method change unit 30 is valid (step S210: Yes), the correction value generation unit 31 waits until the acceleration of the movable part 60 indicated by the acceleration sensor signal remains below a predetermined threshold for the second predetermined time T2 (repeated step S211: No), and when the acceleration of the movable part 60 indicated by the acceleration sensor signal remains below the predetermined threshold for the second predetermined time T2 (step S211: Yes), the third motor control processing proceeds to the processing of step S220.

[0154] <Consideration> With the above configuration, motor control device 10C generates a correction value based on the acceleration of movable part 60 indicated by the acceleration sensor signal, and drives motor 50 based on the command signal corrected by the generated correction value.

[0155] Therefore, the motor control device 10C having the above configuration can move the movable part 60 to the actual target position with higher accuracy.

[0156] Furthermore, as described above, the correction value generation unit 31C can generate a correction value after the vibration of the movable part 60 has subsided by the second predetermined time T2 having elapsed since the acceleration of the movable part 60 became constant.

[0157] Therefore, the motor control device 10C having the above configuration can move the movable part 60 to the actual target position with higher accuracy.

[0158] (supplement) As described above, examples of the technology disclosed in the present application have been described based on Embodiments 1 to 3. However, the present disclosure is not limited to these Embodiments 1 to 3. As long as they do not deviate from the spirit of the present disclosure, various modifications that would occur to a person skilled in the art to the present embodiments, or forms constructed by combining components of different embodiments, may also be included within the scope of one or more aspects of the present disclosure.

[0159] One aspect of the present disclosure may be not only the motor control device 10, etc., but also a motor control method in which characteristic components included in the motor control device 10, etc., are included as steps. Another aspect of the present disclosure may be a computer program that causes a computer to execute each of the characteristic steps included in the motor control method. Another aspect of the present disclosure may be a computer-readable non-transitory recording medium on which such a computer program is recorded. [Industrial Applicability]

[0160] The present disclosure is widely applicable to systems for controlling motors, etc. [Explanation of symbols]

[0161] 1, 1A, 1B, 1C Motor Control System 10, 10A, 10C motor control device 20, 20A control section 21, 21A, 21B Drive signal generation unit 22 Correction unit 30, 30A, 30C Generation method change part 31, 31A, 31C Correction value generation unit 32, 32C Gain change section 33 Stop part 40 Switching section 50 motor 51 Encoder 60 Moving parts 61 Position Sensor 62 Acceleration sensor 65 Object 70 Controller

Claims

1. a control unit that generates a drive signal for driving the motor based on a command signal for moving a movable part connected to the motor to a target position and an encoder signal that indicates the position of the motor detected by an encoder, and outputs the generated drive signal to the motor; a generation method change unit that changes a generation method of the drive signal by the control unit based on a position sensor signal that indicates a detected target position, which is the position of the target position detected by a position sensor attached to the movable unit, the generation method change unit further changes the generation method based on an acceleration sensor signal indicating an acceleration of the movable part detected by an acceleration sensor attached to the movable part; When there is a difference between the target position and the detected target position, and the acceleration of the movable part indicated by the acceleration sensor signal is equal to or less than a predetermined threshold value for a second predetermined time or more, the generation method change unit (1) generates a correction value for correcting the command signal so that the target position is changed by the difference, and (2) changes the generation method so that the drive signal is generated based on the command signal corrected by the correction value and the encoder signal. Motor control device.

2. The generation method change unit resets the correction value when a second predetermined condition is satisfied. The motor control device according to claim 1 .

3. the second predetermined condition includes a condition that the motor is operating; The generation method change unit resets the correction value so that the absolute value of the correction value gradually approaches zero and finally becomes zero during operation of the motor. The motor control device according to claim 2 .

4. The generation method change unit further outputs the correction value to a controller that generates the command signal. The motor control device according to any one of claims 1 to 3.

5. The generation method change unit changes the generation method so as to change a gain parameter for determining a gain of the drive signal relative to the command signal based on the position sensor signal and / or the acceleration sensor signal, and generate the drive signal. The motor control device according to any one of claims 1 to 4.

6. a control step of generating a drive signal for driving the motor based on a command signal for moving a movable part connected to the motor to a target position and an encoder signal indicating the position of the motor detected by an encoder, and outputting the generated drive signal to the motor; a generation method changing step of changing a generation method of the drive signal in the control step based on a position sensor signal indicating a detected target position, which is the position of the target position detected by a position sensor attached to the movable part, the generation method change step further includes changing the generation method based on an acceleration sensor signal indicating acceleration of the movable part detected by an acceleration sensor attached to the movable part; In the generation method changing step, when there is a difference between the target position and the detected target position, and the acceleration of the movable part indicated by the acceleration sensor signal is equal to or less than a predetermined threshold value for a second predetermined time period or more, (1) a correction value is generated to correct the command signal so that the target position is changed by the difference, and (2) the generation method is changed so that the drive signal is generated based on the command signal corrected by the correction value and the encoder signal. Motor control methods.

7. A program for causing a motor control device that controls a motor to execute a motor control process, The motor control process includes: a control step of generating a drive signal for driving the motor based on a command signal for moving a movable part connected to the motor to a target position and an encoder signal indicating the position of the motor detected by an encoder, and outputting the generated drive signal to the motor; a generation method changing step of changing a generation method of the drive signal in the control step based on a position sensor signal indicating a detected target position, which is the position of the target position detected by a position sensor attached to the movable part, the generation method change step further includes changing the generation method based on an acceleration sensor signal indicating acceleration of the movable part detected by an acceleration sensor attached to the movable part; In the generation method changing step, when there is a difference between the target position and the detected target position and the acceleration of the movable part indicated by the acceleration sensor signal is equal to or less than a predetermined threshold value for a second predetermined time period or more, (1) a correction value is generated to correct the command signal so that the target position is changed by the difference, and (2) the generation method is changed so that the drive signal is generated based on the command signal corrected by the correction value and the encoder signal. program.

Citation Information

Patent Citations

  • Positioning controller

    JP1987171016A

  • Numerical controller

    JP1996006644A

  • Positioning control method and device by motor

    JP2004334772A

  • Operating device

    JP2009217329A

  • Electric-actuator drive device and actuator using the same

    JP2012253908A