Detection and control of electric machines

文档序号:37915 发布日期:2021-09-24 浏览:22次 中文

阅读说明:本技术 电机的检测和控制 (Detection and control of electric machines ) 是由 李思龙 王激尧 迈克尔·W·德格纳 于 2021-03-01 设计创作,主要内容包括:本公开提供“电机的检测和控制”。一种车辆包括:电机,所述电机具有极对数量N;位置传感器,所述位置传感器具有极对数量M,所述位置传感器产生指示所述电机的旋转位置的输出;以及一个或多个控制器。所述一个或多个控制器根据所述旋转位置与L/N的乘积来生成重新映射的旋转位置,根据所述重新映射的旋转位置与N/M的乘积来生成经缩放的位置,并且基于所述经缩放的位置来命令所述电机以产生指定的扭矩或速度。M不等于N且不是N的因数,并且L是N和M的最小公倍数。(The present disclosure provides "detection and control of a motor". A vehicle includes: a motor having a number N of pole pairs; a position sensor having a number M of pole pairs, the position sensor producing an output indicative of a rotational position of the motor; and one or more controllers. The one or more controllers generate a remapped rotational position as a function of the rotational position multiplied by L/N, generate a scaled position as a function of the remapped rotational position multiplied by N/M, and command the motor to produce a specified torque or speed based on the scaled position. M is not equal to N and is not a factor of N, and L is the least common multiple of N and M.)

1. A vehicle, comprising:

a motor having a number N of pole pairs;

a position sensor having a number M of pole pairs and configured to produce an output indicative of a rotational position of the motor, wherein M is not equal to N and is not a factor of N; and

one or more controllers configured to generate a remapped rotational position as a function of the rotational position multiplied by L/N, generate a scaled position as a function of the remapped rotational position multiplied by N/M, and command the motor to produce a specified torque or speed based on the scaled position, wherein L is the least common multiple of N and M.

2. The vehicle of claim 1, wherein the one or more controllers are further configured to generate a count based on the output, wherein the count has a range between (-L/N) +1 and (L/N) -1.

3. The vehicle of claim 2, wherein the one or more controllers are further configured to reset the count to zero and the rotational position to zero in response to (i) a speed of the vehicle being greater than zero and (ii) the count plus one being greater than (L/N) -1.

4. The vehicle of claim 3, wherein the one or more controllers are further configured to determine the speed in response to the rotational position achieving one revolution.

5. The vehicle of claim 2, wherein the one or more controllers are further configured to reset the count to zero and the rotational position to zero in response to (i) a speed of the vehicle being not greater than zero and (ii) the count minus one being less than (-L/N) + 1.

6. The vehicle of claim 5, wherein the one or more controllers are further configured to determine the speed in response to the rotational position achieving one revolution.

7. A method for operating an electric machine of a vehicle, the method comprising:

by means of one or more of the controllers,

the rotational position of the motor with the number of pole pairs N is obtained from the position sensor with the number of pole pairs M,

generating a remapped rotational position as a function of the rotational position multiplied by L/N, where L is the least common multiple of N and M,

generating a scaled position from the product of the remapped rotational position and N/M, an

Commanding the motor to produce a specified torque or speed based on the scaled position.

8. The method of claim 7, further comprising generating a count based on the rotational position, wherein the count has a range between (-L/N) +1 and (L/N) -1.

9. The method of claim 8, further comprising resetting the count to zero and the rotational position to zero in response to (i) a speed of the vehicle being greater than zero and (ii) the count plus one being greater than (L/N) -1.

10. The method of claim 8, further comprising determining the speed in response to the rotational position achieving one revolution.

11. The method of claim 8, further comprising resetting the count to zero and the rotational position to zero in response to (i) a speed of the vehicle being not greater than zero and (ii) the count minus one being less than (-L/N) + 1.

12. The method of claim 11, further comprising determining the speed in response to the rotational position achieving one revolution.

13. An electric drive system, comprising:

a motor having a number N of pole pairs;

a position sensor having a number M of pole pairs and configured to produce an output indicative of a rotational position of the motor; and

