Vehicle window motor control method, electronic equipment and vehicle

By timing and delaying the execution of window motor commands in the window controller, the response problem of the window motor during frequent switching is solved, ensuring motor safety and improving the accuracy of window control and user experience.

CN120968381APending Publication Date: 2025-11-18GREAT WALL MOTOR CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511370025.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-24
Publication Date
2025-11-18

AI Technical Summary

Technical Problem

When window control commands are switched frequently, the motor may not respond in time, causing the windows to fail to accurately execute user commands, affecting the user experience, and may even burn out the motor.

Method used

After receiving the instruction, the window controller obtains the current status information of the motor and starts timing to determine the motor stop time. The instruction is only executed when the timing reaches the stop time and there is no new instruction, so as to avoid the motor switching between rapid forward and reverse rotation.

Benefits of technology

By delaying the execution of commands, rapid switching caused by excessive back electromotive force in the motor is avoided, ensuring motor safety, improving the accuracy and reliability of window response, and enhancing the driving experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120968381A_ABST
    Figure CN120968381A_ABST
Patent Text Reader

Abstract

The invention provides a control method of a vehicle window motor, electronic equipment and a vehicle, which are applied to the technical field of vehicle window control, and the method comprises the following steps: in response to a received vehicle window control instruction, sending the vehicle window control instruction to the vehicle window motor, obtaining the current state information of the vehicle window motor, and starting timing; based on the vehicle window control instruction and the current state information, the stopping duration of the motor is determined; and in response to the fact that the timing duration reaches the motor stop duration and no new control instruction is received, the vehicle window motor is controlled to execute the vehicle window control instruction, so that it is ensured that when the vehicle window motor executes the vehicle window control instruction, rapid switching between forward rotation and reverse rotation does not occur, it is ensured that the vehicle window motor can execute the vehicle window control instruction, and the vehicle window control efficiency is improved. Therefore, the vehicle window can respond to the vehicle window control instruction in time under the control of the vehicle window motor, and the driving experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of vehicle window control technology, and in particular to a control method for a vehicle window motor, electronic equipment, and a vehicle. Background Technology

[0002] The windows are controlled via an electrical system. The driver or passenger operates a switch, sending a command to a control module (such as a window controller). The control module then drives a motor to rotate forward or backward, thereby raising or lowering the window glass through the lifting mechanism. In actual use, if the user frequently switches between automatic raising and automatic lowering commands, occasional instances may occur where the window control fails to respond, and the window cannot raise or lower according to the user's commands, affecting the user experience. Summary of the Invention

[0003] In view of this, the purpose of this application is to provide a control method, electronic equipment and vehicle for a car window motor.

[0004] To achieve the above objectives, the first aspect of this application provides a control method for a vehicle window motor, comprising: In response to receiving a window control command, the window control command is sent to the window motor, and the current status information of the window motor is obtained and a timer is started; Based on the window control command and the current status information, determine the motor stop duration; In response to the timing reaching the motor's stop time and no new control command being received, the window motor is controlled to execute the window control command.

[0005] Optionally, determining the motor stop duration based on the window control command and the current status information includes... In response to the inclusion of drive command information in the current status information, the current direction of movement of the window is determined based on the drive command information; In response to the window target movement direction corresponding to the window control command being opposite to the current movement direction of the window, a stop drive command is sent to the window motor, and a preset stop duration is determined as the motor stop duration.

[0006] Optionally, the current status information includes the current Hall count; The step of determining the motor stop duration based on the window control command and the current status information includes: Since the current state information does not include drive command information, the current position of the window is determined based on the current Hall count. The duration of motor stoppage is determined based on the current position of the vehicle window.

[0007] Optionally, determining the motor stop duration based on the current position of the window includes: In response to the fact that the current position of the window is between a preset soft stop point and a preset hard stop point, the target Hall count corresponding to the preset hard stop point is determined; The motor stop duration is determined based on the target Hall count and the current Hall count.

[0008] Optionally, determining the motor stop duration based on the current position of the window includes: In response to the fact that the current position of the car window is at a preset vertex, the first arrival time of the car window to the preset vertex is obtained; In response to the first arrived duration being less than or equal to a preset instruction clear duration, the motor stop duration is determined based on the first arrived duration, the preset instruction clear duration, and the preset buffer duration.

[0009] Optionally, determining the motor stop duration based on the first arrived duration, the preset instruction clear duration, and the preset buffer duration includes: The difference between the preset instruction clearing time and the first elapsed time is determined as the time difference; The sum of the time difference and the preset buffer duration is determined as the motor stop duration.

[0010] Optionally, the step of controlling the window motor to execute the window control command when the duration of the timing reaches the motor stop duration and no new control command is received includes: In response to the timing duration reaching the time difference value, all received instructions, including the window control instructions, are cleared; In response to the timing reaching the motor stop time and no new control command being received, the window control command is resent to the window motor; The window motor is controlled to execute the window control commands.

[0011] Optionally, determining the motor stop duration based on the current position of the window includes: In response to the fact that the current position of the window is between a preset soft stop point and a preset vertex, the second arrival time of the window to the current position is obtained; In response to the second elapsed time being less than the preset stop time, the previous drive command executed by the window motor is obtained; In response to the window target movement direction corresponding to the window control command being opposite to the window movement direction corresponding to the previous drive command, the difference between the preset stop time and the second reached time is determined as the motor stop time.

[0012] Based on the same inventive concept, a second aspect of this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor executes the computer program to implement the method as described in any of the first aspects above.

[0013] Based on the same inventive concept, a third aspect of this application provides a vehicle that includes the electronic equipment described in the second aspect above.

