Vibration control method and device and electronic equipment

By generating target vibration signals and driving signals matching the vibration event, the problem of single motor vibration effect is solved, and rich vibration effects and user experience improvements are achieved.

CN120474426APending Publication Date: 2025-08-12GOERTEK INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510569926.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-30
Publication Date
2025-08-12

AI Technical Summary

Technical Problem

In the prior art, the vibration mode of the motor is usually pre-set, with a single vibration effect and cannot meet the diverse application needs.

Method used

Generate a prototype waveform that conforms to the waveform shape set by the vibration event, and generate a target vibration signal with the envelope matching the prototype waveform based on the waveform parameters, determine the target driving signal to drive the motor to vibrate, and adjust the driving signal by detecting the motor voltage and current to achieve rich vibration effects.

Benefits of technology

It realizes that the motor produces richer customized vibration effects, improves the user experience, and adapts to diverse application scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120474426A_ABST
    Figure CN120474426A_ABST
Patent Text Reader

Abstract

The invention provides a vibration control method and device and electronic equipment, and the method comprises the steps: responding to a vibration event, generating a prototype waveform which accords with a waveform shape set by the vibration event, and enabling the integral of the prototype waveform in a period to be zero; generating a target vibration signal of which the envelope is matched with the prototype waveform according to a waveform parameter which is set by the vibration event and represents the vibration condition of the motor; determining a target driving signal required by the motor to realize the target vibration signal; and driving the motor to vibrate according to the target driving signal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present disclosure relate to the field of vibration control technology, and more specifically, to a vibration control method, device, and electronic equipment. Background Art

[0002] Vibration generated by drive motors is widely used in many fields, including modern electronic devices and industrial automation. These applications range from portable electronic devices like mobile phones and tablets, which utilize vibration motors to implement features like incoming call notifications and touch feedback, providing a convenient user experience. Industrial vibratory screening equipment and vibratory conveying devices also rely on the vibration generated by drive motors to achieve efficient material screening and precise conveying.

[0003] However, in the prior art, the vibration mode of the motor is usually pre-set, and the vibration effect is single. Summary of the Invention

[0004] One purpose of the embodiments of the present disclosure is to provide a new technical solution for controlling motor vibration.

[0005] According to a first aspect of an embodiment of the present disclosure, there is provided a vibration control method, comprising:

[0006] In response to a vibration event, generating a prototype waveform having a waveform shape that conforms to the waveform shape set by the vibration event, wherein an integral of the prototype waveform within one cycle is zero;

[0007] generating a target vibration signal having an envelope matching the prototype waveform according to waveform parameters representing the vibration condition of the motor set by the vibration event;

[0008] determining a target drive signal required for the motor to achieve the target vibration signal;

[0009] The motor is driven to vibrate according to the target driving signal.

[0010] Optionally, the waveform parameters include waveform fitting parameters for fitting the vibration waveform of the motor and waveform combination parameters for generating a signal according to the waveform.

[0011] The step of generating a target vibration signal having an envelope matching the prototype waveform based on waveform parameters representing the vibration condition of the motor set according to the vibration event comprises:

[0012] According to the waveform fitting parameters and the prototype waveform, a vibration waveform whose envelope matches the prototype waveform is obtained by fitting;

[0013] A target vibration signal matching the vibration waveform is obtained according to the vibration waveform and the waveform combination parameters.

[0014] Optionally, fitting a vibration waveform whose envelope matches the prototype waveform according to the waveform fitting parameter and the prototype waveform includes:

[0015] performing parameter identification on the envelope waveform according to the waveform fitting parameters to obtain identification parameters;

[0016] The vibration waveform is obtained according to the identification parameters and the prototype waveform.

[0017] Optionally, the waveform fitting parameters include at least one of the following: fitting order, fitting basic waveform, fitting function, and motor resonant frequency; the waveform combination parameters include at least one of the following: amplitude, frequency, amplitude asymmetry, direction, number of cycles, and silence duration.

[0018] Optionally, the method further includes:

[0019] In a process of driving the motor to vibrate according to the target driving signal, detecting a first voltage and a first current of the motor at a first sampling moment;

[0020] The voltage of the target drive signal at a second sampling moment is adjusted according to the first voltage and the first current; wherein the second sampling moment is a sampling moment next to the first sampling moment.

