Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MOTOR CONTROL METHOD AND APPARATUS
Document Type and Number:
WIPO Patent Application WO/2023/066974
Kind Code:
A1
Abstract:
A motor control method is provided. A motor is coupled between two relays in a motor control circuit, the two relays are coupled to a first node when energized and to a second node when de-energized, and an electric potential of the first node is different from an electric potential of the second node. The method includes: controlling one relay of the two relays to be energized and the other relay of the two relays to be de-energized to supply power to the motor; controlling the other relay to be energized while controlling the one relay to remain energized to remove power to the motor when the motor is required to be stopped; determining whether the motor has stopped; and controlling the two relays to be de-energized if the motor has stopped. The solution proposed in the present disclosure significantly reduces the noise generated when the motor is stopping, improves the user experience, does not increase the hardware cost and the design time cost, and has high cost benefit.

More Like This:
Inventors:
SUN HUITAO (CN)
DING JIE (CN)
Application Number:
PCT/EP2022/079059
Publication Date:
April 27, 2023
Filing Date:
October 19, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
WEBASTO SE (DE)
International Classes:
H02P3/08; B60J1/00; E05F15/00
Foreign References:
CN112696113A2021-04-23
JPH10110573A1998-04-28
Attorney, Agent or Firm:
PRÜFER & PARTNER MBB PATENTANWÄLTE RECHTSANWÄLTE NR. 321 (DE)
Download PDF:
Claims:
CLAIMS

1. A motor control method, wherein a motor is coupled between two relays in a motor control circuit, the two relays are coupled to a first node when energized and to a second node when de-energized, and an electric potential of the first node is different from an electric potential of the second node, wherein the method comprises: controlling one relay of the two relays to be energized and the other relay of the two relays to be de-energized to supply power to the motor; controlling the other relay to be energized while controlling the one relay to remain energized to remove power to the motor when the motor is required to be stopped; determining whether the motor has stopped; and controlling the two relays to be de-energized if the motor has stopped.

2. The method according to claim 1, wherein the determining whether the motor has stopped further comprises: determining whether a time period for which both the two relays remain energized has reached a preset time period; and concluding that the motor has stopped if the preset time period has been reached.

3. The method according to claim 2, wherein the preset time period is associated with the self-weight, load and speed of the motor.

4. The method according to claim 3, wherein the preset time period ranges from 20ms to 100ms.

5. The method according to claim 4, wherein the preset time period is 50ms.

6. The method according to claim 1, wherein the determining whether the motor has stopped further comprises: receiving a stop detection signal from a sensor coupled to the motor; and determining whether the motor has stopped based on the stop detection signal.

7. The method according to claim 6, wherein: the sensor is a voltage sensor or a current sensor, the stop detection signal is a voltage signal or a current signal, and the determining whether the motor has stopped based on the stop detection signal further comprises: concluding that the motor has stopped if the voltage signal or the current signal is zero.

8. The method according to claim 1, wherein the motor is configured to drive a sunroof, a sunshade and/or a window of a vehicle to move while rotating.

9. A motor control apparatus, wherein a motor is coupled between two relays in a motor control circuit, the two relays are coupled to a first node when energized and to a second node when de-energized, and an electric potential of the first node is different from an electric potential of the second node, wherein the apparatus comprises: a power supply starting unit, which is configured to control one relay of the two relays to be energized and the other relay of the two relays to be de-energized to supply power to the motor; a power supply stopping unit, which is configured to control the other relay to be energized while controlling the one relay to remain energized to remove power to the motor when the motor is required to be stopped; a halt determining unit, which is configured to determine whether the motor has stopped; and a de-energizing control unit, which is configured to control the two relays to be de-energized if the motor has stopped.

10. The apparatus according to claim 9, wherein the halt determining unit is further configured to: determine whether a time period for which both the two relays remain energized has reached a preset time period; and conclude that the motor has stopped if the preset time period has been reached.

11. The apparatus according to claim 10, wherein the preset time period is associated with the self-weight, load and speed of the motor.

12. The apparatus according to claim 11, wherein the preset time period ranges from 20ms to 100ms.

13. The apparatus according to claim 11, wherein the preset time period is 50ms.