[0014] As can be seen from the above, the window motor control method, electronic device, and vehicle provided in this application, in response to receiving a window control command, send the window control command to the window motor, obtain the current status information of the window motor, and start timing; based on the window control command and the current status information, determine the motor stop duration; in response to the timing duration reaching the motor stop duration and no new control command being received, control the window motor to execute the window control command. Thus, after the window controller sends the window control command to the window motor, it does not immediately control the window motor to execute the window control command, but waits until the timing reaches the motor stop duration, i.e., the duration after the window control command is sent to the window motor reaches the motor stop duration. After a certain period of inactivity, the window motor is controlled to execute the window control command. Thus, the inactivity period is the time difference between the actual execution time of the window control command and the time the command is received. This time difference prevents the window motor from being driven to rotate, providing a buffer and ensuring that the motor does not rapidly switch between forward and reverse rotation when executing the window control command. This prevents excessive back electromotive force from causing the motor to fail to respond quickly or even burn out, ensuring that the window motor can execute the window control command and that the window responds promptly under the motor's control, thereby improving the driving experience. Attached Figure Description

[0015] To more clearly illustrate the technical solutions in this application or related technologies, the drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0016] Figure 1 This is a flowchart illustrating the control method for a car window motor according to an embodiment of this application; Figure 2 This is a schematic diagram illustrating the first principle of the control method for the car window motor according to an embodiment of this application; Figure 3 This is a schematic diagram illustrating the second principle of the control method for the car window motor according to an embodiment of this application; Figure 4 This is a schematic diagram illustrating the third principle of the control method for the car window motor according to an embodiment of this application. Figure 5 This is a schematic diagram illustrating the fourth principle of the control method for the car window motor according to an embodiment of this application; Figure 6 This is a schematic diagram illustrating the fifth principle of the control method for the vehicle window motor according to an embodiment of this application; Figure 7 This is a schematic diagram of the control device for the car window motor according to an embodiment of this application; Figure 8 This is a schematic diagram of an electronic device according to an embodiment of this application. Detailed Implementation

[0017] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with specific embodiments and the accompanying drawings.

[0018] It should be noted that, unless otherwise defined, the technical or scientific terms used in the embodiments of this application should have the ordinary meaning understood by one of ordinary skill in the art to which this application pertains. The terms "first," "second," and similar terms used in the embodiments of this application do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Terms such as "comprising" or "including" mean that the element or object preceding the word encompasses the elements or objects listed after the word and their equivalents, without excluding other elements or objects. Terms such as "connected" or "linked" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. Terms such as "upper," "lower," "left," and "right" are only used to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.

[0019] With the development of automotive intelligence, almost all models are equipped with automatic power windows, allowing the windows to rise and fall automatically. Window control is achieved through an electrical system. The driver or passenger operates a switch, sending a command to a control module (such as a window controller). The control module then drives a motor to rotate forward or backward, thereby raising and lowering the window glass via the lifting mechanism.

[0020] Overall, the main components of a car window control system include: Control switches: Control switches include a main control switch and individual switches. The main control switch is usually located on the driver's side door armrest and can control the raising and lowering of all four windows. The main control switch usually also has a "one-touch lock" function, which can prevent operation of windows from other seats. Individual switches are located on the other three doors and are used to control their respective windows.

[0021] Window motor (core power source): The window motor is typically a small DC motor that powers the window to rise or fall. The direction of the motor's rotation determines whether the window rises or falls. Forward and reverse rotation is achieved by changing the direction of the current flow (positive / negative).

[0022] Lifting Mechanism (Mechanical Transmission): The lifting mechanism is a mechanical device that converts the rotary motion of a motor into the linear motion of the glass. There are two main common types: crossarm lifters and rope lifters (or rack and pinion lifters). Crossarm lifters consist of a set of articulated metal arms, shaped like scissors (hence the name "scissor lift"). A motor drives a small gear, which extends or retracts the arms, thus lifting and lowering the glass. Rope lifters (or rack and pinion lifters) use a motor-driven reel to wind or unwind a steel cable. The cable pulls a bracket connected to the glass, achieving lifting and lowering. This method is smoother and quieter, and is the mainstream in modern vehicles.

[0023] Control module: The body control module (BCM) or a dedicated window control module receives the signal from the switch, sends the received signal to the window motor, and intelligently controls the operation of the window motor (e.g., to achieve "one-button lifting" and anti-pinch function).

[0024] Safety Device - Anti-pinch Function: This is a standard safety feature in modern cars, primarily implemented through current-sensing and Hall effect sensing. In the current-sensing type, the control module continuously monitors the motor's current. When the window rises and encounters an obstacle (such as a hand or head), the resistance increases, causing a sudden spike in the motor's operating current. Upon detecting this abnormal current peak, the control module immediately commands the motor to stop and descend a short distance in the opposite direction. In the Hall effect sensing type, the motor is equipped with a Hall sensor that accurately measures the motor's speed / revolutions. When the window encounters an obstacle, the motor speed suddenly decreases or even stops. The control module detects this abnormal speed and triggers the anti-pinch function.

[0025] In practice, taking "raising the window" as an example, the user presses the "raise" button on the main switch or independent switch. The switch sends an "raise" electronic signal to the Body Control Module (BCM) or window controller. After receiving the signal, the BCM or window controller performs a series of checks (e.g., whether the vehicle is powered on, whether the child lock is engaged, whether there are any anti-pinch trigger records, etc.). After passing the checks, the BCM or window controller sends the signal to the window motor and controls the window motor to output current. The current flows in one direction (e.g., towards the positive terminal), driving the motor to rotate forward. The rotational torque of the motor is transmitted to the lifting mechanism (cross arm or cable reel) through a small gearbox. The lifting mechanism converts the rotational motion into linear motion, lifting the window glass smoothly along the guide rail.