[0021] Optionally, adjusting the voltage of the target drive signal at the second sampling moment according to the first voltage and the first current includes:

[0022] determining a first vibration displacement of the motor at the first sampling moment according to the first voltage and the first current;

[0023] predicting a second vibration displacement of the motor at a second sampling moment based on the first vibration displacement;

[0024] In a case where the second vibration displacement is greater than a set vibration displacement, determining a displacement difference between the second vibration displacement and the set vibration displacement;

[0025] The voltage of the target driving signal at the second sampling moment is adjusted according to the displacement difference.

[0026] Optionally, predicting a second vibration displacement of the motor at a second sampling moment based on the first vibration displacement includes:

[0027] Acquire a second voltage of the target drive signal at the second sampling moment, a third voltage of the motor at a third sampling moment, and a third vibration displacement of the motor at the third sampling moment; wherein the third sampling moment is a sampling moment before the first sampling moment;

[0028] The second vibration displacement is predicted based on the first voltage, the second voltage, the third voltage, the first vibration displacement, and the second vibration displacement.

[0029] Optionally, adjusting the voltage of the target drive signal at the second sampling moment according to the first voltage and the first current includes:

[0030] determining a first DC resistance of the motor at the first sampling moment according to the first voltage and the first current;

[0031] determining a first temperature of the motor at the first sampling moment according to the first DC resistance, the initial DC resistance of the motor at the initial temperature, and the initial temperature;

[0032] When the first temperature is greater than a set temperature, determining a temperature difference between the first temperature and the set temperature;

[0033] The voltage of the target driving signal at the second sampling moment is adjusted according to the temperature difference.

[0034] According to a second aspect of the present disclosure, there is provided a vibration control device, comprising:

[0035] a prototype waveform generating module, configured to generate, in response to a vibration event, a prototype waveform having a waveform shape that conforms to the waveform shape set by the vibration event, wherein the integral of the prototype waveform within one cycle is zero;

[0036] a vibration signal generating module, configured to generate a target vibration signal having an envelope matching the prototype waveform according to waveform parameters representing the vibration condition of the motor set by the vibration event;

[0037] a driving signal determination module, configured to determine a target driving signal required for the motor to achieve the target vibration signal;

[0038] The motor driving module is configured to drive the motor to vibrate according to the target driving signal.

[0039] According to a third aspect of the present disclosure, an electronic device is provided, comprising a processor and a memory, wherein the memory is used to store a computer program, and the processor is used to execute the method described in the first aspect of the present disclosure under the control of the computer program.

[0040] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the method according to the first aspect of the present disclosure is implemented.

[0041] Through the embodiments of the present disclosure, in response to a vibration event, a prototype waveform is generated that conforms to the waveform shape set by the vibration event, a target vibration signal whose envelope matches the prototype waveform is generated according to the waveform parameters set by the vibration event, and the motor is driven to vibrate according to the target drive signal required for the motor to achieve the target vibration signal. This can enable the motor to produce richer customized vibration effects and enhance the user experience.

[0042] Further features and advantages of the present invention will become apparent from the following detailed description of exemplary embodiments of the present invention with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.

[0044] Figure 1 is a block diagram illustrating a hardware configuration of an electronic device that can implement an embodiment of the present disclosure;

[0045] Figure 2 is a flow chart of a driving control method according to an embodiment of the present disclosure;

[0046] Figure 3 is a block diagram of a drive control device according to an embodiment of the present disclosure;

[0047] Figure 4 is a block diagram of an electronic device according to one embodiment of the present disclosure. DETAILED DESCRIPTION

[0048] Various exemplary embodiments of the present invention will now be described in detail with reference to the accompanying drawings. It should be noted that unless otherwise specifically stated, the relative arrangement of components and steps, numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention.

[0049] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the invention, its application, or uses.

[0050] Technologies, methods and equipment known to persons of ordinary skill in the relevant art may not be discussed in detail, but where appropriate, such technologies, methods and equipment should be considered part of the specification.

[0051] In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not limiting. Therefore, other examples of the exemplary embodiments may have different values.

[0052] It should be noted that like reference numerals and letters refer to like items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.

[0053] <Hardware Configuration>

[0054] Figure 1 is a block diagram illustrating a hardware configuration of an electronic device 1000 that can implement an embodiment of the present disclosure.