14. The apparatus according to claim 9, wherein the halt determining unit is further configured to: receive a stop detection signal from a sensor coupled to the motor; and determine whether the motor has stopped based on the stop detection signal.

15. The apparatus according to claim 14, wherein the sensor is a voltage sensor or a current sensor, the stop detection signal is a voltage signal or a current signal, and the determining whether the motor has stopped based on the stop detection signal further comprises: concluding that the motor has stopped if the voltage signal or the current signal is zero.

16. The apparatus according to claim 9, wherein the motor is configured to drive a sunroof, a sunshade and/or a window of a vehicle to move while rotating.

18

17. A computing device, comprising: a processor; and a memory for storing computer-executable instructions, wherein the computer-executable instructions, when executed, cause the processor to perform the method according to any one of claims 1 to 8.

18. A tangible computer storage medium, having stored thereon computer executable instructions that are used to perform the method according to any one of claims 1 to 8. 19. A computer program product, wherein the computer program product is stored on a tangible computer-readable storage medium and comprises computer-executable instructions that, when executed, cause at least one processor to perform the method according to any one of claims 1 to 8.

19

Description:
MOTOR CONTROL METHOD AND APPARATUS

RELATED FIELD

[0001] The present disclosure relates to the technical field of vehicle electronics, and in particular to a motor control method, apparatus, computing device, computer-readable storage medium and computer program product.

BACKGROUND

[0002] As an important part of a vehicle, the use of sunroof can keep fresh the air inside the vehicle, improve the daylighting and visual field, and increase the comfort of the occupants. Generally, the sunroof motor is controlled by an electronic control unit (ECU), so as to control operations (e.g. ascending, descending, full or partial opening, full or partial closing, etc.) of the sunroof. The sunroof ECU can communicate with the body control module (BCM) via the LIN bus to receive sunroof control signals, or it can also receive sunroof control signals via mechanical buttons.

[0003] In the conventional design, two control terminals of the motor are respectively coupled to the moving contacts of two relays, and two static contacts of each relay are respectively coupled to the power source and the ground. The program in the sunroof ECU controls one relay of the two relays to be energized and coupled to the power source, and controls the other relay of the two relays to be de-energized and coupled to the ground, based on the sunroof control signals, thus applying a source voltage across two terminals of the motor, causing the motor to rotate forwardly (e.g., clockwise) or reversely (e.g., counterclockwise), which in turn drives the sunroof to open or close. The correspondence between the direction of rotation of the motor and the direction of movement of the sunroof depends on the mechanical arrangement between the motor and the sunroof. When the sunroof reaches the required position, the program controls the energized relay of the two relays to be de-energized, at which time both relays are coupled to the ground, the voltage across two terminals of the motor is zero, and the motor gradually stops.

[0004] When the relay is de-energized, the relay will oscillate between the energized state, the grounded state and the high-impedance state due to the physical properties (elastic vibration) of the relay itself, and eventually remain in the grounded state. Besides, the motor will continue to rotate for some time due to inertia, which will generate a reverse electric potential. The above two factors will cause noise audible to human ears. Moreover, as the use time increases, metal fatigue will occur in the relay, and the noise will become louder and louder.

[0005] To make the noise generated when the motor is stopping less audible to human ears, one solution proposed in the prior art is to drive the motor by controlling a metal-oxide-semiconductor field-effect tube (MOSFET) through pulse-width modulation (PWM) signals.

[0006] However, the above approach of driving the motor by controlling the MOSFET through PWM signals requires large changes to the existing hardware design, which significantly increases the design complexity and consequently the design time cost. Besides, the hardware cost associated with the PWM signal control and MOSFET is significantly higher than conventional designs.

SUMMARY

[0007] As mentioned above, although the approach of driving the motor by controlling the MOSFET through PWM signals can reduce to some extent the noise generated when the motor is stopping, this approach requires large changes to the existing hardware design, significantly increases the design complexity, and increases the hardware cost and the design time cost.

