Motor brake control method and device and motor control system
By identifying and judging the actual braking state of the motor, and combining it with the detection of drive waveform data, precise control of motor braking and stopping is achieved, solving the problem of inaccurate motor braking logic in existing technologies, and improving user experience and control efficiency.
Patent Information
- Application Number
- CN202511724933.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-21
- Publication Date
- 2026-02-17
- Estimated Expiration
- 2045-11-21
AI Technical Summary
In existing technologies, the stopping control logic of motor brakes is not precise enough, resulting in poor motor vibration stopping effect and lag in vibration response, especially in dynamic real-time braking cycle scenarios where there is a lack of effective solutions.
By identifying the drive waveform data, it is determined whether the actual braking state of the motor meets the ideal braking state, and it is confirmed whether to continue detecting the first data in the drive waveform data. The second braking waveform can be output or the first braking waveform can be stopped to achieve precise control of the motor to stop braking.
It improves the accuracy and reliability of motor brake control, ensures efficient connection between motor brake and drive control, and enhances the user experience.
Smart Images

Figure CN121546947A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of motor control technology, and in particular to a motor braking control method, apparatus, storage medium, and motor control system. Background Technology
[0002] In consumer electronics, industrial control, and smart devices, motors, as core actuators, directly determine device performance and user experience through precise control of their operating status. For example, in the linear motor haptic feedback system of a smartphone, the motor needs to respond quickly to touch commands and generate subtle vibrations; after the vibration ends, a braking mechanism is needed to quickly stop the motor from vibrating, thus enhancing the user's haptic experience. Therefore, improving the control precision of the motor during the braking phase is one of the core requirements of motor drive technology.
[0003] However, related technologies only clarify the starting logic of motor braking, without providing an effective solution for the crucial aspect of "how to stop the motor braking." In practical applications, the control logic for stopping the brake directly affects the effectiveness of stopping the motor's vibration and the efficiency of the connection between the motor stopping vibration and its subsequent restart.
[0004] Therefore, there is an urgent need for a technical solution that can precisely control the motor braking and stopping to improve the user's interactive experience. Summary of the Invention
[0005] In view of this, the present disclosure provides a motor braking control scheme that can achieve dynamic control of the timing of motor braking and stopping, thereby improving the user experience.
[0006] According to a first aspect of this disclosure, a motor braking control method is provided, comprising: identifying drive waveform data; in response to detecting first data in the drive waveform data, outputting a first braking waveform corresponding to the first data; determining whether the actual braking state of the motor meets the ideal braking state and confirming whether to continue detecting the first data in the drive waveform data, and selecting to output a second braking waveform or stop outputting the first braking waveform.
[0007] According to a second aspect of this disclosure, a motor braking control device is provided, comprising: a data identification module configured to identify drive waveform data; a brake initiation module configured to output a first braking waveform corresponding to the first data in response to detecting first data in the drive waveform data; and a brake stop module configured to determine whether the actual braking state of the motor meets the ideal braking state and to confirm whether to continue detecting the first data in the drive waveform data, and to select to output a second braking waveform or stop outputting the first braking waveform.
[0008] According to a third aspect of this disclosure, a motor control system is provided, including a controller, a motor drive chip, and a motor. The motor drive chip is connected to the controller and the motor and is configured to: acquire drive waveform data from the controller, and output a braking waveform to the motor or stop outputting a braking waveform by executing a motor braking control method as described in the first aspect, so as to control the motor to start braking or control the motor to stop braking.
[0009] According to a fourth aspect of this disclosure, an electronic device is provided, comprising: a processor, a communication interface, a memory, and a bus, wherein the processor, the communication interface, and the memory communicate with each other via the bus; the memory is used to store at least one executable instruction that causes the processor to perform an operation corresponding to the method described in the first aspect.
[0010] According to a fifth aspect of this disclosure, a computer-readable storage medium is provided that stores computer instructions that, when executed by a processor, cause the processor to perform the method as described in the first aspect.
[0011] The motor braking control schemes provided in the embodiments of this disclosure improve the braking control effect of the motor by combining the determination of whether the actual braking state of the motor meets the ideal braking state and the confirmation of whether the first data in the drive waveform data is continuously detected, thereby controlling the braking stop timing of the motor. This also ensures efficient connection between motor braking control and motor drive control, and enhances the user experience. Attached Figure Description
[0012] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings.
[0013] Figure 1 This is a structural diagram of a motor control system suitable for implementing the motor braking control method of the exemplary embodiments of this disclosure.
[0014] Figure 2 This is a flowchart illustrating a motor brake control method as an exemplary embodiment of the present disclosure.
[0015] Figures 3A to 3C The diagram illustrates motor braking and stopping control in different application scenarios.
[0016] Figures 4A to 4C This is a flowchart illustrating a motor brake control method according to another exemplary embodiment of the present disclosure.
[0017] Figure 5 This is a frame diagram of a motor brake control device that is an exemplary embodiment of the present disclosure.
[0018] Figure 6 for Figure 1 The diagram shows a simplified structure of the motor drive chip in the motor control system.
[0019] Figures 7A to 7B This diagram illustrates the delay / misalignment between the transmission of drive waveform data and the output of drive waveform.
[0020] Figure 8 A frame diagram of an electronic device that is an exemplary embodiment of this disclosure. Detailed Implementation
[0021] To enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention, the technical solutions in the embodiments of the present invention will be clearly and thoroughly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art should fall within the protection scope of the present invention.
[0022] Reference is made to the accompanying drawings, which form part of the detailed description and illustrate exemplary embodiments. Furthermore, it should be understood that other embodiments may be utilized, and structural and / or logical changes may be made without departing from the scope of the claimed subject matter. It should also be noted that orientations and references (e.g., up, down, top, bottom, etc.) may be used merely to facilitate the description of features in the drawings. Therefore, the following detailed description is not to be construed in a limiting sense, and the scope of the claimed subject matter is defined only by the appended claims and their equivalents.
[0023] Numerous details are set forth in the following description. However, it will be apparent to those skilled in the art that the embodiments described herein can be practiced without these specific details. In some instances, well-known methods and apparatus are shown in block diagram form rather than in detail to avoid obscuring the embodiments described herein. Throughout this specification, references to “embodiment,” “one embodiment,” or “some embodiments” mean that a particular feature, structure, function, or characteristic described in connection with that embodiment is included in at least one embodiment herein. Therefore, the phrases “in an embodiment,” “in one embodiment,” or “some embodiments” appearing throughout this specification do not necessarily refer to the same embodiment. Furthermore, in one or more embodiments, particular features, structures, functions, or characteristics can be combined in any suitable manner. For example, a first embodiment can be combined with a second embodiment in any way that does not mutually exclude particular features, structures, functions, or characteristics associated with two embodiments.
[0024] As used in the description and appended claims, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
[0025] The terms “coupling” and “connection”, along with their derivatives, are used herein to describe functional or structural relationships between components. It should be understood that these terms are not intended to be synonyms for each other. Rather, in certain embodiments, “connection” can be used to indicate that two or more elements are in direct physical, optical, or electrical contact with each other. “Coupling” can be used to indicate that two or more elements are in direct or indirect physical or electrical contact with each other (with other intermediary elements between them), and / or that two or more elements cooperate or interact with each other (e.g., as in a causal relationship).
[0026] As used herein, the terms “above,” “below,” “between,” and “on” refer to the relative position of a component or material with respect to other components or materials, where such physical relationships are noteworthy. For example, in the context of materials, a material positioned above or below another material may be in direct contact with it, or may have one or more intermediate materials. Furthermore, a material positioned between two materials may be in direct contact with both layers, or may have one or more intermediate layers. In contrast, a first material or material “on” a second material or material is in direct contact with that second material / material. Similar distinctions are made in the context of component assembly.
[0027] As described throughout this document and in the claims, a list of items connected by the terms “at least one of” or “one or more of” may mean any combination of the listed items. For example, the phrase “at least one of A, B, or C” may mean A; B; C; A and B; A and C; B and C; or A, B, and C.
[0028] The terms "circuit" or "module" can refer to one or more passive and / or active components arranged to cooperate with each other to provide a desired function. The term "signal" can refer to at least one current signal, voltage signal, or magnetic signal. The terms "substantially," "close to," "approximately," "near," and "about" generally refer to a value + / - of the target value. Within 10%.
[0029] Currently, motor drive technology has gradually evolved from traditional "fixed parameter braking" to "real-time dynamic braking". In real-time dynamic braking scenarios, the upper-level control unit (such as MCU / microcontroller / CPU, hereinafter referred to as "upper-level controller") needs to interact with the motor drive chip in real time to dynamically adjust the braking strategy according to the actual operating state of the motor (such as speed, back electromotive force, etc.).
[0030] Currently, the industry has only clarified the starting logic of motor braking, but has not proposed an effective solution for "when the motor stops braking." In practical applications, the control logic for stopping the brake directly affects the stopping effect of the motor and the efficiency of its connection with subsequent driving vibrations, specifically facing the following two core technical challenges: The first scenario involves an uncertain persistence of the braking waveform data sent by the upper-level controller. After the upper-level controller sends braking waveform data to trigger the motor to perform a braking operation, two situations may occur: first, the braking waveform data stops being sent as the motor's braking demand disappears; second, the braking waveform data continues to be sent due to the upper-level control logic design. In this case, the motor driver chip needs to determine "when to stop outputting the braking waveform." If it stops too early, the motor may not brake completely, resulting in residual vibration; if it stops too late, it may delay the execution of subsequent vibration drive commands, causing a lag in the device's vibration response.
[0031] The second scenario involves continuous looping of the "drive-brake" process. In many high-end applications, motors need to frequently switch between "drive state" and "brake state" (hereinafter referred to as "dynamic real-time braking loop"). For example, the vibration motor of a smart wearable device needs to generate multiple continuous and independent vibration feedbacks based on user operations. After each vibration segment ends, it needs to brake quickly before entering the drive phase of the next vibration segment, i.e., drive 1 → brake 1 → drive 2 → brake 2 → drive 3. In this scenario, the control of motor braking may not rely on the relevant braking waveform data sent by the upper-level controller, but rather on the internal algorithm of the motor driver chip. However, in related technologies, the internal algorithm of the motor driver chip does not involve the braking stop judgment logic in the "dynamic real-time braking loop" scenario, that is, when the braking phase ends after the motor driver chip enters the braking phase, and no relevant solution is currently provided.
[0032] Furthermore, there are potential issues with the timing of data interaction between the motor driver chip and the upper-level controller. Some motor driver chips incorporate cache modules (such as FIFO or RAM) to temporarily store drive waveform data sent by the upper-level controller, ensuring data transmission stability. However, this data caching mechanism can cause a delay between the time the upper-level controller sends data and the time the motor driver chip actually reads the data (i.e., "timing misalignment"). Current technology does not consider the impact of this timing misalignment on braking stop determination. If the motor driver chip still determines the braking stop timing based on the timing of data transmission from the upper-level controller, problems such as "premature braking" or "delayed braking" may occur.
[0033] Therefore, there is an urgent need for a technical solution that can cover a variety of application scenarios and achieve precise control of motor braking to fill the gaps in existing technologies.
[0034] The specific implementation of the embodiments of this disclosure will be described in detail below with reference to the accompanying drawings.
[0035] Motor brake control method Figure 1 A motor drive system 100 suitable for performing the motor braking control methods of the embodiments of the present disclosure is shown, which includes a controller 102, a motor drive chip 104, and a motor 106.
[0036] The controller 102 (e.g., MCU / microcontroller / CPU, etc.) can communicate with the motor driver chip 104 through interfaces such as I2C / I2S / SPI to send drive waveform data to the motor driver chip 104.
[0037] The motor drive chip 104 can output corresponding control waveforms (e.g., drive waveforms for driving motor vibration or brake waveforms for controlling motor braking) to the motor 106 based on the drive waveform data.
[0038] Motor 106 is a linear vibration motor (LRA) of various types, used to perform corresponding vibration or braking actions according to the control waveform output by motor driver chip 104.
[0039] In some embodiments, system architecture 100 can be integrated into various electronic devices, including but not limited to: smartphones, tablets, wearable devices, gaming devices, etc.
[0040] The following will combine Figure 1 The specific implementation of the motor brake control method disclosed herein is described in detail.
[0041] Figure 2 This is a flowchart illustrating a motor brake control method according to an exemplary embodiment of the present disclosure, which mainly includes the following steps: Step 202: Identify the driving waveform data.
[0042] In some embodiments, the driving waveform data is a sequence of data frames arranged in order (see reference). Figures 3A to 3C The data frames in the data frame are DAT1, DAT2, ..., DATx, SDAT1, ..., SDATx, ...
[0043] For example, refer to Figure 1 and Figure 3A The motor drive chip 104 can obtain drive waveform data from the controller 102 and identify each data frame in the drive waveform data in sequence.
[0044] In this embodiment, the driving waveform data is identified as first data or second data.
[0045] The first data includes drive waveform data characterizing motor braking (which can be understood as motor starting to perform braking) and drive waveform data (also known as small signal data) whose voltage amplitude falls within the first amplitude range.
[0046] For example, refer to Figure 1 , Figures 3A to 3C When the motor driver chip 104 recognizes the first data in the drive waveform data, it enters the braking stage to control the motor to perform braking operation (that is, to control the motor to stop vibrating).
[0047] For example, drive waveform data with an absolute voltage amplitude greater than 48dB can be determined as the first data. It should be noted that those skilled in the art can arbitrarily adjust the decibel threshold used to determine the first data based on factors such as motor model and motor application scenario, and this disclosure does not impose any restrictions on this.
[0048] In some embodiments, the absolute value of the voltage amplitude of the drive waveform data can be calculated using the following formula:
[0049] in, To drive waveform data, It is a positive integer and can be determined based on the bit width of the driving waveform data. For example, when When the bit width is 8 bits, N=8; when When the bit width is 16 bits, N=16, and so on.
[0050] In this embodiment, the second data includes the drive waveform data of the drive motor vibration.
[0051] For example, refer to Figure 1 , Figures 3A to 3C When the motor driver chip 104 identifies the second data in the drive waveform data, it enters the drive phase (e.g., drive phase 1, drive phase 2) to control the motor to perform vibration operation.
[0052] Step 204: In response to detecting the first data in the drive waveform data, output the first braking waveform corresponding to the first data.
[0053] refer to Figures 3A to 3C When the first data is detected in the drive waveform data (for example, when the drive waveform data SDAT1 is detected), the motor braking process is triggered, causing the motor to switch into the braking stage. Based on the detected first data, a corresponding first braking waveform (refer to braking waveform 302) is output to control the motor to perform braking action.
[0054] Step 206: Determine whether the actual braking state of the motor meets the ideal braking state and confirm whether to continue detecting the first data in the drive waveform data, and select to output the second braking waveform or stop outputting the first braking waveform.
[0055] In this embodiment, the voltage amplitude range of the second braking waveform falls within a second amplitude range. The second amplitude range can be set to a voltage range approaching 0 (see reference). Figure 3A The second braking waveform 304).
[0056] In some embodiments, it can be determined whether the actual braking state of the motor meets the ideal braking state in the following ways: Based on the output duration of the first braking waveform, the actual braking duration of the motor is obtained, and based on the back electromotive force of the motor, the ideal braking duration of the motor is obtained. If the actual braking duration of the motor reaches the ideal braking duration, the judgment result that the actual braking state of the motor satisfies the ideal braking state can be obtained.
[0057] In some embodiments, when the first data is detected in the drive waveform data, the back electromotive force of the motor can be obtained, and the ideal braking duration can be obtained based on the interval between two adjacent zero crossings of the back electromotive force of the motor and a preset braking configuration time.
[0058] In this embodiment, the braking configuration time is determined based on the motor model.
[0059] In some embodiments, the braking configuration time may be replaced by the number of zero-crossing intervals of the back electromotive force, and this disclosure does not limit this.
[0060] In other embodiments, it can also be determined whether the actual braking state of the motor meets the ideal braking state in the following ways: The back electromotive force of the motor is obtained. If the back electromotive force of the motor is less than the preset braking threshold, the result of the judgment that the actual braking state of the motor meets the ideal braking state can be obtained.
[0061] refer to Figure 3A In some embodiments, in response to the actual braking state of the motor having met the ideal braking state, and the continued detection of the first data in the drive waveform data (that is, the first data in the drive waveform data has not disappeared), the output of the first braking waveform 302 corresponding to the first data is stopped, and the output of the second braking waveform 304 falling into the second amplitude range is changed.
[0062] In practical applications, when the actual braking state of the motor is detected to meet the ideal braking state, it means that the motor is close to stopping vibration. In this case, if the first data is still continuously output in the drive waveform data, the first braking waveform corresponding to the first data will no longer be output. Instead, the second braking waveform 304 that falls into the second amplitude range (that is, the voltage is close to zero) will be output to reduce the control force on the motor 106, so that the motor 106 performs non-active braking operation under the control of the second braking waveform 304.
[0063] In some embodiments, the output of the second braking waveform 304 may be stopped in response to the failure to continue detecting the first data in the drive waveform data or the detection of the second data in the drive waveform data.
[0064] refer to Figure 3B and Figure 3CIn some embodiments, in response to the actual braking state of the motor satisfying the ideal braking state and the first data in the drive waveform data no longer being detected, the output of the first braking waveform 302 is stopped. Alternatively, in response to the actual braking state of the motor not satisfying the ideal braking state and the first data in the drive waveform data no longer being detected, the output of the first braking waveform 302 is stopped.
[0065] Therefore, in this embodiment, when the first data in the drive waveform data is no longer detected (that is, when the drive waveform data no longer continuously outputs the first data), regardless of whether the actual braking state of the motor meets the ideal braking state, the output of any type of braking waveform (i.e., the first braking waveform 302 or the second braking waveform 304) is stopped to control the motor to stop performing braking action (i.e., brake stop).
[0066] In summary, the motor braking control method of this embodiment combines a dual judgment mechanism that determines whether the actual braking state of the motor meets the ideal braking state and confirms whether to continue detecting the first data in the drive waveform data. It flexibly selects to output the second braking waveform or stop outputting the first braking waveform, so as to achieve precise control of motor braking in different application scenarios.
[0067] The motor braking control method of this embodiment, based on the actual output duration of the first braking waveform, accurately and objectively determines whether the actual braking state of the motor meets the ideal braking state, thereby improving the reliability of motor braking control.
[0068] The motor braking control method of this embodiment dynamically determines the ideal braking duration of the motor based on the back electromotive force of the motor, so that the determination of the ideal braking duration is more in line with the real-time operating state of the motor, thereby improving the accuracy of the judgment result on whether the actual braking state of the motor meets the ideal braking state.
[0069] Figure 4A This is a processing flow of a motor brake control method as another exemplary embodiment of the present disclosure. This embodiment is... Figure 2 A further implementation scheme of the motor brake control method shown is presented. As shown in the figure, this embodiment mainly includes: Step 402: Identify the driving waveform data.
[0070] Reference Figure 1 The motor control chip 104 can acquire drive waveform data from the controller 102 and sequentially identify each data frame in the drive waveform data (see reference). Figures 3A to 3C The data frame sequence shown is: DAT1 to DATx, SDAT1 to SDATx, DAYy, DAYn.
[0071] In this embodiment, the drive waveform data is identified as first data or second data. The first data may include drive waveform data characterizing motor braking initiation (which can be understood as the motor starting to perform braking) and drive waveform data whose voltage amplitude falls within a first amplitude range (also referred to as small signal data). The second data includes drive waveform data that drives motor vibration. Therefore, when the motor drive chip 104 detects the second data in the drive waveform data (e.g., drive waveform data DAT1 to DATx or drive waveform data DAYy to DAYn), it enters drive stage 1 or drive stage 2 to drive the motor 106 to vibrate; when the motor drive chip 104 detects the first data in the drive waveform data (e.g., drive waveform data SDAT1 to SDATx), it enters the braking stage to control the motor 106 to brake.
[0072] Step 404: In response to detecting the first data in the drive waveform data, output the first braking waveform.
[0073] refer to Figures 3A to 3C When the motor drive chip 104 detects the presence of first data in the drive waveform data (e.g., when the motor drive chip 104 detects the first data SDAT1), it performs waveform conversion based on the detected first data (e.g., SDAT1 to SDATx) and outputs the first brake waveform 302.
[0074] Step 406: Determine whether the actual braking state of the motor meets the ideal braking state. If yes, proceed to step 408; otherwise, proceed to step 414.
[0075] In some embodiments, the actual braking duration of the motor can be obtained based on the output duration of the first braking waveform, and the ideal braking duration of the motor can be obtained based on the back electromotive force of the motor; if the actual braking duration of the motor reaches the ideal braking duration, a judgment result is obtained that the actual braking state of the motor satisfies the ideal braking state.
[0076] In some embodiments, if the first data is detected in the drive waveform data, the back electromotive force of the motor can be obtained, and the ideal braking duration of the motor can be obtained based on the interval between two adjacent zero crossings of the back electromotive force of the motor and the braking configuration time.
[0077] In this embodiment, the braking configuration time can be determined based on the motor model and / or the application scenario of the motor.
[0078] In some embodiments, the back electromotive force of the motor can be obtained. If the back electromotive force of the motor is less than a preset braking threshold, a judgment result is obtained that the actual braking state of the motor meets the ideal braking state.
[0079] Step 408: Stop outputting the first braking waveform and proceed to step 410.
[0080] In some embodiments, when the actual braking state of the motor is detected to meet the ideal braking state, the output of the first braking waveform 302 (reference) is immediately stopped. Figure 3A The end point A of the first braking waveform 302).
[0081] In other embodiments, when the actual braking state of the motor is detected to meet the ideal braking state, the zero-crossing point in the first braking waveform 302 is continuously detected until the zero-crossing point of the first braking waveform 302 is detected, at which point the output of the first braking waveform 302 is stopped to reduce motor braking noise.
[0082] Step 410: Confirm whether the first data in the drive waveform data continues to be detected. If yes, proceed to step 412; otherwise, proceed to step 418.
[0083] In some application scenarios, the controller 102 can send drive waveform data to the motor driver chip 104 based on a given write rate, and the motor driver chip 104 can read the drive waveform data based on a given read rate. However, when the given write rate and the given read rate are not the same (for example, the controller 102 sends the first data for 100ms, but the motor driver chip 104 configures a braking duration of 30ms based on the first data), this can lead to a situation where the actual braking state of the motor meets the ideal braking state, but the first data in the drive waveform data continues to be output.
[0084] In other application scenarios, when the motor driver chip 104 identifies that the back electromotive force of the motor is less than the preset braking threshold and thus obtains the judgment result that the actual braking state of the motor meets the ideal braking state, the first data in the drive waveform data may still be continuously output.
[0085] Therefore, after obtaining the judgment result that the actual braking state of the motor has met the ideal braking state, it is necessary to further determine whether the first data in the drive waveform data has disappeared.
[0086] Step 412: Output the second braking waveform and return to step 410.
[0087] Specifically, when the actual braking state of the motor has met the ideal braking state, but the first data in the drive waveform data is still detected, the second braking waveform 304, which falls within the second amplitude range, is output instead of the first braking waveform 302, thereby reducing unnecessary energy consumption.
[0088] In this embodiment, the second braking waveform 304 falling within the second amplitude range is a braking waveform with a voltage close to zero, so that the motor 106 performs a non-active braking operation under the control of the second braking waveform 304.
[0089] Step 414: Confirm whether the first data in the drive waveform data continues to be detected. If not, return to step 404. If yes, proceed to step 416.
[0090] For example, refer to Figures 3A to 3C When the motor driver chip 104 detects that the drive waveform data changes from the first data SDATx to the second data DATy, step 416 is executed.
[0091] It should be noted that the execution order of steps 406 and 414 in this embodiment is not important.
[0092] refer to Figure 4B In some embodiments, the processing order of steps 406 and 414 in Figure 4 can be interchanged. That is, after step 404 is executed, step 414 is executed first. If the judgment result of step 414 is negative, then step 406 is continued. If the judgment result of step 406 is positive, then step 408 is continued. If the judgment result of step 406 is negative, then step 404 is returned. If the judgment result of step 414 is positive, then step 416 is continued.
[0093] refer to Figure 4C In some embodiments, steps 404 and 414 can be performed simultaneously, that is, steps 406 and 414 are performed simultaneously after step 404 is completed. If the judgment condition of step 414 is met first (i.e., the judgment result of step 414 is yes), then steps 406 to 412 do not need to be executed.
[0094] Step 416: Stop outputting the first braking waveform and proceed to step 418.
[0095] Specifically, when the first data in the drive waveform data is no longer detected, it indicates that the motor needs to end the braking phase, and the motor driver chip 104 will stop the output of the first braking waveform 302 (see reference). Figure 3B or Figure 3C ).
[0096] In some embodiments, the output of the first braking waveform may be stopped immediately in response to the failure to continue detecting the first data in the drive waveform data.
[0097] For example, refer to Figure 3BThe motor driver chip 104 can immediately stop outputting the first braking waveform 302 (refer to the end point B of the first braking waveform 302) when it detects that the drive waveform data changes from the first data SDATx to the second data DATy, and directly output the drive waveform 306 when the second data (drive data) is subsequently detected. The advantage of this scheme is that it does not affect the normal output of the drive waveform 306, but it will cause a non-smooth transition between the braking stage and the drive stage 2.
[0098] In some embodiments, in response to the failure to continue detecting the first data in the drive waveform data, a first braking waveform may be detected, and when the zero-crossing point of the braking waveform is detected, the output of the first braking waveform may be stopped.
[0099] For example, refer to Figure 3C The motor drive chip 104 can continue to identify the first braking waveform 302 when it detects that the drive waveform data has changed from the first data SDATx to the second data DATy, until it detects a zero-crossing point in the first braking waveform 302. At this point, it stops outputting the first braking waveform 302 (refer to the end point C of the first braking waveform 302) to completely end the braking phase. Based on the subsequent detection of the second data (drive data), it continues to output the drive waveform 306. The advantage of this scheme is that it can achieve a smooth transition between the braking phase and the drive phase 2, but it will cause a partial loss of the second data (e.g., the second data DATy).
[0100] Step 418: In response to detecting the second data in the drive waveform data, output the drive waveform.
[0101] refer to Figures 3A to 3C When the second data is detected in the drive waveform data (e.g., when the motor drive chip 104 detects the second data DATy), the motor drive chip 104 performs waveform conversion based on the detected second data (e.g., DATy, ..., DATn, ... etc.) and outputs the drive waveform 306 to drive the motor 106 to vibrate.
[0102] In summary, the motor braking control method of this embodiment, by combining the determination of whether the actual braking duration of the motor meets the ideal braking duration and the confirmation of whether to continue detecting the first data in the drive waveform data, can not only meet the precise control of motor braking in different application scenarios, but also achieve efficient connection between motor braking and drive vibration.
[0103] Motor brake control device Figure 5 A simplified structural diagram of a motor brake control device according to an exemplary embodiment of the present disclosure is shown. The motor brake control device 500 of this embodiment mainly includes: The data recognition module 502 is configured to recognize drive waveform data.
[0104] The brake activation module 504 is configured to output a first brake waveform corresponding to the first data in response to detecting first data in the drive waveform data.
[0105] The first data includes drive waveform data characterizing the motor's starting and braking actions and drive waveform data whose voltage amplitude falls within a first amplitude range.
[0106] The brake stop module 506 is configured to determine whether the actual braking state of the motor meets the ideal braking state and to confirm whether to continue detecting the first data in the drive waveform data, and to select to output the second braking waveform or stop outputting the first braking waveform.
[0107] In this embodiment, the voltage amplitude of the second braking waveform falls within the second amplitude range.
[0108] In some embodiments, the brake stop module 506 determines whether the actual braking state of the motor meets the ideal braking state by the following method: Based on the output duration of the first braking waveform, the actual braking duration of the motor is obtained; based on the back electromotive force of the motor, the ideal braking duration of the motor is obtained; if the actual braking duration of the motor reaches the ideal braking duration, the judgment result that the actual braking state of the motor satisfies the ideal braking state is obtained.
[0109] In some embodiments, the brake stop module 506 is configured to: when the first data is detected in the drive waveform data, acquire the back electromotive force of the motor; and acquire the ideal braking duration based on the interval between two adjacent zero crossings of the back electromotive force of the motor and a preset braking configuration time; wherein the braking configuration time is determined based on the model of the motor.
[0110] In some embodiments, the brake stop module 506 determines whether the actual braking state of the motor meets the ideal braking state by the following method: Obtain the back electromotive force of the motor; if the back electromotive force of the motor is less than a preset braking threshold, obtain a judgment result that the actual braking state of the motor meets the ideal braking state.
[0111] In some embodiments, the brake stop module 506 is configured to: stop outputting the first brake waveform and output the second brake waveform in response to the actual braking state of the motor satisfying the ideal braking state and the first data in the drive waveform data continuing to be detected; stop outputting the first brake waveform in response to the actual braking state of the motor satisfying the ideal braking state and the first data in the drive waveform data no longer being detected; and stop outputting the first brake waveform in response to the actual braking state of the motor not satisfying the ideal braking state and the first data in the drive waveform data no longer being detected.
[0112] In some embodiments, the second data includes drive waveform data of the drive motor vibration.
[0113] In some embodiments, the brake stop module 506 is configured to stop outputting the second brake waveform in response to the failure to continue detecting the first data in the drive waveform data or the detection of the second data in the drive waveform data.
[0114] In some embodiments, the brake stop module 506 is configured to: immediately stop outputting the first brake waveform in response to the failure to continue detecting the first data in the drive waveform data; or detect the first brake waveform in response to the failure to continue detecting the first data in the drive waveform data, and stop outputting the first brake waveform when the zero-crossing point of the brake waveform is detected.
[0115] In some embodiments, the motor brake control device 500 is further configured to output a drive waveform corresponding to the second data in response to detecting a second data in the drive waveform data.
[0116] Motor control system refer to Figure 1 Another embodiment of this disclosure also provides a motor control system 100, including a controller 102, a motor drive chip 104, and a motor 106.
[0117] The motor drive chip 104 is connected to the controller 102 and the motor 106, and is configured to: acquire drive waveform data from the controller 102, and output a braking waveform to the motor 106 or stop outputting a braking waveform by executing the motor braking control method as described in the above embodiments, so as to control the motor to start braking or control the motor to stop braking.
[0118] In some embodiments, the motor driver chip 104 includes: The data buffer unit 602 is connected to the controller 102 and is configured to buffer drive waveform data.
[0119] A data reading unit 604 is connected to the data buffer unit 602 and is configured to read drive waveform data from the data buffer unit 602.
[0120] The motor drive unit 606 is connected to the data reading unit 604 and the motor 106, and is configured to output a braking waveform to the motor 106 or stop outputting a braking waveform by executing the motor braking control method as described in the above embodiments, based on the driving waveform data read by the data reading unit 604.
[0121] In some embodiments, the motor drive unit 606 can output brake waveform data by raising the brake enable signal; or stop outputting brake waveform data by lowering the brake enable signal.
[0122] In some embodiments, the controller 102 may send drive waveform data to the motor driver chip 104 based on a given write rate and cache it in the data cache unit 602. The data read unit 604 may read drive waveform data from the data cache unit 602 based on a given read rate.
[0123] In some embodiments, the given write rate is not the same as the given read rate.
[0124] refer to Figures 7A to 7B In practical applications, the motor drive chip 104 can cache the drive waveform data acquired from the controller 102 in the data cache unit 602 (via FIFO / RAM / eFlash / register group, etc.), and then the data read unit 604 reads the drive waveform data sequentially from the data cache unit 602 to output the corresponding control waveform (including braking waveform or drive waveform). However, if the given write rate and the given read rate are not the same, it will cause a misalignment between the drive waveform data sent by the controller 102 and the control waveform output by the motor drive chip 104. That is, the time when the controller 102 writes the drive waveform data to the data cache unit 602 is not aligned with the time when the data read unit 604 reads the drive waveform data from the data cache unit 602. For example, in... Figure 7A and Figure 7B In the example, the drive waveform data DATx sent by the controller 102 to the motor driver chip 104 at time t0 is read by the motor driver chip 104 starting at time t4. The motor control schemes of the various embodiments of this disclosure are particularly suitable for motor brake control in this application scenario, and can achieve precise control of the motor braking stopping timing in such application scenarios, thereby improving the motor braking control effect.
[0125] electronic devices Reference Figure 8This document illustrates a schematic diagram of an electronic device according to an exemplary embodiment of the present application. The specific embodiments of the present application do not limit the specific implementation of the electronic device.
[0126] like Figure 8 As shown, the electronic device may include: a processor 802, a communications interface 804, a memory 806, and a communications bus 808.
[0127] in: The processor 802, communication interface 804, and memory 806 communicate with each other through the communication bus 808.
[0128] Communication interface 804 is used to communicate with other electronic devices or servers.
[0129] The processor 802 is used to execute program 810, specifically to execute the relevant steps in the above-described motor brake control method embodiment.
[0130] Specifically, program 810 may include program code that includes computer operation instructions.
[0131] The processor 802 may be a CPU, an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application. The smart device includes one or more processors, which may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.
[0132] Memory 806 is used to store program 810. Memory 806 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.
[0133] Program 810 may include multiple computer instructions. Specifically, program 810 can cause processor 802 to execute the operation corresponding to the motor brake control method described in any of the foregoing multiple method embodiments through multiple computer instructions.
[0134] The specific implementation of each step in program 810 can be found in the corresponding steps and units described in the above method embodiments, and has corresponding beneficial effects, which will not be repeated here. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the devices and modules described above can be referred to the corresponding process descriptions in the foregoing method embodiments, and will not be repeated here.
[0135] This application also provides a computer storage medium storing a computer program thereon, which, when executed by a processor, implements the method described in any of the foregoing method embodiments. The computer storage medium includes, but is not limited to, compact disc read-only memory (CD-ROM), random access memory (RAM), floppy disk, hard disk, or magneto-optical disk.
[0136] This application also provides a computer program product, including computer instructions that instruct a computing device to perform operations corresponding to the motor brake control method described in any of the above embodiments.
[0137] Furthermore, it should be noted that the user-related information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to sample data used for training the model, data used for analysis, stored data, displayed data, etc.) involved in the embodiments of this application are all information and data authorized by the user or fully authorized by all parties. Moreover, the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0138] It should be noted that, depending on the implementation needs, the various components / steps described in the embodiments of this application can be broken down into more components / steps, or two or more components / steps or parts of the operation of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of this application.
[0139] The methods described in the embodiments of this application can be implemented in hardware, firmware, or as software or computer code that can be stored in a recording medium (such as a CD-ROM, RAM, floppy disk, hard disk, or magneto-optical disk), or as computer code originally stored on a remote recording medium or non-volatile machine-readable medium and to be stored on a local recording medium, downloaded via a network. Thus, the methods described herein can be stored on a recording medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware (such as an Application Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA)). It is understood that the computer, processor, microprocessor controller, or programmable hardware includes storage components (e.g., Random Access Memory (RAM), Read-Only Memory (ROM), Flash Memory, etc.) capable of storing or receiving software or computer code, which, when accessed and executed by the computer, processor, or hardware, implements the methods described herein. Furthermore, when a general-purpose computer accesses code used to implement the methods shown herein, the execution of the code transforms the general-purpose computer into a dedicated computer for executing the methods shown herein.
[0140] Those skilled in the art will recognize that the units and method steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this application.
[0141] The above embodiments are only used to illustrate the embodiments of this application, and are not intended to limit the embodiments of this application. Those skilled in the art can make various changes and modifications without departing from the spirit and scope of the embodiments of this application. Therefore, all equivalent technical solutions also fall within the scope of the embodiments of this application, and the patent protection scope of the embodiments of this application should be defined by the claims.
Claims
1. A motor brake control method, comprising: identifying driving waveform data; in response to detecting first data in the driving waveform data, outputting a first brake waveform corresponding to the first data; determining whether an actual brake state of a motor meets an ideal brake state and confirming whether the first data in the driving waveform data is continuously detected, and selecting to output a second brake waveform or stop outputting the first brake waveform. 2.The motor brake control method of claim 1, wherein the first data comprises driving waveform data representing a motor start brake and driving waveform data with a voltage amplitude falling within a first amplitude range; a voltage amplitude of the second brake waveform falls within a second amplitude range.
3. The motor brake control method of claim 1, wherein, The determination of whether the actual brake state of the motor meets the ideal brake state comprises: obtaining an actual brake duration of the motor based on an output duration of the first brake waveform; obtaining an ideal brake duration of the motor based on a back electromotive force of the motor; if the actual brake duration of the motor reaches the ideal brake duration, obtaining a determination result that the actual brake state of the motor meets the ideal brake state.
4. The motor brake control method of claim 3, wherein, The obtaining of the ideal brake duration of the motor based on the back electromotive force of the motor comprises: acquiring the back electromotive force of the motor in a case where the first data in the driving waveform data is detected; acquiring the ideal brake duration based on an interval time of adjacent two zero-crossing points of the back electromotive force of the motor and a preset brake configuration time.
5. The motor brake control method of claim 1, wherein, The determination of whether the actual brake state of the motor meets the ideal brake state comprises: acquiring the back electromotive force of the motor; if the back electromotive force of the motor is less than a preset brake threshold, obtaining a determination result that the actual brake state of the motor meets the ideal brake state.
6. The motor brake control method of claim 1, wherein, The determination of whether the actual brake state of the motor meets the ideal brake state and the confirmation of whether the first data in the driving waveform data is continuously detected, and the selection to output the second brake waveform or stop outputting the first brake waveform, comprise: in response to the actual brake state of the motor meeting the ideal brake state and the first data in the driving waveform data being continuously detected, stopping outputting the first brake waveform and outputting the second brake waveform; in response to the actual brake state of the motor meeting the ideal brake state and the first data in the driving waveform data not being continuously detected, stopping outputting the first brake waveform; in response to the actual brake state of the motor not meeting the ideal brake state and the first data in the driving waveform data not being continuously detected, stopping outputting the first brake waveform; wherein the second data comprises driving waveform data driving a motor vibration.
7. The method of claim 6, wherein, After the second brake waveform is outputted, the method further comprises: in response to the first data in the driving waveform data not being continuously detected or second data in the driving waveform data being detected, stopping outputting the second brake waveform.
8. The motor brake control method of claim 6, wherein, The stopping of outputting the first brake waveform in response to the actual brake state of the motor not meeting the ideal brake state and the first data in the driving waveform data not being continuously detected comprises: stop outputting the first brake waveform immediately in response to not continuously detecting the first data in the drive waveform data; or detect the first brake waveform in response to not continuously detecting the first data in the drive waveform data, and stop outputting the first brake waveform when a zero-crossing point of the brake waveform is detected.
9. The method of claim 6, wherein, The method further comprises: outputting a drive waveform corresponding to the second data in response to detecting the second data in the drive waveform data. 10.A motor brake control apparatus, comprising: a data identification module configured to identify drive waveform data; a brake start module configured to output a first brake waveform corresponding to first data in the drive waveform data in response to detecting the first data; a brake stop module configured to determine whether an actual brake state of a motor meets an ideal brake state and confirm whether the first data in the drive waveform data is continuously detected, and select outputting a second brake waveform or stopping outputting the first brake waveform. 11.A motor control system, comprising a controller, a motor drive chip and a motor; the motor drive chip is connected to the controller and the motor, and is configured to: obtain drive waveform data from the controller, output a brake waveform or stop outputting a brake waveform to the motor by executing the motor brake control method according to any one of claims 1 to 9, so as to control the motor to start braking or control the motor to stop braking.
12. The motor control system of claim 11, wherein, the motor drive chip comprises: a data buffer unit connected to the controller and configured to buffer the drive waveform data; a data reading unit connected to the data buffer unit and configured to read the drive waveform data from the data buffer unit; a motor drive unit connected to the data reading unit and the motor, and configured to output a brake waveform or stop outputting a brake waveform to the motor by executing the motor brake control method according to any one of claims 1 to 9 for the drive waveform data read by the data reading unit. 13.The motor control system according to claim 12, wherein the controller is configured to send the drive waveform data to the motor drive chip based on a given write rate, and buffer in the data buffer unit; the data reading unit is configured to read drive waveform data from the data buffer unit based on a given read rate; the given write rate is different from the given read rate.
14. An electronic device comprising: a processor, a memory, a communication interface and a communication bus, the processor, the memory and the communication interface complete communication with each other through the communication bus; the memory is used to store at least one executable instruction, and the executable instruction causes the processor to execute the motor brake control method according to any one of claims 1 to 9. 15.A computer storage medium having a computer program stored thereon, the program being executed by a processor to implement the motor brake control method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Drive control circuit for linear vibration motor
CN102244495A
Vibration device and control method thereof, electronic equipment, and storage medium
CN111193457A
Brake control method and device for linear motor, equipment and storage medium
CN118519523A
Monitoring vibration motor induced voltage slope to control haptic feedback
US20160285401A1