[0055] The electronic device 1000 can be a game controller, a vehicle, a watch, a bracelet, or other electronic products with a motor. Figure 1 As shown, electronic device 1000 may include a processor 1100, a memory 1200, an interface device 1300, a communication device 1400, a display device 1500, an input device 1600, a speaker 1700, a microphone 1800, and the like. Processor 1100 may be a CPU, a microprocessor MCU, or the like. Memory 1200 may include, for example, ROM (read-only memory), RAM (random access memory), or a non-volatile memory such as a hard disk. Interface device 1300 may include, for example, a USB interface or a headphone jack. Communication device 1400 may be capable of wired or wireless communication, specifically, Wi-Fi, Bluetooth, 2G / 3G / 4G / 5G communication, or the like. Display device 1500 may be, for example, an LCD display or a touchscreen display. Input device 1600 may include, for example, a touchscreen, a keyboard, or somatosensory input. Users may input and output voice information through speaker 1700 and microphone 1800.

[0056] Figure 1 The electronic device shown is merely illustrative and does not in any way limit the present disclosure, its application or use. In the embodiments of the present disclosure, the memory 1200 of the electronic device 1000 is used to store instructions, which are used to control the processor 1100 to operate to perform any of the methods provided in the embodiments of the present disclosure. It should be understood by those skilled in the art that although Figure 1 While multiple devices are shown for electronic device 1000, the present disclosure may only relate to some of these devices. For example, electronic device 1000 may only relate to processor 1100 and memory 1200. A skilled person can design instructions based on the solutions disclosed in this disclosure. How instructions control processor operations is well known in the art and will not be described in detail here.

[0057] <Method Example>

[0058] The present disclosure provides a vibration control method, which can be implemented by an electronic device, specifically, by Figure 1 The electronic device 1000 is shown as an implementation.

[0059] Figure 2 4 is a flow chart of a vibration control method according to an embodiment of the present disclosure.

[0060] like Figure 2 As shown, the method includes steps S2100 to S2400 as shown below:

[0061] Step S2100 , in response to a vibration event, generating a prototype waveform that conforms to a set waveform shape, wherein the integral of the prototype waveform within one cycle is zero.

[0062] In this embodiment, multiple prototype waveforms can be pre-set in the prototype waveform library. Each prototype waveform needs to meet the constraint condition that the integral within one period is zero. The prototype waveform can be an axisymmetric waveform or a non-axisymmetric waveform.

[0063] In some embodiments, the prototype waveform may include, but is not limited to, a waveform having a basic waveform shape such as a rectangular wave, a triangle wave, a trapezoidal wave, or a sine wave.

[0064] When the prototype waveform is an axisymmetric waveform, the waveform amplitude am_p of the positive half coordinate axis, the waveform duration t_p of the positive half coordinate axis, the waveform amplitude am_n of the negative half coordinate axis, and the waveform duration t_n of the negative half coordinate axis satisfy the following condition: am_p*t_p=am_n*t_n.

[0065] In some embodiments, the waveform shape may be set in advance by the user through an interactive interface provided by the electronic device.

[0066] In some embodiments, the waveform shape may be pre-set according to the vibration scenario of the motor.

[0067] The prototype waveform of this embodiment may be a periodic waveform.

[0068] In some embodiments, the electronic device may be provided with an interactive interface in advance, wherein a vibration trigger button is provided in the interactive interface, and the user may trigger a vibration event by clicking the vibration trigger button.

[0069] In some embodiments, the electronic device may also determine that a vibration event occurs when it receives a vibration instruction sent by another electronic device.

[0070] In some embodiments, the electronic device may also determine that a vibration event has occurred when receiving a target operation. The target operation may be a user operation pre-set based on an application scenario or specific needs. For example, the target operation may be a click operation on a control in the electronic device, an operation to move a control in the electronic device to a specified position, or a triggering operation on a set function of the electronic device (such as returning to the main interface, returning to the previous interface, etc.), and the target operation is not limited here.

[0071] Step S2200 : generating a target vibration signal whose envelope matches the prototype waveform according to the waveform parameters representing the vibration condition of the motor set by the vibration event.

[0072] In this embodiment, the waveform parameters may be pre-set by the user through an interactive interface provided by the electronic device, may be pre-set for a vibration event, or may be pre-set based on a vibration scenario of a motor.