[0008] Therefore, according to one aspect of the present disclosure, a motor control method is proposed, where a motor is coupled between two relays in a motor control circuit, the two relays are coupled to a first node when energized and to a second node when de-energized, and the electric potential of the first node is different from the electric potential of the second node. The method includes: controlling one relay of the two relays to be energized and the other relay of the two relays to be de-energized to supply power to the motor; controlling the other relay to be energized while controlling the one relay to remain energized to remove power to the motor when the motor is required to be stopped; determining whether the motor has stopped; and controlling the two relays to be de-energized if the motor has stopped.

[0009] According to the first aspect of the present disclosure, the previously de-energized one of the two relays is controlled to be energized when the motor is controlled to stop, and then the two relays are controlled to be de-energized after the motor is stopped, which can significantly reduce the noise generated when the motor is stopping and improve the user experience. Moreover, the solution proposed in the present disclosure does not increase the hardware cost and the design time cost, and has high cost benefit.

[0010] In an embodiment according to the present disclosure, the determining whether the motor has stopped further includes: determining whether a time period for which both the two relays remain energized has reached a preset time period; and concluding that the motor has stopped if the preset time period has been reached.

[0011] In an embodiment according to the present disclosure, the preset time period is associated with the self-weight, load and speed of the motor.

[0012] In an embodiment according to the present disclosure, the preset time period ranges from 20ms to 100ms.

[0013] In an embodiment according to the present disclosure, the preset time period is 50ms.

[0014] In an embodiment according to the present disclosure, the determining whether the motor has stopped further includes: receiving a stop detection signal from a sensor coupled to the motor; and determining whether the motor has stopped based on the stop detection signal.

[0015] In an embodiment according to the present disclosure, the sensor is a voltage sensor or a current sensor, the stop detection signal is a voltage signal or a current signal, and, the determining whether the motor has stopped based on the stop detection signal further includes: concluding that the motor has stopped if the voltage signal or the current signal is zero.

[0016] In an embodiment according to the present disclosure, the motor is configured to drive a sunroof, a sunshade and/or a window of the vehicle to move while rotating.

[0017] According to a second aspect of the present disclosure, a motor control apparatus is proposed, where the motor is coupled between two relays in a motor control circuit, the two relays are coupled to a first node when energized and to a second node when de-energized, and the electric potential of the first node is different from the electric potential of the second node. The apparatus includes: a power supply starting unit, which is configured to control one relay of the two relays to be energized and the other to be de-energized to supply power to the motor; a power supply stopping unit, which is configured to control the other relay of the two relays to be energized while controlling the one relay to remain energized to remove power to the motor when the motor is required to be stopped; a halt determining unit, which is configured to determine whether the motor has stopped; and a de-energizing control unit, which is configured to control the two relays to be de-energized if the motor has stopped.

[0018] According to the second aspect of the present disclosure, the previously de-energized one of the two relays is controlled to be energized when the motor is controlled to stop, and then the two relays are controlled to be de-energized after the motor is stopped, which can significantly reduce the noise generated when the motor is stopping and improve the user experience. Moreover, the solution proposed in the present disclosure does not increase the hardware cost and the design time cost, and has high cost benefit.

[0019] In an embodiment according to the present disclosure, the halt determining unit is further configured to: determine whether a time period for which both the two relays remain energized has reached a preset time period; and conclude that the motor has stopped if the preset time period has been reached.

[0020] In an embodiment according to the present disclosure, the preset time period is associated with the self-weight, load and speed of the motor.

[0021] In an embodiment according to the present disclosure, the preset time period ranges from 20ms to 100ms.

[0022] In an embodiment according to the present disclosure, the preset time period is 50ms.

[0023] In an embodiment according to the present disclosure, the halt determining unit is further configured to: receive a stop detection signal from a sensor coupled to the motor; and determine whether the motor has stopped based on the stop detection signal.

[0024] In an embodiment according to the present disclosure, the sensor is a voltage sensor or a current sensor, the stop detection signal is a voltage signal or a current signal, and, the determining whether the motor has stopped based on the stop detection signal further includes: concluding that the motor has stopped if the voltage signal or the current signal is zero.

[0025] In an embodiment according to the present disclosure, the motor is configured to drive a sunroof, a sunshade and/or a window of the vehicle to move while rotating.

[0026] According to a third aspect of the present disclosure, a computing device is proposed, where the computing device includes: a processor; and a memory for storing computer-executable instructions, where the computer-executable instructions, when executed, cause the processor to perform the method in the first aspect.