one or more controllers configured to

Generating a count based on the output of the computing device,

generating a remapped rotational position as a function of the rotational position multiplied by L/N, where L is the least common multiple of N and M,

generating a scaled position from the product of the remapped rotational position and N/M,

resetting the count to zero and the rotational position to zero in response to the count increasing by one greater than (L/N) -1, and

commanding the motor to produce a specified torque or speed based on the scaled position.

14. The electric drive system of claim 13, wherein the count has a range between (-L/N) +1 and (L/N) -1.

15. The electric drive system of claim 13, said speed being determined in response to said rotational position achieving one revolution.

Technical Field

The present disclosure relates to automotive power electronic components.

Background

An electrically powered vehicle may include one or more motors for propulsion. It may also contain a traction battery to power the motor and an auxiliary battery to support low voltage loads. Since the motor, traction battery, and auxiliary battery may require different electrical parameters, electrical communication therebetween may require modification of the power provided or consumed.

Disclosure of Invention

A vehicle includes an electric machine, a position sensor, and one or more controllers. The motor has a number of pole pairs N. The position sensor has a number M of pole pairs and produces an output indicative of a rotational position of the motor. The one or more controllers generate a remapped rotational position as a function of the rotational position multiplied by L/N, generate a scaled position as a function of the remapped rotational position multiplied by N/M, and command the motor to produce a specified torque or speed based on the scaled position. M is not equal to N and is not a factor of N, and L is the least common multiple of N and M.

A method for operating a vehicle electric machine comprising: the method includes obtaining a rotational position of a motor having a number of pole pairs N from a position sensor having a number of pole pairs M, generating a remapped rotational position as a function of a product of the rotational position and L/N, generating a scaled position as a function of a product of the remapped rotational position and N/M, and commanding the motor to produce a specified torque or speed based on the scaled position. L is the least common multiple of N and M.

An electric drive system comprising: a motor having a number N of pole pairs; a position sensor having a number M of pole pairs, the position sensor producing an output indicative of a rotational position of the motor; and one or more controllers. The one or more controllers generate a count based on the output, generate a remapped rotational position as a function of the rotational position multiplied by L/N, generate a scaled position as a function of the remapped rotational position multiplied by N/M, reset the count to zero and the rotational position to zero in response to the count being greater than (L/N) -1 plus one, and command the motor to produce a specified torque or speed based on the scaled position.

Drawings

Fig. 1 shows angular position waveforms versus time for a position sensor having two pole pairs and a rotor of a motor having four pole pairs.

Fig. 2 shows angular position waveforms versus time for a position sensor having six pole pairs and a rotor of a motor having four pole pairs.

FIG. 3 is a d-axis/q-axis plot of dead-time voltage as a function of angular position for a given DC bus voltage.

FIG. 4 is a graph of an exemplary lookup table for compensation of resolver offset detection.

Fig. 5 is a flow chart of an injection procedure.

Fig. 6 is a flowchart of the detection procedure.

Fig. 7 shows angular position waveforms versus time, as well as a tachometer waveform and remapped position sensor waveforms, for a position sensor having six pole pairs and a rotor of a motor having four pole pairs.

FIG. 8 is a flow chart of an algorithm for detecting and controlling a motor having any combination of position sensor pole pairs and motor pole pairs.

Fig. 9 is a block diagram of a vehicle.

Detailed Description

Various embodiments of the present disclosure are described herein. However, the disclosed embodiments are merely exemplary, and other embodiments may take various forms and alternatives not explicitly shown or described. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention. As one of ordinary skill in the art will appreciate, various features illustrated and described with reference to any one of the figures may be combined with features illustrated in one or more other figures to produce embodiments that are not explicitly illustrated or described. The combination of features shown provides a representative embodiment of a typical application. However, various combinations and modifications of the features consistent with the teachings of the present disclosure may be desired for particular applications or implementations.