[0026] When the user releases the switch or the window rises to its highest point, the BCM or window controller cuts off the current, stopping the motor. The highest point position is typically determined by the motor current increasing to a predetermined value. Alternatively, during the ascent, if the BCM or window controller detects an obstacle via a current or speed sensor, it immediately cuts off the current and reverses the power supply, causing the motor to reverse and the window to descend slightly for safety.

[0027] Based on the entire process of window control, it is clear that controlling the window motor to rotate (forward or reverse) in a timely manner based on the received control signal is a crucial operation. The timely response of the window motor is a key step in controlling the window to execute user commands.

[0028] However, in actual use, if the user frequently switches between automatic rise and automatic fall control commands, there will be occasional situations where the window control commands do not respond, and the window cannot perform the rise or fall according to the user's control commands, which affects the user experience.

[0029] Therefore, ensuring that the car windows respond to every control command sent by the user and accurately execute the raising or lowering operation according to the user's control command is an urgent problem to be solved.

[0030] Based on this problem, the inventors of this application discovered that the occasional failure of the window control commands to respond when the user frequently switches between automatic raising and automatic lowering control commands is due to the window motor's inability to respond to the control commands in a timely manner.

[0031] For example, if a user first sends an up command, the window motor controls the window to rise by rotating forward. If the user then sends a down command while the window motor is controlling the window to rise, the window motor must quickly switch from forward to reverse rotation. During this rapid switching, there is a possibility that the motor's back electromotive force may become too large, causing the motor to be unable to respond quickly or even burn out. This results in the window motor being unable to respond to the control command in a timely manner, which in turn causes the window to be unable to respond to the control command in a timely manner.

[0032] Based on this, see Figure 1 This application provides a control method for a vehicle window motor, executed by a vehicle window controller, the method comprising: Step S100: In response to receiving the window control command, send the window control command to the window motor, obtain the current status information of the window motor, and start timing; Step S200: Determine the motor stop duration based on the window control command and the current status information; Step S300: In response to the timing duration reaching the motor stop duration and no new control command being received, the window motor is controlled to execute the window control command.

[0033] Specifically, when a user wants to control the car window, they send a window control command to the window controller via a switch or button. This command includes either an up command or a down command. Upon receiving the command, the window controller sends it to the window motor, obtains the motor's current status information, and begins timing.

[0034] The current state information is used to characterize the current state of the window motor. The current state information includes the current Hall effect count, which is used to characterize the current number of rotations of the window motor. Based on the current number of rotations, the current position of the window can be determined.

[0035] The current status information may also include drive command information. The drive command information characterizes the current drive command received by the window motor. When the window motor is rotating under the drive command, the current status information includes the drive command information. When the window motor is not rotating under the drive command, the current status information does not include the drive command information. Therefore, whether the window motor is currently rotating under the drive command can be determined based on whether the current status information includes drive command information.

[0036] After obtaining the current status information, based on the window control command and the current status information, the motor stop duration is determined. The determined motor stop duration is the duration for which the motor needs to be controlled to stop rotating in the current state.

[0037] When the timing reaches the motor stop time, it means that the time for receiving the window control command has reached the motor stop time. At this time, the motor has stopped for a sufficient period of time, and no new control command has been received during this process. At this time, the window motor is controlled to execute the window control command.

[0038] In this application, after the window controller sends the window control command to the window motor, it does not immediately control the window motor to execute the window control command. Instead, it controls the window motor to execute the window control command only after the timer reaches the motor stop duration (i.e., after the time since the window control command was sent to the window motor has reached the motor stop duration). Thus, the motor stop duration is the time difference between the actual time the window motor executes the window control command and the time it receives the window control command. This time difference prevents the window motor from being driven to rotate during this period, providing a buffer and ensuring that the window motor does not rapidly switch between forward and reverse rotation when executing the window control command. This prevents the motor from experiencing excessive back electromotive force, which could lead to insufficient response or even burnout. This ensures that the window motor can execute the window control command, and consequently, that the window can respond to the window control command promptly under the control of the window motor, thereby improving the driving experience.

[0039] In some embodiments, determining the motor stop duration based on the window control command and the current state information includes... In response to the inclusion of drive command information in the current status information, the current direction of movement of the window is determined based on the drive command information; In response to the window target movement direction corresponding to the window control command being opposite to the current movement direction of the window, a stop drive command is sent to the window motor, and a preset stop duration is determined as the motor stop duration.

[0040] Specifically, when it is determined that the current status information includes drive command information, it means that the window motor is rotating under the drive command, and the drive command information includes up command information or down command information.

[0041] The current direction of movement of the window is determined based on the driving command information. The current direction of movement of the window is the direction in which the window is currently moving. For example, when the driving command information is an upward command, the current direction of movement of the window determined based on this driving command information is an upward direction. When the driving command information is a downward command, the current direction of movement of the window determined based on this driving command information is a downward direction.

[0042] Then, the target movement direction of the window is determined based on the window control command. The target movement direction of the window is the direction in which the window will move under the drive of the window control command. For example, when the window control command is an upward command, the target movement direction of the window determined based on the window control command is an upward direction. When the window control command is a downward command, the target movement direction of the window determined based on the window control command is a downward direction.

[0043] When it is determined that the target movement direction of the window corresponding to the window control command is opposite to the current movement direction of the window, a stop drive command is sent to the window motor. At this time, the window motor no longer rotates under the drive command, and the window motor stops rotating or continues to decelerate under inertia until it stops rotating.

[0044] Then, a preset stop duration is determined as the motor stop duration. This preset stop duration is the time required for the window motor to completely stop rotating after receiving a stop drive command, as determined based on actual testing experience. For example, the preset stop duration is 200ms or 250ms.