[0027] According to a fourth aspect of the present disclosure, a computer-readable storage medium is proposed, where the computer-readable storage medium has computer-executable instructions stored thereon, and the computer-executable instructions are used to perform the method in the first aspect.

[0028] According to a fifth aspect of the present disclosure, a computer program product is proposed, where the computer program product is stored on a tangible computer-readable storage medium and includes computer-executable instructions that, when executed, cause at least one processor to perform the method in the first aspect.

BRIEF DESCRIPTION OF THE DRAWINGS

[0029] The features, advantages and other aspects of various embodiments of the present disclosure will become more apparent in connection with the accompanying drawings and with reference to the following detailed description. Several embodiments of the present disclosure are illustrated herein in an exemplary and non-restrictive manner. In the drawings:

[0030] FIG. 1 is a schematic diagram of a portion of a motor control circuit;

[0031] FIG. 2 is a flow chart of a motor control method according to an embodiment of the present disclosure;

[0032] FIG. 3 is a relay-control timing diagram for the motor control method according to the present disclosure;

[0033] FIG. 4 is a schematic block diagram of a motor control apparatus according to an embodiment of the present disclosure; and

[0034] FIG. 5 is a schematic block diagram of a computing device for controlling a motor according to an embodiment of the present disclosure.

DETAILED DESCRIPTION

[0035] Exemplary embodiments of the present disclosure are described in detail hereafter with reference to the accompanying drawings. Although the exemplary methods, devices described below include software, executed on hardware of other components, and/or firmware, it should be noted that these examples are merely illustrative and should not be construed as restrictive. For example, it is possible that any or all hardware, software, and firmware components can be implemented exclusively in hardware, exclusively in software, or in any combination of hardware and software. Thus, although exemplary methods and apparatus have been described below, it should be readily appreciated by those skilled in the art that the examples provided herein are not intended to limit the manner used to implement these methods and apparatus.

[0036] In addition, the flowchart and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of the methods and systems according to various embodiments of the present disclosure. It should be noted that the functions indicated in the blocks may also occur in a different sequence than that indicated in the accompanying drawings. For example, two consecutive blocks as illustrated may be substantially concurrently executed, or they may sometimes be executed in a reverse sequence, depending on the functions involved. It should also be noted that each block in the flowchart and/or the block diagrams, and the combination of blocks in the flowchart and/or the block diagrams, may be implemented using a dedicated hardware-based system used to perform the specified function or operation, or may be implemented using a combination of dedicated hardware and computer instructions.

[0037] Before introducing the embodiments of the present disclosure, some of the terms involved in the present disclosure are first explained for a better understanding of the present disclosure.

[0038] The terms "connection" or "coupling" and similar terms used in the present disclosure are not limited to physical or mechanical connections, but may include electrical connections, regardless of direct or indirect. Terms such as "one", "a group of, "a", or the like do not indicate a limitation on the number, but rather the presence of at least one.

[0039] The terms "includes", "comprises" and the like used in the present disclosure are open-ended terms, i.e., "includes/comprises but is not limited to", indicating that other elements may also be included. The term "an embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one another embodiment", etc. In this specification, exemplary expressions of the above terms do not have to be directed to same embodiments or examples. Moreover, the specific features, structures, materials, or characteristics described may be combined in a suitable manner in any one or more embodiments or examples. In addition, in case of no contradiction, a person skilled in the art may unite and combine the different embodiments or examples described in this specification and the features of different embodiments or examples.

[0040] The term "energized" as used in this specification means that there is a current flowing in the coil of the relay, and the term "de-energized" means that there is no current flowing in the coil of the relay.

[0041] The present disclosure aims to propose a motor control method. In the motor control method, the previously de-energized one of the two relays is controlled to be energized when the motor is controlled to stop, and then the two relays are controlled to be de-energized after the motor is stopped, which can significantly reduce the noise generated when the motor is stopping and improve the user experience. Moreover, the solution proposed in the present disclosure does not increase the hardware cost and the design time cost, and has high cost benefit.

[0042] First, the working principle of the motor control circuit is briefly explained with reference to FIG. 1.