To control the motor, a position sensor is typically required to measure the orientation of the rotor. The position sensor may be, for example, a resolver. Conventionally, the Number of Pole Pairs (NPP) of the position sensor, i.e. the number of lobes, should match, or at least be a factor of, the NPP of the electric machine. If the NPP of the position sensor is not equal to or a factor other than the NPP of the motor, control instability and incorrect torque transfer may result. For example, if the motor has an NPP of four, a position sensor having an NPP of two or four may be used. A position sensor with NPP of one is not used because it is mechanically unbalanced and therefore cannot rotate smoothly.

For some motor designs, NPP is an unusual number, e.g., prime five or seven. Selecting position sensors with NPPs of five or seven may increase cost because these NPPs are relatively rare compared to other common NPPs, such as two, three, four, or six.

As mentioned above, the NPP of the position sensor typically needs to be equal to or a factor of the NPP of the motor, as it allows mapping of position sensor measurement readings to unique rotor positions. For example, FIG. 1 shows waveforms for a position sensor with NPP of two and a motor with NPP of four. For any given sensor angular position minimum or maximum reading, there is only one corresponding unique motor angular position reading: whenever the angular position of the sensor waveform is zero, the angular position of the motor waveform is also zero. Thus, when the angular position of the sensor waveform is at zero, the angular position of the motor must be known.

When the above relationship is not true, the position sensor reading can be mapped to one of several possible motor positions. Fig. 2 shows an example of a position sensor with NPP of six and an electric machine with NPP of four. When the position sensor reading is zero (unity), the motor may be zero, one-third, or two-thirds (unity). That is, conventional motor control algorithms cannot know the actual rotor position when the NPP of the sensor is not equal to or a factor of the NPP of the motor. Thus, it may lose control and result in incorrect torque and instability.

Here, a control technique for a motor drive system that can operate efficiently with a position sensor having any NPP is proposed.

In order to properly control a motor having any combination of position sensor NPP and motor NPP, two problems may need to be solved. First, for each power-up of the controller, the position sensor offset value needs to be determined because it is not a unique value due to the lack of the one-to-one mapping described above. Second, position readings during normal operation need to be remapped to motor positions to restore a one-to-one mapping.

Offset of position sensor

With respect to the first issue, any position sensor offset detection algorithm may be used. In one example, resolver offset detection is achieved by introducing a high frequency voltage signal into the motor. For the high-frequency voltage signal and with reference to equation (1), the high-frequency voltage vector, which is continuously rotating in the stationary reference frame, is referencedInjecting into a motor:

wherein VcRepresents the magnitude of the rotating voltage vector, and ωcRepresenting the frequency of the rotating voltage vector. The three-phase currents from the motor response are then observed and post-processed for rotor position detection. The detected rotor position is then compared to the resolver reading to thereby determine a resolver offset value.

The injection frequency is selected based on the inverter switching frequency. A ratio of about ten to twenty between the switching frequency and the injection frequency is an exemplary optimization value. Size VcIs selected later onA description is given.

High frequency current responseHas significance information embedded therein, and can be represented by equation (2):

wherein IcpAnd IcnRespectively representing the magnitude of the positive-sequence current response and the negative-sequence current response, andandrepresenting the phases of the positive and negative sequence current responses, respectively.

Phase of negative sequence current responseExpressed by equation (3):

wherein theta iseRotor position is expressed in electrical degrees. It includes motor rotor position information and can therefore be used for rotor position and resolver offset detection.

Referring to equation (4), the phase X of the negative-sequence current response may be estimated by applying a Discrete Fourier Transform (DFT) to the three-phase currentsk

Where N is the number of samples of the discrete Fourier transform (the more samples taken, the finer the DFT resultConfirming; however, more samples require more computation time, which can delay detection), xnIs a sampled high-frequency current complex vector IqdsAnd f is andcis the frequency of the injected signal (positive for positive sequence, negative for negative sequence).

In practical applications, dead time and non-linearity exist in the inverter system. Inverter dead time VdeadAn error will result in the actual output voltage of the inverter. Therefore, the injected high frequency voltage signal is not as expected and will result in resolver offset detection errors. The inverter nonlinear effect is shown in equations (5) and (6):