[0073] In this embodiment, the waveform parameters may include waveform fitting parameters for fitting the vibration waveform of the motor and waveform combination parameters for generating a signal according to the waveform.

[0074] In some embodiments, the waveform fitting parameters include at least one of the following: fitting order, fitting base waveform, fitting function, and motor resonant frequency. The waveform combination parameters include at least one of the following: amplitude, frequency, amplitude asymmetry, direction, number of cycles, and silence duration.

[0075] In this embodiment, the fitting function may be any one or more combinations of a polynomial function, an exponential function, a sine function, a cosine function, and a Gaussian function.

[0076] The fitting basic waveform may be any one or more combinations of a sine waveform, a cosine waveform, a rectangular waveform, and a triangle waveform.

[0077] In some embodiments, a target vibration signal whose envelope matches the prototype waveform is generated based on waveform parameters representing the vibration condition of the motor set by the vibration event, including: fitting a vibration waveform whose envelope matches the prototype waveform based on waveform fitting parameters and the prototype waveform; and obtaining a target vibration signal that matches the vibration waveform based on the vibration waveform and waveform combination parameters.

[0078] In an embodiment where the prototype waveform is a periodic waveform, the obtained vibration waveform may also be a periodic waveform.

[0079] In some embodiments, a vibration waveform whose envelope matches the prototype waveform is fitted based on the waveform fitting parameters and the prototype waveform, including: performing parameter identification on the envelope waveform based on the waveform fitting parameters to obtain identification parameters; and obtaining the vibration waveform based on the identification parameters and the prototype waveform.

[0080] In an example, the fitting order is 4, the fitting basic waveform is a sine waveform and a matching cosine signal, and the fitting function is a sine function and a cosine function. Then, the parameter identification can be determined by the following formula:

[0081] d(i)=d(i-1)+[(x'*v) / (1+x'*v*x)]'*(y-x'*d(i-1))

[0082] w=2πf

[0083]

[0084] Where v is an 8*8 unit diagonal matrix, d(i) is the identification parameter at the current sampling moment, d(i-1) is the identification parameter at the previous sampling moment, t is the time, y is the prototype waveform, and f is the resonant frequency of the motor.

[0085] In order to effectively improve the efficiency of the target drive signal and the vibration sensation of the motor, f in the fitting formula can be the resonant frequency calculated by the voltage and current of the motor during the vibration process, or it can be a pre-set resonant frequency.

[0086] The vibration waveform Yfit can be determined by the following formula:

[0087] Yfit=x'*d(i)

[0088] The target vibration signal that matches the vibration waveform may be a target vibration signal whose waveform is the same as the vibration waveform.

[0089] In one embodiment, the vibration waveform may be one or more groups of waveforms arranged in chronological order, and each group of waveforms may be realized by a motor, wherein a group of waveforms may be a waveform of one or more frequencies.

[0090] Step S2300: determining a target driving signal required for the motor to achieve a target vibration signal.

[0091] In this embodiment, the target drive signal may be obtained based on the target vibration signal and motor parameters of the motor to be driven. The motor parameters may include, but are not limited to, at least one of the following parameters: resonant frequency, motor vibrator mass, damping coefficient, spring constant, electromagnetic coupling parameter, DC resistance, etc.

[0092] The motor parameters in this embodiment may be pre-stored in the electronic device, or may be obtained by detecting the voltage and current at both ends of the motor during the motor driving process.

[0093] Furthermore, the drive signal required to realize the target vibration signal, i.e., the target drive signal, can be calculated by utilizing the mathematical relationship between physical quantities such as acceleration, velocity, displacement, temperature, momentum, impulse, current, voltage, and back electromotive force.

[0094] In one embodiment, the target vibration signal may be input into a preset transfer function model to obtain a target driving signal.

[0095] In some embodiments, while driving the motor to vibrate according to the target drive signal, the voltage and current at both ends of the motor can also be detected, the motor parameters can be calculated based on the voltage and current, and the calculated motor parameters can be fed back into the transfer function model, so that the transfer function model determines the target drive signal based on the latest motor parameters, which can enable the target drive signal to drive the motor more accurately to obtain the target vibration signal.

[0096] Step S2400: driving the motor to vibrate according to the target driving signal.

[0097] The motor in this embodiment may be a wide-frequency linear motor (Linear Resonant Actuator).