[0045] The preset stop time is determined as the motor stop time. When the timed duration reaches the motor stop time, it means that the duration for which the window motor receives the window drive command has reached the motor stop time. It further means that the duration for which the window motor receives the stop drive command has reached the preset stop time. At this point, it is ensured that the window motor is in a stationary state and no longer continues to rotate.

[0046] If no new control command is received during this process, the window motor is controlled to execute the window control command. At this point, the window motor starts executing the window control command from a stationary state, rotating forward or backward according to the window control command. This ensures that the window motor can effectively execute the window control command and prevents rapid switching between forward and reverse rotation. This prevents the motor from experiencing excessive back electromotive force, which could lead to insufficient response or even burn out. Ensuring that the window motor can execute the window control command guarantees that the window responds promptly under the control of the window motor, thereby improving the driving experience.

[0047] In practice, it is assumed that the preset stop time is 200ms.

[0048] When the window is in its middle upward stroke (i.e., the current status information includes a drive command that is an upward command, and the current direction of window movement corresponding to the upward command is upward), a downward command is received (i.e., the window control command is a downward command, and the target direction of window movement corresponding to the downward command is downward). At this time, the target direction of window movement is opposite to the current direction of window movement. To prevent the motor from burning out due to excessive back electromotive force, a control command is sent to stop the motor for 200ms. If a new upward command is received during the 200ms period, the 200ms timer is interrupted, and the motor is immediately controlled to rise; if no new upward command is received when the 200ms period expires, a downward command is sent to the window motor to control the window to fall.

[0049] When the window is descending in its middle travel (i.e., the current status information includes a descent command, and the current direction of window movement is downward), an ascending command is received (i.e., the window control command is an ascending command, and the target direction of window movement is upward). At this point, the target direction of window movement is opposite to the current direction of window movement. To prevent excessive back electromotive force from burning out the motor, a control command is sent to stop the motor for 200ms. If a new descent command is received during the 200ms period, the 200ms timer is interrupted, and the motor is immediately controlled to descend. If no new descent command is received by the time 200ms arrives, an ascending command is sent to the window motor to control the window to rise.

[0050] In this application, when the target movement direction of the window corresponding to the window control command is opposite to the current movement direction of the window, a stop drive command is sent to the window motor, and a preset stop duration is determined as the motor stop duration. Only after the timed duration reaches the motor stop duration is the window motor driven to execute the window control command. Thus, the motor stop duration is the time difference between the actual execution time of the window control command and the time of receiving the window control command. During this time difference, the motor is no longer driven to rotate, but gradually decelerates to a stop based on its own inertia. In this way, when the window motor executes the window control command, it starts from a stationary state to rotate forward or in reverse, without rapid switching between forward and reverse rotation. This ensures that the motor will not have excessive back electromotive force, which could cause the motor to fail to respond quickly or even burn out. This ensures that the window motor can execute the window control command, and thus ensures that the window can respond to the window control command in a timely manner under the control of the window motor, thereby improving the driving experience.

[0051] In some embodiments, determining the motor stop duration based on the window control command and the current state information includes: Since the current state information does not include drive command information, the current position of the window is determined based on the current Hall count. The duration of motor stoppage is determined based on the current position of the vehicle window.

[0052] Specifically, when the current status information does not include drive command information, it means that the drive motor is not rotating under the drive command. In this case, the drive motor may be in two states: one is completely stopped rotating, and the other is rotating slowly due to inertia or rotating due to the movement of the car window under its own gravity. Different situations correspond to different motor stop times.

[0053] Therefore, the current position of the window is determined based on the current Hall effect count. The current Hall effect count represents the current number of rotations of the window motor. Based on this current number of rotations and the window movement distance corresponding to each rotation, the current position of the window can be determined. Then, based on the current position of the window, the duration of motor stop is determined.

[0054] In this application, when the current status information does not include drive command information, the current position of the window is determined, and different motor stop durations are determined based on different current window positions to ensure that the determined motor stop duration is adapted to the current window position, thereby improving the accuracy and operability of the determined motor stop duration.

[0055] In some embodiments, determining the motor stop duration based on the current position of the window includes: In response to the fact that the current position of the window is between a preset soft stop point and a preset hard stop point, the target Hall count corresponding to the preset hard stop point is determined; The motor stop duration is determined based on the target Hall count and the current Hall count.

[0056] Specifically, during window control, when the window descends to the bottom, to prevent a loud impact noise, the window controller sends a stop command to the window motor when the window reaches a preset soft stop point. After receiving the stop command, the window motor is no longer driven to rotate. At this time, the movement of the window from the preset soft stop point to the preset hard stop point relies on the window's own weight and the inertial rotation of the window motor. When the window reaches the preset hard stop point, the window motor stops rotating and is in a stationary state.

[0057] The preset hard stop point is a pre-defined mechanical stop point at which the window reaches its lowest point, forcibly preventing the window from moving further downwards. The preset soft stop point is a non-mechanical stop point set before the hard stop point, used to indicate a marker point where a stop command can be sent when controlling the window to descend. The distance between the preset soft stop point and the preset hard stop point is determined based on actual vehicle calibration.

[0058] When the current position of the window is determined to be between the preset soft stop point and the preset hard stop point, it means that the window controller has sent a stop command to the window motor. At this time, the window motor is rotating based on inertia or under the traction of the window's own weight.

[0059] At this point, the target Hall count corresponding to the preset hard stop point is determined. This target Hall count is the Hall count that has been calibrated in advance during the actual vehicle test.

[0060] Based on the target Hall count and the current Hall count, the motor stop duration is determined. Specifically, the difference between the target Hall count and the current Hall count is determined as the count difference. Based on a pre-calibrated relationship curve or relationship library between Hall counts and practice, the time required for the change value of the motor's Hall count to reach the count difference is determined, and this time is determined as the motor stop duration.