wherein T isdead、Ton、ToffAnd TsRespectively representing dead time, on delay time, off delay time and pulse width modulation period, VdcIs the DC bus voltage, VsatIs the on-state voltage drop of the switch, and VdIs the forward voltage drop of the diode.

WhereinAndrespectively represent a d-axis dead time voltage and a q-axis dead time voltage in a synchronous reference coordinate system, and ia、ibAnd icPhase a current, phase B current and phase C current are shown, respectively. Among all factors, inverter dead time is typically the dominant factor.

Fig. 3 shows the dead time voltages on the d-axis and q-axis of the synchronous reference frame as a function of the angular position at a particular DC bus voltage. The inverter dead time has a different effect on the d-axis compared to the q-axis, and shows a sixth order pattern in one electrical cycle.

To compensate for the effects of inverter dead time and improve resolver offset detection accuracy, a look-up table may be used to compensate for errors. Fig. 4 shows an example of such a look-up table resolver offset detection. Using a look-up table, the accuracy of resolver offset detection for a particular DC bus voltage or battery voltage is achieved. However, the dead time voltage is also a function of the DC bus voltage, and therefore additional action is required to improve resolver offset detection accuracy at various DC bus voltages.

To achieve this, a constant duty cycle may be used. When the DC bus voltage is from Vdc1Change to Vdc2The algorithm also changes the magnitude of the injected high frequency voltage signal from Vc1Change to Vc2To keep the duty cycle constant, as shown in equation (7):

in this manner, the phase lag of the actual high frequency voltage output signal is fixed regardless of the DC bus voltage variation, and the above-mentioned look-up table is able to compensate for inverter dead time effects under varying DC bus voltage conditions.

Fig. 5 shows an algorithm 10 for an injection procedure associated with the techniques presented herein. At operation 14, it is determined whether resolver offset detection based on constant duty cycle high frequency voltage injection is enabled. If not, the injection frequency ω is injected at operation 14cAnd size VcIs set to zero. The algorithm 10 then ends. If so, the adjusted implant magnitude V is determined according to the illustrated relationship (see also equation (7))c2. At operation 18, the injection angle θ is updated according to the illustrated relationshipcWherein T issIs the sampling period. Then, at operation 20, a calculation is made from the illustrated relationshipInjection voltageAt operation 22, the two-phase stator reference frame is converted to a three-phase stator reference frame using standard techniques. And at operation 24, it is determined whether the injection is complete. If not, the algorithm 10 returns to operation 18. If so, the algorithm 10 ends.

Fig. 6 shows an algorithm 26 for a detection procedure associated with the technique presented herein. At operation 28, three-phase currents are acquired. At operation 30, the three-phase stator reference frame is converted to a two-phase stator reference frame using standard techniques. Then, the rotor position θ is estimated from equations (3) and (4) at operation 32e. At operation 34, the lookup table described above is used to compensate for inverter dead time error and obtain a compensated rotor position θe_comp. At operation 36, the compensated rotor position is compared to the resolver position reading and a resolver offset is set according to the difference. The algorithm 26 then ends.

In a vehicle, it may be desirable to use a position sensor offset detection algorithm that can operate at zero motor speed and produce zero torque, so the vehicle operator will not feel that there is a power-on offset detection.

Position reading remapping

With respect to the second problem, an additional tachometer is created for remapping the position sensor readings to the correct motor position. For example, at positive rotational speeds, a conventional position sensor angular position would typically wrap around to 0 after reaching a maximum value and count up again from 0 in the next rotation. Here, an additional revolution counter is added. Using a position sensor with NPP of six and a motor with NPP of four as examples, the additional revolution counter will count from 0, 1, 2 for positive rotations and from 0, -1, -2 for negative rotations. The angular position reading wraps around to 0 only when it ends rotating at a revolution counter equal to ± 2. FIG. 7 shows an example of a position sensor angular position remapping method for a six NPP position sensor and a four NPP motor. The dashed line is the remapped angular position reading. As will be apparent to one of ordinary skill, a unique mapping from position sensor position to motor position is restored.