[0098] In this embodiment, the motor is driven to vibrate according to the target drive signal, so that the motor can produce any one or more vibration effects such as the steering of a car steering wheel, the twisting of an animal, the wriggling of a caterpillar, gravity, changes in centrifugal force, changes in translational rotation, etc.

[0099] Through the embodiments of the present disclosure, in response to a vibration event, a prototype waveform is generated that conforms to the waveform shape set by the vibration event, a target vibration signal whose envelope matches the prototype waveform is generated according to the waveform parameters set by the vibration event, and the motor is driven to vibrate according to the target drive signal required for the motor to achieve the target vibration signal. This can enable the motor to produce richer customized vibration effects and enhance the user experience.

[0100] In some embodiments, the method further includes: detecting a first voltage and a first current of the motor at a first sampling moment during the process of driving the motor to vibrate according to the target drive signal; adjusting the voltage of the target drive signal at a second sampling moment according to the first voltage and the first current; wherein the second sampling moment is the next sampling moment of the first sampling moment.

[0101] In this embodiment, the voltage across the motor and the current flowing through the motor may be sampled to obtain the first voltage and the first current.

[0102] In some embodiments, adjusting the voltage of the target drive signal at the second sampling moment according to the first voltage and the first current includes: determining the first vibration displacement of the motor at the first sampling moment according to the first voltage and the first current; predicting the second vibration displacement of the motor at the second sampling moment according to the first vibration displacement; determining the displacement difference between the second vibration displacement and the set vibration displacement when the second vibration displacement is greater than the set vibration displacement; and adjusting the voltage of the target drive signal at the second sampling moment according to the displacement difference.

[0103] In this embodiment, the set vibration displacement may be a preset maximum vibration displacement of the motor.

[0104] In this embodiment, first mapping data reflecting the mapping relationship between voltage, current and displacement can be pre-set; based on the first voltage, first current and the first mapping data, the displacement corresponding to the first voltage and first current is obtained as the first vibration displacement.

[0105] The first mapping data may be a first mapping function, or a first comparison table, etc., which is not limited here.

[0106] For the first mapping function, the dependent variable of the first mapping function is displacement, and the independent variables are voltage and current. In this way, by substituting the first voltage and the first current into the first mapping function, the displacement corresponding to the first voltage and the first current can be obtained as the first vibration displacement.

[0107] For the first lookup table, the displacement corresponding to the first voltage and the first current may be searched in the first lookup table as the first vibration displacement.

[0108] In some embodiments, predicting the second vibration displacement of the motor at the second sampling moment based on the first vibration displacement includes: obtaining the second voltage of the target drive signal at the second sampling moment, the third voltage of the motor at the third sampling moment, and the third vibration displacement of the motor at the third sampling moment; wherein the third sampling moment is the previous sampling moment of the first sampling moment; and predicting the second vibration displacement based on the first voltage, the second voltage, the third voltage, the first vibration displacement, and the second vibration displacement.

[0109] In this embodiment, the time interval between the first sampling moment and the third sampling moment is equal to the time interval between the second sampling moment and the first sampling moment.

[0110] In this embodiment, the second vibration displacement of the motor at the second sampling moment can be predicted by the following formula:

[0111]

[0112] Wherein, x(k) represents the second vibration displacement, x(k-1) represents the first vibration displacement, x(k-2) represents the third vibration displacement, u(k-1) represents the first voltage, u(k) represents the second voltage, u(k-2) represents the third voltage, T s represents the time interval between adjacent sampling moments, Bl represents the electromagnetic induction intensity, m represents the mass of the motor, R e Indicates the DC resistance of the motor, R ms Indicates the damping coefficient of the motor, K ms Indicates the spring constant of the motor.

[0113] In this embodiment, second mapping data reflecting the mapping relationship between the displacement difference and the voltage gain may be preset; based on the displacement difference and the second mapping data, a voltage gain corresponding to the displacement difference is obtained as the first voltage gain.

[0114] The second mapping data may be a second mapping function, or a second comparison table, etc., which is not limited here.

[0115] For the second mapping function, the dependent variable of the second mapping function is the voltage gain, and the independent variable is the displacement difference. Thus, by substituting the displacement difference into the second mapping function, the voltage gain corresponding to the displacement difference can be obtained as the first voltage gain.