[0061] In other words, after the motor stops for a certain period of time, the Hall count of the window motor will change to the target Hall count, meaning that the window has reached the preset hard stop point under the drive of the window motor, and at this time the window motor has also decelerated to a stationary state.

[0062] Thus, when the timing reaches the motor's stop time and no new control command is received, the window motor will start rotating forward or backward from a stationary state when executing the window control command, ensuring that the window motor can effectively execute the window control command.

[0063] In practice, when the window descends to the bottom, a stop command is sent upon reaching a preset soft stop point to prevent a loud impact noise. The window relies on its gravity and inertia to travel between the preset soft stop point and the preset hard stop point. If the window receives a new upward command between the preset soft stop point and the preset hard stop point, the new upward command is executed after the motor reaches the hard stop point (i.e., after the actual Hall count of the window motor reaches the target Hall count corresponding to the preset hard stop point). If it is a downward command, it is not considered.

[0064] In this application, when the current position of the car window is between a preset soft stop point and a preset hard stop point, the target Hall count corresponding to the preset hard stop point is determined. Based on the target Hall count and the current Hall count, the motor stop duration is determined. This makes the determined motor stop duration more consistent with the actual situation of the motor and the actual position of the car window, thereby improving the accuracy of the car window motor control.

[0065] In some embodiments, determining the motor stop duration based on the current position of the window includes: In response to the fact that the current position of the car window is at a preset vertex, the first arrival time of the car window to the preset vertex is obtained; In response to the first arrived duration being less than or equal to a preset instruction clear duration, the motor stop duration is determined based on the first arrived duration, the preset instruction clear duration, and the preset buffer duration.

[0066] Specifically, the preset vertex is the preset position where the car window reaches its highest point.

[0067] In current car window control, once the window reaches a preset top, the window motor will stop rotating. At this time, the window motor will continue to rotate due to inertia, but since it has reached the top and cannot move further, the window motor will stall, and a stall flag will be generated.

[0068] After the stall continues for a certain period of time (i.e. the preset instruction clearing time), in order to make the subsequent instructions more accurate, the stall will be cleared. When the stall is cleared, all instructions received before the stall is cleared will be cleared. Therefore, the duration after the window reaches the preset peak is closely related to the instructions that the window can execute.

[0069] Therefore, in this application, when the current position of the car window is at a preset vertex, the first arrival time of the car window reaching the preset vertex is obtained, and the first arrival time is the duration after the car window has reached the preset vertex.

[0070] Then, determine the relationship between the first elapsed time and the preset command clearing time. The preset command clearing time is the stall duration between the preset window reaching the preset peak and the command to clear all windows.

[0071] When the first elapsed duration is less than or equal to the preset instruction clearing duration, it means that the duration after the window has reached the preset peak has not yet reached the preset instruction clearing duration. Since there will be subsequent instruction clearing operations, it is necessary to determine the motor stop duration based on the first elapsed duration, the preset instruction clearing duration, and the preset buffer duration to ensure that the window motor can be successfully driven to execute the window control command after the motor stops for the specified duration.

[0072] When the first elapsed duration exceeds the preset instruction clearing duration, it means that the duration after the window has reached the preset peak has exceeded the preset instruction clearing duration. At this time, the instruction clearing operation has been completed. That is, the time when the window controller sends the window control instruction to the window motor is after the preset instruction clearing duration. The clearing instruction did not clear the window control instruction, and the stall duration of the window motor has also reached the preset duration (i.e., the preset instruction clearing duration). At this time, the window motor can be directly controlled to execute the window control instruction.

[0073] In this application, when the current position of the window is at a preset vertex, different control commands are executed based on the different first arrival times of the window to the preset vertex, so as to ensure that the window motor can be successfully driven to execute the window control command after the motor stops for a certain period of time.

[0074] In some embodiments, determining the motor stop duration based on the first elapsed duration, the preset instruction clearing duration, and the preset buffer duration includes: The difference between the preset instruction clearing time and the first elapsed time is determined as the time difference; The sum of the time difference and the preset buffer duration is determined as the motor stop duration.

[0075] Specifically, the difference between the preset instruction clearing time and the first reached time is determined as the time difference. The sum of the time difference and the preset buffer time is determined as the motor stop time. Thus, when the timed duration reaches the motor stop time, the total time after the window reaches the preset peak is the sum of the first reached time, the time difference, and the preset buffer time. Therefore, when the total time after the window reaches the preset peak reaches the sum of the first reached time and the time difference (i.e., the preset buffer time), the instruction clearing operation has been performed. After the window continues to be at the preset peak for the preset buffer time, the window motor is controlled to execute the window operation instruction. This ensures that the window operation execution will not be cleared and that the window motor is in a non-rotating state, ensuring that the window motor can smoothly execute the window operation instruction.

[0076] The preset cache duration is the preset stop time of the window motor after the execution command clears the operation.

[0077] For example, the first arrival time is 5ms, the preset execution clearing time is 20ms, and the preset cache time is 10ms.

[0078] Since the current position of the window is at a preset apex, and the first elapsed time is less than the preset command clearing time, the difference between the preset command clearing time of 20ms and the first elapsed time of 5ms, i.e., 15ms, is determined as the time difference. The sum of the time difference of 15ms and the preset buffer time of 10ms is determined as the motor stop time of 25ms. When the timed duration reaches the motor stop time of 25ms, it ensures that the window motor can be successfully controlled to execute the window control command. In this application, the difference between the preset instruction clearing time and the first elapsed time is determined as the time difference; the sum of the time difference and the preset buffer time is determined as the motor stop time. This ensures that the window operation execution is not cleared and that the window motor is in a non-rotating state. It also ensures that when the window motor executes the window operation instruction, it starts from a stationary state and rotates forward or backward, without rapid switching between forward and reverse rotation. This prevents the motor from having an excessively large back electromotive force, which could cause the motor to fail to respond quickly or even burn out. This ensures that the window motor can execute the window control instruction, and that the window can respond to the window control instruction in a timely manner under the control of the window motor, thereby improving the driving experience.

