Semiconductor devices and motor control programs

The semiconductor device addresses stalling issues in Hall sensor-equipped motors by correcting speed detection values to enhance motor performance and efficiency, particularly at low speeds.

JP2026109271APending Publication Date: 2026-07-01RENESAS ELECTRONICS CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
RENESAS ELECTRONICS CORP
Filing Date
2024-12-19
Publication Date
2026-07-01

AI Technical Summary

Technical Problem

Motors equipped with Hall sensors face issues such as low position detection resolution, high noise, and low power efficiency, leading to stalling during low-speed operation, necessitating countermeasures like setting a high lower limit for motor speed.

Method used

A semiconductor device with a speed detector, speed correction circuit, and speed controller that calculates and corrects speed detection values to prevent stalling by adjusting torque command values based on Hall sensor signals, using a speed correction method during deceleration.

Benefits of technology

Prevents motor stalling during low-speed rotation and allows for a lower guaranteed operating speed limit, improving motor performance and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026109271000001_ABST
    Figure 2026109271000001_ABST
Patent Text Reader

Abstract

The present invention provides a semiconductor device that can prevent stalling during low-speed rotation of a motor equipped with a Hall sensor. [Solution] The speed detector 120 receives a Hall signal HS and calculates a first speed detection value ω based on the toggle time interval Ti each time the Hall signal HS toggles. The speed correction circuit 125 calculates a second speed detection value ω2 by correcting the first speed detection value ω in the deceleration direction during the correction period. The correction period is the period from when the elapsed time T(t) since the Hall signal HS toggle exceeds the reference time, with the current toggle time interval Ti based on the first speed detection value ω being the reference time, until the next Hall signal HS toggle occurs. The speed controller 102 takes the second speed detection value ω2 and a preset speed command value ω * The motor torque command value is calculated based on the speed deviation.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a semiconductor device and a motor control program, and more particularly to a control technology for a motor equipped with a Hall sensor. [Background technology]

[0002] Patent Document 1 describes a motor control device that can easily or efficiently achieve high functionality. This motor control device includes a PWM control unit that controls an inverter using a PWM signal, as well as an FV conversion unit. The FV conversion unit receives a frequency signal from the motor's Hall sensor, counts its period, and converts the result of calculating its reciprocal into an analog voltage. The FV conversion unit then outputs this analog voltage, i.e., a speed voltage signal proportional to the frequency, to an external speedometer. [Prior art documents] [Patent Documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2009-83710 [Overview of the project] [Problems that the invention aims to solve]

[0004] For example, as shown in Patent Document 1, motors equipped with Hall sensors are widely used. Generally, Hall sensors have low position detection resolution, such as 60 degrees. For this reason, a 120-degree energization method is often applied to motors equipped with Hall sensors. By using a 120-degree energization method, the direction of energization can be switched in synchronization with the Hall signal from the Hall sensor. This makes it possible to realize a simple and inexpensive motor drive system.

[0005] On the one hand, in the 120° power supply method based on such a Hall sensor, there are drawbacks such as high noise and low power efficiency. Therefore, it is expected to improve the characteristics and efficiency by using the Hall signal from the Hall sensor for vector control. However, simply using the Hall signal for vector control may cause the motor to stall during low-speed operation. For this reason, some countermeasures such as setting the lower limit value of the operation guarantee at a certain high value in terms of the motor speed have been required.

[0006] The embodiment described below is made in view of such a situation, and other problems and novel features will become apparent from the description of this specification and the attached drawings.

Means for Solving the Problems

[0007] A semiconductor device according to an embodiment outputs a motor control signal to an inverter that supplies power to a motor, and controls the motor via the inverter. A Hall sensor that toggles a Hall signal when the rotation angle of the motor reaches a predetermined rotation angle is attached to the motor. Here, the semiconductor device includes a speed detector, a speed correction circuit, and a speed controller. The speed detector inputs the Hall signal, and calculates a first speed detection value representing the rotation speed of the motor based on the time interval of the toggle every time the toggle of the Hall signal occurs. The speed correction circuit calculates a second speed detection value by correcting the first speed detection value in the deceleration direction during the correction period. The correction period is a period from when the Hall signal toggles until the next Hall signal toggles after the elapsed time from when the Hall signal toggles exceeds the reference time, where the reference time is the time interval of the toggle based on the current first speed detection value. The speed controller calculates a torque command value of the motor based on the speed deviation between the second speed detection value and a preset speed command value.

Advantages of the Invention

[0008] According to the above embodiment, stalling during low-speed rotation of the motor can be prevented.

Brief Description of the Drawings

