The present disclosure generally relates to the motor control field and, more particularly, to a gimbal and motor control method and device.
Currently, overheating protection of a motor (e.g., gimbal motor) usually uses a temperature sensor (e.g., thermocouple) manner. Specifically, the motor temperature is detected by the temperature sensor of the motor. Then, the motor is protected according to the motor temperature detected by the temperature sensor. In this solution, the motor temperature needs to be measured by the temperature sensor, and the cost is high. If the temperature sensor is aged or failed, the motor temperature cannot be measured accurately, which may cause the motor to be burned out.
Embodiments of the present disclosure provide a motor control method. The method includes obtaining a torque of a motor according to a drive signal used to drive the motor to rotate, determining a temperature of the motor according to the torque and a lasting time of the torque, and when determining that the temperature is higher than a temperature threshold, adjusting a magnitude of the drive signal to reduce the torque.
Embodiments of the present disclosure provide a motor control device including an electronic speed control (ESC) and one or more controllers. The ESC is connected to a motor. The one or more controllers are connected to the ESC and operate individually or collectively. The one or more controllers are configured to obtain a torque of the motor according to a drive signal used to drive the motor to rotate, determine a temperature of the motor according to the torque and a lasting time of the torque, and when determining that the temperature is higher than a temperature threshold, adjust a magnitude of the drive signal to reduce the torque.
Embodiments of the present disclosure provide a gimbal control method. The method includes, while a gimbal is operating, obtaining a torque of a motor of the gimbal according to a drive signal used to drive the motor to rotate, determining a temperature of the motor according to the torque and a lasting time of the torque, and when determining that the temperature is higher than a temperature threshold, adjusting a magnitude of the drive signal to reduce the torque.
The technical solution of embodiments of the present disclosure is described in detail in connection with the accompanying drawings of embodiments of the present disclosure. Described embodiments are merely some embodiments of the present disclosure, not all embodiments. Based on embodiments of the present disclosure, other embodiments obtained by those skilled in the art without creative efforts are within the scope of the present disclosure.
A gimbal and motor control method and device of the present disclosure are described in detail below in connection with the accompanying drawings. When no conflict, features of embodiments of the present disclosure may be combined.
A motor consistent with embodiments of the present disclosure may be applied to a gimbal or other devices or systems. In embodiments of the present disclosure, an example of applying the motor to the gimbal is described.
A gimbal consistent with embodiments of the present disclosure may be a handheld gimbal or a gimbal carried by a mobile device (e.g., an unmanned aerial vehicle (UAV), an unmanned vehicle, etc.). The gimbal includes a motor.
A measured attitude of the gimbal may be obtained by the IMU. A difference between the measured attitude and a target attitude may be used as a control error. The controller 100 may control input currents of the three axis motors according to the control error to drive the three axis motors to operate. The three axis motors may output torques to drive the three axis arms to rotate during the operation. During rotation, the measured attitude of the gimbal may further change to cause the gimbal to move to the target attitude through the above feedback control process.
At S201, a torque of a motor 300 is obtained according to a drive signal used to drive the motor 300 to rotate.
The torque may be obtained by one of a plurality of manners. For example, in some embodiments, the torque of the motor 300 may be calculated according to a magnitude of the drive signal and a functional relationship between the magnitude of the drive signal of the motor 300 and the motor torque. In some other embodiments, a corresponding correlation table between the drive signal and the motor toque may be pre-stored, and the motor torque corresponding to a current drive signal may be obtained by looking up the table.
In some embodiments, the torque of the motor 300 may be obtained according to the current of the motor 300. The torque of the motor 300 may refer to a torque output by the motor 300 from a crankshaft end of the motor 300. In the gimbal, the torque may be a force that may cause the axis arm corresponding to the motor 300 to rotate. The current of the motor 300 is proportional to the torque, which is represented by the following formula:
M=Ca×i
where M denotes the torque, Ca denotes a constant, and i denotes the current.
At S202, the temperature of the motor 300 is determined according to the torque and lasting time.
The lasting time may refer to a lasting time, during which the motor 300 outputs the current torque.
In some embodiments, different motors 300 may output different torques with a same inputting drive signal. Temperatures corresponding to the different motors 300 are different according to lasting times of torques of the different motors 300.
When the motor 300 outputs a force that is too large or is in a stalled state, the heat generated may not be effectively dissipated, and hence the temperature of the motor 300 may increase gradually and reach a temperature threshold that could cause the motor 300 to be burned down. In this case, an overheating protection program of the motor 300 needs to be started to prevent the motor 300 from burning down. Therefore, after process S202, the motor 300 may be determined whether the motor 300 outputs the too large force or is in the stalled state according to the temperature of the motor 300. As such, a motor protection function may be started in time after the motor 300 outputs the too large force or in the stalled state to prevent the motor 300 from burning down due to overheating. In some embodiments, after process S202, before determining the temperature to be larger than the temperature threshold, the method further includes determining the torque to be larger than a first torque threshold and determining the lasting time of the torque to be longer than a first time threshold. The first torque threshold may be a torque protection threshold of the motor 300.
As shown in
In an abnormal state, for example, in a state of lasting strong wind, shaking the gimbal manually, etc., the force output by the motor 300 may increase to cause the torque output by the motor 300 to exceed the first torque threshold. If the torque output by the motor 300 only increases for a short period of time, that is, the lasting time of increasing the torque does not reach the first time threshold, the temperature of the motor 300 may not continue to increase to reach the temperature threshold (e.g., 90 degrees) for burning down the motor 300. Thus, the motor 300 may not be burned down. If the lasting time of maintaining the torque output by the motor 300 at the first torque exceeds the first time threshold, the temperature of the motor 300 may continue to increase and cannot be dissipated to reach the temperature threshold for burning down the motor 300. In this case, the overheating protection program of the motor 300 needs to be started to prevent the motor 300 from burning down. For example, in a first case, the motor 300 may output a torque M1 (larger than the first torque threshold) and be stalled, the lasting time may be t1, and the temperature of the motor 300 may reach 90° C. In a second case, the motor 300 may be stalled at M2 (larger than the first torque threshold), the lasting time may be t2, and the temperature of the motor 300 may reach 90° C. If M1>M2, then t1<t2.
In some other examples, after process S202, before determining the temperature to be larger than the temperature threshold, the method further includes determining that the motor 300 is in the stalled state according to the temperature of the motor 300. In the stalled state, for example, the motor 300 may be damaged, the motor 300 may output a maximum force, the temperature of the motor 300 may continue to increase and may not be dissipated to reach the temperature threshold for burning down the motor 300. Therefore, the overheating protection program of the motor 300 may need to be started to prevent the motor 300 from burning down.
In some embodiments, when the motor 300 is stalled, the motor 300 may output the maximum force. That is, the torque of the motor 300 may be the largest when the motor 300 is stalled, and the first torque threshold may be slightly smaller than the torque of the motor 300 when the motor 300 is stalled.
Further, before process S202, the method further includes obtaining a prediction model configured to characterize a mapping relationship between the lasting time of the torque of the motor 300 and the temperature of the motor 300. At process S202, the temperature of the motor 300 may be determined according to the lasting time of the torque and the prediction model. The prediction model may be presented by a mathematical expression manner, a curve manner, or another manner. In some embodiments, the prediction model may be presented by the curve manner. After the lasting time of the torque of the motor is obtained, the temperature of the motor may be determined according to the curve of the prediction model.
In some embodiments, a curve of a process of the motor temperature increasing with the motor torque needs to be obtained, such that a function of determining whether the motor 300 outputs the too large force or is in the stalled state according to the motor temperature may be realized. In some embodiments, as shown in
In some embodiments, in a process of the motor torque changing from zero to the first torque threshold and being maintained at the first torque threshold, the motor temperature may be obtained by a temperature sensor at various time moments. The second relationship model of the motor temperature changing with time may be then determined according to the motor temperature obtained at various time moments. Obtaining the motor temperature at the various time moments may be performed when the temperature sensor is determined in an effective state.
Further, the motor temperature may need to be determined when the motor 300 is in the stalled state. Thus, in practical applications, the motor 300 may be determined whether in the stalled state according to the motor temperature. In some embodiments, the motor temperature increasing with the motor torque includes controlling motor torque to continue to increase from the first torque threshold to cause the motor 300 to be in the stalled state, or controlling the motor torque to increase from zero to cause the motor 300 to be in the stalled state to obtain the motor temperature corresponding to the motor 300 being in the stalled state. Whether the motor 300 is in the stalled state may be determined by using the following manner. In some embodiments, the torque of the motor 300 may be detected by a torque sensor, a rotation speed of the motor 300 may be detected by a speed sensor, and whether the motor 300 is in the stalled state may be determined by the torque and the rotation speed. When the rotation speed of the motor 300 is zero, the motor 300 may output a certain torque, then the motor 300 may be determined to be in the stalled state.
In some embodiments, a curve of the motor temperature decreasing with the motor torque may need to be obtained to reduce the torque of the motor 300 according to the curve of the motor temperature decreasing with the motor torque to realize the overheating protection function of the motor 300. As shown in
In some embodiments, in a process of the motor torque changing from the first torque threshold to zero and being maintained at zero, the motor temperature may be obtained by the temperature sensor at the various time moments, and then the fourth relationship model of the motor temperature changing with time may be determined according to the obtained motor temperature at the various time moments. Obtaining the motor temperature at the various time moments may be performed by determining that the temperature sensor is in the effective state.
In some embodiments, the temperature sensor may include an analog temperature sensor, such as a thermocouple, or a digital temperature sensor. In some other embodiments, the temperature sensor may be replaced by other temperature measuring elements. Further, most heat may accumulate at a motor coil when the motor 300 is working, to obtain accurate motor temperature, the temperature sensor may be arranged at the motor coil.
At S203, when the temperature is greater than the temperature threshold, the magnitude of the drive signal is adjusted to reduce the torque of the motor 300.
In some embodiments, when the temperature of the motor 300 is greater than the temperature threshold, the overheating protection function of the motor 300 may be started. Explicitly, the magnitude of the drive signal may be adjusted to reduce the torque of the motor 300 to reduce the heat generated by the motor 300 to reduce the temperature of the motor 300. The temperature threshold is a critical value of the temperature for burning down the motor 300. When the temperature of the motor 300 is greater than the temperature threshold, the motor 300 may be burned down.
In some embodiments, according to the second prediction model, the magnitude of the drive signal may be adjusted to reduce the torque of the motor 300 to a second torque threshold. The value of the second torque threshold may be selected as needed, and the second torque threshold is smaller than the first torque threshold. In some other embodiments, the first torque threshold may be 5000 N·m, and the second torque threshold may be 2000 N·m. When the drive signal is controlled to cause the torque of the motor 300 to reduce from 5000 N·m to 2000 N·m, the temperature of the motor 300 starts to decrease. As shown in
In some embodiments, the drive signal may include a control voltage. Adjusting the magnitude of the drive signal may include reducing an amplitude of the control voltage to reduce the torque output by the motor 300 to decrease the temperature of the motor 300.
The manner of reducing the amplitude of the control voltage to decrease may be selected as needed. For example, in some embodiments, the amplitude of the control voltage may be controlled to decrease at a constant speed. That is, the amplitude of the control voltage may be controlled to decrease linearly. In some other embodiments, the amplitude of the control voltage may be controlled to decrease non-linearly.
Consistent with embodiments of the disclosure, the temperature of the motor 300 may be estimated according to a force output condition by the motor 300 (i.e., the motor torque and the lasting time) to obtain the motor temperature more effectively to protect the motor 300. Meanwhile, the cost of the temperature sensor may be saved, and the problem of a temperature protection failure due to improper use of the temperature sensor and lifetime may be avoided.
Corresponding to embodiments of the motor control method of the present disclosure, the present disclosure further provides embodiments of the motor control device.
The motor control device may include one or more controllers 100, which may individually or collectively operate.
The controller may be configured to obtain the torque of the motor 300 according to the drive signal used to drive the motor 300 to rotate, determine the temperature of the motor 300 according to the torque and the lasting time, and, when the temperature is greater than the temperature threshold, adjust the magnitude of the drive signal to reduce the torque of the motor 300.
In some embodiments, after the temperature of the motor 300 is determined, and before the temperature is determined to be greater than the temperature threshold according to the torque and the lasting time, the controller 100 may determine the torque to be greater than the first torque threshold and determine the lasting time of the torque to be greater than the first time threshold or determine the motor 300 to be in the stalled state according to the motor temperature.
In some embodiments, before the temperature of the motor 300 is determined according to the torque and the lasting time, the controller 100 may obtain the prediction model, which is configured to characterize the mapping relationship between the lasting time of the torque of the motor 300 and the temperature of the motor 300.
The controller 100 may be configured to determine the temperature of the motor 300 according to the lasting time of the torque and the prediction model.
In some embodiments, the controller 100 may be configured to control the torque of the motor 300 to change from zero to the first torque threshold and be maintained at the first torque threshold, obtain the first relationship model of the torque of the motor 300 changing with time, obtain the second relationship model of the temperature of the motor 300 changing with time, and determine the first prediction model according to the first relationship model and the second relationship model.
In some embodiments, the controller 100 may be configured to obtain the temperature of the motor 300 at the various time moments through the temperature sensor during the process of changing the torque of the motor 300 from zero to the first torque threshold and maintaining the torque of the motor 300 at the first torque threshold. The controller 100 may be further configured to determine the second relationship model of the temperature of the motor 300 changing with time according to the obtained temperature of the motor 300 at the various time moments.
In some embodiments, the controller 100 may be configured to control the torque of the motor 300 to change from the first torque threshold to zero and be maintained at zero, obtain the third relationship model of the torque of the motor 300 changing with time, obtain the fourth relationship model of the temperature of the motor 300 changing with time, and determine the second prediction model according to the third relationship model and the fourth relationship model.
In some embodiments, the controller 100 may be configured to obtain the temperature of the motor 300 at the various time moments through the temperature sensor during the process of changing the torque of the motor 300 from the first torque threshold to zero and maintaining the torque of the motor 300 at zero. The controller 100 may be further configured to determine the fourth relationship model of the temperature of the motor 300 changing with time according to the temperature of the motor 300 at the various time moments.
In some embodiments, the controller 100 may be configured to adjust the magnitude of the drive signal to reduce the torque of the motor 300 to the second torque threshold according to the second prediction model.
In some embodiments, the drive signal may include a control voltage.
In some embodiments, the controller 100 may be configured to reduce the amplitude of the control voltage.
In some embodiments, the controller 100 may be configured to control the amplitude of the control voltage to decrease at a constant speed.
Consistent with embodiments of the present disclosure, the controller 100 may be configured to estimate the temperature of the motor 300 according to the force output condition of the motor 300 to effectively obtain the temperature of the motor 300. As such, the motor 300 may be protected, the cost of the temperature sensor may be saved, and the problem of the temperature protection failure due to improper use of the temperature sensor and the lifetime.
An example of applying the motor 300 to the gimbal is further described.
As shown in
At S1001, when the gimbal is operating, the torque of the motor 300 is obtained according to the drive signal used to drive the motor 300 to rotate.
In some embodiments, according to the drive signal used to drive the motor 300 to rotate, obtaining the torque of the motor 300 may be performed right after the gimbal is powered on to ensure safety of the motor 300.
At S1002, the temperature of the motor 300 is determined according to the torque and the lasting time.
At S1003, when the temperature is greater than the temperature threshold, the magnitude of the drive signal is adjusted to reduce the torque of the motor 300.
The working principle of process S1001 to process S1003 is similar to the working principle of the motor control method of embodiments of the present disclosure, which is not repeated here.
Consistent with embodiments of the present disclosure, the gimbal may estimate the temperature of the motor 300 according to the force output condition of the motor 300 to effectively obtain the temperature of the motor 300. As such, the motor 300 may be protected, the cost of the temperature sensor may be saved, and the problem of the temperature protection failure due to improper use of the temperature sensor and the lifetime.
Corresponding to embodiments of the gimbal control method of the present disclosure, the present disclosure further provides embodiments of the gimbal control device.
The gimbal control device includes one or more controllers 100, which operate individually or collectively.
The controller 100 may be configured to obtain the torque of the motor 300 according to the drive signal used to drive the motor 300 to rotate when the gimbal operates, determine the temperature of the motor 300 according to the torque and the lasting time, and adjust the magnitude of the drive signal to reduce the torque of the motor 300 when the temperature is greater than the temperature threshold.
The working principle of the gimbal control device is similar to the working principle of the motor control device of embodiments of the present disclosure, which is not repeated here.
Consistent with embodiments of the present disclosure, the controller 100 may be configured to estimate the temperature of the motor 300 according to the force output condition of the motor 300 to effectively obtain the temperature of the motor 300. As such, the motor 300 may be protected, the cost of the temperature sensor may be saved, and the problem of the temperature protection failure due to improper use of the temperature sensor and the lifetime.
In addition, embodiments of the present disclosure further provide a computer-readable storage medium, which stores a computer program. When the program is executed by the controller 100, the processes of the motor control method or gimbal control method of embodiments of the present disclosure may be realized.
Those of ordinary skill in the art should understand that all or a part of processes of embodiments of the present disclosure may be completed by the computer program instructing related hardware. The program may be stored in the computer-readable storage medium. When the program is executed, the processes of method embodiments may be realized. The storage medium may include a magnetic disk, an optical disc, a read-only memory (ROM), a random-access memory (RAM), etc.
Only some embodiments of the present disclosure are disclosed above, which should not be used to limit the claim scope of the present disclosure. Equivalent modifications according to the claims of the present invention are still within the scope of the invention.
This application is a continuation of International Application No. PCT/CN2018/088897, filed May 29, 2018, the entire content of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2018/088897 | May 2018 | US |
Child | 17103775 | US |