A seat position adaptive control method, system, device and storage medium
Patent Information
- Application Number
- CN202610909849.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-23
- Publication Date
- 2026-10-13
AI Technical Summary
[0003]本申请提供一种座椅位置自适应控制方法、系统、设备及存储介质,解决了现有控制方法由于霍尔信号丢失、控制器与座椅不匹配、异常断电等原因,会导致座椅位置调节不准确的技术问题
提出了一种座椅位置自适应控制方法,摒弃了单一依赖霍尔脉冲计数的粗放模式,利用电机电流超过阈值且霍尔信号停摆的特征来锁定硬堵转,即到达真实机械极限,同时利用位置临近极限但电流未超标来定义软堵转,从而建立了区分物理极限与软件逻辑极限的能力;接着,设定了硬堵转发生或连续两次同向软堵转,对应了两种核心故障场景,前者因异常断电或霍尔丢失导致的绝对位置丢失,后者则能敏锐发现因控制器与座椅不匹配或长期累积误差导致的软件软停点与硬件挡点位置冲突;最终,在判定参数偏差后,引入标定更新策略,通过驱动电机先后抵达真实的机械极限位置并重新获取脉冲数据,强制刷新存储器中的位置参数。这一过程无需人工干预,自动完成从异常检测到基准重建的全过程,确保了座椅控制的准确性。解决了现有控制方法由于霍尔信号丢失、控制器与座椅不匹配、异常断电等原因,会导致座椅位置调节不准确的技术问题。
Smart Images