[0079] In some embodiments, the step of controlling the window motor to execute the window control command in response to the timing duration reaching the motor stop duration and no new control command being received includes: In response to the timing duration reaching the time difference value, all received instructions, including the window control instructions, are cleared; In response to the timing reaching the motor stop time and no new control command being received, the window control command is resent to the window motor; The window motor is controlled to execute the window control commands.

[0080] Specifically, when the duration of the timing reaches the time difference value, that is, when the total time for the window to reach the preset peak has reached the preset instruction clearing time, all received instructions are cleared, including the window control instructions, to ensure the effective and accurate execution of subsequent control instructions of the window motor.

[0081] The timing continues. When the timing duration reaches the motor stop duration, it means that the total time for the window to reach the preset peak has reached the sum of the preset instruction clearing duration and the preset buffer duration. At this time, the window motor is in a non-rotating state, and all instructions received by the window motor are cleared.

[0082] During this process, if no new control command is received, the window control command is resent to the window motor. This ensures that the window control command is not lost due to command clearing. At this time, it is ensured that the window control command can be received normally by the window motor. Then, the window motor is controlled to execute the window control command, ensuring that the window control command can be successfully executed. The window motor can accurately respond to the window control command, improving the accuracy of command execution in stall conditions.

[0083] In practice, assuming the window control command is a down command, the window has already risen to the preset top position under the drive of the up command, and the window motor is in a stalled state to generate a stall flag, then different motor stop durations can be determined based on the different timing of receiving the window control command.

[0084] See Figure 2 As shown, in this scenario, when the motor reaches the preset peak under the drive of the ascending command, it receives the descending command. Only after receiving the descending command does the motor stall, generating a stall flag. This situation should theoretically not occur, but it may happen in special fault situations. In this case, the first elapsed time since the window position reached the preset peak is obtained (at this point, the first elapsed time is 0). As described above, based on the first elapsed time, the preset command clearing time, and the preset buffer time, the motor stopping time is determined. After the timer reaches this stopping time, the motor is then driven to execute the descending command.

[0085] See Figure 3 As shown, in this scenario, when the motor reaches the preset peak under the drive of the ascending command, it receives the descending command and simultaneously stalls, generating a stall flag. At this point, the first elapsed time (when the window position has reached the preset peak is 0) is obtained. As described above, based on the first elapsed time, the preset command clearing time, and the preset buffer time, the motor stopping time is determined. After the timer reaches this motor stopping time, the motor is driven to execute the descending command again.

[0086] See Figure 4 As shown, in this scenario, when the motor reaches the preset peak under the drive of the ascending command, the motor stalls. After the motor stalls for a certain period, a descending command is received. At this time, the first elapsed time since the window position reached the preset peak is obtained (the first elapsed time is not 0 at this point). As described above, based on the first elapsed time, the preset command clearing time, and the preset buffer time, the motor stop time is determined. After the timer reaches the motor stop time, the motor is driven to execute the descending command again.

[0087] See Figure 5 As shown, in this scenario, when the motor reaches the preset peak under the drive of the ascending command, the motor stalls. After the motor stalls for a certain period, a descending command is received. At this time, the first elapsed time since the window position reached the preset peak is obtained (the first elapsed time is not 0 at this point). As described above, based on the first elapsed time, the preset command clearing time, and the preset buffer time, the motor stop time is determined. After the timer reaches the motor stop time, the motor is driven to execute the descending command again.

[0088] See Figure 6 As shown, in this scenario, when the motor is rising under the drive of the upward command, it receives a downward command. Since the downward command is the opposite of the upward command, a stop drive command is sent to the window motor, controlling it to stop and setting a preset stop duration as the motor's stop time. After the preset stop time has elapsed, the window motor is driven to descend again. If the motor stalls during the descent process, possibly due to an obstacle or malfunction, a stop drive command is sent to the window motor to stop it.

[0089] It is worth noting that in this application, when the current position of the window is at the preset vertex, the method described in this application will only be executed when the received window control command is a down command. When the received window control command is an up command, the command is considered invalid by default, and the drive motor will not perform any operation (because it is impossible to continue controlling the window to rise).

[0090] Similarly, when the current position of the window is between the preset soft stop point and the preset hard stop point or at the preset hard stop point, the method described in this application will only be executed if the received window control command is an upward command. When the received window control command is a downward command, the command is considered invalid by default, and the drive motor will not perform any operation (because it cannot continue to control the window to descend).

[0091] In some embodiments, determining the motor stop duration based on the current position of the window includes: In response to the fact that the current position of the window is between a preset soft stop point and a preset vertex, the second arrival time of the window to the current position is obtained; In response to the second elapsed time being less than the preset stop time, the previous drive command executed by the window motor is obtained; In response to the window target movement direction corresponding to the window control command being opposite to the window movement direction corresponding to the previous drive command, the difference between the preset stop time and the second reached time is determined as the motor stop time.

[0092] Specifically, when determining the motor's stop time based on the current position of the window, if the current position of the window is between a preset soft stop point and a preset apex, it indicates that the window is in the middle position and the window motor is not being driven to rotate. At this time, the window motor may be rotating slowly due to inertia, or it may have stopped rotating completely. Therefore, the second elapsed time for the window to reach the current position is obtained, which is the duration for which the window motor has not been driven to rotate.