[0116] The second lookup table can be used to find the voltage gain corresponding to the displacement difference and use it as the first voltage gain. If the displacement difference cannot be directly found in the second lookup table, two values adjacent to the displacement difference can be found and, based on these two values and the voltage gains corresponding to them, the voltage gain corresponding to the displacement difference can be obtained by interpolation as the first voltage gain.

[0117] When the first voltage gain is obtained, the voltage of the target driving signal at the second sampling moment may be reduced according to the first voltage gain.

[0118] This embodiment ensures that the motor will not exceed the displacement limit due to excessive voltage, which may damage the motor or produce abnormal noise and cause a bad user experience.

[0119] In some embodiments, adjusting the voltage of the target drive signal at the second sampling moment according to the first voltage and the first current includes: determining the first DC resistance of the motor at the first sampling moment according to the first voltage and the first current; determining the first temperature of the motor at the first sampling moment according to the first DC resistance, the initial DC resistance of the motor at the initial temperature, and the initial temperature; when the first temperature is greater than the set temperature, determining the temperature difference between the first temperature and the set temperature; and adjusting the voltage of the target drive signal at the second sampling moment according to the temperature difference.

[0120] In this embodiment, the first temperature of the motor at the first sampling moment may be determined by the following formula:

[0121]

[0122] Where T represents the first temperature of the motor at the first sampling moment, R e Represents the first DC resistance of the motor at the first sampling moment, R e0 represents the initial DC resistance of the motor at the initial temperature, T0 represents the initial temperature, and alpha represents the temperature rise coefficient.

[0123] In this embodiment, third mapping data reflecting the mapping relationship between the temperature difference and the voltage gain may be preset; based on the temperature difference and the third mapping data, a voltage gain corresponding to the temperature difference is obtained as the second voltage gain.

[0124] The third mapping data may be a third mapping function, or a third comparison table, etc., which is not limited here.

[0125] For the third mapping function, the dependent variable of the third mapping function is the voltage gain, and the independent variable is the temperature difference. Thus, by substituting the temperature difference into the third mapping function, the voltage gain corresponding to the temperature difference can be obtained as the second voltage gain.

[0126] The third lookup table can be used to find the voltage gain corresponding to the temperature difference and use it as the second voltage gain. If the temperature difference cannot be directly found in the third lookup table, two values adjacent to the temperature difference can be found and, based on these two values and the voltage gains corresponding to them, the voltage gain corresponding to the temperature difference can be obtained by interpolation as the second voltage gain.

[0127] When the second voltage gain is obtained, the voltage of the target driving signal at the second sampling moment may be reduced according to the second voltage gain.

[0128] This embodiment can prevent the motor from being damaged due to excessive temperature and poor heat dissipation.

[0129] <Device Example>

[0130] The present disclosure provides a vibration control device, such as Figure 3 As shown, the vibration control device 3000 includes a prototype waveform generating module 3100 , a vibration signal generating module 3200 , a driving signal determining module 3300 and a motor driving module 3400 .

[0131] The prototype waveform generating module 3100 is configured to generate a prototype waveform having a waveform shape that conforms to a vibration event in response to the vibration event, wherein the integral of the prototype waveform within one cycle is zero.

[0132] The vibration signal generating module 3200 is configured to generate a target vibration signal whose envelope matches the prototype waveform according to the waveform parameters representing the vibration condition of the motor set by the vibration event.

[0133] The driving signal determination module 3300 is used to determine the target driving signal required for the motor to achieve the target vibration signal.

[0134] The motor driving module 3400 is configured to drive the motor to vibrate according to the target driving signal.

[0135] In some embodiments, the waveform parameters include waveform fitting parameters for fitting the vibration waveform of the motor, and waveform combination parameters for generating a signal according to the waveform.

[0136] The vibration signal generating module 3200 is used to:

[0137] According to the waveform fitting parameters and the prototype waveform, a vibration waveform whose envelope matches the prototype waveform is obtained by fitting;

[0138] A target vibration signal matching the vibration waveform is obtained according to the vibration waveform and the waveform combination parameters.

[0139] In some embodiments, fitting a vibration waveform whose envelope matches the prototype waveform according to the waveform fitting parameters and the prototype waveform includes:

[0140] performing parameter identification on the envelope waveform according to the waveform fitting parameters to obtain identification parameters;