[0009] [Figure 1] Figure 1 is a schematic diagram showing an example of the configuration of a motor system using a semiconductor device according to one embodiment. [Figure 2A] Figure 2A is a schematic diagram showing an example of the motor and Hall sensor configuration in Figure 1. [Figure 2B] Figure 2B is a timing chart showing an example of the Hall signals output from each Hall sensor in Figure 2A. [Figure 3] Figure 3 is a block diagram showing a detailed configuration example of the semiconductor device in Figure 1. [Figure 4] Figure 4 is a circuit block diagram showing an example of the configuration of the rotation angle / velocity estimator in Figure 3. [Figure 5] Figure 5 is a timing chart showing an example of the operation of the velocity detector in Figure 4. [Figure 6] Figure 6 is a timing chart showing an example of the operation of the rotation angle / velocity estimator and velocity controller shown in Figure 4. [Figure 7] Figure 7 is a circuit block diagram showing an example configuration of a rotation angle / velocity estimator for comparison purposes. [Figure 8] Figure 8 is a timing chart showing an example of the operation of the rotation angle / velocity estimator and velocity controller shown in Figure 7. [Modes for carrying out the invention]

[0010] In the following embodiments, the description will be divided into multiple sections or embodiments where necessary for convenience. However, unless otherwise specified, they are not unrelated, and one may be a modification, detail, or supplementary explanation of part or all of the other. Furthermore, when referring to the number of elements (including number, numerical value, quantity, range, etc.), the number is not limited to that specific number unless otherwise specified or when it is clearly limited in principle. In other words, the number of elements may be greater than or less than a specific number.

[0011] Furthermore, in the following embodiments, the components (including element steps) are not necessarily required unless specifically stated or considered essential in principle. Similarly, when referring to the shape, positional relationship, etc., of the components, etc., it includes those that substantially approximate or are similar to their shape, etc., unless specifically stated or considered otherwise in principle. The same applies to the numerical values ​​and ranges mentioned above.

[0012] Furthermore, the circuit elements constituting each functional block of the embodiment are not particularly limited, but for example, they are formed on a semiconductor substrate such as single-crystal silicon by known CMOS (Complementary Metal Oxide Semiconductor) integrated circuit technology. Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In all figures used to explain the embodiments, the same reference numerals are generally used for the same components, and repeated descriptions are omitted.

[0013] <Overview of the motor system> Figure 1 is a schematic diagram showing an example of the configuration of a motor system using a semiconductor device according to one embodiment. The motor system shown in Figure 1 comprises a semiconductor device 10, an inverter 20, and a motor MT. The motor MT is, for example, a three-phase motor consisting of u-phase, v-phase, and w-phase. A Hall sensor HES, more specifically a Hall sensor IC including a Hall sensor and a subsequent comparator, is attached to the motor MT.

[0014] The Hall sensor HES toggles the Hall signal when the rotation angle of the motor MT reaches a predetermined rotation angle. In this example, the Hall sensor HES toggles the three-phase Hall signals HSu, HSV, and HSW. In this specification, the three-phase Hall signals HSu, HSV, and HSW are collectively referred to as the Hall signal HS.

[0015] The semiconductor device 10 generates and outputs a motor control signal, such as a PWM (Pulse Width Modulation) signal Gpwm, for controlling the motor MT. In this example, the semiconductor device 10 is a microcontroller or SoC (System on Chip) consisting of a single semiconductor chip. The semiconductor device 10 mainly comprises a processor PRC, memory MEM, a PWM signal generator PWMG, an analog-to-digital converter ADC, and an I / O port IOP.

[0016] The processor PRC is, for example, a CPU (Central Processing Unit) or a DSP (Digital Signal Processor). Memory MEM includes ROM (Read Only Memory) and RAM (Random Access Memory). ROM is, for example, flash memory. RAM is, for example, SRAM or DRAM. ROM stores the motor control program. This motor control program is copied to RAM. The processor PRC controls the motor MT by executing the motor control program copied to RAM.

[0017] The PWM signal generator PWMG generates a phase-specific PWM signal Gpwm(u,v,w) based, for example, on the phase-specific duty cycle command value from the processor PRC. The analog-to-digital converter ADC receives a detection signal representing the state of the motor MT, in this example, a detection signal representing the phase current of the motor MT, via the inverter 20. The analog-to-digital converter ADC converts the detection signal into a digital value. The IO port IOP receives a Hall signal HS from the Hall sensor HES. The processor PRC determines the phase-specific duty cycle command value based on the information of the motor MT's phase current and the Hall signal HS.

[0018] The inverter 20 supplies AC power to each phase of the motor MT based on motor control signals from the semiconductor device 10, specifically from the PWM signal generator PWMG. The inverter 20 comprises a gate driver GD, a switching circuit SWC, and a current detector IDET. The switching circuit SWC is composed of, for example, a three-phase bridge circuit consisting of six switching elements.