[0043] FIG. 1 is a schematic diagram of a portion of a motor control circuit. This portion of the motor control circuit is used to control the motor to rotate or stop. The motor 13 in FIG. 1 is capable of driving a sunroof, a sunshade, and/or a window to operate, for example, open or close, via a transmission (not shown in FIG. 1). The correspondence between the direction of rotation of the motor 13 and the direction of movement of the sunroof, sunshade, and/or window depends on the mechanical arrangement between the motor 13 and the sunroof, sunshade, and/or window. For example, the motor 13 rotates forwardly to drive the sunroof, sunshade, and/or windows to open, and the motor 13 rotates reversely to drive the sunroof, sunshade, and/or windows to close.

[0044] As illustrated in FIG. 1, the motor 13 is coupled between a first relay 11 and a second relay 12, and is connected in parallel with a resistor R1 and a capacitor Cl. The resistor R1 and the capacitor Cl are used for filtering the signal. The first relay 11 and the second relay 12 are used to control the power supply to the motor 13. Specifically, a first control terminal of the motor 13 is coupled to a moving contact Al of the first relay 11, and a second control terminal is coupled to a moving contact A2 of the second relay 12. A static contact Bl of the first relay 11 and a static contact B2 of the second relay 12 are normally closed contacts, both coupled to the ground. A static contact Cl of the first relay 11 and a static contact C2 of the second relay 12 are normally open contacts, both coupled to a positive terminal of a power source. In this embodiment, one end of the coil 110 of the first relay 11 and one end of the coil 120 of the second relay 12 are both coupled to the positive terminal of the power source; and, the other end of the coil 110 and the other end of the coil 120 are both coupled to a controller 14 (e.g., ECU). The controller 14 outputs two control signals, which are provided to the coil 110 of the first relay 11 and the coil 120 of the second relay 12 respectively.

[0045] When the control signal provided to the coil 110 is of a high level, there is no current flowing in the coil 110, the moving contact Al is in contact with the static contact Bl which is a normally closed contact, and the first relay 11 is coupled to the ground. When the control signal provided to the coil 110 is of a low level, there is a current flowing in the coil 110, and therefore a magnetic field is generated, causing the moving contact Al to contact the static contact C 1 which is a normally open contact, so that the first relay 11 is switched from coupling to the ground to coupling to the power source. Similarly, when the control signal provided to the coil 120 is of a high level, there is no current flowing in the coil 120, the moving contact A2 is in contact with the static contact B2 which is a normally closed contact, and the second relay 12 is coupled to the ground. When the control signal provided to the coil 120 is of a low level, there is a current flowing in the coil 120, and therefore a magnetic field is generated, causing the moving contact A2 to contact the static contact C2 which is a normally open contact, so that the second relay 12 is switched from coupling to the ground to coupling to the power source. Thus, the controller 14 controls the energization and de-energization of the first relay 11 and the second relay 12 by outputting different control signals.

[0046] The energization or de-energization of the first relay 11 and the second relay 12 can change the potential difference across the two terminals of the motor 13, thus changing the direction of the current as well as the direction of rotation of the motor to drive the sunroof, sunshade and/or window to open or close. In the motor control circuit illustrated in FIG. 1, when the controller 14 supplies a low level to the coil 110 of first relay 11 and a high level to the coil 120 of the second relay 12, the first relay 11 is energized, the second relay 12 is de-energized, and the motor 13 rotates forwardly. When the controller 14 supplies a high level to the coil 110 of first relay 11 and a low level to the coil 120 of the second relay 12, the first relay 11 is de-energized, the second relay 12 is energized, and the motor 13 rotates reversely. In other embodiments, it is also applicable that one end of the coil 110 of the first relay 11 and one end of the coil 120 of the second relay 12 are both coupled to the ground, and the controller 14 energizes the first relay 11 or the second relay 12 by providing a high level to the coil 110 or the coil 120.

[0047] It should be noted that, although FIG. 1 shows that the static contact Bl of the first relay 11 and the static contact B2 of the second relay 12 are both coupled to the ground, and the static contact Cl of the first relay 11 and the static contact C2 of the second relay 12 are both coupled to the power source, the static contacts Bl and B2 as normally closed contacts may also be coupled to other low potential nodes in the motor control circuit, while the static contacts Cl and C2 as normally open contacts may be coupled to other high potential nodes in the motor control circuit, as long as the motor 13 is energized to rotate when one of the first relay 11 and the second relay 12 is controlled to be energized and the other to be de-energized.

