A back electromotive force zero-crossing detection method and system for a direct current brushless motor
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- LOUDI CHUANGWEIDA ELECTRICAL APPLIANCE CO LTD
- Filing Date
- 2026-05-18
- Publication Date
- 2026-08-07
AI Technical Summary
若仅依据电压差值的正负变化进行判断,容易将不属于过零点检测时间段的信号写入过零点检测信号,也容易使换相点与运行速度信息对应关系发生偏离,难以满足换相点稳定生成的需求
[0052] (1) In view of the problem that the zero-crossing comparison signal is directly used for positive and negative change identification in the prior art, the present invention, based on the zero-crossing comparison signal, combined with the calibration of the low level period of the PWM waveform and the calibration after the end of the freewheeling, divides the false zero-crossing shielding time period and the zero-crossing detection time period, so that the initial time period after commutation, the high level period of the PWM waveform and the signal before the end of the freewheeling are excluded from the zero-crossing detection time period.
Smart Images

Figure CN122533464A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of motor control technology, and in particular to a method and system for detecting the zero-crossing of the back electromotive force of a brushless DC motor. Background Technology
[0002] In the field of motor control technology, existing solutions typically acquire three-phase terminal voltages, bus voltages, and pulse width modulation drive status. Combined with the conducting and non-conducting phases in the current commutation sector, the voltage at the non-conducting phase terminal is compared using a midpoint voltage or voltage difference. The zero-crossing point is then determined based on the positive or negative change in back electromotive force, and the commutation point is generated based on this zero-crossing point. However, existing methods often directly use the positive or negative change as the zero-crossing point, or directly use the zero-crossing signal output from the zero-crossing point comparison circuit for phase compensation angle calculation.
[0003] In scenarios involving calibration during the low-level period of the pulse width modulation waveform, calibration after the end of freewheeling, and continuous changes in the current commutation sector, false zero points are prone to occur in the initial time period after commutation, during the high-level period of the pulse width modulation waveform, and before the end of freewheeling. The zero-crossing comparison signal is also prone to being inconsistent with the actual direction of change of the voltage at the non-conducting phase terminals. If the judgment is based solely on the positive or negative change of the voltage difference, signals that do not belong to the zero-crossing detection time period are easily written into the zero-crossing detection signal. This also easily causes a deviation in the correspondence between the commutation point and the operating speed information, making it difficult to meet the requirement of stable commutation point generation.
[0004] For the joint processing of zero-crossing detection signals, valid zero-crossing confirmation, change direction, time interval between adjacent commutation points, and phase compensation angle, existing technologies generally lack a continuous process that connects the zero-crossing comparison signal, false zero-crossing shielding time period, zero-crossing detection time period, and current commutation sector for judgment. This makes it difficult to form a consistent process of acquisition, calibration, comparison, time period division, positive and negative change identification, valid zero-crossing confirmation, and commutation point generation in the scenario of zero-crossing detection of back EMF of brushless DC motors, resulting in a lack of continuous judgment link between the zero-crossing detection signal and the commutation point. Summary of the Invention
[0005] To address the aforementioned technical problems, this invention provides a method for detecting the zero-crossing back electromotive force of a brushless DC motor, comprising:
[0006] S100: Sample and acquire information on the three-phase terminal voltage, bus voltage, PWM drive status, commutation sector, commutation time and running speed of the motor, complete the low-level calibration of the PWM waveform and the calibration after the freewheeling ends, and generate a zero-crossing detection input set.
[0007] S200: Identify the conducting phase and the non-conducting phase based on the zero-crossing detection input set to obtain the phase identifier to be detected;
[0008] S300. Based on the phase identifier to be detected, the neutral point voltage and voltage difference are calculated by combining the three-phase terminal voltage and the bus voltage, and a zero-crossing comparison signal is generated.
[0009] S400. Based on the zero-crossing comparison signal, divide the false zero-crossing shielding period and the zero-crossing detection period;
[0010] S500: During the zero-crossing detection period, process the voltage of the non-conducting phase terminals, identify the positive and negative changes in the voltage difference and extract the direction of change, and generate a zero-crossing detection signal.
[0011] S600 combines the zero-crossing detection signal, time period, running speed and commutation interval to confirm the valid zero-crossing point, and generates the commutation point through phase compensation.
[0012] Furthermore, the process of completing the low-level calibration of the PWM waveform and the calibration after the freewheeling phase, and generating the zero-crossing detection input set includes:
[0013] When the sampling time is during the low level period of the PWM waveform, the three-phase terminal voltage is written into the low level sampling record, and the low level period calibration field of the PWM waveform is set to the corresponding state;
[0014] After the commutation moment, when the three-phase terminal voltage enters the stable sampling state corresponding to the low level period of the PWM waveform, the corresponding sampled value is written into the record after the freewheeling ends, and the calibration field after the freewheeling ends is set to the corresponding state.
[0015] The zero-crossing detection input set includes a three-phase terminal voltage field, a bus voltage field, a PWM drive status field, a current commutation sector field, a commutation time field, a running speed information field, a calibration field during the low-level period of the PWM waveform, a calibration field after the freewheeling ends, and a false zero-point shielding information field.
[0016] Furthermore, the process of identifying the conducting phase and the non-conducting phase based on the zero-crossing detection input set to obtain the identifier of the phase to be detected includes:
[0017] Read the current commutation sector field, mark the stator winding connected to the positive terminal of the control power supply as the first conducting phase, mark the stator winding connected to the negative terminal of the control power supply as the second conducting phase, and mark the stator winding in the de-energized state as the non-conducting phase;
[0018] When the corresponding sampling record to be detected is during the low level period of the PWM waveform and after the freewheeling has ended, the phase to be detected is written into the valid phase to be detected record; if it is during the high level period of the PWM waveform or before the freewheeling has ended, the corresponding sampling record is synchronously written into the false zero-point shielding information.
[0019] Furthermore, the process of generating a zero-crossing comparison signal by calculating the midpoint voltage and voltage difference based on the phase identifier to be detected and combining the three-phase terminal voltage and the bus voltage includes:
[0020] The calculation of the midpoint voltage includes: obtaining the stator winding midpoint voltage from the bus voltage, and obtaining the virtual midpoint voltage from the three-phase terminal voltage;
[0021] The calculation of the voltage difference includes: obtaining twice the voltage difference between the non-conducting phase terminal voltage and the conducting phase terminal voltage based on the conducting phase terminal voltage and the non-conducting phase terminal voltage;
[0022] The generation of the zero-crossing comparison signal includes: outputting a valid comparison record only when the calibration exists during the low-level period of the PWM waveform and after the freewheeling ends, and writing the comparison state, comparison time and corresponding phase input in the valid comparison record into the zero-crossing comparison signal.
[0023] Furthermore, the process of dividing the false zero-point shielding period and the zero-point detection period based on the zero-crossing comparison signal includes:
[0024] The process of dividing the false zero-point shielding period includes: recording the continuous comparison time after the commutation moment as the initial time period after commutation, and writing the initial time period, the time period corresponding to the high level of the PWM waveform, and the time period corresponding to the end of the freewheeling phase into the false zero-point shielding time period.
[0025] Furthermore, the process of dividing the false zero-point shielding period and the zero-point detection period based on the zero-crossing comparison signal also includes:
[0026] The division of the zero-crossing detection period includes: writing records in the comparison time field that belong to both the low-level period of the PWM waveform and the end of the freewheeling phase into the zero-crossing detection period;
[0027] The termination position of the zero-crossing detection time period is dynamically adjusted based on the running speed information and the time interval between adjacent commutation points, so that the termination position is no earlier than the start position of the detection time period after the end of the follow current and no later than the comparison time record before the next commutation point.
[0028] Furthermore, the process of processing the non-conducting phase voltage during the zero-crossing detection period includes:
[0029] The process of processing the non-conducting phase terminal voltage includes: during the zero-crossing detection time period, reading the non-conducting phase terminal voltage corresponding to the phase identifier to be detected, and matching it with the midpoint voltage field and voltage difference field in the zero-crossing comparison signal.
[0030] Furthermore, the process of identifying the positive and negative changes in voltage difference, extracting the direction of change, and generating a zero-crossing detection signal includes:
[0031] The identification of positive and negative changes in voltage difference includes: reading the voltage difference field in chronological order of comparison time; recording the positive-to-negative change when the positive state changes from positive to negative in adjacent comparison times; and recording the positive-to-positive change when the negative state changes from negative to positive.
[0032] The extraction of change direction includes: recording the positive and negative changes corresponding to the stator windings in the current commutation sector that are in a de-energized state as the change direction of the voltage at the non-conducting phase terminal; and maintaining the conducting and non-conducting phases corresponding to the current commutation sector based on the false zero point.
[0033] Furthermore, the process of confirming a valid zero-crossing point by combining the zero-crossing detection signal, time period, operating speed, and commutation interval, and generating the commutation point through phase compensation, includes:
[0034] The confirmation of a valid zero crossing point involves a three-layer joint judgment:
[0035] The first layer determines whether the comparison time of the zero-crossing detection signal is within the zero-crossing detection time period and outside the false zero-crossing shielding time period.
[0036] The second layer determines whether the direction of change of the zero-crossing detection signal corresponds to the non-conducting phase in the current commutation sector.
[0037] The third layer determines whether the comparison time of the zero-crossing detection signal and the time interval between adjacent commutation points correspond to the running speed information.
[0038] Only when all three of the above criteria are met simultaneously will the zero-crossing detection signal be recorded as a valid zero-crossing.
[0039] The process of generating the commutation point through phase compensation includes: obtaining the back electromotive force frequency based on the effective zero-crossing point, obtaining the phase compensation angle by combining the operating speed information, and then generating the commutation point based on the 30° electrical angle after the effective zero-crossing point.
[0040] Furthermore, a back EMF zero-crossing detection system for a brushless DC motor, applied to any of the methods described above, includes:
[0041] The data acquisition module is used to acquire the three-phase terminal voltage, bus voltage, PWM drive status, current commutation sector, commutation time and running speed information of the brushless DC motor, perform calibration during the low level period of the PWM waveform and calibration after the freewheeling ends, and obtain the zero-crossing detection input set.
[0042] The phase identification module is used to perform conducting phase and non-conducting phase identification processing based on the zero-crossing detection input set to obtain the phase identifier to be detected;
[0043] The zero-crossing comparison module is used to call the three-phase terminal voltage, bus voltage, conducting phase terminal voltage and non-conducting phase terminal voltage based on the phase identifier to be detected, and perform zero-crossing comparison processing corresponding to the midpoint voltage and voltage difference to obtain the zero-crossing comparison signal;
[0044] The time period segmentation module is used to perform false zero-point shielding time period and zero-point detection time period segmentation based on the zero-crossing comparison signal, combined with the calibration of the PWM waveform during the low-level period and the calibration after the freewheeling ends, to obtain the zero-crossing detection time period.
[0045] The zero-crossing detection module is used to perform voltage difference processing, positive and negative change identification, and change direction extraction processing on the voltage of the non-conducting phase terminal based on the zero-crossing detection time period to obtain the zero-crossing detection signal;
[0046] The commutation point generation module is used to perform joint judgment processing based on the zero-crossing detection signal, including valid zero-crossing confirmation, time interval between adjacent commutation points, direction of change, and phase compensation angle, to obtain the commutation point.
[0047] The key innovations of this invention include:
[0048] (1) The zero-crossing comparison signal is correspondingly processed with the calibration during the low level period of the PWM waveform and the calibration after the freewheeling ends. The false zero-point shielding time period and the zero-crossing detection time period are divided to obtain the zero-crossing detection time period, so that the zero-crossing detection signal has a time period limitation before entering the subsequent judgment.
[0049] (2) Based on the zero-crossing detection signal, perform effective zero-crossing confirmation, joint judgment processing of adjacent commutation point time interval and change direction, so that the signal after positive and negative change identification is not directly used as the commutation point, but is first matched with the zero-crossing detection time period, current commutation sector and running speed information.
[0050] (3) After the effective zero crossing point is confirmed, the time interval, direction of change and phase compensation angle of the adjacent commutation points are included in the joint judgment process to obtain the commutation point, so that the commutation point is generated by the zero crossing point detection signal corresponding to the time interval, phase end direction and running speed information.
[0051] The following are its main beneficial effects:
[0052] (1) In view of the problem that the zero-crossing comparison signal is directly used for positive and negative change identification in the prior art, the present invention, based on the zero-crossing comparison signal, combined with the calibration of the low level period of the PWM waveform and the calibration after the end of the freewheeling, divides the false zero-crossing shielding time period and the zero-crossing detection time period, so that the initial time period after commutation, the high level period of the PWM waveform and the signal before the end of the freewheeling are excluded from the zero-crossing detection time period.
[0053] (2) In view of the problem that positive and negative changes are directly used as zero crossings in the prior art, the present invention confirms the effective zero crossing based on the zero crossing detection signal and determines whether the zero crossing detection signal is located in the zero crossing detection time period, so that the effective zero crossing comes from positive and negative changes that have been filtered through the time period.
[0054] (3) In view of the problem that the existing technology does not combine the current commutation sector to determine the zero-crossing point, the present invention makes a joint judgment based on the change direction, so that the zero-crossing point detection signal corresponds to the non-conducting phase voltage and the current commutation sector, thereby reducing the positive and negative changes of the non-detectable phase voltage entering the commutation point generation process.
[0055] (4) In view of the problem that the existing technology does not combine the running speed information to determine the location of the zero crossing, the present invention incorporates the time interval between adjacent commutation points into the joint judgment process, so that the effective zero crossing point corresponds to the running speed information, and reduces the number of zero crossing detection signals written to the commutation point too early or too late.
[0056] (5) In view of the problem that the zero-crossing signal is directly used for phase compensation angle in the prior art, the present invention performs a joint judgment process of phase compensation angle after the effective zero-crossing point is confirmed, so that the commutation point is obtained by the effective zero-crossing point, the time interval between adjacent commutation points, the direction of change and the phase compensation angle, forming a continuous judgment process from the zero-crossing detection signal to the commutation point. Attached Figure Description
[0057] Figure 1 A flowchart illustrating a method for detecting the zero-crossing back electromotive force of a brushless DC motor, provided in an embodiment of this application;
[0058] Figure 2 This is a structural block diagram of a DC brushless motor back EMF zero-crossing detection system provided in an embodiment of this application. Detailed Implementation
[0059] Example 1: Refer to Figure 1 This is a flowchart illustrating a method for detecting the zero-crossing back electromotive force of a brushless DC motor according to an embodiment of the present invention. The process may include at least steps S100-S600:
[0060] S100: Sample and acquire information on the three-phase terminal voltage, bus voltage, PWM drive status, commutation sector, commutation time and running speed of the motor, complete the low-level calibration of the PWM waveform and the calibration after the freewheeling ends, and generate a zero-crossing detection input set.
[0061] S200: Identify the conducting phase and the non-conducting phase based on the zero-crossing detection input set to obtain the phase identifier to be detected;
[0062] S300. Based on the phase identifier to be detected, the neutral point voltage and voltage difference are calculated by combining the three-phase terminal voltage and the bus voltage, and a zero-crossing comparison signal is generated.
[0063] S400. Based on the zero-crossing comparison signal, divide the false zero-crossing shielding period and the zero-crossing detection period;
[0064] S500: During the zero-crossing detection period, process the voltage of the non-conducting phase terminals, identify the positive and negative changes in the voltage difference and extract the direction of change, and generate a zero-crossing detection signal.
[0065] S600 combines the zero-crossing detection signal, time period, running speed and commutation interval to confirm the valid zero-crossing point, and generates the commutation point through phase compensation.
[0066] S100: Sample and acquire information on the three-phase terminal voltage, bus voltage, PWM drive status, commutation sector, commutation time and running speed of the motor, complete the low-level calibration of the PWM waveform and the calibration after the freewheeling ends, and generate a zero-crossing detection input set.
[0067] This step is performed by the data acquisition module during the operation of the brushless DC motor. The data acquisition module is connected to the three-phase terminals, bus voltage detection terminal, PWM (Pulse Width Modulation) drive status output terminal, and commutation control terminal of the brushless DC motor. The three-phase terminal voltages are the voltages of the A, B, and C phase terminals of the brushless DC motor relative to the reference ground, including the terminal voltage state of each phase at the current sampling time. The bus voltage is the voltage state of the DC power supply side of the inverter circuit. The PWM drive state is the PWM waveform state formed when the control power supply is applied to the stator windings through the inverter circuit, including the low-level period, the high-level period, and the duty cycle of the PWM waveform. The current commutation sector is the winding connection state corresponding to the current commutation of the brushless DC motor, including the stator winding connected to the positive terminal of the control power supply, the stator winding connected to the negative terminal of the control power supply, and the stator winding in a de-energized state. The commutation time is the time position recorded when the brushless DC motor moves from one commutation sector to the next. The operating speed information is the motor speed state obtained from the time interval between adjacent commutation points, the back electromotive force frequency, or the detection signal from the tachogenerator.
[0068] Specifically, the data acquisition module triggers sampling based on changes in the PWM drive state. The sampling trigger point is taken from the stable time period after the PWM waveform state change. At the same sampling moment, the data acquisition module reads the three-phase terminal voltage and bus voltage, and records the reading time corresponding to the current commutation sector, commutation time, and operating speed information. The recorded fields for the three-phase terminal voltage include the A-phase terminal voltage, B-phase terminal voltage, and C-phase terminal voltage. The recorded field for the bus voltage includes the current bus voltage. The recorded fields for the PWM drive state include the calibration fields for the low-level period of the PWM waveform, the calibration fields for the high-level period of the PWM waveform, and the duty cycle field. The recorded fields for the current commutation sector include the current sector identifier and the stator winding connection status. The recorded field for the commutation time includes the current commutation time and the time interval between adjacent commutation points. The recorded fields for the operating speed information include the back EMF frequency or the motor speed status.
[0069] During the calibration of the PWM waveform during its low-level period, the data acquisition module reads the PWM waveform state from the PWM drive state. When the sampling time falls within the low-level period of the PWM waveform, the data acquisition module writes the three-phase terminal voltage corresponding to that sampling time into the low-level sampling record and sets the PWM waveform low-level period calibration field to the corresponding state. When the sampling time falls within the high-level period of the PWM waveform, the data acquisition module writes the three-phase terminal voltage corresponding to that sampling time into the false zero-point shielding information and sets the PWM waveform high-level period calibration field to the corresponding state. The false zero-point shielding information only records the sampling state in this step, does not perform zero-crossing judgment, and is called in the false zero-point shielding time period division processing of S400.
[0070] During the calibration after the freewheeling phase ends, the data acquisition module reads the PWM drive state and the three-phase terminal voltage change state after the commutation moment. The freewheeling state is the terminal voltage state corresponding to the stator winding current freewheeling through the freewheeling diode or switching transistor after the commutation moment. The data acquisition module records the initial time period after the commutation moment as the freewheeling observation time period. During the freewheeling observation time period, if the three-phase terminal voltage is still in the jumping state after commutation, the data acquisition module writes the corresponding sampled value into the record before the end of freewheeling. If the three-phase terminal voltage enters a stable sampling state corresponding to the low level period of the PWM waveform, the data acquisition module writes the corresponding sampled value into the record after the end of freewheeling and sets the calibration field after the end of freewheeling to the corresponding state. The record before the end of freewheeling is written into the false zero-point shielding time period in S400, and the record after the end of freewheeling is written into the zero-crossing detection time period in S400.
[0071] Understandably, the data acquisition module automatically re-executes this step after each commutation of the brushless DC motor. When the current commutation sector changes, the data acquisition module clears the low-level sampling records and records after the end of freewheeling in the previous commutation sector, retaining only the time interval between adjacent commutation points and the running speed information. When the current commutation sector does not change, the data acquisition module continuously updates the three-phase terminal voltage, bus voltage, and PWM waveform status according to the PWM drive state. If the bus voltage sampling is missing, the data acquisition module retains the current three-phase terminal voltage record and records the bus voltage field as blank. If the current commutation sector is missing, the data acquisition module does not generate a new zero-crossing detection input set and maintains the record state corresponding to the previous commutation moment. If the running speed information is missing, the data acquisition module uses the time interval between adjacent commutation points as the source of the running speed information record.
[0072] As an engineering embodiment, in a three-phase six-step commutation DC brushless motor drive board, the data acquisition module consists of a microcontroller, a phase voltage detection unit, a bus voltage detection unit, and a PWM module. The phase voltage detection unit is connected to the phase terminals of phases A, B, and C, respectively, the bus voltage detection unit is connected to the DC power supply side, and the PWM module outputs the PWM drive status. The microcontroller records the current commutation sector at the commutation moment and reads the three-phase terminal voltage and bus voltage during the low-level period of the PWM waveform. The microcontroller writes several sampling records after the commutation moment into the freewheeling observation period. After the three-phase terminal voltage enters a stable state from the transition state, the microcontroller writes the corresponding sampling record into the record after the freewheeling ends. Subsequently, the microcontroller encapsulates the three-phase terminal voltage, bus voltage, current commutation sector, commutation moment, and running speed information during the low-level period of the PWM waveform and after the freewheeling ends into a zero-crossing detection input set. The minimum set of zero-crossing detection inputs includes three-phase terminal voltage, bus voltage, calibration fields during the low-level period of the PWM waveform, calibration fields after the end of freewheeling, current commutation sector, commutation time, and operating speed information. Duty cycle, PWM waveform high-level recording, recording before the end of freewheeling, and false zero-point masking information are preferred extended fields.
[0073] The zero-crossing detection input set obtained in this step includes three-phase terminal voltage fields, bus voltage fields, PWM drive status fields, current commutation sector fields, commutation time fields, operating speed information fields, PWM waveform low-level calibration fields, freewheeling end calibration fields, and false zero-point shielding information fields. This zero-crossing detection input set serves as the input for "recognizing the conducting and non-conducting phases based on the zero-crossing detection input set" in step S200. Specifically, step S200 calls the current commutation sector field and the PWM drive status field to identify the stator winding connected to the positive terminal of the control power supply, the stator winding connected to the negative terminal of the control power supply, and the stator winding in a de-energized state; step S300 calls the three-phase terminal voltage fields and the bus voltage field; and step S400 calls the PWM waveform low-level calibration fields, freewheeling end calibration fields, commutation time fields, and false zero-point shielding information fields.
[0074] In summary, this step achieves the following technical effects: It records the three-phase terminal voltage, bus voltage, PWM drive status, current commutation sector, commutation time, and operating speed information under the same sampling sequence. Calibration during the low-level period of the PWM waveform and calibration after the freewheeling phase ensure a clear input source for subsequent identification of the conducting and non-conducting phases. The zero-crossing detection input set provides a unified data foundation for subsequent zero-crossing point comparison, false zero-point shielding time period division, and commutation point generation.
[0075] S200: Identify the conducting phase and the non-conducting phase based on the zero-crossing detection input set to obtain the phase identifier to be detected;
[0076] This step is performed by the phase identification module, which receives the zero-crossing detection input set obtained in S100. The zero-crossing detection input set includes three-phase terminal voltage fields, bus voltage fields, PWM (Pulse Width Modulation) drive status fields, current commutation sector fields, commutation time fields, operating speed information fields, PWM waveform low-level calibration fields, freewheeling end calibration fields, and false zero-point shielding information fields. The conducting phases are the stator windings connected to the positive and negative terminals of the control power supply in the current commutation sector. The non-conducting phases are the stator windings in the current commutation sector that are in a de-energized state. The phase to be detected is identified by the corresponding non-conducting phase terminal record, which includes the phase terminal name, current commutation sector, stator winding connection status, PWM waveform low-level calibration result, and freewheeling end calibration result.
[0077] Specifically, the phase identification module first reads the current commutation sector field from the zero-crossing detection input set and calls the winding connection status corresponding to the current commutation sector. The winding connection status records the connection relationship of the three-phase stator windings after the current commutation time. The phase identification module records the stator winding connected to the positive terminal of the control power supply as the first conducting phase, the stator winding connected to the negative terminal of the control power supply as the second conducting phase, and the stator winding in a de-energized state as the non-conducting phase. The first and second conducting phases together constitute the conducting phase. The phase terminals corresponding to the non-conducting phases are recorded as the phases to be detected. After completing the above identification, the phase identification module writes the conducting phase terminal voltage field, the non-conducting phase terminal voltage field, and the phase identifier field to be detected into the phase identification record.
[0078] Furthermore, after reading the current commutation sector field, the phase identification module simultaneously reads the PWM drive status field. The PWM drive status field includes the period during which the PWM waveform is low, the period during which the PWM waveform is high, and the duty cycle. The phase identification module maps the PWM waveform low-level period calibration field to the current commutation sector field. If the corresponding sampling record to be detected belongs to the period during which the PWM waveform is low and has ended after the freewheeling phase, the phase identification module writes the phase to be detected into the valid phase to be detected record. If the corresponding sampling record to be detected belongs to the period during which the PWM waveform is high, or belongs to the period before the freewheeling phase ends, the phase identification module still generates a phase to be detected identifier, but simultaneously writes the corresponding sampling record into the false zero-point shielding information. The false zero-point shielding information is invoked during the S400 process of dividing the false zero-point shielding time period and the zero-crossing detection time period.
[0079] Understandably, the identification and processing of conducting and non-conducting phases is automatically triggered at the commutation time. Whenever the commutation time is updated, the current commutation sector field is updated synchronously, and the phase identification module re-identifies the stator winding connected to the positive terminal of the control power supply, the stator winding connected to the negative terminal of the control power supply, and the stator winding in a de-energized state. When the current commutation sector is not updated, the phase identification module maintains the conducting and non-conducting phase records corresponding to the previous commutation time and updates the corresponding sampling state to be detected according to the PWM drive state field. If the current commutation sector field is missing, the phase identification module does not update the phase identifier to be detected and writes the zero-crossing detection input set to the exception record. If the three-phase terminal voltage field is missing, the phase identification module retains the conducting and non-conducting phase identification results but does not generate conducting and non-conducting phase terminal voltage fields.
[0080] In one engineering embodiment, the brushless DC motor operates using a three-phase, six-step commutation method. The data acquisition module has already obtained the zero-crossing detection input set in S100. After reading the current commutation sector field, the phase identification module identifies the current commutation sector according to the stator winding connection status. If the current commutation sector record shows one phase connected to the positive terminal of the control power supply, another phase connected to the negative terminal, and the remaining phase in a de-energized state, the phase identification module records the first two phases as conducting phases and the remaining phase as a non-conducting phase. Subsequently, the phase identification module extracts the conducting phase terminal voltage and the non-conducting phase terminal voltage from the three-phase terminal voltage field and writes the corresponding non-conducting phase terminal into the detection phase identifier field. This field, together with the PWM waveform low-level calibration field, the freewheeling end calibration field, and the commutation time field, constitutes the phase identification record. This phase identification record continues to be updated in the next sampling cycle and is regenerated at the next commutation time.
[0081] The minimum set of the phase identifiers to be detected includes the non-conducting phase terminal, the current commutation sector, the conducting phase terminal voltage, the non-conducting phase terminal voltage, the calibration result during the low-level period of the PWM waveform, and the calibration result after the freewheeling ends. The bus voltage, commutation time, operating speed information, and false zero-point shielding information are related fields between this step and subsequent steps. S300 Based on the phase identifiers to be detected, the three-phase terminal voltage, bus voltage, conducting phase terminal voltage, and non-conducting phase terminal voltage are called to perform zero-crossing comparison processing of the midpoint voltage and the voltage difference. S400 The calibration result during the low-level period of the PWM waveform, the calibration result after the freewheeling ends, and the false zero-point shielding information corresponding to the phase identifiers to be detected are called to perform false zero-point shielding time period and zero-crossing detection time period division processing. S500 The non-conducting phase terminal voltage corresponding to the phase identifiers to be detected is called to perform voltage difference processing, positive and negative change identification, and change direction extraction processing.
[0082] This step's technical effect can be summarized as follows: This step converts the stator winding connection status in the current commutation sector into identified conducting phase, non-conducting phase, and phase to be detected. The phase to be detected identifier ensures that subsequent zero-crossing comparison processing revolves around the stator winding in the de-energized state. Calibration during the PWM waveform's low-level period and after the freewheeling cycle are recorded synchronously with the phase to be detected identifier, ensuring a phase-to-phase correspondence between the subsequent false zero-point shielding period and the zero-crossing detection period.
[0083] S300. Based on the phase identifier to be detected, the neutral point voltage and voltage difference are calculated by combining the three-phase terminal voltage and the bus voltage, and a zero-crossing comparison signal is generated.
[0084] This step is executed by the zero-crossing comparison module. The zero-crossing comparison module receives the phase identifier to be detected obtained in S200 and calls the three-phase terminal voltage, bus voltage, PWM (Pulse Width Modulation) drive state, PWM waveform low-level calibration, and freewheeling end calibration written in S100 to the zero-crossing detection input set. The phase identifier to be detected is the record of the non-conducting phase terminal in the current commutation sector. The three-phase terminal voltage is the voltage to ground of the three phase terminals of the brushless DC motor. The bus voltage is the DC power supply side voltage when the control power supply is input to the brushless DC motor through the inverter circuit. The conducting phase terminal voltage is the stator winding phase terminal voltage connected to the positive terminal of the control power supply and the stator winding phase terminal voltage connected to the negative terminal of the control power supply. The non-conducting phase terminal voltage is the stator winding phase terminal voltage in a de-energized state. The midpoint voltage is the voltage reference used in the back EMF zero-crossing comparison, including the stator winding midpoint voltage obtained from the bus voltage and the virtual midpoint voltage obtained from the three-phase terminal voltage. The voltage difference is a comparison quantity formed between the voltage at the non-conducting phase terminal, the voltage at the conducting phase terminal, and the midpoint voltage. The zero-crossing comparison signal is a signal record that records the positive and negative states of the voltage difference, the comparison time, and the corresponding phase terminal.
[0085] Specifically, the zero-crossing comparison module first reads the non-conducting phase terminal corresponding to the phase identifier to be detected, and extracts the terminal voltage of that phase terminal from the three-phase terminal voltage field, recording it in the non-conducting phase terminal voltage field. The zero-crossing comparison module then reads the conducting phase recorded in the phase identifier to be detected, and extracts the conducting phase terminal voltage from the three-phase terminal voltage field. If there are stator windings connected to the positive and negative terminals of the control power supply in the current commutation sector, the zero-crossing comparison module writes the corresponding terminal voltages of both into the conducting phase terminal voltage field. If the conducting phase terminal voltage is missing, the zero-crossing comparison module retains the phase identifier to be detected and the non-conducting phase terminal voltage, and writes this record into the false zero-point shielding information, without outputting a new zero-crossing comparison signal.
[0086] During the neutral point voltage processing, the zero-crossing comparison module reads the bus voltage and obtains the stator winding neutral point voltage from it. The stator winding neutral point voltage serves as the basic comparison reference under the current control power supply state. The zero-crossing comparison module simultaneously reads the three-phase terminal voltages and obtains the virtual neutral point voltage based on the terminal voltage states between the three phases. The virtual neutral point voltage reflects the common potential state of the current three-phase terminal voltages. The zero-crossing comparison module writes the stator winding neutral point voltage and the virtual neutral point voltage into the neutral point voltage record. If there is a jump record in the bus voltage, the zero-crossing comparison module prioritizes retaining the comparison record corresponding to the virtual neutral point voltage. If there is a missing phase in the three-phase terminal voltages, the zero-crossing comparison module prioritizes retaining the comparison record corresponding to the stator winding neutral point voltage and writes the missing phase into the anomaly record.
[0087] Furthermore, the zero-crossing comparison module obtains a voltage difference of twice the voltage between the non-conducting and conducting phase terminals based on the conducting and non-conducting phase terminal voltages. This voltage difference is recorded according to the current phase identifier and is not mixed with phase terminal records from other commutation sectors. The zero-crossing comparison module processes the voltage difference with the stator winding midpoint voltage and the virtual midpoint voltage to obtain the comparison state at the current sampling time. The comparison state includes a positive state, a negative state, and an invalid state. The positive and negative states originate from the comparison relationship between the voltage difference and the midpoint voltage. The invalid state originates from sampling records during the PWM waveform high level period, before the freewheeling ends, when the conducting phase terminal voltage is missing, or when the non-conducting phase terminal voltage is missing.
[0088] Understandably, the zero-crossing comparison module outputs a valid comparison record if both the calibration during the low-level period of the PWM waveform and the calibration after the freewheeling phase end exist. If the sampling record is during the high-level period of the PWM waveform, the zero-crossing comparison module still records the voltage at the non-conducting and conducting phase terminals, but writes the corresponding comparison status into the false zero-point shielding information. If the sampling record is before the end of the freewheeling phase, the zero-crossing comparison module does not write the comparison status into the zero-crossing comparison signal, but instead writes the comparison status into the record before the end of the freewheeling phase. If the current commutation sector changes, the zero-crossing comparison module ends the recording of the midpoint voltage and voltage difference in the previous commutation sector, and re-recalls the three-phase terminal voltage, bus voltage, conducting phase terminal voltage, and non-conducting phase terminal voltage according to the new phase identifier to be detected.
[0089] In one technical solution, the zero-crossing comparison module consists of a phase voltage detection unit, a bus voltage detection unit, a judgment unit, and a recording unit within a microcontroller. The phase voltage detection unit reads the three-phase terminal voltages from the three phase terminals of the brushless DC motor. The bus voltage detection unit reads the bus voltage. The judgment unit receives the phase identifier output from the S200 and determines the non-conducting and conducting phase terminal voltages. The recording unit writes the stator winding midpoint voltage, virtual midpoint voltage, voltage difference, and comparison status into the zero-crossing comparison signal. In another technical solution, the zero-crossing comparison module receives the three-phase terminal voltages output from the voltage divider module and the filter module, and then the arithmetic module generates terminal voltage records corresponding to each phase terminal. The judgment unit selects the non-conducting and conducting phase terminal voltages only based on the phase identifier. In yet another technical solution, the zero-crossing comparison module receives the comparison output from the zero-crossing comparison circuit and simultaneously binds and records the comparison output with the calibration during the low-level period of the PWM waveform, the calibration after the freewheeling phase ends, and the phase identifier to be detected, forming a zero-crossing comparison signal for subsequent time period division.
[0090] As an engineering example, when the brushless DC motor is running within a commutation sector, S200 has already marked the stator winding in a de-energized state as a non-conducting phase and obtained the phase identifier to be detected. The zero-crossing comparison module reads the voltage at the non-conducting phase terminal and the voltage at the conducting phase terminal during the low-level period of the PWM waveform. Subsequently, the zero-crossing comparison module reads the bus voltage to generate the stator winding midpoint voltage and reads the three-phase terminal voltage to generate the virtual midpoint voltage. The zero-crossing comparison module then generates a voltage difference based on the voltage at the non-conducting phase terminal and the voltage at the conducting phase terminal, and writes the positive or negative state of this voltage difference relative to the midpoint voltage into the zero-crossing comparison signal. Within the current commutation sector, each sampling that satisfies the low-level period of the PWM waveform and the end of freewheeling generates a zero-crossing comparison signal record. This record includes the phase identifier to be detected, comparison time, stator winding midpoint voltage, virtual midpoint voltage, voltage difference, and comparison status.
[0091] The zero-crossing comparison signal obtained in this step includes the detection phase identifier field, the midpoint voltage field, the voltage difference field, the comparison time field, the positive / negative state field, the PWM waveform low-level period calibration field, the freewheeling end calibration field, and the false zero-crossing shielding information field. The zero-crossing comparison signal serves as the input in step S400 for "based on the zero-crossing comparison signal, combined with the PWM waveform low-level period calibration and the freewheeling end calibration, performing false zero-crossing shielding time period and zero-crossing detection time period division processing." Specifically, S400 calls the comparison time field, the PWM waveform low-level period calibration field, and the freewheeling end calibration field to divide the zero-crossing detection time period, and calls the false zero-crossing shielding information field to divide the false zero-crossing shielding time period. Step S500 calls the voltage difference field and the positive / negative state field to perform positive / negative change identification and change direction extraction processing on the voltage at the non-conducting phase terminal.
[0092] In summary, this step integrates the phase identifier, three-phase terminal voltage, bus voltage, conducting phase terminal voltage, and non-conducting phase terminal voltage into a single zero-crossing comparison process. The corresponding records of the midpoint voltage and voltage difference establish a correspondence between the phase terminals, time, and positive / negative states in the zero-crossing comparison signal. This zero-crossing comparison signal provides a basis for subsequent division of false zero-point shielding time periods and zero-crossing detection time periods.
[0093] S400. Based on the zero-crossing comparison signal, divide the false zero-crossing shielding period and the zero-crossing detection period;
[0094] This step is executed by the time period segmentation module. The time period segmentation module receives the zero-crossing comparison signal obtained in S300 and calls S100 to write the calibration of the PWM (Pulse Width Modulation) waveform during the low-level period, the calibration after the freewheeling ends, the commutation time, the running speed information, and the false zero-point shielding information into the zero-crossing detection input set. The zero-crossing comparison signal includes the detection phase identifier field, the midpoint voltage field, the voltage difference field, the comparison time field, the positive / negative state field, the PWM waveform low-level period calibration field, and the freewheeling ends calibration field. The false zero-point shielding time period is the time period that does not participate in zero-crossing detection, including the initial time period after commutation, the time period corresponding to the high-level period of the PWM waveform, and the time period corresponding to the end of the freewheeling. The zero-crossing detection time period is the time period that participates in subsequent positive / negative change identification, formed by the overlapping portion of the low-level detection time period and the detection time period after the end of the freewheeling.
[0095] Specifically, the time period segmentation module first reads the comparison time field from the zero-crossing comparison signal and then reads the commutation time. The comparison time field indicates the time position at which the zero-crossing comparison module forms a positive or negative state. The commutation time indicates the time position at which the brushless DC motor enters the current commutation sector. The time period segmentation module records the continuous comparison time after the commutation time as the initial time period after commutation. During this initial time period, the stator winding experiences a voltage jump and freewheeling state after commutation. The time period segmentation module writes the initial time period into the sham zero-point shielding time period and writes the corresponding positive or negative state into the sham zero-point shielding information.
[0096] Further, the time period segmentation module reads the calibration of the low-level period of the PWM waveform. The calibration of the low-level period of the PWM waveform comes from the identification result of the PWM drive state in S100. The time period segmentation module writes the records in the comparison time field that belong to the low-level period of the PWM waveform into the low-level detection time period. The comparison time records that belong to the high-level period of the PWM waveform are not written into the low-level detection time period, but into the false zero-point shielding time period. The low-level detection time period retains the phase identifier to be detected, the midpoint voltage field, the voltage difference field, and the positive and negative status field, so that S500 can read the voltage of the non-conducting phase terminal and the corresponding voltage difference.
[0097] Further, the time period segmentation module reads the calibration after the continuation ends. The calibration after the continuation ends originates from the continuation state identification after the commutation moment in S100. The time period segmentation module writes records belonging to the end of the continuation end in the comparison time field into the continuation end detection time period. Comparison time records belonging to the end of the continuation end are written into the false zero-point shielding time period. If the same comparison time record belongs to both the low-level detection time period and the continuation end detection time period, the time period segmentation module writes the comparison time record into the zero-point detection time period. If the same comparison time record belongs only to the low-level detection time period or only to the continuation end detection time period, the time period segmentation module does not write the comparison time record into the zero-point detection time period and writes the corresponding positive or negative state of the comparison time record into the false zero-point shielding information.
[0098] Understandably, the time segmentation module operates continuously within the current commutation sector according to the order of the comparison time fields. When the current commutation sector remains unchanged, the time segmentation module continuously receives new zero-crossing comparison signals and incorporates the newly generated comparison time records into the time segmentation within the same commutation sector. When the current commutation sector changes, the time segmentation module terminates the zero-crossing detection time segment recording in the previous commutation sector and regenerates the initial time segment after commutation based on the new commutation time. If the running speed information changes, the time segmentation module adjusts the termination position of the zero-crossing detection time segment based on the time interval between adjacent commutation points. The termination position is no earlier than the start position of the detection time segment after the end of the follow current and no later than the comparison time record before the next commutation point.
[0099] During anomaly handling, if the zero-crossing comparison signal lacks a calibration field for the low-level period of the PWM waveform, the time segmentation module writes the comparison time record into the false zero-crossing shielding time period. If the zero-crossing comparison signal lacks a calibration field after the freewheeling ends, the time segmentation module writes the comparison time record into the false zero-crossing shielding time period. If the zero-crossing comparison signal lacks a comparison time field, the time segmentation module does not generate a new zero-crossing detection time period and maintains the time period record already formed within the current commutation sector. If the phase identifier to be detected changes, the time segmentation module writes the comparison time records before and after the change into the time period records under the corresponding phase identifier to be detected.
[0100] In one engineering embodiment, the brushless DC motor adopts a three-phase six-step commutation operation. S300 continuously generates zero-crossing comparison signals within the current commutation sector. The time period segmentation module reads the comparison time of each zero-crossing comparison signal and correlates it with the commutation time recorded by S100. The initial comparison time record after the commutation time is written into the false zero-crossing shielding time period. Subsequently, the time period segmentation module reads the calibration during the low-level period of the PWM waveform and writes the comparison time record within the low-level period into the low-level detection time period. The time period segmentation module then reads the calibration after the freewheeling ends and writes the comparison time record after the freewheeling ends into the detection time period after the freewheeling ends. Only comparison time records belonging to both the low-level detection time period and the detection time period after the freewheeling ends are written into the zero-crossing detection time period. The zero-crossing detection time period retains the phase identifier to be detected, the voltage difference field, the positive / negative status field, and the comparison time field. In this embodiment, the minimum set of zero-crossing detection time periods includes the phase identifier to be detected, the start comparison time, the end comparison time, the voltage difference field, and the positive / negative status field. Operating speed information, the bus voltage field, and the false zero-crossing shielding information are preferred extended fields.
[0101] The zero-crossing detection time period obtained in this step includes the phase identifier field, the start comparison time field, the end comparison time field, the voltage difference field, the positive / negative state field, the calibration field during the low-level period of the PWM waveform, and the calibration field after the freewheeling ends. The zero-crossing detection time period serves as the input for S500's step of "processing the voltage difference, identifying positive / negative changes, and extracting the direction of change of the voltage at the non-conducting phase terminal based on the zero-crossing detection time period." Specifically, S500 reads the non-conducting phase terminal voltage, the voltage difference field, and the positive / negative state field within the zero-crossing detection time period, identifying positive / negative changes in the voltage difference from positive to negative or from negative to positive. S600 reads the zero-crossing detection time period and determines whether the zero-crossing detection signal is within the zero-crossing detection time period.
[0102] In summary, this step divides the zero-crossing comparison signal into a false zero-crossing shielding period and a zero-crossing detection period, based on the calibration during the low-level phase of the PWM waveform and the calibration after the freewheeling phase. The zero-crossing detection period binds the phase identifier, comparison time, voltage difference, and positive / negative status to the same time range. This time range provides a time basis for subsequent positive / negative change identification, change direction extraction, and valid zero-crossing confirmation.
[0103] S500: During the zero-crossing detection period, process the voltage of the non-conducting phase terminals, identify the positive and negative changes in the voltage difference and extract the direction of change, and generate a zero-crossing detection signal.
[0104] This step is executed by the zero-crossing detection module, which receives the zero-crossing detection time period obtained from S400 and calls the zero-crossing comparison signal obtained from S300. The zero-crossing detection time period includes a detection phase identifier field, a start comparison time field, an end comparison time field, a voltage difference field, a positive / negative status field, a calibration field for the low-level period of the PWM (Pulse Width Modulation) waveform, and a calibration field for the end of freewheeling. The voltage at the non-conducting phase terminal is the phase terminal voltage corresponding to the detection phase identifier. The voltage difference processing involves reading the comparison relationship between the non-conducting phase terminal voltage and the zero-crossing comparison signal, and forming a voltage difference record that changes with the comparison time. The positive / negative change identification identifies changes in the voltage difference from positive to negative or from negative to positive. The change direction extraction processing maps the positive / negative change to the direction of the back electromotive force change of the current non-conducting phase based on the current commutation sector. The zero-crossing detection signal is a signal record that records the detection phase identifier, comparison time, voltage difference, positive / negative change, and change direction.
[0105] Specifically, the zero-crossing detection module first reads the start comparison time field and end comparison time field of the zero-crossing detection time period, and then reads the non-conducting phase terminal voltage corresponding to the phase identifier to be detected within this time period. The zero-crossing detection module does not read the non-conducting phase terminal voltage within the false zero-point shielding time period. The zero-crossing detection module maps the non-conducting phase terminal voltage corresponding to each comparison time to the midpoint voltage field and voltage difference field in the zero-crossing comparison signal. After mapping, the zero-crossing detection module forms a record of the non-conducting phase terminal voltage in the current commutation sector. This record includes the phase identifier to be detected, comparison time, non-conducting phase terminal voltage, voltage difference, and positive / negative status.
[0106] Furthermore, the zero-crossing detection module reads the voltage difference field in chronological order of comparison time and identifies the positive and negative states corresponding to adjacent comparison times. When the positive or negative state of the voltage difference changes from positive to negative, the zero-crossing detection module records the change from positive to negative. When the positive or negative state of the voltage difference changes from negative to positive, the zero-crossing detection module records the change from negative to positive. When there is no change in the positive or negative state between adjacent comparison times, the zero-crossing detection module only retains the voltage difference record and does not generate a new positive or negative change record. When the comparison time is discontinuous, or the calibration field is missing during the corresponding low-level period of the PWM waveform, the zero-crossing detection module writes this segment of record into false zero-point shielding information and does not generate a zero-crossing detection signal.
[0107] Furthermore, the zero-crossing detection module extracts the direction of change based on the current commutation sector. The current commutation sector comes from the zero-crossing detection input set of S100 and is written to the phase identifier to be detected via S200. The current commutation sector includes the stator winding connected to the positive terminal of the control power supply, the stator winding connected to the negative terminal of the control power supply, and the stator winding in a de-energized state. The zero-crossing detection module records the positive and negative changes corresponding to the de-energized stator winding as the direction of change of the voltage at the non-conducting phase terminal. If the positive and negative changes occur on the non-conducting phase terminal voltage corresponding to the current phase identifier to be detected, the positive and negative changes are written into the zero-crossing detection signal. If the positive and negative changes occur on a non-phase terminal voltage, the positive and negative changes are written into false zero-crossing shielding information.
[0108] Understandably, the zero-crossing detection module operates continuously within the current commutation sector. When the current commutation sector remains unchanged, the zero-crossing detection module continuously reads the voltage at the non-conducting phase terminals within the new zero-crossing detection time period and updates the voltage difference record, positive / negative change record, and change direction record. When the current commutation sector changes, the zero-crossing detection module ends the recording in the previous commutation sector and rereads the voltage at the non-conducting phase terminals according to the new phase identifier. If no positive-to-negative or negative-to-positive change occurs within the zero-crossing detection time period, the zero-crossing detection module outputs a record of no positive / negative change and provides this record to S600 for judging the time interval between adjacent commutation points. If multiple positive / negative changes occur within the zero-crossing detection time period, the zero-crossing detection module records them separately according to the comparison time order and writes each positive / negative change into the zero-crossing detection signal for S600 to confirm a valid zero-crossing.
[0109] In one engineering embodiment, the brushless DC motor operates using a three-phase, six-step commutation. The S400 has written the comparison time during the low-level period of the PWM waveform and after the freewheeling phase ends into the zero-crossing detection time period. The zero-crossing detection module reads the voltage at the non-conducting phase terminals during this time period. The zero-crossing detection module reads the midpoint voltage and voltage difference from the zero-crossing comparison signal and forms a continuous record according to the comparison time. When the previous comparison time corresponds to a positive state and the next comparison time corresponds to a negative state, the zero-crossing detection module records the positive-to-negative change. When the previous comparison time corresponds to a negative state and the next comparison time corresponds to a positive state, the zero-crossing detection module records the positive-to-positive change. Subsequently, the zero-crossing detection module reads the current commutation sector, correlates the positive-to-negative change with the voltage at the non-conducting phase terminals, and generates a zero-crossing detection signal. The minimum set of the zero-crossing detection signals includes the phase identifier to be detected, the comparison time, the voltage difference, the positive-to-negative change, and the direction of change. The calibration field during the low-level period of the PWM waveform, the calibration field after the freewheeling ends, the start comparison time field, and the end comparison time field are preferred extended fields.
[0110] In another embodiment, the zero-crossing detection module receives the positive and negative states output by the zero-crossing comparison circuit and the zero-crossing detection time period output by the time period division module. The zero-crossing detection module only retains the positive and negative state changes within the zero-crossing detection time period. These positive and negative state changes are then mapped to the phase identifier to be detected to form a zero-crossing detection signal. In yet another embodiment, the zero-crossing detection module receives the non-conducting phase terminal voltage records output by the voltage divider module, the filter module, and the arithmetic module, and extracts the voltage difference, positive and negative changes, and the direction of change according to the zero-crossing detection time period to form a zero-crossing detection signal in the same format.
[0111] The zero-crossing detection signal obtained in this step includes a phase identifier field, a comparison time field, a voltage difference field, a positive / negative change field, a change direction field, a calibration field during the low-level period of the PWM waveform, and a calibration field after the freewheeling ends. The zero-crossing detection signal serves as the input for S600's "joint judgment processing of valid zero-crossing confirmation, adjacent commutation point time interval, change direction, and phase compensation angle based on the zero-crossing detection signal." Specifically, S600 reads the comparison time field to determine whether the zero-crossing detection signal is within the zero-crossing detection time period, reads the change direction field to determine whether the change direction corresponds to the current commutation sector, and reads the positive / negative change field and the voltage difference field to confirm a valid zero-crossing.
[0112] In summary, this step converts the voltage at the non-conducting phase terminals during the zero-crossing detection period into a voltage difference, its positive or negative value, and its direction of change. The zero-crossing detection signal binds the phase identifier, comparison time, and direction of change to the same record. This record provides input for the S600 to confirm valid zero-crossing, determine the time interval between adjacent commutation points, and determine the phase compensation angle.
[0113] S600 combines the zero-crossing detection signal, time period, running speed and commutation interval to confirm the valid zero-crossing point, and generates the commutation point through phase compensation.
[0114] This step is executed by the commutation point generation module, which receives the zero-crossing detection signal obtained from S500 and calls the zero-crossing detection time period and false zero-crossing shielding time period obtained from S400. The zero-crossing detection signal includes the phase identifier field, comparison time field, voltage difference field, positive / negative change field, change direction field, PWM (Pulse Width Modulation) waveform low-level calibration field, and freewheeling end calibration field. The effective zero-crossing point is the zero-crossing record after being jointly judged by the zero-crossing detection time period, false zero-crossing shielding time period, current commutation sector, change direction, and adjacent commutation point time interval. The adjacent commutation point time interval is the time record between the current commutation point and the previous commutation point. The phase compensation angle is the electrical angle compensation record between the effective zero-crossing point and the commutation point. The commutation point is the time record for switching the winding current of the brushless DC motor.
[0115] Specifically, the commutation point generation module first reads the comparison time field from the zero-crossing detection signal and matches it with the zero-crossing detection time period. If the comparison time field is within the zero-crossing detection time period, the commutation point generation module retains the zero-crossing detection signal. If the comparison time field is within the false zero-crossing shielding time period, the commutation point generation module writes the zero-crossing detection signal into the false zero. If the comparison time field is missing, the commutation point generation module does not generate a new valid zero-crossing point and maintains the record of the conducting and non-conducting phases corresponding to the current commutation sector.
[0116] Further, the commutation point generation module reads the change direction field and calls the current commutation sector. The current commutation sector records the stator winding connected to the positive terminal of the control power supply, the stator winding connected to the negative terminal of the control power supply, and the stator winding in a de-energized state. The commutation point generation module maps the change direction field to the stator winding in a de-energized state. If the change direction corresponds to a non-conducting phase in the current commutation sector, the commutation point generation module retains the zero-crossing detection signal. If the change direction does not correspond to the current commutation sector, the commutation point generation module writes the zero-crossing detection signal to a false zero point and maintains the conducting and non-conducting phases corresponding to the current commutation sector.
[0117] Further, the commutation point generation module reads the operating speed information and commutation time, and makes a judgment based on the time interval between adjacent commutation points. The operating speed information comes from the zero-crossing detection input set of S100, and the commutation time comes from the time record of the current commutation sector. The commutation point generation module calculates the comparison time of the zero-crossing detection signal and the time interval between adjacent commutation points, and maps this time interval to the operating speed information. If the time interval corresponds to the operating speed information, the commutation point generation module records the zero-crossing detection signal as a valid zero-crossing. If the time interval does not correspond to the operating speed information, the commutation point generation module writes the zero-crossing detection signal into a false zero. If multiple zero-crossing detection signals exist within the same zero-crossing detection time period, the commutation point generation module judges them one by one according to the order of comparison time, and records the zero-crossing detection signal that meets the requirements of the zero-crossing detection time period, the false zero-crossing shielding time period, the direction of change, and the time interval between adjacent commutation points as a valid zero-crossing.
[0118] Understandably, after confirming a valid zero-crossing point, the commutation point generation module reads the comparison time corresponding to the valid zero-crossing point and reads the operating speed information. Based on the valid zero-crossing point, the commutation point generation module obtains the back electromotive force frequency, and then obtains the phase compensation angle based on the back electromotive force frequency and the operating speed information. The phase compensation angle corresponds to a 30° electrical angle after the valid zero-crossing point. The commutation point generation module matches the valid zero-crossing point with the 30° electrical angle after the valid zero-crossing point to obtain the commutation point. The commutation point is written into the commutation point record and transmitted to the commutation control terminal of the brushless DC motor. When the current commutation sector changes, the commutation point generation module ends the current commutation point recording and receives the zero-crossing detection signal for the next commutation sector.
[0119] During anomaly handling, if the zero-crossing detection signal falls within the false zero-point shielding time period, the commutation point generation module writes the zero-crossing detection signal into the false zero point. If the direction of change of the zero-crossing detection signal does not correspond to the current commutation sector, the commutation point generation module writes the zero-crossing detection signal into the false zero point. If the time interval between the zero-crossing detection signal and the adjacent commutation point does not correspond to the operating speed information, the commutation point generation module writes the zero-crossing detection signal into the false zero point. The false zero point record retains the identifier of the phase to be detected, the comparison time, the direction of change, and the reason for writing. Based on the false zero point, the commutation point generation module maintains the conducting and non-conducting phases corresponding to the current commutation sector and waits for the next zero-crossing detection signal to enter the joint judgment processing.
[0120] In one engineering embodiment, the brushless DC motor employs a three-phase, six-step commutation operation. S500 generates a zero-crossing detection signal during the zero-crossing detection period. The commutation point generation module reads the comparison time of this zero-crossing detection signal and determines whether it falls within the zero-crossing detection period. Subsequently, the commutation point generation module determines whether the comparison time is outside the false zero-crossing shielding period. If the time period condition is met, the commutation point generation module reads the direction of change and corresponds it to the stator winding in the current commutation sector that is in a de-energized state. After determining the direction of change, the commutation point generation module reads the time interval between adjacent commutation points and the operating speed information, and completes the time interval determination. When all the above determinations correspond, the zero-crossing detection signal is written into the valid zero-crossing record. Subsequently, the commutation point generation module generates commutation points based on the valid zero-crossing, back EMF frequency, operating speed information, and phase compensation angle.
[0121] In another technical solution, the commutation point generation module receives the zero-crossing detection signal output by the zero-crossing comparison circuit and reads the zero-crossing detection time period output by the time period division module. The commutation point generation module only confirms the valid zero-crossing of the zero-crossing detection signal located within the zero-crossing detection time period. In yet another technical solution, the commutation point generation module receives the zero-crossing detection signal recorded by the microcontroller, and the microcontroller generates the commutation point according to the current commutation sector, the time interval between adjacent commutation points, and the phase compensation angle. Both technical solutions retain false zero-point records and save the false zero-point records corresponding to the current commutation sector.
[0122] The commutation point obtained in this step includes the following fields: effective zero-crossing point, comparison time, time interval between adjacent commutation points, direction of change, back EMF frequency, phase compensation angle, 30° electrical angle, and commutation point time. The commutation point serves as the control input for the next winding current switching of the brushless DC motor. The false zero-point record serves as a mask record in the current commutation sector and is used for judging the time interval between adjacent commutation points in subsequent commutation sectors.
[0123] In summary, this step maps the zero-crossing detection signal to the zero-crossing detection time period, the false zero-crossing shielding time period, the direction of change, and the time interval between adjacent commutation points. Phase compensation angle and commutation point are generated only after valid zero-crossing confirmation. This process ensures that the commutation point record simultaneously possesses time, phase endpoint, direction, and phase compensation correspondences.
[0124] Example 2: Figure 2 A structural block diagram of a DC brushless motor back EMF zero-crossing detection system according to an embodiment of the present invention is shown. Figure 2 As shown, the structure may include:
[0125] The data acquisition module 01 is used to acquire the three-phase terminal voltage, bus voltage, pulse width modulation drive status, current commutation sector, commutation time, and running speed information of the brushless DC motor. It performs calibration during the low-level period of the pulse width modulation waveform and calibration after the freewheeling phase to obtain a zero-crossing detection input set. Specifically, the data acquisition module is connected to the three-phase terminals, bus voltage detection terminal, pulse width modulation drive status output terminal, and commutation control terminal of the brushless DC motor. Acquisition is triggered after the brushless DC motor enters the current commutation sector. The three-phase terminal voltage includes the voltage to ground of each phase terminal, the bus voltage is the DC supply voltage of the control power supply, and the pulse width modulation drive status includes the low-level period of the pulse width modulation waveform, the high-level period of the pulse width modulation waveform, and the duty cycle. The data acquisition module writes the three-phase terminal voltage, bus voltage, current commutation sector, commutation time, and running speed information at the same sampling time into the sampling record and calibrates the low-level period according to the pulse width modulation waveform status. The data acquisition module also reads the freewheeling state after the commutation moment, writes the three-phase terminal voltage after the freewheeling ends into the zero-crossing detection input set, and writes the three-phase terminal voltage during the high level of the pulse width modulation waveform and the three-phase terminal voltage before the end of the freewheeling into the false zero-point shielding information. The zero-crossing detection input set includes three-phase terminal voltage fields, bus voltage fields, pulse width modulation drive status fields, current commutation sector fields, commutation moment fields, operating speed information fields, calibration fields during the low level of the pulse width modulation waveform, calibration fields after the end of the freewheeling, and false zero-point shielding information fields, and provides the zero-crossing detection input set to the phase identification module.
[0126] Phase identification module 02, connected to the data acquisition module, is used to identify the conducting and non-conducting phases based on the zero-crossing detection input set to obtain the phase identifier to be detected. Specifically, the phase identification module receives the zero-crossing detection input set output by the data acquisition module and reads the current commutation sector field, three-phase terminal voltage field, pulse width modulation drive status field, pulse width modulation waveform low-level calibration field, and freewheeling end calibration field. The phase identification module identifies the stator winding connected to the positive terminal of the control power supply, the stator winding connected to the negative terminal of the control power supply, and the stator winding in a de-energized state according to the current commutation sector. The stator windings connected to the positive and negative terminals of the control power supply are marked as conducting phases, and the stator windings in a de-energized state are marked as non-conducting phases. The phase identification module extracts the conducting and non-conducting phase terminal voltages from the three-phase terminal voltage field and marks the corresponding non-conducting phase terminal as the phase to be detected. If the current commutation sector field is missing, the phase identification module maintains the records of the conducting and non-conducting phases corresponding to the previous commutation moment. If the three-phase terminal voltage field is missing, the phase identification module records the missing status of the phase identifier to be detected. The phase identifier to be detected generated by the phase identification module includes the corresponding non-conducting phase terminal, the current commutation sector, the conducting phase terminal voltage, the non-conducting phase terminal voltage, the calibration result during the low-level period of the pulse width modulation waveform, and the calibration result after the freewheeling ends, and provides the phase identifier to be detected to the zero-crossing comparison module.
[0127] Zero-crossing comparison module 03, connected to the phase identification module, is used to perform zero-crossing comparison processing on the neutral point voltage and voltage difference corresponding to the three-phase terminal voltage, bus voltage, conducting phase terminal voltage, and non-conducting phase terminal voltage based on the phase identifier to be detected, thereby obtaining a zero-crossing comparison signal. Specifically, the zero-crossing comparison module receives the phase identifier to be detected output by the phase identification module and calls the three-phase terminal voltage and bus voltage recorded by the data acquisition module. The zero-crossing comparison module reads the non-conducting phase terminal corresponding to the phase identifier to be detected, extracts the non-conducting phase terminal voltage, and reads the conducting phase terminal voltages corresponding to the stator winding connected to the positive terminal of the control power supply and the stator winding connected to the negative terminal of the control power supply. The zero-crossing comparison module obtains the stator winding neutral point voltage based on the bus voltage and obtains the virtual neutral point voltage based on the three-phase terminal voltage. The zero-crossing comparison module processes the voltage difference between the conducting and non-conducting phase terminals, and correlates this voltage difference with the stator winding midpoint voltage and virtual midpoint voltage to obtain the comparison time, positive / negative state, and invalid state. If the sampling record is during the high level of the pulse width modulation waveform or before the end of freewheeling, the zero-crossing comparison module writes the corresponding record into false zero-crossing shielding information. The zero-crossing comparison signal includes a phase identification field, a midpoint voltage field, a voltage difference field, a comparison time field, a positive / negative state field, a calibration field during the low level of the pulse width modulation waveform, and a calibration field after the end of freewheeling, and provides the zero-crossing comparison signal to the time period division module.
[0128] The time period segmentation module 04, connected to the zero-crossing comparison module, is used to perform false zero-point shielding time period and zero-crossing detection time period segmentation based on the zero-crossing comparison signal, combined with the calibration during the low-level period of the pulse width modulation waveform and the calibration after the end of the freewheeling, to obtain the zero-crossing detection time period. Specifically, the time period segmentation module receives the zero-crossing comparison signal output by the zero-crossing comparison module and reads the comparison time field, positive / negative state field, calibration field during the low-level period of the pulse width modulation waveform, and calibration field after the end of the freewheeling. The time period segmentation module calls the commutation time recorded by the data acquisition module and writes the initial time period after the commutation time into the false zero-point shielding time period. The time period segmentation module writes the records in the comparison time field that belong to the low-level period of the pulse width modulation waveform into the low-level detection time period, and writes the records that belong to the end of the freewheeling into the detection time period after the end of the freewheeling. The time period segmentation module writes the comparison time records that belong to both the low-level detection time period and the detection time period after the end of the freewheeling into the zero-crossing detection time period. If the comparison time record is located during the high level period of the pulse width modulation waveform, before the end of freewheeling, or in the initial time period after commutation, the time period segmentation module writes the comparison time record into the false zero-point shielding time period. The zero-crossing detection time period includes the phase identification field to be detected, the start comparison time field, the end comparison time field, the voltage difference field, the positive and negative status field, the calibration field during the low level period of the pulse width modulation waveform, and the calibration field after the end of freewheeling, and provides the zero-crossing detection time period to the zero-crossing detection module.
[0129] Zero-crossing detection module 05, connected to the time period division module, is used to process the voltage difference, identify positive and negative changes, and extract the direction of change of the voltage at the non-conducting phase terminal based on the zero-crossing detection time period to obtain a zero-crossing detection signal. Specifically, the zero-crossing detection module receives the zero-crossing detection time period output by the time period division module and calls the zero-crossing comparison signal output by the zero-crossing comparison module. Within the zero-crossing detection time period, the zero-crossing detection module reads the voltage at the non-conducting phase terminal corresponding to the phase identifier to be detected, and reads the voltage difference field and the positive / negative state field. The zero-crossing detection module reads the voltage difference records in the order of comparison time. When the positive / negative state corresponding to an adjacent comparison time changes from positive to negative, it records the positive / negative change from positive to negative; when the positive / negative state corresponding to an adjacent comparison time changes from negative to positive, it records the positive / negative change from negative to positive. The zero-crossing detection module calls the current commutation sector and maps the positive / negative changes to the stator winding in the de-energized state. If the positive or negative change occurs on the voltage of the non-conducting phase terminal corresponding to the phase identifier to be detected, the zero-crossing detection module writes a zero-crossing detection signal; if the positive or negative change occurs on the voltage of a phase terminal other than the one to be detected, the zero-crossing detection module writes false zero-point shielding information. The zero-crossing detection signal includes a phase identifier field, a comparison time field, a voltage difference field, a positive or negative change field, a change direction field, a calibration field during the low-level period of the pulse width modulation waveform, and a calibration field after the freewheeling ends, and provides the zero-crossing detection signal to the commutation point generation module.
[0130] The commutation point generation module 06, connected to the zero-crossing detection module, is used to perform joint judgment processing based on the zero-crossing detection signal, including valid zero-crossing confirmation, time interval between adjacent commutation points, direction of change, and phase compensation angle, to obtain the commutation point. Specifically, the commutation point generation module receives the zero-crossing detection signal output by the zero-crossing detection module and calls the zero-crossing detection time period and false zero-crossing shielding time period output by the time period division module. The commutation point generation module reads the comparison time field in the zero-crossing detection signal, determines whether the comparison time field is located within the zero-crossing detection time period, and determines whether the comparison time field is located outside the false zero-crossing shielding time period. The commutation point generation module reads the direction of change field and corresponds the direction of change field to the stator winding in the current commutation sector that is in a de-energized state. The commutation point generation module reads the operating speed information and commutation time, and determines whether the time interval between the zero-crossing detection signal and adjacent commutation points corresponds to the operating speed information. The zero-crossing detection signal that satisfies the above judgment is recorded as a valid zero-crossing point. The commutation point generation module obtains the back EMF frequency based on the effective zero-crossing point, and obtains the phase compensation angle based on the back EMF frequency and operating speed information. It then obtains a 30-degree electrical angle after the effective zero-crossing point based on the phase compensation angle, and finally obtains the commutation point based on the effective zero-crossing point and the 30-degree electrical angle after the effective zero-crossing point. The commutation point includes fields for effective zero-crossing point, comparison time, time interval between adjacent commutation points, direction of change, back EMF frequency, phase compensation angle, 30-degree electrical angle, and commutation point time, and is transmitted to the commutation control terminal of the brushless DC motor.
[0131] Recording module 07 is connected to the data acquisition module, phase identification module, zero-crossing comparison module, time period division module, zero-crossing detection module, and commutation point generation module, respectively, and is used to record the zero-crossing detection input set, the phase identifier to be detected, the zero-crossing comparison signal, the zero-crossing detection time period, the zero-crossing detection signal, the commutation point, and the false zero. Specifically, the recording module receives the zero-crossing detection input set output by the data acquisition module, the phase identifier to be detected output by the phase identification module, the zero-crossing comparison signal output by the zero-crossing comparison module, the zero-crossing detection time period output by the time period division module, the zero-crossing detection signal output by the zero-crossing detection module, and the commutation point and the false zero output by the commutation point generation module. The recording module establishes corresponding records according to the commutation time, the current commutation sector, and the phase identifier to be detected. The recording module maintains the time order among the zero-crossing detection input set, the phase identifier to be detected, the zero-crossing comparison signal, the zero-crossing detection time period, the zero-crossing detection signal, the commutation point, and the false zero within the same current commutation sector. When the current commutation sector changes, the recording module ends the recording of the previous current commutation sector and establishes the record for the next current commutation sector. The recording module provides the data acquisition module with the time interval between adjacent commutation points and provides the commutation point generation module with false zero-point records and commutation point records.
Claims
1. A method for detecting the zero-crossing of the back electromotive force of a brushless DC motor, characterized in that, Include: S100: Sample and acquire information on the three-phase terminal voltage, bus voltage, PWM drive status, commutation sector, commutation time and running speed of the motor, complete the low-level calibration of the PWM waveform and the calibration after the freewheeling ends, and generate a zero-crossing detection input set. S200: Identify the conducting phase and the non-conducting phase based on the zero-crossing detection input set to obtain the phase identifier to be detected; S300. Based on the phase identifier to be detected, the neutral point voltage and voltage difference are calculated by combining the three-phase terminal voltage and the bus voltage, and a zero-crossing comparison signal is generated. S400. Based on the zero-crossing comparison signal, divide the false zero-crossing shielding period and the zero-crossing detection period; S500: During the zero-crossing detection period, process the voltage of the non-conducting phase terminals, identify the positive and negative changes in the voltage difference and extract the direction of change, and generate a zero-crossing detection signal. S600 combines the zero-crossing detection signal, time period, running speed and commutation interval to confirm the valid zero-crossing point, and generates the commutation point through phase compensation.
2. The method for detecting zero-crossing back electromotive force of a brushless DC motor according to claim 1, characterized in that, The process of completing the low-level calibration of the PWM waveform and the calibration after the freewheeling phase, and generating the zero-crossing detection input set includes: When the sampling time is during the low level period of the PWM waveform, the three-phase terminal voltage is written into the low level sampling record, and the low level period calibration field of the PWM waveform is set to the corresponding state; After the commutation moment, when the three-phase terminal voltage enters the stable sampling state corresponding to the low level period of the PWM waveform, the corresponding sampled value is written into the record after the freewheeling ends, and the calibration field after the freewheeling ends is set to the corresponding state. The zero-crossing detection input set includes a three-phase terminal voltage field, a bus voltage field, a PWM drive status field, a current commutation sector field, a commutation time field, a running speed information field, a calibration field during the low-level period of the PWM waveform, a calibration field after the freewheeling ends, and a false zero-point shielding information field.
3. The method for detecting zero-crossing back electromotive force of a brushless DC motor according to claim 2, characterized in that, The process of identifying the conducting and non-conducting phases based on the zero-crossing detection input set and obtaining the identifier of the phase to be detected includes: Read the current commutation sector field, mark the stator winding connected to the positive terminal of the control power supply as the first conducting phase, mark the stator winding connected to the negative terminal of the control power supply as the second conducting phase, and mark the stator winding in the de-energized state as the non-conducting phase; When the corresponding sampling record to be detected is during the low level period of the PWM waveform and after the freewheeling has ended, the phase to be detected is written into the valid phase to be detected record; if it is during the high level period of the PWM waveform or before the freewheeling has ended, the corresponding sampling record is synchronously written into the false zero-point shielding information.
4. The method for detecting zero-crossing back electromotive force of a brushless DC motor according to claim 3, characterized in that, The process of calculating the neutral point voltage and voltage difference based on the phase identifier to be detected, combined with the three-phase terminal voltage and the bus voltage, and generating the zero-crossing comparison signal includes: The calculation of the midpoint voltage includes: obtaining the stator winding midpoint voltage from the bus voltage, and obtaining the virtual midpoint voltage from the three-phase terminal voltage; The calculated voltage difference includes: obtaining twice the voltage difference between the non-conducting phase terminal voltage and the conducting phase terminal voltage based on the conducting phase terminal voltage and the non-conducting phase terminal voltage; The generation of the zero-crossing comparison signal includes: outputting a valid comparison record only when the calibration exists during the low-level period of the PWM waveform and after the freewheeling ends, and writing the comparison state, comparison time and corresponding phase input in the valid comparison record into the zero-crossing comparison signal.
5. The method for detecting zero-crossing back electromotive force of a brushless DC motor according to claim 4, characterized in that, The process of dividing the false zero-point shielding period and the zero-point detection period according to the zero-crossing comparison signal includes: The process of dividing the false zero-point shielding period includes: recording the continuous comparison time after the commutation moment as the initial time period after commutation, and writing the initial time period, the time period corresponding to the high level of the PWM waveform, and the time period corresponding to the end of the freewheeling phase into the false zero-point shielding time period.
6. The method for detecting zero-crossing back electromotive force of a brushless DC motor according to claim 1, characterized in that, The process of dividing the false zero-point shielding period and the zero-point detection period according to the zero-crossing comparison signal also includes: The division of the zero-crossing detection period includes: writing records in the comparison time field that belong to both the low-level period of the PWM waveform and the end of the freewheeling phase into the zero-crossing detection period; The termination position of the zero-crossing detection time period is dynamically adjusted based on the running speed information and the time interval between adjacent commutation points, so that the termination position is no earlier than the start position of the detection time period after the end of the follow current and no later than the comparison time record before the next commutation point.
7. The method for detecting zero-crossing back electromotive force of a brushless DC motor according to claim 6, characterized in that, The process of processing the non-conductive phase voltage during the zero-crossing detection period includes: The process of processing the non-conducting phase terminal voltage includes: during the zero-crossing detection time period, reading the non-conducting phase terminal voltage corresponding to the phase identifier to be detected, and matching it with the midpoint voltage field and voltage difference field in the zero-crossing comparison signal.
8. The method for detecting zero-crossing back electromotive force of a brushless DC motor according to claim 7, characterized in that, The process of identifying the positive and negative changes in voltage difference, extracting the direction of change, and generating a zero-crossing detection signal includes: The identification of positive and negative changes in voltage difference includes: reading the voltage difference field in chronological order of comparison time; recording the positive-to-negative change when the positive state changes from positive to negative in adjacent comparison times; and recording the positive-to-positive change when the negative state changes from negative to positive. The extraction of change direction includes: recording the positive and negative changes corresponding to the stator windings in the current commutation sector that are in a de-energized state as the change direction of the voltage at the non-conducting phase terminal; and maintaining the conducting and non-conducting phases corresponding to the current commutation sector based on the false zero point.
9. The method for detecting zero-crossing back electromotive force of a brushless DC motor according to claim 8, characterized in that, The process of confirming a valid zero-crossing point by combining the zero-crossing detection signal, time period, operating speed, and commutation interval, and generating the commutation point through phase compensation, includes: The confirmation of a valid zero crossing point involves a three-layer joint judgment: The first layer determines whether the comparison time of the zero-crossing detection signal is within the zero-crossing detection time period and outside the false zero-crossing shielding time period. The second layer determines whether the direction of change of the zero-crossing detection signal corresponds to the non-conducting phase in the current commutation sector. The third layer determines whether the comparison time of the zero-crossing detection signal and the time interval between adjacent commutation points correspond to the running speed information. Only when all three of the above criteria are met simultaneously will the zero-crossing detection signal be recorded as a valid zero-crossing. The process of generating the commutation point through phase compensation includes: obtaining the back electromotive force frequency based on the effective zero-crossing point, obtaining the phase compensation angle by combining the operating speed information, and then generating the commutation point based on the 30° electrical angle after the effective zero-crossing point.
10. A back EMF zero-crossing detection system for a brushless DC motor, applied to the method described in any one of claims 1-9, characterized in that, include: The data acquisition module is used to acquire the three-phase terminal voltage, bus voltage, PWM drive status, current commutation sector, commutation time and running speed information of the brushless DC motor, perform calibration during the low level period of the PWM waveform and calibration after the freewheeling ends, and obtain the zero-crossing detection input set. The phase identification module is used to perform conducting phase and non-conducting phase identification processing based on the zero-crossing detection input set to obtain the phase identifier to be detected; The zero-crossing comparison module is used to call the three-phase terminal voltage, bus voltage, conducting phase terminal voltage and non-conducting phase terminal voltage based on the phase identifier to be detected, and perform zero-crossing comparison processing corresponding to the midpoint voltage and voltage difference to obtain the zero-crossing comparison signal; The time period segmentation module is used to perform false zero-point shielding time period and zero-point detection time period segmentation based on the zero-crossing comparison signal, combined with the calibration of the PWM waveform during the low-level period and the calibration after the freewheeling ends, to obtain the zero-crossing detection time period. The zero-crossing detection module is used to perform voltage difference processing, positive and negative change identification, and change direction extraction processing on the voltage of the non-conducting phase terminal based on the zero-crossing detection time period to obtain the zero-crossing detection signal; The commutation point generation module is used to perform joint judgment processing based on the zero-crossing detection signal, including valid zero-crossing confirmation, time interval between adjacent commutation points, direction of change, and phase compensation angle, to obtain the commutation point.