Motor control method, electronic device, and cleaning device
By obtaining DC bus voltage to adjust motor control commands, the problem of unstable control of the cleaning device when the voltage is abnormal was solved, and the motor was able to run smoothly under abnormal power supply conditions, improving suction efficiency and noise stability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- ZHUMI ZHIJING FUTURE (SUZHOU) TECHNOLOGY CO LTD
- Filing Date
- 2026-04-17
- Publication Date
- 2026-07-10
AI Technical Summary
When the cleaning device experiences momentary power outages, undervoltage, or poor contact on the motor power supply side, the power supply to the motor fluctuates, affecting suction efficiency and noise stability. Traditional FOC control strategies are prone to system instability and component damage during abnormal situations.
By acquiring the DC bus voltage, a first coefficient is determined to limit the degree of freedom of the motor's field-oriented control. The control command is then adjusted based on the first coefficient to generate the target control command, thereby achieving adaptive control of the motor when the voltage is abnormal.
It reduces overcurrent and torque shock caused by voltage fluctuations, improves control stability and transition smoothness under abnormal bus voltage conditions, and enhances the suction efficiency and noise stability of the cleaning device.
Smart Images

Figure CN122371779A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of motor control technology, and in particular to a motor control method, electronic device, and cleaning apparatus. Background Technology
[0002] The cleaning device requires a motor to provide power or suction during cleaning. The built-in battery pack of the cleaning device not only powers the motor, but also other components (such as water pump, boiler, roller brush drive, etc.). Due to the influence of user usage, such as users frequently switching different cleaning modes according to the usage scenario, the time and power required by each component are difficult to fix. This will cause the total output of the battery pack to change, which in turn will affect the fluctuation of the power supply side of the motor.
[0003] The power supply side of the motor may experience momentary power outages, undervoltage, or poor contact, causing the bus voltage to drop rapidly or fluctuate drastically. This results in unstable suction efficiency and noise levels in the cleaning device, impacting the user experience. Traditional FOC systems rely on constant bus voltage and standard modulation strategies, which can easily lead to system instability, current loop malfunction, or device damage when voltage abnormalities occur. Summary of the Invention
[0004] This application provides a motor control method, electronic device, and cleaning apparatus to improve the stability and safety of motor control when voltage is abnormal.
[0005] In a first aspect, embodiments of this application provide a motor control method, including:
[0006] Obtain the DC bus voltage of the drive motor;
[0007] When the motor is determined to be in an undervoltage operating condition based on the DC bus voltage, a first coefficient is determined based on the DC bus voltage; the first coefficient is used to limit the degree of freedom of the motor's field-oriented control.
[0008] The control command of the motor is adjusted according to the first coefficient to determine the target control command;
[0009] The drive signal for the motor is generated based on the target control command, and the motor is controlled based on the drive signal.
[0010] In some embodiments, the control command includes a command current, and adjusting the control command of the motor according to the first coefficient to determine the target control command includes:
[0011] The target control command is determined by limiting the command current based on the first coefficient.
[0012] In some embodiments, the control command includes a command voltage, and adjusting the control command of the motor according to the first coefficient to determine the target control command includes:
[0013] The command voltage is determined based on the target command current / command current and the feedback current of the motor;
[0014] When the command voltage is greater than the preset voltage upper limit, the command voltage is limited based on the first coefficient to determine the target control command.
[0015] In some embodiments, the command voltage includes a d-axis command voltage and a q-axis command voltage, and the method further includes:
[0016] Determine the combined voltage of the command voltage of the d-axis and the command voltage of the q-axis;
[0017] If the synthesized voltage is greater than the DC bus voltage, then the command voltage is determined to be greater than the preset voltage upper limit.
[0018] In some embodiments, the method further includes:
[0019] When the command voltage is greater than the preset upper limit value, the integral terms of the feedback controllers of the d-axis and q-axis are limited by the second coefficient respectively.
[0020] The d-axis feedback controller is used to adjust the target command current and the feedback current of the d-axis to determine the command voltage of the d-axis; the q-axis feedback controller is used to adjust the target command current and the feedback current of the q-axis to determine the command voltage of the q-axis.
[0021] In some embodiments, determining the first coefficient based on the DC bus voltage includes:
[0022] Obtain a first difference between the DC bus voltage and a second voltage threshold, and a second difference between the first voltage threshold and the second voltage threshold; the first voltage threshold is greater than the second voltage threshold.
[0023] The first coefficient is determined based on the first difference and the second difference.
[0024] In some embodiments, the method further includes:
[0025] Determine the gradient interval corresponding to the first coefficient;
[0026] A control strategy for the motor is determined based on the gradient interval; the control strategy includes any one of the following:
[0027] The target command current is determined by limiting the command current based on the first coefficient.
[0028] The target command voltage is determined by limiting the command voltage based on the first coefficient.
[0029] The integral terms of the feedback controllers on the d-axis and q-axis are limited by the second coefficient.
[0030] In some embodiments, the method further includes:
[0031] If the DC bus voltage is greater than the second voltage threshold and less than or equal to the first voltage threshold, then the motor is determined to be in an undervoltage operating condition.
[0032] or,
[0033] The rate of decrease of the DC bus voltage is determined. If the rate of decrease is greater than a preset threshold, the motor is determined to be in an undervoltage operating condition.
[0034] In some embodiments, the method further includes:
[0035] When the DC bus voltage is less than the second voltage threshold, it is determined that the motor is currently in a power-off operation condition;
[0036] The duty cycle of the lower or upper bridge switch of the inverter of the motor is gradually increased until the duty cycle of the lower or upper bridge switch reaches its maximum value.
[0037] In some embodiments, the method further includes:
[0038] If the duty cycle of the lower bridge switch or the upper bridge switch does not reach its maximum value within a preset time period, the duty cycle of the lower bridge switch or the upper bridge switch will be adjusted to its maximum value.
[0039] Secondly, embodiments of this application provide an electronic device for a cleaning apparatus, comprising:
[0040] The motor is configured to provide suction to the cleaning device; wastewater generated during the cleaning process can be stored in a dedicated wastewater tank of the cleaning device under the action of the suction.
[0041] An inverter is configured to drive the motor;
[0042] A controller connected to the inverter is configured to:
[0043] Obtain the DC bus voltage of the inverter driving the motor;
[0044] When the motor is determined to be in an undervoltage operating condition based on the DC bus voltage, a first coefficient is determined based on the DC bus voltage; the first coefficient is used to limit the degree of freedom of the motor's field-oriented control.
[0045] The control command of the motor is adjusted according to the first coefficient to determine the target control command;
[0046] The drive signal for the motor is generated based on the target control command, and the motor is controlled based on the drive signal.
[0047] This embodiment mitigates overcurrent and torque shocks caused by voltage fluctuations through the above-described solution, thereby improving control stability and transition smoothness under abnormal bus voltage conditions, and further enhancing the stability of the cleaning device's suction efficiency. Since the noise generated by the motor suction is the main source of noise for the cleaning device, this solution also improves the stability of the noise generated by the cleaning device.
[0048] Thirdly, embodiments of this application provide an electronic device, including a processor, a transceiver, and a memory; the processor is communicatively connected to both the transceiver and the memory.
[0049] The memory stores computer-executed instructions;
[0050] The transceiver communicates and interacts with external devices.
[0051] The processor executes computer execution instructions stored in the memory, causing the processor to perform the first aspect and / or various possible implementations of the first aspect as described above.
[0052] Fourthly, this application provides a computer-readable storage medium having a computer program stored thereon, the computer program being executed by a processor to implement the method of any of the first aspects.
[0053] Fifthly, this application provides a cleaning device including an electronic device storing a computer program that, when executed by a processor, implements the method of any one of the first aspects.
[0054] The motor control method, electronic device, and cleaning apparatus provided in this application adapt the motor control quantity to the bus voltage state and adjust and constrain the control output accordingly, enabling the control process to adaptively correct for changes in bus voltage. Furthermore, during voltage undervoltage or recovery, easily mismatched control components are processed collaboratively to reduce the impact of integral accumulation and output abrupt changes. This reduces the probability of modulation saturation and current tracking deviation, mitigates overcurrent and torque shocks caused by voltage recovery, and improves control stability and transition smoothness under abnormal bus voltage conditions. Attached Figure Description
[0055] Figure 1 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;
[0056] Figure 2 A model diagram of the rotor magnetic pole position and shaft error of a motor provided for an embodiment of this application;
[0057] Figure 3 A schematic diagram of a motor vector control principle provided in an embodiment of this application;
[0058] Figure 4 A schematic flowchart illustrating a motor control method provided in an embodiment of this application;
[0059] Figure 5 A flowchart illustrating another motor control method provided in an embodiment of this application;
[0060] Figure 6 This is a schematic diagram of the structure of another electronic device provided in an embodiment of this application. Detailed Implementation
[0061] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0062] In the embodiments of this application, the terms "first" and "second" are used to distinguish identical or similar items with essentially the same function and effect, without limiting their order. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that the terms "first" and "second" do not necessarily imply that they are different.
[0063] It should be noted that, in the embodiments of this application, the terms "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design scheme described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0064] To facilitate understanding, we will first provide a brief introduction and explanation of some basic technical concepts involved in the embodiments of this invention.
[0065] Field-oriented control (FOC) is a motor control technology based on magnetic field orientation. By equating an AC motor to a DC motor model, the stator current is decomposed and adjusted independently, thereby achieving decoupled control of motor torque and flux linkage, and thus realizing high-precision, high-efficiency, and high-dynamic-response speed control of the motor.
[0066] The Park Transformation (Park) is a commonly used coordinate transformation for analyzing the operation of synchronous motors. The Park Transform projects the three-phase currents (a, b, c) of the stator onto the direct axis (d-axis), the quadrature axis (q-axis), and the zero axis perpendicular to the dq plane, which rotate with the rotor. This diagonalizes the stator inductance matrix, simplifying the analysis of synchronous motor operation. In other words, it transforms the abc coordinate system to the dq coordinate system.
[0067] The Clarke Transform (Clark) projects the three-phase coordinates (a, b, c) onto the α and β axes. For three-phase balanced electrical signals, the Clarke Transform is a proven method for dimensionality reduction. This transformation can project information from 3D space to 2D space without losing any information.
[0068] Space Vector Pulse Width Modulation (SVPWM) uses the ideal flux linkage circle of a three-phase symmetrical motor stator when powered by a three-phase symmetrical sinusoidal voltage as a reference standard. It generates a PWM wave by appropriately switching different switching modes of the three-phase inverter, and then uses the resulting actual flux linkage vector to track the accurate flux linkage circle. Traditional SPWM methods focus on generating a frequency- and voltage-adjustable sinusoidal power supply, while SVPWM considers the inverter system and asynchronous motor as a whole, resulting in a simpler model that is easier for real-time microprocessor control.
[0069] Permanent magnet synchronous motor drive control technology is widely used in new energy vehicles, industrial servos, robot actuators and various electrified equipment. It usually adopts FOC combined with SVPWM modulation to achieve precise decoupling control of torque, current and flux linkage.
[0070] In such scenarios, the system typically consists of a DC power supply or battery pack, a DC bus, a current sampling module, an inverter drive bridge, a permanent magnet synchronous motor, and a controller. Its core process includes: sampling stator current → Clarke / Park conversion → dq-axis current closed-loop control → inverse conversion to generate voltage commands → SVPWM modulation to generate PWM signals. Under normal power supply conditions, this type of control architecture can ensure good dynamic response and efficiency of the motor, making it suitable for operating environments with frequent starts and stops, large load fluctuations, and high requirements for torque control accuracy.
[0071] However, in actual use, motor systems often face abnormal operating conditions such as momentary power outages or poor contact of external power supply, insufficient power supply leading to a rapid drop in bus voltage, and sudden changes in high-power load causing a drop in bus voltage.
[0072] At this point, the motor controller must not only maintain basic operational stability but also avoid modulation saturation, output distortion, and control mismatch caused by insufficient voltage. Therefore, higher requirements are placed on the adaptability of the control strategy. Existing FOCs are usually based on the premise that the DC bus voltage meets normal power supply conditions. Its basic process is to sample the motor current, obtain the dq axis current components through coordinate transformation, calculate the voltage command through the current controller, and generate a PWM drive signal through inverse transformation and SVPWM modulation, ultimately realizing the regulation of the motor's electromagnetic torque.
[0073] When the bus voltage is normal, this control method can effectively achieve current decoupling and torque control. However, when the bus voltage drops, the maximum output voltage amplitude of the inverter decreases synchronously. The voltage command generated by the original controller may exceed the current achievable range, causing the modulation to enter the saturation region and resulting in a deviation between the actual output voltage and the target voltage. At the same time, the integral term in the current controller will continuously accumulate when the error persists. When the voltage recovers, the integral term may be released instantaneously, causing a sudden increase in current, torque surge, or even overstress of the power devices.
[0074] In the above situations, existing solutions mostly involve directly stopping the PWM output or shutting down the machine. While this method can protect the devices, the energy stored in the motor windings will be released abruptly. The motor's energy storage will lose its regulation path in a very short time, which can easily lead to problems such as sudden changes in phase current, mechanical shock, energy backflow, and increased voltage stress on the devices.
[0075] In view of this, embodiments of this application provide a motor control method, electronic device, and related apparatus. By acquiring the DC bus voltage and limiting the degrees of freedom in the FOC process based on the voltage state, the motor control commands can be adaptively adjusted according to changes in the bus voltage, thereby ensuring that the final generated drive signal matches the current power supply capacity. This method no longer relies on fixed control parameters but introduces the bus voltage as a constraint condition into the control link, enabling the motor to maintain a relatively stable control output even when the voltage is abnormal. This reduces the risk of control mismatch and operational shocks, thereby achieving safe, smooth, and controllable operation of the motor system.
[0076] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0077] Figure 1 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application, such as... Figure 1 As shown, the electrical equipment 10 includes: a controller 101, an inverter 102, and a motor 103.
[0078] Among them, motor 103 can be a three-phase permanent magnet synchronous motor, which has a stator with a permanent magnet device and a three-phase armature coil.
[0079] Inverter 102 provides motor 103 with a three-phase AC voltage consisting of phases a, b, and c, based on the rotor position of motor 103. Controller 101 provides PWM signals to the inverter 102 circuit to achieve the required vector control, based on the detected motor current.
[0080] Figure 2 A model diagram of the rotor magnetic pole position and shaft error of a motor provided in this application embodiment is shown below. Figure 2 As shown, 2 is a permanent magnet installed on the rotor of the motor. In a rotating coordinate system that rotates at the same speed as the rotational speed of the magnetic flux generated by the permanent magnet 2, the direction of the magnetic flux generated by the permanent magnet 2 is taken as the d-axis, and the rotational axis corresponding to the d-axis is taken as the dc-axis. The phase that leads the d-axis by 90 degrees electrically is taken as the q-axis, and the phase that leads the dc-axis by 90 degrees electrically is taken as the dq-axis.
[0081] The rotational coordinate system corresponding to the real axis is a coordinate system that selects the d-axis and q-axis as coordinate axes, and this coordinate system is called the dq-axis. The rotational coordinate system for control is a coordinate system that selects the dc-axis and dq-axis as coordinate axes, and this coordinate system is called the dcqc-axis.
[0082] In some embodiments of this application, the dcqc axis is the estimated position of the motor, representing the axis on the control side of the rotational coordinate in general torque control, and is denoted as the control axis; the dq axis is the actual position of the motor, representing the axis on the AC motor side of the rotational coordinate, and is denoted as the real axis.
[0083] The dq axis rotates, and its rotational speed is expressed by ω. ref The dcqc axis also rotates, and its rotational speed is represented by ω. In the dq axis, θ... ref This represents the d-axis angle (phase) as viewed from the fixed axis direction of the armature coil in phase a. Similarly, in the dcqc axis, θ represents the dc-axis angle (phase) as viewed from the fixed axis direction of the armature coil in phase a. (The last two sentences are incomplete and require further context.) ref The angle represented is an electrical angle, also commonly referred to as rotor position or magnetic pole position. It is determined by ω and ωp. ref The rotational speed indicated is the angular velocity in electrical angles.
[0084] Wherein, the actual d-axis position of the rotor (i.e., θ) ref The angular difference between the estimated dc axis position (θ) and the estimated dc axis position (θ) is called the axis error Δθ. Controller 101 performs vector control to make θ and θ ref The control axis and the real axis are basically consistent (i.e., the control axis error Δθ is zero), and the d-axis and q-axis are consistent with the dc-axis and qc-axis respectively, thus realizing positionless observation of the permanent magnet synchronous motor rotor.
[0085] The voltage commands (also known as reference voltages or command voltages) representing the DC-axis voltage and QC-axis voltage are respectively generated by the DC voltage command U. d_ref (or V) d ) and qc voltage command U d_ref (or V) q The command (i) represents the DC-axis voltage and the QC-axis current command (also known as the reference current or command current), which are respectively generated by the DC current command i. d-ref and qc axis current command i q-ref express.
[0086] Figure 3 A schematic diagram of a motor vector control provided in this application embodiment is shown below. Figure 3 As shown, the motor vector control adopts dual closed-loop control of speed and current, with the speed loop as the outer loop and the current loop as the inner loop.
[0087] First, the working principle of the current loop will be explained.
[0088] The phase a current ia and phase b current ib supplied by the inverter 102 to the motor (PMSM) are detected by a current detection unit (not shown). Furthermore, the phase c current ic is determined by the relationship " "Calculate. ia, ib, and ic are the currents of the armature coils of phase A, phase B, and phase C in the stator of the motor, respectively."
[0089] The controller 101 can transform the coordinates of the A-phase current ia and the B-phase current ib to the dcqc axis based on the rotor position θ, and then calculate and output the dc axis current id and the qc axis current iq.
[0090] In the vector control of the motor, the three-phase currents ia / ib / ic are transformed by Clark to obtain iα and iβ, and then iα and iβ are transformed by Park to obtain iq and id.
[0091] Then, iq and id are respectively related to iq ref and ID ref Calculate the q-axis current error and d-axis current error. Perform a PI integral transform on the q-axis and d-axis current errors to obtain the DC voltage command V. d and qc axis voltage command V q .
[0092] In some embodiments of this application, current feedback control, such as proportional-integral control, can be used to reduce the current error ( )and( They converge to zero.
[0093] Controller 101 can be based on V d and V q And the rotor position θ, will V q and V d After inverse Park transformation, the voltage is transformed to a fixed coordinate axis for three phases to calculate and output the three-phase voltage command.
[0094] That is, for V q and V d V is obtained by performing the inverse Park transform. α (or U) α_ref ) and V β (or U) β_ref Then, the SVPWM operation is used to obtain the PWM signal. The PWM signal controls the state of the switching transistors in the inverter 102 and outputs the three-phase voltage command value to drive the motor 30 to rotate.
[0095] Secondly, the working principle of the speed loop will be explained.
[0096] Still referencing Figure 3 The controller 101 can use the target speed command value ω based on the rotor speed ω. ref Subtract the rotational speed ω, and then use a PI controller to adjust the rotational speed to obtain iq. ref .
[0097] The position observer in controller 101 estimates the motor rotor position based on the d / q axis feedback current i. d and i q and d / q axis command voltage V q and V d Determine Δθ (shaft error). Based on the shaft error Δθ output by the position observer, the phase-locked loop (PLL) obtains the rotor position θ and angular frequency ω, and then performs closed-loop control of the motor speed through the outer speed loop. Any existing method can be used to estimate the rotor position θ and rotor speed ω, which will not be elaborated here.
[0098] Figure 4 This is a flowchart illustrating a motor control method provided in an embodiment of this application, as shown below. Figure 4 As shown, it includes:
[0099] S401. Obtain the DC bus voltage of the drive motor.
[0100] The execution entity in this application embodiment can be a motor controller, which can be integrated into the drive control module or main control chip of the device where the motor is located, or it can be set on the inverter control board. For example, the controller can be a digital signal processor (DSP), a microcontroller unit (MCU), a field-programmable gate array (FPGA), or a dedicated controller with real-time control capabilities, etc.
[0101] In some embodiments, the DC bus voltage (U) dc () can refer to the voltage value on the DC side bus of the inverter, used to characterize the current power supply capacity and the upper limit of the voltage vector that the inverter can output later.
[0102] For example, the controller can acquire the DC bus voltage through a voltage sampling circuit located at both ends of the DC bus. Alternatively, the DC bus voltage can be acquired through a voltage sensor. This application does not limit the method of acquiring the DC bus voltage.
[0103] In some embodiments, after obtaining the DC bus voltage, the DC bus voltage can be filtered to reduce interference from factors such as bus ripple and sampling noise, thereby improving the stability and accuracy of the obtained DC bus voltage. For example, low-pass filtering, moving average filtering, or median filtering can be used to filter the DC bus voltage.
[0104] It should be understood that the DC bus voltage acquisition in this application embodiment is not limited to a single instantaneous sampling, but rather is performed periodically to improve the stability of subsequent processing based on the DC bus voltage. For example, the controller can acquire the DC bus voltage at a sampling frequency that is the same as or an integer multiple of that of the current loop, such as once every 100 microseconds, 200 microseconds, or 500 microseconds.
[0105] S402. When it is determined that the motor is currently in an undervoltage operating condition based on the DC bus voltage, a first coefficient is determined based on the DC bus voltage; the first coefficient is used to limit the degree of freedom of the motor's field orientation control.
[0106] In some embodiments, undervoltage operation can refer to an operating state where the DC bus voltage is lower than the normal operating level but has not yet been completely de-energized. In this state, the inverter still has a certain output capability, but its achievable voltage range is significantly reduced. If it continues to operate according to the FOC parameters and current target under normal operating conditions, it is easy to cause voltage command exceeding limits, modulation entering the saturation region, current tracking deterioration, and accumulation of integral elements.
[0107] The field-oriented control degree of freedom of a motor refers to the independent control dimension / degree of freedom that the motor has under FOC control. In this embodiment, it can refer to the available space or control margin for adjusting the d-axis current, q-axis current and corresponding voltage vector in FOC control.
[0108] The first coefficient can be understood as a degradation coefficient, margin coefficient, or limiting coefficient obtained by mapping the DC bus voltage. Its value decreases as the DC bus voltage decreases, and it is used to characterize the proportion of control degrees of freedom that the controller can still use under the current power supply conditions.
[0109] In some embodiments, the current operating condition of the motor can be determined based on the relationship between the DC bus voltage and a preset voltage threshold.
[0110] For example, a first voltage threshold and a second voltage threshold can be preset. The first voltage threshold is used to determine if the motor is in an undervoltage state, and the second voltage threshold is used to determine if the motor is in a power failure or extreme protection condition. The first voltage threshold is greater than the second voltage threshold.
[0111] The specific values of the first voltage threshold and the second voltage threshold can be set according to actual needs or prior knowledge, and this application embodiment does not limit this. For example, the first voltage threshold and the second voltage threshold can be set according to the rated bus voltage. For example, the first voltage threshold can be set to 50% of the rated bus voltage, and the second voltage threshold can be set to 30% of the rated bus voltage.
[0112] For example, if the DC bus voltage is greater than or equal to a first voltage threshold, the motor can be determined to be in normal operating condition. If the DC bus voltage is greater than a second voltage threshold but less than or equal to the first voltage threshold, the motor is determined to be in undervoltage operating condition. If the DC bus voltage is less than the second voltage threshold, the motor is determined to be in power failure or limit protection condition.
[0113] In some embodiments, the operating condition of the motor can also be determined based on the rate of decrease of the DC bus voltage, so as to reduce the lag in judging the operating condition of the motor caused by relying solely on static thresholds.
[0114] For example, if the DC bus voltage remains within the normal range (e.g., greater than the first preset voltage) for several consecutive sampling periods, but the rate of decrease of the DC bus voltage (dU) dc If the rate of decrease of DC bus voltage is less than the preset first rate of decrease, it can be determined that the motor is trending towards an undervoltage operating condition, and the controller can pre-confirm the current operating condition of the motor as an undervoltage operating condition; if the rate of decrease of DC bus voltage is less than the preset second rate of decrease, it can be determined that the motor is trending towards a power-off operating condition, and the controller can pre-confirm the current operating condition of the motor as a power-off operating condition; wherein, the second rate of decrease is greater than the first rate of decrease.
[0115] In some embodiments, when it is determined that the current motor is in an undervoltage operating condition using the above method, the first coefficient can be determined based on the DC bus voltage in the following manner.
[0116] In one possible implementation, the first coefficient can be determined based on the ratio of the DC bus voltage to a first voltage threshold.
[0117] For example, the first coefficient satisfies the following relationship:
[0118]
[0119] in, DC bus voltage, For the first coefficient, This is the first voltage threshold.
[0120] In one possible implementation, a first difference between the DC bus voltage and a second voltage threshold, and a second difference between the first voltage threshold and the second voltage threshold, can be obtained; the first voltage threshold is greater than the second voltage threshold; and a first coefficient is determined based on the first difference and the second difference.
[0121] For example, the first coefficient satisfies the following relationship:
[0122]
[0123] in, This is the second voltage threshold.
[0124] In one possible implementation, the first coefficient can be determined based on a preset mapping relationship between the DC bus voltage and a voltage-coefficient mapping table.
[0125] For example, after obtaining the DC bus voltage, you can look up the voltage-coefficient mapping table to get the corresponding first coefficient.
[0126] S403. Adjust the motor control command according to the first coefficient to determine the target control command.
[0127] In some embodiments, the control commands for the motor may include command current (also known as current command) and command voltage (also known as voltage command). For example... Figure 3 As shown, the command current can include the command current i along the d-axis. d-ref and the command current i on the q-axis q-ref The command voltage can include the command current V along the d-axis. d and the command current V on the q-axis q .
[0128] For example, when the control command for the motor is the command current, the command current can be limited according to the first coefficient to determine the target control command (i.e., the target control current).
[0129] For example, the command current i along the d-axis can be based on the first coefficient. d-ref and the command current i on the q-axis q-ref Amplification is performed to obtain the target command current for the d-axis and the target command current for the q-axis.
[0130] For example, the target command current I along the d-axis d_tar = i d-ref ; q-axis target command current I q_tar = i q-ref .
[0131] Alternatively, for most permanent magnet synchronous motors, the motor's own permanent magnets already provide a sufficient excitation magnetic field. Only the q-axis current (Iq) needs to be controlled. q By using this to generate torque, the most efficient and linear control can be achieved. Therefore, when limiting the command current according to the first coefficient, only the command current i on the q-axis needs to be limited. q-ref Limiting is applied to the command current i on the d-axis. d-ref This reduces the complexity of control and improves control efficiency.
[0132] For example, when the control command for the motor is a command voltage, the command voltage can be limited according to a first coefficient to determine the target control command.
[0133] For example, the command voltage V along the d-axis can be based on the first coefficient. d and the command voltage V of the q-axis q Amplitude limiting is performed to obtain the target command voltage V on the d-axis. d-t and the target command voltage V on the q-axis q-t .
[0134] For example, the target command voltage V along the d-axis d-t = V d ; Target command voltage V on the q-axis q-t = V q .
[0135] For example, when the motor control command includes a command voltage and a command current, the command voltage and command current can be limited according to a first coefficient to determine the target control command.
[0136] For example, refer to Figure 3 V q and V d Let iq and id be related to iq respectively. ref and ID ref The q-axis current error and d-axis current error are calculated and then determined by a PI integral transform. Therefore, when limiting the command voltage and command current based on the first coefficient, iq can be limited first. ref and ID ref Perform amplitude limiting (or only for ID) ref (After limiting), I is obtained. d_tar and I q_tar Then I d_tar and I q_tar Calculate the q-axis current error and d-axis current error with iq and id respectively, and then perform a PI integral transformation on the q-axis current error and d-axis current error to determine V. q and V d Then, based on the first coefficient, the determined V... q and V d After amplitude limiting, V is obtained. d-t and V q-t .
[0137] In some embodiments, when limiting the command current and / or command voltage, a graded attenuation or cooperative scheduling method may be used, rather than being limited to simple multiplicative scaling.
[0138] For example, after obtaining the first coefficient, the gradient interval corresponding to the first coefficient can be determined, and the amplitude of limiting the command current and / or command voltage can be determined based on the gradient interval.
[0139] For example, when η is in the first gradient range (e.g., 0.7-1), only the command voltage and / or command current of the q-axis are slightly limited to maintain the driving capability as much as possible; when η is in the second gradient range (e.g., 0.4-0.7), the command voltage and / or command current of both the q-axis and d-axis are limited simultaneously (the limiting range is greater than that in the first gradient range); when η is in the third gradient range (less than 0.4), the command voltage and command current of both the d-axis and q-axis are further compressed to a safe operating range. It should be understood that the specific compression range of the command voltage and command current of the d-axis and q-axis can be set based on actual needs, and this application embodiment does not limit this.
[0140] Through the above adjustments, on the one hand, the target control command can be matched with the current bus voltage capability, making it easier for the current loop to complete tracking under limited voltage conditions; on the other hand, the smooth reduction of the target control command can suppress the continuous accumulation of the integral link, reduce the current surge and torque impact caused by the integral release when the voltage recovers; thus, it helps to maintain the linear operating range of the control system and improve the stability and controllability of the entire motor drive system under abnormal power supply conditions.
[0141] S404. Generate motor drive signals based on target control commands, and control the motor based on the drive signals.
[0142] In some embodiments, the drive signal may refer to the control pulse signal that controls the power switching devices of the inverter to turn on and off. It may be a three-phase PWM signal, a gate drive signal modulated by SVPWM, or other switching control signals applicable to a three-phase bridge inverter.
[0143] For example, such as Figure 3 As shown, when the target control command is the target command current, the target command current can be sent to the PI integral controller to obtain the command voltage. Then, the command voltage is subjected to inverse Park transformation and inverse Clark transformation to obtain the three-phase voltage command. Finally, the modulation algorithm generates the duty cycle signal (i.e., drive signal) of each bridge arm and outputs it to the gate drive circuit to drive the inverter power device to act on the motor winding.
[0144] For example, when the target control command is the target command voltage, the target command voltage can be subjected to inverse Park transformation and inverse Clark transformation to obtain the three-phase voltage command. Finally, the modulation algorithm generates the duty cycle signal (i.e., drive signal) of each bridge arm and outputs it to the gate drive circuit to drive the inverter power device to act on the motor winding.
[0145] For example, when the target control command is the target command voltage and the target command current, the target command current can be sent to the PI integral controller to obtain the command voltage, and the target command voltage can be obtained based on the command voltage. Then, the target command voltage is subjected to inverse Park transformation and inverse Clark transformation to obtain the three-phase voltage command. Finally, the duty cycle signal (i.e., drive signal) of each bridge arm is generated by the modulation algorithm and output to the gate drive circuit to drive the inverter power device to act on the motor winding.
[0146] The motor control method provided in this application introduces the DC bus voltage into the field-oriented control link as a constraint, enabling the controller to actively reduce its control degrees of freedom under undervoltage operating conditions. It adjusts the original control command to a target control command that matches the current power supply capacity, and then generates a drive signal based on this target control command. This allows the control strategy to adaptively adjust with changes in power supply capacity. This effectively avoids voltage or current command over-limits and modulation saturation problems when the bus voltage drops, mitigates the recovery impact caused by current loop integral accumulation, reduces the risks of phase current surges, torque fluctuations, mechanical shocks, and overstress of power devices, and improves the motor's continuous operation capability and system stability under abnormal power supply conditions.
[0147] Figure 5 A flowchart illustrating another motor control method provided in this application embodiment is shown below. Figure 5 As shown, it includes:
[0148] S501, Obtain the DC bus voltage of the drive motor.
[0149] S502. When it is determined that the motor is currently in an undervoltage operating condition based on the DC bus voltage, the first coefficient is determined based on the DC bus voltage.
[0150] S503. Limit the command current according to the first coefficient to determine the target command current.
[0151] For the specific implementation of steps S501-S503 in the embodiments of this application, please refer to [the relevant documentation]. Figure 4 The specific implementation methods of the corresponding steps in the illustrated embodiments will not be repeated here.
[0152] S504. Determine the command voltage based on the target command current and the motor feedback current, and when the command voltage is greater than the preset voltage upper limit, limit the command voltage based on the first coefficient to determine the target command voltage.
[0153] For example, refer to Figure 3The motor's feedback current includes the d-axis feedback current id and the q-axis feedback current iq. In the motor's vector control, the motor's feedback current is obtained by Clark transformation of the three-phase currents ia / ib / ic to obtain iα and iβ, and then iα and iβ are further transformed by Park to obtain iq and id.
[0154] iq and id are respectively related to the target command current I. d_tar and I q_tar Calculate the q-axis current error and d-axis current error, and then perform a PI integral transformation on the q-axis current errors to determine the command voltage V for the q-axis. q and the command voltage V of the d-axis d .
[0155] In some embodiments, a command voltage greater than a preset voltage upper limit can mean that the combined voltage of the command voltage on the d-axis and the command voltage on the q-axis is greater than the preset voltage upper limit.
[0156] For example, determine the combined voltage of the command voltage on the d-axis and the command voltage on the q-axis; if the combined voltage is greater than the DC bus voltage, then determine that the command voltage is greater than the preset upper limit value.
[0157] For example, the synthesized voltage can satisfy the following formula:
[0158]
[0159] If the synthesized voltage is greater than the DC bus voltage If so, it can be determined that the command voltage is greater than the preset voltage upper limit.
[0160] It should be understood that the preset voltage upper limit value can also be set according to actual needs and is not limited to the DC bus voltage. The embodiments of this application do not limit the size of the preset voltage upper limit value.
[0161] When the command voltage is determined to be greater than the preset upper limit, the command voltage can be limited based on the first coefficient to determine the target command voltage V. d-t and V q-t Its specific implementation method is the same as... Figure 4 The implementation methods in the illustrated embodiments are similar and will not be described again here.
[0162] By introducing voltage constraints in the current closed-loop layer, the command voltage can be promptly reduced to the achievable range when it exceeds the limit, thereby avoiding modulation saturation and output distortion. Since subsequent drive signals are generated based on the constrained target command voltage, the motor can still maintain a continuous and stable operating state when the bus voltage drops, reducing the risk of current surges, torque shocks, and increased stress on power devices, thus improving control stability and operational reliability under undervoltage conditions.
[0163] S505. When the command voltage is greater than the preset upper limit value, the integral terms of the feedback controllers of the d-axis and q-axis are limited by the second coefficient.
[0164] In some embodiments, the second coefficient may refer to a constraint parameter used to limit the integral term, the value of which may be associated with the DC bus voltage or the first coefficient, to limit the intensity of the integral accumulation and suppress the controller from continuing to amplify unrealizable voltage demands when the voltage exceeds the limit.
[0165] The d-axis feedback controller can refer to a controller (such as a PI controller) that performs closed-loop regulation of the d-axis target command current and the d-axis feedback current. It usually adopts a proportional-integral control structure, and its integral term is used to eliminate steady-state error and undertake anti-saturation regulation when the voltage is limited.
[0166] A q-axis feedback controller refers to a controller that performs closed-loop regulation of the q-axis target command current and the q-axis feedback current. It can also employ a proportional-integral (PI) control structure, where the integral term is used to suppress the accumulation of torque component errors. The integral term is the integral component in the PI controller, used to gradually correct the output voltage when a persistent error exists, preventing the current from deviating from the target value for an extended period.
[0167] For example, the second coefficient can be the same as the first coefficient, or the second coefficient can be proportional to the first coefficient (e.g., the second coefficient is 0.7 times, 0.8 times, etc. of the first coefficient).
[0168] For example, the second coefficient can be determined based on a preset voltage-coefficient mapping relationship. For instance, the second coefficient can be obtained by consulting a voltage-coefficient mapping table based on the DC bus voltage. Alternatively, the second coefficient can be determined using a preset slope linear formula based on the voltage range in which the DC bus voltage is located.
[0169] It should be understood that the specific method and size of the second coefficient can be set according to actual needs, and the embodiments of this application do not limit this.
[0170] In some embodiments, when the controller detects that the command voltage exceeds a preset upper limit, it multiplies the integral result by a second coefficient before clamping, or directly reduces the integral increment by the second coefficient to keep the integral term within the range that the current power supply capacity can handle. This way, when the inverter's output voltage is insufficient, the controller will not continue to drive the integral term to grow unbounded, making it easier for the current loop output to match the current bus voltage capacity, thereby reducing modulation saturation and avoiding current surges caused by integral release after voltage recovery, thus improving the stability and reliability of the drive system.
[0171] It should be understood that in this embodiment, the process of determining the target command voltage in S504 can be performed synchronously with S505. That is, the command voltage is generated based on the limited feedback controller, and the command voltage is limited to determine the target command voltage.
[0172] Optionally, to further enhance the flexibility and stability of motor control, after determining that the motor is in an undervoltage operating condition and the first coefficient, the motor can also be controlled in the following manner.
[0173] For example, the gradient interval corresponding to the first coefficient is determined; a control strategy for the motor is determined based on the gradient interval; the control strategy includes any one of the following:
[0174] The target command current is determined by limiting the command current based on the first coefficient.
[0175] The target command voltage is determined by limiting the command voltage based on the first coefficient.
[0176] The integral terms of the feedback controllers on the d-axis and q-axis are limited by the second coefficient.
[0177] The gradient interval is used to divide the first coefficient into several continuously varying ranges, allowing the controller to select the corresponding control strategy based on different undervoltage depths. The control strategy is then used to switch between current control, voltage control, and integral limiting control within different intervals, ensuring that the drive output matches the current power supply capacity.
[0178] For example, the gradient interval can be divided into the first gradient interval (also known as the high margin interval, such as 0.7-1), the second gradient interval (also known as the medium margin interval, such as 0.4-0.7), and the third gradient interval (also known as the low margin interval, such as less than 0.4).
[0179] When the first coefficient is in the first gradient range, it means that the bus voltage still has sufficient adjustment margin. The controller can adopt a strategy of limiting the command current based on the first coefficient, determining the target command current, and then generating the motor drive signal based on the target command current, without adjusting other control commands, in order to maintain the smooth operation of the motor.
[0180] When the first coefficient decreases further and falls within the second gradient range, the controller can simultaneously employ a strategy of limiting the command current based on the first coefficient to determine the target command current, and limiting the command voltage based on the first coefficient to determine the target command voltage, and then generating the motor drive signal based on the target command voltage, in order to reduce the risk of voltage over-limit.
[0181] When the first coefficient is further reduced and falls within the third gradient range, the controller can simultaneously employ a strategy of limiting the command current based on the first coefficient to determine the target command current, limiting the command voltage based on the first coefficient to determine the target command voltage, and limiting the integral terms of the feedback controllers on the d-axis and q-axis respectively with the second coefficient, and then generating the motor drive signal based on the target command voltage after integral limiting. This strategy avoids integral saturation and recovery shocks near the undervoltage boundary.
[0182] When using the above control method, the first coefficient is no longer used as a single scaling factor, but as a basis for switching control strategies. This allows the controller to select a control mode that matches the current power supply capacity based on the gradient range of the first coefficient, and to impose constraints on the integral term when necessary. Because the control strategy switches with the gradient range, the motor can smoothly transition from current control to voltage control during the bus voltage drop, and suppress control mismatch through integral term limiting during deep undervoltage, thereby improving modulation stability and operational continuity.
[0183] In some embodiments, if the bus voltage gradually recovers after undervoltage operation, the controller can continue to use the current control strategy and use a soft switching strategy to smoothly return the drive signal to the normal control state.
[0184] For example, when the DC bus voltage is detected to be higher than the recovery threshold for multiple consecutive sampling cycles, the controller does not immediately cancel η. Instead, it gradually increases η according to a preset ramp, and simultaneously increases the q-axis current and the upper limit of the total current vector, causing the duty cycle of the drive signal to gradually increase. In this way, current surges can be avoided at the moment of voltage recovery due to incomplete release of the integral term or a sudden increase in torque demand. If the system further deteriorates undervoltage and approaches the power-off boundary, the controller can also combine the drive signal generation mechanism in this step to implement zero vector increment, duty cycle decrement, or limited freewheeling control, so that the energy stored in the winding is released gradually rather than abruptly, reducing the risk of mechanical shock and energy backflow.
[0185] S506. Generate a motor drive signal based on the target command voltage, and control the motor based on the drive signal.
[0186] The specific implementation method of the steps shown in embodiment S506 of this application is the same as Figure 3 The specific implementation methods for the corresponding steps are similar, and will not be repeated here.
[0187] S507. When it is determined that the motor is in a power-off operation condition based on the DC bus voltage, the duty cycle of the lower bridge switch or the upper bridge switch of the motor inverter is gradually increased until the duty cycle of the lower bridge switch or the upper bridge switch reaches the maximum value.
[0188] In some embodiments, the power-down operation condition can be used to characterize a situation where the DC bus enters a low-voltage power-off state, the motor can no longer continue to operate stably under normal magnetic field orientation control, but electromagnetic energy may still exist in the windings and needs to be released in a controlled manner.
[0189] Inverters typically include three-phase bridge arms, each with an upper bridge switch and a lower bridge switch. These switches can be made of insulated gate bipolar transistors (IGBTs), metal-oxide-semiconductor field-effect transistors (MOSFETs), or other power semiconductor devices. In practical applications, the device model can also be selected according to the power level, voltage level, and switching frequency. This application does not limit this aspect.
[0190] Duty cycle refers to the percentage of the conduction time of the upper or lower bridge power device in a single bridge arm of the inverter within a modulation cycle, used to characterize the ability of that bridge arm to apply voltage to the motor windings. Maximum value refers to the limit conduction state corresponding to power-down control, in which the bridge arm output can fully enable the corresponding freewheeling or energy release process, thereby reducing residual energy stored in the windings.
[0191] For example, when the DC bus voltage is lower than a second preset voltage, it can be determined that the motor is in a power-off operating condition. The second voltage threshold can be a preset minimum operating voltage boundary for the motor.
[0192] When the controller determines that the motor is operating under power failure conditions, it can gradually increase the on-time percentage of the selected bridge arm switch at fixed intervals, causing the corresponding duty cycle to rise in a ramp manner and remain at the maximum allowable value to form a continuous or near-continuous on-state (e.g., adjusting the duty cycle from 1% to 100% in 1% increments). This allows the remaining energy in the motor windings to be continuously and smoothly released until the current decays to a safe range.
[0193] For example, when the lower bridge switch is selected as the regulating object, the controller gradually increases the duty cycle of each lower bridge switch, causing the motor winding current to form a controlled freewheeling circuit through the inverter, thus promoting a smooth decay of the energy stored in the windings. When the upper bridge switch is selected as the regulating object, the same controlled conduction effect is achieved by gradually increasing the duty cycle of the upper switch, adapting to different topologies and control habits. After the duty cycle reaches its maximum value, the inverter enters the operating state corresponding to its maximum conduction capacity, and the remaining energy in the motor windings is continuously and smoothly released until the current decays to a safe range. This control method can limit the rate of current change of the motor during power failure, reduce the current surge and bus voltage backflow caused by direct shutdown, thereby reducing the mechanical shock and voltage stress on components during motor shutdown, and improving safety and reliability in power failure scenarios.
[0194] In some embodiments, to prevent the inverter's lower or upper bridge switch ratio from remaining at a low level for an extended period and failing to provide timely motor protection, the controller can also monitor the change time of the duty cycle of the lower or upper bridge switch. If the duty cycle of the lower or upper bridge switch does not reach its maximum value within a preset time period, the duty cycle of the lower or upper bridge switch will be adjusted to its maximum value.
[0195] For example, if the duty cycle of the lower or upper bridge switch does not reach its maximum value within 10ms, the controller can directly output a maximum duty cycle control command to the inverter, causing the corresponding bridge arm to enter the limit conduction state.
[0196] By employing the above method, during power-down operation, the gradually increasing duty cycle is first used to promote the release of winding energy. Then, a preset time duration is used as a safety net constraint to ensure that if the aforementioned gradual adjustment fails to achieve maximum conduction within the limited time, the system is forced to enter the maximum duty cycle state, thereby avoiding insufficient energy release or remaining in a partially conductive state. By combining time constraints with duty cycle limit control, the inverter can maintain a controllable energy discharge path when the bus voltage drops abnormally, and provide stable conditions for subsequent shutdowns or safe transitions.
[0197] Based on the above embodiments, this application also provides an electronic device for a cleaning apparatus. The electronic device includes:
[0198] The motor is configured to provide suction to the cleaning device;
[0199] The inverter is configured to drive the motor;
[0200] The controller connected to the inverter is configured as follows:
[0201] Obtain the DC bus voltage of the inverter-driven motor; determine the motor's undervoltage operating condition based on the DC bus voltage, and determine a first coefficient based on the DC bus voltage; the first coefficient is used to limit the motor's field-oriented control degree of freedom; adjust the motor's control command based on the first coefficient to determine the target control command; generate the motor's drive signal based on the target control command, and control the motor based on the drive signal.
[0202] In some embodiments, the controller is configured to limit the command current according to a first coefficient to determine a target control command.
[0203] In some embodiments, the controller is configured to: determine the command voltage based on the target command current and the feedback current of the motor; and when the command voltage is greater than a preset upper voltage limit, limit the command voltage based on a first coefficient to determine the target control command.
[0204] In some embodiments, the controller is configured to: determine the combined voltage of the command voltage of the d-axis and the command voltage of the q-axis; if the combined voltage is greater than the DC bus voltage, then determine that the command voltage is greater than a preset voltage upper limit value.
[0205] In some embodiments, the controller is configured to: when the command voltage is greater than a preset upper limit, limit the integral terms of the d-axis feedback controller and the q-axis feedback controller respectively by a second coefficient; wherein, the d-axis feedback controller is used to adjust the target command current and the feedback current of the d-axis to determine the command voltage of the d-axis; the q-axis feedback controller is used to adjust the target command current and the feedback current of the q-axis to determine the command voltage of the q-axis.
[0206] In some embodiments, the controller is configured to: acquire a first difference between the DC bus voltage and a second voltage threshold, and a second difference between the first voltage threshold and the second voltage threshold; the first voltage threshold is greater than the second voltage threshold; and determine a first coefficient based on the first difference and the second difference.
[0207] In some embodiments, the controller is configured to: determine a gradient interval corresponding to a first coefficient; and determine a control strategy for the motor based on the gradient interval; the control strategy includes any one of the following:
[0208] The target command current is determined by limiting the command current based on the first coefficient.
[0209] The target command voltage is determined by limiting the command voltage based on the first coefficient.
[0210] The integral terms of the feedback controllers on the d-axis and q-axis are limited by the second coefficient.
[0211] In some embodiments, the controller is configured to: determine that the motor is in an undervoltage operating condition if the DC bus voltage is greater than a second voltage threshold and less than or equal to a first voltage threshold; or determine the rate of decrease of the DC bus voltage, and determine that the motor is in an undervoltage operating condition if the rate of decrease is greater than a preset threshold.
[0212] In some embodiments, the controller is configured to: determine that the current motor is in a power-off operation condition when the DC bus voltage is less than a second voltage threshold; and gradually increase the duty cycle of the lower bridge switch or the upper bridge switch of the motor inverter until the duty cycle of the lower bridge switch or the upper bridge switch reaches its maximum value.
[0213] In some embodiments, the controller is configured to adjust the duty cycle of the lower bridge switch or the upper bridge switch to the maximum value if the duty cycle of the lower bridge switch or the upper bridge switch does not reach the maximum value within a preset time period.
[0214] The controller of the electronic device provided in this application embodiment can execute the motor control method shown in any of the above embodiments. The specific implementation and technical effects of each step are similar, and will not be repeated here.
[0215] This application also provides an electronic device.
[0216] Figure 6 This is a schematic diagram of the structure of the electronic device 60 provided in the embodiments of this application, such as... Figure 6 As shown, the electronic device may include: a transceiver 601, a processor 602, and a memory 603. The electronic device may be a controller as described in any of the above embodiments.
[0217] The processor 602 executes computer execution instructions stored in the memory, causing the processor 602 to perform the scheme in the above embodiments. The processor 602 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0218] The memory 603 is connected to the processor 602 via the system bus and completes communication between them. The memory 603 is used to store computer program instructions.
[0219] Transceiver 601 can perform the functions of receiving and sending data and instructions.
[0220] Optionally, the electronic device 60 may also include a communication interface to communicate and interact with external or internal devices, such as client devices (e.g., mobile phones, tablets). In specific implementations, if the communication interface 604, memory 603, and processor 602 are implemented independently, the communication interface 604, memory 603, and processor 602 can be interconnected via a bus to complete communication between them.
[0221] The system bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The system bus can be divided into address bus, data bus, control bus, etc. For ease of representation, only one thick line is used in the diagram, but this does not indicate that there is only one bus or one type of bus. Transceivers are used to enable communication between database access devices and other computers (e.g., clients, read-write libraries, and read-only libraries). Memory may include random access memory (RAM) and may also include non-volatile memory.
[0222] Optionally, in a specific implementation, if the communication interface, memory 603, and processor 602 are integrated on a single chip, then the communication interface, memory 603, and processor 602 can communicate through an internal interface.
[0223] This application also provides a chip for executing instructions, which is used to execute the technical solutions of the methods described in the above embodiments.
[0224] This application also provides a computer-readable storage medium storing a computer program thereon. When the computer program is executed by a processor, it implements the technical solution of the above method embodiment. Its implementation principle and technical effect are similar, and will not be repeated here.
[0225] In one possible implementation, a computer-readable medium may include random access memory (RAM), read-only memory (ROM), compact discread-only memory (CD-ROM) or other optical disc storage, disk storage or other magnetic storage devices, or any other medium targeted to carry or to store the required program code in the form of instructions or data structures, and accessible by a computer. Furthermore, any connection is appropriately referred to as a computer-readable medium. For example, if software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL), or wireless technologies such as infrared, radio, and microwave, then coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. As used herein, disks and optical discs include optical discs, laser discs, optical discs, Digital Versatile Discs (DVDs), floppy disks, and Blu-ray discs, where disks typically reproduce data magnetically, while optical discs optically reproduce data using lasers. Combinations of the above should also be included within the scope of computer-readable media.
[0226] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the technical solution of the above method embodiments. Its implementation principle and technical effects are similar, and will not be repeated here.
[0227] This application also provides a cleaning device, including an electronic device storing a computer program. When the computer program is executed by a controller, it implements the technical solution of the above method embodiment. Its implementation principle and technical effect are similar, and will not be repeated here.
[0228] In the specific implementation of the aforementioned terminal device or server, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. A general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly manifested as execution by a hardware processor, or execution by a combination of hardware and software modules within the processor.
[0229] Those skilled in the art will understand that all or part of the steps in any of the above method embodiments can be implemented by hardware associated with program instructions. The aforementioned program can be stored in a computer-readable storage medium, and when the program is executed, all or part of the steps in the above method embodiments are performed.
[0230] If the technical solution of this application is implemented in software form and sold or used as a product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the technical solution of this application can be embodied in the form of a software product, which is stored in a storage medium and includes a computer program or several instructions. This computer software product enables a computer device (which may be a personal computer, server, network device, or similar electronic device) to execute all or part of the steps of the methods in the embodiments of this application.
[0231] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily essential to this application.
[0232] It should be further noted that although the steps in the flowchart are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowchart may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.
[0233] It should be understood that the above-described device embodiments are merely illustrative, and the device of this application can also be implemented in other ways. For example, the division of units / modules in the above embodiments is only a logical functional division, and there may be other division methods in actual implementation. For example, multiple units, modules, or components may be combined, or integrated into another system, or some features may be ignored or not executed.
[0234] Furthermore, unless otherwise specified, the functional units / modules in the various embodiments of this application can be integrated into one unit / module, or each unit / module can exist physically separately, or two or more units / modules can be integrated together. The integrated units / modules described above can be implemented in hardware or as software program modules.
[0235] When integrated units / modules are implemented in hardware, the hardware can be digital circuits, analog circuits, etc. The physical implementation of the hardware structure includes, but is not limited to, transistors, memristors, etc. Unless otherwise specified, the processor can be any suitable hardware processor, such as a CPU, GPU, FPGA, DSP, and ASIC, etc. Unless otherwise specified, the storage unit can be any suitable magnetic or magneto-optical storage medium, such as Resistive Random Access Memory (RRAM), Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), Enhanced Dynamic Random Access Memory (EDRAM), High-Bandwidth Memory (HBM), Hybrid Memory Cube (HMC), etc.
[0236] If the integrated unit / module is implemented as a software program module and sold or used as an independent product, it can be stored in a computer-readable storage device (CMD). Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned memory includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.
[0237] In the above embodiments, the descriptions of each embodiment have their own emphasis. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments. The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as the combination of these technical features does not contradict each other, it should be considered within the scope of this specification.
[0238] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
Claims
1. A motor control method, characterized in that, include: Obtain the DC bus voltage of the drive motor; When the motor is determined to be in an undervoltage operating condition based on the DC bus voltage, a first coefficient is determined based on the DC bus voltage; the first coefficient is used to limit the degree of freedom of the motor's field-oriented control. The control command of the motor is adjusted according to the first coefficient to determine the target control command; The drive signal for the motor is generated based on the target control command, and the motor is controlled based on the drive signal.
2. The method according to claim 1, characterized in that, The control command includes a command current, and the step of adjusting the control command of the motor according to the first coefficient to determine the target control command includes: The target control command is determined by limiting the command current based on the first coefficient.
3. The method according to claim 2, characterized in that, The control command further includes a command voltage. The step of adjusting the control command for the motor based on the first coefficient to determine the target control command includes: The command voltage is determined based on the command current and the feedback current of the motor; When the command voltage is greater than the preset voltage upper limit, the command voltage is limited based on the first coefficient to determine the target control command.
4. The method according to claim 3, characterized in that, The command voltage includes a d-axis command voltage and a q-axis command voltage, and the method further includes: Determine the combined voltage of the command voltage of the d-axis and the command voltage of the q-axis; If the synthesized voltage is greater than the DC bus voltage, then the command voltage is determined to be greater than the preset voltage upper limit.
5. The method according to claim 3, characterized in that, The method further includes: When the command voltage is greater than the preset upper limit value, the integral terms of the feedback controllers of the d-axis and q-axis are limited by the second coefficient respectively. The d-axis feedback controller is used to adjust the target command current and the feedback current of the d-axis to determine the command voltage of the d-axis; the q-axis feedback controller is used to adjust the target command current and the feedback current of the q-axis to determine the command voltage of the q-axis.
6. The method according to any one of claims 1-5, characterized in that, The step of determining the first coefficient based on the DC bus voltage includes: Obtain a first difference between the DC bus voltage and a second voltage threshold, and a second difference between the first voltage threshold and the second voltage threshold; the first voltage threshold is greater than the second voltage threshold. The first coefficient is determined based on the first difference and the second difference.
7. The method according to any one of claims 1-5, characterized in that, The method further includes: Determine the gradient interval corresponding to the first coefficient; A control strategy for the motor is determined based on the gradient interval; the control strategy includes any one of the following: The target command current is determined by limiting the command current based on the first coefficient. The target command voltage is determined by limiting the command voltage based on the first coefficient. The integral terms of the feedback controllers on the d-axis and q-axis are limited by the second coefficient.
8. The method according to claim 6, characterized in that, The method further includes: If the DC bus voltage is greater than the second voltage threshold and less than or equal to the first voltage threshold, then the motor is determined to be in an undervoltage operating condition. or, The rate of decrease of the DC bus voltage is determined. If the rate of decrease is greater than a preset threshold, the motor is determined to be in an undervoltage operating condition.
9. The method according to any one of claims 1-5, characterized in that, The method further includes: When the DC bus voltage is less than the second voltage threshold, it is determined that the motor is currently in a power-off operation condition; The duty cycle of the lower or upper bridge switch of the inverter of the motor is gradually increased until the duty cycle of the lower or upper bridge switch reaches its maximum value.
10. The method according to claim 9, characterized in that, The method further includes: If the duty cycle of the lower bridge switch or the upper bridge switch does not reach its maximum value within a preset time period, the duty cycle of the lower bridge switch or the upper bridge switch will be adjusted to its maximum value.
11. An electronic device for a cleaning apparatus, characterized in that, include: The motor is configured to provide suction to the cleaning device; An inverter is configured to drive the motor; A controller connected to the inverter is configured to: Obtain the DC bus voltage of the inverter driving the motor; When the motor is determined to be in an undervoltage operating condition based on the DC bus voltage, a first coefficient is determined based on the DC bus voltage; the first coefficient is used to limit the degree of freedom of the motor's field-oriented control. The control command of the motor is adjusted according to the first coefficient to determine the target control command; The drive signal for the motor is generated based on the target control command, and the motor is controlled based on the drive signal.
12. An electronic device, characterized in that, include: The processor, transceiver, and memory are provided; the processor is communicatively connected to both the transceiver and the memory. The memory stores computer-executed instructions; The transceiver communicates and interacts with external devices. The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1-10.
13. A cleaning device, characterized in that, It includes an electronic device storing a computer program that, when executed by a controller, implements the method of any one of claims 1-10.