[0048] Referring to FIG. 2, FIG. 2 is a flow chart of a motor control method according to an embodiment of the present disclosure.

[0049] First, in step 21 of the method 200, one of the two relays is controlled to be energized and the other to be de-energized to supply power to the motor. The two relays are coupled to a first node when energized and to a second node when de-energized, and the electric potential of the first node is different from the electric potential of the second node. Taking the motor control circuit of FIG. 1 as an example, a low level is supplied to the coil of one of the first relay 11 and the second relay 12 to energize this one relay and couple this one relay to the power source, and a high level is supplied to the coil of the other relay to de-energize this other relay and couple this other relay to the ground, the potential difference across the two terminals of the motor 13 is the source voltage, and the motor 13 rotates forwardly or reversely. FIG. 3 is a relay-control timing diagram for the motor control method according to the present disclosure. As shown in FIG. 3, before the moment tl, a first relay control signal is of a low level, a second relay control signal is of a high level, and the motor 13 rotates forwardly.

[0050] Next, in step 22, the other relay is controlled to be energized while the one relay is controlled to remain energized to remove power to the motor when the motor is required to be stopped. Unlike the situation when the relay is de-energized, when energized, the moving contact of the relay immediately contacts the normally open contact without oscillating back and forth because of the magnetic field generated by the current flowing in the coil.

[0051] Still taking FIG. 1 as an example, although not shown in FIG. 1, a Hall sensor is provided at each of two ends of the motor 13, and the signal output from the Hall sensor is used to calculate the number of revolutions of the motor 13 in forward or reverse rotation. In the case of the motor 13 driving a sunroof, the sunroof control signal sent to the controller 14 typically includes the direction of sunroof movement and the target position. Based on the distance difference between the target position of the sunroof and the current position of the sunroof, the number of revolutions required for the motor 13 to drive the sunroof from the current position to the target position can be obtained. Therefore, when the signal output from the Hall sensor indicates that the sunroof has reached the target position, it is determined that the motor needs to be stopped. In FIG. 1, when the motor 13 is controlled to stop, the controller 14 continues to provide a low level to the coil of the energized relay and also provide a low level to the coil of the previously de-energized relay. At this time, both the first relay 11 and the second relay 12 are energized and coupled to the power source, and the potential difference across the two terminals of the motor 13 is zero. That is, the motor 13 is de-energized and begins to decelerate. As shown in FIG. 3, at the moment tl, the first relay control signal continues to remain a low level, the second relay control signal also changes to a low level, and the motor 13 begins to stop.

[0052] In the subsequent step 23, it is determined whether the motor has stopped. In an embodiment, the determining whether the motor has stopped further includes: determining whether a time period for which both the two relays remain energized has reached a preset time period; and concluding that the motor has stopped if the preset time period has been reached. That is, the inertial rotation of the motor has stopped and stabilized during the preset time period. Since the duration of the inertial rotation of the motor is related to the self-weight, load and speed of the motor, the preset time period can be set according to the self- weight, load and speed of the motor. As shown in FIG. 3, the preset time period is the time period between the moment tl and the moment t2. Optionally, the preset time period ranges from 20ms to 100ms. More Optionally, the preset time period is 50ms.

[0053] In another embodiment, the determining whether the motor has stopped further includes: receiving a stop detection signal from a sensor coupled to the motor; and determining whether the motor has stopped based on the stop detection signal. The stop detection signal may be a voltage signal or a current signal. A voltage sensor or a current sensor may be connected in series in, for example, the motor control circuit of FIG. 1 to sense the voltage across the two terminals of the motor 13 or the current flowing through the motor 13. When the inertial rotation of the motor 13 stops, the reverse electric potential across the two terminals of the motor 13 is zero, and the voltage or current sensed by the voltage sensor or current sensor is also zero, and at this time the controller 14 determines that the motor 13 has stopped.

