Control device and control method
Patent Information
- Application Number
- CN202610325259.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-03-25
- Filing Date
- 2026-03-17
- Publication Date
- 2026-09-29
AI Technical Summary
[0011]根据本公开,能够在电机停止时防止电机容易因负载而旋转,同时抑制电机的响应性的劣化。
Smart Images

Figure CN122844686A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a control device and method for controlling an electric motor, and more specifically, to a motor control technique for providing an indication of a situation in which the motor stops at a constant rotation angle. Background Technology
[0002] For example, control systems for remotely controlling controlled objects (such as model cars, model aircraft, and various robotic devices) are known, and servo motors used in such remote control systems are also known. For example, Japanese Patent Publication No. 2002-127993 discloses a servo motor for driving a swashplate in a model helicopter. Summary of the Invention
[0003] Here, in conventional servo motor control, a method is employed in which the absolute value of the error between the value of the command signal indicating the rotation angle of the motor's output shaft and the value of the detection signal obtained by the angle detection unit that detects the rotation angle of the motor's output shaft is used as a reference. When the absolute value of the error is within a predetermined dead zone, the motor is set to a free state, and when the absolute value of the error is not within the dead zone, the motor is driven in response to the command signal.
[0004] However, according to conventional methods, for example, when a command is given to stop the motor at a constant rotation angle, such as when the value of the command signal remains zero, if a load is applied to the motor, the motor in its free state is prone to rotation, making it impossible to maintain the rotation angle indicated by the command signal. For clarity, the load used here refers to the external force attempting to rotate the motor.
[0005] To prevent the motor rotation angle from easily changing from the commanded rotation angle due to load, it is conceivable to control the motor in a locked state. However, in this case, when the motor is commanded to rotate from a constant rotation angle via a command signal, the motor's start-up delay may lead to degraded responsiveness.
[0006] This disclosure is made in view of the above circumstances and is intended to prevent the motor from easily rotating under load when the motor is stopped, while suppressing the deterioration of the motor's responsiveness.
[0007] The control device according to this disclosure is a control device for controlling a motor, and includes a drive controller configured to perform: (i) a first determination process, determining, based on an angle command signal, whether the angle command signal commands a constant rotation angle, the angle command signal commanding the rotation angle of the output shaft of the motor; and (ii) a second determination process, determining, based on load-related information, whether a load has been applied to the motor, the load-related information being related to the load applied to the motor; and when it is determined that a constant rotation angle has been commanded by the angle command signal, controlling the motor to a locked state when it is determined that a load has been applied to the motor, and controlling the motor to a free state when it is determined that no load has been applied to the motor.
[0008] According to the above configuration, when a command is provided to stop the motor at a constant rotation angle, the motor is controlled in a locked state when it is determined that a load has been applied to the motor, and in a free state when it is determined that no load has been applied to the motor. When the motor is controlled in the locked state, it can prevent the motor from rotating easily due to a load, and when the motor is controlled in the free state, it can avoid the motor's starting delay when the angle command signal instructs the motor to rotate from a constant rotation angle.
[0009] The control method according to this disclosure is a control method in a control device for controlling a motor. The control method includes: performing a first determination process, which determines, based on an angle command signal, whether the angle command signal commands a constant rotation angle, the angle command signal commanding the rotation angle of the output shaft of the motor; and performing a second determination process, which determines, based on load-related information, whether a load has been applied to the motor, the load-related information being related to the load applied to the motor; and when it is determined that a constant rotation angle has been commanded by the angle command signal, controlling the motor to a locked state when it is determined that a load has been applied to the motor, and controlling the motor to a free state when it is determined that no load has been applied to the motor.
[0010] This control method can also achieve the same effect as the control device according to this disclosure.
[0011] According to this disclosure, it is possible to prevent the motor from easily rotating due to load when the motor is stopped, while suppressing the deterioration of the motor's responsiveness. Attached Figure Description
[0012] Figure 1 This is a diagram illustrating a configuration example of a control system according to an embodiment of the present disclosure.
[0013] Figure 2 This is a diagram illustrating an example of the electrical schematic configuration of the controlled object in the embodiment.
[0014] Figure 3This is a block diagram illustrating an example of the internal configuration of a control device according to an embodiment.
[0015] Figure 4A and Figure 4B This is a block diagram illustrating a configuration example of a motor drive circuit.
[0016] Figure 5 This is a functional block diagram illustrating the functions of the processor unit of the control device according to an embodiment.
[0017] Figure 6 This is an illustrative diagram illustrating a control example where the motor is set to a locked state.
[0018] Figure 7 This is an illustrative diagram illustrating a control example where the motor is set to a free state.
[0019] Figure 8 This is a flowchart illustrating an example of a specific processing procedure performed to implement the control method according to an embodiment.
[0020] Figure 9 This is an explanatory diagram of the control equipment based on a modified example. Detailed Implementation
[0021] In the following description, embodiments according to this disclosure will be described in the following order:
[0022] <1. Overview of Control System Configuration>
[0023] <2. Configuration of Controlled Objects>
[0024] <3. Configuration of Control Equipment>
[0025] <4. Control method according to the embodiment>
[0026] <5. Processing Procedure>
[0027] <6. Variations>
[0028] <7. Overview of the Implementation Examples>
[0029] <1. Overview of Control System Configuration>
[0030] Figure 1 This is a diagram illustrating an example of the configuration of a control system 100 according to an embodiment.
[0031] As shown in the figure, the control system 100 includes a controlled object 101 and a transmitter 102, which is used as a controller for wirelessly controlling the controlled object 101.
[0032] In this embodiment, the controlled object 101 can be, for example, a model car, a model aircraft, and various robotic devices for hobby or industrial use. Here, the model aircraft can be in the form of an airplane, helicopter, or multi-rotor aircraft.
[0033] For example, suppose the controlled object 101 in this example is configured as a model helicopter. Although not shown in detail, the controlled object 101 as a model helicopter includes a main rotor as the main wing, a swash plate for adjusting the tilt angle of the blades of the main rotor, and a tail rotor as flight mechanical components, and also includes electronic equipment (such as servo motors for driving the mechanical components) and communication equipment (such as a receiver for communicating with transmitter 102 (specifically, for receiving at least control signals from transmitter 102)).
[0034] Transmitter 102 includes various control elements for controlling the controlled object 101, a processor for generating control signals based on the manipulation of the control elements, and a communication device for transmitting the control signals to the controlled object 101. Specifically, when the controlled object 101 is a model helicopter as in this example, transmitter 102 includes control elements for instructing the rotational speed of the main rotor of the controlled object 101, and control elements for instructing the pitch, roll, yaw, and collective pitch angles. The processor generates control signals based on the manipulation of the control elements, the control signals including operational command information for the rotational speed of the main rotor and for each of pitch, roll, yaw, and collective pitch.
[0035] Regarding the adjustment of pitch, roll, and collective pitch in the model helicopter, please refer to the aforementioned Japanese Patent Publication No. 2002-127993. In the controlled object 101 of this example, the yaw angle is adjusted by adjusting the rotor pitch angle of the tail rotor.
[0036] <2. Configuration of Controlled Objects>
[0037] Figure 2 This is a block diagram illustrating an example of the electrical schematic configuration of the controlled object 101.
[0038] As shown in the figure, the controlled object 101 includes a receiver 111, a gyroscope device 112, a throttle servo motor 113, and various servo motors 1 used to adjust pitch, roll, and collective pitch. In the following text, to distinguish between the pitch servo motor, the roll servo motor, and the collective pitch servo motor, they will be referred to as "servo motor 1_1" (for pitch), "servo motor 1_2" (for roll), and "servo motor 1_3" (for collective pitch), respectively.
[0039] The controlled object 101 in this example also includes a motor for adjusting the yaw angle, i.e., a motor for driving the tail rotor. However, its illustration is omitted because it has little relevance to the control method described later in the embodiment.
[0040] Here, in this example, for the sake of simplicity, it is assumed that the swashplate hybrid method disclosed in Japanese Patent Publication No. 2002-127993 is not used to adjust pitch, roll, and collective pitch using the swashplate. In other words, the drive mechanism for roll angle adjustment, the drive mechanism for pitch angle adjustment, and the drive mechanism for collective pitch adjustment are set as independent mechanisms in the swashplate drive mechanism. This is merely an example for illustration, and the swashplate hybrid method can be used.
[0041] In the controlled object 101 of this example, an engine (not shown) is used as the drive source to drive the main rotor. The throttle servo motor 113 is configured as a servo motor for adjusting the carburetor of the engine that drives the main rotor.
[0042] The receiver 111 has an antenna 111a and performs wireless data communication with the transmitter 102 according to a predetermined wireless communication method.
[0043] Receiver 111 receives control signals from transmitter 102. As described above, the control signals in this example include operating instructions for the main rotor's rotational speed, as well as pitch, roll, yaw, and collective pitch. A description of roll angle control is omitted below.
[0044] Specifically, the control signals in this example include information about the rotation angle command of the throttle servo motor 113, which is related to the command of the rotation speed of the main rotor; information indicating the rotation angle of the pitch adjustment servo motor 1_1; information indicating the rotation angle of the roll adjustment servo motor 1_2; and information indicating the rotation angle of the collective pitch adjustment servo motor 1_3.
[0045] The receiver 111 outputs information included in the control signal of the received command throttle servo motor 113 regarding the rotation angle to the throttle servo motor 113. Therefore, the main rotor rotates at a rotational speed corresponding to the operator's manipulation of the transmitter 102.
[0046] In addition, the receiver 111 outputs information to the gyroscope device 112 that includes the information received in the control signals indicating the corresponding rotation angles of the servo motors 1_1 to 1_3.
[0047] In the following text, the signal that sends information indicating the rotation angle of the servo motor will be referred to as the "angle command signal," which means a signal that commands the rotation angle.
[0048] The gyroscope device 112 includes an angular velocity sensor and performs attitude stabilization control on the controlled object 101 based on the detection information from the angular velocity sensor. Specifically, the gyroscope device 112 performs attitude stabilization control by adjusting at least one of the angle command signals for servo motors 1_1 to 1_3 based on the detection information from the angular velocity sensor. In this example, attitude stabilization control may involve adjusting, for example, all angle command signals for servo motors 1_1 to 1_3.
[0049] The gyroscope device 112 outputs the angle adjustment command signal to the corresponding servo motor 1.
[0050] In each servo motor 1, a built-in motor (motor 2 described later) is driven based on the input angle command signal. Therefore, for each of the pitch angle, roll angle, and collective pitch, the operation of the controlled object 101 corresponding to the operator's manipulation of the transmitter 102 is realized. Furthermore, attitude stabilization control of the controlled object 101 is achieved.
[0051] Here, the processing performed by each servo motor 1 based on the angle command signal in this embodiment will be described in detail later.
[0052] In the controlled object 101 configured as a model helicopter, an electric motor can also be used as a drive source to drive the main rotor. In this case, it is conceivable to replace the throttle servo motor 113 with an electric motor used as the drive source for the rotor, and to set up an electronic speed controller (ESC) for controlling the motor.
[0053] The scenario where a swashplate blending method can be used has been described. When using the swashplate blending method, the blending angle command signal is input to each servo motor 1.
[0054] <3. Configuration of Control Equipment>
[0055] Figure 3 This is a block diagram illustrating an example of the internal configuration of a servo motor 1 according to an embodiment of the control device of this disclosure.
[0056] As shown in the figure, the servo motor 1 includes a motor 2, and also includes a processor 3, a drive circuit 4, an angle detection unit 5, and an analog-to-digital (A / D) converter 6. Furthermore, the servo motor 1 includes a gear gr and an output shaft os as mechanical components.
[0057] Motor 2 serves as the drive source for the swashplate's drive mechanism by transmitting rotational power to it. Although detailed illustrations are omitted, in servo motor 1, the rotation of motor 2's rotor is transmitted to the output shaft OS via gear gr. The rotational power of the output shaft OS is then transmitted to the swashplate's drive mechanism.
[0058] The drive circuit 4 is configured to supply drive current to the drive coil 2a of the motor 2. Specifically, the drive circuit 4 has the functions of adjusting the current value flowing through the drive coil 2a and switching the polarity.
[0059] Figure 4A and Figure 4B This is a diagram illustrating a configuration example of drive circuit 4.
[0060] Figure 4A and Figure 4B An example configuration is shown for supplying current to the drive coil 2a of the drive circuit 4. Figure 4A The image shows motor 2 rotating in the forward direction, and Figure 4B The image shows the state of motor 2 rotating in the opposite direction.
[0061] The driving circuit 4 in this example includes: a current supply unit 4a, configured to adjust the current value of the current flowing through the driving coil 2a; and a power control unit 4b, configured to adjust the polarity of the current flowing through the driving coil 2a.
[0062] The current supply unit 4a is configured as a variable current output circuit, which is configured to adjust the current value output to the power control unit 4b to match the current from the power supply unit 4b. Figure 3 The values corresponding to the instructions of processor unit 3 shown.
[0063] In this example, the H-bridge circuit is used as the power control section 4b. As shown in the figure, in the power control section 4b, which is the H-bridge circuit, when viewed from the drive coil 2a, switches SW1 and SW2 are set as a pair of switches on the positive side (current supply section 4a side), and when viewed from the drive coil 2a, switches SW3 and SW4 are set as a pair of switches on the negative side (GND side).
[0064] As shown in the figure, the drive coil 2a is inserted between the connection point between switches SW1 and SW3 and the connection point between switches SW2 and SW4.
[0065] like Figure 4A As shown, when the motor 2 is rotating in the forward direction, in the power control unit 4b, which is an H-bridge circuit, only switches SW1 and SW4 are turned on, while switches SW2 and SW3 are turned off. In this case, the drive current flows to ground GND via switch SW1 → drive coil 2a → switch SW4.
[0066] Conversely, when the motor 2 rotates in the reverse direction, in the power control unit 4b, which is an H-bridge circuit, only switches SW2 and SW3 are turned on, while switches SW1 and SW4 are turned off. In this case, the drive current flows to ground GND via switch SW2 → drive coil 2a → switch SW3, and the drive current in the opposite direction to that during forward rotation flows through drive coil 2a.
[0067] exist Figure 3 In this configuration, the processor unit 3 is configured as a microcomputer, for example, including a central processing unit (CPU), read-only memory (ROM), and random access memory (RAM). The CPU performs processing according to the program stored in the ROM to implement various operations of the servo motor 1, such as receiving angle command signals from an external device (in this example, a gyroscope device 112) and controlling the motor 2 based on the angle command signals.
[0068] The processor unit 3 controls the operation of the motor 2 by controlling the operation of the drive circuit 4 based on the value of the angle command signal. Specifically, in this example, the processor unit 3 controls the operation of the motor 2 by controlling the output current value of the current supply unit 4a and controlling the switches SW1 to SW4 in the power control unit 4b based on the value of the angle command signal.
[0069] In the servo motor 1, rotation control of the motor 2 is performed based on information about the rotation angle of the motor 2 detected by the angle detection unit 5. Here, the angle detection unit 5 detects the rotation angle of the motor 2, specifically the rotation angle of the output shaft OS. In this example, a potentiometer is used.
[0070] As shown in the figure, the detection signal of the angle detection unit 5 is digitally sampled by the A / D converter 6 and input to the processor unit 3.
[0071] In the following text, the detection signal from the angle detection unit 5 will be referred to as the "angle detection signal". Furthermore, the sampled value output from the A / D converter 6 will be referred to as the "angle detection value". The output signal of the A / D converter 6 can also be referred to as the angle detection signal in digital signal form.
[0072] The processor unit 3 uses the angle detection value input from the A / D converter 6 as feedback input and utilizes feedback loop control to control the rotation angle of the motor 2. Specifically, the processor unit 3 calculates the error e between the rotation angle value (hereinafter referred to as the "angle command value") represented by the angle command signal input from the gyroscope device 112 and the angle detection value input from the A / D converter 6, and executes the control of the output current value of the drive circuit 4 so that the error e becomes zero (that is, the control of the drive current value flowing through the drive coil 2a and the control of the polarity of the drive current are executed).
[0073] As can be seen from the above, in this example, the rotation angle control of motor 2 is not based on the rotation angle of the rotor of motor 2, but on the rotation angle of the output shaft OS. Therefore, in this example, the angle command signal is not a signal that commands the rotation angle of the rotor of motor 2, but a signal that commands the rotation angle of the output shaft OS.
[0074] As described above, a dead zone is conventionally set in the rotation angle control of motor 2 based on the error e. Specifically, when the absolute value of the error e (hereinafter referred to as "error value E") is within a predetermined value that defines the dead zone, the processor unit 3 will not perform motor rotation control through feedback loop control based on the error e.
[0075] Furthermore, as described later, the processor unit 3 of this embodiment performs control corresponding to the state in which the motor 2 stops (i.e., the state in which the rotation angle is kept constant according to the angle command signal).
[0076] <4. Control method according to the embodiment>
[0077] Here, as described above, under normal circumstances, the method of setting the motor 2 to a free state is adopted when the absolute value of the error e (error value E) is within a predetermined dead zone. Therefore, when a command is given to stop the motor 2 at a constant rotation angle, if a load is applied to the motor 2, the motor 2 is prone to rotation, which makes it impossible to maintain the rotation angle commanded by the angle command signal.
[0078] To prevent the motor rotation angle from easily changing from the commanded rotation angle due to load, it is conceivable to control motor 2 in a locked state. However, in this case, when motor 2 is commanded to rotate from a constant rotation angle via an angle command signal, the start-up delay of motor 2 may lead to degraded responsiveness.
[0079] Here, for clarity, the locked state of motor 2 refers to the state in which motor 2 remains in a stopped state. Keeping the motor in a stopped state does not require resisting any load of any magnitude, but rather requires generating electromagnetic resistance to inhibit the motor 2 from rotating against the load.
[0080] The free state of motor 2 refers to the state in which motor 2 is in a non-energized state and does not generate the aforementioned electromagnetic resistance.
[0081] In view of the above, this embodiment aims to prevent the motor 2 from easily rotating due to load when the motor 2 is stopped, while suppressing the deterioration of the responsiveness of the motor 2.
[0082] Figure 5 This is a functional block diagram used to illustrate the function of the processor unit 3 of the servo motor 1 according to the embodiment in order to achieve the above objectives.
[0083] As shown in the figure, the processor unit 3 has the function of driving controller F1.
[0084] The drive controller F1 executes a first determination process and a second determination process. The first determination process determines whether a constant rotation angle has been commanded via the angle command signal, and the second determination process determines whether a load has been applied to the motor 2 based on load-related information related to the load applied to the motor 2. Further, if the first determination process determines that a constant rotation angle has been commanded via the angle command signal and the second determination process determines that a load has been applied to the motor 2, the drive controller F1 controls the motor 2 to a locked state; and if the first determination process determines that a constant rotation angle has been commanded via the angle command signal and the second determination process determines that no load has been applied to the motor 2, the drive controller F1 controls the motor 2 to a free state.
[0085] In this example, the first determination process described above is performed as follows: determining whether a constant rotation angle has been commanded via an angle command signal. In other words, assuming the angle command value at time t is "A"... t "And the angle command value at a time step before time t is "A" t-1 , calculate "A" t "and "A t-1 The absolute value of the difference between them (|A) t -A t-1 |) as the instruction value difference ΔA t And determine the instruction value difference ΔA t Is it zero (ΔA)? t =0).
[0086] Furthermore, in this embodiment, in the second determination process, the angle detection signal is used as the aforementioned load-related information, and the angle detection signal is the detection signal of the angle detection unit 5. Specifically, in the second determination process of this example, it is assumed that the angle detection value at time t is "P". t "And the angle detection value at a time step before time t is "P" t-1, calculate "P" t "and "P t-1 The absolute value of the difference between them (|P) t -P t-1 |) as the difference in detected values ΔP t And determine the difference in detection values ΔP t Is it a value other than zero (ΔP)? t ≠0).
[0087] According to the control method of the embodiment described above, which controls the motor 2 to a locked state or a free state based on the results of the first determination process and the second determination process, when a command is issued to stop the motor 2 by a constant rotation angle, if it is determined that a load has been applied to the motor 2, the motor 2 is controlled to a locked state; if it is determined that no load has been applied to the motor 2, the motor 2 is controlled to a free state.
[0088] When motor 2 is controlled in a locked state, it can prevent motor 2 from rotating easily due to load, and when motor 2 is controlled in a free state, it can avoid starting delay of motor 2 when the angle command signal commands it to rotate from a constant rotation angle.
[0089] Therefore, it is possible to prevent the motor 2 from rotating easily due to the load when the motor 2 stops rotating, while suppressing the deterioration of the responsiveness of the motor 2.
[0090] Figure 6 This is an explanatory diagram showing a control example where the motor is set to a locked state.
[0091] As shown in the figure, in order to set the motor 2 to the locked state, among the switches SW1, SW2, SW3, and SW4 of the power control unit 4b, which is an H-bridge circuit, only switches SW3 and SW4 are turned on, while switches SW1 and SW2 are turned off. Therefore, an electromagnetic holding force that resists the load of the motor 2 can be generated, thereby setting the motor 2 to the locked state.
[0092] Here, the control described above, which only turns on switches SW3 and SW4, can also be called: the control that sets only one pair of switches on the negative side of the H-bridge circuit to the conducting state between one pair of switches on the positive side and one pair of switches on the negative side.
[0093] The control for setting motor 2 to the locked state is not limited to the control described above, which only sets a pair of switches on the negative side of the H-bridge circuit to the on state. For example, motor 2 can also be set to the locked state by only setting a pair of switches (switches SW1 and SW2) on the positive side of the H-bridge circuit to the on state.
[0094] Here, in a stepper motor that operates based on angle command signals, current needs to be supplied to the motor's drive coil to generate holding force. Conversely, by employing the method described above of setting only one pair of switches in the H-bridge circuit to the on state, holding force can be generated without supplying current to the drive coil 2a.
[0095] Therefore, when the rotation of motor 2 stops, power consumption can be reduced by preventing motor 2 from rotating easily due to the load.
[0096] Figure 7 This is an explanatory diagram showing a control example where the motor is set to a free state.
[0097] In this example using an H-bridge circuit, the control for setting motor 2 to a free state is the control of disconnecting all switches SW1, SW2, SW3, and SW4 as shown in the figure.
[0098] Here, the drive controller F1 in this example performs a third determination process to determine whether the error value E (the absolute value of the error between the value of the angle command signal and the value of the angle detection signal) is within a predetermined value DB. Here, the predetermined value DB is the threshold that defines the aforementioned dead zone.
[0099] When the error value E is determined to be outside the predetermined value DB during the third determination process, the drive controller F1 controls the motor 2 to rotate at the angle specified in the angle command value. In other words, through feedback loop control, control is executed to reduce the aforementioned error e to zero.
[0100] Therefore, even when motor 2 is set to a locked state in response to a command to stop motor 2 at a constant rotation angle, if the error between the angle command signal and the angle detection signal increases to a certain extent due to the load, the drive motor 2 will return to a constant rotation angle.
[0101] Therefore, even when a load greater than the holding force caused by the locked state is applied to the motor 2 in the locked state, it is possible to prevent the rotation angle of the motor 2 from continuing to deviate from the commanded rotation angle, thereby achieving appropriate motor control.
[0102] <5. Processing Procedure>
[0103] Reference Figure 8 The flowchart describes a specific example of the processing procedure executed by the processor unit 3 to implement the control method as described in the above embodiments.
[0104] Figure 8 The processing shown is executed by the CPU in the processor unit 3 based on a program stored in the ROM in the processor unit 3. However, in the following description, for the sake of simplicity, the processing is executed by the processor unit 3.
[0105] First, in step S101, the processor unit 3 inputs the angle command value A. t and angle detection value P t .
[0106] In step S102 following step S101, processor unit 3 calculates the error value E. t Here, the error value E t It is the error value E at time t, and the processor unit 3 calculates the error value E. t For |P t -A t |
[0107] In step S103 following step S102, processor unit 3 calculates the instruction value difference ΔA. t Difference between detected and measured values ΔP t (Instruction value difference ΔA) t =|A t -A t-1 | and the difference in detection values ΔP t =|P t -P t-1 |。)
[0108] In step S104 following step S103, processor unit 3 determines the error value E. t Is it less than or equal to the predetermined value DB? This corresponds to the judgment error value E. t Whether it is within the dead zone, and the corresponding third determination process mentioned above.
[0109] When the error value E is determined in step S104 t When the value is less than or equal to a predetermined value DB (i.e., within the dead zone), processor unit 3 proceeds to step S105 and determines the instruction value difference ΔA. t Is it zero? This corresponds to the first determination process mentioned above, which is used to determine whether a constant rotation angle has been commanded by the angle command signal.
[0110] When determining the instruction value difference ΔA in step S105 t When the value is zero (i.e., it instructs to maintain a constant rotation angle), processor 3 proceeds to step S107 and determines the detection value difference ΔP. t Is it a value other than zero? This corresponds to the second determination process described above for determining whether to apply a load to motor 2.
[0111] When the difference in detected values ΔP is determined in step S107 t If the value is not zero (i.e., no load is applied to the motor 2), the processor unit 3 proceeds to step S108 and controls the motor 2 to a free state.
[0112] On the other hand, when the detection value difference ΔP is determined in step S107 t When the value is other than zero (i.e., when a load is applied to the motor 2), the processor unit 3 proceeds to step S109 and controls the motor 2 to a locked state.
[0113] Furthermore, when the error value E is determined in step S104... t When the value is not less than or equal to the predetermined value DB, the processor unit 3 proceeds to step S106 and controls the motor 2 to drive state according to the instruction value. Specifically, the motor 2 is driven by the aforementioned error e based on feedback loop control.
[0114] Due to the processing in steps S104→S106, the dead zone for drive control of motor 2 is achieved through feedback loop control based on error e. Furthermore, due to the processing in steps S104→S106, it is possible to prevent the rotation angle of motor 2 (rotation angle of output shaft OS) from continuing to deviate from the commanded rotation angle when a load larger than the holding force caused by the locked state is applied.
[0115] Furthermore, when the instruction value difference ΔA is determined in step S105 above... t When the value is not zero (i.e., no instruction is given to maintain a constant rotation angle), the processor unit 3 proceeds to the above step S108 and controls the motor 2 to a free state.
[0116] In other words, at the error value E t When the motor 2 is in the dead zone and no constant rotation angle is maintained by the angle command signal (i.e., the rotation of the motor 2 is indicated), the motor 2 is controlled to be in a free state.
[0117] After performing any of the processes in steps S106, S108, and S109, the processor unit 3 proceeds to step S110.
[0118] In step S110, the processor unit 3 determines whether the processing has been terminated, that is, whether the predetermined processing termination condition has been met, such as whether the power supply has been interrupted.
[0119] If it is determined in step S110 that the process has not yet terminated, the processor unit 3 returns to step S101. As a result, the process proceeds to the next processing time.
[0120] When it is determined in step S110 that the process has been terminated, the processor unit 3 ends. Figure 8 The series of processes shown in the figure.
[0121] <6. Variations>
[0122] Although embodiments of the present disclosure have been described above, the present disclosure is not limited to the specific examples described above, and various modifications may be adopted.
[0123] For example, in the above description, an example was provided in which the processor unit that performs the processing as the drive controller F1 is located in the same device as the device including the motor 2 (servo motor 1), and the control method of this embodiment is completed in a single device. However, the processor unit that performs the processing as the drive controller F1 is not necessarily located in the device including the motor 2.
[0124] Figure 9 This is an explanatory diagram of the control device 10 as a modified example. In this modified example, the processor unit that performs the processing as the drive controller F1 is provided in a device separate from the device including the motor 2.
[0125] exist Figure 9 In this configuration, servo motor 11 has the same hardware configuration as servo motor 1, but processor unit 3 is not used as drive controller F1.
[0126] The control device 10 includes a processor unit that serves as a drive controller F1.
[0127] In this case, the drive controller F1 executes the first and second determination processes described above based on the angle detection value output from the A / D converter 6 installed in the servo motor 11 and the angle command value input from an external source, and performs processing to control the motor 2 in the servo motor 11 to a locked state or a free state based on the results of the first and second determination processes. Specifically, based on the results of the first and second determination processes, a command to set the motor 2 to a locked state or a free state is sent to the processor unit 3 in the servo motor 11.
[0128] Furthermore, examples have been provided in the above description, in which the control method of this disclosure is applied to servo motor 1 for adjusting pitch, roll, and collective pitch in a model helicopter. However, the control method of this disclosure can be suitably applied to various motors, such as servo motors for steering or throttle control in model cars, servo motors for controlling ailerons, rudders, etc. in model aircraft, and servo motors for driving joints of hobby or industrial robots.
[0129] Furthermore, the above description has provided an example of using the value of the angle detection signal detected by the angle detection unit 5 as load-related information. However, various types of load-related information can be used.
[0130] For example, if a torque sensor is installed on motor 2, the detection information from the torque sensor can be used as load-related information. In this case, if torque is generated while maintaining a constant rotation angle as instructed by the angle command value, it can be estimated that a load has been applied.
[0131] Alternatively, for example, in the case of assuming that an electric motor is used to drive the wheels of the model car, the estimated information of the road surface tilt angle can be used as load-related information.
[0132] <7. Overview of the Implementation Examples>
[0133] As described above, the control device (servo motor 1 and control device 10) according to the embodiment is a control device for controlling a motor (motor 2), and includes a drive controller F1. The drive controller F1 performs a first determination process and a second determination process. The first determination process is used to determine whether a constant rotation angle has been commanded by the angle command signal based on the rotation angle of the output shaft of the motor. The second determination process is used to determine whether a load has been applied to the motor based on load-related information related to the load applied to the motor. When the first determination process determines that a constant rotation angle has been commanded by the angle command signal and the second determination process determines that a load has been applied to the motor, the drive controller controls the motor to a locked state. When the first determination process determines that a constant rotation angle has been commanded by the angle command signal and the second determination process determines that no load has been applied to the motor, the drive controller controls the motor to a free state.
[0134] According to the above configuration, when a command is issued to stop the motor at a constant rotation angle, if it is determined that a load has been applied to the motor, the motor is controlled in a locked state; and if it is determined that no load has been applied to the motor, the motor is controlled in a free state. When the motor is controlled in the locked state, it can prevent the motor from rotating easily due to a load; and when the motor is controlled in the free state, it can avoid the motor's starting delay when the angle command signal commands rotation from a constant rotation angle.
[0135] Therefore, by using the above configuration, it is possible to prevent the motor from rotating easily due to load when the motor stops rotating, while suppressing the deterioration of the motor's responsiveness.
[0136] Furthermore, in the control device according to this embodiment, the drive controller performs a third determination process, in which the absolute value of the error between the value of the angle command signal and the value of the angle detection signal is calculated, and it is determined whether the absolute value of the error is within a predetermined value. The angle detection signal is the detection signal of the angle detection unit 5 that detects the rotation angle of the output shaft of the motor. When the third determination process determines that the absolute value of the error is not within the predetermined value, control is executed to change the rotation angle of the output shaft of the motor to the rotation angle represented by the angle command value.
[0137] Therefore, even when the motor is set to a locked state in response to a command to stop the motor at a constant rotation angle, if the error between the angle command signal and the angle detection signal increases to a certain extent due to the load, the motor is driven to return to a constant rotation angle.
[0138] Therefore, even if a load greater than the holding force caused by the locked state is applied to the motor, the rotation angle of the motor can be prevented from continuing to deviate from the commanded rotation angle, thereby achieving proper motor control.
[0139] Furthermore, the control device (servo motor 1) according to the embodiment is configured as a servo motor device including a motor and an angle detection unit that detects the rotation angle of the output shaft of the motor, and the drive controller uses the angle detection signal, which is the detection signal of the angle detection unit, as load-related information.
[0140] Therefore, in a single device that is a servo motor device, an operation is performed to set the motor to a locked state or a free state based on the determination results of the first determination process and the second determination process.
[0141] For example, when the motor and angle detection unit are located in a separate device from the device including the drive controller, and their operation is performed by multiple devices, wiring between the devices is required to communicate control signals or angle detection signals used to control the motor to a locked or free state. However, since the operation is completed in a single device as described above, wiring between devices is not required. Therefore, the wiring work for assembling the controlled object can be simplified, and the workload associated with assembling the controlled object can be reduced.
[0142] Furthermore, in the control device according to this embodiment, the control for setting the motor to a locked state is a control for setting only one pair of switches, one pair of switches on the positive side and one pair of switches on the negative side of the H-bridge circuit of the motor drive circuit, to a conducting state.
[0143] In stepper motors, which operate based on angle command signals, current needs to be supplied to the motor's drive coils to generate holding force. Conversely, by employing the method described above, which sets only one pair of switches in the H-bridge circuit to the on state, holding force can be generated without supplying current to the motor's drive coils.
[0144] Therefore, it can reduce power consumption and prevent the motor from easily rotating due to load when the motor stops rotating.
[0145] The control method according to an embodiment is a control method for a control device for controlling a motor. The control method includes: performing a first determination process, the first determination process determining whether a constant rotation angle has been commanded by an angle command signal instructing the rotation angle of the motor's output shaft; and performing a second determination process, the second determination process determining whether a load has been applied to the motor based on load-related information related to the load applied to the motor. When the first determination process determines that a constant rotation angle has been commanded by the angle command signal and the second determination process determines that a load has been applied to the motor, the motor is controlled to a locked state. When the first determination process determines that a constant rotation angle has been commanded by the angle command signal and the second determination process determines that no load has been applied to the motor, the motor is controlled to a free state.
[0146] This control method can achieve the same effect as the control device in the above embodiments.
Claims
1. A control device for controlling a motor, comprising: A drive controller is configured to perform a first determination process and a second determination process. The first determination process determines whether a constant rotation angle has been commanded via an angle command signal. The second determination process determines whether a load has been applied to the motor based on load-related information. The angle command signal is a signal that commands the rotation angle of the motor's output shaft, and the load-related information is information related to the load applied to the motor. Specifically, when the first determination process determines that a constant rotation angle has been commanded by the angle command signal and the second determination process determines that the load has been applied to the motor, the motor is controlled into a locked state, and When the first determination process determines that the angle command signal commands a constant rotation angle and the second determination process determines that no load is applied to the motor, the motor is controlled to be in a free state.
2. The control device according to claim 1, wherein, The drive controller performs a third determination process, in which it calculates the absolute value of the error between the value of the angle command signal and the value of the angle detection signal, and determines whether the absolute value of the error is within a predetermined value. The angle detection signal is a detection signal from an angle detection unit that detects the rotation angle of the motor's output shaft. When the third determination process determines that the absolute value of the error is not within the predetermined value, the drive controller performs control to change the rotation angle of the motor's output shaft to the rotation angle indicated by the angle command signal.
3. The control device according to claim 1, wherein, The control device is configured as a servo motor device, which includes the motor and an angle detection unit that detects the rotation angle of the motor's output shaft. The drive controller uses an angle detection signal as the load-related information, and the angle detection signal is the detection signal of the angle detection unit.
4. The control device according to any one of claims 1 to 3, wherein the control for setting the motor to a locked state includes: Set only one pair of switches, one pair on the positive side and one pair on the negative side, of the H-bridge circuit in the drive circuit of the motor to the ON state.
5. A control method for a control device for controlling a motor, the control method comprising: The process involves performing a first determination process and a second determination process. The first determination process determines whether a constant rotation angle has been commanded via an angle command signal. The second determination process determines whether a load has been applied to the motor based on load-related information. The angle command signal is a signal that commands the rotation angle of the motor's output shaft, and the load-related information is information related to the load applied to the motor. When the first determination process determines that a constant rotation angle has been commanded by the angle command signal and the second determination process determines that the load has been applied to the motor, the motor is locked. When the first determination process determines that the angle command signal commands a constant rotation angle and the second determination process determines that no load is applied to the motor, the motor is controlled to a free state.
Citation Information
Patent Citations
Steering control device for wirelessly controlled helicopter for model
JP2002127993A