Motor impedance monitoring method and electronic device
By superimposing a monitoring signal onto the motor's vibration signal, the motor impedance is monitored in real time, and the drive and brake signals are adjusted accordingly. This solves the problems of poor motor drive and braking performance in existing technologies, and enables real-time monitoring and safety protection of the motor.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-11-29
- Publication Date
- 2026-07-30
AI Technical Summary
Existing technologies cannot effectively monitor motor impedance in real time, resulting in poor motor drive performance and poor braking performance.
By superimposing a monitoring signal onto the motor's vibration signal, the motor impedance is monitored in real time. The intensity of the drive and brake signals is adjusted according to the monitored impedance, thereby achieving real-time monitoring of the motor impedance and regulation of the drive capability.
This improves the motor's driving performance and braking effect, prevents overheating damage, and enhances the overall driving capability and safety of the motor.
Smart Images

Figure CN2025138817_30072026_PF_FP_ABST
Abstract
Description
A method and electronic device for monitoring motor impedance
[0001] This application claims priority to Chinese Patent Application No. 202510116552.7, filed on January 23, 2025, entitled "A Motor Impedance Monitoring Method and Electronic Device", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of computer technology, and in particular to a method and electronic device for monitoring motor impedance. Background Technology
[0003] Currently, electronic devices can measure the motor impedance at the factory and then input a vibration signal of a certain intensity to the motor based on that impedance to drive the motor to vibrate. However, the actual driving effect when driving the motor is not good. Summary of the Invention
[0004] This application discloses a motor impedance monitoring method and electronic device. By superimposing a monitoring signal on the vibration signal of the motor, the motor impedance can be monitored in real time. Furthermore, the driving capability of the motor can be adjusted in real time according to the monitored motor impedance, thereby improving the driving effect of the motor.
[0005] In a first aspect, embodiments of this application provide a motor impedance monitoring method applied to an electronic device, the electronic device including a motor, the method comprising: inputting a first vibration current and a monitoring signal to the motor, the first vibration current being used to drive the motor to vibrate; acquiring the output voltage and output current of the monitoring signal within an impedance monitoring duration, the output voltage being a voltage corresponding to the motor monitored according to the monitoring signal, the output current being a current corresponding to the motor monitored according to the monitoring signal, the impedance monitoring duration including a multi-frame monitoring duration, the multi-frame monitoring duration including a first frame monitoring duration; obtaining a first impedance of the motor within the first frame monitoring duration based on the output voltage and the output current within the first frame monitoring duration, the impedance monitoring duration being greater than or equal to the vibration duration of the first vibration current.
[0006] In the above method, when the electronic device inputs the first vibration current to drive the motor to vibrate, it can simultaneously input a monitoring signal. That is, by simultaneously inputting the first vibration current and the monitoring signal to the motor, the motor impedance can be monitored in real time. The impedance monitoring duration of the monitoring signal is greater than or equal to the vibration duration of the first vibration current. The electronic device can monitor the output voltage and output current of the monitoring signal for each frame of the impedance monitoring duration in real time, and calculate the first impedance of the motor in any frame of the monitoring duration (i.e., the first frame of the monitoring duration) based on the output voltage and output current in any frame of the monitoring duration (e.g., the first frame of the monitoring duration). This achieves real-time monitoring of the motor impedance and solves the current problem of not being able to monitor the motor impedance effectively in real time.
[0007] In one possible implementation, the first impedance of the motor is used to adjust one or more of the following: the voltage of the second vibration current, the voltage of the first vibration current corresponding to the first voice coil temperature, and the voltage of the first brake signal, wherein the second vibration current is the vibration current of the motor within a second frame monitoring duration, the second frame monitoring duration is a monitoring duration following the first frame monitoring duration in the multi-frame monitoring duration, the first voice coil temperature is the voice coil temperature of the motor at any moment within the first frame monitoring duration, and the first brake signal is the brake signal of the motor at any moment within the first frame monitoring duration.
[0008] In the above method, the first impedance detected by the electronic device within the first monitoring frame can be used to adjust the voltage of the second vibration current of the motor within the second monitoring frame. This allows the voltage of the motor's vibration current to change with the motor's impedance, thus maintaining consistent vibration intensity and amplitude during motor vibration and resulting in better actual motor driving performance. The first impedance can also be used to determine the motor's voice coil temperature at any given moment within the first monitoring frame, and adjust the voltage of the motor's vibration current based on that temperature. This prevents motor overheating and damage, enabling temperature monitoring and protection. Furthermore, the first impedance can be used to adjust the motor's braking signal at any given moment within the first monitoring frame, allowing the braking signal to change with the motor's impedance. This enables timely motor braking control, improves braking performance, and regulates the motor's driving capability.
[0009] In one possible implementation, the duration of vibration of the first vibration flow is the duration between the start and end of vibration of the first vibration flow, and the duration of impedance monitoring is the duration between the start and end of impedance monitoring of the monitoring signal, wherein the start of vibration of the first vibration flow and the start of impedance monitoring are the same, and the end of vibration of the first vibration flow is earlier than or equal to the end of impedance monitoring.
[0010] In one possible implementation, the end time of the first vibration flow is less than the end time of the impedance monitoring. The method further includes: when the electronic device detects the second vibration flow of the motor within the impedance monitoring duration, updating the impedance monitoring end time, wherein the monitoring signal is used to monitor the impedance of the motor before the updated impedance monitoring end time, and the time when the second vibration flow is input to the motor is later than the time when the first vibration flow is input to the motor; when the electronic device does not detect the second vibration flow of the motor within the impedance monitoring duration, ending the impedance monitoring of the motor at the impedance monitoring end time.
[0011] In the above method, if the electronic device detects a new vibration flow (e.g., a second vibration flow) before (and including) the impedance monitoring end time, the impedance monitoring end time of the monitoring signal can be updated. The updated impedance monitoring end time is later than the end time of the second vibration flow. If the electronic device does not detect the second vibration flow before (and including) the impedance monitoring end time, the electronic device can end the impedance monitoring of the motor at the impedance monitoring end time. Since the vibration flow of the motor is mostly intermittent and the vibration duration is short, by extending the impedance monitoring duration, impedance monitoring of multiple consecutive vibration flows with short durations can be achieved at once within that impedance monitoring duration. This avoids the situation where the vibration flow cannot be captured / detected by the monitoring signal due to its short duration, thus improving the monitoring accuracy and expanding the applicability of the solution in this application.
[0012] In one possible implementation, the duration of vibration of the second vibration flow is less than the duration of impedance monitoring, and updating the end time of impedance monitoring includes: taking the start time of vibration of the second vibration flow as the starting time, and obtaining the updated end time of impedance monitoring after an interval of the duration of impedance monitoring.
[0013] In the above method, if the electronic device detects a new vibration flow (e.g., a second vibration flow) before (including) the impedance monitoring end time, the electronic device can use the start time of the second vibration flow as the starting time and extend the impedance monitoring duration of a monitoring signal to obtain a new impedance monitoring end time. The updated impedance monitoring end time is later than the end time of the new vibration flow to ensure that the second vibration flow can be fully monitored. Furthermore, the electronic device can detect whether a new vibration flow will appear before (including) the updated impedance monitoring end time to determine whether to update the impedance monitoring end time again (i.e., extend the impedance monitoring duration again to continue monitoring), thereby realizing impedance monitoring of the motor vibration flow.
[0014] In one possible implementation, the method further includes: the electronic device acquiring the vibration duration of the first vibration flow; when the vibration duration of the first vibration flow is greater than a first threshold, determining that the impedance monitoring duration of the monitoring signal is equal to the vibration duration of the first vibration flow.
[0015] In the above method, the electronic device can obtain the vibration duration of the first vibration flow. When the vibration duration is greater than a first threshold, the first vibration flow can be determined to be a vibration flow with a relatively long vibration duration. At this time, the impedance monitoring duration of the monitoring signal can be determined to be equal to the vibration duration of the first vibration flow. The electronic device can monitor the output voltage and output current of the monitoring signal in each frame of the impedance monitoring duration in real time, and calculate the impedance of the motor in each frame of the monitoring duration based on the output voltage and output current of each frame of the monitoring duration. When the first vibration flow ends, the impedance monitoring also ends, thereby saving the power consumption of the electronic device. This monitoring scheme can be applied to the impedance monitoring of non-continuous vibration flows with a long vibration duration, further expanding the applicability of the impedance monitoring method.
[0016] In one possible implementation, the monitoring signal includes a plurality of first monitoring signals, and the input of the first vibration flow and the monitoring signal to the motor includes: inputting the first vibration flow to the motor, and periodically inputting the plurality of first monitoring signals to the motor.
[0017] In the above method, the electronic device can input a first vibration flow to the motor at the first moment, and input a first monitoring signal to the motor at the first moment, and periodically input multiple first monitoring signals to the motor, and monitor the motor impedance in real time within each frame monitoring time of the impedance monitoring time of each first monitoring signal. This monitoring scheme can monitor the motor impedance through multiple monitoring signals, which is suitable for scenarios of electronic device vibration. It can also be combined with the above scheme where the impedance monitoring time is equal to or greater than the vibration duration of the vibration flow to be applicable to the motor impedance monitoring of different electronic devices, or the motor impedance monitoring of the same electronic device in different scenarios, further expanding the applicability of the impedance monitoring method.
[0018] In one possible implementation, the multi-frame monitoring duration further includes a second frame monitoring duration, which is a monitoring duration following the first frame monitoring duration. The method further includes: determining the voltage of the second vibration current within the second frame monitoring duration based on the first impedance of the motor within the first frame monitoring duration.
[0019] In the above method, the electronic device can adjust the voltage of the second vibration current in the next monitoring frame (i.e., the second monitoring frame) based on the first impedance of the motor in the first monitoring frame, so that the voltage of the motor vibration current can change with the change of the motor impedance, thereby keeping the vibration intensity and vibration amplitude of the motor consistent, and making the actual driving effect of the motor better.
[0020] In one possible implementation, the method further includes: the electronic device acquiring the frequency and power of the first vibration flow; and determining the frequency and intensity of the monitoring signal based on the frequency and power of the first vibration flow.
[0021] In the above method, the electronic device can adaptively adjust the frequency and intensity of the monitoring signal according to the frequency and power of the first vibration current. For example, when the frequency of the first vibration current is high, increasing the frequency of the monitoring signal can reduce the monitoring time of one frame, thereby improving the accuracy of impedance monitoring. This can be understood as follows: within the same impedance monitoring time, the shorter the monitoring time of one frame, the more frequently / number of times the motor impedance value is detected, thus resulting in higher monitoring accuracy and higher monitoring coverage. Conversely, when the frequency of the first vibration current is low, the frequency of the monitoring signal can be reduced, thereby saving power consumption of the electronic device. Furthermore, when the power of the first vibration current is high (correspondingly, the signal-to-noise ratio of the monitoring signal is low), the motor heats up more severely. In this case, increasing the intensity of the monitoring signal can improve the signal-to-noise ratio of the monitoring signal, thereby improving the accuracy of impedance / temperature monitoring. When the power of the first vibration current is low, the intensity of the monitoring signal can be reduced, saving power consumption of the electronic device.
[0022] In one possible implementation, the method further includes: the electronic device acquiring the voltage and current of the first vibration flow at a current moment, the current moment being any moment within the first frame monitoring duration; determining the voltage of a first braking signal of the motor at the current moment based on the first impedance of the motor at the current moment, the voltage and current of the first vibration flow at the current moment, the first braking signal being used to control the motor to brake at the current moment.
[0023] In the above method, the electronic device can determine the voltage of the first braking signal of the motor at the current moment based on the first impedance of the motor, the voltage and current of the first vibration current, so as to control the motor braking in time at the current moment. By adjusting the motor braking signal by real-time monitoring of the motor impedance, the voltage of the braking signal can change with the change of the motor impedance, so as to control the motor braking in time at any moment, improve the braking effect of the motor, and realize the regulation of the motor driving capability.
[0024] In one possible implementation, the method further includes: the electronic device determining the first voice coil temperature at the current moment based on the first impedance of the motor at the current moment, wherein the current moment is any moment within the first frame monitoring duration; when the first voice coil temperature is greater than a first temperature, the electronic device stops inputting the first vibration current to the motor; when the first voice coil temperature is greater than a second temperature and less than or equal to the first temperature, the electronic device reduces the voltage inputting the first vibration current to the motor; when the first voice coil temperature is less than or equal to the second temperature, the electronic device maintains the voltage inputting the first vibration current to the motor.
[0025] In the above method, the electronic device can determine the current temperature of the motor's first voice coil based on the motor's current impedance, and adjust the motor's first vibration current accordingly. For example, if the first voice coil temperature is too high (e.g., the first voice coil temperature is greater than a certain temperature), the electronic device immediately stops inputting the first vibration current to the motor, thereby stopping the motor from vibrating and preventing overheating damage. If the first voice coil temperature is too high (e.g., the first voice coil temperature is greater than a certain temperature but less than or equal to the first temperature), the motor is in a high-temperature state, and the electronic device can reduce the voltage of the first vibration current to prevent the motor from overheating. If the first voice coil temperature is normal (the first voice coil temperature is less than or equal to the second temperature), the motor is in a normal operating state, and the electronic device can maintain the voltage of the first vibration current unchanged to drive the motor to vibrate normally. In this way, motor overheating damage can be prevented, achieving motor temperature monitoring and protection.
[0026] In one possible implementation, the monitoring duration of the first frame of the monitoring signal is less than or equal to the vibration duration of the first vibration flow.
[0027] In the above method, the monitoring duration of the monitoring signal within one frame (i.e., the monitoring duration of the first frame) is less than or equal to the vibration duration of the first vibration flow, so that the first vibration flow can be monitored by the monitoring signal, thereby realizing real-time monitoring of the motor impedance.
[0028] In one possible implementation, the frequency range of the first vibration flow is different from the frequency range of the monitoring signal, and the difference between the frequency of the first vibration flow and the frequency of the monitoring signal is greater than or equal to a preset threshold.
[0029] In the above method, by superimposing a monitoring signal outside the operating frequency range of the first vibration flow, the frequency range of the monitoring signal differs from that of the first vibration flow. This does not change the vibration intensity or amplitude of the motor, allowing for real-time monitoring of the motor impedance without the user's awareness, thus improving the user experience. Furthermore, by using a frequency more than twice the octave band of the first vibration flow (e.g., the difference between the two frequencies is greater than or equal to a preset threshold), the noise ratio of the monitoring signal can be improved, thereby enhancing the accuracy of impedance monitoring.
[0030] In a second aspect, embodiments of this application provide an electronic device, the electronic device comprising: a motor, a memory, a processor, and a computer program stored in the memory, wherein when the processor executes the computer program, the electronic device executes the method described in any implementation of the first aspect.
[0031] Thirdly, this application provides an electronic device including one or more processors and one or more memories. The one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer program code, including computer instructions, which, when executed by the one or more processors, cause the electronic device to perform the motor impedance monitoring method in any possible implementation of the first aspect described above.
[0032] Fourthly, this application provides a computer storage medium storing a computer program that, when executed by a processor, implements the motor impedance monitoring method in any of the possible implementations of any of the above aspects.
[0033] Fifthly, this application provides a computer program product that, when run on an electronic device, causes the electronic device to execute the motor impedance monitoring method in any of the possible implementations of any of the above aspects.
[0034] Sixthly, this application provides an electronic device including the method or apparatus described in any implementation of the first aspect of this application. The electronic device is, for example, a chip. Attached Figure Description
[0035] The following describes the accompanying drawings used in this application.
[0036] Figure 1 is a schematic diagram of the impedance monitoring duration of a monitoring signal provided in this application;
[0037] Figure 2 is a schematic diagram of the hardware structure of an electronic device 100 provided in this application;
[0038] Figure 3 is a schematic diagram of the software architecture of an electronic device 100 provided in this application;
[0039] Figure 4 is a schematic diagram of a signal transmission path provided in this application;
[0040] Figure 5 is a flowchart illustrating a motor impedance monitoring method provided in this application;
[0041] Figures 6 and 7 are schematic diagrams of a motor impedance monitoring process provided in this application;
[0042] Figure 8 is a flowchart illustrating another motor impedance monitoring method provided in this application;
[0043] Figure 9 is a schematic diagram of another motor impedance monitoring process provided in this application;
[0044] Figure 10 is a flowchart illustrating another motor impedance monitoring method provided in this application;
[0045] Figure 11 is a schematic diagram of another motor impedance monitoring process provided in this application;
[0046] Figure 12 is a flowchart illustrating another motor impedance monitoring method provided in this application;
[0047] Figure 13 is a flowchart illustrating another motor impedance monitoring method provided in this application;
[0048] Figure 14 is a flowchart illustrating another motor impedance monitoring method provided in this application. Detailed Implementation
[0049] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings. In the description of the embodiments of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B; the word "and / or" in the text is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, in the description of the embodiments of this application, "multiple" refers to two or more than two.
[0050] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature, and in the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more.
[0051] Linear motors are commonly used haptic feedback devices in electronic devices. For example, vibrations in electronic devices such as call reminders, message notifications, and input method vibrations can all be generated by the vibration of the motor. Generally, the linear motor driver in an electronic device can input a drive signal / vibration signal (such as a pulse signal of preset intensity) to drive the motor to vibrate with a certain amplitude, and input a brake signal / braking signal at the end of the drive to stop the motor from vibrating / braking, thus realizing one motor vibration cycle.
[0052] Because the vibration signal of the motor is an intermittent flow with a short vibration duration (e.g., 10 milliseconds (ms)), which is less than the monitoring time of one frame of the monitoring signal, the vibration flow (i.e. the aforementioned vibration signal) cannot be detected by the monitoring signal, making it difficult to monitor the motor impedance.
[0053] Currently, it's possible to measure the motor's impedance before it vibrates (e.g., at the factory) by monitoring signals, and then drive the motor to vibrate. However, this method uses a fixed impedance value measured before vibration. During actual vibration, the impedance is not constant. Due to factors such as manufacturing tolerances, ambient temperature changes, and the duration of vibration, the motor's DC impedance (which can be simply referred to as impedance) can change (e.g., within a preset range). Even if a drive signal of the same strength (e.g., the same voltage) is applied, the vibration intensity and amplitude cannot remain consistent, resulting in poor actual driving performance. Furthermore, impedance changes / deviations also affect braking performance. For example, if the motor's impedance is too low, the vibration intensity will be too high, and the braking signal may not be able to control the motor's braking in time, leading to prolonged braking time and poor braking effect.
[0054] In other words, it is currently impossible to effectively monitor motor impedance in real time, and it is also impossible to adjust the overall driving capability of the motor in real time based on the motor impedance, such as adjusting the strength of the drive signal and the braking signal.
[0055] This application proposes a motor impedance monitoring method and electronic device. The method achieves real-time monitoring of motor impedance by superimposing a monitoring signal onto the motor's vibration signal. The impedance monitoring duration of the monitoring signal is greater than or equal to the vibration duration of the vibration signal. The electronic device can monitor the output voltage and output current of each frame of the monitoring signal within the impedance monitoring duration in real time, and calculate the motor impedance for each frame based on the output voltage and output current. Furthermore, the electronic device can adjust the frequency and intensity of the monitoring signal so that the monitoring duration of the monitoring signal within a frame is less than or equal to the vibration duration of the vibration flow, thus allowing the vibration flow to be detected by the monitoring signal and achieving real-time monitoring of the motor impedance.
[0056] Furthermore, the motor impedance monitored in one or more frames prior to the current frame can be used to adjust the vibration signal of the current frame. For example, the voltage (referred to as the drive voltage) of the vibration signal in the current frame can be adjusted based on the motor impedance monitored in the previous frame (e.g., the frame before the current frame), so that the motor drive voltage changes with the motor impedance, thereby maintaining consistent vibration intensity and amplitude. Additionally, the braking signal can also change with the motor impedance, thereby improving the motor's braking effect and achieving control over the motor's driving capability.
[0057] In this embodiment of the application, the impedance monitoring duration of the monitoring signal may include multiple monitoring frames. The monitoring duration of one frame may be determined according to the frequency of the monitoring signal. For example, the higher the frequency of the monitoring signal, the shorter the monitoring duration of one frame, and the lower the frequency of the monitoring signal, the longer the monitoring duration of one frame.
[0058] Figure 1 illustrates a schematic diagram of the impedance monitoring duration of a monitoring signal. As shown in Figure 1, the horizontal axis represents time (e.g., ms). Assuming the impedance monitoring duration of the monitoring signal can be the duration between time A and time B (which can be called line segment AB), line segment AB can include multiple frame windows with a duration of T (i.e., duration T) (only two frame windows are shown in Figure 1 (e.g., the frame windows of solid lines and dashed lines)). Each frame window of duration T can represent the monitoring duration of one frame. The time corresponding to the left side of the frame window can represent the start time of a frame, and the time corresponding to the right side of the frame window can represent the end time of a frame. Adjacent frame windows can have overlapping parts. For example, in Figure 1, the duration corresponding to the overlapping part is the duration between time D and time C. In one implementation, within the impedance monitoring duration, the electronic device can continuously calculate the motor impedance (referred to as the motor impedance of each frame) frame by frame. This can be understood as the frame window moving from time A to time B at a preset speed. In some examples, the electronic device can calculate the motor impedance at the end of each frame. For example, for the first frame (line segment AC, i.e., the duration from time A to time C), the motor impedance of the first frame can be calculated at time C; for the second frame (line segment DE, i.e., the duration from time D to time E), the motor impedance of the second frame can be calculated at time E. It is understood that during the frame window movement, taking the right edge of the frame window as the end time of each frame, any time on line segment AB can be traversed, thereby enabling the electronic device to calculate the motor impedance value in real time (e.g., at each time step) within the impedance monitoring duration, thus achieving real-time monitoring of the motor impedance. Not limited to the example of calculating the motor impedance at the end of each frame, in other examples, the electronic device can also calculate the motor impedance at a fixed time (e.g., the middle time) of each frame; this application does not limit this to the latter.
[0059] In one implementation, the electronic device can adjust the vibration signal of the current frame based on the motor impedance of one or more frames preceding the current frame. In some examples, after calculating the motor impedance of the first frame (line segment AC), if a vibration signal exists in the second frame, the electronic device can adjust the driving voltage of the second frame based on the motor impedance of the first frame, for example, adjusting the driving voltage of the second frame at time C (the end time of the first frame). Not limited to this, in other examples, after calculating the motor impedance of the second frame (line segment DE) and the first frame (line segment AC), if a vibration signal exists in the third frame (the time corresponding to the third frame is not shown in Figure 1), the electronic device can adjust the driving voltage of the third frame at time E (the end time of the second frame) based on the average value of the motor impedances of these two frames. This application does not limit the specific number of frames preceding the current frame (used to adjust the vibration signal of the current frame).
[0060] In one embodiment, taking the impedance monitoring duration of the monitoring signal shown in Figure 1 as an example, the vibration duration of the vibration signal can be greater than or equal to the monitoring duration of one frame (e.g., the duration T in Figure 1) and less than or equal to the impedance monitoring duration of the monitoring signal (e.g., line segment AB in Figure 1).
[0061] Not limited to the case shown in Figure 1 where two adjacent frame windows can overlap (i.e., the end time of the previous frame is later than the start time of the current frame), in another embodiment, two adjacent frame windows may not overlap, for example, the end time of the previous frame is equal to the start time of the current frame. In this case, it can be considered that the electronic device periodically calculates the motor impedance within the impedance monitoring time.
[0062] In this application embodiment, the electronic device may be, but is not limited to, a mobile phone, tablet computer, handheld computer, desktop computer, laptop computer, ultra-mobile personal computer (UMPC), netbook, cellular phone, personal digital assistant (PDA), as well as smart home devices such as smart TVs and smart cameras, wearable devices such as smart bracelets, smartwatches, and smart glasses, extended reality (XR) devices such as augmented reality (AR), virtual reality (VR), and mixed reality (MR), in-vehicle devices, or smart city devices. This application embodiment does not impose any special restrictions on the specific type of electronic device.
[0063] Please refer to Figure 2, which is the structure of an exemplary electronic device provided in an embodiment of this application.
[0064] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device. In other embodiments of this application, the electronic device may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0065] Figure 2 illustrates a schematic diagram of the hardware structure of an electronic device 100.
[0066] As shown in Figure 2, the electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a heart rate sensor 180M, an electrocardiogram sensor 180N, etc.
[0067] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors. For example, the application processor may include a graphics processor and a digital signal processor, and the microcontroller unit may include a graphics processor.
[0068] The controller can generate operation control signals based on the instruction opcode and timing signals to complete the control of instruction fetching and execution.
[0069] The processor 110 may also include a memory for storing instructions and data. In one embodiment, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can directly retrieve it from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0070] Electronic device 100 implements display functions through a GPU, display screen 194, application processor, microcontroller unit, etc. The GPU is a microprocessor for image processing, connected to the display screen 194, application processor, and microcontroller unit. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0071] The controller can generate operation control signals based on the instruction opcode and timing signals to complete the control of instruction fetching and execution.
[0072] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0073] In one embodiment, the processor 110 may include one or more interfaces. These interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0074] The external storage interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, music, video, and other files can be saved on the external memory card.
[0075] Internal memory 121 can be used to store computer executable program code, which includes instructions. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.), etc. The data storage area may store data created during the use of electronic device 100 (such as audio data, phonebook, etc.). Furthermore, internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc. Processor 110 executes various functional applications and data processing of electronic device 100 by running instructions stored in internal memory 121 and / or instructions stored in memory located in the processor.
[0076] USB port 130 is a USB standard compliant interface, specifically a Mini USB port, Micro USB port, USB Type-C port, etc. USB port 130 can be used to connect a charger to charge electronic device 100, and can also be used for data transfer between electronic device 100 and peripheral devices. It can also be used to connect headphones for audio playback. This interface can also be used to connect other electronic devices, such as AR devices.
[0077] The charging management module 140 receives charging input from the charger. The power management module 141 connects the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and supplies power to the processor 110, internal memory 121, display screen 194, camera 193, wireless communication module 160, sensor module 180, etc. The power management module 141 can also monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage current, impedance). In another embodiment, the power management module 141 can also be located within the processor 110. In yet another embodiment, the power management module 141 and the charging management module 140 can be housed in the same device.
[0078] The wireless communication function of electronic device 100 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.
[0079] Antennas 1 and 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In another embodiment, the antenna can be used in conjunction with a tuning switch.
[0080] The mobile communication module 150 can provide wireless communication solutions for applications on the electronic device 100, including second-generation (2G), third-generation (3G), fourth-generation (4G), fifth-generation (5G), and sixth-generation (6G) mobile communication technologies. The mobile communication module 150 may include at least one filter, switch, power amplifier, low-noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In one embodiment, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In another embodiment, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.
[0081] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to an application processor or microcontroller unit. The application processor or microcontroller unit outputs sound signals through an audio device (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through a display screen 194. In one embodiment, the modem processor may be a separate device. In another embodiment, the modem processor may be independent of the processor 110 and housed within the same device as the mobile communication module 150 or other functional modules.
[0082] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), and intrabody communication (IBC). The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.
[0083] In one embodiment, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 100 to communicate with networks and other devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time-Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, IR, and / or IBC technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).
[0084] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a Miniled LED, a MicroLED, a Micro-OLED, a quantum dot light-emitting diode (QLED), etc. In one embodiment, the electronic device 100 may include one or N display screens 194, where N is a positive integer greater than 1.
[0085] Electronic device 100 can perform shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.
[0086] The ISP (Image Signal Processor) is used to process data fed back from the camera 193. For example, when taking a picture, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, and the camera's photosensitive element transmits the electrical signal to the ISP for processing, transforming it into an image visible to the naked eye. The ISP can also perform algorithmic optimization on image noise, brightness, and color. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In one implementation, the ISP can be integrated into the camera 193.
[0087] Camera 193 is used to capture still images or videos. An object is projected onto a photosensitive element by generating an optical image through the lens. The photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then passed to an ISP for conversion into a digital image signal. The ISP outputs the digital image signal to a DSP for processing. The DSP converts the digital image signal into image signals in standard RGB, YUV, or other formats. In one embodiment, electronic device 100 may include one or N cameras 193, where N is a positive integer greater than 1.
[0088] Electronic device 100 can implement audio functions such as music playback and recording through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and processor 110.
[0089] Audio module 170 is used to convert digital audio information into analog audio signal output, and also to convert analog audio input into digital audio signal. Audio module 170 can also be used for encoding and decoding audio signals.
[0090] The loudspeaker 170A, also known as a "loudspeaker", is used to convert audio electrical signals into sound signals.
[0091] The receiver 170B, also known as the "earpiece", is used to convert audio electrical signals into sound signals.
[0092] The microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals.
[0093] The 170D headphone jack is used to connect wired headphones.
[0094] Pressure sensor 180A is used to sense pressure signals and can convert the pressure signals into electrical signals. In one embodiment, pressure sensor 180A can be disposed on display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, and capacitive pressure sensors. A capacitive pressure sensor may include at least two parallel plates with conductive material. When force is applied to pressure sensor 180A, the capacitance between the electrodes changes. Electronic device 100 determines the pressure intensity based on the change in capacitance. When a touch operation is applied to display screen 194, electronic device 100 detects the intensity of the touch operation based on pressure sensor 180A. Electronic device 100 can also calculate the touch position based on the detection signal from pressure sensor 180A. In one embodiment, touch operations applied to the same touch position but with different touch operation intensities can correspond to different operation commands.
[0095] The gyroscope sensor 180B can be used to determine the motion attitude of the electronic device 100. In one embodiment, the angular velocity of the electronic device 100 about three axes (i.e., the x, y, and z axes) can be determined by the gyroscope sensor 180B.
[0096] The barometric pressure sensor 180C is used to measure air pressure. In one embodiment, the electronic device 100 calculates altitude using the air pressure value measured by the barometric pressure sensor 180C to assist in positioning and navigation. The barometric pressure sensor 180C can also be referred to as an altitude sensor.
[0097] The magnetic sensor 180D includes a Hall sensor. The electronic device 100 can use the magnetic sensor 180D to detect the opening and closing of the flip cover.
[0098] The accelerometer 180E can detect the magnitude of acceleration of electronic device 100 in various directions (generally three axes).
[0099] A distance sensor 180F is used to measure distance. Electronic device 100 can measure distance via infrared or laser. In one embodiment, when shooting a scene, electronic device 100 can utilize the distance sensor 180F to measure distance for rapid focusing.
[0100] The proximity light sensor 180G may include, for example, a light-emitting diode (LED) and a photosensor. The photosensor may be, for example, a photodiode, and the light emitter may be, for example, a light-emitting diode. For example, the electronic device 100 emits infrared light outward through the LED and uses the photodiode to detect reflected light from a nearby object. When sufficient reflected light is detected, it can be determined that an object is near the electronic device 100. When insufficient reflected light is detected, the electronic device 100 can determine that no object is near the electronic device 100. It should be noted that the light emitter and photosensor in the heart rate sensor 180M and the proximity light sensor 180G may be the same or different.
[0101] The fingerprint sensor 180H is used to collect fingerprints. The electronic device 100 can utilize the characteristics of the collected fingerprints to achieve fingerprint unlocking, accessing application locks, taking photos with fingerprints, answering calls with fingerprints, etc.
[0102] Humidity sensor 180I is used to detect humidity. In one embodiment, electronic device 100 uses humidity sensor 180I to detect humidity and determine whether electronic device 100 is in water.
[0103] The 180J temperature sensor is used to detect temperature.
[0104] Touch sensor 180K, also known as a "touch device," can be located on display screen 194. The touch sensor 180K and display screen 194 together form a touchscreen, also known as a "touchscreen." Touch sensor 180K detects touch operations applied to or near it. The touch sensor can transmit the detected touch operation to processor 110 (e.g., application processor, microcontroller unit) to determine the type of touch event. Visual output related to the touch operation can be provided through display screen 194. In other embodiments, touch sensor 180K may also be located on the surface of electronic device 100, in a different position than display screen 194.
[0105] The 180L ambient light sensor is used to detect ambient light intensity.
[0106] The 180M heart rate sensor can be used for heart rate detection.
[0107] The 180N ECG sensor can be used for ECG detection.
[0108] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch-sensitive buttons. Electronic device 100 can receive button input and generate key signal inputs related to user settings and function control of electronic device 100.
[0109] Motor 191 can generate vibration alerts. Motor 191 can be used for incoming call vibration alerts or for touch vibration feedback. For example, different vibration feedback effects can correspond to touch operations performed on different applications (such as taking photos, playing audio, etc.). Motor 191 can also correspond to different vibration feedback effects for touch operations performed on different areas of the display screen 194. Different application scenarios (such as time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also be customized.
[0110] Indicator 192 can be an indicator light, used to indicate charging status, battery level changes, or to indicate messages, missed calls, notifications, etc. SIM card interface 195 is used to connect a SIM card.
[0111] The electronic device provided in this application embodiment can run an operating system (OS). This operating system can be various operating systems used in the industry, such as an operating system based on OpenHarmony, like HarmonyOS; or other operating systems such as Android. TM An operating system can refer to the iOS mobile operating system; it can also refer to various open-source operating systems or their derivatives, such as Linux OS and other embedded operating systems; or it can refer to future new operating systems, such as AI operating systems based on artificial intelligence. An operating system is a set of interconnected system software programs that manage and control the operation of electronic devices, utilize and run hardware and software resources, and provide public services to organize user interactions. In electronic devices, the operating system connects downwards to the physical devices at the hardware layer and upwards to provide a runtime environment for application software.
[0112] An operating system typically includes a kernel layer, a middleware layer, and an application layer. The application layer includes applications, which can include system applications and third-party applications. The middleware layer includes a suite of software providing various services to application developers, or frameworks providing services such as databases, multimedia, and graphics, or capabilities such as distributed scheduling and system scaling. For example, the middleware layer may include a framework layer and / or a system service layer. The framework layer provides application programming interfaces (APIs) and programming frameworks for applications in the application layer. The system service layer includes the system's core capabilities, providing services to applications through the framework layer. The kernel layer is the layer between hardware and software. The kernel layer may include hardware drivers and the operating system kernel. In addition to providing hardware drivers, the kernel layer also supports functions such as memory management and system process management.
[0113] The electronic devices we use in our daily lives come in various types and forms, and are applied in a wide range of scenarios. Therefore, based on the different forms and functions of electronic devices, different application scenarios, and different user needs, the operating systems used in these devices may also differ. The basic functions implemented by the electronic device provided in this application can be implemented using a general-purpose operating system or a dedicated operating system. To more clearly illustrate the implementation of the embodiments of this application under a specific operating system, the architecture of HarmonyOS is shown below. Those skilled in the art can deduce the implementation of the embodiments of this application under other specific operating systems, such as Android. TM Implementation under operating systems, etc.
[0114] Figure 3 illustrates a schematic diagram of the software architecture of an electronic device 100.
[0115] The software architecture of electronic device 100 can be divided into several layers. In one implementation, from bottom to top, these layers are: kernel layer, system service layer, framework layer, and application layer. Layers communicate with each other through software interfaces. System functions can be tailored, added, or combined at the subsystem level depending on the deployment scenario of different device forms. Each subsystem can also be tailored, added, or combined at the functional level.
[0116] As shown in Figure 3, the kernel layer can include the kernel abstraction layer, the kernel subsystem, and the driver subsystem.
[0117] The Kernel Abstraction Layer (KAL) provides basic kernel capabilities to upper layers by shielding the differences between multiple kernels, including but not limited to process / thread management, memory management, file system, network management, and peripheral device management.
[0118] Kernel Subsystem: Supports the selection of a suitable OS kernel for different resource-constrained devices, including but not limited to Linux kernel, HarmonyOS kernel, LiteOS (Lite Operating System), etc.
[0119] Driver Subsystem: The driver framework is the foundation for the open system hardware ecosystem, providing unified peripheral access capabilities and a framework for driver development and management. The driver framework includes: display drivers, camera drivers, audio drivers, Bluetooth drivers, sensor drivers, etc.
[0120] The system service layer comprises the core capabilities of the system, providing services to applications through the framework layer. This layer includes, but is not limited to, the following subsystems:
[0121] The system's basic capability subsystem set provides fundamental capabilities for the operation, scheduling, and migration of distributed applications across multiple devices. This set may include distributed soft bus, distributed data management, distributed task scheduling, and Ark multi-language runtime; it may also include multi-modal input subsystem, graphics subsystem, security subsystem, and AI business subsystem.
[0122] Basic software service subsystem set: provides public and general software services; the basic software service subsystem set may include event notification subsystem, telephone service subsystem, multimedia subsystem, etc.
[0123] Enhanced software service subsystem suite: Provides differentiated enhanced software services for different devices; the enhanced software service subsystem suite may include smart screen proprietary business subsystem, wearable proprietary business subsystem, IoT proprietary business subsystem, etc.
[0124] Hardware service subsystem set: Provides hardware services; the hardware service subsystem set may include location service subsystem, user IAM (Identity and Access Management) subsystem, wearable proprietary hardware service subsystem, biometric identification, IoT proprietary hardware service subsystem, etc.
[0125] Distributed task scheduling enables distributed service management (discovery, synchronization, registration, and invocation), supporting remote startup, remote invocation, remote connection, and migration of applications across devices.
[0126] Distributed data management enables data synchronization, data storage, data sharing, and data access across all scenarios and devices.
[0127] The distributed soft bus provides communication-related capabilities for seamless interconnection between multiple devices, including: WLAN service capabilities, Bluetooth service capabilities, soft bus, inter-process communication RPC (Remote Procedure Call), and StarFlash communication capabilities.
[0128] Ark Multilingual Runtime is a unified compilation runtime platform designed to support the joint compilation and execution of multiple programming languages and multiple chip platforms.
[0129] The framework layer provides application programming interfaces (APIs) and programming frameworks for applications in the application layer. The framework layer includes: the ArkUI framework (which provides a complete infrastructure for UI development of system applications, including UI functions such as components, layouts, animations, and interactive events, as well as a real-time interface preview tool), the user application framework, and the Ability framework (an Ability is a lightweight application; the Ability framework schedules and manages the operation and lifecycle of Abilities). Different devices may have different operating systems, and therefore support different APIs.
[0130] The HarmonyOS API is a series of open capabilities provided to support HarmonyOS application development. The HarmonyOS API can be set at the framework layer or independently of the framework layer. The HarmonyOS API includes the Audio API (audio service), Push API (push service), and Account API (account service), among others.
[0131] Applications can include system apps and extended / third-party apps. System apps can include the desktop, control bar, settings, contacts, phone, camera, etc., while extended / third-party apps can include social apps, travel apps, etc.
[0132] Figure 4 illustrates a schematic diagram of a signal transmission path.
[0133] As shown in Figure 4, the electronic device 100 may include a vibration signal source, an impedance monitoring module, an intensity correction module, a temperature protection module, an automatic braking module, an impedance calculation module, an amplifier (AMP), and a motor, wherein:
[0134] A vibration signal source can be used to generate a vibration flow, which can drive a motor to vibrate.
[0135] The impedance monitoring module can be used to generate a monitoring signal when a vibration signal source is detected to generate a vibration flow, and superimpose the monitoring signal on the vibration flow to monitor the voltage and current of the motor (which can be called the output voltage and output current of the monitoring signal). The frequency and intensity of the monitoring signal can be adaptively adjusted according to the frequency and intensity information of the vibration flow.
[0136] The impedance calculation module can be used to obtain the output voltage and output current of the monitoring signal, and calculate the impedance of the motor based on the output voltage and output current of the monitoring signal.
[0137] The strength correction module can be used to adjust the voltage of the vibration current based on the motor impedance information output by the impedance calculation module, for example, to ensure that the vibration intensity and vibration amplitude of the motor are consistent.
[0138] The temperature protection module can be used to determine the temperature of the motor coil / voice coil based on the motor impedance information output by the impedance calculation module, and adjust the motor drive voltage (i.e., the voltage of the vibration current) according to the voice coil temperature to prevent the motor from overheating and being damaged.
[0139] The automatic braking module can be used to adjust the voltage of the braking signal based on the motor impedance information output by the impedance calculation module, so as to control the motor braking in a timely manner and improve the braking effect of the motor.
[0140] An AMP can be used to amplify the amplitude of a signal. For example, a vibration stream after superimposing a monitoring signal can have its amplitude and the intensity of the monitoring signal amplified by an AMP. Optionally, an AMP can also be used for filtering. For example, a vibration stream after superimposing a monitoring signal can have its monitoring signal and vibration stream separated by an AMP.
[0141] The motor can be a linear motor.
[0142] The following example, using the motor impedance monitoring process, illustrates the working process of each module in the electronic device 100.
[0143] Electronic device 100 can control a vibration signal source to generate a vibration current. When the impedance monitoring module detects this vibration current, it can generate a monitoring signal, superimpose the monitoring signal onto the vibration current, and input it to the AMP for amplification, selective grounding, and filtering. The vibration current output by the AMP can be input to a motor to drive the motor to vibrate. When the motor vibrates, the impedance calculation module can obtain the output voltage and output current of the monitoring signal output by the AMP, and obtain the motor's impedance information (e.g., including the motor's DC impedance value) based on the output voltage and output current of the monitoring signal. The impedance calculation module can send impedance information to the intensity correction module, temperature protection module, and automatic braking module respectively. The intensity correction module can adjust the voltage of the vibration current in the next frame based on the impedance information. The temperature protection module can determine the voice coil temperature based on the impedance information and adjust the vibration current voltage based on the voice coil temperature. The automatic braking module can adjust the braking signal voltage based on the impedance information and the obtained vibration current voltage and current (i.e., the driving voltage and current in the figure).
[0144] Understandably, the electronic device 100 shown in Figure 4 may include more or fewer modules. Any module in the electronic device 100 may be a hardware module or a software module. Any of the above modules may be a separate module, or at least one of the above modules may be integrated together. For example, the vibration signal source, intensity correction module, temperature protection module, impedance monitoring module, automatic braking module, and impedance calculation module may be integrated into the processor of the electronic device 100 (e.g., the processor 110 shown in Figure 2). The modules in the electronic device 100 may also be replaced with other modules. For example, the impedance monitoring module may be replaced with a DSP, a codec, or a power amplifier (PA), etc. This application embodiment does not limit this.
[0145] The following describes the motor impedance monitoring method provided in the embodiments of this application.
[0146] Please refer to Figure 5, which is a flowchart illustrating a motor impedance monitoring method according to an embodiment of this application. This method can be applied to the electronic device 100 shown in Figures 2, 3, and 4. The method may include, but is not limited to, the following steps:
[0147] S101: The electronic device detects the first vibration flow of the motor.
[0148] In one embodiment, when the electronic device generates a first vibration flow (e.g., generated by the vibration signal source in FIG4) and sends the first vibration flow to the motor (i.e., the first vibration signal / first drive signal passes through the motor), the electronic device can detect the first vibration flow of the motor at a first moment, which can be the start moment of the first vibration flow.
[0149] Optionally, prior to S101, the electronic device may acquire the vibration duration of the first vibration stream to be issued, wherein the vibration duration may be the duration from the start time of the first vibration stream to the end time of the first vibration stream.
[0150] In one implementation, prior to S101, the electronic device may acquire the frequency and power of the first vibration stream to be delivered.
[0151] S102: The electronic device triggers the generation of a first monitoring signal, which is then superimposed on the first vibration flow.
[0152] In one embodiment, the first monitoring signal is, for example, but not limited to, a DC signal, a single-frequency signal far from the motor's resonant frequency, a multi-frequency signal, etc., wherein a DC signal refers to a signal whose voltage or current remains constant, a single-frequency signal refers to a signal with a fixed frequency, and a multi-frequency signal refers to a signal containing multiple frequency bands, such as a low-frequency signal, a medium-frequency signal, a high-frequency signal, etc.
[0153] In one embodiment, when the electronic device detects a first vibration flow from the motor, it can trigger the generation of a first monitoring signal at a first moment and superimpose the first monitoring signal onto the first vibration flow. In one embodiment, the electronic device can superimpose a first monitoring signal on a frequency band far from the motor's resonant peak. For example, the frequency band of the motor's resonant peak (i.e., the motor's operating frequency band) is greater than or equal to 80 Hz and less than or equal to 200 Hz (i.e., [80 Hz, 200 Hz]), and the frequency range of the first monitoring signal can be less than 80 Hz or greater than 200 Hz (i.e., far from / not located within the [80 Hz, 200 Hz] range). In one implementation, the frequency of the first monitoring signal can be more than twice the frequency of the first vibration signal. For example, the frequency range of the first vibration signal is greater than or equal to 90Hz and less than or equal to 200Hz (i.e., [90Hz, 200Hz]). When the frequency of the first vibration signal is 90Hz, the frequency range of the first monitoring signal can be less than 22.5Hz or greater than 360Hz (i.e., far from / not within the [22.5Hz, 360Hz] range); when the frequency of the first vibration signal is 180Hz, the frequency range of the first monitoring signal can be less than 45Hz or greater than 720Hz (i.e., far from / not within the [45Hz, 720Hz] range). Understandably, superimposing a monitoring signal within the vibration frequency range of the motor will change the vibration intensity and amplitude of the motor (e.g., increased vibration intensity), which will be perceived by the user. By superimposing a monitoring signal in a frequency band far from the motor's resonance peak, the motor impedance can be monitored in real time without the user's awareness, thereby improving the user experience. Furthermore, by moving the frequency of the vibration signal away from the frequency by more than twice the octave, the noise ratio of the first monitoring signal can be improved, thereby enhancing the accuracy of impedance monitoring.
[0154] In one embodiment, the impedance monitoring duration of the first monitoring signal can be greater than the vibration duration of the first vibration flow. This impedance monitoring duration can be the time between the start and end times of impedance monitoring of the first monitoring signal, where the start time can be a first moment and the end time can be later than the end time of the first vibration flow. In some examples, the electronic device can acquire the vibration duration of the first vibration flow before S101 (e.g., when the electronic device is preparing to send the first vibration flow), and determine the impedance monitoring duration of the first monitoring signal based on this vibration duration, i.e., determine the impedance monitoring end time of the first monitoring signal.
[0155] In one embodiment, the electronic device can determine the frequency (e.g., the frequency of the first monitoring signal voltage) and intensity (e.g., the magnitude of the first monitoring signal voltage) of the first monitoring signal based on the frequency and power of the first vibration signal. In some examples, the electronic device can determine the frequency of the first monitoring signal based on the frequency of the first vibration signal; for example, the higher the frequency of the first vibration signal, the higher the corresponding frequency of the first monitoring signal. For example, when the frequency range of the first vibration signal is greater than or equal to 90Hz and less than or equal to 140Hz (i.e., [90Hz, 140Hz]), a single-frequency signal of 22.5Hz can be used as the first monitoring signal; when the frequency range of the first vibration signal is greater than or equal to 140Hz and less than or equal to 200Hz (i.e., [140Hz, 200Hz]), a single-frequency signal of 35Hz can be used as the first monitoring signal. In some examples, the electronic device can determine the intensity of the first monitoring signal based on the power of the first vibration signal; for example, the higher the power of the first vibration signal, the higher the corresponding intensity of the first monitoring signal. For example, when the voltage of the first vibration signal is greater than 5 volts (V), the intensity of the first monitoring signal can be -55 dB; when the voltage of the first vibration signal is less than or equal to 5V, the intensity of the first monitoring signal can be -65 dB.
[0156] In one embodiment, the electronic device can determine the monitoring duration of one frame of the first monitoring signal based on the frequency of the first monitoring signal. For example, the higher the frequency of the first monitoring signal, the shorter the monitoring duration of one frame. The impedance monitoring duration of the first monitoring signal may include the monitoring duration of multiple frames. Optionally, the monitoring duration of one frame may be less than or equal to the vibration duration of the first vibrating flow.
[0157] S103: The electronic device obtains the impedance of the motor based on the output voltage and output current of the first monitoring signal.
[0158] In one embodiment, after superimposing a first monitoring signal onto the first vibration current, the electronic device can detect the output voltage and output current of the first monitoring signal within the impedance monitoring duration (i.e., before and including the end time of impedance monitoring). The impedance monitoring duration may include multiple monitoring frames. Therefore, the electronic device can detect the output voltage and output current of the first monitoring signal within each of these multiple monitoring frames. Furthermore, the electronic device can calculate the motor impedance for each frame based on the output voltage and output current of the first monitoring signal within each frame. The specific formula can be found in the following equation (1): R=U / I (1)
[0159] Where R represents the motor impedance of a frame, U represents the output voltage of the first monitoring signal of a frame, and I represents the output current of the first monitoring signal of a frame.
[0160] S104: The electronic device determines whether a new vibration flow is detected before the end of impedance monitoring.
[0161] In one embodiment, the duration of vibration of the new vibration flow can be less than the impedance monitoring duration of the first monitoring signal. Optionally, the monitoring duration of a frame can be less than or equal to the duration of vibration of the new vibration flow.
[0162] In one embodiment, the electronic device can determine whether a new vibration flow is detected before (including) the end time of impedance monitoring. If the start time of the new vibration flow is earlier than or equal to the end time of impedance monitoring, it is determined that a new vibration flow was detected before the end time of impedance monitoring, and the electronic device can execute S105. If the start time of the new vibration flow is later than the end time of impedance monitoring, it is determined that no new vibration flow was detected before the end time of impedance monitoring, and the electronic device can execute S106.
[0163] S105: The impedance monitoring end time of the electronic device updating the first monitoring signal.
[0164] In one implementation, if the electronic device detects a new vibration flow before (and including) the impedance monitoring end time, it updates the impedance monitoring end time of the first monitoring signal. The updated impedance monitoring end time is later than the end time of the new vibration flow. For example, if the electronic device detects a new vibration flow at a second time, it can extend the impedance monitoring duration of the first monitoring signal by one time, starting from the second time, to obtain a new (i.e., updated) impedance monitoring end time of the first monitoring signal. Here, the second time can be the start time of the new vibration flow, and the updated impedance monitoring end time is later than the end time of the new vibration flow.
[0165] In one implementation, after S105, the electronic device can re-execute S103-S104, that is, before the updated impedance monitoring end time, calculate the motor impedance of each frame based on the output voltage and output current of the first monitoring signal of each frame. Furthermore, before the updated impedance monitoring end time, the electronic device can also determine whether a new vibration flow is detected. If so, the impedance monitoring end time of the first monitoring signal is updated again. If not, S106 is executed.
[0166] S106: The electronic device ends impedance monitoring at the end of the impedance monitoring period.
[0167] In one implementation, if the electronic device does not detect a new vibration flow before (including) the impedance monitoring end time, the electronic device may terminate the impedance monitoring of the motor based on the first monitoring signal at the impedance monitoring end time.
[0168] In one implementation, after S106, the electronic device can re-execute S101, that is, re-detect the vibration flow of the motor.
[0169] The specific implementation process of Figure 5 will be illustrated below with reference to Figures 6 and 7.
[0170] As shown in Figure 6, the horizontal axis can represent time (e.g., ms). Assume the pulse between time a and time b is vibration flow 1, and the duration of vibration flow 1 is t1 (i.e., the duration between the start time (time a) and the end time (time b) of vibration flow 1). The electronic device sends vibration flow 1 to the motor at time a. The electronic device can execute S101-S102 of Figure 5, detecting vibration flow 1 at time a, triggering the generation of monitoring signal 1, and superimposing monitoring signal 1 onto vibration flow 1. The impedance monitoring duration of monitoring signal 1 is t2 (i.e., the duration between the start time (time a) and the end time (time c) of impedance monitoring). t2 can include multiple monitoring frames. Optionally, one of these monitoring frames (not shown in Figure 6) can be less than or equal to t1. Next, the electronic device can execute S103 of Figure 5, detecting the output voltage and output current of monitoring signal 1 within the duration t2 to obtain the motor impedance. The electronic device can execute S104 of Figure 5, that is, before time c (including time c, for example, within the duration t2), detect whether there is a new vibration flow. If no new vibration flow is detected within the duration t2, the impedance monitoring of the motor based on monitoring signal 1 ends at time c, and S101 of Figure 5 is executed again, that is, the vibration flow of the motor is detected again after time c. However, it is not limited to this; a new vibration flow can also be detected within the duration t2, as shown in Figure 7 for a specific example.
[0171] As shown in Figure 7, the electronic device can detect the vibration flow 2 within a time period t2 (e.g., time d) between time a and time c. The duration of vibration of the vibration flow 2 is t3 (i.e., the duration between the start time (time d) and the end time (time e) of the vibration flow 2). The electronic device can execute S105 in Figure 5 to update the impedance monitoring end time of the monitoring signal 1. For example, taking the time d when the vibration flow 2 is detected as the starting time, the impedance monitoring time of the monitoring signal 1 is extended by one impedance monitoring time (i.e., time t2), and the updated impedance monitoring end time of the monitoring signal 1 is determined to be time f. It can be understood that the impedance monitoring end time of the monitoring signal 1 is updated from time c, which is predicted based on time a, to time f. Next, the electronic device can execute S103-S104 in Figure 5 to detect the output voltage and output current of monitoring signal 1 within the time period t2 between time d and time f, and obtain the motor impedance. At the same time, the electronic device can also detect whether there is a new vibration flow within the time period t2 (i.e. before time f and including time f). If so, S105 in Figure 5 is executed again, that is, the impedance monitoring end time of monitoring signal 1 is updated again. If not, the impedance monitoring of the motor based on monitoring signal 1 ends at time f, and S101 in Figure 5 is executed again, that is, the vibration flow of the motor is detected again after time f.
[0172] As can be seen from Figures 6 and 7, the duration of vibration of the vibrating flow is shorter than the impedance monitoring duration. For example, in Figure 6, the duration t1 of vibrating flow 1 is shorter than the duration t2, and in Figure 7, the duration t3 of vibrating flow 2 is shorter than the duration t2. Within the impedance monitoring duration, the electronic device calculates the motor's impedance value by monitoring the output voltage and output current of the signal. This is independent of whether the vibrating flow drives the motor to vibrate. That is, for example, within the duration t1 shown in Figure 6, the electronic device can monitor the motor's impedance value when vibrating flow 1 drives the motor to vibrate. Within the duration from time b to time c, the electronic device can still monitor the motor's impedance value even when no new vibrating flow drives the motor to vibrate. Furthermore, within the duration t2, the electronic device monitors the motor's impedance value frame by frame.
[0173] In the method shown in Figure 5, the electronic device achieves real-time monitoring of the motor impedance by superimposing a monitoring signal onto the motor's vibration flow. The impedance monitoring duration of the monitoring signal is greater than or equal to the vibration duration of the vibration flow. The electronic device can monitor the output voltage and output current of each frame of the monitoring signal within the impedance monitoring duration in real time, and calculate the motor impedance for each frame based on the output voltage and output current, thus achieving real-time monitoring of the motor impedance. Furthermore, the electronic device can adjust the impedance monitoring duration of the monitoring signal to adjust its power consumption. For example, while ensuring that the impedance monitoring duration of the monitoring signal is greater than the vibration duration of the vibration flow, the impedance monitoring duration can be reduced. For instance, in Figure 6, if t2 is ensured to be greater than t1, the duration of t2 can be reduced, thereby saving power consumption of the electronic device while still achieving real-time monitoring of the monitoring signal, thus achieving a balance between real-time monitoring and power saving.
[0174] Furthermore, electronic devices can adaptively adjust the frequency and intensity of monitoring signals based on the frequency and power of vibration signals. For example, when the vibration signal frequency is high, increasing the monitoring signal frequency can reduce the monitoring frame duration, thereby improving the accuracy of impedance monitoring. This can be understood as follows: within the same impedance monitoring duration, the shorter the monitoring frame duration, the more frequently / number of times the motor impedance value is detected, resulting in higher monitoring accuracy and wider monitoring coverage. Conversely, when the vibration signal frequency is low, the monitoring signal frequency can be reduced, thus saving power consumption of the electronic device. Additionally, when the vibration signal power is high (correspondingly, the signal-to-noise ratio of the monitoring signal is low), the motor heats up significantly. In this case, increasing the monitoring signal intensity can improve the signal-to-noise ratio, thereby improving the accuracy of impedance / temperature monitoring. Conversely, when the vibration signal power is low, the monitoring signal intensity can be reduced, saving power consumption of the electronic device.
[0175] Please refer to Figure 8, which is a flowchart illustrating another motor impedance monitoring method provided in this application embodiment. This method can be applied to the electronic device 100 shown in Figures 2, 3, and 4. The method may include, but is not limited to, the following steps:
[0176] S201: The electronic device acquires the duration of vibration of the second vibration flow of the motor.
[0177] In one implementation, before the electronic device generates a second vibration stream (e.g., generated by the vibration signal source in Figure 4) and sends the second vibration stream to the motor, the electronic device can obtain the vibration duration of the second vibration stream to be sent, before the motor has started vibrating.
[0178] In one implementation, the electronic device can also acquire the frequency and power of the second vibration stream to be delivered.
[0179] S202: The electronic device determines whether the duration of vibration is greater than the first threshold.
[0180] In one embodiment, the electronic device can determine whether the vibration duration of the second vibration flow is greater than a first threshold. If the vibration duration is greater than the first threshold, the electronic device can execute S203. If the vibration duration is less than or equal to the first threshold, the electronic device can re-execute S201, that is, re-acquire the vibration duration of the new vibration flow of the motor.
[0181] S203: The electronic device detected a second vibration flow from the motor.
[0182] In one implementation, when the electronic device sends a second vibration flow to the motor, the motor begins to vibrate. The electronic device can detect the second vibration flow of the motor at a third moment, which can be the start time of the second vibration flow.
[0183] In one implementation, the order of steps S201-S202 and S203 is not limited, and the electronic device may execute S203 first and then execute S201-S202.
[0184] S204: The electronic device triggers the generation of a second monitoring signal, which is then superimposed on the second vibration flow.
[0185] In one embodiment, when the electronic device detects the second vibration flow of the motor, it can trigger the generation of a second monitoring signal at a third moment and superimpose the second monitoring signal on the second vibration flow. For details, please refer to the description of S102 in Figure 5, which will not be repeated here.
[0186] In one embodiment, the second monitoring signal is, for example, but not limited to, a DC signal, a single-frequency signal far from the motor resonant frequency, a multi-frequency signal, etc. For details, please refer to the description of S102 in Figure 5, which will not be repeated here.
[0187] In one embodiment, the impedance monitoring duration of the second monitoring signal can be equal to the vibration duration of the second vibrating flow, wherein the start time of the impedance monitoring of the second monitoring signal can be a third time, and the end time of the impedance monitoring of the second monitoring signal can be the end time of the second vibrating flow. In some examples, the electronic device acquires the vibration duration of the second vibrating flow and can determine the start and end times (i.e., the impedance monitoring duration) of the impedance monitoring of the second monitoring signal based on the vibration duration and the third time.
[0188] In one embodiment, the electronic device can determine the frequency (e.g., the frequency of the second monitoring signal voltage) and intensity (e.g., the magnitude of the second monitoring signal voltage) of the second monitoring signal based on the frequency and power of the second vibration signal. For details, please refer to the description of S102 in Figure 5, which will not be repeated here.
[0189] In one embodiment, the electronic device can determine the monitoring duration of one frame of the second monitoring signal based on the frequency of the second monitoring signal. The impedance monitoring duration of the second monitoring signal may include the monitoring duration of multiple frames, and the monitoring duration of one frame may be less than the vibration duration of the second vibration flow.
[0190] S205: The electronic device obtains the motor impedance based on the output voltage and output current of the second monitoring signal.
[0191] In one embodiment, the description of S204 is similar to that of S103 in FIG5, and can be found in the description of S103 in FIG5, so it will not be repeated here.
[0192] S206: The electronic device ends impedance monitoring at the end of the impedance monitoring period.
[0193] In one implementation, the electronic device can end the impedance monitoring of the motor based on the second monitoring signal at the end time of impedance monitoring (i.e. the end time of the second vibration flow), which can be understood as the impedance monitoring ending together with the second vibration flow.
[0194] In one implementation, after S206, the electronic device can re-execute S201, that is, re-detect the vibration flow of the motor.
[0195] The specific implementation process of Figure 8 will be illustrated below with reference to Figure 9.
[0196] As shown in Figure 9, the horizontal axis can represent time (e.g., ms). Assuming the pulse between time g and time i is vibration flow 3, and the vibration duration of vibration flow 3 is t4 (i.e., the duration between the start time (time g) and the end time (time i) of vibration flow 3), before the electronic device sends vibration flow 3 to the motor, i.e. before time g, the electronic device can execute S201-S202 in Figure 8 to obtain the vibration duration of vibration flow 3 as t4, and determine whether t4 is greater than the first threshold. Figure 9 illustrates this with t4 being greater than the first threshold. The electronic device can then execute S203-S204 in Figure 8 to detect vibration flow 3 at time g, trigger the generation of monitoring signal 2, and superimpose monitoring signal 2 on vibration flow 3. The impedance monitoring duration of monitoring signal 2 is t4 (i.e., the duration between the start time (time g) and the end time (time i) of impedance monitoring). t4 can include multiple frames of monitoring duration. Optionally, one frame of monitoring duration (not shown in Figure 9) can be less than t4. Next, the electronic device can execute S205 in Figure 8, whereby it can detect the output voltage and output current of monitoring signal 2 within a time duration of t4 to obtain the motor impedance. The electronic device can then execute S206 in Figure 8, which means ending the impedance monitoring of the motor based on monitoring signal 2 at the end time (time i). At this time, time i is also the end time of the vibration flow 3.
[0197] In the method shown in Figure 8, the electronic device can obtain the duration of vibration of the motor's vibration flow. When the duration of vibration exceeds a first threshold, the motor impedance can be monitored in real time by superimposing a monitoring signal on the motor's vibration flow. The impedance monitoring duration of the monitoring signal is equal to the duration of vibration of the vibration flow. The electronic device can monitor the output voltage and output current of each frame of the monitoring signal within the impedance monitoring duration in real time, and calculate the motor impedance of each frame based on the output voltage and output current of each frame. When the vibration flow ends, the impedance monitoring also ends, thereby saving the power consumption of the electronic device.
[0198] Please refer to Figure 10, which is a flowchart illustrating another motor impedance monitoring method provided in this application embodiment. This method can be applied to the electronic device 100 shown in Figures 2, 3, and 4. The method may include, but is not limited to, the following steps:
[0199] S301: The electronic device has detected that it is currently in a vibration scenario.
[0200] In one implementation, the vibration scenario can be a scenario where the electronic device drives the motor to vibrate, such as a scenario where the electronic device vibrates to remind you of incoming calls, message notifications, or input method.
[0201] In one implementation, when the electronic device detects that it is currently in a vibration scenario, S302 can be executed.
[0202] S302: The electronic device triggers the generation of a monitoring signal every first preset time interval, and superimposes the monitoring signal onto the vibration flow.
[0203] In one embodiment, the vibration flow can be the vibration flow of a motor when the electronic device is in a vibration scene. When the electronic device detects that it is currently in a vibration scene, it can trigger the generation of a monitoring signal and superimpose the monitoring signal on the vibration flow. Starting from the moment the vibration scene is detected, a new monitoring signal is triggered and generated every first preset time interval and superimposed on the vibration flow. The impedance monitoring duration of each monitoring signal is the first preset time interval. Understandably, the electronic device can periodically generate monitoring signals and periodically superimpose monitoring signals on the vibration flow. When a new monitoring signal is generated, the new monitoring signal can be superimposed on the vibration flow, and the old monitoring signal ends impedance monitoring.
[0204] In one embodiment, the electronic device can determine the frequency and intensity of the monitoring signal within the first preset time period based on the frequency and power of the vibration flow within the first preset time period. Understandably, the frequency and power of the vibration flow within each first preset time period (the impedance monitoring time of each monitoring signal) may be different, and correspondingly, the frequency and intensity of the monitoring signal within each first preset time period may also be different.
[0205] In one embodiment, the electronic device can determine the monitoring duration of one frame of each monitoring signal based on the frequency of each monitoring signal. For example, the higher the frequency of the monitoring signal, the shorter the monitoring duration of one frame of the corresponding monitoring signal. The impedance monitoring duration (first preset duration) of each monitoring signal can include at least one frame of monitoring duration.
[0206] S303: The electronic device obtains the motor impedance based on the output voltage and output current of the monitoring signal.
[0207] In one embodiment, the electronic device can detect the output voltage and output current of the monitoring signal within each frame of the impedance monitoring time (first preset time) of each monitoring signal, and calculate the motor impedance of each frame. For details, please refer to the description of S103 in Figure 5, which will not be repeated here.
[0208] S304: When the electronic device detects the end of the vibration scene, the impedance monitoring ends.
[0209] In one implementation, when the electronic device detects that the current vibration scenario has ended, for example, when the user actively triggers the end of the vibration scenario (e.g., the user triggers to end incoming call reminders, the user triggers to exit the input method interface, etc.), the motor can stop vibrating, and the electronic device can end the impedance monitoring of the motor based on the latest monitoring signal. It is understood that when the vibration scenario ends, the latest monitoring signal may not have reached its impedance monitoring duration, but the electronic device can still end the impedance monitoring of the motor based on the latest monitoring signal; that is, the actual impedance monitoring duration of the latest monitoring signal is less than a first preset duration.
[0210] The specific implementation process of Figure 10 will be illustrated below with reference to Figure 11.
[0211] As shown in Figure 11, the horizontal axis can represent time (e.g., ms). Assume that at time j, the electronic device is in a vibration scenario, and the electronic device drives the motor to start vibrating. The electronic device can execute S301 in Figure 10. At time j, it is detected that the electronic device is currently in a vibration scenario. The electronic device can then execute S302 in Figure 10, triggering the generation of monitoring signal 3 at time j and superimposing monitoring signal 3 onto the vibration flow. The impedance monitoring duration of monitoring signal 3 is t6 (i.e., the duration between the start time (time j) and the end time (time l) of impedance monitoring of monitoring signal 3). The monitoring duration of one frame of monitoring signal 3 can be less than or equal to t6. Starting from time j, a new monitoring signal can be superimposed onto the vibration flow every t6. For example, at time l (a time interval of t6 from time j), monitoring signal 4 is triggered, at which point impedance monitoring based on monitoring signal 3 ends, and monitoring signal 4 is superimposed onto the vibration flow. The impedance monitoring duration of monitoring signal 4 is t6 (i.e., the duration between the start time (time l) and the end time (time m) of impedance monitoring of monitoring signal 4). Next, at time m, t6 hours after time l, monitoring signal 5 is generated. At this time, impedance monitoring based on monitoring signal 4 ends, and monitoring signal 5 is superimposed on the vibration flow. The impedance monitoring duration of monitoring signal 5 is t6 (i.e., the duration from the start time (time m) to the end time (time n) of impedance monitoring of monitoring signal 5). Then, at time n, t6 hours after time m, monitoring signal 6 is generated. At this time, impedance monitoring based on monitoring signal 5 ends. During the monitoring of motor impedance by monitoring signal 6, when the electronic device detects the end of the vibration scene, for example, at time k, the electronic device can end the impedance monitoring of monitoring signal 6. The impedance monitoring duration of monitoring signal 6 is t7 (i.e., the duration from the start time (time n) to the end time (time k) of impedance monitoring of monitoring signal 6), and t7 can be less than or equal to t6. Not limited to this, the impedance monitoring durations of different monitoring signals can be different. For example, the impedance monitoring durations of monitoring signal 4 and monitoring signal 5 are different. That is, the electronic device can superimpose multiple monitoring signals on the vibration flow non-periodically.
[0212] In the method shown in Figure 10, when the electronic device detects that it is currently in a vibration scene, it can periodically generate monitoring signals and periodically superimpose the monitoring signals on the motor vibration flow under the vibration scene. The output voltage and output current of each frame within the impedance monitoring time of each monitoring signal are monitored in real time to calculate the motor impedance of each frame in real time. When the vibration scene ends, the impedance monitoring also ends, thereby saving the power consumption of the electronic device.
[0213] In some embodiments, the motor impedance monitoring methods of Figures 5, 8 and 10 can be motor impedance monitoring schemes for different electronic devices.
[0214] In other embodiments, the motor impedance monitoring methods of Figures 5, 8, and 10 can be motor impedance monitoring schemes for the same electronic device in different scenarios. The electronic device can select different motor impedance monitoring schemes based on different factors such as the type of vibration flow, the device's power level, and the motor's temperature rise. For example, for multiple consecutive vibration flows with short durations (referred to as short vibrations), the scheme in Figure 5 can be used; for discontinuous vibration flows with longer durations (referred to as long vibrations), the scheme in Figure 8 can be used. Furthermore, when the device's power is insufficient, the scheme in Figure 8 can be used, thus minimizing the impedance monitoring time and saving power consumption of the electronic device. By selecting different schemes, the power consumption of the electronic device can be reduced while ensuring monitoring effectiveness.
[0215] In this application, each embodiment can be implemented independently or in combination based on certain inherent connections. Within each embodiment, different implementation methods can be combined or implemented independently. For example, regarding the embodiments in Figure 5 and Figure 8, the electronic device can acquire the vibration duration of the motor's vibration flow. When the vibration duration exceeds a first threshold, the method in Figure 8 can be executed; when the vibration duration is less than or equal to the first threshold, the method in Figure 5 can be executed. As another example, the method of the embodiment in Figure 10 can be combined with the implementation of the embodiment in Figure 5. When the electronic device detects a new vibration flow in the embodiment of Figure 5, it can trigger the generation of a new monitoring signal and superimpose the new monitoring signal onto the new vibration flow, thus ending the impedance monitoring of the old monitoring signal.
[0216] Please refer to Figure 12, which is a flowchart illustrating another motor impedance monitoring method provided in this application embodiment. This method can be applied to the electronic device 100 shown in Figures 2, 3, and 4. The method may include, but is not limited to, the following steps:
[0217] S401: Electronic device obtains the impedance of the motor.
[0218] In one embodiment, the description of S401 is similar to that of S103 in FIG5, S205 in FIG8, and S303 in FIG10. That is, when the electronic device executes S103 in FIG5, S205 in FIG8, and S303 in FIG10, it can acquire the motor impedance of each frame within the impedance monitoring time of the monitoring signal.
[0219] S402: Electronic equipment adjusts the driving voltage of the vibrating flow according to the impedance of the motor.
[0220] In one implementation, the electronic device can adjust the driving voltage of the vibration flow in the current frame based on the motor impedance of one or more frames preceding the current frame. In some examples, if the electronic device adjusts the driving voltage of the vibration flow in the current frame based on the motor impedance of the frame preceding the current frame (which may be called the previous frame), the electronic device can calculate the motor impedance at the end of the monitoring duration of the previous frame. If a vibration flow exists in the current frame, the electronic device can adjust the driving voltage of the vibration flow within the monitoring duration of the current frame based on the motor impedance of the previous frame, for example, at the beginning of the monitoring duration of the current frame (e.g., at the same time as the end of the monitoring duration of the previous frame). Assuming that in the vibration flow shown in Figure 7, time d is the end of the monitoring duration of the previous frame and the beginning of the monitoring duration of the current frame, the previous frame is, for example, the duration between time b and time d, and the current frame is, for example, the duration between time d and time e, and a vibration flow 2 exists in the current frame. The electronic device can adjust the driving voltage of the vibration flow 2 between time d and time e (corresponding to time t3) based on the motor impedance measured between time b and time d.
[0221] In other examples, if the electronic device adjusts the driving voltage of the vibration flow in the current frame based on the motor impedance of multiple frames preceding the current frame, the electronic device can calculate the impedance of multiple motors at the end times of the multiple frames preceding the current frame. If a vibration flow exists in the current frame, the electronic device can adjust the driving voltage of the vibration flow within the monitoring duration of the current frame based on the multiple motor impedances of the multiple frames, for example, based on the average value of the multiple motor impedances. Assume that in the vibration flow shown in Figure 7, time d is the end time of the monitoring duration of the previous frame and the beginning time of the monitoring duration of the current frame. The previous frame is, for example, the duration between time b and time d, the frame before the previous frame is, for example, the duration between time a and time b, the current frame is, for example, the duration between time d and time e, and a vibration flow 2 exists in the current frame. The electronic device can adjust the driving voltage of the vibration flow 2 from time a to time e (corresponding to duration t3) based on the average value of the motor impedance measured between time a and time d (for example, the two frames preceding the current frame).
[0222] In some examples, the electronic device can adjust the driving voltage of the vibration flow using formula (2), the specific formula of which can be found in the following formula (2): V0=V ref ×R / R ref (2)
[0223] Where V0 represents the driving voltage of the vibration flow in the current frame, V ref R represents the reference value for the motor voltage. ref The reference value for motor impedance is represented by R, which represents the motor impedance value of the previous frame or the average value of the motor impedance over multiple frames. The reference values for both motor voltage and impedance are fixed values, which can be values obtained from testing when the motor leaves the factory.
[0224] It can be seen that the ratio of the reference value of the motor voltage to the reference value of the impedance (V) ref / R ref The driving voltage V0 is a fixed value. When the motor's impedance R is high, the driving voltage V0 will increase proportionally. If the driving voltage V0 does not increase, the current will decrease as the impedance R increases, and the vibration intensity will also decrease. Therefore, increasing the driving voltage V0 ensures that the motor's vibration intensity remains consistent under different environments. When the motor's impedance R is low, the driving voltage V0 will decrease proportionally. If the driving voltage V0 does not decrease, the low impedance R will cause the current to increase, leading to motor overcurrent. Therefore, decreasing the driving voltage V0 prevents motor overcurrent.
[0225] In addition to adjusting the driving voltage of the vibration flow using formula (2) as described in the above examples, in other examples, the driving voltage of the vibration flow can also be adjusted by looking up a table. For example, after the electronic device obtains the impedance of the motor, it determines the driving voltage adjustment method corresponding to the impedance value by looking up a table. For example, for a motor with an impedance value range greater than or equal to 8.0 ohms (Ω) and less than 8.5 ohms (i.e., [8.0 ohms, 8.5 ohms)), the electronic device may not adjust the driving voltage of the vibration flow. For another example, for a motor with an impedance value range greater than or equal to 8.5 ohms and less than 9.5 ohms (i.e., [8.5 ohms, 9.5 ohms)), the electronic device may increase the driving voltage of the vibration flow (e.g., if the driving voltage is increased by 6%, the intensity of the vibration signal will increase by 0.5 dB).
[0226] In the method shown in Figure 12, the motor impedance monitored in one or more frames prior to the current frame can be used to adjust the driving voltage of the vibration flow in the current frame so that the driving voltage of the motor can change with the change of the motor impedance, thereby ensuring that the vibration intensity and vibration amplitude of the motor remain consistent and preventing motor overcurrent.
[0227] Please refer to Figure 13, which is a flowchart illustrating another motor impedance monitoring method provided in this application embodiment. This method can be applied to the electronic device 100 shown in Figures 2, 3, and 4. The method may include, but is not limited to, the following steps:
[0228] S501: Electronic device obtains the impedance of the motor.
[0229] In one embodiment, the description of S501 is similar to that of S401 in FIG12, and can be found in the description of S401 in FIG12, so it will not be repeated here.
[0230] S502: Electronic device acquires the drive voltage and current of the motor's vibration flow.
[0231] In one embodiment, the electronic device can adjust the driving voltage of the vibration flow according to the impedance of the motor. For details, please refer to the description of S402 in Figure 12. The electronic device can acquire the driving voltage and current of the vibration flow for each frame within the impedance monitoring time of the monitoring signal.
[0232] S503: The electronic device adjusts the voltage of the brake signal based on the motor impedance, the driving voltage and current of the vibration current.
[0233] In one embodiment, the electronic device can calculate the back electromotive force (i.e., the voltage of the aforementioned braking signal) at any moment within the monitoring duration of the current frame (referred to as the current moment), based on the motor's impedance, the driving voltage and current of the vibration flow at the current moment, and use the back electromotive force at the current moment as a negative feedback input source to generate the braking signal at the current moment. The braking signal at the current moment can be used to control the motor braking at the current moment. The driving voltage of the vibration flow at the current moment can be calculated based on the motor impedance of one or more frames prior to the current frame; for details, please refer to the explanation of S402 in Figure 12, which will not be repeated here. The motor impedance at the current moment can be calculated based on the output voltage and output current of the monitoring signal within the monitoring duration of the current frame; for details, please refer to the explanation of S103 in Figure 5, which will not be repeated here.
[0234] In one implementation, the back electromotive force is the back electromotive force generated when the oscillator cuts magnetic field lines during motor vibration. In some examples, the electronic device can calculate the back electromotive force using formula (3), the specific formula of which can be found in the following formula (3): V emf =V0-R×I (3)
[0235] Among them, V emf V represents the back electromotive force at the current moment, V0 represents the driving voltage of the vibration current at the current moment, R represents the impedance value of the motor at the current moment, and I represents the driving current of the vibration current at the current moment.
[0236] As can be seen, when the motor impedance R changes in real time, the value of the back electromotive force can be obtained in real time. The braking signal can be adjusted according to the feedback of the back electromotive force, thereby improving the feedback accuracy, controlling the motor braking in a timely manner, and effectively improving the braking effect.
[0237] In the method shown in Figure 13, the real-time monitored motor impedance and the voltage and current of the vibration flow can be used to adjust the braking signal at the current moment so that the braking signal can change with the change of motor impedance, thereby improving the braking effect of the motor and realizing the control of the motor driving capability.
[0238] Please refer to Figure 14, which is a flowchart illustrating another motor impedance monitoring method provided in this application embodiment. This method can be applied to the electronic device 100 shown in Figures 2, 3, and 4. The method may include, but is not limited to, the following steps:
[0239] S601: Electronic device obtains the impedance of the motor.
[0240] In one embodiment, the description of S601 is similar to that of S401 in FIG12, and can be found in the description of S401 in FIG12, so it will not be repeated here.
[0241] S602: Electronic equipment determines the temperature of the voice coil based on the impedance of the motor.
[0242] In one implementation, the electronic device can calculate the temperature of the voice coil at the current moment based on the impedance of the motor at the current moment. In some examples, the formulas for the motor impedance and the temperature of the voice coil can be found in the following equation (4): T=T0+(R-R0) / α×R0 (4)
[0243] Where T represents the current voice coil temperature, R represents the current motor impedance value, T0 represents the reference temperature, such as 25 degrees Celsius, α represents the temperature rise coefficient of the voice coil when the reference temperature is T0, and R0 represents the motor impedance value when the reference temperature is T0. T0, α, and R0 are all related to the material of the voice coil (e.g., copper).
[0244] S603: Electronic equipment determines whether the temperature of the voice coil is greater than the first temperature.
[0245] In one implementation, when the electronic device calculates the temperature of the voice coil at the current moment, it can determine whether the temperature of the voice coil at the current moment is greater than a first temperature. If the temperature of the voice coil is greater than the first temperature, the electronic device can execute S605; if the temperature of the voice coil is less than or equal to the first temperature, the electronic device can execute S604.
[0246] S604: Electronic equipment determines whether the temperature of the voice coil is greater than the second temperature.
[0247] In one embodiment, when the voice coil temperature is less than or equal to a first temperature, the electronic device can further determine whether the voice coil temperature is greater than a second temperature, wherein the second temperature is less than the first temperature. If so (i.e., the voice coil temperature is less than or equal to the first temperature and greater than the second temperature), the electronic device can execute S606; if not (i.e., the voice coil temperature is less than or equal to the second temperature), the motor is in a normal state, and the electronic device can maintain the drive voltage unchanged to drive the motor to vibrate normally.
[0248] S605: Electronic equipment stops driving motor vibration.
[0249] In one embodiment, if the temperature of the voice coil is greater than a first temperature, the motor is in an overheated state. The electronic device can immediately stop outputting the drive voltage, thereby stopping the motor from vibrating and preventing the motor from overheating and being damaged.
[0250] S606: Electronic devices reduce drive voltage.
[0251] In one implementation, if the voice coil temperature is less than or equal to a first temperature and greater than a second temperature, the motor is in a high-temperature state, and the electronic equipment can reduce the output drive voltage to prevent the motor from overheating.
[0252] In the method shown in Figure 14, the electronic device can determine the temperature of the voice coil based on the real-time monitored motor impedance, and adjust the output voltage of the motor according to the temperature of the voice coil to prevent the motor from overheating and being damaged, thereby realizing the monitoring and protection of the motor temperature.
[0253] The methods provided in the embodiments of this application can be implemented, in whole or in part, by software, hardware, firmware, or any combination thereof. When implemented in software, they can be implemented, in whole or in part, in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., digital video disc (DWD), or a semiconductor medium (e.g., solid-state drive). (disk, SSD, etc.). The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it; although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
Claims
1. A method for monitoring motor impedance, characterized in that, Applied to an electronic device, the electronic device including a motor, the method includes: A first vibration flow and a monitoring signal are input to the motor, wherein the first vibration flow is used to drive the motor to vibrate; The output voltage and output current of the monitoring signal within the impedance monitoring time are obtained. The output voltage is the voltage corresponding to the motor monitored according to the monitoring signal, and the output current is the current corresponding to the motor monitored according to the monitoring signal. The impedance monitoring time includes multiple monitoring frames, and the multiple monitoring frames include the first monitoring frame. Based on the output voltage and output current within the first frame monitoring duration, the first impedance of the motor within the first frame monitoring duration is obtained, wherein the impedance monitoring duration is greater than or equal to the vibration duration of the first vibration flow.
2. The method as described in claim 1, characterized in that, The first impedance of the motor is used to adjust one or more of the following: the voltage of the second vibration current, the voltage of the first vibration current corresponding to the first voice coil temperature, and the voltage of the first brake signal. The second vibration current is the vibration current of the motor within the second frame monitoring duration. The second frame monitoring duration is the monitoring duration after the first frame monitoring duration in the multi-frame monitoring duration. The first voice coil temperature is the voice coil temperature of the motor at any moment within the first frame monitoring duration. The first brake signal is the brake signal of the motor at any moment within the first frame monitoring duration.
3. The method as described in claim 1, characterized in that, The duration of vibration of the first vibration flow is the time between the start and end of vibration of the first vibration flow, and the duration of impedance monitoring is the time between the start and end of impedance monitoring of the monitoring signal. The start and end times of the first vibration flow are the same, and the end of vibration of the first vibration flow is earlier than or equal to the end of impedance monitoring.
4. The method according to any one of claims 1-3, characterized in that, The method further includes the following: the end time of the first vibration flow is less than the end time of the impedance monitoring. When the electronic device detects the second vibration current of the motor within the impedance monitoring duration, it updates the impedance monitoring end time. The monitoring signal is used to monitor the impedance of the motor before the updated impedance monitoring end time, and the time when the second vibration current is input to the motor is later than the time when the first vibration current is input to the motor. When the electronic device does not detect the second vibration flow of the motor within the impedance monitoring period, it stops monitoring the impedance of the motor at the end of the impedance monitoring time.
5. The method as described in claim 4, characterized in that, The duration of vibration of the second vibration flow is less than the duration of impedance monitoring, and updating the end time of impedance monitoring includes: The updated impedance monitoring end time is obtained by taking the start time of the second vibration flow as the starting time and after the impedance monitoring duration.
6. The method according to any one of claims 1-3, characterized in that, The method further includes: The electronic device acquires the duration of vibration of the first vibration flow; When the duration of vibration of the first vibration flow exceeds a first threshold, the impedance monitoring duration of the monitoring signal is determined to be equal to the duration of vibration of the first vibration flow.
7. The method as described in claim 6, characterized in that, The method further includes: When the duration of vibration of the first vibration flow is less than or equal to the first threshold, it is determined that the impedance monitoring duration of the monitoring signal is greater than the duration of vibration of the first vibration flow.
8. The method according to any one of claims 1-3, characterized in that, The monitoring signal includes multiple first monitoring signals, and the input of the first vibration flow and monitoring signals to the motor includes: The first vibration flow is input to the motor, and the plurality of first monitoring signals are periodically input to the motor.
9. The method according to any one of claims 1-8, characterized in that, The multi-frame monitoring duration also includes a second frame monitoring duration, which is the monitoring duration of the frame following the first frame monitoring duration. The method further includes: The voltage of the second vibration current during the second frame monitoring period is determined based on the first impedance of the motor during the first frame monitoring period.
10. The method according to any one of claims 1-9, characterized in that, The method further includes: The electronic device acquires the frequency and power of the first vibration flow; The frequency and intensity of the monitoring signal are determined based on the frequency and power of the first vibration flow.
11. The method according to any one of claims 1-10, characterized in that, The method further includes: The electronic device acquires the voltage and current of the first vibration flow at the current moment, where the current moment is any moment within the first frame monitoring duration; Based on the first impedance of the motor at the current moment, the voltage and current of the first vibration current at the current moment, the voltage of the first braking signal of the motor at the current moment is determined, and the first braking signal is used to control the braking of the motor at the current moment.
12. The method according to any one of claims 1-11, characterized in that, The method further includes: The electronic device determines the temperature of the first voice coil at the current moment based on the first impedance of the motor at the current moment, where the current moment is any moment within the first frame monitoring duration; When the temperature of the first voice coil is greater than the first temperature, the electronic device stops inputting the first vibration flow to the motor; When the temperature of the first voice coil is greater than the second temperature and less than or equal to the first temperature, the electronic device reduces the voltage input to the motor for the first vibration current. When the temperature of the first voice coil is less than or equal to the second temperature, the electronic device maintains the voltage that inputs the first vibration current to the motor.
13. The method according to any one of claims 1-12, characterized in that, The monitoring duration of the first frame of the monitoring signal is less than or equal to the vibration duration of the first vibration flow.
14. The method according to any one of claims 1-13, characterized in that, The frequency range of the first vibration flow is different from the frequency range of the monitoring signal, and the difference between the frequency of the first vibration flow and the frequency of the monitoring signal is greater than or equal to a preset threshold.
15. An electronic device, characterized in that, The electronic device includes a motor, a memory, a processor, and a computer program stored in the memory. When the processor executes the computer program, the electronic device performs the method as described in any one of claims 1-14.
16. A computer storage medium, characterized in that, The computer storage medium stores a computer program, which, when executed by a processor, implements the method as described in any one of claims 1-14.