[0054] Finally, in step 24, if the motor has stopped, the two relays are controlled to be de-energized. Referring to FIGS. 1 and 3, at the moment t2, both the first relay control signal and the second relay control signal change to the high level, the moving contact Al of the first relay 11 returns to contact with the normally closed contact Bl, and the moving contact A2 of the second relay 12 returns to contact with the normally closed contact B2, and the first relay 11 and the second relay 12 are both de-energized and coupled to the ground.

[0055] In the above embodiment, the previously de-energized one of the two relays is controlled to be energized when the motor is controlled to stop, and then the two relays are controlled to be de-energized after the motor is stopped, which can significantly reduce the noise generated when the motor is stopping and improve the user experience. Moreover, the solution proposed in the present disclosure does not increase the hardware cost and the time cost, and has high cost benefit.

[0056] FIG. 4 is a schematic block diagram of a motor control apparatus according to an embodiment of the present disclosure. The units in FIG. 4 can be implemented using software, hardware (for example, integrated circuits, FPGAs, etc.), or a combination of software and hardware. The motor is coupled between two relays in the motor control circuit. The two relays are both coupled to a first node when energized and to a second node when de-energized, and the electric potential of the first node is different from the electric potential of the second node. Referring to FIG. 4, the apparatus 400 includes a power supply starting unit 41, a power supply stopping unit 42, a halt determining unit 43, and a de-energizing control unit 44. The power supply starting unit 41 is configured to control one relay of the two relays to be energized and the other relay of the two relays to be de-energized to supply power to the motor. The power supply stopping unit 42 is configured to control the other relay to be energized while controlling the one relay to remain energized to remove power to the motor when the motor is required to be stopped. The halt determining unit 43 is configured to determine whether the motor has stopped. The de-energizing control unit 44 is configured to control the two relays to be de-energized if the motor has stopped.

[0057] Optionally, in an embodiment according the present disclosure, the halt determining unit 43 is further configured to determine whether a time period for which both the two relays remain energized has reached a preset time period; and conclude that the motor has stopped if the preset time period has been reached.

[0058] Optionally, in an embodiment according to the present disclosure, the preset time period is associated with the self-weight, load and speed of the motor.

[0059] Optionally, in an embodiment according to the present disclosure, the preset time period ranges from 20ms to 100ms.

[0060] Optionally, in an embodiment according to the present disclosure, the preset time period is 50ms.

[0061] Optionally, in an embodiment according to the present disclosure, the halt determining unit 43 is further configured to: receive a stop detection signal from a sensor coupled to the motor; and determine whether the motor has stopped based on the stop detection signal.

[0062] Optionally, in an embodiment according to the present disclosure, the sensor is a voltage sensor or a current sensor, the stop detection signal is a voltage signal or a current signal, and, the determining whether the motor has stopped based on the stop detection signal further includes: concluding that the motor has stopped if the voltage signal or the current signal is zero.

[0063] Optionally, in an embodiment according to the present disclosure, the motor is configured to drive a sunroof, a sunshade and/or a window of the vehicle to move while rotating.

[0064] FIG. 5 is a schematic block diagram of a computing device for controlling the motor according to an embodiment of the present disclosure. It should be understood that the computing device 500 may be implemented to perform the functions of the motor control method 200 in FIG. 2. As can be seen in FIG. 5, the computing device 500 includes a central processing unit (CPU) 51 (e.g., a processor) that can perform various appropriate actions and processes based on computer program instructions stored in a read-only memory (ROM) 52 or loaded into a random access memory (RAM) 53 from a memory unit 508. Various programs and data required for the operation of the computing device 500 may also be stored in the RAM 53. The CPU 51, the ROM 52, and the RAM 53 are connected to each other via a bus 54. An input/output (I/O) interface 55 is also connected to the bus 54.

[0065] Multiple components in the computing device 500 are connected to the I/O interface 55, including: an input unit 56, an output unit 57, a storage unit 58, and a communication unit 59. The communication unit 59 allows this computing device 500 to exchange information/data with other devices via a computer network such as the Internet and/or via various telecommunication networks.