As a general case, in the case of any of the position sensor NPP M and the motor NPP N, the count range of the additional revolution counter is determined by equation (8). Assuming that the least common multiple of M and N is L, the revolution counter range is

[-(L/N)+1,-(L/N)+2,…,0,…,(L/N)-2,(L/N)-1](8)

Assuming that the range of raw position sensor readings is 0 to X, where X is the maximum reading of the raw position sensor, the ranges of raw position sensor readings, remapped position readings, and scaled position readings for any of the position sensors NPP M and motor NPP N are listed in table I.

If, for example, M equals six and N equals four, the ranges of the raw position sensor readings, the remapped position readings, and the scaled position readings are shown in Table II.

The scaled position sensor readings match the L/M electrical rotation of the motor. For example, if M equals six and N equals four, the scaled position sensor readings in the range of 0 to 2X reflect 2 electrical rotations of the motor. Optionally, the scaled position sensor readings may wrap around in the range of 0 to X. Additionally, when M is greater than N, the equivalent rotation of the position sensor may be increased by M/N using the proposed technique.

FIG. 8 shows an algorithm 37 that may be executed to implement the policies described herein. At operation 38, controller power-up is performed and at operation 40 a real-time position sensor offset detection algorithm, such as those described above, is run. At operation 44, normal vehicle operation is achieved, and at operation 46, the position sensor readings are refreshed and adjusted according to the stored offset values, as is known in the art.

At decision block 48, a determination is made whether the position sensor reading has reached one revolution. If not, the position sensor readings are remapped to a range of 0 to X (L/N) at operation 49. At operation 50, the remapped position readings are scaled by N/M. The scaled position reading may then optionally be wrapped around in the range 0 to X at operation 51, and the rotor position output for control at operation 52.

Returning to decision block 48, if so, a determination is made at decision block 54 whether the motor speed is greater than zero. Typical wheel position or speed sensors or other suitable sensors may be used for this determination. If not, one is subtracted from the revolution counter at operation 56. At decision block 58, a determination is made whether the revolution counter has a value less than the amount L/N plus 1. If not, the algorithm 37 proceeds to operation 49. If so, both the revolution counter and the position reading are reset to zero at operation 64. The algorithm 37 then proceeds to operation 52.

Returning to decision block 54, if so, a one is added to the revolution counter at operation 60. At decision block 62, a determination is made whether the value of the revolution counter is greater than L/N minus one. If not, the algorithm 37 proceeds to operation 49. If so, the algorithm 37 proceeds to operation 64.

FIG. 9 is a simplified block diagram of a vehicle 65 that includes, among other things, a traction battery 66, a DC bus 68, an inverter 70, a motor 72, a position sensor 73 (resolver), and one or more controllers 74. Power from the traction battery 66 may be provided to a motor 72 via a DC bus 68 and an inverter 70, as is known in the art. Power may also flow in the other direction. One or more controllers 74 may implement the techniques contemplated herein to exercise control over the traction battery 66, inverter 70, and motor 72. For example, one or more controllers 74 may operate (e.g., provide commands to) the motor 72 to produce a specified torque or speed, as is known in the art, based on rotor position information derived from the position sensor 73 and the algorithm 37.

The processes, methods or algorithms disclosed herein may be capable of being delivered to or implemented by a processing device, controller or computer, which may include any existing programmable or dedicated electronic control unit. Similarly, the processes, methods, or algorithms may be stored as data and instructions executable by a controller or computer in many forms, including but not limited to: information permanently stored on non-writable storage media (such as ROM devices) and information alterably stored on writable storage media (such as floppy disks, magnetic tape, CDs, RAM devices, and other magnetic and optical media). A process, method, or algorithm may also be implemented as a software executable object. Alternatively, the processes, methods or algorithms may be implemented in whole or in part using suitable hardware components, such as Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), state machines, controllers or other hardware components or devices, or a combination of hardware, software and firmware components.