[0141] The vibration waveform is obtained according to the identification parameters and the prototype waveform.

[0142] In some embodiments, the waveform fitting parameters include at least one of the following: fitting order, fitting basic waveform, fitting function, and motor resonant frequency; the waveform combination parameters include at least one of the following: amplitude, frequency, amplitude asymmetry, direction, number of cycles, and silence duration.

[0143] In some embodiments, the vibration control device 3000 further includes:

[0144] a module for detecting a first voltage and a first current of the motor at a first sampling moment in a process of driving the motor to vibrate according to the target drive signal;

[0145] A module for adjusting the voltage of the target drive signal at a second sampling moment according to the first voltage and the first current; wherein the second sampling moment is a sampling moment next to the first sampling moment.

[0146] In some embodiments, adjusting the voltage of the target drive signal at the second sampling moment according to the first voltage and the first current includes:

[0147] determining a first vibration displacement of the motor at the first sampling moment according to the first voltage and the first current;

[0148] predicting a second vibration displacement of the motor at a second sampling moment based on the first vibration displacement;

[0149] In a case where the second vibration displacement is greater than a set vibration displacement, determining a displacement difference between the second vibration displacement and the set vibration displacement;

[0150] The voltage of the target driving signal at the second sampling moment is adjusted according to the displacement difference.

[0151] In some embodiments, predicting the second vibration displacement of the motor at the second sampling moment based on the first vibration displacement includes:

[0152] Acquire a second voltage of the target drive signal at the second sampling moment, a third voltage of the motor at a third sampling moment, and a third vibration displacement of the motor at the third sampling moment; wherein the third sampling moment is a sampling moment before the first sampling moment;

[0153] The second vibration displacement is predicted based on the first voltage, the second voltage, the third voltage, the first vibration displacement, and the second vibration displacement.

[0154] In some embodiments, adjusting the voltage of the target drive signal at the second sampling moment according to the first voltage and the first current includes:

[0155] determining a first DC resistance of the motor at the first sampling moment according to the first voltage and the first current;

[0156] determining a first temperature of the motor at the first sampling moment according to the first DC resistance, the initial DC resistance of the motor at the initial temperature, and the initial temperature;

[0157] When the first temperature is greater than a set temperature, determining a temperature difference between the first temperature and the set temperature;

[0158] The voltage of the target driving signal at the second sampling moment is adjusted according to the temperature difference.

[0159] <Electronic Equipment Example>

[0160] This embodiment provides an electronic device. In one aspect, the electronic device may include the aforementioned vibration control device 3000 .

[0161] On the other hand, Figure 4 As shown, the electronic device 4000 may include a processor 4100 and a memory 4200, the memory 4200 is used to store computer programs, and the processor 4100 is used to control the electronic device to execute the method of any embodiment of the present disclosure under the control of the computer program.

[0162] <Readable Storage Medium Embodiment>

[0163] This embodiment provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the method described in any method embodiment of the present disclosure is executed.

[0164] The present invention may be a system, a method and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present invention.

[0165] A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination thereof. As used herein, a computer-readable storage medium is not to be construed as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through an electrical wire.

[0166] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in the computer-readable storage medium in each computing / processing device.

[0167] The computer program instructions for performing the operation of the present invention can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, and conventional procedural programming languages such as "C" language or similar programming languages. The computer readable program instructions can be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer, partially on a remote computer, or completely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), is personalized by utilizing the state information of the computer readable program instructions, and the electronic circuit can execute the computer readable program instructions, thereby realizing various aspects of the present invention.

[0168] Various aspects of the present invention are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0169] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0170] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0171] The flowcharts and block diagrams in the accompanying drawings show the possible implementation architecture, functions and operations of the systems, methods and computer program products according to multiple embodiments of the present invention. In this regard, each box in the flowchart or block diagram can represent a module, program segment or part of an instruction, and the module, program segment or part of the instruction contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system that performs the specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions. It is well known to those skilled in the art that implementation by hardware, implementation by software, and implementation by a combination of software and hardware are all equivalent.

[0172] While various embodiments of the present invention have been described above, the foregoing description is intended to be illustrative, non-exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, their practical applications, or technological improvements in the marketplace, or to enable others skilled in the art to understand the embodiments disclosed herein. The scope of the present invention is defined by the appended claims.

