A method and system for optimizing the drive of motor pulse width modulation
Through double sampling and zero voltage vector mode optimization motor driving method, the problems of different dynamic responses and high switching frequency in motor driving are solved, the current loop performance is improved and the life of power devices is extended.
Patent Information
- Application Number
- CN202211337429.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-28
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2042-10-28
AI Technical Summary
There are problems in existing motor driving technologies such as poor dynamic response, high switching frequency and large switching losses, which affect the current loop performance and power device life.
The motor pulse width modulation method with double sampling and double update is adopted. The current under the three-phase coordinate system of the motor stator is converted to the rotor orthogonal coordinate system through Clark transformation and Park transformation. Combined with the zero voltage vector mode and the non-zero voltage vector mode, the switching signal generation process is optimized and the number of switching times is reduced.
Without increasing the switching frequency of the power device, the dynamic performance of the current loop is improved, the number of switching times is reduced, and the service life of the power device is extended.
Smart Images

Figure CN115514279B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of motor drive, and particularly relates to a method and system for optimizing the pulse-width modulation drive of a motor. Background Art
[0002] At present, the high-performance drive methods for motors are mainly divided into vector control and direct torque control. The traditional vector control controls the motor current through a current feedback controller and space vector pulse-width modulation technology. It has a simple structure and wide application, but it also has the disadvantages of poor dynamic response, high switching frequency, and large losses.
[0003] In view of the disadvantage of poor dynamic response, there is currently an optimization scheme of double sampling and double update. The system is sampled twice and the PWM duty cycle is updated twice within one carrier cycle to reduce the duty cycle update delay time and the sampling error of the motor rotor position angle. Without increasing the switching frequency of the power device, the dynamic performance of the current loop can be improved.
[0004] In view of the disadvantages of high switching frequency and large switching losses, a new switching table based on the minimum switching times strategy is currently widely used in the direct torque control of motors. Compared with the traditional switching table, the switching times of the new switching table system containing zero voltage vectors can be reduced by half, thereby reducing the switching losses. Summary of the Invention
[0005] The technical problem to be solved by the present invention is to provide a method and system for optimizing the pulse-width modulation drive of a motor in view of the above deficiencies in the prior art, so as to solve the technical problems of poor dynamic response, high switching frequency, and large switching losses, improve the performance of the current loop, reduce the number of switchings, and extend the service life of power devices.
[0006] The present invention adopts the following technical solutions:
[0007] A method for optimizing the pulse-width modulation drive of a motor includes the following steps:
[0008] S1. The three-phase current of the motor is obtained through current sampling with a sampling frequency twice that of the motor control frequency. The current in the three-phase coordinate system of the motor stator is subjected to equal-amplitude conversion by using Clark transformation and Park transformation to obtain the d-axis and q-axis currents in the rotor orthogonal coordinate system.
[0009] S2. The d-axis and q-axis currents obtained in step S1 are input into a current feedback controller to calculate the d-axis and q-axis command voltages.
[0010] S3. The boundary point voltage amplitude of the zero voltage vector mode is determined according to the magnitude of the motor DC bus voltage and the measurement noise. The command voltage obtained in step S2 is compared with the boundary point voltage to divide the zero voltage vector mode and the non-zero voltage vector mode.
[0011] S4. Determine the sector based on the d-axis and q-axis command voltage values in the non-zero voltage vector mode obtained in step S3, and obtain the three-phase switch change time value t for comparison with the carrier according to the duty cycle. a , t b , t c ;
[0012] S5. Generate a carrier based on the mode in which the voltage command value obtained in step S3 is located. In the zero voltage vector mode, the carrier remains horizontal. In the non-zero voltage vector mode, a corresponding rising or falling edge of the triangular carrier is generated.
[0013] S6. Compare the three-phase switch change time value t a , t b , t c obtained in step S4 with the triangular carrier obtained in step S5 to obtain the motor three-phase upper and lower bridge switch signals, realizing motor pulse width modulation drive.
[0014] Specifically, in step S1, the d-axis and q-axis currents in the rotor orthogonal coordinate system are specifically:
[0015]
[0016] where, i d , i q respectively represent the d-axis and q-axis currents obtained after transformation; θ represents the real-time sampled rotor electrical angle value; i a , i b , i c respectively represent the real-time sampled a-phase, b-phase, and c-phase currents.
[0017] Specifically, in step S2, the d-axis and q-axis command voltages are:
[0018]
[0019] where, u represents the output voltage, P represents the proportional link; I represents the integral link; T s represents the current control period; s is the integral operator; i represents the feedback current; i * represents the command current.
[0020] Specifically, in step S3, when the motor d-axis and q-axis command voltages , it is set to the zero voltage vector mode; when the motor d-axis and q-axis command voltages , it is set to the non-zero voltage vector mode, and V0 is the voltage amplitude at the zero voltage vector mode boundary point.
[0021] Specifically, in step S4, the three-phase switch change time value t a , tb , t c The relationship is as follows:
[0022]
[0023]
[0024]
[0025]
[0026] Among them, T s is the sampling period, and T1 and T2 are the action times of non-zero space voltage vectors.
[0027] Furthermore, taking the ABC three axes as the reference, the plane domain containing all voltage vectors is divided into six sectors. The sector is judged by the sector position where the αβ voltage vector is located in the stator orthogonal coordinate system. The specific sector judgment is as follows:
[0028]
[0029] Among them, u α , u β respectively represent the α-axis and β-axis voltages.
[0030] Furthermore, in the non-zero voltage vector mode, the duty cycle is calculated; each sector is equally mapped to the stator three-phase coordinate system to obtain the voltage values of two adjacent axes of the sector required to synthesize the command voltage; through the operation with the DC bus voltage U dc and the sampling period T S , the action times T1 and T2 of the non-zero space voltage vectors are specifically:
[0031]
[0032]
[0033] Among them, T dcom is the dead-time compensation time.
[0034] Specifically, in step S5, zero voltage vector mode: when the time is an integer multiple of the sampling period T s / 2, according to the final value of the previous period being 0 or T s / 2, keep this value unchanged and generate a horizontal wave of one sampling period unit;
[0035] In the non-zero voltage vector mode: when the time is an integer multiple of the sampling period T s / 2, according to the final value of the previous period being 0 or T s / 2, using this value as the initial value, generate a half-triangle carrier with a slope of 1 or -1 of one sampling period unit.
[0036] Specifically, in step S6, within any control period, the switching signals in the non-zero voltage vector mode sequentially experience a change from (000) to (111) or from (111) to (000) over time, passing through t a , t b , t c to generate a timing change instruction for the switch by comparing with a half-triangular carrier signal; when the amplitude of the triangular wave is less than t a , the switching signal of phase A is at a low level; when the amplitude of the triangular wave is greater than or equal to t a , the switching signal of phase A is at a high level.
[0037] In a second aspect, an embodiment of the present invention provides a motor pulse width modulation optimization drive system, including:
[0038] A sampling module that obtains the three-phase current of the motor by sampling the current with a sampling frequency twice that of the motor control frequency, and performs an equal-amplitude conversion on the current in the three-phase coordinate system of the motor stator using Clark transformation and Park transformation to obtain the d-axis and q-axis currents in the rotor orthogonal coordinate system;
[0039] A calculation module that inputs the d-axis and q-axis currents obtained by the sampling module into a current feedback controller to calculate the d-axis and q-axis command voltages;
[0040] A division module that determines the boundary point voltage amplitude of the zero voltage vector mode according to the magnitudes of the motor DC bus voltage and the measurement noise, compares the command voltage obtained by the calculation module with the boundary point voltage, and divides the zero voltage vector mode and the non-zero voltage vector mode;
[0041] A time module that performs sector judgment according to the d-axis and q-axis command voltage values in the non-zero voltage vector mode obtained by the division module, and obtains the three-phase switch change time values t a , t b , t c ;
[0042] A carrier module that generates a carrier according to the mode in which the voltage command value obtained by the division module is located. The carrier remains horizontally shaped in the zero voltage vector mode, and generates a corresponding rising or falling edge of the triangular carrier in the non-zero voltage vector mode;
[0043] A drive module that compares the three-phase switch change time values t a , t b , t c obtained by the time module with the triangular carrier obtained by the carrier module to obtain the upper and lower bridge switching signals of the three phases of the motor, and realizes the motor pulse width modulation drive.
[0044] Compared with the prior art, the present invention has at least the following beneficial effects:
[0045] A method for optimizing the drive of motor pulse width modulation improves the system performance through double sampling and double updating; reduces the number of switches through zero voltage vector mode injection; designs a conversion-level digital circuit and conducts Verilog coding, including comprehensive modules for each functional circuit; detects the functionality and synthesizability of the conversion-level code through a digital test platform for the conversion-level code in Verilog language; the present invention effectively improves the current dynamic following characteristics of a three-phase motor without increasing the rated switching frequency of power devices, while reducing the number of switches and extending the service life of power devices.
[0046] Further, the d-axis and q-axis currents in the rotor orthogonal coordinate system are obtained and compared with the command current to form a current feedback loop; current control is performed in the rotor orthogonal coordinate system, and the advantage is that the rotor magnetic flux is a constant value, which is convenient for decoupling calculation; its principle is Clark transformation and Park transformation. First, the current vector in the stator three-phase coordinate system is converted to the stator orthogonal coordinate system through an operator and then converted to the rotor orthogonal coordinate system through an operator.
[0047] Further, since the actual voltage acting on the motor is the equivalent voltage generated by the inverter, the d-axis and q-axis command voltages are calculated through a PI controller under discrete tuning.
[0048] Further, in the zero voltage vector mode, the corresponding switching signals can be directly generated without performing the operation process required by the traditional space vector pulse width modulation technology. The advantage is that the calculation amount of the program can be reduced to a certain extent. The principle is that in the traditional pulse width modulation technology, within the control period when the command voltage required by the motor is almost 0, the power devices of the inverter will still make useless jumps within the period, and its equivalent voltage is equivalent to the zero voltage vector. To specifically reduce the unnecessary loss of power devices and the calculation amount of the program in the zero voltage vector mode, it is necessary to divide the voltage vector mode.
[0049] Further, the three-phase switch change values t a , t b , t c are used to compare with the carrier waves in the zero voltage vector mode and the non-zero voltage vector mode to generate switching signals.
[0050] Further, sector judgment is performed to process the voltage vectors in different sectors in accordance with the characteristics of the sectors; the principle is that the plane domain containing all voltage vectors is divided into 6 basic sectors based on the abc three axes as a reference.
[0051] Further, calculating T1 and T2 is to calculate the action time of two basic voltages for synthesizing the voltage command value within a control period; setting the dead-time compensation time is to avoid short circuits caused by the trailing current of the controlled power device; the principle is the time compensation method, where the switch is disconnected in advance or connected with a delay by inserting the dead time.
[0052] Further, the purpose of generating different carriers in the zero voltage vector mode and the non-zero voltage vector mode is to compare with the three-phase switch variation values t a , t b , t c to generate a switching signal. In the zero voltage vector mode, the upper bridge is kept fully open or the lower bridge is kept fully open, and in the non-zero voltage vector mode, the corresponding rising edge or falling edge of the triangular carrier is generated.
[0053] Further, comparing the time values of each phase switch variation with the triangular carrier is to obtain the motor three-phase upper and lower bridge switching signals, so that the power module switching devices modulate the desired voltage according to the generated ABC three-phase upper and lower bridge PWM waveforms.
[0054] It can be understood that the beneficial effects of the second aspect above can be referred to the relevant descriptions in the first aspect above, and will not be elaborated here.
[0055] In summary, the present invention improves the performance of the current loop while reducing the number of switchings and extending the service life of the power devices.
[0056] Next, through the drawings and embodiments, the technical solutions of the present invention will be further described in detail. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] Figure 1 is the schematic diagram of the vector control method of the permanent magnet synchronous motor of the present invention;
[0058] Figure 2 is the comparison diagram of the number of switchings before and after optimization of the present invention. Among them, (a) is the comparison of the number of switchings of the driver when the q-axis command current is a step signal, and (b) is the comparison of the number of switchings of the driver when the q-axis command current is a sine signal;
[0059] Figure 3 is the simulation result diagram of the switching signal implemented based on VIVADO of the present invention. Among them, (a) is the first sampling, and (b) is the second sampling;
[0060] Figure 4 is the schematic diagram of sector division;
[0061] Figure 5 is the schematic diagram of the voltage vector mode;
[0062] Figure 6It is a schematic diagram of the change process of the ABC three-phase upper-bridge switching signals. Detailed implementation manners
[0063] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
[0064] In the description of the present invention, it should be understood that the terms "include" and "comprise" indicate the presence of the described features, wholes, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or their combinations.
[0065] It should also be understood that the terms used in the specification of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention. As used in the specification of the present invention and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to include the plural forms.
[0066] It should be further understood that the term "and / or" used in the specification of the present invention and the appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this article generally represents an "or" relationship between the preceding and following related objects.
[0067] It should be understood that although the terms first, second, third, etc. may be used in the embodiments of the present invention to describe preset ranges, etc., these preset ranges should not be limited to these terms. These terms are only used to distinguish the preset ranges from each other. For example, without departing from the scope of the embodiments of the present invention, the first preset range may also be referred to as the second preset range, and similarly, the second preset range may also be referred to as the first preset range.
[0068] Depending on the context, the word "if" as used herein can be interpreted as "when" or "while" or "in response to determining" or "in response to detecting". Similarly, depending on the context, the phrase "if determined" or "if detected (stated condition or event)" can be interpreted as "when determined" or "in response to determining" or "when detected (stated condition or event)" or "in response to detecting (stated condition or event)".
[0069] Various structural schematic diagrams according to the disclosed embodiments of the present invention are shown in the accompanying drawings. These figures are not drawn to scale, where for the purpose of clear expression, some details are enlarged and some details may be omitted. The shapes of various regions and layers shown in the figures, as well as their relative sizes and positional relationships, are merely exemplary. In practice, there may be deviations due to manufacturing tolerances or technical limitations, and those skilled in the art can design regions / layers with different shapes, sizes, and relative positions according to actual needs.
[0070] The present invention provides a method for optimizing the drive of motor pulse width modulation, which improves the system performance through double sampling and double update; reduces the number of switching operations through zero voltage vector mode injection; designs a conversion stage (RTL) digital circuit and performs Verilog coding, including comprehensive modules for each functional circuit; and detects the functionality and synthesizability of the RTL code through a digital test platform of the RTL code in Verilog language. The present invention effectively improves the current dynamic following characteristic of a three-phase motor without increasing the rated switching frequency of power devices, while reducing the number of switching operations and extending the service life of power devices.
[0071] Please refer to Figure 1 , a method for optimizing the drive of motor pulse width modulation according to the present invention includes performing Clark transformation and Park transformation on the three-phase current of the motor; designing a feedback controller; judging the zero voltage vector mode; sector judgment, calculating the duty cycle, dead time compensation, and generating switching signals. The specific steps are as follows:
[0072] S1. Obtain the three-phase current of the motor through current sampling with a sampling frequency twice that of the motor control frequency, and perform an equal-amplitude transformation on the current in the three-phase coordinate system of the motor stator using Clark transformation and Park transformation to obtain the d-axis and q-axis currents in the rotor orthogonal coordinate system;
[0073] The d-axis and q-axis currents in the stator orthogonal coordinate system obtained through Clark transformation and Park transformation are:
[0074]
[0075] Among them, i d , i q respectively represent the d-axis and q-axis currents obtained after transformation; θ represents the rotor electrical angle value sampled in real time; i a , i b , i c respectively represent the a-phase, b-phase, and c-phase currents sampled in real time.
[0076] S2. Establish a current feedback controller, including but not limited to a PI current controller, and calculate the d-axis and q-axis command voltages by inputting the d-axis and q-axis currents obtained in step S1 into the controller.
[0077] Taking a permanent magnet synchronous motor as an example, the voltage balance equation in the rotor orthogonal coordinate system is:
[0078]
[0079]
[0080] Among them, u d , u q represent the direct-axis and quadrature-axis command voltages; R S represents the resistance; L S represents the inductance; i d , i q represent the direct-axis and quadrature-axis currents; ω e represents the electrical angular velocity of the motor rotor; Ψ PM represents the quadrature-axis magnetic flux linkage.
[0081] Taking a PI current feedback controller as an example, when the current control period is T s , the output of the controller is:
[0082]
[0083] Among them, u represents the output voltage, P represents the proportional link; I represents the integral link; T s represents the current control period; s is the integral operator; i represents the feedback current; i * represents the command current.
[0084] S3. According to the magnitudes of the motor DC bus voltage and the measurement noise, estimate the voltage amplitude at the boundary point of the zero voltage vector mode, calculate the amplitude of the motor command voltage obtained in step S2, and compare it with the boundary point voltage amplitude to divide the zero voltage vector mode and the non-zero voltage vector mode;
[0085] Comprehensively considering the magnitudes of the motor DC bus voltage and the measurement noise, set the voltage amplitude at the boundary point of the zero voltage vector mode as V0.
[0086] According to the d-axis and q-axis command voltages of the motor obtained in step S2, calculate the amplitude and compare it with the boundary point voltage amplitude:
[0087] When Set it to the zero voltage vector mode;
[0088] When Set it to the non-zero voltage vector mode.
[0089] S4. According to the d-axis and q-axis command voltage values in the non-zero voltage vector mode obtained in step S3, perform sector judgment, calculate the duty cycle, and obtain the time values t a , t b , tc ;
[0090] Sector judgment is carried out in the non - zero voltage vector mode. The following errors between the d - axis and q - axis current values and their command current values are generated into d - axis and q - axis voltage commands through a PI feedback controller. The driving of the permanent magnet synchronous motor is mainly to form the rotating magnetic field of the motor stator, so the relevant calculations of pulse width modulation are also carried out in the stator coordinate system. The voltage command values generated in the d - q coordinates need to be transformed to the α - β coordinate system through the Park inverse transformation for sector judgment. The conversion formula is:
[0091]
[0092] where, u α , u β represent the α - axis and β - axis voltages respectively; θ represents the rotor electrical angle value sampled in real - time; u d , u q represent the d - axis and q - axis voltages respectively.
[0093] Please refer to Figure 4 , and the plane domain containing all voltage vectors is divided into six sectors based on the ABC three - axis. The sector where the α - β voltage vector is located in the stator orthogonal coordinate system is judged. According to the geometric characteristics of the sector, there are many methods to judge the sector. The sector judgment idea used in the present invention is:
[0094]
[0095] Calculate the duty cycle in the non - zero voltage vector mode. Map each sector equally to the stator three - phase coordinate system to obtain the voltage values of the two adjacent axes of the sector required to synthesize the command voltage. By operating with the DC bus voltage U dc and the sampling period T S , the action times T1 and T2 of two non - zero space voltage vectors are obtained.
[0096]
[0097] To compensate for the voltage error caused by the dead - time, the time compensation method is adopted. First, measure the dead - time compensation time T dcom off - line. In each cycle, perform dead - time compensation on T1 and T2 respectively. The distribution of the dead - time compensation time is based on the ratio between T1 and T2 as:
[0098]
[0099]
[0100] The time values t a , t b of the three - phase switch changes compared with the triangular carrier wave are calculated in the non - zero voltage vector mode.,t c :
[0101]
[0102]
[0103]
[0104] The sectors are different, and t1, t2, t3 and t a ,t b ,t c have different corresponding relationships:
[0105]
[0106] S5. Generate a carrier according to the mode in which the voltage command value obtained in step S3 is located. In the zero-voltage vector mode, the carrier remains horizontal, and in the non-zero-voltage vector mode, the corresponding rising or falling edge of the triangular carrier is generated;
[0107] Please refer to Figure 5 , and generate the required discontinuous carrier according to the mode in which the voltage command value obtained in step S3 is located. Taking the sampling period T s / 2 as the unit, generate the carrier for the next period at an integer multiple of the sampling period T s / 2;
[0108] Zero-voltage vector mode: When the time is an integer multiple of the sampling period T s / 2, according to the final value of the previous period being 0 or T s / 2, keep this value unchanged and generate a horizontal wave for one sampling period unit.
[0109] In the non-zero-voltage vector mode: When the time is an integer multiple of the sampling period T s / 2, according to the final value of the previous period being 0 or T s / 2, taking this value as the initial value, generate a semi-triangular carrier with a slope of 1 or -1 for one sampling period unit.
[0110] S6. Compare the time values t a ,t b ,t c of the three-phase switch changes obtained in steps S4 and S5 with the triangular carrier to obtain the motor three-phase upper and lower bridge switch signals.
[0111] According to the time values t a ,t b ,t cCompare with the triangular wave to obtain the switching signals of the upper and lower bridges of the three phases of the motor. In any control period, in the non-zero voltage vector mode, the switching signals experience a certain time sequence from (000) to (111) or from (111) to (000), passing through t a ,t b ,t c Generate the timing change instruction of the switch by comparing with the half-triangular carrier signal. When the amplitude of the triangular wave is less than t a , the switching signal of phase A is at a low level; when the amplitude of the triangular wave is greater than or equal to t a , the switching signal of phase A is at a high level, and the same applies to phases B and C.
[0112] Please refer to Figure 6 , the switching signals of the upper and lower bridges of each phase of the inverter are opposite in time. Taking the first sector as an example, the change process of the switching signals of the upper bridges of the three phases ABC is as follows:
[0113] (000) → (100) → (110) → (000) → (110) → (100) → (000)
[0114] In another embodiment of the present invention, a motor pulse width modulation optimization drive system is provided. This system can be used to implement the above-mentioned motor pulse width modulation optimization drive method. Specifically, the motor pulse width modulation optimization drive system includes a sampling module, a calculation module, a division module, a time module, a carrier module, and a drive module.
[0115] Among them, the sampling module samples the three-phase current of the motor through current sampling with a sampling frequency twice that of the motor control frequency, and performs equal-amplitude conversion on the current in the three-phase coordinate system of the motor stator by using Clark transformation and Park transformation to obtain the d-axis and q-axis currents in the rotor orthogonal coordinate system;
[0116] The calculation module inputs the d-axis and q-axis currents obtained by the sampling module into the current feedback controller to calculate the d-axis and q-axis command voltages;
[0117] The division module determines the boundary point voltage amplitude of the zero voltage vector mode according to the magnitudes of the motor DC bus voltage and the measurement noise, compares the command voltage obtained by the calculation module with the boundary point voltage, and divides the zero voltage vector mode and the non-zero voltage vector mode;
[0118] The time module performs sector judgment according to the d-axis and q-axis command voltage values in the non-zero voltage vector mode obtained by the division module, and obtains the three-phase switch change time values t a ,t b ,t c ;
[0119] The carrier module generates a carrier according to the mode in which the voltage command value obtained by the division module is located. The carrier remains horizontal in the zero voltage vector mode, and the rising or falling edge of the corresponding triangular carrier is generated in the non-zero voltage vector mode;
[0120] The driving module uses the time values t a , t b , t c obtained by the time module for the three-phase switch changes to compare with the triangular carrier obtained by the carrier module to obtain the upper and lower bridge switch signals of the three phases of the motor, thereby realizing the pulse width modulation drive of the motor.
[0121] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention. Usually, the components described and shown in the accompanying drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present invention provided in the drawings is not intended to limit the scope of the claimed invention, but merely represents selected embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts belong to the scope of protection of the present invention.
[0122] The method of the present invention is implemented on an FPGA. Through high-concurrency register transfer level (RTL) digital circuit design and Verilog coding, and using a top-down modular design method, an RTL hardware digital circuit is designed and synthesized. Among them, it includes an FPGA vector control top-level module, a space vector pulse width modulation top-level module, an ADC current acquisition module, a feedback controller module, an incremental encoder reading module, a Clark transformation and Prak transformation module, an electrical angle and electrical angular velocity conversion module, a deformed carrier generation module, and a PWM pulse generation module. The modules are hierarchically nested through module instantiation.
[0123] Using the top-down modular design method starts from the system level, divides the system into basic unit modules, and then divides each basic unit module into the next-level basic units until it can be directly implemented with basic components in the EDA component library. Finally, the method model is split into basic circuit components and represented in a hardware description language. In addition to the core method module, the entire motor control system also includes interaction modules with peripheral circuits and sensors. The top-down modular design can integrate each sub-module into a top-level module, saving the control cost of the peripheral circuit and improving the hardware integration degree.
[0124] An HDL test bench (Testbench) based on the Verilog language is established for functional verification of RTL code. The test stimuli are synchronized with the actual sampling points of the simulation to ensure the accuracy of the test.
[0125] Please refer to Figure 2 , which is a comparison chart of the number of switchings before and after the optimization of the present invention. Figure (a) shows the comparison of the number of switchings of the driver when the q-axis command current is a step signal, and the occurrence time of the step command is 0.05 s. It can be seen that the present invention can avoid the switching changes before the command signal is issued. Figure (b) shows the comparison of the number of switchings of the driver when the q-axis command current is a sine signal, and it can be seen that the present invention can also reduce the number of switching changes during the operation of the motor.
[0126] Please refer to Figure 3 , which is the simulation result of the switching signal implemented based on VIVADO. It can be seen that based on the double sampling and double update of the method of the present invention, the states of the three-phase switches at the end of the previous cycle are kept unchanged, reducing the number of switchings.
[0127] In summary, a motor pulse width modulation optimization driving method and system of the present invention, through a motor driving method based on double sampling and zero voltage vector injection; optimizes the switching signal, improves the sampling and calculation frequencies, and thus improves the dynamic performance of the current loop without increasing the switching frequency of the power device, while reducing the number of switchings in the zero voltage vector mode and prolonging the service life of the power device.
[0128] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0129] The present application is described with reference to the flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, and the combination of processes and / or blocks in the flowchart and / or block diagram, can be realized by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate means for realizing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0130] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to work in a particular manner, such that the instructions stored in the computer-readable memory produce a manufacture including an instruction device that implements the functions specified in one or more processes and / or blocks Figure 1 in one or more processes and / or blocks Figure 1 of the function specified.
[0131] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable apparatus provide steps for implementing the functions specified in one or more processes and / or blocks Figure 1 in one or more processes and / or blocks Figure 1 of the function specified.
[0132] The above is only to illustrate the technical idea of the present invention and should not be used to limit the protection scope of the present invention. Any modifications made on the basis of the technical solution according to the technical idea proposed by the present invention shall fall within the protection scope of the claims of the present invention.
Claims
1. A method for optimizing the drive of a motor pulse width modulation, characterized in that, It includes the following steps: S1. Obtain the three-phase current of the motor through current sampling with a sampling frequency twice that of the motor control frequency, and perform an equal-amplitude conversion on the current in the three-phase coordinate system of the motor stator using Clark transformation and Park transformation to obtain the d-axis and q-axis currents in the rotor orthogonal coordinate system; S2. Input the d-axis and q-axis currents obtained in step S1 into a current feedback controller to calculate the d-axis and q-axis command voltages; S3. Determine the amplitude of the boundary voltage of the zero voltage vector mode according to the magnitudes of the motor DC bus voltage and the measurement noise, compare the command voltage obtained in step S2 with the boundary voltage, and divide the zero voltage vector mode and the non-zero voltage vector mode; S4. Determine the sector based on the d-axis and q-axis command voltage values in the non-zero voltage vector mode obtained in step S3, and obtain the three-phase switch change time values compared with the carrier according to the duty cycle. ; S5. Generate a carrier according to the mode in which the voltage command value obtained in step S3 is located. In the zero voltage vector mode, the carrier maintains a horizontal waveform, and in the non-zero voltage vector mode, a corresponding rising or falling edge of the triangular carrier is generated; S6. Compare the time values of the three-phase switch changes obtained in step S4 with the triangular carrier wave obtained in step S5 to obtain the motor three-phase upper and lower bridge switch signals, thereby realizing motor pulse width modulation drive.
2. The motor pulse width modulation optimization driving method according to claim 1, wherein In step S1, the d-axis and q-axis currents in the rotor orthogonal coordinate system are specifically: Among them, respectively represent the d-axis and q-axis currents obtained after transformation; represents the rotor electrical angle value sampled in real time; respectively represent the a-phase, b-phase, and c-phase currents sampled in real time.
3. The motor pulse width modulation optimization driving method according to claim 1, characterized in that In step S2, the d-axis and q-axis command voltages are: Among them, represents the output voltage, P represents the proportional link; I represents the integral link; represents the current control period; is the integral operator; represents the feedback current; represents the command current.
4. The motor pulse width modulation optimization driving method according to claim 1, wherein In step S3, when the motor d-axis and q-axis command voltages are present, it is set to the zero voltage vector mode; when the motor d-axis and q-axis command voltages are present, it is set to the non-zero voltage vector mode, being the voltage amplitude at the demarcation point of the zero voltage vector mode.
5. The motor pulse width modulation optimization driving method according to claim 1, wherein In step S4, the three-phase switch change time value has the following relationship: The sectors are different, and The corresponding relationship is as follows: Among them, is the sampling period, is the action time of the non-zero space voltage vector.
6. The motor pulse width modulation optimization driving method according to claim 5, characterized in that Based on the ABC three axes, the plane domain containing all voltage vectors is divided into six sectors. By judging the sector position of the voltage vector in the stator orthogonal coordinate system the specific sector judgment is as follows: Among them, respectively represent shaft voltage.
7. The motor pulse width modulation optimization driving method according to claim 5, characterized in that, Calculate the duty cycle in the non-zero voltage vector mode; equally map each sector to the stator three-phase coordinate system to obtain the voltage values of two adjacent axes of the sector required to synthesize the command voltage; through the DC bus voltage and the sampling period operate to obtain the action time of the non-zero space voltage vector Specifically: Among them, is the dead zone compensation time.
8. The motor pulse width modulation optimization driving method according to claim 1, wherein In step S5, zero voltage vector mode: when the time is an integer multiple of the sampling period , according to the final value of the previous cycle being 0 or , keep this value unchanged and generate a horizontal wave with a unit of sampling period. In the non-zero voltage vector mode: When the time is an integer multiple of the sampling period , according to whether the final value of the previous period is 0 or , using this value as the initial value, generate a half-triangular carrier with a slope of 1 or -1 for one sampling period unit.
9. The motor pulse width modulation optimization driving method according to claim 1, wherein In step S6, within any control period, the switching signals in the non-zero voltage vector mode sequentially experience a transition from to or from to . By comparing with the half-triangle carrier signal through , a timing change instruction for the switch is generated; when the amplitude of the triangular wave is less than , the switching signal of phase A is at a low level; when the amplitude of the triangular wave is greater than or equal to , the switching signal of phase A is at a high level.
10. A motor pulse width modulation optimization drive system, characterized in that, It includes: A sampling module that obtains the three-phase current of the motor through current sampling with a sampling frequency twice that of the motor control frequency, and performs an equal-amplitude conversion on the current in the three-phase coordinate system of the motor stator using Clark transformation and Park transformation to obtain the d-axis and q-axis currents in the rotor orthogonal coordinate system; A calculation module that inputs the d-axis and q-axis currents obtained by the sampling module into a current feedback controller to calculate the d-axis and q-axis command voltages; A division module that determines the amplitude of the boundary voltage of the zero voltage vector mode according to the magnitudes of the motor DC bus voltage and the measurement noise, compares the command voltage obtained by the calculation module with the boundary voltage, and divides the zero voltage vector mode and the non-zero voltage vector mode; The time module determines the sector based on the d-axis and q-axis command voltage values in the non-zero voltage vector mode obtained by the division module, and obtains the three-phase switch change time value compared with the carrier according to the duty cycle. ; A carrier module that generates a carrier according to the mode in which the voltage command value obtained by the division module is located. In the zero voltage vector mode, the carrier maintains a horizontal waveform, and in the non-zero voltage vector mode, a corresponding rising or falling edge of the triangular carrier is generated; The driving module compares the time values of the three-phase switch changes obtained by the time module with the triangular carrier wave obtained by the carrier module to obtain the upper and lower bridge switch signals of the three phases of the motor, thereby realizing the pulse width modulation drive of the motor.
Citation Information
Patent Citations
Z-source two-stage matrix converter with fault-tolerant topology and control method thereof
CN105356764A
Vector screening and duty cycle combined motor model prediction control system and method
CN106936356A