The words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the disclosure and claims. As previously mentioned, features of the various embodiments may be combined to form further embodiments that may not be explicitly described or illustrated. Although various embodiments may have been described as providing advantages over or being preferred over other embodiments or prior art implementations in terms of one or more desired characteristics, one of ordinary skill in the art will recognize that one or more features or characteristics may be compromised to achieve desired overall system attributes, which depend on the particular application and implementation. These attributes include, but are not limited to, cost, strength, durability, life cycle cost, marketability, appearance, packaging, size, serviceability, weight, manufacturability, ease of assembly, and the like. Accordingly, embodiments described as having one or more characteristics that are less desirable than other embodiments or prior art implementations are outside the scope of this disclosure and may be desirable for particular applications.

According to the present invention, there is provided a vehicle having: a motor having a number N of pole pairs; a position sensor having a number M of pole pairs and configured to produce an output indicative of a rotational position of the motor, wherein M is not equal to N and is not a factor of N; and one or more controllers configured to generate a remapped rotational position as a function of the rotational position multiplied by L/N, to generate a scaled position as a function of the remapped rotational position multiplied by N/M, and to command the motor to produce a specified torque or speed based on the scaled position, wherein L is the least common multiple of N and M.

According to an embodiment, the one or more controllers are further configured to generate a count based on the output, wherein the count has a range between (-L/N) +1 and (L/N) -1.

According to an embodiment, the one or more controllers are further configured to reset the count to zero and the rotational position to zero in response to (i) a rotational speed of the motor being greater than zero and (ii) the count plus one being greater than (L/N) -1.

According to an embodiment, the one or more controllers are further configured to determine the speed in response to the rotational position achieving one revolution.

According to an embodiment, the one or more controllers are further configured to reset the count to zero and the rotational position to zero in response to (i) a speed of the motor being not greater than zero and (ii) the count minus one being less than (-L/N) + 1.

According to an embodiment, the one or more controllers are further configured to determine the speed in response to the rotational position achieving one revolution.

According to an embodiment, M is greater than N.

According to the invention, a method for operating a vehicle motor comprises: obtaining, by one or more controllers, a rotational position of a motor having a number of pole pairs N from a position sensor having a number of pole pairs M, generating a remapped rotational position as a function of the rotational position multiplied by L/N, where L is the least common multiple of N and M, generating a scaled position as a function of the remapped rotational position multiplied by N/M, and commanding the motor to produce a specified torque or speed based on the scaled position.

In one aspect of the invention, the method includes generating a count based on the rotational position, wherein the count has a range between (-L/N) +1 and (L/N) -1.

In one aspect of the invention, the method includes resetting the count to zero and the rotational position to zero in response to (i) the rotational speed of the motor being greater than zero and (ii) the count plus one being greater than (L/N) -1.

In one aspect of the invention, the method includes determining the speed in response to the rotational position achieving one revolution.

In one aspect of the invention, the method includes resetting the count to zero and the rotational position to zero in response to (i) the rotational speed of the motor being not greater than zero and (ii) the count minus one being less than (-L/N) + 1.

In one aspect of the invention, the method includes determining the speed in response to the rotational position achieving one revolution.

In one aspect of the invention, M is not equal to N and is not a factor of N.

According to the invention, an electric drive system is provided, having: a motor having a number N of pole pairs; a position sensor having a number M of pole pairs and configured to produce an output indicative of a rotational position of the motor; and one or more controllers configured to generate a count based on the output, generate a remapped rotational position as a function of a product of the rotational position and L/N, where L is the least common multiple of N and M, generate a scaled position as a function of a product of the remapped rotational position and N/M, reset the count to zero and the rotational position to zero in response to the count being incremented by one greater than (L/N) -1, and command the motor to produce a specified torque or speed based on the scaled position.

According to an embodiment, the count has a range between (-L/N) +1 and (L/N) -1.

According to an embodiment, the speed is determined in response to the rotational position achieving one revolution.

According to an embodiment, M is not equal to N and is not a factor of N.

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种新的异步电机的转子磁链估计方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!