Claims

1. A vibration control method, characterized in that: include: In response to a vibration event, generating a prototype waveform having a waveform shape that conforms to the waveform shape set by the vibration event, wherein an integral of the prototype waveform within one cycle is zero; generating a target vibration signal having an envelope matching the prototype waveform according to waveform parameters representing the vibration condition of the motor set by the vibration event; determining a target drive signal required for the motor to achieve the target vibration signal; The motor is driven to vibrate according to the target driving signal.

2. The method according to claim 1, characterized in that The waveform parameters include waveform fitting parameters for fitting the vibration waveform of the motor and waveform combination parameters for generating a signal according to the waveform. The step of generating a target vibration signal having an envelope matching the prototype waveform based on waveform parameters representing the vibration condition of the motor set according to the vibration event comprises: According to the waveform fitting parameters and the prototype waveform, a vibration waveform whose envelope matches the prototype waveform is obtained by fitting; A target vibration signal matching the vibration waveform is obtained according to the vibration waveform and the waveform combination parameters.

3. The method according to claim 2, characterized in that The step of fitting a vibration waveform whose envelope matches the prototype waveform according to the waveform fitting parameter and the prototype waveform includes: performing parameter identification on the envelope waveform according to the waveform fitting parameters to obtain identification parameters; The vibration waveform is obtained according to the identification parameters and the prototype waveform.

4. The method according to claim 2, characterized in that The waveform fitting parameters include at least one of the following: fitting order, fitting basic waveform, fitting function, and motor resonant frequency; the waveform combination parameters include at least one of the following: amplitude, frequency, amplitude asymmetry, direction, number of cycles, and silence duration.

5. The method according to claim 1, wherein The method further comprises: In a process of driving the motor to vibrate according to the target driving signal, detecting a first voltage and a first current of the motor at a first sampling moment; The voltage of the target drive signal at a second sampling moment is adjusted according to the first voltage and the first current; wherein the second sampling moment is a sampling moment next to the first sampling moment.

6. The method according to claim 5, characterized in that The adjusting the voltage of the target drive signal at the second sampling moment according to the first voltage and the first current includes: determining a first vibration displacement of the motor at the first sampling moment according to the first voltage and the first current; predicting a second vibration displacement of the motor at a second sampling moment based on the first vibration displacement; In a case where the second vibration displacement is greater than a set vibration displacement, determining a displacement difference between the second vibration displacement and the set vibration displacement; The voltage of the target driving signal at the second sampling moment is adjusted according to the displacement difference.

7. The method according to claim 6, characterized in that The predicting, based on the first vibration displacement, the second vibration displacement of the motor at the second sampling moment includes: Acquire a second voltage of the target drive signal at the second sampling moment, a third voltage of the motor at a third sampling moment, and a third vibration displacement of the motor at the third sampling moment; wherein the third sampling moment is a sampling moment before the first sampling moment; The second vibration displacement is predicted based on the first voltage, the second voltage, the third voltage, the first vibration displacement, and the second vibration displacement.

8. The method according to claim 5, characterized in that The adjusting the voltage of the target drive signal at the second sampling moment according to the first voltage and the first current includes: determining a first DC resistance of the motor at the first sampling moment according to the first voltage and the first current; determining a first temperature of the motor at the first sampling moment according to the first DC resistance, the initial DC resistance of the motor at the initial temperature, and the initial temperature; When the first temperature is greater than a set temperature, determining a temperature difference between the first temperature and the set temperature; The voltage of the target driving signal at the second sampling moment is adjusted according to the temperature difference.

9. A vibration control device, characterized in that: include: a prototype waveform generating module, configured to generate, in response to a vibration event, a prototype waveform having a waveform shape that conforms to the waveform shape set by the vibration event, wherein the integral of the prototype waveform within one cycle is zero; a vibration signal generating module, configured to generate a target vibration signal having an envelope matching the prototype waveform according to waveform parameters representing the vibration condition of the motor set by the vibration event; a driving signal determination module, configured to determine a target driving signal required for the motor to achieve the target vibration signal; The motor driving module is configured to drive the motor to vibrate according to the target driving signal.

10. An electronic device, characterized in that: The method comprises a processor and a memory, wherein the memory is used to store a computer program, and the processor is used to execute the method according to any one of claims 1 to 8 under the control of the computer program.