[0019] The gate driver GD receives a phase-specific PWM signal Gpwm(u,v,w) from the semiconductor device 10. Based on the input PWM signal Gpwm(u,v,w), the gate driver GD controls the on / off state of the six switching elements in the switching circuit SWC. As a result, the switching circuit SWC supplies the motor MT with three phase voltages Vu, Vv, and Vw corresponding to the duty cycle of the PWM signal.

[0020] The current detector (IDET) detects the three phase currents Iu, Iv, and Iw flowing through the motor (MT). The analog-to-digital converter (ADC) in the semiconductor device 10 converts the three phase currents Iu, Iv, and Iw detected by the current detector (IDET) into digital values. Note that the current detector (IDET) may detect phase currents of at least two phases, not just three. In this case, the value of the remaining phase current can be calculated.

[0021] Alternatively, the current detector (IDET) may detect the three phase currents Iu, Iv, and Iw by, for example, detecting the power supply current of the switching circuit SWC. In this case, the current detector (IDET) recognizes the on / off state of the six switching elements based on, for example, the PWM signal Gpwm(u,v,w). The current detector (IDET) then detects the corresponding phase current based on the recognized combination of on / off states.

[0022] Figure 2A is a schematic diagram showing an example configuration of the motor MT and Hall sensor HES in Figure 1. Figure 2B is a timing chart showing an example of the Hall signals output from each Hall sensor HES in Figure 2A. The motor MT shown in Figure 2A comprises three stators wound with three-phase coils Lu, Lv, and Lw, and a rotor RT composed of permanent magnets. Three Hall sensors HESu, HESv, and HESw are attached to the motor MT at intervals of 120 degrees.

[0023] The three Hall sensors HESu, HESv, and HESw, specifically the Hall sensor ICs, each output a three-phase Hall signal HSu, HSv, and HSw, respectively, depending on the magnetic pole position of the rotor RT. As shown in Figure 2B, the three-phase Hall signals HSu, HSv, and HSw are 120 degrees apart in phase. Six different patterns are formed by the combination of logic levels in these three-phase Hall signals HSu, HSv, and HSw. In this specification, these six patterns are distinguished by six pattern numbers PN. The pattern numbers PN switch every 60 degrees. In other words, a toggle of the Hall signal HS occurs every 60 degrees.

[0024] <Details of the semiconductor device> Figure 3 is a block diagram showing a detailed configuration example of the semiconductor device 10 shown in Figure 1. The semiconductor device 10 shown in Figure 1 includes a motor controller 100 in addition to the PWM signal generator PWMG, analog-to-digital converter ADC, IO port IOP, RAM, and ROM shown in Figure 1. The motor controller 100 is realized by the processor PRC shown in Figure 1 executing a motor control program stored in RAM. In other words, the motor control program causes the processor PRC to function as each component within the motor controller 100 shown in Figure 1.

[0025] The motor controller 100 performs sensor-assisted vector control based on three-phase Hall signals HSu, HSV, and HSW from the I / O port IOP. The motor controller 100 includes a speed command unit 101, a speed controller 102, a field weakening controller 103, a current controller 104, and a command value limiting circuit 105. The motor controller 100 also includes a 2-axis / 3-axis converter 106, a PWM signal modulator 107, and a 3-axis / 2-axis converter 108. Furthermore, the motor controller 100 includes a rotation angle / speed estimator 109.

[0026] As will be explained in more detail later, the rotation angle / speed estimator 109 calculates a speed detection value ω2 representing the rotational speed of the motor MT based on the three-phase Hall signals HSu, HSV, and HSW. The rotation angle / speed estimator 109 also calculates the rotation angle θ of the motor MT, which changes over time, based on the calculated speed detection value ω2.

[0027] The 3-axis / 2-axis converter 108 receives the three-phase currents Iu, Iv, and Iw from the analog-to-digital converter (ADC) and the rotation angle θ from the rotation angle / velocity estimator 109. The 3-axis / 2-axis converter 108 then converts the three-phase currents Iu, Iv, and Iw into the d-axis current Id and q-axis current Iq of the 2 axes using Clarke and Park transforms based on the rotation angle θ. The three-phase currents Iu, Iv, and Iw are currents in the UVW coordinate system, which is a rotation coordinate system. On the other hand, the d-axis current Id and q-axis current Iq of the 2 axes are currents in the dq coordinate system, which is a fixed coordinate system.

