Method and control device for estimating the rotational speed of a brushless DC motor
Patent Information
- Application Number
- JP2024012574
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-02-24
- Filing Date
- 2024-01-31
- Publication Date
- 2026-09-14
- Estimated Expiration
- 2044-01-31
AI Technical Summary
【0023】 本発明によれば、磁気センサで観測した情報からブラシレスDCモータの回転速度をより高精度に推定することができ、それにより、磁気センサで観測した情報からでもブラシレスDCモータを目標回転速度に高精度で追従させて制御することが可能になる。
Smart Images

Figure 0007919645000034 
Figure 0007919645000035 
Figure 0007919645000036
Abstract
Description
[Technical Field]
[0001] The present invention relates to a method for estimating the rotational speed of a brushless DC motor, and a control device for a brushless DC motor utilizing this rotational speed estimation method. [Background technology]
[0002] Brushless DC motors are simple, easy to control, and widely used in various fields such as industrial products and computer peripherals. Brushless DC motors are typically controlled to match a desired rotational speed while monitoring the rotational speed using a Hall sensor and a rotary encoder. There is a demand for brushless DC motors to be cheaper and lighter. Therefore, since Hall sensors are inexpensive and easy to install, while rotary encoders, which are precision parts, are expensive and heavy, a method has been proposed to control the brushless DC motor by estimating the rotational speed from information observed by a Hall sensor without using a rotary encoder (for example, Patent Document 1).
[0003] In the method for estimating the electrical angle of a brushless motor disclosed in Patent Document 1, the electrical angle used in calculating the PWM drive voltage that rotates the rotor of a brushless DC motor at a target rotational speed is estimated using the period of the PWM drive voltage. This period is calculated based on the rising edge detected by a Hall sensor (see paragraphs 0044-0048 of Patent Document 1).
[0004] On the other hand, in recent years there has been a growing demand for more precise control of brushless DC motors. Therefore, a method for controlling a brushless DC motor by estimating its rotational speed using a Kalman filter has been disclosed (for example, Patent Document 2).
[0005] In the method disclosed in Patent Document 2, the motor angle detected by a motor angle detection sensor is taken as input, and the rotational speed is estimated using a Kalman filter. This estimated rotational speed is used to estimate the torque ripple of the motor (see paragraphs 0023-0027 of Patent Document 2). [Prior art documents] [Patent Documents]
[0006] [Patent Document 1] Japanese Patent Publication No. 2011-030371 [Patent Document 2] Japanese Patent Publication No. 2021-027744 [Overview of the project] [Problems that the invention aims to solve]
[0007] In order to meet the demands for lower costs and lighter weight, if a method is adopted to control a brushless DC motor by estimating the rotational speed from information observed by a Hall sensor without using a rotary encoder, there is a problem in that large observation errors occur due to positional errors of the Hall sensor and the rotor's magnetic poles (hereinafter referred to as "position errors"). This may worsen the brushless DC motor's ability to track the target rotational speed.
[0008] Therefore, we believe that using a Kalman filter to estimate rotational speed is an effective method for suppressing the effects of observation errors. However, conventional methods using Kalman filters, such as the method disclosed in Patent Document 2, are based on the premise of using a rotary encoder, which is disadvantageous for making the device cheaper and lighter.
[0009] The main objective of the present invention is, in view of the above, to propose a method for estimating the rotational speed of a brushless DC motor that can estimate the rotational speed of the brushless DC motor with higher accuracy from information observed by a magnetic sensor such as a Hall sensor, without using a rotary encoder. In addition, the objective of the present invention is to propose a control device that utilizes this rotational speed estimation method and can control the brushless DC motor to track a target rotational speed with high accuracy, even from information observed by a magnetic sensor. [Means for solving the problem]
[0010] [1] In order to solve the above problem, a method for estimating the rotational speed of a brushless DC motor is provided, which calculates the rotational speed of the rotor based on the output of a plurality of magnetic sensors that detect the magnetic poles of the rotor, and estimates the actual rotational speed of the rotor by passing the calculated rotational speed through a Kalman filter, comprising a Kalman filter setting step in which the Kalman filter is set so that the adjustment parameter (r) of the Kalman gain of the Kalman filter becomes a time-varying value r[k] expressed in the following equation 1, TIFF0007919645000001.tif31170 The method is characterized by including: a detection pulse signal acquisition step of acquiring detection pulse signals output from each of a plurality of magnetic sensors at a predetermined sampling period; a rotation speed calculation step of calculating the rotor's rotation speed as the observed rotation speed from a continuous pulse obtained by taking the exclusive OR (XOR) of the detection pulse signals acquired at each sampling time; a Kalman filter update step of updating the adjustment parameter (r) of the Kalman gain of the Kalman filter used at the current sampling time using the previously estimated rotation speed estimated at the previous sampling time; and a rotation speed estimation step of inputting the observed rotation speed calculated at the current sampling time into the Kalman filter whose Kalman gain adjustment parameter (r) has been updated, and estimating the rotor's rotation speed from which observation error noise caused by the position error of the magnetic sensors and the position error of the rotor magnetic poles included in the observed rotation speed has been removed.
[0011] [2] In the method for estimating the rotational speed of a brushless DC motor according to the present invention, the coefficient (h ω It is preferable to set this based on the observation error noise contained in each of the rotational speeds between each edge of the continuous pulses for one rotation of the rotor, as observed when the rotor is driven at a constant rotational speed, as shown in Equation 2 below. TIFF0007919645000002.tif35170
[0012] [3] In the method for estimating the rotational speed of a brushless DC motor according to the present invention, the brushless DC motor may be an 8-pole 3-phase motor, and the adjustment parameter r[k] of the Kalman gain may be designed using 24 pulses obtained from continuous pulses per rotor rotation.
[0013] [4] In the method for estimating the rotational speed of a brushless DC motor according to the present invention, it is preferable to set the variance value of the system noise superimposed on the command voltage as the adjustment parameter (q) of the prior covariance matrix of the Kalman filter.
[0014] [5] In the method for estimating the rotational speed of a brushless DC motor according to the present invention, in the Kalman filter setting step, the adjustment parameter (r) of the Kalman gain of the Kalman filter is set to a time-varying value r[k] represented by the following equation 3, instead of the above equation 1. TIFF0007919645000003.tif78170 It is preferable to use a C matrix (Cρ) that takes into account the bias of observed values of observation error noise in the C matrix used in the formulas for calculating the Kalman gain, covariance matrix, and state estimate.
[0015] [6] In the rotational speed estimation method for a brushless DC motor according to the present invention, in the rotational speed estimation step, if the observed rotational speed calculated in the rotational speed calculation step is obtained in the first sampling immediately after the time has elapsed between the edges of a continuous pulse, the observed rotational speed calculated at the current sampling time is input to a Kalman filter whose Kalman gain adjustment parameter (r) has been updated, and the rotational speed of the rotor is estimated from which observation error noise caused by the position error of the magnetic sensor and the position error of the rotor magnetic pole included in the observed rotational speed has been removed. If the observed rotational speed is not obtained in the first sampling immediately after the time has elapsed between the edges of a continuous pulse, it is preferable to use a different formula for calculating the state estimate value in the Kalman filter than the formula used when the observed rotational speed is obtained in the first sampling immediately after the time has elapsed between the edges of a continuous pulse, and to use the same value as the prior state estimate value as the state estimate value.
[0016] [7] In this case, the Kalman filter may have a first processing Kalman filter mathematical model that includes the observed rotational speed as a parameter in the formula for calculating the state estimate, and a second processing Kalman filter mathematical model that does not include the observed rotational speed as a parameter. If the observed rotational speed is obtained in the first sampling immediately after the time has elapsed between the edges of the continuous pulse, the first processing Kalman filter mathematical model may be used in the Kalman filter update step and the rotational speed estimation step. If the observed rotational speed is not obtained in the first sampling immediately after the time has elapsed between the edges of the continuous pulse, the second processing Kalman filter mathematical model may be used in the Kalman filter update step and the rotational speed estimation step.
[0017] [8] The brushless DC motor control device according to the present invention is connected to a brushless DC motor having a plurality of magnetic sensors that detect and output the magnetic poles of a rotor, and is configured to drive and control the brushless DC motor, comprising: a motor drive unit configured to rotate the rotor at a target rotational speed based on a control command; a detection pulse signal acquisition unit that acquires detection pulse signals output from each of the plurality of magnetic sensors at a predetermined sampling period; a rotational speed calculation unit that calculates the rotational speed of the rotor as an observed rotational speed from a continuous pulse obtained by taking the exclusive OR (XOR) of the detection pulse signals acquired at each sampling time; and a control device that adjusts the Kalman gain parameter (r) so that the time-varying value r[k] expressed in Equation 1 above becomes The system is designed to include: a Kalman filter that estimates the rotor's rotational speed by passing the observed rotational speed calculated by the rotational speed calculation unit through the Kalman filter and removing observation error noise caused by the position error of the magnetic sensor and the position error of the rotor's magnetic poles included in the observed rotational speed; a Kalman filter update unit that updates the adjustment parameter (r) of the Kalman gain of the Kalman filter used at the current sampling time using the previous estimated rotational speed estimated at the previous sampling time; and a motor control command unit that generates a control command based on the estimated rotational speed estimated by the Kalman filter, whose Kalman gain adjustment parameter (r) has been updated by the Kalman filter update unit, and the target rotational speed, and outputs the control command to the motor drive unit, so as to track the target rotational speed.
[0018] [9] In the control device for a brushless DC motor according to the present invention, the Kalman filter has coefficients (h ω It is preferable that this is set based on the observation error noise contained in each of the rotational speeds between each edge of the continuous pulses for one rotation of the rotor, as observed when the rotor is driven at a constant rotational speed, as shown in Equation 2 above.
[0019]
[10] In the control device for a brushless DC motor according to the present invention, it is preferable that the adjustment parameter (q) of the prior covariance matrix of the Kalman filter is set to the variance value of the system noise superimposed on the command voltage.
[0020]
[11] In the control device for a brushless DC motor according to the present invention, the Kalman filter is preferably configured such that the adjustment parameter (r) for the Kalman gain is set to a time-varying value r[k] represented by Equation 3, instead of Equation 1, and the C matrix used in the calculation formulas for the Kalman gain, covariance matrix, and state estimate is a C matrix (Cρ) that takes into account the bias of the observed values of observation error noise.
[0021]
[12] In the control device for a brushless DC motor according to the present invention, the Kalman filter, when the observed rotational speed calculated by the rotational speed calculation unit at the current sampling time is obtained in the first sampling immediately after the time has elapsed between the edges of the continuous pulses, inputs the observed rotational speed calculated at the current sampling time to the Kalman filter updated by the Kalman filter update unit, estimates the rotor rotational speed by removing observation error noise caused by the position error of the magnetic sensor and the position error of the rotor magnetic poles included in the observed rotational speed, and when the observed rotational speed is not obtained in the first sampling immediately after the time has elapsed between the edges of the continuous pulses, it is preferable to use a different formula for calculating the state estimate value than the formula used when the observed rotational speed is obtained in the first sampling immediately after the time has elapsed between the edges of the continuous pulses, and use the same value as the prior state estimate value as the state estimate value.
[0022]
[13] In this case, the Kalman filter has a first processing Kalman filter mathematical model in which the observed rotational speed is included as a parameter in the formula for calculating the state estimate, and a second processing Kalman filter mathematical model in which the observed rotational speed is not included as a parameter, and if the observed rotational speed is obtained in the first sampling immediately after the time has elapsed between the edges of the continuous pulse, the rotational speed of the rotor can be estimated using the first processing Kalman filter mathematical model, and if the observed rotational speed is not obtained in the first sampling immediately after the time has elapsed between the edges of the continuous pulse, the rotational speed of the rotor can be estimated using the second processing Kalman filter mathematical model. [Effects of the Invention]
[0023] According to the present invention, the rotational speed of a brushless DC motor can be estimated with higher accuracy from information observed by a magnetic sensor, thereby enabling the brushless DC motor to be controlled to track a target rotational speed with high accuracy, even from information observed by a magnetic sensor. [Brief explanation of the drawing]
[0024] [Figure 1] This is a diagram showing the configuration of the brushless DC motor system of Embodiment 1. [Figure 2] This is a signal processing diagram for the brushless DC motor system of Embodiment 1. [Figure 3] This is an explanatory diagram illustrating the processing of pulse signals detected by a magnetic sensor in the brushless DC motor system of Embodiment 1. [Figure 4] This is a model diagram of a brushless DC motor according to Embodiment 1. [Figure 5] This is a diagram showing the signal processing by the Kalman filter in Embodiment 1. [Figure 6] This is a flowchart showing the control method for a brushless DC motor according to Embodiment 1. [Figure 7] This is a signal processing diagram using a Kalman filter in Embodiment 2. [Figure 8] This figure shows the state in which the observed rotational speed is being sampled during low-speed rotation. [Figure 9] This is a signal processing diagram using a Kalman filter in Embodiment 3. [Figure 10] This is a flowchart showing the control method for a brushless DC motor according to Embodiment 3. [Figure 11] This graph shows the simulation results to confirm the effect of the Kalman filter in Embodiment 1 in the example. [Figure 12] This graph shows the simulation results to confirm the effect of the Kalman filter in Embodiment 2 in the example. [Figure 13]This graph shows the simulation results to confirm the effect of the Kalman filter in Embodiment 3 in the example. [Figure 14] This is an enlarged view of sections A1 and A2 in Figure 13. [Figure 15] These are enlarged views of sections B1, B2, and B3 of Figure 13. [Modes for carrying out the invention]
[0025] Below, a brushless DC motor system 1 as one embodiment to which the present invention is applied will be described with reference to the drawings. Note that each drawing does not necessarily strictly reflect all actual configurations. In this specification, the term "rotational speed" is used to describe the rotation of the rotor of the brushless DC motor, but this term may be replaced with the term "angular velocity". In this specification, the structure of the brushless DC motor, the driving principle of the brushless DC motor using an inverter circuit, and the peripheral equipment for controlling the brushless DC motor are generally the same as in the conventional, and the explanation of parts that are the same as in the conventional will be simplified or omitted. Also, in the text, for example, "ω hat Signals with the subscript "hat," as shown above, represent estimated signals and are shown in formulas and figures without the subscript, but with an umbrella-shaped accent. In this specification, the timing of processing that is repeated at predetermined intervals (sampling period) is called the sampling time, and the timing of this is indicated using symbols such as [k] or [k|k-1]. For example, [k] means a post-estimation based on processing using data available up to time k, and [k|k-1] means a pre-estimation at time k based on processing using data available up to time k-1.
[0026] (Embodiment 1) (1-1. Configuration of the brushless DC motor system of Embodiment 1) Figure 1 is a configuration diagram of the brushless DC motor system 1 of Embodiment 1. Figure 2 is a signal processing diagram in the brushless DC motor system 1 of Embodiment 1. Figure 3 is an explanatory diagram of the processing of pulse signals detected by a magnetic sensor in the brushless DC motor system 1 of Embodiment 1. First, the configuration of the brushless DC motor system 1 of Embodiment 1 will be explained with reference to Figure 1, and as necessary, to Figures 2 and 3.
[0027] As shown in Figure 1, the brushless DC motor system 1 comprises a brushless DC motor 10 that outputs rotational power and a control device 20 that drives and controls the connected brushless DC motor 10. The brushless DC motor system 1 also includes a computer device 60 connected to the control device 20 for data exchange, allowing data to be set to and from the control device 20. The various components of the brushless DC motor system 1 are described in detail below.
[0028] The brushless DC motor 10 comprises a stator (not shown), a rotor 11 having multiple magnetic poles and rotatable relative to the stator, a plurality of coils 12 fixed to the stator at equal intervals in the circumferential direction, and a plurality of magnetic sensors 13 fixed to the stator at equal intervals in the circumferential direction. The rotor 11 has an output shaft and permanent magnets with south poles and north poles aligned at equal intervals in the circumferential direction relative to the output shaft, forming the rotor. The plurality of coils 12 can switch between generating south pole magnetic force, generating north pole magnetic force, and no magnetic force depending on the presence or absence and direction of current supplied from the motor drive unit 30, which includes an inverter circuit and will be described later. The plurality of magnetic sensors 13 are, for example, Hall sensors and detect the magnetic poles of the rotor 11 facing each other. The stator, the plurality of coils 12, and the plurality of magnetic sensors 13 constitute the stator. The brushless DC motor 10 is an 8-pole, 3-phase motor with U-phase, V-phase, and W-phase configuration, consisting of 8 magnetic poles (divided into 8 sections at 45° intervals) arranged on the rotor 11, 3 coils 12 (at 120° pitch), and 3 magnetic sensors 13 (at 120° pitch). The motor is configured to detect and output the magnetic poles of the rotor 11 using multiple evenly spaced magnetic sensors 13.
[0029] The control device 20 includes a motor drive unit 30, a motor drive power supply 40, and a DSP unit 50 (Digital Signal Processor unit 50), and is configured to drive and control the connected brushless DC motor 10. The control device 20 also has an AD converter and other components, but these other components are known and will not be described.
[0030] The motor drive unit 30 has an inverter circuit that includes a gate driver 31 and a three-phase bridge 32. In the motor drive unit 30, each coil 12 of the brushless DC motor 10 is connected to each line of each phase of the three-phase bridge 32, and the gate driver 31 switches the energized phase based on PID control commands from the DSP unit 50 described later to change the input voltage (u s ) is controlled, and the rotor 11 is brought to a target rotational speed (ω ref It can be driven to rotate using (see also Figure 2).
[0031] The motor drive power supply 40 is electrically connected to the motor drive unit 30 and supplies drive power to the energized phases of the brushless DC motor 10 via the three-phase bridge 32 of the motor drive unit 30.
[0032] The DSP unit 50 is a processing unit having a memory element for storing control programs and temporary data, an arithmetic element for performing calculations, and an input / output interface for data input and output with the outside. It performs digital signal processing and digital signal input / output processing according to the control program stored in the memory element. The DSP unit 50 is configured to include a target rotation speed setting unit 51, a detection pulse signal acquisition unit 52, a rotation speed calculation unit 53, a Kalman filter 54, a Kalman filter update unit 55, and a motor control command unit 56, and is responsible for the control processing of the brushless DC motor 10.
[0033] The target rotation speed setting unit 51 sets the target rotation speed (ω) when driving the brushless DC motor 10 from the computer equipment 60 described later. ref ) accepts input.
[0034] The detection pulse signal acquisition unit 52 acquires the detection pulse signals output from each of the multiple magnetic sensors 13 at a predetermined sampling period (see also Figure 3).
[0035] The rotational speed calculation unit 53 calculates the observed rotational speed (ω) from the continuous pulse obtained by taking the exclusive OR (hereinafter referred to as "XOR") of the three terminal inputs of the three detection pulse signals acquired by the detection pulse signal acquisition unit 52 at each sampling time (see also Figure 3). y). Specifically, in the brushless DC motor system 1, since the brushless DC motor 10 is an 8-pole three-phase motor, as shown in FIG. 3, the rotation speed calculation unit 53 performs an XOR operation on the three detection pulse signals acquired by each detection pulse signal acquisition unit 52 to obtain 24 continuous pulses per rotation of the rotor. That is, the rotation angle (Φ) corresponding to one edge interval in the continuous pulse is theoretically 2π / 24. As represented by the following Equation 5, this 2π / 24 is set to the time between edges (Δt g )), the observed rotation speed (ω y ) can be calculated. TIFF0007919645000004.tif24170
[0036] The Kalman filter 54 is configured such that when the rotation speed calculation unit 53 calculates the observed rotation speed (ω y ), the rotation angle (Φ) corresponding to one edge interval in the continuous pulse is set to the theoretical value of 2π / 24. Strictly speaking, the observed rotation speed (ω y ) contains observation error noise (ω n ) caused by position errors resulting from the installation error of the magnetic sensor 13 or the arrangement error of the magnetic poles of the rotor 11, and is provided for estimating the rotation speed obtained by removing the observation error noise (ω y ) from the passed observed rotation speed (ω n ). The Kalman filter 54 is designed such that the adjustment parameter (r) of the Kalman gain is the time-varying value r[k] represented by the aforementioned Equation 1. As shown in FIG. 2, the command voltage (u) and the observed rotation speed (ω y ) are input to the Kalman filter 54, which executes processing to remove the observation error noise (ω n ) in accordance with the first Kalman filter mathematical model described later, estimates and outputs the estimated rotation speed (ω hat ). Details of the design content of the Kalman filter 54 will be described later.
[0037] The Kalman filter update unit 55 adjusts the Kalman gain adjustment parameter (r) of the Kalman filter 54 to be used at the current sampling time [k] using the previously estimated rotational speed (ω) estimated at the previous sampling time [k|k-1]. hat The update is performed using [k|k-1]). Specifically, the adjustment parameter (r) for the Kalman gain is calculated by Equation 1 above.
[0038] The motor control command unit 56 sets the target rotational speed (ω ref The estimated rotational speed (ω) estimated by the Kalman filter 54, whose Kalman gain adjustment parameter (r) has been updated by the Kalman filter update unit 55 to track the estimated rotational speed (ω) hat ) and target rotation speed (ω ref The motor control command unit 56 generates a control command based on the above. The motor control command unit 56 also outputs the command voltage (u) as the generated control command to the motor drive unit 30.
[0039] The computer equipment 60 includes, for example, a personal computer, a tablet terminal, a mobile terminal, a control switch, and a display panel, and exchanges data with the DSP unit 50, gives instructions on what control content to be executed by the DSP unit 50, displays data acquired from the DSP unit 50, and performs analysis using that data.
[0040] In the brushless DC motor system 1 configured in this way, as shown in Figure 2, first, the target rotational speed (ω ref ) and the estimated rotational speed (ω) estimated by the Kalman filter 54 hat A command voltage (u) for PID control is determined based on the above. This command voltage (u) is sent to the motor drive unit 30 as a control command, but in reality, the motor drive unit 30 receives system noise (u) in addition to the command voltage (u). n The input voltage (u s The command voltage (u) is input. The command voltage (u) information is also fed back to the Kalman filter 54 and used in the estimation of the next estimated rotational speed in the Kalman filter 54. Input voltage (u sWhen the motor drive unit 30 receives the input, it switches the coil 12 that is energized by the inverter circuit accordingly, and rotates the brushless DC motor 10. When the brushless DC motor 10 rotates, multiple magnetic sensors 13 detect the magnetism of the rotor 11, and each detection pulse signal is output to the motor drive unit 30 to instruct the timing of switching the coil 12 that is energized, and at the same time, it is also output to the detection pulse signal acquisition unit 52. Each detection pulse signal output to the detection pulse signal acquisition unit 52 is output to the rotation speed calculation unit 53 at a predetermined sampling period, and the rotation speed calculation unit 53 takes the XOR of the detection pulse signals acquired at each sampling time to obtain a continuous pulse from which the observed rotation speed (ω y ) is calculated. This observed rotational speed (ω y ) is the observation error noise (ω) due to the installation error of the magnetic sensor 13 and the arrangement error of the magnetic poles of the rotor 11, relative to the true rotational speed (ω). n ) is included. In the brushless DC motor system 1, the observed error noise (ω n ) and system noise (u n The Kalman filter 54, designed to reduce the influence of ), allows for the observation of rotational velocity (ω y The estimated rotational speed (ω) obtained by removing these noises from ) hat The actual rotational speed is estimated as (ω), and that estimated rotational speed is hat ) is fed back. Note that the adjustment parameter (r) for the Kalman gain in the Kalman filter 54 is the previously estimated rotational speed (ω) estimated at the previous sampling time. hat This is a time-varying value calculated using [k|k-1]) and is updated each time the estimation process by the Kalman filter 54 is performed (at each sampling period). Specifically, for example, the estimation process is performed 250 times / second, and the adjustment parameter (r) for the Kalman gain in the Kalman filter 54 is updated each time.
[0041] (1-2. Design of the Kalman filter in Embodiment 1) Figure 4 is a model diagram of the brushless DC motor 10 of Embodiment 1. Figure 5 is a signal processing diagram by the Kalman filter 54 of Embodiment 1. The Kalman filter 54 processes the command voltage (u) and observed rotational speed (ω) based on the first Kalman filter mathematical model. y From the input value of ) the system noise (u n ) and observation error noise (ω n ) removes the estimated rotation speed (ω hat It is designed with the aim of producing the following output. The design of the Kalman filter 54 is described below.
[0042] In designing the Kalman filter 54, the first step is to establish a mathematical model for the brushless DC motor 10, which is the control unit. The brushless DC motor 10 is represented as a motor model shown in Figure 4, based on a typical DC servo motor. In this motor model, the output rotational speed is expressed by the following equation 6. TIFF0007919645000005.tif49170
[0043] From here, by holding u in zero order and discretizing it, we get x[k+1]=Ax[k]+bu[k], and obtain a brushless DC motor mathematical model represented by the following equations 7 to 9, as shown in Figure 5. TIFF0007919645000006.tif65170
[0044] Next, as the first Kalman filter mathematical model, we set up a stationary Kalman filter mathematical model represented by the following equations 10 to 15, as shown in Figure 5, and optimize the tuning parameters. TIFF0007919645000007.tif105170
[0045] In the Kalman filter 54, the system noise (u) is introduced through the path shown in Figure 5. n ) and observation error noise (ω nTo remove the system noise (u) superimposed on the command voltage (u), the adjustment parameter (q) of the prior covariance matrix and the adjustment parameter (r) of the Kalman gain are optimized. Specifically, the system noise (u) superimposed on the command voltage (u) is optimized. n ) has an expected value of 0 and system noise (u n ) Variance (σ u 2 White noise following a normal distribution, observation error noise (ω n ) is expected value 0 and observation error noise (ω n ) Variance (σ ω 2 We assume that the white noise follows a normal distribution of ). Then, if the adjustment parameter (q) of the prior covariance matrix is the system noise (u n ) Variance (σ u 2 ) and the adjustment parameter (r) of the Kalman gain is the observation error noise (ω n ) Variance (σ ω 2 When ), the evaluation function J is given by the following equation 16. ud This is the minimum value. TIFF0007919645000008.tif22170
[0046] In Embodiment 1, the adjustment parameter (q) of the prior covariance matrix is the system noise (u) superimposed on the command voltage (u). n ) is known so system noise (u n ) Variance (σ u 2 ) is set. On the other hand, for the adjustment parameter (r) of the Kalman gain, the rotational speed obtained from the detection pulse output by the magnetic sensor 13 is set to the observation error noise (ω n ) including the observed rotational velocity (ω y Since the true rotational speed (ω) is unknown, the key point is how to design it.
[0047] Therefore, in the Kalman filter 54, the rotation angle (Φ1~Φ) corresponds to the interval between each edge of the continuous pulse obtained by taking the XOR of the detection pulse signals output by the magnetic sensor 13. n) are all different due to positional error (n different for every 2π rotation angle of rotor 11), and at the time of observation, the rotation speed between any one edge is observed with a probability of 1 / n (1 / 24 for brushless DC motor 10) to determine the observed rotation speed (ω y It is assumed that this is calculated as follows. And, assuming that the angular velocity (ω) between edges with rotation angle (Φ) is constant, the time between edges (Δt g ), observed rotational speed (ω y ), and observation error noise (ω n ) is expressed by the following equations 17 to 19. TIFF0007919645000009.tif20170 Here, observation error noise (ω n ) is expected value 0 and observation error noise (ω n ) Variance (σ ω 2 Since it is assumed to follow a normal distribution, the observation error noise (ω n ) Variance (σ ω 2 ) can be expressed as a function of rotational velocity (ω) by the following equation 20. TIFF0007919645000010.tif20170 And the coefficient of rotational speed (ω) in Equation 20 is replaced with the coefficient (h) shown in Equation 2 above (set based on the variability of the measured values of observation error noise). ω ) can be obtained. TIFF0007919645000011.tif8170 This coefficient (h ω ) is the rotation angle (Φ1~Φ) corresponding to the interval between each edge of the continuous pulse obtained by taking the XOR of the detection pulse signals of the magnetic sensor 13. n It is a value determined by the coefficient (h). ω ) is calculated by first rotating the rotor 11 at a constant speed ω, and then using the calculation formula ω shown in equation 5 above. y = 2π / n / Δt g (Equation 5 above shows the case where n=24) Using this, the observed rotational speed between each edge of the rotor 11 over a rotation angle of 2π (one rotation) is calculated (ω y ) and each observed error noise (ω n This can be set by obtaining the coefficient (h ωAs shown in Equation 2, the observed error noise (ω) is included in each of the rotational speeds between each edge of the continuous pulse for one rotation of the rotor 11 observed when the rotor 11 is driven at a constant rotational speed. n It is set based on the coefficient (h). ω This value is determined by the motor's inherent position error and is a value that is fixed for each motor, so it may be identified during motor manufacturing, or a rotary encoder may be connected only when identifying it, and the precise rotation angle detected by the rotary encoder may be used.
[0048] Then, the Kalman filter 54, at the time of observation, observes the rotation speed between any one edge with a probability of 1 / n (ω y By considering that it is calculated as ), the identified coefficient (h ω The system is designed to use the formula shown above to set the adjustment parameter (r) of the Kalman gain to a time-varying value (r[k]) represented by Equation 1. TIFF0007919645000012.tif67170
[0049] (1-3. Control method for a brushless DC motor in Embodiment 1) Figure 6 is a flowchart showing the control method for a brushless DC motor according to Embodiment 1. Next, with reference to Figure 6, a control method for a brushless DC motor using a Kalman filter will be explained.
[0050] In the brushless DC motor system 1, the control method for the brushless DC motor involves detecting the magnetic poles of the rotor 11 using multiple magnetic sensors 12. The rotational speed of the rotor 11 is calculated based on the output of the magnetic sensor 13 that detects the magnetic poles of the rotor 11. The calculated rotational speed is passed through a Kalman filter 54 to estimate the actual rotational speed of the rotor 11. hat ) is estimated as, and the estimated rotational speed (ω hatThis is a method for driving and controlling the brushless DC motor 10 by PID control using . This brushless DC motor control method executes a target rotational speed setting step ST1, a Kalman filter setting step ST2, and a detection pulse signal acquisition step ST3, a rotational speed calculation step ST4, a Kalman filter update step ST5, a rotational speed estimation step ST6, and a motor control command step ST7 that are repeated at a fixed sampling period until drive control is stopped.
[0051] In the target rotational speed setting step ST1, a target rotational speed (ω for driving the brushless DC motor 10 ref ) is input and set from an input device such as a computer device 60.
[0052] In the Kalman filter setting step ST2, the Kalman filter 54 is set such that the Kalman gain adjustment parameter (r) becomes the time-varying value r[k] represented by the above-mentioned Equation 1.
[0053] In the detection pulse signal acquisition step ST3, detection pulse signals output from each of the plurality of magnetic sensors 13 are acquired at a predetermined sampling period.
[0054] In the rotational speed calculation step ST4, the rotational speed of the rotor 11 is obtained from continuous pulses obtained by XORing detection pulse signals acquired at each sampling time, and is determined as an observed rotational speed (ω y ). Specifically, the calculation is performed in the same manner as described in the above description of the rotational speed calculation unit 53.
[0055] In the Kalman filter update step ST5, the Kalman gain adjustment parameter (r) of the Kalman filter 54 used at the current sampling time (k) is adjusted based on the previous estimated rotational speed (ω estimated at the previous sampling time (k|k-1) hat [k|k-1]). Specifically, the Kalman gain adjustment parameter (r) is given by the aforementioned Equation 1 (r[k]=h ω ·ω hat [k|k-1]2 calculated and updated by).
[0056] In the rotational speed estimation step ST6, the observed rotational speed (ω y ) calculated at the current sampling time (k) is input to the Kalman filter 54 in which the Kalman gain adjustment parameter (r) has been updated, and the observed rotational speed (ω y ) contains observation error noise (ω n ) caused by the position error of the magnetic sensor 13 and the position error of the magnetic poles of the rotor 11, the rotational speed of the rotor 11 from which said noise has been removed is estimated as an estimated rotational speed (ω hat ). The specific estimation method for the estimated rotational speed (ω hat ) by the Kalman filter 54 is as described above.
[0057] In the motor control command step ST7, the target rotational speed (ω ref ), a control command is generated based on the estimated rotational speed (ω hat ) estimated by the Kalman filter 54 in which the Kalman gain adjustment parameter (r) has been updated and the target rotational speed (ω ref ), so as to cause tracking to, and the control command is output as a drive control signal for the brushless DC motor 10.
[0058] (1-4. Functions and Effects of Embodiment 1) In the rotational speed estimation method for a brushless DC motor according to Embodiment 1, the method comprises: a detection pulse signal acquisition step ST3 of acquiring detection pulse signals output from each of a plurality of magnetic sensors 13 at a predetermined sampling period; and calculating the rotational speed of the rotor 11 as the observed rotational speed (ω yThe rotation speed calculation step ST4 is performed, which calculates the rotation speed as (ω). Therefore, according to Embodiment 1, the rotation speed can be calculated from the information observed by the magnetic sensor 13 without using a rotary encoder. In addition, in the rotation speed estimation method for the brushless DC motor of Embodiment 1, in the Kalman filter setting step ST2, the Kalman filter 54 is set so that the adjustment parameter (r) of the Kalman gain becomes the time-varying value r[k] represented by the above equation 1, thereby reducing the observation error noise (ω n ) is optimized to eliminate variations. Therefore, according to the brushless DC motor rotation speed estimation method of Embodiment 1, the rotation speed of the brushless DC motor 10 can be estimated with higher accuracy from the information observed by the magnetic sensor 13. Furthermore, according to the brushless DC motor 10 control device 20 of Embodiment 1, since the control device 20 of the brushless DC motor 10 is configured using the brushless DC motor rotation speed estimation method that achieves this effect, the rotation speed of the brushless DC motor 10 can be estimated with higher accuracy from the information observed by the magnetic sensor 13.
[0059] (Embodiment 2) The brushless DC motor system and rotational speed estimation method of Embodiment 2 are similar to those of Embodiment 1 in terms of basic configuration, control concept, and control method flow, but use a Kalman filter with a modified Kalman filter mathematical model based on a different design. Therefore, in the following description, we will explain the differences in the design of the Kalman filter and omit other explanations.
[0060] Figure 7 is a signal processing diagram using the Kalman filter 154 of Embodiment 2. In the Kalman filter 54 of Embodiment 1, the estimated rotational speed (ω hat Since a slight bias is observed in the true rotation speed (ω), the Kalman filter 154, like the Kalman filter 54, estimates the rotation speed (ω hat In addition to reducing the variation in ), it also further reduces the estimated rotational speed (ω hatIt is designed with the aim of reducing the bias of ). The design of the Kalman filter 154 is described below.
[0061] In designing the Kalman filter 154, first, for the Kalman filter 54 of Embodiment 1, the observation error noise (ω n ) is expected value 0 and observation error noise (ω n ) Variance (σ ω 2 It is designed to be white noise following a normal distribution of ), but strictly speaking, the expected value is not exactly zero, due to the estimated rotation speed (ω hat We considered that a bias was observed in ). Therefore, for the Kalman filter 154, we modified a normal Kalman filter with an expected value of 0 to set up a new model, and calculated the observation error noise (ω n ) but the expected value μ ω Observation error noise (ω n ) Variance (σ ω 2 It is designed to be white noise following a normal distribution.
[0062] Expected value (μ) in Kalman filter 154 ω ) can be expressed as a function of rotational velocity (ω) by the following equation 21. TIFF0007919645000013.tif7170 Then, by substituting the coefficient of rotational speed (ω) in equation 21, we obtain the coefficient (ρ) shown in the following equation 22 (which is set based on the bias of the measured values of observation error noise). TIFF0007919645000014.tif7170 This coefficient (ρ) is the rotation angle (Φ1~Φ) corresponding to the interval between each edge of the continuous pulse obtained by taking the XOR of the detection pulse signals of the magnetic sensor 13. n The value is determined by ). For this reason, the coefficient (ρ) is calculated by first rotating the rotor 11 at a constant speed ω and using the formula ω shown in equation 5 above. y = 2π / n / Δt g (Equation 5 above shows the case where n=24) Using this, the observed rotational speed between each edge of the rotor 11 over a rotation angle of 2π (one rotation) is calculated (ω y ) and each observed error noise (ωn By obtaining ), E[ω n From ]=ρω, the above equation 4 is derived. TIFF0007919645000015.tif19170 Note that the coefficient (ρ) is a value determined by the motor's inherent position error and is a value determined for each motor, so it may be identified during motor manufacturing, or a rotary encoder may be connected only for identification purposes and the precise rotation angle detected by the rotary encoder may be used.
[0063] Also, observation error noise (ω n ) Variance (σ ω 2 The same can be expressed as a function of rotational velocity (ω), as shown in the following equation 23. TIFF0007919645000016.tif5170
[0064] From the above, observation error noise (ω n ) is the expected value ρω and the observed error noise (ω n The variance of (h ω -ρ 2 )ω 2 It can be considered to follow a normal distribution. This is expressed in equation 24 below, and by the linearity of the normal distribution, it can be decomposed as shown in equation 25, and the observation equation shown in equation 26 is obtained. TIFF0007919645000017.tif15170 Let the coefficient of x in this observation equation [0 1+ρ] be the C matrix (Cρ) which takes into account the bias of the observed values due to observation error noise.
[0065] In the Kalman filter 154, the Kalman filter mathematical model is represented by the processing formulas consisting of equations 10-12 and equations 27-29 as shown in Figure 7. In addition, a second Kalman filter mathematical model is set up using a C matrix (Cρ) that takes into account the bias of observed values of observation error noise in the C matrix used in the calculation formulas for Kalman gain, covariance matrix, and state estimate, and the tuning parameters are optimized. TIFF0007919645000018.tif110170
[0066] In the modified Kalman filter 154, compared to the Kalman filter mathematical model of the Kalman filter 54 of Embodiment 1, the adjustment parameter (r) for the Kalman gain is set to the observation error noise (ω) in order to further consider the bias of the observed values of the observation error noise. n The system is designed to use a coefficient (ρ) set based on the bias of the observed values to obtain the time-varying value (r[k]) represented by Equation 3 above. TIFF0007919645000019.tif78170
[0067] According to the brushless DC motor system and brushless DC motor rotation speed estimation method of Embodiment 2, similar to Embodiment 1, the Kalman filter 154 adjusts the Kalman gain parameter (r) to the observed error noise (ω n The coefficient (h) is set based on ). ω ) has a time-varying value (r[k]), and by making it an observation error noise (ω n It is optimized to eliminate the influence of (ω). Therefore, according to the brushless DC motor system and brushless DC motor rotation speed estimation method of Embodiment 2, the rotation speed of the brushless DC motor 10 can be estimated with higher accuracy from the information observed by the magnetic sensor 13. Furthermore, the brushless DC motor system and brushless DC motor rotation speed estimation method of Embodiment 2 adjusts the Kalman gain parameter (r) to the observation error noise (ω). n A coefficient (ρ) is set that takes into account the bias of the observed values, and the C matrix used in the calculation formulas for the Kalman gain, covariance matrix, and state estimate also takes into account the observation error noise (ω n A C matrix (Cρ) is set that takes into account the bias of the observed values of ). As a result, according to the brushless DC motor system and the rotational speed estimation method of the brushless DC motor of Embodiment 2, observation error noise (ω n By reducing the influence of bias in the above, the rotational speed of the brushless DC motor 10 can be estimated with greater accuracy.
[0068] (Embodiment 3) The brushless DC motor system and rotational speed estimation method of Embodiment 3 are similar to those of Embodiments 1 and 2 in terms of basic configuration, control concept, and control method flow, but use a Kalman filter with a Kalman filter mathematical model that has been extended by adding selective processing to the design. For this reason, the following description will explain the differences in the design of the Kalman filter, and other explanations will be omitted. The selective processing of the Kalman filter extended in Embodiment 3 can also be applied to the Kalman filter used in the brushless DC motor system of Embodiment 1, but below we will describe an example of a Kalman filter with selective processing added based on the Kalman filter 154 used in the brushless DC motor system of Embodiment 2.
[0069] Figure 8 shows the state in which the observed rotational speed is sampled during low-speed rotation, Figure 9 is a signal processing diagram by the Kalman filter 254 of Embodiment 3, and Figure 10 is a flowchart of the control method of a brushless DC motor using the Kalman filter 254. For the Kalman filter 154 of Embodiment 2, the estimated rotational speed (ω) is similar to that of the Kalman filter 54 of Embodiment 1. hat In addition to reducing the variation in ), it also further reduces the estimated rotational speed (ω hat While the design aims to reduce the bias of the ), the Kalman filter 254 of Embodiment 3 is based on the Kalman filter 154 of Embodiment 2 and is further designed to prevent deterioration of observation accuracy due to the reduction of observation data at low rotation speeds. The design of the Kalman filter 254 is described below.
[0070] In designing the Kalman filter 254, first, for the Kalman filter 154 of Embodiment 2, similar to a general Kalman filter, the observed value (in Embodiment 2, the observed rotational speed (ω)) is measured at a constant period. yThe sample is taken from ). For this reason, when the rotor of a brushless DC motor is rotating at low speed, the sampling period (shown with the sign "T" in Figure 8) may be shorter than the time between edges of the continuous pulses obtained by taking the XOR of the detected pulse signals (Δtg) (see also Figure 3), as shown in Figure 8. At this time, the observed rotational speed (ω y Because the update frequency of ) decreases, the same observed rotation speed (ω) is used at consecutive sampling times. y We are forced to sample the observed rotational speed (ω) calculated at the sampling time. y ) does not change from the previously observed rotation speed calculated at the previous sampling time. As an example, in Figure 8, the observed rotation speed (ω) obtained at the first sampling immediately after the time (Δtg) between the edges of the continuous pulses obtained by taking the XOR of the detected pulse signals is shown. y ) is indicated by a double circle, and the observed rotation velocity (ω) obtained in sampling other than immediately after the time (Δtg) elapsed between edges is shown. y The black circles indicate the observed rotational velocity (ω) except immediately after the time (Δtg) has elapsed between edges. y ) is the observed rotational velocity (ω) immediately after the time elapsed between the edges immediately preceding it (Δtg). y ) remains unchanged, and the observed rotational speed (ω y ) is not updated. In the Kalman filter 154 of Embodiment 2, the observation error noise (ω n ) but the expected value μ ω Observation error noise (ω n ) Variance (σ ω 2 It is designed to be white noise that follows a normal distribution, but the same observed rotational speed (ω y When sampling, observation error noise (ω n ) deviates significantly from the design, resulting in a deterioration of estimation accuracy. Therefore, the Kalman filter 254 is designed to selectively apply a different estimation process at low rotation speeds in order to prevent deterioration of estimation accuracy at low rotation speeds.
[0071] As shown in Figure 9, the Kalman filter 254 has a first processing Kalman filter mathematical model 254a, which is the same as the second Kalman filter mathematical model set in the Kalman filter 154 of Embodiment 2, and a second processing Kalman filter mathematical model 254b, which has some differences in equations from the second Kalman filter mathematical model. The Kalman filter 254 also includes a model selection processing unit 254c that selects whether to use the first processing Kalman filter mathematical model 254a or the second processing Kalman filter mathematical model 254b for estimation at each sampling time.
[0072] The first processing Kalman filter mathematical model 254a is the second Kalman filter mathematical model set in the Kalman filter 154 of Embodiment 2, and as mentioned above, it is represented by the following processing formula consisting of equations 10 to 12 and equations 27 to 29. TIFF0007919645000020.tif110170
[0073] The second processing Kalman filter mathematical model 254b is obtained by replacing only the state estimate calculation formula (Equation 29) with a different state estimate calculation formula (Equation 30) from the second Kalman filter mathematical model set in the Kalman filter 154 of Embodiment 2, and is represented by the following processing formula consisting of Equations 10-12, Equations 27-28, and Equation 30. That is, the second processing Kalman filter mathematical model 254b is obtained by replacing the state estimate calculation formula (Equation 30) with the observed rotational speed (ω y The state estimate is one in which the rotational speed of the rotor 11 is the same as the prior state estimate calculated in equation 11, without including the parameter. TIFF0007919645000021.tif113170
[0074] The model selection processing unit 254c calculates the observed rotational speed (ω y ) received, the observed rotational speed (ω y The Kalman filter mathematical model to be used for estimation is selected for each sampling time according to the observed rotation speed (ω). More specifically, the model selection processing unit 254c selects the Kalman filter mathematical model to be used for estimation for each sampling time according to the observed rotation speed (ω). yIf the time (Δtg) between edges has just elapsed, the first processing Kalman filter mathematical model 254a is selected, and the observed rotational velocity calculated at the current sampling time is input to the Kalman filter 254 updated by the Kalman filter update unit 55 (ω y ) and the observed rotational speed (ω y Observation error noise (ω) caused by the position error of the magnetic sensor 13 and the position error of the rotor magnetic poles included in ) n The rotational speed of rotor 11 with the (ω) removed is estimated. Meanwhile, the model selection processing unit 254c estimates the observed rotational speed (ω y If the time interval (Δtg) between edges has not elapsed, the second processing Kalman filter mathematical model 254b is selected, and the state estimate is set to be the same as the prior state estimate calculated in equation 11 for the rotational speed of the rotor 11. In other words, when the rotation is at a low speed, the model selection processing unit 254c selectively uses the second processing Kalman filter mathematical model 254b for low-speed rotation to estimate the rotational speed of the rotor 11, and when the rotation becomes somewhat faster than low speed, it uses only the first processing Kalman filter mathematical model 254a to estimate the rotational speed of the rotor 11 in the same manner as in Embodiment 2.
[0075] Thus, the control method for a brushless DC motor using a Kalman filter 254 that selectively switches Kalman filter mathematical models, as shown in Figure 10, first executes the target rotational speed setting step ST1, the Kalman filter setting step ST2, the detection pulse signal acquisition step ST3, and the rotational speed calculation step ST4, similar to embodiments 1 and 2. Subsequently, in this control method, the observed rotational speed (ω) calculated in the rotational speed calculation step ST4 is used. y The model selection processing unit 254c, upon receiving the ) as described above, determines the observed rotational speed (ω yThe process selection step ST100 determines whether it is immediately after the time (Δtg) between edges has elapsed or not, and selects the first processing Kalman filter mathematical model 254a if it is immediately after the time (Δtg) between edges has elapsed (the timing shown by the double circle in Figure 8), and selects the second processing Kalman filter mathematical model 254b if it is not immediately after the time (Δtg) between edges has elapsed (the timing shown by the black circle in Figure 8). Subsequently, this control method uses the Kalman filter mathematical model selected in the process selection step ST100 to execute the Kalman filter update step ST5, the rotation speed estimation step ST6, and the motor control command step ST7, similar to Embodiment 1 and Embodiment 2. If the drive control is to be continued, the process returns to the detection pulse signal acquisition step ST3, and the flow from detection pulse signal acquisition step ST3 to motor control command step ST7 is repeated.
[0076] According to the brushless DC motor system and brushless DC motor rotation speed estimation method of Embodiment 3, similar to Embodiments 1 and 2, the Kalman filter 254 adjusts the Kalman gain parameter (r) to the observed error noise (ω n The coefficient (h) is set based on ). ω ) has a time-varying value (r[k]), and by making it an observation error noise (ω n It is optimized to eliminate the influence of (ω). Therefore, according to the brushless DC motor system and brushless DC motor rotation speed estimation method of Embodiment 3, the rotation speed of the brushless DC motor 10 can be estimated with higher accuracy from the information observed by the magnetic sensor 13. Furthermore, the brushless DC motor system and brushless DC motor rotation speed estimation method of Embodiment 3 uses the Kalman filter 254 to estimate the observed rotation speed (ω yThe formula for calculating the state estimate is selectively used depending on whether the time (Δtg) between edges has just elapsed or not. That is, in the brushless DC motor system and brushless DC motor rotation speed estimation method of Embodiment 3, while the estimation accuracy deteriorates at low rotation speeds in the brushless DC motor system and brushless DC motor rotation speed estimation method of Embodiment 2, the observed rotation speed (ω y The system identifies low-speed rotation conditions where the state includes a period other than immediately after the time interval (Δtg) between edges, and selectively uses a second Kalman filter mathematical model 254b to adapt the Kalman filter mathematical model to low-speed rotation, thereby estimating the rotational speed of the rotor 11. Therefore, according to the brushless DC motor system and the rotational speed estimation method for the brushless DC motor of Embodiment 3, the rotational speed of the rotor 11 can be estimated with greater accuracy even at low-speed rotation.
[0077] [Other forms] Although the present invention has been described above based on the above embodiments, the present invention is not limited to the above embodiments. It can be implemented in various forms without departing from the spirit of the invention, and for example, the following modifications are also possible.
[0078] (1) The number of components, connection methods, Kalman filter setting parameters, etc., described in the above embodiments are illustrative examples and can be changed within the scope that does not impair the effects of the present invention.
[0079] (2) In the embodiments described above, the control device for the brushless DC motor is described as a device in which the motor drive unit, the motor drive power supply, and the DSP unit are integrated, but the present invention is not limited thereto. For example, some components may be configured as separate devices electrically connected to the control device.
[0080] (3) In the embodiments described above, the brushless DC motor was described as an 8-pole 3-phase motor, but the present invention is not limited thereto. For example, the rotor 11 may be a 2-pole 3-phase motor with 2 magnetic poles (divided into two 180° sections).
[0081] (4) In the embodiments described above, in equations 2 and 20, the value of the sum of squared deviations was divided by n to find the sample variance for hω. However, the unbiased variance obtained by dividing the value of the sum of squared deviations by n-1 may also be used as hω in the calculation.
[0082] (5) In the embodiments described above, the control commands from the DSP unit 50 were described as PID control, but the present invention is not limited thereto. The present invention can also be applied to cases where the control commands from the DSP unit are feedback control such as I-PD control or PI-PD control.
[0083] (6) In the embodiments described above, the rotational speed estimation method is explained using a brushless DC motor system 1 with a rotational speed control system as shown in Figure 2 as an example. However, the rotational speed estimation method according to the present invention is not limited to application to a speed-controlled brushless DC motor system. For example, it can also be applied to a position-controlled brushless DC motor system. [Examples]
[0084] Figure 11 is a graph showing the simulation results to confirm the effect of the Kalman filter 54 of Embodiment 1 in the embodiment. In the brushless DC motor model shown in Figure 4, the values shown in Table 1 were used for each parameter such as circuit resistance (parameters in Equation 6 above). Figure 11(a) is a graph showing the simulation results when the Kalman filter is not used. Figure 11(b) shows the results when the Kalman filter is used, but the adjustment parameter (r) for the Kalman gain is set to r=h ω ·1 2This graph shows the simulation results when the design is made to keep the value constant. Figure 11(c) shows the Kalman filter 54 of Embodiment 1, with the adjustment parameter (r) of the Kalman gain set to r[k]=h ω ·ω hat [k|k-1] 2 This graph shows the simulation results when designed to have a time-varying value. First, let's refer to Figure 11 and explain the effect of the Kalman filter 54 in Embodiment 1. Note that when using a Kalman filter, the system noise (u) is set as the adjustment parameter (q) of the prior covariance matrix. n ) Variance (σ u 2 The simulation is being performed with the value set to =0.01.
[0085] [Table 1]
[0086] As seen in the simulation results in Figure 11, compared to the graph in Figure 11(a) when a Kalman filter is not used, the graphs in Figures 11(b) and 11(c) when a Kalman filter is used show that the observed rotation speed (ω) is relative to the true rotation speed (ω). y It can be seen that the variation in ) is suppressed. Furthermore, even when using a Kalman filter, in the graph of Figure 11(b) where the adjustment parameter (r) of the Kalman gain is designed to be a constant value, the graph of Figure 11(c) where the adjustment parameter (r) of the Kalman gain is designed to be a time-varying value shows that the observed rotation speed (ω) is compared to the true rotation speed (ω). y It can be seen that the variation in ) is suppressed. From the simulation results shown in Figure 11, the estimated rotational speed (ω hat The root mean squared error {RMSE (Root Mean Squared Error)} of ) was calculated and is shown in Table 2.
[0087] [Table 2]
[0088] As shown in Table 2, the RMSE is 3.9700 when no Kalman filter is used as shown in Figure 11(a), whereas the RMSE is 1.0489 when a Kalman filter designed with a constant Kalman gain adjustment parameter (r) is used as shown in Figure 11(b). When a Kalman filter designed with a constant Kalman gain adjustment parameter (r) is used, the observation error noise (ω) is lower compared to when no Kalman filter is used. n The effect of ) is removed by 73.58%. Furthermore, when a Kalman filter designed for time-varying values is used, as shown in Figure 11(c), the RMSE = 0.3475. When a Kalman filter of the first Kalman filter mathematical model, designed for time-varying values, is used, the observation error noise (ω) is reduced compared to when no Kalman filter is used. n The effect of ) is removed by 91.25%. This simulation result shows that when using a Kalman filter, especially when using the Kalman filter of the first Kalman filter mathematical model, the observation error noise (ω n The effect of suppressing variability in ) was confirmed.
[0089] Figure 12 is a graph showing the simulation results to confirm the effect of the Kalman filter 154 of Embodiment 2 in the example, with the range for constant speed rotation enlarged. Figure 12(a) is a graph showing the simulation results when using the Kalman filter of the first Kalman filter mathematical model, which does not consider the bias of observed values of observation error noise. Figure 12(b) is a graph showing the simulation results when using the Kalman filter of the second Kalman filter mathematical model, which considers the bias of observed values of observation error noise. Next, referring to Figure 12, the effect of the Kalman filter 154 described in Embodiment 2 will be explained. Note that the adjustment parameter (q) of the prior covariance matrix of the Kalman filter is set to system noise (u n ) Variance (σ u 2 The simulation is being performed with the value set to =0.01.
[0090] As seen in the simulation results in Figure 12, the graph in Figure 12(a) shows the result when using Kalman filter 54, which does not take into account the bias of observed values in observation error noise, while the graph in Figure 12(b) shows the result when using Kalman filter 154, which does take into account the bias of observed values in observation error noise. y ) is approaching. From the simulation results shown in Figure 12, the estimated rotational speed (ω hat The root mean squared error {RMSE (Root Mean Squared Error)} of ) was calculated and is shown in Table 3.
[0091] [Table 3]
[0092] As shown in Table 3, the estimated rotational speed (ω hat When calculating the root mean square error (RMSE) of ), the RMSE is 0.3475 when using the Kalman filter 54 in Figure 12(a), while the RMSE is 0.3312 when using the Kalman filter 154 in Figure 12(b). When using the Kalman filter 154, which takes into account the bias of the observed values in the observation error noise, the RMSE is higher than when not using a Kalman filter. n The effect of (ω) is removed by 91.66%, which is better than when using Kalman filter 54. This simulation result shows that when using Kalman filter 154, which takes into account the bias of observed values for observation error noise, the observed error noise (ω) is removed better than when using Kalman filter 54, which does not take into account the bias of observed values for observation error noise. n The effect of suppressing bias in ) was confirmed.
[0093] Furthermore, to verify robustness, the Kalman filter 54 of the first Kalman filter mathematical model was used to determine the observation error noise (ω n The coefficient (h) identified based on ) ω A simulation was performed assuming an identification error of ±5% in the ) value. As a result, the estimated rotational speed (ω hatThe root mean square error (RMSE) of ) was calculated and is shown in Table 4.
[0094] [Table 4]
[0095] As shown in Table 4, the coefficient (h ω If there is no identification error, the RMSE = 0.3475, compared to when no Kalman filter is used, and the observation error noise (ω n The effect of (h) is removed by 91.25%. On the other hand, the coefficient (h ω When the identification error of ) is +5%, the RMSE = 0.3468, compared to when no Kalman filter is used, the observation error noise (ω n The effect of ) is removed by 91.27%. On the other hand, the coefficient (h ω When the identification error of ) is -5%, the RMSE = 0.3483, compared to when no Kalman filter is used, and the observation error noise (ω n The effect of (h) is removed by 91.23%. As can be seen from this, the coefficient (h ω Even with a ±5% identification error, the estimated rotational speed (ω) estimated using the Kalman filter 54 of the first Kalman filter mathematical model is still accurate. hat There is almost no change in ).
[0096] Furthermore, as a verification of robustness, the Kalman filter 54 of the first Kalman filter mathematical model was used to determine the estimated rotational speed (ω) used in updating the adjustment parameter (r) of the Kalman gain. hat A simulation was performed to show the case where a delay of several steps occurs in [k|kL])(where L is the number of steps delay). As a result, the estimated rotation speed (ω hat The root mean square error (RMSE) of ) was calculated and is shown in Table 5.
[0097] [Table 5] As shown in Table 5, in the case of the design value of a 1-step delay (L=1), the RMSE = 0.3475, and the observation error noise (ω) is higher compared to when no Kalman filter is used. n ) removes 91.25% of the effect. On the other hand, in the case of a 2-step delay (L=2), the RMSE = 0.3585, compared to not using a Kalman filter, the observation error noise (ω n ) removes 90.97% of the effect. On the other hand, in the case of a 5-step delay (L=5), the RMSE = 0.3644, compared to not using a Kalman filter, the observation error noise (ω n ) removes 90.82% of its effects. As can be seen from this, even if there is a delay in the estimated rotational speed used in updating the adjustment parameter (r) of the Kalman gain, the estimated rotational speed (ω) estimated using the Kalman filter 54 of the first Kalman filter mathematical model is still available. hat There is almost no change in ).
[0098] Figure 13 is a graph showing the simulation results to confirm the effect of the Kalman filter of Embodiment 3 in the example. It shows the state after the rotational speed of the rotor 11 has been increased to a certain extent and then rotated at a low speed. Figure 13(a) shows the result when observed using the conventional method without a Kalman filter as in Comparative Example 3, Figure 13(b) shows the result when estimated using the Kalman filter 154 of Embodiment 2, and Figure 13(c) shows the result when estimated using the Kalman filter 254 of Embodiment 3. Figure 14 is an enlarged view of parts A1 and A2 of Figure 13. Figure 15 is an enlarged view of parts B1, B2, and B3 of Figure 13. The effect of the Kalman filter 254 of Embodiment 3 will be explained with reference to these figures.
[0099] As seen in the simulation results in Figure 13, the graph in Figure 13(a) when no Kalman filter is used is different from the graphs in Figures 13(b) and 13(c) when a Kalman filter is used, where the observed rotation speed (ω) is different from the true rotation speed (ω). yIt can be seen that the variation in ) is suppressed. Furthermore, even when using a Kalman filter, in the low-speed range of 15-20 rad / s for the rotational speed of the rotor 11, it can be seen that the variation in Figure 14(b) using the Kalman filter 254 of Embodiment 3 is suppressed compared to the graph in Figure 14(a) using the Kalman filter 154 of Embodiment 2. Moreover, in the extremely low-speed range of 0-0.5 rad / s for the rotational speed of the rotor 11, the graphs in Figure 15(a) using the conventional method without a Kalman filter and Figure 15(b) using the Kalman filter 154 of Embodiment 2 show that the actual rotational speed and the estimated rotational speed (ω hat Although the difference is large, in Figure 15(c) using the Kalman filter 254 of Embodiment 3, the actual rotational speed and the estimated rotational speed (ω hat It can be seen that the difference with ) is small. From the simulation results shown in Figure 13, the estimated rotational speed (ω hat The root mean squared error {RMSE (Root Mean Squared Error)} of ) was calculated and is shown in Table 6.
[0100] [Table 6]
[0101] As shown in Table 6, when the Kalman filter shown in Figure 13(a) is not used, the RMSE is 4.1864, whereas when the Kalman filter shown in Figures 13(b) and 13(c) is used, the RMSE is 0.5 or less, and the observation error noise (ω) when the Kalman filter is used is n The effect of suppressing the variation of ) was confirmed. Furthermore, when using the Kalman filter 154 of Embodiment 2 shown in Figure 13(b), the RMSE is 0.4290, whereas when using the Kalman filter 254 of Embodiment 3 shown in Figure 13(c), the RMSE is 0.2894, and the observation error noise (ω) of the Kalman filter 254, which uses a calculation formula for state estimation values suitable for low-speed rotation, accurately estimates the rotational speed of the rotor 11 even at low speeds. n Further reduction in variability was confirmed.
[0102] From the above simulation results, the rotational speed estimation method for a brushless DC motor to which the present invention is applied is such that observation error noise (ω n It was confirmed that this method can significantly reduce the effects of [unspecified factor] and is a practical method that can tolerate a certain degree of control error. [Explanation of Symbols]
[0103] 1…Brushless DC motor system, 10…Brushless DC motor, 11…Rotor, 12…Coil, 13…Magnetic sensor, 20…Control device, 30…Motor drive unit, 31…Gate driver, 32…3-phase bridge, 40…Power supply for motor drive, 50…DSP unit, 51…Target rotation speed setting unit, 52…Detection pulse signal acquisition unit, 53…Rotation speed calculation unit, 54…Kalman filter (of the first Kalman filter mathematical model), 55…Kalman filter update unit, 56…Motor speed command unit, 60…Computer equipment, 154…Kalman filter (of the second Kalman filter mathematical model), 254…Kalman filter (for the first processing Kalman filter mathematical model and the second processing Kalman filter mathematical model), 254a…First processing Kalman filter mathematical model, 254b…Second processing Kalman filter mathematical model, 254c…Model selection processing unit, ST1…Target rotation speed setting step, ST2…Kalman filter setting step, ST3…Detection pulse signal acquisition step, ST4…Rotation speed calculation step, ST5…Kalman filter update step, ST6…Rotation speed estimation step, ST7…Motor control command step, ST100…Processing selection step
Claims
1. A method for estimating the rotational speed of a brushless DC motor, comprising: calculating the rotational speed of the rotor based on the output of multiple magnetic sensors that detect the magnetic poles of the rotor; and estimating the actual rotational speed of the rotor by passing the calculated rotational speed through a Kalman filter, A Kalman filter setting step in which the Kalman filter is set such that the adjustment parameter (r) of the Kalman gain of the Kalman filter becomes a time-varying value r[k] represented by the following equation 1, A detection pulse signal acquisition step in which detection pulse signals output from each of the plurality of magnetic sensors are acquired at a predetermined sampling period, A rotational speed calculation step in which the rotational speed of the rotor is calculated as the observed rotational speed from a continuous pulse obtained by taking the exclusive OR (XOR) of the detection pulse signals acquired at each sampling time, A Kalman filter update step in which the adjustment parameter (r) of the Kalman gain of the Kalman filter used at the current sampling time is updated using the previously estimated rotational speed estimated at the previous sampling time, A rotational speed estimation step in which the observed rotational speed calculated at the current sampling time is input to the Kalman filter, whose adjustment parameter (r) for the Kalman gain has been updated, and observation error noise caused by the position error of the magnetic sensor and the position error of the rotor magnetic pole included in the observed rotational speed is removed, A method for estimating the rotational speed of a brushless DC motor, characterized by including the following:
2. The coefficient (h ω A method for estimating the rotational speed of a brushless DC motor according to claim 1, wherein the rotational speed is set based on the observation error noise contained in each of the rotational speeds between each edge of the continuous pulses for one rotation of the rotor, which are observed when the rotor is driven at a constant rotational speed, as shown in the following equation 2.
3. The aforementioned brushless DC motor is an 8-pole, 3-phase motor. The method for estimating the rotational speed of a brushless DC motor according to claim 2, wherein the adjustment parameter r[k] of the Kalman gain is designed using 24 pulses obtained per rotation of the rotor from the continuous pulses.
4. The method for estimating the rotational speed of a brushless DC motor according to claim 1, wherein the adjustment parameter (q) of the prior covariance matrix of the Kalman filter is set to the variance value of the system noise superimposed on the command voltage.
5. In the Kalman filter setting step, Instead of using Equation 1 above, the adjustment parameter (r) for the Kalman gain of the Kalman filter is set to a time-varying value r[k] represented by the following Equation 3: The method for estimating the rotational speed of a brushless DC motor according to claim 1, wherein a C matrix (Cρ) that takes into account the bias of the observed values of the observation error noise is used in the C matrix used in the formulas for calculating the Kalman gain, covariance matrix, and state estimate.
6. In the aforementioned rotational speed estimation step, If the observed rotational speed calculated in the rotational speed calculation step is obtained at the first sampling immediately after the time elapsed between the edges of the continuous pulse, the observed rotational speed calculated at the current sampling time is input to the Kalman filter, whose Kalman gain adjustment parameter (r) has been updated, and the rotational speed of the rotor is estimated from which observation error noise caused by the position error of the magnetic sensor and the position error of the rotor magnetic pole included in the observed rotational speed has been removed. A method for estimating the rotational speed of a brushless DC motor according to any one of claims 1 to 5, wherein, if the observed rotational speed is not obtained in the first sampling immediately after the time has elapsed between the edges of the continuous pulses, the calculation formula for the state estimate in the Kalman filter is different from the formula used when the observed rotational speed is obtained in the first sampling immediately after the time has elapsed between the edges of the continuous pulses, and the state estimate is the same as the prior state estimate.
7. The Kalman filter is configured to include a first processing Kalman filter mathematical model in the state estimate calculation formula, which includes the observed rotational speed as a parameter, and a second processing Kalman filter mathematical model that does not include the observed rotational speed as a parameter. If the observed rotational speed was obtained in the first sampling immediately after the time elapsed between the edges of the continuous pulse, then in the Kalman filter update step and the rotational speed estimation step, the first processing Kalman filter mathematical model is used. If the observed rotational speed is not obtained in the first sampling immediately after the time elapsed between the edges of the continuous pulse, the method for estimating the rotational speed of a brushless DC motor according to claim 6, wherein the second processing Kalman filter mathematical model is used in the Kalman filter update step and the rotational speed estimation step.
8. A control device for a brushless DC motor, which is connected to a brushless DC motor having multiple magnetic sensors that detect and output the magnetic poles of the rotor, and is configured to drive and control the brushless DC motor, A motor drive unit configured to rotate the rotor at a target rotational speed based on a control command, A detection pulse signal acquisition unit that acquires detection pulse signals output from each of the plurality of magnetic sensors at a predetermined sampling period, A rotational speed calculation unit calculates the rotational speed of the rotor as the observed rotational speed from a continuous pulse obtained by taking the exclusive OR (XOR) of the detection pulse signals acquired at each sampling time, The adjustment parameter (r) of the Kalman gain is designed to be a time-varying value r[k] represented by the following equation 1, and the observed rotational speed calculated by the rotational speed calculation unit is passed through a Kalman filter that estimates the rotational speed of the rotor by removing observation error noise caused by the position error of the magnetic sensor and the position error of the rotor magnetic poles included in the observed rotational speed. A Kalman filter update unit updates the adjustment parameter (r) of the Kalman gain of the Kalman filter used at the current sampling time using the previously estimated rotational speed estimated at the previous sampling time. A control device for a brushless DC motor, comprising: a motor control command unit that generates a control command based on the estimated rotational speed estimated by the Kalman filter, whose Kalman gain adjustment parameter (r) has been updated by the Kalman filter update unit to track the target rotational speed, and the target rotational speed, and outputs the control command to the motor drive unit.
9. The Kalman filter has the coefficient (h ω The control device for a brushless DC motor according to claim 8, wherein the value is set based on the observation error noise included in each of the rotational speeds between each edge of the continuous pulses for one rotation of the rotor, as observed when the rotor is driven at a constant rotational speed, as shown in the following equation 2.
10. The control device for a brushless DC motor according to claim 8, wherein the Kalman filter has a prior covariance matrix adjustment parameter (q) set to the variance value of the system noise superimposed on the command voltage.
11. The Kalman filter has a time-varying value r[k], expressed in the following equation 3, as the adjustment parameter (r) for the Kalman gain, instead of the one in equation 1. The control device for a brushless DC motor according to claim 8, wherein the C matrix used in the formulas for calculating the Kalman gain, covariance matrix, and state estimate is a C matrix (Cρ) that takes into account the bias of the observed values of the observation error noise.
12. The aforementioned Kalman filter is If the observed rotational speed calculated by the rotational speed calculation unit at the current sampling time is obtained at the first sampling immediately after the time elapsed between the edges of the continuous pulse, the Kalman filter update unit inputs the observed rotational speed calculated at the current sampling time into the updated Kalman filter, and estimates the rotational speed of the rotor after removing observation error noise caused by the position error of the magnetic sensor and the position error of the rotor magnetic poles included in the observed rotational speed. If the observed rotational speed is not obtained in the first sampling immediately after the time has elapsed between the edges of the continuous pulse, the state estimation value is calculated using a formula different from the formula used when the observed rotational speed is obtained in the first sampling immediately after the time has elapsed between the edges of the continuous pulse, and the state estimation value is the same as the prior state estimation value, according to any one of claims 8 to 11.
13. The Kalman filter has a first processing Kalman filter mathematical model in which the observed rotational speed is included as a parameter in the formula for calculating the state estimate, and a second processing Kalman filter mathematical model in which the observed rotational speed is not included as a parameter. If the observed rotational speed is obtained in the first sampling immediately after the time elapsed between the edges of the continuous pulse, the rotational speed of the rotor is estimated using the first processing Kalman filter mathematical model. If the observed rotational speed is not obtained in the first sampling immediately after the time elapsed between the edges of the continuous pulse, the control device for a brushless DC motor according to claim 12, wherein the rotational speed of the rotor is estimated using the second processing Kalman filter mathematical model.
Citation Information
Patent Citations
Operation auxiliary device for vehicle, and vehicle equipped with operation auxiliary device for vehicle
JP2005162025A
Speed detection circuit
JP2008157886A
Electric angle estimation method for brushless motor, and brushless motor
JP2011030371A
Lens control device and its control method
JP2020091415A
Material testing machine and control method for material testing machine
JP2020169838A