Figure CN122896684A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of automotive seat control technology, specifically to a seat position adaptive control method, system, device, and storage medium. Background Technology
[0002] With the rapid development of the automotive industry and the increasing demands of consumers for driving and riding comfort, electric seats have become a standard feature in modern cars. Electric seats, driven by motors, allow for multiple degrees of freedom in adjusting the seat's fore-and-aft position, backrest angle, seat cushion height, and leg rest extension, to meet the personalized seating needs of users with different body types. In the electric seat control system, accurately acquiring the real-time position of each adjustment mechanism is fundamental to achieving precise control and a good user experience. Currently, the mainstream seat position detection solution uses Hall effect sensors mounted on the motor to output pulse signals. The controller accumulates and counts these pulses to calculate the angle or linear displacement of the motor, thereby determining the seat's current absolute or relative position. In existing technologies, controllers typically use the zero-point position, apex position, and total travel distance calibrated at the factory as the benchmark for position calculation, and rely on Hall pulse counting to maintain the accuracy of position information during normal use. Some seat control systems offer a manual calibration mode, requiring users to trigger the calibration process through a specific key operation sequence, or requiring professional diagnostic tools for after-sales personnel to perform position recalibration; these methods have the following drawbacks: (1) When the Hall signal is abnormally lost during the operation of the motor, the pulse count of the controller will generate cumulative error, causing the calculated position to gradually deviate from the actual position. However, the existing technology cannot automatically identify such deviation and correct it in time. (2) When the replacement of the seat or controller causes a mismatch between the two, the original position calibration parameters become invalid, but the existing system lacks a mechanism to automatically detect this mismatch and trigger recalibration; (3) When the user adjusts manually, if the motor stops prematurely at the wrong position due to the soft stall protection, the user needs to try many times or seek professional help to restore normal use, which is cumbersome and affects the user experience. (4) If the calibration process is interrupted due to abnormal power failure of the vehicle, the existing technology lacks an effective breakpoint resume mechanism. After the next power-on, the calibration needs to be performed from the beginning, which is inefficient and may not be able to complete the calibration due to repeated interruptions. Summary of the Invention
[0003] This application provides a seat position adaptive control method, system, device, and storage medium, which solves the technical problem that existing control methods may lead to inaccurate seat position adjustment due to reasons such as loss of Hall signals, mismatch between controller and seat, and abnormal power failure.
[0004] In a first aspect, this application provides a seat position adaptive control method, which includes: If the current signal of the seat motor exceeds the preset threshold for a preset duration and the signal of the motor Hall sensor stops changing, it is determined that a hard stall has occurred and the motor has reached its actual mechanical limit position; if the motor reaches the preset limit position and the current signal does not exceed the preset threshold, it is determined that a soft stall has occurred. If a hard stall is detected, or if the seat is manually adjusted to the same direction twice in a row and both times cause a soft stall in the motor, then the seat parameters are determined to be deviated. If the seat parameters deviate, a pre-stored calibration update strategy is executed. The calibration update strategy includes the drive motor running to the actual mechanical limit position and acquiring position data, and then calibrating and updating the seat parameters based on the position data.
[0005] In conjunction with the first aspect, in one approach, after determining that a hard stall has occurred, the method further includes determining the type of the actual mechanical limit position based on the motor's running direction at the time of the hard stall, which includes the following steps: If a hard stall occurs when the motor is running towards the zero point, it is determined that the actual mechanical zero point has been reached; if a hard stall occurs when the motor is running towards the apex, it is determined that the actual mechanical apex has been reached; the zero point direction is the direction in which the seat moves backward or downward, and the apex direction is the direction in which the seat moves forward or upward.
[0006] In conjunction with the first aspect, in one scheme, position data is obtained through incremental pulse counting. Based on the cumulative count of pulse signals, the number of pulses represents the angle or displacement of the motor rotation. Specifically, the pulse count decreases when the motor is running towards the zero point and increases when it is running towards the apex. The preset limit position and the actual mechanical limit position are both stored and compared in the form of pulse count values.
[0007] In conjunction with the first aspect, in one approach, the drive motor sequentially moves to its actual mechanical limit position and acquires position data, which includes the following steps: Control the motor to run in the first direction until the motor hard stalls in that direction. At this point, record the actual mechanical limit position corresponding to that direction as the first position data. Control the motor to run in the second direction until the motor hard stalls in that direction. At this point, record the actual mechanical limit position corresponding to that direction as the second position data. The first direction is opposite to the second direction, and they are respectively the direction towards the actual mechanical zero point and the direction towards the actual mechanical vertex.
[0008] In conjunction with the first aspect, in one approach, seat parameters are calibrated and updated based on location data, which includes the following steps: Based on the actual mechanical zero-point position data and the actual mechanical apex position data, the absolute value of the difference between the two is calculated as the total stroke. The total travel is compared with the preset calibration value. If the total travel is within the preset valid range, the first position data, the second position data, and the total travel are updated as new seat position calibration parameters. Otherwise, the original seat position calibration parameters are kept unchanged, and the calibration status indicators set when the actual mechanical limit position is reached are retained.
[0009] In conjunction with the first aspect, one approach also includes an interruption recovery strategy, which comprises the following steps: When the drive motor runs to the actual mechanical limit position and acquires position data, the current execution progress is saved as a calibration status identifier; If the calibration update strategy is interrupted abnormally, the calibration status flag will be read when the controller is powered on again, and the calibration update strategy will continue to be executed according to the saved execution progress.
[0010] In conjunction with the first aspect, one approach also includes adjusting the protection strategy, which comprises the following steps: When the motor reaches a preset limit position, a soft stall protection strategy is activated; the soft stall protection strategy includes stopping the motor in advance to prevent the current signal from exceeding the preset threshold. When executing the calibration update strategy, the soft stall protection strategy is temporarily disabled, allowing the motor to continue running beyond the preset limit position until it reaches the actual mechanical limit position. The soft stall protection strategy is restored after the seat parameters are calibrated and updated.
[0011] Secondly, this application provides a seat position adaptive control system, characterized in that it includes: The stall monitoring module is used to determine that a hard stall has occurred if the motor of the seat reaches the actual mechanical limit position, the current signal of the motor exceeds the preset threshold for a preset time, and the signal of the motor Hall sensor stops changing; if the motor reaches the preset limit position and the current signal does not exceed the preset threshold, a soft stall has occurred. The deviation monitoring module is used to determine that the seat parameters have deviated if a hard stall is detected, or if two consecutive manual adjustments in the same direction cause a soft stall in the motor. The calibration update module is used to perform a calibration update strategy if the seat parameters deviate. The calibration update strategy includes driving the drive motor to run to the actual mechanical limit position and acquiring position data, and calibrating and updating the seat parameters based on the position data.
[0012] Thirdly, this application provides a seat position adaptive control device, which includes a processor, a memory, and a seat position adaptive control program stored in the memory and executable by the processor, wherein when the seat position adaptive control program is executed by the processor, it implements the steps of a seat position adaptive control method.
[0013] Fourthly, this application provides a computer-readable storage medium storing a seat position adaptive control program, wherein when the seat position adaptive control program is executed by a processor, it implements the steps of a seat position adaptive control method.
[0014] The beneficial effects of the technical solution provided in this application include: This paper proposes an adaptive seat position control method that abandons the crude approach of solely relying on Hall pulse counting. It utilizes the characteristic of motor current exceeding a threshold and Hall signal cessation to lock in a hard stall, i.e., reaching the true mechanical limit. Simultaneously, it defines a soft stall by using the position near the limit but the current not exceeding the limit, thus establishing the ability to distinguish between physical limits and software logic limits. Next, it sets up two core fault scenarios: a hard stall or two consecutive soft stalls in the same direction. The former results in absolute position loss due to abnormal power failure or Hall signal loss, while the latter can accurately detect conflicts between software soft stop points and hardware stop points caused by controller-seat mismatch or long-term accumulated errors. Finally, after determining the parameter deviation, a calibration update strategy is introduced. By driving the motor to the true mechanical limit position and re-acquiring pulse data, the position parameters in the memory are forcibly refreshed. This process requires no manual intervention, automatically completing the entire process from anomaly detection to baseline reconstruction, ensuring the accuracy of seat control. This solves the technical problem of inaccurate seat position adjustment caused by Hall signal loss, controller-seat mismatch, and abnormal power failure in existing control methods. Attached Figure Description
[0015] Figure 1 A flowchart illustrating the adaptive seat position control method provided in this application embodiment; Figure 2 This is a schematic diagram illustrating the process of triggering a position self-update when a hard stall occurs, as provided in an embodiment of this application. Figure 3 This is a schematic diagram illustrating the process of triggering self-update upon encountering a soft stop point, as provided in an embodiment of this application. Figure 4 This is a schematic diagram of the seat position self-updating process provided in an embodiment of this application; Figure 5 This is a schematic diagram of the hardware structure of the seat position adaptive control device involved in the embodiments of this application. Detailed Implementation
[0016] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.
[0017] To make the technical problem that this application aims to solve clearer, the causes of the technical problem will be analyzed in detail below: Current seat position control technology relies on a single Hall pulse counting method for position calculation, and the position calibration parameters are basically fixed after leaving the factory, making it unable to adapt to various dynamic changes that occur during use. Specifically, the reasons for inaccurate position calculation include the following: First, the inherent unreliability of Hall effect signals leads to cumulative errors. During motor operation, Hall effect sensors may experience brief loss of pulse signals or repeated counting due to electromagnetic interference, vibration, poor wiring contact, or sensor aging. Because the controller uses incremental pulse counting, each signal loss results in a fixed offset between the current position value and the actual position. This offset accumulates with subsequent motor operation and cannot be automatically eliminated. When the accumulated error reaches a certain level, users may experience situations where the seat adjustment is interrupted before reaching the desired position or the motor continues to run even after reaching the desired position.
[0018] Second, the physical compatibility between the controller and the seat is disrupted after repair or replacement. During vehicle production or after-sales maintenance, it's common to see situations where only the seat assembly is replaced while the original controller is retained, or vice versa. Because different seats may have different mechanical travel (even the same model may vary due to manufacturing tolerances), and the controller stores calibration parameters matched to the original seat, this hardware replacement causes a discrepancy between the controller's calculated preset limit position and the actual mechanical limit position, preventing the seat from being properly adjusted to its limit position.
[0019] Third, abnormal power outages can lead to the loss of location information. Seat position information is typically stored in the controller's random access memory and written to non-volatile memory when the system is normally shut down. If a sudden power outage occurs during vehicle operation or adjustment (such as a disconnected battery or a blown fuse), the latest position data cannot be saved in time. When power is restored next time, the controller can only read the previously saved historical position data, resulting in a discrepancy between the perceived current position and the actual position.
[0020] Fourth, the soft stall protection mechanism actually exacerbates the problem when parameters deviate. The soft stall is intended as a safety mechanism to protect the motor and wiring harness, but when the position calibration parameters deviate due to the three reasons mentioned above, the soft stall will prematurely stop the motor at the incorrect position, preventing it from continuing to run to its actual mechanical limits. At this point, even if the user notices the abnormality, they cannot adjust it through normal operation. Traditional solutions require the user to manually enter a specific calibration mode or go to a service station, which is a high-barrier operation and fails to detect the deviation in a timely manner.
[0021] In a first aspect, embodiments of this application provide a seat position adaptive control method, which includes: S100. If the current signal of the seat motor exceeds the preset threshold for a preset duration and the signal of the motor Hall sensor stops changing, it is determined that a hard stall has occurred and the motor has reached the actual mechanical limit position; if the motor reaches the preset limit position and the current signal does not exceed the preset threshold, it is determined that a soft stall has occurred. S200. If the hard stall is detected, or if two consecutive manual adjustments in the same direction cause the motor to stall, it is determined that the seat parameters are deviated. S300. If the seat parameters deviate, a pre-stored calibration update strategy is executed. The calibration update strategy includes driving the motor to run to the actual mechanical limit position and acquiring position data, and calibrating and updating the seat parameters based on the position data.
[0022] This application abandons the crude approach of solely relying on Hall pulse counting. Instead, it uses the characteristic of motor current exceeding a threshold and Hall signal pausing to lock in a hard stall, i.e., reaching the true mechanical limit. Simultaneously, it defines a soft stall by utilizing the position near the limit but the current not exceeding the limit, thus establishing the ability to distinguish between physical limits and software logic limits. Next, it sets up two core fault scenarios: a hard stall or two consecutive soft stalls in the same direction. The former results in absolute position loss due to abnormal power failure or Hall signal loss, while the latter can keenly detect conflicts between software soft stop points and hardware stop points caused by controller-seat mismatch or long-term accumulated errors. Finally, after determining the parameter deviation, a calibration update strategy is introduced. By driving the motor to the true mechanical limit position and re-acquiring pulse data, the position parameters in the memory are forcibly refreshed. This process requires no manual intervention, automatically completing the entire process from anomaly detection to baseline reconstruction, ensuring the accuracy and reliability of seat control. It solves the technical problem of inaccurate seat position adjustment caused by Hall signal loss, controller-seat mismatch, and abnormal power failure in existing control methods.
[0023] Furthermore, in one embodiment, after determining that a hard stall has occurred, the method further includes determining the type of the actual mechanical limit position based on the motor's running direction when the hard stall occurs, which includes the following steps: If a hard stall occurs when the motor is running towards the zero point, it is determined that the actual mechanical zero point has been reached; if a hard stall occurs when the motor is running towards the apex, it is determined that the actual mechanical apex has been reached; the zero point direction is the direction in which the seat moves backward or downward, and the apex direction is the direction in which the seat moves forward or upward.
[0024] In this embodiment, by determining the motor's running direction when a hard stall occurs, it is clear whether the reached mechanical limit position is a zero point or a apex, thus providing accurate position type information for subsequent calibration updates. The zero point and apex directions of different seat adjustment motors (such as backrest motors, horizontal motors, and leg rest motors) are clearly defined. For example, for a backrest motor, the backward direction is the zero point direction and the forward direction is the apex direction; for a horizontal motor, the backward direction is the zero point direction and the forward direction is the apex direction; and for a leg rest motor, the downward direction is the zero point direction and the upward direction is the apex direction. Through direction determination, the system can automatically identify whether the current position is a zero point or an apex, and then plan the subsequent calibration path. For example, it can first record the reached limit position, and then drive the motor in the opposite direction to the other mechanical limit, avoiding blind operation or repeated calibration, and improving the efficiency and accuracy of the calibration process.
[0025] Furthermore, in one embodiment, the position data is obtained by incremental pulse counting. Based on the cumulative count of pulse signals, the number of pulses represents the angle or displacement of the motor rotation. The pulse count decreases when the motor is running towards the zero point and increases when it is running towards the apex. The preset limit position and the actual mechanical limit position are both stored and compared in the form of pulse count values.
[0026] In this embodiment, by employing an incremental pulse counting method and using the number of pulses as the unit of position representation, a unified quantitative benchmark is provided for seat position control, enabling the controller to accurately calculate and compare the absolute position of the motor at various moments. Taking a total stroke of 1300 pulses as an example, the zero point position is 0 pulses, and the apex position is 1300 pulses. The pulse count decreases as the motor moves towards the zero point and increases as it moves towards the apex. This counting method allows preset limit positions (such as triggering a soft stall when the distance to the zero point or apex is less than 50 pulses) and actual mechanical limit positions (such as 0 pulses or 1300 pulses recorded during a hard stall) to be stored and compared using the same pulse measurement system, avoiding conversion errors between different physical units. Simultaneously, the incremental pulse counting method matches the output characteristics of the Hall sensor, achieving position tracking without additional analog-to-digital conversion or complex algorithms. This reduces the computational burden on the controller while ensuring the accuracy of the position data, providing a quantitative basis for subsequent calibration and update strategies.
[0027] Furthermore, in one embodiment, the drive motor sequentially runs to the actual mechanical limit position and acquires position data, which includes the following steps: Control the motor to run in the first direction until the motor hard stalls in that direction. At this point, record the actual mechanical limit position corresponding to that direction as the first position data. Control the motor to run in the second direction until the motor hard stalls in that direction. At this point, record the actual mechanical limit position corresponding to that direction as the second position data. The first direction is opposite to the second direction, and they are respectively the direction towards the actual mechanical zero point and the direction towards the actual mechanical vertex.
[0028] In this embodiment, by controlling the motor to run sequentially in opposite directions to the actual mechanical limit positions and recording the position data respectively, two endpoint references are provided for calibration updates. When a hard stall triggers calibration, the system first records a limit position based on the determined stall direction (e.g., if a hard stall occurs in the zero-point direction, it is recorded as the mechanical zero point), and then controls the motor to run in the opposite direction to the mechanical limit at the other end (e.g., running towards the apex direction to the mechanical apex), thereby obtaining a complete pair of zero-point and apex position data. This bidirectional positioning strategy ensures that regardless of which end the initial hard stall occurs at, the limit position data at the other end can be completed by running in the opposite direction, avoiding the defect that the total travel cannot be calculated based on data from only one end. At the same time, using hard stall as the criterion for determining the limit position ensures that the recorded position data is the actual physical limit rather than a software estimate, laying a reliable data foundation for the subsequent calculation of the total travel and the updating of calibration parameters.
[0029] Furthermore, in one embodiment, the seat parameters are calibrated and updated based on location data, which includes the following steps: Based on the actual mechanical zero-point position data and the actual mechanical apex position data, the absolute value of the difference between the two is calculated as the total stroke. The total travel is compared with the preset calibration value. If the total travel is within the preset valid range, the first position data, the second position data, and the total travel are updated as new seat position calibration parameters. Otherwise, the original seat position calibration parameters are kept unchanged, and the calibration status indicators set when the actual mechanical limit position is reached are retained.
[0030] In this embodiment, a comparison and verification mechanism between the total stroke and the preset calibration value is introduced to add a data validity verification step to the calibration update, avoiding the risk of erroneous data being adopted due to abnormal operating conditions. The calculated total stroke is compared with the calibration value. If it is within 80% to 120% of the calibration value (e.g., if the calibration value is 1300 pulses, the effective range is 1040 to 1560 pulses), the data is considered valid, and the zero point position, vertex position, and total stroke are updated in the EEPROM as new calibration parameters, and the calibration status flag is cleared. If it is not within the effective range (e.g., due to mid-process jamming causing the stroke to be too small), the data is considered invalid, the original calibration parameters remain unchanged, and the calibration status flag is retained for continued calibration upon the next power-on. This design, on the one hand, filters out erroneous position data caused by abnormal conditions such as mechanical jamming and sensor failure through validity verification, preventing the system from being contaminated by erroneous data; on the other hand, it implements a failure retry mechanism by retaining the calibration status flag, ensuring that the calibration process can ultimately be completed successfully.
[0031] Furthermore, in one embodiment, an interruption recovery strategy is also included, which comprises the following steps: When the drive motor runs to the actual mechanical limit position and acquires position data, the current execution progress is saved as a calibration status identifier; If the calibration update strategy is interrupted abnormally, the calibration status flag will be read when the controller is powered on again, and the calibration update strategy will continue to be executed according to the saved execution progress.
[0032] In this embodiment, an interruption recovery strategy based on calibration status identifiers is introduced to ensure the integrity of the calibration update process in the event of abnormal interruption. When the drive motor reaches its actual mechanical limit position and acquires position data, the calibration status identifier (e.g., 0xAA) and the current execution progress (e.g., moving towards zero or towards the top) are written to non-volatile memory. If the calibration update strategy is interrupted due to abnormal reasons such as vehicle engine shutdown, the calibration status identifier in the non-volatile memory is read the next time the controller is powered on. If the identifier is valid, execution continues from the breakpoint according to the saved execution progress, without having to start from the beginning. This design avoids the problem of the calibration process repeatedly restarting due to abnormal interruptions, making it particularly suitable for real-world scenarios with frequent vehicle starts and stops or unstable power supply. It improves the success rate and execution efficiency of the calibration process while ensuring that the calibration update strategy can be completed under various operating conditions.
[0033] Furthermore, in one embodiment, the protection strategy is adjusted, which includes the following steps: When the motor reaches a preset limit position, a soft stall protection strategy is activated; the soft stall protection strategy includes stopping the motor in advance to prevent the current signal from exceeding a preset threshold. When executing the calibration update strategy, the soft stall protection strategy is temporarily disabled, allowing the motor to continue running beyond the preset limit position until it reaches the actual mechanical limit position. The soft stall protection strategy is restored after the seat parameters are calibrated and updated.
[0034] In this embodiment, during normal operation, when the motor reaches a preset limit position (e.g., less than 50 pulses from zero or apex), a soft stall protection strategy is activated to stop the motor early. At this point, the current is approximately 10A, which does not reach the 15A hard stall threshold, thus preventing excessive current from impacting the hardware and wiring harness. However, during calibration update, the soft stall protection is temporarily disabled, allowing the motor to continue operating beyond the preset limit position until it reaches the actual mechanical limit position. This ensures that accurate zero and apex position data can be obtained during calibration. The soft stall protection is immediately restored after the calibration update is completed. This design ensures the integrity of the soft stall protection function during daily use, preventing accelerated hardware wear due to frequent hard stalls, while flexibly removing restrictions in the specific scenario of calibration, allowing the motor to reach its true mechanical limits for accurate calibration. This balances system safety and calibration accuracy.
[0035] Reference Figure 2 After the process begins, the system first checks the stall learning flag. If the flag is 0 (indicating no learning or that the last learning was completed), it means the system is currently in a triggerable state. Soft stall is enabled and monitored; the system executes "Enable Soft Stall Function," allowing the motor to run towards its limits according to normal logic. If no hard stall occurs during this stage, the process ends and returns to normal operation. If a hard stall occurs during operation to the limit (i.e., the current exceeds 15A and the Hall signal stops changing), the system immediately sets the stall learning flag to 1. This flag locks the current abnormal state and serves as a trigger signal to initiate deep calibration.
[0036] Reference Figure 3The user manually adjusts the seat (e.g., forward, backward) using buttons, and the controller receives the button commands in real time. The system first determines whether the current adjustment command can directly drive the motor to the soft stop point (i.e., the preset limit position, less than 50 pulses away from the mechanical zero or apex). If not, it continues normal operation. When the motor runs near the soft stop point, the controller determines that the preset limit has been reached by counting pulses. At this time, the system will activate the anti-false judgment logic: First arrival: If the previous button press was invalid (first arrival), the system records the current button value and sets the "soft stop counter" to 1. If the current button press is valid and the direction is the same as the previous one, the system will determine whether the previous button value is equal to the current button value. If they are equal, the "soft stop counter" is incremented by 1; only when the soft stop counter accumulates to the set value (e.g., the judgment in the steps "soft stop counter value = 1", representing continuous triggering), does the system finally confirm that the limit has been reached. At this time, the controller achieves soft stall protection by stopping the motor in advance (current approximately 10A, not reaching the hard stall threshold), avoiding current surge. If the button direction is different from the last time, or if the soft stop counter has not reached the set value, the system determines it as normal fine-tuning, does not trigger soft stall, and returns to the process to continue monitoring.
[0037] Reference Figure 4 When the "stalling learning flag is 1", the system enters the core adaptive calibration phase. The main purpose of this phase is to recalibrate the seat's true mechanical zero point and apex. The system performs bidirectional positioning based on the running direction when a hard stall is triggered: Zero point direction calibration: If a hard stall is triggered while running towards the zero point, the system updates the current position to "mechanical zero point". If a hard stall is triggered while running towards the apex, the system updates the current position to "mechanical apex". Note: This step ensures that the true physical limit position can be recorded regardless of which end the initial trigger point is at. After completing single-end positioning, the system executes "set stall learning flag to 0" and restores the soft stall function. Subsequently, the motor runs in the opposite direction to find the mechanical limit position at the other end. When the motor successfully finds the mechanical limits at both ends, the system calculates the total travel. If the total travel is within the effective range of 80%~120% of the preset calibration value, the system updates the zero point position, apex position, and total travel in the EEPROM and clears the calibration status flag. If the total stroke is abnormal (e.g., due to jamming midway causing the stroke to be too small), the system determines the data to be invalid, keeps the original calibration parameters unchanged, retains the calibration status indicator, and waits for the next power-on to retry.
[0038] The present invention will be further described in detail below with reference to specific embodiments: Example 1: Location definition and basic concepts.
[0039] In this embodiment, the position references for each motor of the seat are defined as follows: Zero point: The direction in which the backrest motor moves backward, the direction in which the horizontal motor moves backward, and the direction in which the leg support motor moves downward are all the zero point directions of each motor. The mechanical limit position in this direction is the zero point.
[0040] Vertex: The direction in which the backrest motor moves forward, the direction in which the horizontal motor moves forward, and the direction in which the leg support motor moves upward are all the vertex directions of each motor. The mechanical limit position in this direction is the vertex.
[0041] Soft stall: When the controller determines that the motor position is close to zero or top (e.g., less than 50 pulses away) based on pulse count, but the motor has not yet reached the actual mechanical stop, the controller stops the motor in advance to prevent excessive current. The current during soft stall is approximately 10A, which does not reach the hard stall threshold (15A), thus avoiding impact on hardware and wiring harnesses.
[0042] Hard stall: When the motor actually reaches the mechanical zero point or mechanical peak, the current rises sharply, exceeding 15A and lasting for more than 100ms. At the same time, the Hall sensor signal stops changing, and the controller determines that it is a hard stall.
[0043] Position calculation uses an incremental pulse counting method: taking a total stroke of 1300 pulses as an example, the zero position is 0 pulses and the apex position is 1300 pulses. The controller calculates the current position by accumulating the Hall pulse count. When the motor moves towards the zero point, the pulse count decreases, and when it moves towards the apex, the pulse count increases.
[0044] Example 2: Hard stall trigger adaptive calibration process.
[0045] When the motor experiences a hard stall during operation, the position adaptive calibration process is triggered. The specific steps are as follows: The controller monitors the motor current and Hall signal in real time. When it detects that the motor has hard stalled, that is, the current exceeds 15A and lasts for more than 100ms, the Hall signal stops changing.
[0046] The type of hard stall is determined based on the motor's running direction. If a hard stall occurs when the motor is running towards zero, it is determined that the mechanical zero point has been reached; if a hard stall occurs when the motor is running towards the apex, it is determined that the mechanical apex has been reached.
[0047] Disabling the soft stall detection function allows the motor to continue running to the actual mechanical stop, ensuring that subsequent calibration can reach the true limit position.
[0048] The motor is controlled to run in the opposite direction, sequentially reaching the mechanical stops at the other end. For example, if a hard stall occurs at the zero point, the motor is first controlled to run towards the top to the stop, and then returned to the zero point.
[0049] Record the number of pulses at the zero point and the apex position, and calculate the total travel distance, which is the absolute value of the difference between the apex position and the zero point position.
[0050] The total travel is compared with the preset calibration value. If it is within 80% to 120% of the calibration value (for example, if the calibration value is 1300 pulses, the effective range is 1040 to 1560 pulses), the data is deemed valid. The zero position, vertices position and total travel in the EEPROM are updated, the adaptive calibration flag is cleared, and the calibration process ends.
[0051] If the total stroke is not within the valid range, the data is deemed invalid, the calibration flag is held, and calibration will continue after the next power-on.
[0052] Example 3: Adaptive calibration process triggered by soft stop point anomaly.
[0053] When a soft stop anomaly occurs, the position adaptive calibration process is triggered, and the specific steps are as follows: When the user manually adjusts the seat, the controller detects that the motor has reached a soft stop point (the position is close to zero or the top, and the distance is less than 50 pulses) based on the Hall pulse count, and stops the motor.
[0054] The user manually adjusted the motor in the same direction again, and the controller detected that the motor had reached the soft stop point again, and the position had not changed substantially.
[0055] If the controller determines that two consecutive manual adjustments encounter a soft stop point in the same direction, it indicates a positional deviation. This means that the soft stop point determined by the software is inconsistent with the actual mechanical stop point, for example, due to mismatch between the controller and the seat, causing position calibration failure.
[0056] Trigger the position adaptive calibration process, set the calibration flag, disable the soft stall detection function, and prepare to perform calibration.
[0057] The motor continues to run in the current direction. At this time, the soft stall is closed, and the motor can reach the actual mechanical zero point or the top point. Then it runs in reverse to the mechanical stop point at the other end to complete the position calibration in both directions.
[0058] Record the zero point and vertex positions, calculate the total travel distance and verify its validity, and update the position parameters.
[0059] Example 4: Blockage determination process.
[0060] The specific steps of the stall determination process are as follows: The motor current and Hall signal are monitored in real time. The current is collected through the current sampling circuit, and the Hall signal is obtained through the Hall sensor interface.
[0061] If the current exceeds 15A and lasts for more than 100ms, it is initially determined to be a current-locked rotor.
[0062] At the same time, check the Hall signal. If the Hall signal stops changing and the motor is still powered on, it is confirmed as a hard stall. If the Hall signal is still changing, it is determined to be a temporary stall and is not considered a hard stall.
[0063] If the current does not exceed 15A, but the motor position is determined to be close to the limit based on the pulse count (e.g., less than 50 pulses or greater than 1250 pulses, with 1300 as the full scale), it is determined to be a soft stall, and the motor is stopped but the adaptive calibration is not triggered.
[0064] In the event of a soft stall, the motor is stopped and held in its current position, and calibration is not triggered; in the event of a hard stall, the motor is stopped and the calibration trigger flag is set, initiating the adaptive calibration process.
[0065] Example 5: Interruption recovery mechanism.
[0066] The adaptive calibration process may be interrupted due to abnormal reasons such as vehicle shutdown. This invention provides an interruption recovery mechanism, the specific steps of which are as follows: When the adaptive calibration process starts, the calibration flag, the current execution status, and the recorded position data are written to the EEPROM. The calibration flag indicates that the calibration process is in progress, and the current execution status includes information such as whether it is moving towards the zero point or towards the vertex.
[0067] When the adaptive calibration process ends normally and the data validity verification is successful, update the position parameters in the EEPROM and clear the calibration flag and status data.
[0068] If the process is interrupted due to an abnormality such as the vehicle stalling, the controller will read the EEPROM the next time it is powered on. If the calibration flag is found to be valid, the calibration process will be automatically resumed from the saved state.
[0069] Execution can continue from the point of interruption. For example, if the zero point position has been recorded, the process can start directly from the vertex, without having to start from the beginning, thus improving calibration efficiency.
[0070] Secondly, embodiments of this application also provide a seat position adaptive control system, which includes: The stall monitoring module is used to determine that a hard stall has occurred if the motor of the seat reaches the actual mechanical limit position, the current signal of the motor exceeds a preset threshold for a preset duration, and the signal of the motor Hall sensor stops changing; and if the motor reaches the preset limit position and the current signal does not exceed the preset threshold, it is determined that a soft stall has occurred. The deviation monitoring module is used to determine that the seat parameters have deviated if a hard stall is detected, or if two consecutive manual adjustments in the same direction cause a soft stall in the motor. The calibration update module is used to perform a calibration update strategy if the seat parameters deviate. The calibration update strategy includes driving the motor to run to the actual mechanical limit position and acquiring position data, and calibrating and updating the seat parameters based on the position data.
[0071] The functions of each module in the above-mentioned adaptive seat position control system correspond to the steps in the above-mentioned adaptive seat position control method embodiment, and their functions and implementation processes will not be described in detail here.
[0072] Thirdly, embodiments of this application provide a seat position adaptive control device, which can be a personal computer (PC), laptop computer, server, or other device with data processing capabilities.
[0073] Reference Figure 5 , Figure 5 This is a schematic diagram of the hardware structure of the seat position adaptive control device involved in the embodiments of this application. In the embodiments of this application, the seat position adaptive control device may include a processor, a memory, a communication interface, and a communication bus.
[0074] The communication bus can be of any type and is used to interconnect the processor, memory, and communication interface.
[0075] The communication interface includes input / output (I / O) interfaces, physical interfaces, and logical interfaces used for interconnecting components within the seat position adaptive control device, as well as interfaces used for interconnecting the seat position adaptive control device with other devices (such as other computing devices or user equipment). Physical interfaces can be Ethernet interfaces, fiber optic interfaces, ATM interfaces, etc.; user equipment can be displays, keyboards, etc.
[0076] Memory can be various types of storage media, such as random access memory (RAM), read-only memory (ROM), non-volatile RAM (NVRAM), flash memory, optical storage, hard disk, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), etc.
[0077] The processor can be a general-purpose processor, which can call the seat position adaptive control program stored in the memory and execute the seat position adaptive control method provided in the embodiments of this application. For example, the general-purpose processor can be a central processing unit (CPU). The method executed when the seat position adaptive control program is called can be referred to in the various embodiments of the seat position adaptive control method of this application, and will not be repeated here.
[0078] Those skilled in the art will understand that Figure 5 The hardware structure shown does not constitute a limitation of this application and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0079] Fourthly, embodiments of this application also provide a computer-readable storage medium.
[0080] The present application has a computer-readable storage medium storing a seat position adaptive control program, wherein when the seat position adaptive control program is executed by a processor, it implements the steps of the seat position adaptive control method as described above.
[0081] The method implemented when the seat position adaptive control program is executed can be referred to in various embodiments of the seat position adaptive control method of this application, and will not be repeated here.
[0082] It should be noted that the sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0083] The terms "comprising" and "having," and any variations thereof, in the specification, claims, and accompanying drawings of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus. The terms "first," "second," and "third," etc., are used to distinguish different objects, etc., and do not indicate a sequence, nor do they limit "first," "second," and "third" to different types.
[0084] In the description of the embodiments of this application, terms such as "exemplary," "for example," or "for instance" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplary," "for example," or "for instance" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary," "for example," or "for instance" is intended to present the relevant concepts in a concrete manner.
[0085] In the description of the embodiments of this application, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. The "and / or" in the text is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the embodiments of this application, "multiple" means two or more.
[0086] In some processes described in the embodiments of this application, multiple operations or steps are included in a specific order. However, it should be understood that these operations or steps may not be executed in the order they appear in the embodiments of this application, or they may be executed in parallel. The sequence number of the operation is only used to distinguish different operations, and the sequence number itself does not represent any execution order. In addition, these processes may include more or fewer operations, and these operations or steps may be executed sequentially or in parallel, and these operations or steps may be combined.
[0087] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes several instructions to cause a terminal device to execute the methods described in the various embodiments of this application.
[0088] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A seat position adaptive control method, characterized in that, It includes: If the current signal of the seat motor exceeds the preset threshold for a preset duration and the signal of the motor Hall sensor stops changing, it is determined that a hard stall has occurred and it is confirmed that the motor has reached the actual mechanical limit position. If the motor reaches the preset limit position and the current signal does not exceed the preset threshold, it is determined that a soft stall has occurred. If a hard stall is detected, or if the seat is manually adjusted to the same direction twice consecutively and both times cause the motor to experience a soft stall, then it is determined that the seat parameters are deviated. If the seat parameters deviate, the pre-stored calibration update strategy will be executed; The calibration update strategy includes driving the motor to run to the actual mechanical limit position and acquiring position data, and calibrating and updating the seat parameters based on the position data.
2. The seat position adaptive control method as described in claim 1, characterized in that, After determining that a hard stall has occurred, the method further includes determining the type of the actual mechanical limit position based on the motor's running direction when the hard stall occurs, which includes the following steps: If a hard stall occurs when the motor is running towards the zero point, it is determined that the actual mechanical zero point has been reached; if a hard stall occurs when the motor is running towards the apex, it is determined that the actual mechanical apex has been reached; the zero point direction is the direction in which the seat moves backward or downward, and the apex direction is the direction in which the seat moves forward or upward.
3. The seat position adaptive control method as described in claim 2, characterized in that, The position data is obtained through incremental pulse counting. The pulse count is accumulated based on the pulse signal, and the number of pulses represents the angle or displacement of the motor rotation. The pulse count decreases when the motor is running towards the zero point and increases when it is running towards the apex. The preset limit position and the actual mechanical limit position are both stored and compared in the form of pulse count values.
4. The seat position adaptive control method as described in claim 2, characterized in that, The drive motor is driven to its actual mechanical limit position and position data is acquired sequentially. This process includes the following steps: Control the motor to run in the first direction until the motor hard stalls in that direction. At this point, record the actual mechanical limit position corresponding to that direction as the first position data. Control the motor to run in the second direction until the motor hard stalls in that direction. At this point, record the actual mechanical limit position corresponding to that direction as the second position data. The first direction is opposite to the second direction, and is respectively the direction toward the actual mechanical zero point and the direction toward the actual mechanical apex.
5. The seat position adaptive control method as described in claim 4, characterized in that, Based on the location data, the seat parameters are calibrated and updated, which includes the following steps: Based on the actual mechanical zero-point position data and the actual mechanical apex position data, the absolute value of the difference between the two is calculated as the total stroke. The total travel is compared with a preset calibration value. If the total travel is within a preset valid range, the first position data, the second position data, and the total travel are updated as new seat position calibration parameters. Otherwise, the original seat position calibration parameters are kept unchanged, and the calibration status indicators set when the actual mechanical limit position is reached are retained.
6. The seat position adaptive control method as described in claim 5, characterized in that, It also includes an interruption recovery strategy, which comprises the following steps: When the drive motor runs to the actual mechanical limit position and acquires position data, the current execution progress is saved as a calibration status identifier; If the calibration update strategy is interrupted abnormally, the calibration status flag will be read when the controller is powered on again, and the calibration update strategy will continue to be executed according to the saved execution progress.
7. The seat position adaptive control method as described in claim 1, characterized in that, It also includes adjusting the protection strategy, which includes the following steps: When the motor reaches the preset limit position, a soft stall protection strategy is activated; wherein, the soft stall protection strategy includes stopping the motor in advance to prevent the current signal from exceeding the preset threshold. When executing the calibration update strategy, the soft stall protection strategy is temporarily disabled, allowing the motor to continue running beyond the preset limit position until it reaches the actual mechanical limit position. The soft stall protection strategy is then restored after the seat parameters are calibrated and updated.
8. A seat position adaptive control system, characterized in that, It includes: The stall monitoring module is used to determine that a hard stall has occurred if the motor of the seat reaches the actual mechanical limit position, the current signal of the motor exceeds the preset threshold for a preset time, and the signal of the motor Hall sensor stops changing. If the motor reaches the preset limit position and the current signal does not exceed the preset threshold, it is determined that a soft stall has occurred. The deviation monitoring module is used to determine that the seat parameters have deviated if the hard stall is detected, or if two consecutive manual adjustments in the same direction cause the motor to experience the soft stall. The calibration update module is used to implement a calibration update strategy if the seat parameters deviate. The calibration update strategy includes driving the motor to run to the actual mechanical limit position and acquiring position data, and calibrating and updating the seat parameters based on the position data.
9. A seat position adaptive control device, characterized in that, The seat position adaptive control device includes a processor, a memory, and a seat position adaptive control program stored in the memory and executable by the processor, wherein when the seat position adaptive control program is executed by the processor, it implements the steps of the seat position adaptive control method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a seat position adaptive control program, wherein when the seat position adaptive control program is executed by a processor, it implements the steps of the seat position adaptive control method as described in any one of claims 1 to 7.