[0028] The speed command unit 101, for example, sets a speed command value ω based on a predetermined speed profile. * The speed controller 102 generates the speed command value ω. * Based on the speed deviation between the speed detected value ω2 from the rotation angle / speed estimator 109 and the speed controller, for example, PI (proportional-integral) control is performed. As a result, the speed controller 102 sets a q-axis current command value Iq to bring the speed deviation closer to zero. * In other words, it generates a torque command value.

[0029] The field weakening controller 103 receives the q-axis current command value Iq from the speed controller 102.* and inputs the speed detection value ω2 from the rotation angle / speed estimator 109, the d-axis current Id and the q-axis current Iq from the three-axis to two-axis converter 108. Then, the field weakening controller 103 generates and outputs a new q-axis current command value Iq ** and, in addition, a d-axis current command value Id * . The field weakening controller 103 performs control to weaken the magnetic field by the rotor RT in order to reduce the induced voltage of the motor MT and, consequently, increase the upper limit value of the rotational speed of the motor MT. At this time, the field weakening controller 103 mainly weakens the magnetic field by the rotor RT by controlling the d-axis current command value Id * .

[0030] The current controller 104 inputs the d-axis current command value Id * and the q-axis current command value Iq ** from the field weakening controller 103. The current controller 104 performs, for example, PI control based on the current deviation between the d-axis current command value Id * and the q-axis current command value Iq ** and the values of the d-axis current Id and the q-axis current Iq from the three-axis to two-axis converter 108. As a result, the current controller 104 generates a d-axis voltage command value Vd * and a q-axis voltage command value Vq * to bring the current deviation closer to zero. The command value limiting circuit 105 limits, for example, the upper limit of the q-axis voltage command value Vq * .

[0031] The two-axis to three-axis converter 106 inputs the d-axis voltage command value Vd<000001�>and the q-axis voltage command value Vq * from the current controller 104 via the command value limiting circuit 105. The two-axis to three-axis converter 106 also inputs the rotation angle θ from the rotation angle / speed estimator 109. The two-axis to three-axis converter 106 performs inverse Park transformation and inverse Clarke transformation using the rotation angle θ to convert the two-axis d-axis voltage command value Vd * and the q-axis voltage command value Vq * into three-phase voltage command values Vu * , Vv * , Vw *The PWM signal modulator 107 converts the voltage command value Vu of the three phases. * ,Vv * VW * This is converted into three-phase duty cycle command values ​​Du, Dv, and Dw and output to the PWM signal generator PWMG.

[0032] In this example, the motor controller 100 was implemented using program processing with a processor PRC. However, the motor controller 100 may also be implemented using, for example, an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). In other words, the semiconductor device 10 shown in Figure 1 may be an FPGA or an ASIC.

[0033] <Details of the rotation angle / velocity estimator> Figure 4 is a circuit block diagram showing an example configuration of the rotation angle / velocity estimator 109 in Figure 3. In addition to the rotation angle / velocity estimator 109, Figure 4 also shows an example configuration of the velocity controller 102. The rotation angle / velocity estimator 109 shown in Figure 4 includes a velocity detector 120 and a rotation angle calculation circuit 123. The velocity detector 120 includes a toggle interval detector 121 and a velocity calculation circuit 122, as well as a velocity correction circuit 125.

[0034] The toggle interval detector 121 receives three-phase Hall signals HSu, HSV, and HSW, and a time t as input. The time t may be, for example, a software time, or an interrupt signal generated at regular intervals. Based on the time t, the toggle interval detector 121 detects and outputs the toggle time interval Ti each time a toggle occurs in the Hall signal HS. Furthermore, each time a toggle occurs in the Hall signal HS, the toggle interval detector 121 outputs the elapsed time T(t) since the toggle occurred.

[0035] The speed calculation circuit 122 calculates a speed detection value (first speed detection value) ω representing the rotational speed of the motor MT based on the toggle interval Ti from the toggle interval detector 121. The speed correction circuit 125, as will be described in detail later, corrects the speed detection value ω from the speed calculation circuit 122 to calculate and output a corrected speed detection value (second speed detection value) ω2. The rotation angle calculation circuit 123 calculates the rotation angle θ of the motor MT based on the corrected speed detection value ω2 and the elapsed time T(t) from the toggle interval detector 121.

[0036] The speed controller 102 receives the speed detection value from the rotation angle / speed estimator 109, in this case ω2, and a preset speed command value ω * The speed deviation dω is calculated. Then, the speed controller 102 calculates the torque command value of the motor MT by performing PI control using, for example, the PI controller 130, based on the speed deviation dω. The torque command value of the motor MT is the q-axis current command value Iq * This corresponds to [the above]. Furthermore, the PI controller 130 performs PI control using the proportionality coefficient Kp and the integral coefficient Ki.