[0066] The various methods described above such as the motor control method 200 may be executed by the CPU 51. For example, in some embodiments, the motor control method 200 may be implemented as a computer software program that is tangibly contained in a machine -readable medium such as the storage unit 58. In some embodiments, part or all of the computer program may be loaded into and/or installed on the computing device 500 via the ROM 52 and/or the communication unit 59. One or more of the actions or steps in the motor control method 200 described above may be performed when the computer program is loaded into the RAM 53 and executed by the processor CPU 51.

[0067] Therefore, in another embodiment, a computer-readable storage medium is proposed according to the present disclosure, where the computer-readable storage medium has computer-executable instructions stored thereon, and the computer-executable instructions are used to perform the motor control method in the embodiments of the present disclosure.

[0068] In another embodiment, a computer program product is proposed according to the present disclosure, where the computer program product is tangibly stored on a computer-readable storage medium and includes computer-executable instructions that, when executed, cause at least one processor to perform the motor control method in the embodiments of the present disclosure.

[0069] In the above embodiment, the previously de-energized one of the two relays is controlled to be energized when the motor is controlled to stop, and then the two relays are controlled to be de-energized after the motor is stopped, which can significantly reduce the noise generated when the motor is stopping and improve the user experience. Moreover, the solution proposed in the present disclosure does not increase the hardware cost and the time cost, and has high cost benefit. [0070] The computer readable program instructions or the computer program product for performing various aspects of the present disclosure may also be stored in a cloud server, and the user can access the computer readable program instructions stored in the cloud server for performing one aspect of the present disclosure via a mobile internet, a fixed telephone network, or other network when called upon, so as to implement the technical solutions disclosed in accordance with various aspects of the present disclosure.

[0071] In general, various exemplary embodiments of the present disclosure can be implemented in hardware, dedicated circuit, software, firmware, logic, or any combination thereof. Some aspects can be implemented in the hardware, while others can be implemented in the firmware or software that can be executed by a controller, microprocessor, or other computing device. When various aspects of the embodiments of the present disclosure are illustrated or described as block diagrams, flow charts, or are represented by some other graphs, it will be appreciated that the blocks, devices, systems, techniques, or methods described herein may be implemented as non-restrictive examples in hardware, software, firmware, dedicated circuit or logic, general purpose hardware or controller, or other computing device, or some combination thereof.

[0072] Although it has been described above that the various exemplary embodiments of the present disclosure can be implemented in hardware or dedicated circuit, the computing device described above can be implemented in the form of hardware, and can also be implemented in the form of software. That is because: In the 1990s, it was easy to distinguish whether a technical improvement was a hardware improvement (e.g., an improvement in the structure of a circuit such as a diode, transistor, or switch) or a software improvement (e.g., an improvement in the method). However, as the technology continuously evolves, many of today's method improvements can almost always be achieved by programming the improved method into a hardware circuit. In other words, a corresponding hardware circuit structure can be obtained by programming a different program for the hardware circuit, achieving a change in the hardware circuit structure. Therefore, such method improvements can also be considered as direct improvements to the hardware circuit structure. Therefore, it is inappropriate to say that a method improvement cannot be implemented with a hardware entity module. For example, a programmable logic device (PLD) such as a field programmable gate array (FPGA) is one such integrated circuit whose logic functions are determined by user programming for the device. A digital system is "integrated" to a programmable logic device by programing from the designer without the need for a chip manufacturer to design and manufacture a dedicated integrated circuit chip. Moreover, nowadays, instead of making integrated circuit chips manually, this programming is mostly done with a "logic compiler" software which is similar to the software compiler used for program development, and the original code has to be written in a specific programming language before compiling. This specific programming language is called Hardware Description Language (HDL). And there is not just one HDL, but many such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. Currently the most commonly used is VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. It is also apparent to those skilled in the art that a hardware circuit implementing the logical method can be easily obtained by programming the method into the integrated circuit in simple logic programming with the hardware description languages mentioned above.

[0073] Although the embodiments of the present disclosure have been described with reference to several specific embodiments, it should be understood that embodiments of the present disclosure are not limited to the specific embodiments invented. Embodiments of the present disclosure are intended to cover a variety of modifications and equivalent arrangements included within the spirit and scope of the appended claims. The scope of the claims conforms to the broadest interpretation and thus encompasses all such modifications and equivalent structures and functions.