[0093] When the second elapsed time is less than the preset stop time, it means that the window motor has not been driven to rotate for the time before the preset stop time is reached, and the window motor is still slowly rotating based on inertia. If a drive operation opposite to the previous control command is executed at this time, the window motor will need to switch quickly between forward and reverse rotation, which may lead to untimely response.

[0094] Therefore, when the previous drive command executed by the window motor is obtained, and it is determined that the window target movement direction corresponding to the window control command is opposite to the window movement direction corresponding to the previous drive command, the difference between the preset stop time and the second reached time is determined as the motor stop time.

[0095] Thus, when the timing reaches the motor's stop time, the window motor has actually been stopped for the preset stop time, indicating that it is now completely stationary. Controlling the window motor to execute the window control command at this point is equivalent to the window motor starting from a stationary state and executing the command, rotating forward or backward according to the command. This ensures the window motor can effectively execute the window control command and prevents rapid switching between forward and reverse rotation, thus preventing excessive back electromotive force that could cause the motor to fail to respond quickly or even burn out. This ensures the window motor can execute the window control command, and consequently, the window can respond promptly under the motor's control, improving the driving experience.

[0096] It should be noted that the method in this embodiment can be executed by a single device, such as a computer or server. The method can also be applied in a distributed scenario, where multiple devices cooperate to complete the task. In such a distributed scenario, one of these devices may execute only one or more steps of the method in this embodiment, and the multiple devices will interact with each other to complete the method described.

[0097] It should be noted that some embodiments of this application have been described above. In some cases, the actions or steps described in the above embodiments can be performed in a different order than that shown in the above embodiments and the desired result can still be achieved. In addition, the processes depicted in the accompanying drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0098] Based on the same inventive concept, corresponding to any of the above embodiments, this application also provides a control device for a car window motor.

[0099] refer to Figure 7 The control device for the window motor includes: The acquisition module 100 is configured to, in response to receiving a window control command, send the window control command to the window motor, acquire the current status information of the window motor, and start timing; The determining module 200 is configured to determine the motor stop duration based on the window control command and the current status information; The execution module 300 is configured to control the window motor to execute the window control command in response to the timing duration reaching the motor stop duration and no new control command being received.

[0100] In some embodiments, the determining module 200 is further configured to: In response to the inclusion of drive command information in the current status information, the current direction of movement of the window is determined based on the drive command information; In response to the window target movement direction corresponding to the window control command being opposite to the current movement direction of the window, a stop drive command is sent to the window motor, and a preset stop duration is determined as the motor stop duration.

[0101] In some embodiments, the current state information includes the current Hall count.

[0102] In some embodiments, the determining module 200 is further configured to: Since the current state information does not include drive command information, the current position of the window is determined based on the current Hall count. The duration of motor stoppage is determined based on the current position of the vehicle window.

[0103] In some embodiments, the determining module 200 is further configured to: In response to the fact that the current position of the window is between a preset soft stop point and a preset hard stop point, the target Hall count corresponding to the preset hard stop point is determined; The motor stop duration is determined based on the target Hall count and the current Hall count.

[0104] In some embodiments, the determining module 200 is further configured to: In response to the fact that the current position of the car window is at a preset vertex, the first arrival time of the car window to the preset vertex is obtained; In response to the first arrived duration being less than or equal to a preset instruction clear duration, the motor stop duration is determined based on the first arrived duration, the preset instruction clear duration, and the preset buffer duration.

[0105] In some embodiments, the determining module 200 is further configured to: The difference between the preset instruction clearing time and the first elapsed time is determined as the time difference; The sum of the time difference and the preset buffer duration is determined as the motor stop duration.

[0106] In some embodiments, the execution module 300 is further configured to: In response to the timing duration reaching the time difference value, all received instructions, including the window control instructions, are cleared; In response to the timing reaching the motor stop time and no new control command being received, the window control command is resent to the window motor; The window motor is controlled to execute the window control commands.

[0107] In some embodiments, the determining module 200 is further configured to: In response to the fact that the current position of the window is between a preset soft stop point and a preset vertex, the second arrival time of the window to the current position is obtained; In response to the second elapsed time being less than the preset stop time, the previous drive command executed by the window motor is obtained; In response to the window target movement direction corresponding to the window control command being opposite to the window movement direction corresponding to the previous drive command, the difference between the preset stop time and the second reached time is determined as the motor stop time.

[0108] For ease of description, the above devices are described in terms of function, divided into various modules. Of course, in implementing this application, the functions of each module can be implemented in one or more software and / or hardware.

[0109] The apparatus described above is used to implement the control method of the corresponding window motor in any of the foregoing embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0110] Based on the same inventive concept, corresponding to the methods of any of the above embodiments, this application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the control method of the window motor described in any of the above embodiments.

[0111] Figure 8This embodiment illustrates a more specific hardware structure of an electronic device. The device may include a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, memory 1020, input / output interface 1030, and communication interface 1040 are interconnected internally via the bus 1050.

[0112] The processor 1010 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.

[0113] The memory 1020 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1020 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program code is stored in the memory 1020 and is called and executed by the processor 1010.

[0114] The input / output interface 1030 is used to connect input / output modules to realize information input and output. Input / output modules can be configured as components within the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Input devices may include keyboards, mice, touchscreens, microphones, various sensors, etc., while output devices may include displays, speakers, vibrators, indicator lights, etc.

[0115] The communication interface 1040 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).

[0116] Bus 1050 includes a pathway for transmitting information between various components of the device, such as processor 1010, memory 1020, input / output interface 1030, and communication interface 1040.