[0037] <Regarding the rotation angle / velocity estimator (comparative example) and its problems> Figure 7 is a circuit block diagram showing an example configuration of a rotation angle / velocity estimator 109x as a comparative example. The rotation angle / velocity estimator 109x shown in Figure 7 is equipped with a different velocity detector 120x and rotation angle calculation circuit 123x than the one in Figure 4. Unlike the velocity detector 120 shown in Figure 4, the velocity detector 120x does not have a velocity correction circuit 125. Accordingly, the rotation angle / velocity estimator 109x outputs the velocity detection value ω from the velocity calculation circuit 122 to the velocity controller 102. The rotation angle calculation circuit 123x also calculates the rotation angle θ of the motor MT based on the uncorrected velocity detection value ω from the velocity calculation circuit 122 and the elapsed time T(t) from the toggle interval detector 121.

[0038] Figure 8 is a timing chart showing an example of the operation of the rotation angle / velocity estimator 109x and the velocity controller 102 shown in Figure 7. Figure 8 shows the pattern number PN of the Hall signal HS and the actual rotation angle θ of the motor MT. real The time series change of [rad] is shown. Also, the speed detection value ω [rad / s] and the speed command value ω * [rad / s], and the actual speed value of the motor MT ω real The time series of [rad / s] is shown. Furthermore, the torque command value TQ is shown. ref The q-axis current command value Iq is * The time series progression is shown.

[0039] Here, we assume that the motor MT is rotating at a low speed and that deceleration is occurring in the motor MT. Speed ​​command value ω * This is a constant value representing the low-speed rotation value. At time t10, a toggle of the Hall signal HS occurs. Accordingly, the speed calculation circuit 122 uses the toggle time interval Ti from the toggle interval detector 121 to calculate the speed detection value ω based on, for example, equation (1). ω = RA / Ti …(1)

[0040] In equation (1), “RA” is the rotation angle of the motor MT during the toggle time interval, for example, “2π / 6 [rad] (=60 [deg])”. The toggle time interval Ti is the interval between time t10 and the time of the toggle that occurred one time before time t10 (not shown). However, the speed calculation circuit 122 is not limited to equation (1), and the speed detection value ω may be calculated, for example, by the average value. Specifically, “RA” may be “2π [rad] (=360 [deg])”, and the toggle time interval Ti may be the time interval of the past 6 times.

[0041] Here, in Figure 8, the velocity detection value ω calculated at time t10 is equal to the velocity command value ω * It is higher than this. This results in a negative velocity deviation (=ω * Based on -ω), the speed controller 102 sets the torque command value TQ. ref The q-axis current command value Iq is* The control is directed to further reduce the value. As a result, the motor MT decelerates, and the actual speed value ω real The value decreases. On the other hand, the speed detection value ω is kept constant until time t11, when the next toggle of the Hall signal HS would normally occur. As a result, a negative speed deviation is maintained during the period from time t10 to time t11. Therefore, during the period from time t10 to time t11, the speed controller 102 controls the q-axis current command value Iq. * As the speed continues to decrease, the motor MT continues to decelerate.

[0042] Consequently, especially when the rotational speed of the motor MT was low, there was a risk that the motor MT would stop before reaching time t11, i.e., before rotating 60 degrees from time t10. In this example, the actual speed value ω real This value is zero at time t11. In this case, the toggling of the Hall signal HS that should occur at time t11 does not occur, and therefore the control operation of the motor MT also stops. Thus, in the comparative example rotation angle / speed estimator 109x, stalls could occur when the motor MT was rotating at low speeds. Therefore, in Figure 4, a speed correction circuit 125 is provided.

[0043] <Details of the speed compensation circuit> Figure 5 is a timing chart showing an example of the operation of the speed detector 120 in Figure 4. Figure 5 shows the time series progression of the pattern number PN of the Hall signal HS. It also shows the elapsed time T(t)[s] from the toggle interval detector 121, i.e., the elapsed time T(t) since the toggling of the Hall signal HS occurred. Furthermore, it shows the speed detection value (first speed detection value) ω[rad / s] and the speed correction value ω lmt The time series changes of [rad / s] and the velocity detection value (second velocity detection value) ω2 [rad / s] are shown.

[0044] In Figure 5, the Hall signal HS toggles at times t20, t21, and t22. This example also assumes that motor MT deceleration occurs after time t21. In this case, the time interval Ti2 from t21 to t22 is longer than the time interval Ti1 from t20 to t21.

[0045] Here, we focus on the period after time t21. First, we use the time interval Ti1 of the toggle based on the current speed detection value ω from the speed calculation circuit 122 as the reference time. The speed detection value ω after time t21 is determined based on the time interval Ti1 from time t20 to time t21, when “RA” is 60 [deg] in equation (1) mentioned above. In this case, the reference time after time t21 is equal to the said time interval Ti1.

