Motor control device, actuator, and motor control method
The motor control device addresses the issue of torque ripple in small-sized actuators by generating motor control signals with adjustable center frequencies and notch filters, effectively suppressing vibrations and noises.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- IAI CORP
- Filing Date
- 2022-04-26
- Publication Date
- 2026-04-22
AI Technical Summary
Existing actuators with small-sized motors face issues with detent torque (cogging) and torque ripple, which is the influence of torque ripple, which is not addressed by existing technologies, and the influence of torque ripple, which is not addressed by existing technologies, leading to vibrations and abnormal noises due to fluctuating resonant frequencies.
A motor control device that generates a motor control signal based on position commands and detects position, sets a center frequency corresponding to harmonic fluctuations, and attenuates frequency components using variable and fixed notch filters to suppress vibrations.
The device effectively suppresses vibrations and abnormal noises caused by torque ripple, regardless of the moving speed of the moving body, by dynamically adjusting the center frequency and attenuation range of the notch filters.
Smart Images

Figure 0007849871000003 
Figure 0007849871000004 
Figure 0007849871000005
Abstract
Description
Technical Field
[0001] The present invention relates to a motor control device, an actuator, and a motor control method.
Background Art
[0002] For example, Patent Document 1 describes an actuator capable of suppressing vibration of a moving body. This actuator includes a motor drive unit of a motor that moves the moving body and a filter unit that removes a predetermined frequency component from an input signal input to the motor drive unit, and sets the set frequency of the frequency component removed by the filter unit to match the natural frequency of the mechanical system according to the load weight applied to the moving body.
[0003] In this type of actuator, a notch filter is provided to remove frequency components centered on the natural frequency (i.e., resonance frequency) of the mechanical system caused by the structure of the actuator from the motor control signal for controlling the motor. Thereby, the occurrence of vibration, abnormal noise, etc. of the moving body can be suppressed.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] By the way, when a relatively small-sized motor is adopted for miniaturization of the actuator, the detent torque (also referred to as cogging torque) is large, and the influence of torque ripple on the output of the motor becomes relatively large.
[0006] Due to the influence of torque ripple in the motor, harmonics are superimposed on the fundamental wave of the motor control signal such as the current command value.
[0007] Furthermore, frequency analysis of the motor control signal waveform revealed that the peak frequency corresponds to the motor's rotational speed, i.e., a predetermined multiple of the rotational frequency. In other words, since the moving speed of the moving object is linked to the motor's rotational speed, the peak frequency fluctuates according to the moving speed of the moving object.
[0008] On the other hand, there may be multiple resonant frequencies determined by the structure of the actuator, etc. The notch filter described in Patent Document 1 above is a fixed type, so it can suppress frequency components within a predetermined range including one resonant frequency in response to the motor control signal, but it cannot respond to other resonant frequencies. In this case, if the frequency corresponding to the harmonic, which fluctuates according to the movement speed of the moving body, coincides with another resonant frequency, there is a risk of generating vibrations, abnormal noises, etc. in the actuator, which is undesirable.
[0009] The present invention has been made in consideration of the above facts, and aims to provide a motor control device, actuator, and motor control method that can suppress vibrations generated in the motor control signal due to torque ripple, regardless of the moving speed of the moving body. [Means for solving the problem]
[0010] To achieve the above objective, the motor control device according to the first embodiment is a motor control device for controlling a motor that moves a moving body, comprising: a control signal generation unit that generates a motor control signal based on a position command value and a position detection value for moving the moving body to a predetermined position; a setting unit that sets a center frequency corresponding to the frequency components of harmonics that fluctuate according to the moving speed of the moving body; and a filter unit that attenuates frequency components in a predetermined range including the center frequency set by the setting unit from the motor control signal.
[0011] According to the first embodiment, it is possible to attenuate frequency components within a predetermined range, including the center frequency corresponding to the harmonic frequency components that fluctuate according to the speed of the moving object.
[0012] Furthermore, the motor control device according to the second embodiment further comprises another filter unit in the motor control device according to the first embodiment that attenuates frequency components in a predetermined range, including the resonant frequency caused by the structure of the device including the moving body and the motor.
[0013] According to the second embodiment, frequency components within a predetermined range, including the resonant frequency caused by the structure of the device including the moving body and motor, can be attenuated.
[0014] Furthermore, the motor control device according to the third embodiment is a motor control device according to the first or second embodiment in which the center frequency corresponds to the frequency components of harmonics that fluctuate according to the moving speed of the moving body and the number of pole pairs of the motor.
[0015] According to the third embodiment, the center frequency can be set taking into account the number of pole pairs of the motor.
[0016] Furthermore, the motor control device according to the fourth embodiment further comprises a position command generation unit that generates the position command value based on parameters including the target position, target speed, and acceleration / deceleration of the moving body, in addition to the motor control device according to any one of the first to third embodiments, and the setting unit sets the center frequency according to the target speed.
[0017] According to the fourth embodiment, a motor control signal can be generated considering a position command value based on parameters including the target position, target speed, and acceleration / deceleration of the moving object.
[0018] Furthermore, in the motor control device according to the fifth embodiment, the filter unit attenuates frequency components within a predetermined range, including the center frequency, from the motor control signal when the target speed is equal to or greater than the specified speed.
[0019] According to the fifth embodiment, when the target speed is less than the specified speed, the impact on the control system caused by linking the center frequency can be suppressed.
[0020] Further, in the motor control device according to the sixth aspect, in the motor control device according to any one of the first to fifth aspects, the setting unit sets at least one of the width of the attenuation band and the attenuation amount in addition to the setting of the center frequency.
[0021] According to the sixth aspect, in addition to the center frequency, at least one of the width of the attenuation band and the attenuation amount can be set.
[0022] Further, in the motor control device according to the seventh aspect, in the motor control device according to any one of the first to sixth aspects, the motor is a permanent magnet type stepping motor.
[0023] According to the seventh aspect, for a permanent magnet type stepping motor, it is possible to attenuate frequency components in a predetermined range including the center frequency corresponding to the frequency component of the harmonic that varies according to the moving speed of the moving body.
[0024] Furthermore, in order to achieve the above object, the actuator according to the eighth aspect includes a moving body, a motor that moves the moving body, and a motor control device according to any one of the first to seventh aspects that controls the motor.
[0025] According to the eighth aspect, it is possible to provide an actuator that can attenuate frequency components in a predetermined range including the center frequency corresponding to the frequency component of the harmonic that varies according to the moving speed of the moving body.
[0026] Furthermore, in order to achieve the above object, the motor control method according to the ninth aspect is a motor control method of a motor control device that controls a motor that moves a moving body, and generates a motor control signal based on a position command value and a position detection value for moving the moving body to a predetermined position, sets a center frequency corresponding to the frequency component of the harmonic that varies according to the moving speed of the moving body, and attenuates frequency components in a predetermined range including the set center frequency from the motor control signal.
[0027] According to the ninth embodiment, similar to the first embodiment, it is possible to attenuate frequency components within a predetermined range, including the center frequency corresponding to the harmonic frequency components that vary according to the moving speed of the moving body. [Effects of the Invention]
[0028] As described above, the present invention provides the effect of suppressing vibrations in the motor control signal caused by torque ripple, regardless of the moving speed of the moving body. [Brief explanation of the drawing]
[0029] [Figure 1] This diagram schematically shows an example of the configuration of a motor control device and actuator according to the embodiment. [Figure 2] This block diagram shows an example of the electrical configuration of a motor control device according to this embodiment. [Figure 3] This waveform diagram shows examples of changes in the movement speed of a moving object in various movement commands. [Figure 4] This block diagram shows an example of the functional configuration of a motor control device according to the embodiment. [Figure 5] This figure shows an example of a notch filter section according to the embodiment. [Figure 6] This figure shows an example of a transfer function representing a variable notch filter. [Figure 7] This figure shows an example of the frequency analysis results of a current waveform representing the torque current command value when the center frequency is linked to the target speed of the moving object. [Figure 8] This figure illustrates the correspondence between the target velocity and the center frequency according to the embodiment. [Figure 9] A flowchart showing an example of the flow of a major loop using a control program according to the embodiment. [Figure 10] This is a flowchart showing an example of the movement command acquisition process according to the embodiment, and is the subroutine for step S101 in Figure 9. [Figure 11]This flowchart shows an example of the flow of a minor loop using the control program according to the embodiment. [Modes for carrying out the invention]
[0030] Hereinafter, an example of an embodiment for carrying out the technology of this disclosure will be described in detail with reference to the drawings. Components and processes that perform the same operation, action, or function are given the same reference numerals throughout the drawings, and redundant explanations may be omitted as appropriate. Each drawing is only a schematic representation to the extent that the technology of this disclosure can be fully understood. Therefore, the technology of this disclosure is not limited to the illustrated examples. Furthermore, in this embodiment, explanations of configurations not directly related to the present invention or well-known configurations may be omitted.
[0031] Figure 1 is a schematic diagram showing an example of the configuration of the motor control device 10 and actuator 20 according to this embodiment.
[0032] As shown in Figure 1, the actuator 20 comprises an encoder 21, a motor 22, an output shaft 23, a coupling 24, a sliding screw shaft 25, a sliding screw nut 26, and a movable body 27. The sliding screw shaft 25 and sliding screw nut 26 may be replaced with a ball screw shaft and ball screw nut. Furthermore, although the movable body 27 is shown as a rod type in the example in Figure 1, it may also be a table type.
[0033] The encoder 21 is attached to the motor 22. The encoder 21 detects the rotational position of the motor 22 and outputs the detected position as a feedback position signal to the motor control device 10.
[0034] Motor 22 is controlled by motor control device 10 and is the drive source for moving the mobile body 27. More specifically, motor 22 moves the mobile body 27 axially so that it reciprocates in the axial direction of the output shaft 23. Motor 22 has, for example, salient polarity. Salient polarity refers to the property that the magnetic resistance (reluctance) is non-uniform depending on the position on the circumference of the rotor. Motor 22 is, for example, a permanent magnet type stepping motor such as a PM type stepping motor or a hybrid type stepping motor. Note that motor 22 is not limited to a stepping motor and may be a servo motor.
[0035] The output shaft 23 of the motor 22 is connected to a sliding screw shaft 25 via a coupling 24. The sliding screw shaft 25, together with a sliding screw nut 26, constitutes a mechanical component for converting the rotational motion of the motor 22 into translational motion. The moving body 27 is joined to the sliding screw shaft 25 via the sliding screw nut 26.
[0036] The motor control device 10 controls the motor 22 using the current command values for each phase. The current command values for each phase are command values for controlling the energizing current of the motor 22. In Figure 1, the motor control device 10 is provided separately from the actuator 20, but it may be built into the actuator 20. In other words, the actuator 20 may be equipped with the motor control device 10.
[0037] Figure 2 is a block diagram showing an example of the electrical configuration of the motor control device 10 according to the first embodiment.
[0038] As shown in Figure 2, the motor control device 10 according to this embodiment includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, an input / output interface (I / O) 14, a storage unit 15, and a connection unit 16.
[0039] The CPU 11, ROM 12, RAM 13, and I / O 14 are connected to each other via a bus. Each functional unit, including the storage unit 15 and the connection unit 16, is connected to the I / O 14. These functional units are capable of communicating with the CPU 11 via the I / O 14.
[0040] The control unit is comprised of a CPU 11, ROM 12, RAM 13, and I / O 14. The control unit may be configured as a sub-control unit that controls the operation of a part of the motor control device 10, or as part of a main control unit that controls the operation of the entire motor control device 10. Some or all of the blocks of the control unit may use integrated circuits such as LSIs (Large Scale Integration) or ICs (Integrated Circuit) chipsets. Individual circuits may be used for each of the above blocks, or some or all of them may be integrated into a single circuit. The above blocks may be provided as a single unit, or some of the blocks may be provided separately. Furthermore, parts of each of the above blocks may be provided separately. For the integration of the control unit, dedicated circuits or general-purpose processors may be used, not just LSIs.
[0041] For the storage unit 15, for example, an HDD (Hard Disk Drive), SSD (Solid State Drive), or flash memory may be used. The ROM 12 or storage unit 15 stores a control program for controlling the motor 22, various setting values necessary for controlling the motor 22, a data table, and the like.
[0042] The control program may, for example, be pre-installed in the motor control device 10. The control program may also be stored on a non-volatile storage medium or distributed via a network and installed on the motor control device 10 as appropriate. Examples of non-volatile storage media include CD-ROMs (Compact Disc Read Only Memory), magneto-optical disks, HDDs, DVD-ROMs (Digital Versatile Disc Read Only Memory), flash memory, and memory cards.
[0043] The connection section 16 is an interface for connecting to the encoder 21, the motor 22, and a higher-level device such as a PLC (Programmable Logic Controller).
[0044] Figure 3 is a waveform diagram showing examples of the transition in the movement speed of the mobile body 27 under various movement commands. The vertical axis shows the movement speed of the mobile body 27, and the horizontal axis shows time.
[0045] Examples of movement commands include positioning command and home position return command. Positioning is an operation in which the moving body 27 is moved from the starting point of the positioning operation to the target position of the positioning operation in accordance with the rotation of the motor 22. For example, as shown by the arrow in Figure 1, in a positioning operation to the forward end, the moving body 27 moves from the home position (rear end) to the forward end, and in a positioning operation to the home position (rear end), it moves from the forward end to the home position (rear end). Home position return is an operation in which the moving body 27 is moved from the starting point of the home position return operation to the home position (target position of the home position return operation) in accordance with the rotation of the motor 22. For example, the moving body 27 moves from the forward end to the home position (rear end).
[0046] Figure 3 shows an example of the time variation of the moving speed of the moving body 27 during various operations. More specifically, Figure 3 shows the time variation of the moving speed of the moving body 27 when, for example, the operations are performed in the order of returning to the origin, positioning to the forward end, and positioning to the origin (rear end). As shown in Figure 3, the moving body 27 is moved at a relatively high speed during the positioning operation and at a relatively low speed during the returning to the origin operation. In the example shown in Figure 3, the relationship of the moving speed of the moving body 27 in each operation is as follows: speed during positioning to the forward end > speed during positioning to the origin (rear end) > speed during returning to the origin operation.
[0047] However, as mentioned above, if there are multiple resonant frequencies due to the structure of the actuator 20, and one of these resonant frequencies coincides with a frequency corresponding to a harmonic that fluctuates according to the moving speed of the moving body, it may cause vibration, abnormal noise, etc. in the actuator 20, which is undesirable.
[0048] Therefore, the CPU 11 of the motor control device 10 according to this embodiment functions as the various parts shown in Figure 4 by writing the control program stored in the ROM 12 or storage unit 15 to the RAM 13 and executing it.
[0049] Figure 4 is a block diagram showing an example of the functional configuration of the motor control device 10 according to this embodiment.
[0050] As shown in Figure 4, the CPU 11 of the motor control device 10 according to this embodiment functions as a control signal generation unit 110, a notch filter unit 120, a current command conversion unit 121, a current control unit 122, a position information acquisition unit 123, a current speed conversion unit 124, and an electrical angle conversion unit 125.
[0051] The control signal generation unit 110 includes a movement command acquisition unit 111, a driving plan generation unit 112, a position controller 114, a speed controller 115, a first subtractor 116, a second subtractor 117, and a notch filter setting unit 118. The notch filter setting unit 118 is an example of a setting unit, and the driving plan generation unit 112 is an example of a position command generation unit.
[0052] The control signal generation unit 110 generates a torque current command value (current command value Ic) based on the position command value and position detection value for moving the mobile body 27 to a predetermined position. The torque current command value is an example of a motor control signal.
[0053] Specifically, the movement command acquisition unit 111 acquires movement commands from a higher-level device such as a PLC. If the motor control device 10 has a program creation function, the motor control device 10 itself may function as a PLC. These movement commands are, for example, either a positioning operation command or a return-to-home operation command. A positioning operation command is a command for realizing a positioning operation, consisting of parameters including position information such as a target position indicating the end position of the positioning operation, such as the forward end; speed information such as a target speed indicating the upper limit speed of the positioning operation; and acceleration / deceleration information consisting of acceleration and deceleration. The positioning operation speed is set to a relatively high target speed so that the positioning operation time is shortened. A return-to-home operation command is a command for realizing a return-to-home operation, consisting of parameters including position information such as the origin (reverse end) indicating the end position of the return-to-home operation; speed information such as a target speed indicating the upper limit speed of the return-to-home operation; and acceleration / deceleration information. The return-to-home operation speed is set to a relatively lower target speed than the positioning operation speed (for example, 20 mm / s or less). The movement command acquisition unit 111 determines the type of movement command from the movement command and outputs the determination result to the operation plan generation unit 112. The movement command acquisition unit 111 also outputs the target speed of the moving body 27 included in the movement command to the notch filter setting unit 118.
[0054] The operation plan generation unit 112 generates a position command value for the target position of the moving body 27 and outputs the generated position command value to the first subtractor 116. The position command value is generated by the operation plan generation unit 112 based on parameters including the target position, target speed, and acceleration / deceleration of the moving body 27. The parameters including the target position, target speed, and acceleration / deceleration of the moving body 27 are obtained from various movement commands. The operation plan generation unit 112 generates the position command value so that the moving speed of the moving body 27 changes over time in a trapezoidal shape with the target speed as the upper limit, as shown in Figure 3 above, for example.
[0055] More specifically, when the operation plan generation unit 112 acquires various movement commands, it determines the distance the moving body 27 should move based on the difference between the current position command value and the target position, and sequentially generates position command values (in the control cycle of the major loop, which will be described in detail later) so that the speed of the moving body 27 takes the shape of a trapezoid with the target speed as its upper base (or a triangular shape where the target speed is not reached depending on the distance traveled). In other words, the operation plan generation unit 112 accelerates the moving body 27 by the acceleration parameter until the moving speed reaches the target speed during acceleration, maintains the target speed during constant speed, and decelerates it by the deceleration parameter until the moving speed becomes zero during deceleration, and sequentially generates position command values so that the area of the trapezoid (or triangular shape where the target speed is not reached depending on the distance traveled), which represents the change in speed over time from the start of movement to the end of movement, i.e., the time integral of the speed, is equal to the distance determined above. Furthermore, the amount of change in the sequentially generated position command values increases during acceleration, decreases during deceleration, and is adjusted so as not to exceed the target speed parameter when the speed is constant. In other words, the target speed acts as a limiter on the rate of change of the position command value. This generates position command values that achieve the behavior shown in Figure 3, i.e., the time-dependent change in speed for various movement commands.
[0056] The first subtractor 116 outputs the position deviation obtained by subtracting the current position (position detection value) from the position information acquisition unit 123 from the position command value from the operation plan generation unit 112 to the position controller 114.
[0057] The position controller 114 generates a speed command value by multiplying the position deviation obtained from the first subtractor 116 by a position control gain, and outputs the generated speed command value to the second subtractor 117. The position controller 114 performs proportional control.
[0058] The second subtractor 117 outputs the speed deviation obtained by subtracting the current speed (speed detection value) from the current speed conversion unit 124 from the speed command value from the position controller 114 to the speed controller 115.
[0059] The speed controller 115 generates a torque current command value (current command value Ic) by multiplying the speed deviation obtained from the second subtractor 117 by the proportional gain / integral gain for speed control and integrating it, and outputs the generated torque current command value (current command value Ic) to the notch filter unit 120. The speed controller 115 performs proportional / integral control.
[0060] The notch filter setting unit 118 sets a center frequency corresponding to the harmonic frequency components that vary according to the movement speed of the moving body 27, and outputs setting information including the set center frequency to the notch filter unit 120. In addition to setting the center frequency, the notch filter setting unit 118 may also set at least one of the width of the attenuation band and the amount of attenuation. The movement speed of the moving body 27 is expressed, for example, as the target speed of the moving body 27 obtained from the various movement commands described above.
[0061] The notch filter unit 120 attenuates frequency components within a predetermined range, including the center frequency set by the notch filter setting unit 118, from the torque current command value. A detailed explanation of the variable notch filter processing, which switches the center frequency according to the target speed of the moving body 27, will be given later.
[0062] The current command conversion unit 121 generates current command values for each phase (in this embodiment, two-phase (A and B phase) current command values) using the torque current command value from the notch filter unit 120 and the electrical angle from the electrical angle conversion unit 125, and outputs the generated current command values for each phase to the current control unit 122. The electrical angle is an angle expressed with one period of the magnetic field being 2π [rad] or 360 degrees, and is expressed by the mechanical angle (axis rotation angle) × number of pole pairs.
[0063] The current control unit 122 controls the motor 22 using the phase current command values from the current command conversion unit 121.
[0064] The position information acquisition unit 123 acquires a feedback position signal of the motor 22 from the encoder 21 attached to the motor 22. Based on the feedback position signal, the position information acquisition unit 123 outputs the detected position value of the moving body 27 as the current position to the first subtractor 116, the current speed conversion unit 124, and the electrical angle conversion unit 125, respectively.
[0065] The current speed conversion unit 124 converts the current position from the position information acquisition unit 123 into a current speed (speed detection value), and outputs the converted current speed (speed detection value) to the second subtractor 117.
[0066] The electrical angle conversion unit 125 converts the current position from the position information acquisition unit 123 into an electrical angle and outputs the converted electrical angle to the current command conversion unit 121.
[0067] Next, the variable notch filter processing according to this embodiment will be specifically described with reference to Figures 5 to 8.
[0068] When a stepping motor is used as motor 22, the effect of torque ripple appears at a predetermined period (for example, 1 / 2 or 1 / 4) per electrical angle period. In other words, the effect of torque ripple appears at a frequency of 2 or 4 times per electrical angle period. Due to this torque ripple, harmonics of a predetermined multiple of the fundamental wave are superimposed on the torque current command value. Here, the "predetermined multiple" is determined according to the number of pole pairs of motor 22. If the number of pole pairs is, for example, "5", then the "predetermined multiple" is 2 × 5 = 10 times and 4 × 5 = 20 times. Torque ripple refers to the range of torque fluctuation, that is, the difference between the maximum (Max) and minimum (Min) values of the torque.
[0069] Here, with the notch filter section 120 disabled, an example of the current waveform of the torque current command value when the rotation frequency of the 5-pole pair motor 22 is operated in 1 Hz increments from 5 to 50 Hz is shown below, based on frequency analysis. Note that the rotation frequency of the motor 22 is determined by the target speed of the moving body 27.
[0070] (1) When the target speed is 24 [mm / s] and the rotation frequency is 6 [Hz] ± 1 [Hz], 60 ± 10 [Hz] (10th harmonic) and 120 ± 20 [Hz] (20th harmonic) will appear. (2) When the target speed is 60 [mm / s] and the rotation frequency is 15 [Hz] ± 1 [Hz], 150 ± 10 [Hz] (10th harmonic) and 300 ± 20 [Hz] (20th harmonic) will appear. (3) When the target speed is 128 [mm / s] and the rotation frequency is 32 [Hz] ± 1 [Hz], 320 ± 10 [Hz] (10th harmonic) will appear. (4) When the target speed is 160 [mm / s] and the rotation frequency is 40 [Hz] ± 1 [Hz], 4000 ± 10 [Hz] (10th harmonic) appears.
[0071] As described above, peaks generally appear at the 10th and 20th harmonics of the motor 22's rotation frequency. Specifically, when the target speed is below a predetermined speed (e.g., 100 mm / s), the 20th harmonic appears more frequently, and when the target speed is higher than the predetermined speed (e.g., 100 mm / s), the 10th harmonic appears more frequently. Therefore, in order to attenuate these harmonics, variable notch filtering is performed using the notch filter unit 120.
[0072] Figure 5 shows an example of the notch filter section 120 according to this embodiment.
[0073] As shown in Figure 5, the notch filter section 120 includes a fixed notch filter 120A and a variable notch filter 120B. The variable notch filter 120B is an example of a filter section and may consist of one stage or two or more stages. The fixed notch filter 120A is another example of a filter section and may consist of one stage or two or more stages.
[0074] The variable notch filter 120B attenuates frequency components within a predetermined range, including the center frequency set by the notch filter setting unit 118, from the torque current command value obtained from the speed controller 115. The predetermined range is, for example, ±10% of the center frequency. Specifically, if the center frequency is, for example, 100 Hz, the range is 90 Hz to 110 Hz. The center frequency corresponds to the harmonic frequency components that fluctuate according to the target speed of the moving body 27 and the number of pole pairs of the motor. Note that the number of pole pairs is not limited to 5 pole pairs, and other numbers of pole pairs can also be used.
[0075] Specifically, when the target speed of the moving body 27 is less than or equal to a predetermined speed (corresponding to the second specified speed described later, for example, 100 mm / s), the variable notch filter 120B attenuates frequency components in a predetermined range that include the 20th harmonic (20th frequency) as the center frequency. Furthermore, when the target speed of the moving body 27 is higher than the predetermined speed (for example, 100 mm / s), the variable notch filter 120B attenuates frequency components in a predetermined range that includes the 10th harmonic (10th frequency) as the center frequency.
[0076] Figure 6 shows an example of a transfer function representing the variable notch filter 120B. In Figure 6, the vertical axis represents gain and the horizontal axis represents frequency.
[0077] If the transfer function shown in Figure 6 is denoted as N(s), then the transfer function N(s) is expressed by the following equation (1).
[0078] JPEG0007849871000001.jpg1870...(1)
[0079] However, ω n θ represents the center frequency, ζ represents the attenuation rate, and d represents the gain. The gain d is expressed by the following equation (2).
[0080] JPEG0007849871000002.jpg1539...(2)
[0081] In the transfer function N(s) shown in Figure 6, the center frequency ω n The following can be set: Center frequency ω n This is the center frequency set by the notch filter setting unit 118. Also, the width of the attenuation band (=2 × ζω nAt least one of the following can be set: the width of the attenuation band and the attenuation amount (=dm) (unit: dB). The width and attenuation amount of these attenuation bands are also set by the notch filter setting unit 118. For example, an appropriate width is set for the width of the attenuation band within a range of ±10% of the center frequency. Specifically, if the center frequency is, for example, 100 Hz, an appropriate width is set within a range of 90 Hz to 110 Hz. For example, an appropriate value is set for the attenuation amount within a range of -15 dB to -10 dB.
[0082] Furthermore, resonance may occur that is not linked to the target speed of the moving body 27. To attenuate the resonance frequency in this case, a fixed notch filter 120A may be provided. The fixed notch filter 120A attenuates frequency components within a predetermined range, including the resonance frequency caused by the structure of the actuator 20, from the torque current command value obtained from the speed controller 115. In other words, the fixed notch filter 120A is a notch filter with a specific resonance frequency as its center frequency, and the center frequency is fixed regardless of the target speed of the moving body 27. The predetermined range is, for example, ±10% of the resonance frequency, similar to the case of the variable notch filter 120B.
[0083] Figure 7 shows an example of the frequency analysis results of the current waveform representing the torque current command value when the center frequency is linked to the target speed of the moving body 27. In Figure 7, the vertical axis represents amplitude and the horizontal axis represents frequency [Hz].
[0084] Figure 7 shows the frequency analysis results comparing current waveform D1 and current waveform D2. Current waveform D1 is the frequency analysis result when the variable notch filter 120B is enabled, and current waveform D2 is the frequency analysis result when the variable notch filter 120B is disabled. In both current waveforms D1 and D2, the fixed notch filter 120A is disabled.
[0085] As shown in Figure 7, in the current waveform D1 with the variable notch filter 120B enabled, the harmonic components are attenuated compared to the current waveform D2 with the variable notch filter 120B disabled. However, when the target speed of the moving body 27 is relatively low, enabling the variable notch filter 120B may affect the control system, so it is desirable to disable the variable notch filter 120B when the center frequency is less than f1 (e.g., 100 Hz). In other words, the variable notch filter 120B is disabled when the target speed is less than the specified speed (corresponding to the first specified speed described later, e.g., 40 mm / s), and when the target speed is the specified speed (e.g., 40 mm / s) or higher, it attenuates frequency components in a predetermined range, including the center frequency, from the torque current command value. Note that "affecting the control system" means, for example, that if the center frequency is lower than a certain value (f1 in this case), the moving body 27 may hunt (vibrate), making positioning impossible. Also, near center frequencies f2 and f3, there are resonances that are not linked to the target speed. Therefore, it is desirable to provide a fixed notch filter 120A in addition to the variable notch filter 120B for center frequencies f2 (e.g., 180 Hz) and f3 (e.g., 360 Hz).
[0086] As mentioned above, if the center frequency is low, the moving body 27 will hunt (vibrate), making positioning impossible. On the other hand, if the center frequency is high, the device will not react, and there will be no need to perform calculations. Therefore, it is desirable to set an appropriate range for the center frequency. In this embodiment, the range of the center frequency is set to, for example, 100 Hz or more and 500 Hz or less.
[0087] Figure 8 is a diagram illustrating the correspondence between target speed and center frequency according to this embodiment. In Figure 8, the vertical axis represents speed, and the horizontal axis represents time. The example shown in Figure 8 describes the case where movement commands 1 to 3 are positioning commands for different target speeds and target positions, but it is not limited to this. Vt1 is the first target speed and corresponds to the target speed of movement command 1. Vt2 is the second target speed and corresponds to the target speed of movement command 2. Vt3 is the third target speed and corresponds to the target speed of movement command 3. Vr1 represents the first specified speed (threshold), and Vr2 represents the second specified speed (threshold). However, the relationship Vt1 > Vr2 ≥ Vt3 ≥ Vr1 > Vt2 holds.
[0088] As shown in Figure 8, when movement command 1 is received from a higher-level device, the first target speed Vt1 included in movement command 1 is higher than the second specified speed Vr2 (e.g., 100 mm / s), so the center frequency of the variable notch filter 120B is set to 10 times the rotation frequency of the motor 22, which corresponds to the first target speed Vt1. The fixed notch filter 120A is, for example, always enabled. When movement command 2 is received from a higher-level device, the second target speed Vt2 included in movement command 2 is less than the first specified speed Vr1 (e.g., 40 mm / s), so the variable notch filter 120B is disabled. When movement command 3 is received from a higher-level device, the third target speed Vt3 included in movement command 3 is less than or equal to the second specified speed Vr2 and greater than or equal to the first specified speed Vr1, so the center frequency of the variable notch filter 120B is set to 20 times the rotation frequency of the motor 22, which corresponds to the third target speed Vt3.
[0089] Next, the operation of the motor control device 10 according to this embodiment will be explained with reference to Figures 9 to 11.
[0090] Figure 9 is a flowchart showing an example of the flow of a major loop using the control program according to this embodiment.
[0091] First, when a motor control instruction is given to the motor control device 10, the CPU 11 starts the control program and executes the following processes. This process is executed as a major loop, for example, every 1ms.
[0092] In step S101 of Figure 9, the CPU 11 receives a movement command from a higher-level device such as a PLC. As mentioned above, if the motor control device 10 has a program creation function, the motor control device 10 itself may function as a PLC.
[0093] Figure 10 is a flowchart showing an example of the movement command acquisition process according to this embodiment, and is a subroutine of step S101 in Figure 9.
[0094] In step S111 of Figure 10, the CPU 11 determines whether or not it has received a movement command from a higher-level device such as a PLC. If it determines that it has received a movement command (positive determination), it proceeds to step S112; if it determines that it has not received a movement command (negative determination), it returns to step S102 of Figure 9.
[0095] In step S112, the CPU 11 determines whether the target speed of the moving object 27 included in the movement command acquired in step S111 is less than the first specified speed (for example, 40 mm / s). If it is determined that the target speed of the moving object 27 is less than the first specified speed (affirmative determination), the process proceeds to step S113. If it is determined that the target speed of the moving object 27 is not less than the first specified speed, that is, is greater than or equal to the first specified speed (negative determination), the process proceeds to step S114.
[0096] In step S113, the CPU 11 disables the variable notch filter 120B and returns to step S102 in Figure 9.
[0097] Meanwhile, in step S114, the CPU 11 enables the variable notch filter 120B.
[0098] In step S115, the CPU 11 determines whether the target speed of the moving object 27 is less than or equal to the second specified speed (for example, 100 mm / s). If it determines that the target speed of the moving object 27 is less than or equal to the second specified speed (affirmative determination), the process proceeds to step S116. If it determines that the target speed of the moving object 27 is not less than or equal to the second specified speed, that is, higher than the second specified speed (negative determination), the process proceeds to step S117.
[0099] In step S116, the CPU 11 sets the center frequency of the variable notch filter 120B to a frequency 20 times the rotation frequency of the motor 22 (20th harmonic), which corresponds to the target speed of the moving body 27. It also calculates at least one of the attenuation bandwidth and attenuation amount as notch filter variables (parameters) and returns to step S102 in Figure 9.
[0100] In step S117, the CPU 11 sets the center frequency of the variable notch filter 120B to a frequency that is 10 times the rotation frequency of the motor 22 (10th harmonic), corresponding to the target speed of the moving body 27. It also calculates at least one of the attenuation bandwidth and the attenuation amount as notch filter variables (parameters) and returns to step S102 in Figure 9.
[0101] In step S102 of Figure 9, the CPU 11 generates a position command value to move the mobile body 27 in accordance with the operation plan, i.e., the movement command, and after obtaining the current position (position detection value), it executes position controller processing and terminates the main loop processing. In the position controller processing, the CPU 11 calculates the position deviation by subtracting the obtained current position from the generated position command value, and generates a speed command value by multiplying the position deviation by the position control gain.
[0102] Figure 11 is a flowchart showing an example of the flow of a minor loop by the control program according to this embodiment.
[0103] First, when a motor control instruction is given to the motor control device 10, the CPU 11 starts the control program and executes the following processes. This process is executed as a minor loop, for example, every 100 μs.
[0104] In step S121 of Figure 11, the CPU 11 obtains the current position and calculates the current speed based on that current position.
[0105] In step S122, the CPU 11 acquires the setting information for the variable notch filter 120B. The setting information includes the center frequency, the width of the attenuation bandwidth, and the amount of attenuation, which are set according to the target speed of the moving object 27.
[0106] In step S123, the CPU 11 generates a current command value Ic by executing speed control processing using the speed controller. Specifically, the CPU 11 generates the current command value Ic (torque current command value) by multiplying the speed deviation obtained by subtracting the current speed (speed detection value) from the speed command value by the proportional gain / integral gain for speed control and integrating it using proportional / integral control.
[0107] In step S124, the CPU 11 determines whether the fixed notch filter 120A is enabled or disabled. If it determines that the fixed notch filter 120A is enabled (positive determination), the process proceeds to step S125. If it determines that the fixed notch filter 120A is not enabled, i.e., disabled (negative determination), the process proceeds to step S126. Whether the fixed notch filter 120A is enabled or disabled can be set by a parameter, for example, by the user of the actuator 20, and the CPU 11 performs the determination in step S124 by referring to the information of that parameter.
[0108] In step S125, the CPU 11 performs filtering on the current command value Ic generated in step S123 using a fixed notch filter 120A.
[0109] In step S126, the CPU 11 determines whether the variable notch filter 120B is enabled or disabled. If it determines that the variable notch filter 120B is enabled (positive determination), the process proceeds to step S127. If it determines that the variable notch filter 120B is not enabled, i.e., disabled (negative determination), the process proceeds to step S128.
[0110] In step S127, the CPU 11 performs filtering by a variable notch filter 120B on the current command value Ic generated in step S123 or the current command value Ic that has been filtered by the fixed notch filter 120A in step S125.
[0111] In step S128, the CPU 11 generates a current command value for each phase using the current command value Ic and the electrical angle, and uses the generated current command values for each phase to control the current of the motor 22, thereby ending the processing of the minor loop.
[0112] As described above, according to this embodiment, a variable notch filter process is performed that switches the center frequency according to the moving speed of the moving body. This makes it possible to suppress vibrations in the motor control signal caused by torque ripple, regardless of the moving speed of the moving body.
[0113] Furthermore, even if multiple resonant frequencies change depending on the actuator's installation position, load conditions, etc., this can be addressed by switching the center frequency according to the moving speed of the moving object.
[0114] Furthermore, while reducing the size of the motor to miniaturize the actuator increases the effect of torque ripple, variable notch filtering can effectively suppress vibrations, abnormal noises, and other issues generated in the actuator.
[0115] Furthermore, when dynamically performing notch filtering based on feedback control, it is necessary to determine whether or not vibration is occurring in the motor control signal that receives feedback of the current speed and current position. In contrast, the variable notch filtering process according to this embodiment uses the target speed, so such determination is unnecessary. Therefore, the computational load can be reduced.
[0116] The motor control devices according to each embodiment have been described as examples. The embodiments may take the form of a program that causes a computer to execute the functions of the motor control device. The embodiments may also take the form of a non-temporary storage medium that is readable by a computer that stores these programs.
[0117] Furthermore, the configuration of the motor control device described in the above embodiment is merely an example, and may be modified as needed without departing from the main purpose.
[0118] Furthermore, the program processing flow described in the above embodiment is just one example, and unnecessary steps may be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[0119] Furthermore, although the above embodiment describes a case in which the process according to the embodiment is realized by a software configuration using a computer by executing a program, the embodiment is not limited to this. The embodiment may also be realized by a hardware configuration or a combination of a hardware configuration and a software configuration. [Explanation of Symbols]
[0120] 10 Motor control device 11 CPU 12 ROM 13 RAM 14 I / O 15 Storage section 16 Connection part 20 Actuators 21 Encoders 22 motors 23 Output shaft 24 Coupling 25. Sliding screw shaft 26. Threaded nuts 27 Mobile Unit
Claims
1. A motor control device that controls a motor that moves a mobile object, A position command generation unit generates or obtains from a higher-level device the target position, target speed, and acceleration / deceleration of the moving body, and sequentially generates position command values for moving the moving body to the target position in a manner that exhibits speed changes according to the target speed and acceleration / deceleration. A control signal generation unit that generates a motor control signal based on the position command value and the position detection value, A setting unit sets the center frequency corresponding to the harmonic frequency component that fluctuates according to the moving speed of the moving body, according to the target speed. A filter unit that attenuates frequency components within a predetermined range including the center frequency set by the setting unit from the motor control signal, A motor control device equipped with the following features.
2. The apparatus further comprises another filter section that attenuates frequency components within a predetermined range, including the resonant frequency caused by the structure of the moving body and the motor, The motor control device according to claim 1.
3. The aforementioned center frequency corresponds to the frequency components of harmonics that vary according to the moving speed of the moving body and the number of pole pairs of the motor. The motor control device according to claim 1.
4. The filter unit, when the target speed is equal to or greater than the specified speed, attenuates frequency components within a predetermined range, including the center frequency, from the motor control signal. The motor control device according to claim 1.
5. In addition to setting the center frequency, the setting unit sets at least one of the width of the attenuation band and the amount of attenuation. The motor control device according to claim 1.
6. The motor is a permanent magnet type stepping motor. The motor control device according to claim 1.
7. Mobile and A motor for moving the aforementioned mobile body, A motor control device according to any one of claims 1 to 6 for controlling the motor, Actuators including
8. A motor control method for a motor control device that controls a motor that moves a moving object, The system generates or obtains the target position, target speed, and acceleration / deceleration of the moving body from a higher-level device, and sequentially generates position command values to move the moving body to the target position such that it exhibits a speed change in accordance with the target speed and acceleration / deceleration. A motor control signal is generated based on the position command value and the position detection value. The center frequency corresponding to the harmonic frequency component that fluctuates according to the moving speed of the moving body is set according to the target speed. From the motor control signal, frequency components within a predetermined range including the set center frequency are attenuated. Motor control method.
Citation Information
Patent Citations
Position and speed sensorless controller
JP1999123000A
Drive controller
JP2006190163A
Motor drive unit
JP2014183678A
Servo motor controller having self-measurement function and self-monitoring function for machine rigidity
JP2016034224A
Vibration suppression device and vibration suppression method
JP2021114187A