[0117] It should be noted that although the above-described device only shows the processor 1010, memory 1020, input / output interface 1030, communication interface 1040, and bus 1050, in specific implementations, the device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the above-described device may only include the components necessary for implementing the embodiments of this specification, and not necessarily all the components shown in the figures.

[0118] The electronic devices described above are used to implement the control method of the corresponding window motor in any of the foregoing embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0119] Based on the same inventive concept, corresponding to the methods of any of the above embodiments, this application also provides a non-transitory computer-readable storage medium that stores computer instructions for causing the computer to execute the control method of the window motor as described in any of the above embodiments.

[0120] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.

[0121] The computer instructions stored in the storage medium of the above embodiments are used to cause the computer to execute the control method of the window motor as described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0122] Based on the same inventive concept, corresponding to any of the above embodiments, this application also provides a computer program product, including computer program instructions. When the computer program instructions are run on a computer, the computer causes the computer to execute the control method of the car window motor as described in any of the above embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0123] Based on the same inventive concept, and corresponding to the methods of any of the above embodiments, this application also provides a vehicle, including the control device, electronic device, computer-readable storage medium, or computer program product of the window motor described in any of the above embodiments.

[0124] It is understood that before using the technical solutions of the various embodiments in this disclosure, users will be informed of the type, scope of use, and usage scenarios of the personal information involved in an appropriate manner, and user authorization will be obtained.

[0125] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose, based on the prompt message, whether to provide personal information to the software or hardware such as electronic devices, applications, servers, or storage media performing the operations of this disclosed technical solution.

[0126] As an optional but not limited implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0127] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.

[0128] Those skilled in the art should understand that the discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of this application is limited to these examples; under the concept of this application, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations of different aspects of the embodiments of this application as described above, which are not provided in detail for the sake of brevity.

[0129] Additionally, to simplify the description and discussion, and to avoid obscuring the embodiments of this application, the well-known power / ground connections to integrated circuit (IC) chips and other components may or may not be shown in the provided drawings. Furthermore, the apparatus may be shown in block diagram form to avoid obscuring the embodiments of this application, and this also takes into account the fact that the details of the implementation of these block diagram apparatuses are highly dependent on the platform on which the embodiments of this application will be implemented (i.e., these details should be fully understood by those skilled in the art). While specific details (e.g., circuits) have been set forth to describe exemplary embodiments of this application, it will be apparent to those skilled in the art that the embodiments of this application can be implemented without these specific details or with variations thereof. Therefore, these descriptions should be considered illustrative rather than restrictive.

[0130] Although this application has been described in conjunction with specific embodiments thereof, many substitutions, modifications, and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may be used with the embodiments discussed.

[0131] The embodiments of this application are intended to cover all such substitutions, modifications, and variations that fall within the broad scope of this application. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the embodiments of this application should be included within the protection scope of this application.

Claims

1. A control method for a car window motor, characterized in that, include: In response to receiving a window control command, the window control command is sent to the window motor, the current status information of the window motor is obtained, and a timer is started; Based on the window control command and the current status information, determine the motor stop duration; In response to the timing reaching the motor's stop time and no new control command being received, the window motor is controlled to execute the window control command.

2. The method according to claim 1, characterized in that, The determination of the motor stop duration based on the window control command and the current status information includes... In response to the inclusion of drive command information in the current status information, the current direction of movement of the window is determined based on the drive command information; In response to the window target movement direction corresponding to the window control command being opposite to the current movement direction of the window, a stop drive command is sent to the window motor, and a preset stop duration is determined as the motor stop duration.

3. The method according to claim 1, characterized in that, The current status information includes the current Hall count; The step of determining the motor stop duration based on the window control command and the current status information includes: Since the current state information does not include drive command information, the current position of the window is determined based on the current Hall count. The duration of motor stoppage is determined based on the current position of the vehicle window.

4. The method according to claim 3, characterized in that, Determining the motor stop duration based on the current position of the vehicle window includes: In response to the fact that the current position of the window is between a preset soft stop point and a preset hard stop point, the target Hall count corresponding to the preset hard stop point is determined; The motor stop duration is determined based on the target Hall count and the current Hall count.

5. The method according to claim 3, characterized in that, Determining the motor stop duration based on the current position of the vehicle window includes: In response to the fact that the current position of the car window is at a preset vertex, the first arrival time of the car window to the preset vertex is obtained; In response to the first arrived duration being less than or equal to a preset instruction clear duration, the motor stop duration is determined based on the first arrived duration, the preset instruction clear duration, and the preset buffer duration.

6. The method according to claim 5, characterized in that, The step of determining the motor stop duration based on the first arrived duration, the preset instruction clear duration, and the preset cache duration includes: The difference between the preset instruction clearing time and the first elapsed time is determined as the time difference; The sum of the time difference and the preset buffer duration is determined as the motor stop duration.

7. The method according to claim 6, characterized in that, The response that the duration of the timing reaches the motor's stop duration and no new control command is received, controlling the window motor to execute the window control command, including: In response to the timing duration reaching the time difference value, all received instructions, including the window control instructions, are cleared; In response to the timing reaching the motor stop time and no new control command being received, the window control command is resent to the window motor; The window motor is controlled to execute the window control commands.

8. The method according to claim 3, characterized in that, Determining the motor stop duration based on the current position of the vehicle window includes: In response to the fact that the current position of the window is between a preset soft stop point and a preset vertex, the second arrival time of the window to the current position is obtained; In response to the second elapsed time being less than the preset stop time, the previous drive command executed by the window motor is obtained; In response to the window target movement direction corresponding to the window control command being opposite to the window movement direction corresponding to the previous drive command, the difference between the preset stop time and the second reached time is determined as the motor stop time.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1 to 8.

10. A vehicle, characterized in that, Includes the electronic device as described in claim 9.