[0046] Here, the period from when the elapsed time T(t) from the toggle interval detector 121 exceeds the reference time interval Ti1 until the next Hall signal HS toggle occurs is called the correction period. In this example, the correction period is from time t2x, when the elapsed time T(t) exceeds the time interval Ti1, until time t22, when the next Hall signal HS toggle occurs. The speed correction circuit 125 shown in Figure 4 calculates the corrected speed detection value (second speed detection value) ω2 by correcting the speed detection value ω from the speed calculation circuit 122 in the deceleration direction during this correction period. More specifically, the speed correction circuit 125 corrects the speed detection value ω during this correction period so that the speed detection value ω decreases according to the elapsed time T(t).

[0047] More specifically, the speed correction circuit 125 includes, for example, a correction value calculation circuit 126 and a correction execution circuit 127. The correction value calculation circuit 126 calculates a speed correction value ω that decreases inversely proportional to the elapsed time T(t) each time a toggle of the Hall signal HS occurs. lmt The following is calculated: As a specific example, the correction value calculation circuit 126 calculates the speed correction value ω based on equation (2). lmtThe following is calculated. In equation (2), “k” is a coefficient set to a value of 1 or greater, and ideally “k=1”. “RA” is the rotation angle of the motor MT that advances during the toggle time interval, and is “2π / 6 [rad] (=60 [deg])”. ω lmt = k * (RA / T(t)) …(2)

[0048] The correction execution circuit 127 takes the current speed detection value ω from the speed calculation circuit 122 and the speed correction value ω from the correction value calculation circuit 126. lmt The two values ​​are compared. Then, the correction execution circuit 127 outputs the smaller value as the speed detection value ω2 to the speed controller 102 based on equation (3). Note that in equation (3), “max(-ω lmt The condition ,)” is a condition for applying the same speed correction to both the forward rotation and reverse rotation of the motor MT. ω² = max(-ω lmt ,min(ω lmt ,ω)) …(3)

[0049] In the example shown in Figure 5, the velocity correction value ω is used during the period prior to time t2x. lmt This value is greater than the velocity detection value ω. On the other hand, in the correction period after time t2x, the velocity correction value ω lmt This value is smaller than the speed detection value ω. Therefore, the corrected speed detection value ω2 is equal to the speed detection value ω from the speed calculation circuit 122 during the period from time t21 to time t2x. On the other hand, the corrected speed detection value ω2 is equal to the speed correction value ω during the correction period from time t2x to time t22. lmt It is equal to.

[0050] Furthermore, the same operation occurs during the period from time t21 to time t22 as during the period from time t21 to time t22. On the other hand, no deceleration of the motor MT occurs during the period before time t21. That is, the current toggle time interval Ti is equal to the previous toggle time interval Ti, or shorter than the previous toggle time interval Ti. In this case, the corrected speed detection value ω2 is equal to the uncorrected speed detection value ω.

[0051] Furthermore, the value of the coefficient k in equation (2) represents the control margin and can be arbitrarily set by the user, for example. For example, mounting errors can actually occur in the three Hall sensors HESu, HESv, and HESw shown in Figure 2A. Therefore, errors can also occur in the rotation angle of the motor MT, which advances during the toggle time interval Ti, relative to 60 degrees. The value of the coefficient k is determined, for example, by taking such errors into consideration. If the value of the coefficient k is set to be slightly greater than 1, the time t2x in Figure 5 will be shifted to the delayed side by that amount.

[0052] The method of the speed correction circuit 125 is not necessarily limited to the method based on equations (2) and (3). That is, the speed correction circuit 125 only needs to correct the speed detected value ω from the speed calculation circuit 122 in the deceleration direction during the correction period described above. For example, the speed correction circuit 125 may use a method that detects the time t2x based on the time interval Ti1 and corrects the speed detected value ω in the deceleration direction from that time based on a predetermined equation. In this case, detecting the time t2x also means detecting the deceleration of the motor MT.

[0053] However, by using the methods based on equations (2) and (3) from among various methods, the effect can be obtained in which the speed detection value ω from the speed calculation circuit 122 can be corrected to a reasonable value. That is, the speed correction value ω calculated during the period from time t21 to time t22 lmt As can be seen from comparing equations (1) and (2), this becomes equal to the speed detection value ω calculated by the speed calculation circuit 122 at time t22. Therefore, as shown in Figure 5, the continuity of the corrected speed detection value ω2 is maintained at time t22. As a result, for example, vibrations of the motor MT caused by abrupt changes in the speed detection value ω2 can be suppressed.

[0054] <Operation of the Rotation Angle / Velocity Estimator (Embodiment)> Figure 6 is a timing chart showing an example of the operation of the rotation angle / velocity estimator 109 and velocity controller 102 shown in Figure 4. Figure 6 shows a timing chart that is almost the same as that in Figure 8. However, unlike in Figure 8, the velocity detection value ω before correction has been changed to the velocity detection value ω2 after correction. Accordingly, at time t1x between time t10 and time t11, the velocity correction value ω lmt The speed detection value ω2 based on has begun to decrease. Then, at the time t1y thereafter, the speed detection value ω2 is equal to the speed command value ω * It is lower than that.

[0055] In response, the speed controller 102, from time t1y onward, sets the q-axis current command value Iq, which is the torque command value TQref. * This changes from a downward direction to a continuous upward direction. This results in the actual speed value ω of the motor MT. real The voltage also stops decreasing. As a result, the motor MT can maintain a rotation of 60 degrees after time t10, so the next toggle of the Hall signal HS can occur at time t11. Thus, in Figure 6, unlike the comparative example shown in Figure 8, stalling during low-speed rotation of the motor MT can be prevented.

[0056] <About the rotation angle calculation circuit> The rotation angle calculation circuit 123 shown in Figure 4 calculates the rotation angle θ of the motor MT by, for example, integrating the corrected speed detection value ω2 over the elapsed time T(t). On the other hand, the comparative example rotation angle calculation circuit 123x shown in Figure 7 calculates the rotation angle θ of the motor MT by integrating the uncorrected speed detection value ω over the elapsed time T(t). Due to this difference, using the rotation angle calculation circuit 123 according to the embodiment may suppress the rotation angle error that may occur at time t11 in Figure 6, for example.

[0057] That is, at time t11, the rotation angle θ from the rotation angle calculation circuit 123 and the actual rotation angle θ realThe error is smaller compared to when using the rotation angle θ from the rotation angle calculation circuit 123x. In practice, the calculated rotation angle θ may be limited by, for example, an upper limiter of 60 degrees. In this case, there is no particular difference between using the corrected speed detection value ω2 and using the uncorrected speed detection value ω. However, when calculating the rotation angle θ using a different method, the error in the rotation angle can be suppressed by using the rotation angle calculation circuit 123.

[0058] <Regarding variations> The motor controller 100 shown in Figure 3 performed vector control using the torque command value from the speed controller 102 and the rotation angle θ from the rotation angle / speed estimator 109. On the other hand, the speed correction method according to the embodiment described above is not limited to vector control, but may also be applied to, for example, a 120° [deg] energization method. However, from the viewpoint of reducing motor MT noise and improving power efficiency, that is, from the viewpoint of realizing a higher-performance motor system, it is more desirable to apply it to vector control.

[0059] <Main effects of the embodiment> In the embodiment described above, a speed correction circuit is provided that corrects the speed detection value, which becomes constant over a predetermined period, in the direction of deceleration from an intermediate time point when a motor equipped with a Hall sensor is decelerating. This prevents stalling when the motor is rotating at low speeds. More specifically, it prevents stalling when the motor is rotating at low speeds and when the motor is decelerating. Furthermore, by preventing stalling when the motor is rotating at low speeds, it becomes possible to lower the lower limit of the guaranteed operating value at the motor speed.

[0060] The present invention has been described in detail above based on embodiments, but the present invention is not limited to the embodiments described above and can be modified in various ways without departing from its essence. For example, the embodiments described above are described in detail in order to explain the present invention in an easy-to-understand manner and are not necessarily limited to those having all the described configurations. Furthermore, it is possible to replace a part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add a configuration from another embodiment to the configuration of one embodiment. In addition, it is possible to add, delete, or replace a part of the configuration of each embodiment with a configuration from another embodiment.

[0061] Furthermore, each component is typically implemented through program processing using a CPU (Central Processing Unit). That is, the CPU executes a program stored in memory, thereby implementing each component on the CPU. However, the implementation form of each component is not limited to software; for example, it may also be hardware such as an FPGA or ASIC. Alternatively, the implementation form of each component may be a combination of software and hardware.

[0062] Furthermore, the aforementioned programs can be stored in non-temporary, tangible, computer-readable storage media and supplied to a computer. Examples of such storage media include magnetic storage media such as hard disk drives, and optical storage media such as DVDs (Digital Versatile Discs) and Blu-ray discs. Other examples of storage media include semiconductor memory such as flash memory and SSDs (Solid State Drives). [Explanation of Symbols]

[0063] 10 Semiconductor Devices 102 Speed ​​controller 109 Rotation Angle / Velocity Estimator 120 Speed ​​detector 121 Toggle Interval Detector 122 Speed ​​calculation circuit 123 Rotation Angle Calculation Circuit 125 Speed ​​correction circuit 126 Correction Value Calculation Circuit 127 Correction execution circuit HES Hall Sensor HS Hall signal IQ * q-axis current command value (torque command value) MT Motor T(t) Elapsed time Ti toggle time interval θ Rotation angle ω, ω2 velocity detection value ω * Speed ​​command value ω lmt Speed ​​correction value

Claims

1. A semiconductor device that outputs a motor control signal to an inverter that supplies power to a motor, and controls the motor via the inverter, The motor is equipped with a Hall sensor that toggles a Hall signal when the motor's rotation angle reaches a predetermined rotation angle. The aforementioned semiconductor device is A speed detector that receives the Hall signal and calculates a first speed detection value representing the rotational speed of the motor based on the time interval of the toggle each time the Hall signal toggles, A speed correction circuit calculates a second speed detection value by correcting the first speed detection value in the deceleration direction during a correction period from when the elapsed time since the Hall signal toggle occurred until the next Hall signal toggle occurs, using the time interval of the toggle based on the current first speed detection value as the reference time, and taking this as the reference time. A speed controller that calculates the torque command value of the motor based on the speed deviation between the second speed detection value and a preset speed command value, Equipped with, Semiconductor equipment.

2. In the semiconductor device described in claim 1, The speed correction circuit corrects the first speed detection value during the correction period so that the first speed detection value decreases in accordance with the elapsed time. Semiconductor equipment.

3. In the semiconductor device described in claim 2, The aforementioned speed correction circuit is Each time the Hall signal toggle occurs, a correction value calculation circuit calculates a speed correction value that decreases inversely proportional to the elapsed time, A correction execution circuit compares the current first speed detection value with the speed correction value and outputs the smaller value to the speed controller as the second speed detection value. Equipped with, Semiconductor equipment.

4. In the semiconductor device described in claim 3, The speed detector calculates the first speed detection value based on "RA / Ti" when the time interval of the toggle is "Ti" and the rotation angle of the motor that advances during the time interval of the toggle is "RA". The speed correction circuit calculates the speed correction value by "k * (RA / T(t))" when the elapsed time is "T(t)" and the coefficient set to a value of 1 or more is "k". Semiconductor equipment.

5. In the semiconductor device according to claim 4, The value of the coefficient "k" can be arbitrarily set by the user. Semiconductor equipment.

6. In the semiconductor device described in claim 1, Furthermore, the system includes a rotation angle calculation circuit that calculates the rotation angle of the motor based on the second speed detection value and the elapsed time. Semiconductor equipment.

7. In the semiconductor device described in claim 6, The semiconductor device performs vector control using the torque command value from the speed controller and the rotation angle of the motor from the rotation angle calculation circuit. Semiconductor equipment.

8. A motor control program that outputs a motor control signal to an inverter that supplies power to a motor, and controls the motor via the inverter, The motor is equipped with a Hall sensor that toggles a Hall signal when the motor's rotation angle reaches a predetermined rotation angle. Computers, A speed detector that receives the Hall signal and calculates a first speed detection value representing the rotational speed of the motor based on the time interval of the toggle each time the Hall signal toggles, A speed correction circuit calculates a second speed detection value by correcting the first speed detection value in the deceleration direction during a correction period from when the elapsed time since the Hall signal toggle occurred until the next Hall signal toggle occurs, using the time interval of the toggle based on the current first speed detection value as the reference time, and taking this as the reference time. A speed controller that calculates the torque command value of the motor based on the speed deviation between the second speed detection value and a preset speed command value, To make it function as Motor control program.

9. In the motor control program described in claim 8, The speed correction circuit corrects the first speed detection value during the correction period so that the first speed detection value decreases in accordance with the elapsed time. Motor control program.

10. In the motor control program described in claim 9, The aforementioned speed correction circuit is Each time the Hall signal toggle occurs, a correction value calculation circuit calculates a speed correction value that decreases inversely proportional to the elapsed time, A correction execution circuit compares the current first speed detection value with the speed correction value and outputs the smaller value to the speed controller as the second speed detection value. Equipped with, Motor control program.

11. In the motor control program described in claim 10, The speed detector calculates the first speed detection value based on "RA / Ti" when the time interval of the toggle is "Ti" and the rotation angle of the motor that advances during the time interval of the toggle is "RA". The speed correction circuit calculates the speed correction value by "k * (RA / T(t))" when the elapsed time is "T(t)" and the coefficient set to a value of 1 or more is "k". Motor control program.