Motor controller
The motor control device dynamically adjusts the advance angle and amplitude of the drive waveform based on detected motor speed and position, addressing the inefficiencies in existing methods by enabling high-speed operation with efficient energy use and improved responsiveness.
Patent Information
- Application Number
- JP2023212552
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-15
- Publication Date
- 2025-06-26
AI Technical Summary
Existing motor control methods for stepping motors struggle to utilize the efficient advance angle region effectively due to mechanical or electrical variations, load fluctuations, and the need for a control margin, which can result in suboptimal efficiency and responsiveness to motor characteristic changes.
A motor control device that includes storage means for the relationship between the advance angle of the drive waveform and motor speed, speed detection means, position detection means, and control means to dynamically adjust the advance angle and amplitude of the drive waveform based on detected motor speed and position, ensuring optimal efficiency and responsiveness.
Enables the motor to operate at high speeds while maintaining efficient energy use by utilizing the advance angle of maximum efficiency, thus suppressing voltage increases and improving responsiveness to motor changes.
Smart Images

Figure 2025096065000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a motor control device.
Background Art
[0002] Stepping motors are used in various fields and can easily perform high-precision positioning operations by open-loop control. However, there is a possibility of losing synchronization due to high load or high-speed rotation during open-loop control. As a method to solve this problem, there is a method of controlling the advance angle of the drive waveform with respect to the rotation phase using the rotation phase signal of the motor obtained from the position sensor provided in the stepping motor. According to this method, it is possible to maximize the rotation efficiency by optimal advance angle control, and it is possible to achieve high speed and power saving. Also, in Patent Document 1, a method of searching for the advance angle of maximum efficiency based on the change amount of the advance angle when gradually decreasing the drive voltage and determining the drive voltage has been proposed. Further, in Patent Document 2, a method of decreasing the drive voltage if the drive efficiency obtained from the advance angle is equal to or higher than a threshold value has been proposed.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Patent Document 2
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in the above-described method, since it is necessary to secure a control margin for the advance angle in consideration of mechanical or electrical variations of the stepping motor, load fluctuations, etc., an efficient advance angle region may not be utilized. In the technique disclosed in Patent Document 1, although the advance angle of maximum efficiency can be explored, it is necessary to provide a period for exploring the advance angle of maximum efficiency, and it may not be possible to immediately respond to changes in the characteristics of the motor. In the technique disclosed in Patent Document 2, although an advance angle with a certain degree of efficiency can be obtained, the advance angle of maximum efficiency may not be obtained.
[0005] Therefore, an object of the present invention is to enable the motor to rotate at high speed while suppressing an increase in voltage by using the advance angle of maximum efficiency in the control of the motor.
Means for Solving the Problems
[0006] In order to solve the above-described problems, a motor control device of the present invention includes storage means for storing the relationship between the advance angle of a drive waveform for driving a motor and the speed at which the motor rotates for each amplitude of the drive waveform, speed detection means for detecting the speed of the motor, position detection means for detecting the position where the motor has rotated, and controlling the advance angle of the drive waveform and the amplitude of the drive waveform based on the period or timing at which the commutation position rotated by the motor is detected by the position detection means. Further, when the speed of the motor detected by the speed detection means is lower than a target speed, the advance angle of the drive waveform is increased, and when a condition that an increase amount of the speed of the motor accompanying the increase in the advance angle of the drive waveform is equal to or less than a predetermined increase amount is satisfied, control means for increasing the speed of the motor by executing a first control pattern for increasing the amplitude of the drive waveform.
Effects of the Invention
[0007] According to the present invention, it is possible to enable the motor to rotate at high speed while suppressing an increase in voltage by using the advance angle of maximum efficiency in the control of the motor.
Brief Description of the Drawings
[0008]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Embodiments for Carrying Out the Invention
[0009] First, the configurations and operations common to each embodiment of the present invention will be described, and then each embodiment will be described.
[0010] With reference to FIG. 1, the outline of the configuration of the motor unit in the present invention will be described. FIG. 1 is a diagram showing an example of the configuration of a stepping motor unit. FIG. 1(A) shows a stepping motor 101, a rotating shaft 102, a rack 103, a moving member 104, a photointerrupter 105, a light-shielding plate 106, a rotation phase detection magnet 107, a hall sensor 108, and a hall sensor 109.
[0011] The rotating shaft 102 serves as a lead screw and rotates together with the rotor of the stepping motor 101. The rack 103 meshes with the lead screw of the rotating shaft 102 and moves in a direction parallel to the axis of the rotating shaft 102 due to the rotation of the rotating shaft 102. The moving member 104 is connected to the rack 103 and moves in a direction parallel to the axis of the rotating shaft 102 together with the rack 103. In the following description, the case where the moving member 104 is a lens will be taken as an example.
[0012] The photointerrupter (PI: Photointerrupter) 105 includes a light-emitting part that outputs light and a light-receiving part that receives the light. The light-shielding plate 106 is connected to the rack 103 and moves in a direction parallel to the axis of the rotating shaft 102 together with the rack 103. When the light-shielding plate 106 moves between the light-emitting part and the light-receiving part as the rack 103 moves, the photointerrupter 105 switches from a state where it detects a high signal to a state where it detects a low signal when the light output by the light-emitting part does not enter the light-receiving part. The position of the rack 103 when such a state change occurs is set as the reference position.
[0013] The rotation phase detection magnet 107 is a cylindrical permanent magnet attached to the rotating shaft 102. The rotation phase detection magnet 107 cooperates with the hall sensor 108 and the hall sensor 109 to detect the rotation phase of the stepping motor 101. In the following description, the hall sensor 108 may be denoted as "Hall-Ch0", and the hall sensor 109 may be denoted as "Hall-Ch1".
[0014] FIG. 1(B) shows the arrangement of each pole of the rotation phase detection magnet 107, the Hall sensors 108 and 109. The rotation phase detection magnet 107 has 10 poles corresponding to the number of poles of the stepping motor 101. Each pole of the rotation phase detection magnet 107 is evenly arranged at a mechanical angle of 36 degrees. The Hall sensors 108 and 109 are arranged on the extension line of the mechanical angle of 18 degrees of the rotation phase detection magnet 107. With such an arrangement, the Hall sensor 108 and the Hall sensor 109 detect sine waves whose phases are shifted from each other by 90 degrees as the stepping motor 101 rotates.
[0015] Note that the stepping motor unit shown in FIG. 1 may include speed detection means for detecting the speed at which the stepping motor 101 rotates. For example, the speed detection means detects the speed from the slope of the change amount of the rotation angle of the stepping motor 101 obtained by the rotation angle detection means. Also, for example, the speed detection means detects the speed from the period of the rotation detection pulse obtained by the rotation pulse detection means that generates a rotation pulse in response to the rotation of the stepping motor 101. Also, the rotation pulse detection means generates a rotation detection pulse using, for example, a phase detection propeller attached to the rotation shaft 102 and a photointerrupter that detects the rotation of the phase detection propeller. Also, the phase detection propeller has, for example, the same number of blades as the number of poles of the stepping motor 101.
[0016] Next, the configuration of a system including an electric circuit for driving a stepping motor will be described with reference to FIG. 2. FIG. 2 is a diagram showing an example of the configuration of a system including an electric circuit for driving a stepping motor.
[0017] FIG. 2 shows a stepping motor 101, a moving member 104, a photo interrupter 105, a rotation phase detection magnet 107, a hall sensor 108, and a hall sensor 109. Further, FIG. 2 shows an amplifier circuit 201, an amplifier circuit 202, and a microcomputer 203. As shown in FIG. 2, the microcomputer 203 includes an AD converter 204, an encoding processing unit 205, a target position setting unit 206, a coordinate origin setting unit 207, an advance angle / power rate control unit 208, a drive waveform generation unit 209, and a motor driver 210.
[0018] The amplifier circuit 201 amplifies the hall signal detected by the hall sensor 108, that is, Hall-Ch0. The amplifier circuit 202 amplifies the hall signal detected by the hall sensor 109, that is, Hall-Ch1. The AD converter 204 quantizes the hall signal amplified by the amplifier circuit 201 and the hall signal amplified by the amplifier circuit 202. The encoding processing unit 205 encodes the quantized hall signal and calculates a position detection counter. In this embodiment, a method for calculating a position detection counter using a hall sensor is described, but the method for calculating a position detection counter is not limited to this. The position detection counter may be calculated from rotation detection pulses generated using a photo interrupter and a slit rotating plate instead of the hall sensor.
[0019] The target position setting unit 206 sets the target position of the lens. Specifically, the target position setting unit 206 generates a target position counter for controlling the lens at a target speed and a target position. The coordinate origin setting unit 207 sets the same coordinate origin for the position detection counter and the target position counter, and aligns the coordinates of both.
[0020] The advance angle / power rate control unit 208 controls the advance angle of the drive waveform and the amplitude of the drive waveform based on the period or timing at which the position where the stepping motor 101 rotates is detected by the position detection means. Further, the advance angle / power rate control unit 208 is an example of a control means.
[0021] When the speed of the stepping motor 101 detected by the speed detection means is lower than the target speed, the control means increases the advance angle of the drive waveform. Then, when the condition that the increase amount of the speed of the stepping motor 101 accompanying the increase of the advance angle of the drive waveform is equal to or less than a predetermined increase amount is satisfied, the control means increases the amplitude of the drive waveform. This series of control processes is the first control pattern. The control means increases the speed of the stepping motor 101 according to the first control pattern.
[0022] Also, when the speed of the motor detected by the speed detection means is higher than the target speed, the control means decreases the advance angle of the drive waveform. Then, when the decrease amount of the speed of the stepping motor 101 accompanying the decrease of the advance angle of the drive waveform is equal to or less than a predetermined decrease amount, the control means decreases the amplitude of the drive waveform. This series of control processes is the second control pattern. The control means decreases the speed of the stepping motor 101 according to the second control pattern.
[0023] Further, the above-described speed detection means may detect the speed of the stepping motor 101 after the first control pattern is executed. In this case, when the speed of the stepping motor 101 after executing the first control pattern is less than the target speed, the control means executes the first control pattern again.
[0024] Also, when the speed of the motor does not increase even though the control means increases the advance angle of the drive waveform when the speed of the motor detected by the speed detection means is lower than the target speed, and rather the speed of the motor decreases as the advance angle of the drive waveform increases, the control means increases the amplitude of the drive waveform. This state can be judged that the speed of the motor has decreased because it has entered the region (c) by jumping over the peak of the low-amplitude mountain-shaped part with reference to FIG. 5, which means switching to a high-amplitude locus (relationship) where the peak is shifted to the right.
[0025] Further, when the condition is satisfied and the difference between the speed of the motor and the target speed is equal to or greater than a predetermined speed, the control means may increase the amount of increase in the amplitude of the drive waveform more than when the condition is satisfied and the difference is less than the predetermined speed. Examples of the control means will be described as appropriate below.
[0026] The advance angle / power rate control unit 208 sets a target advance angle and adds the target advance angle to the position detection counter to generate a drive counter. Further, the advance angle / power rate control unit 208 performs feedback control on the advance angle of the drive waveform and the amplitude of the drive waveform so that the lens moves following the target position counter by setting the power rate. The drive waveform generation unit 209 performs SIN / COS conversion on the drive counter, and further adjusts the amplitude of the drive waveform according to the power rate to generate a two-phase drive waveform.
[0027] However, since the advance angle / power rate control unit 208 cannot perform feedback control until the coordinate origin is set by the coordinate origin setting unit 207, open-loop control is performed until the coordinate origin is set by the coordinate origin setting unit 207. When performing open-loop control, the advance angle / power rate control unit 208 sets the target position counter obtained from the target position setting unit 206 as the drive counter, and sets the power rate for open-loop control to control the drive waveform.
[0028] The motor driver 210 converts the drive waveform generated by the drive waveform generation unit 209 into a motor drive signal and supplies the motor drive signal to the stepping motor 101. Note that the drive waveform is generally converted into a PWM (Pulse Width Modulation) signal and supplied to the motor driver 210, but it may be supplied after AD conversion processing or may be supplied as drive waveform information from a communication port.
[0029] <Encoding Process of Hall Signal> Next, with reference to FIG. 3, the details of the processing executed by the encoding processing unit 205 will be described. In the description of the processing, in accordance with the configuration shown in FIG. 1(B), the number of poles of the stepping motor 101 is set to 10 poles, and accordingly, the number of poles of the rotation position detection magnet 107 is also set to 10 poles.
[0030] FIG. 3 is a diagram showing an example of the poles of the magnet for rotation phase detection, the waveforms of the hall signals, the phase information, and the position detection counter. FIG. 3(A) shows the poles of the rotation phase detection magnet 107. FIGS. 3(B) and 3(C) show the waveforms of the hall signals obtained at each rotation phase of the stepping motor 101. Also, the arrangement shown in FIG. 1(B) is adopted so that the phase of the hall signal shown in FIG. 3(B) and the phase of the hall signal shown in FIG. 3(C) are shifted by 90 degrees. Since the phase of the hall signal shown in FIG. 3(B) and the phase of the hall signal shown in FIG. 3(C) are shifted by 90 degrees, the hall signal shown in FIG. 3(B) and the hall signal shown in FIG. 3(C) have a Sin and Cos relationship. The encoding processing unit 205 performs an arctangent operation (tan -1 (Sin / Cos)) based on the Sin hall signal and the Cos hall signal quantized by the AD converter 204, and calculates phase information from 0 degrees to 360 degrees. FIG. 3(D) shows the phase information calculated by the encoding processing unit 205.
[0031] The encoding processing unit 205 calculates the motor rotation amount by integrating the phase information. The motor rotation amount is information that can be converted into the position information of the lens by multiplying the screw pitch of the lead screw of the rotating shaft 102. Therefore, the rotation amount information of the motor is treated as the position detection counter of the lens. FIG. 3(E) shows the position detection counter calculated by the encoding processing unit 205. In the above description, the case where the phase information is information from 0 degrees to 360 degrees is taken as an example for explanation, but since the phase information is determined by the resolution of the position detection counter, it is not limited to this.
[0032] Next, the details of the process executed by the coordinate origin setting unit 207 will be described. When the power is turned on, the microcomputer 203 first executes a sequence to set the coordinate origin of the lens. Specifically, the microcomputer 203 moves the lens and searches for the position of the lens where the signal detected by the photointerrupter 105 switches from high to low, and sets the position where the signal switches from high to low as the coordinate origin. Then, the microcomputer 203 initializes the position detection counter and the target position counter to predetermined values. Thereby, the microcomputer 203 can align the coordinates of both and control the position of the lens.
[0033] <Generation of drive waveform> Next, the details of the advance angle control process will be described with reference to FIG. 4. FIG. 4 is a diagram showing examples of the poles of the magnet for rotational phase detection, the waveforms of the hall signals, the position detection counter, the target position counter, the drive counter, the A-phase drive waveform, and the B-phase drive waveform. FIGS. 4(A), 4(B), 4(C), and 4(E) show the same as those shown in FIGS. 3(A), 3(B), 3(C), and 3(E), respectively. FIG. 4(F) shows the target position counter. As described above, the target advance angle and the power rate are calculated so that the position detection counter shown in FIG. 4(E) follows the target position counter shown in FIG. 4(F). Here, the case where the target advance angle is 90 degrees will be described as an example.
[0034] The advance angle - power rate control unit 208 generates the drive counter shown in FIG. 4(G) by superimposing the target advance angle on the position detection counter. This drive counter is angle information generated by superimposing the target advance angle on the position detection counter shown in FIG. 4(E). The position detection counter is a counter that integrates the phase information from 0 degrees to 360 degrees. Similarly, for the drive counter, the phase information is from 0 degrees to 360 degrees in the lower bits of the counter.
[0035] Therefore, the drive waveform generation unit 209 generates two-phase drive waveforms with a phase shift corresponding to the advance angle with respect to the rotation phase of the stepping motor 101 by performing Sin conversion and Cos conversion on the drive counter. These two-phase drive waveforms are the A-phase drive waveform shown in FIG. 4(H) and the B-phase drive waveform shown in FIG. 4(I). Also, the power rate of the drive waveforms is set to the target amplitude and output to the motor driver 210. Here, the phase information has been described as information from 0 degrees to 360 degrees. However, the phase information is determined by the resolution of the position detection counter shown in FIG. 4(E) and is not limited to what has been described above.
[0036] Note that the rotation phase detection magnet 107, the hall sensors 108 and 109, the amplifier circuits 201 and 202 are examples of position detection means for detecting the position where the stepping motor 101 has rotated.
[0037] <Advance Angle and Power Rate Calculation Processing> Next, the processing executed by the advance angle and power rate control unit 208 will be described with reference to FIGS. 5 to 8. FIG. 5 is a diagram showing an example of the relationship between the advance angle of the drive waveform for driving the stepping motor and the speed of the stepping motor. FIG. 5 shows the relationship between the two when the power rate is 50% and the relationship between the two when the power rate is 60%. The power rate is for adjusting the amplitude of the drive waveform. For example, when the power rate is 60%, the amplitude of the drive waveform is suppressed to 60%. The information indicating the relationship shown in FIG. 5 is stored, for example, by the storage means for each amplitude of the drive waveform.
[0038] As shown in Fig. 5, in region (a), the speed of the stepping motor 101 increases in proportion to the increase in the advance angle of the drive waveform. However, when the advance angle of the drive waveform further increases and enters region (b), the amount of increase in the speed of the stepping motor 101 accompanying the increase in the advance angle of the drive waveform gradually decreases. Then, when the advance angle of the drive waveform further increases and exceeds the saturation point and enters region (c), the speed of the stepping motor 101 decreases. Also, the larger the power rate, the larger the slope of the advance angle - speed in region (a) and the larger the advance angle of the saturation point. As described above, in region (a), the advance angle and the speed are in a proportional relationship. That is, in region (a), the relationship between the advance angle and the speed is expressed by the following formula (1).
[0039]
Number
[0040] Therefore, the relationship between the advance angle and the speed is measured in advance, and based on the measurement data, the slope γ, offset β of formula (1), and the effective area W in which formula (1) is valid are stored as an advance angle - speed table. Note that a plurality of advance angle - speed tables are stored for each power rate and can be selected according to the target speed. Also, in this case, the smaller the power rate, the more preferentially it is selected.
[0041] Next, an example of the process executed by the advance angle · power rate control unit 208 will be described with reference to Fig. 6. Fig. 6 is a flowchart showing an example of the process executed by the advance angle · power rate control unit.
[0042] As described with reference to FIG. 2, the position detection counter and the target position counter have the same coordinate origin set by the coordinate origin setting unit 207, and the coordinates are aligned. However, as described above, since the advance angle / power rate control unit 208 cannot execute feedback control until the coordinate origin is set by the coordinate origin setting unit 207, open-loop control is executed until the coordinate origin is set by the coordinate origin setting unit 207. Therefore, the advance angle / power rate control unit 208 executes open-loop control during initialization driving, and switches from open-loop control to feedback control when the initialization driving is completed. The advance angle / power rate control unit 208 determines whether to switch the control method in step S600. The advance angle / power rate control unit 208 proceeds to step S601 until it is determined in step S600 that the initialization driving is completed and the control method is switched to feedback control.
[0043] The advance angle / power rate control unit 208 selects open-loop control in step S601. The advance angle / power rate control unit 208 sets the target position counter as the drive counter in step S602. Then, the advance angle / power rate control unit 208 repeats the processes of step S602 and step S603 until it is determined in step S603 that the setting of the coordinate origin by the coordinate origin setting unit 207 is completed. After the setting of the coordinate origin is completed, the advance angle / power rate control unit 208 proceeds to step S604 to complete the initialization driving. Then, the advance angle / power rate control unit 208 proceeds to step S605 to switch the control method to feedback control. Thereafter, the advance angle / power rate control unit 208 proceeds to step S610 via step S600 to execute the target advance angle / power rate selection process, and proceeds to step S611 to execute speed control.
[0044] Next, the target advance angle / power rate selection process will be described with reference to FIG. 7. FIG. 7 is a flowchart showing an example of the target advance angle / power rate selection process.
[0045] The advance angle - power rate control unit 208 determines whether the target speed has been updated in step S700. If the advance angle - power rate control unit 208 determines in step S700 that the target speed has been updated, it advances the process to step S701 and determines whether it is in a stopped state in step S701. Then, if the advance angle - power rate control unit 208 determines in step S702 that it is in a stopped state, it advances the process to step S702 and calculates the initial advance angle and power rate from the target speed. The target speed is calculated by the following formula (2) including the deviation amount (l) between the current position and the target position and the target time (t) required to move to the target position.
[0046] [Number]
[0047] Next, the speed control executed by the advance angle - power rate control unit 208 will be described with reference to FIG. 8. FIG. 8 is a flowchart showing an example of speed control. In speed control, the advance angle - power rate control unit 208 performs feedback control of the advance angle and power rate of the drive waveform using the target advance angle and power rate selected by the target advance angle - power rate selection process.
[0048] The advance angle - power rate control unit 208 generates a drive counter by adding the target advance angle to the position detection counter in step S800. Next, the advance angle - power rate control unit 208 calculates the target speed and the actual speed from the slopes of the target position counter and the position detection counter respectively in step S801. If the advance angle - power rate control unit 208 determines in step S802 that there is a deviation between the calculated target speed and the actual speed, it advances the process to step S803. The advance angle - power rate control unit 208 executes an advance angle - power rate search process in step S803 and calculates the target advance angle and power rate. The advance angle - power rate control unit 208 generates a drive counter by superimposing the target advance angle on the position detection counter in step S804.
[0049] <First Embodiment> In the first embodiment, with reference to FIGS. 9 to 16, one of the features of the present invention, i.e., the ignition angle - power rate search process, which is an example of step S803 described above, will be described. Specifically, the ignition angle - power rate search process when the target speed is set in the acceleration direction will be described for each target speed. In the description of the first embodiment, the case where the initial power rate is 50% will be taken as an example for explanation.
[0050] FIG. 9 is a diagram for explaining an example of the ignition angle - power rate search process when the target speed is set in the acceleration direction and the target speed is 1000 ppS. FIG. 10 is a diagram for explaining an example of the ignition angle - power rate search process when the target speed is set in the acceleration direction and the target speed is 2000 ppS. FIG. 11 is a diagram for explaining an example of the ignition angle - power rate search process when the target speed is set in the acceleration direction and the target speed is 3000 ppS. FIGS. 9, 10, and 11 all show an example of the relationship between the ignition angle of the drive waveform for driving the stepping motor 101 and the speed at which the stepping motor 101 rotates. Also, the information indicating this relationship is stored, for example, by the storage means for each amplitude of the drive waveform.
[0051] As shown in FIGS. 9, 10, and 11, regardless of whether the target speed is 1000 ppS, 2000 ppS, or 3000 ppS, the relationship between the ignition angle and the speed behaves similarly. That is, in any of these three cases, in region (A), the speed is directly proportional to the ignition angle, and in region (B), as long as the ignition angle does not reach the saturation point, the speed change rate, which is the ratio of the increase in speed to the increase in the ignition angle, approaches zero from a positive value.
[0052] For example, when the target speed is 1000 ppS, as shown by [1] in FIG. 9, even if the ignition angle is increased within region (A), the target speed is not reached. As shown by [2] in FIG. 9, when the ignition angle is increased so that the speed change rate is less than or equal to a predetermined increase amount within region (B), the target speed is reached.
[0053] Also, for example, when the target speed is 2000 ppS, as shown by [1] and [2] in FIG. 10, even if the advance angle is increased, the target speed cannot be reached, and the advance angle L that gives the saturation point is reached. And in this case, as shown by [3] in FIG. 10, when the power rate is increased, the target speed can be reached.
[0054] Also, for example, when the target speed is 3000 ppS, as shown by [1] and [2] in FIG. 11, even if the advance angle is increased, the target speed cannot be reached, and the advance angle L that gives the saturation point is reached. Next, as shown by [3] in FIG. 11, even if the power rate is increased, the target speed cannot be reached. And in this case, as shown by [4] in FIG. 11, when the power rate is increased to 100% and the advance angle is increased so that the speed change rate is equal to or less than a predetermined increase amount, the target speed can be reached.
[0055] Next, the advance angle - power rate search process described with reference to FIGS. 9 to 11, that is, the details of step S803 described above, will be described with reference to FIG. 12. FIG. 12 is a flowchart for explaining an example of the advance angle - power rate search process described with reference to FIGS. 9 to 11.
[0056] The advance angle - power rate control unit 208 calculates the speed change rate α using the following formula (3) in step S1001.
[0057]
Equation
[0058] The advance angle - power rate control unit 208 compares the calculated speed change rate α with a threshold value in step S1002. The threshold value is a predetermined increase amount of speed accompanying an increase in the advance angle. And when the advance angle - power rate control unit 208 determines that the calculated speed change rate α is greater than the threshold value, the process proceeds to step S1003.
[0059] The advance angle - power rate control unit 208 executes the adjustment of the speed by the advance angle in step S1003. That is, the advance angle - power rate control unit 208 accelerates and drives the stepping motor 101 while updating to a larger advance angle than the previous time. Also, the advance angle - power rate control unit 208 may adopt a predetermined value as the advance angle change amount, or may calculate the advance angle change amount by the following formula (4) including the target speed and the current speed.
[0060]
Equation
[0061] Here, "gain" included in formula (4) is a value set from the relationship between the change amount of the speed with respect to the operation amount of the advance angle measured in advance.
[0062] The advance angle - power rate control unit 208 determines whether the speed has reached the target speed in step S1004. If the advance angle - power rate control unit 208 determines in step S1004 that the speed has not reached the target speed, the process returns to step S1001. When the process from step S1001 to step S1004 is executed at least once and the stepping motor 101 is accelerated, it is determined in step S1002 that the speed change rate α has become larger than the threshold value.
[0063] Next, the ignition angle / power rate control unit 208 advances the process to step S1005, and in step S1005, stores the ignition angle L at the current speed. In step S1006, the ignition angle / power rate control unit 208 determines whether the power rate has reached the maximum value. In this embodiment, it is assumed that the maximum value of the power rate is 100%. When the power rate has not reached the maximum value, in step S1007, the ignition angle / power rate control unit 208 accelerates and drives the stepping motor 101 while updating to a larger power rate than the previous time. The ignition angle / power rate control unit 208 may adopt a predetermined value as the power rate change amount, or may calculate the power rate change amount according to the following formula (5) including the target speed and the current speed.
[0064]
Number
[0065] Here, "gain'" included in formula (5) is a value set from the relationship between the change amount of the speed with respect to the operation amount of the power rate measured in advance.
[0066] In step S1008, the ignition angle / power rate control unit 208 determines whether the speed has reached the target speed. If the ignition angle / power rate control unit 208 determines in step S1008 that the speed has not reached the target speed, it returns the process to step S1006. On the other hand, even if the power rate reaches the maximum value of 100% and the speed has not reached the target speed, the ignition angle / power rate control unit 208 returns the process to step S1003 again while the power rate is at the maximum value, and re-executes the adjustment of the speed by the ignition angle. When the ignition angle / power rate control unit 208 determines in step S1004 or step S1008 that the speed has reached the target speed, it ends the process.
[0067] Next, the target advance angle and power rate search process when the target speed is set in the deceleration direction, that is, the example of step S803 described above, will be described for each target speed.
[0068] FIG. 13 is a diagram for explaining an example of the target advance angle and power rate search process when the target speed is set in the deceleration direction and the target speed is 3000 ppS. FIG. 14 is a diagram for explaining an example of the target advance angle and power rate search process when the target speed is set in the deceleration direction and the target speed is 2000 ppS. FIG. 15 is a diagram for explaining an example of the target advance angle and power rate search process when the target speed is set in the deceleration direction and the target speed is 1000 ppS. FIGS. 13, 14, and 15 all show an example of the relationship between the advance angle of the drive waveform for driving the stepping motor 101 and the speed at which the stepping motor 101 rotates. Also, the information indicating this relationship is stored, for example, by the storage means for each amplitude of the drive waveform.
[0069] For example, when the target speed is 3000 ppS, as shown by [1] in FIG. 13, the speed is decreased by decreasing the advance angle, and the speed is made to reach the target speed of 3000 ppS.
[0070] Also, for example, when the target speed is 2000 ppS, even if the advance angle is decreased as shown by [1] in FIG. 14, the target speed cannot be reached, and the advance angle L, which is the advance angle stored during the target advance angle and power rate search process when the target speed is set in the acceleration direction, is reached. Next, as shown by [2] in FIG. 14, by decreasing the power rate, the speed is made to reach the target speed of 2000 ppS.
[0071] Also, for example, when the target speed is 1000 ppS, even if the advance angle is decreased as shown by [1] and [2] in FIG. 15, the target speed cannot be reached, and the advance angle L that gives the saturation point is reached. And in this case, as shown by [3] in FIG. 15, by decreasing the advance angle, the speed is made to reach the target speed of 1000 ppS.
[0072] Next, the ignition advance angle and power rate search process described with reference to FIGS. 13 to 15, that is, the details of step S803 described above, will be described with reference to FIG. 16. FIG. 16 is a flowchart for explaining an example of the ignition advance angle and power rate search process described with reference to FIGS. 13 to 15.
[0073] The ignition advance angle and power rate control unit 208 compares the current ignition advance angle with the ignition advance angle L in step S1201. If the ignition advance angle and power rate control unit 208 determines in step S1201 that the current ignition advance angle is larger than the ignition advance angle L, the process proceeds to step S1205. In step S1205, the ignition advance angle and power rate control unit 208 executes speed adjustment based on the ignition advance angle. That is, in step S1205, the ignition advance angle and power rate control unit 208 decelerates while updating to a smaller ignition advance angle than the previous time, and if it determines in step S1206 that the target speed has not been reached, the process returns to step S1201 and the process is repeated.
[0074] On the other hand, if the ignition advance angle and power rate control unit 208 determines in step S1201 that the current ignition advance angle is less than or equal to the ignition advance angle L, it determines in step S1202 whether the power rate has reached 50%, which is the initial value. If the ignition advance angle and power rate control unit 208 determines in step S1202 that the power rate has not reached 50%, which is the initial value, the process proceeds to step S1203. In step S1203, the ignition advance angle and power rate control unit 208 decelerates while decreasing the power rate. In step S1204, the ignition advance angle and power rate control unit 208 determines whether the speed has reached the target speed, and if it determines that the speed has not reached the target speed, the process returns to step S1202 and the process is repeated.
[0075] When the advance angle and power rate control unit 208 determines in step S1202 that the power rate has reached 50% which is the initial value, the process proceeds to step S1205. In step S1205, the advance angle and power rate control unit 208 executes the adjustment of the speed by the advance angle again. When the advance angle and power rate control unit 208 determines in step S1204 or step S1206 that the speed has reached the target speed, the process is terminated.
[0076] As described above, in the first embodiment, since the maximum advance angle that can be set is used by looking at the change amount of the speed, it is possible to rotate the stepping motor 101 at a high speed while suppressing the increase in voltage.
[0077] <Second Embodiment> In the first embodiment, the control method of increasing the power rate to 100% to reach the target speed when the target speed cannot be reached even by adjusting the advance angle in the state where the initial power rate is 50% has been described. However, in the control method described in the first embodiment, depending on the target speed, the control may be performed in a state where the power rate is high, so the efficiency may decrease. Therefore, in the second embodiment, the advance angle and power rate search process that enables reaching the target speed at a lower power rate will be described.
[0078] The advance angle and power rate search process in the case where the target speed is set in the acceleration direction will be described with reference to FIG. 17. FIG. 17 is a diagram for explaining an example of the advance angle and power rate search process when the target speed is set in the acceleration direction and the target speed is 2500 ppS. Also, FIG. 17 shows an example of a process with a smaller increase amount of the power rate than the process described in the first embodiment. Note that FIG. 17 shows an example of the relationship between the advance angle of the drive waveform for driving the stepping motor 101 and the speed at which the stepping motor 101 rotates. Also, the information indicating this relationship is stored, for example, by the storage means for each amplitude of the drive waveform.
[0079] For example, as shown in FIG. 17, when the target speed is 2500 ppS, similar to the first embodiment, the speed is increased by control based on the ignition advance angle. Since the target speed has not been reached when the ignition advance angle reaches the ignition advance angle L at which the speed change rate is equal to or less than the threshold value, after storing the ignition advance angle L, the power rate is increased to increase the speed. However, in the second embodiment, it is assumed that the increase amount of the power rate is up to 10%. In the example shown in FIG. 17, since the target speed has not been reached even after the power rate is increased once, the processes corresponding to [3] and [4] shown in FIG. 9 are repeated. In the example shown in FIG. 17, the speed reaches the target speed at the ignition advance angle N and the power rate of 80%.
[0080] The target ignition advance angle and power rate search process described with reference to FIG. 17 will be described with the flowchart shown in FIG. 18. FIG. 18 is a flowchart for explaining an example of the ignition advance angle and power rate search process described with reference to FIG. 17. In the description using FIG. 18, the description of the content overlapping with the content described with reference to FIG. 12 is omitted.
[0081] In the second embodiment, the ignition advance and power rate control unit 208, in step S1405, in addition to the ignition advance, associates and stores the power rate at the time when step S1405 is executed with the ignition advance. The ignition advance and power rate control unit 208 determines, in step S1406, whether the power rate has reached the target value. If the ignition advance and power rate control unit 208 determines in step S1406 that the power rate has reached the target value, the process proceeds to step S1403. On the other hand, if the ignition advance and power rate control unit 208 determines in step S1406 that the power rate has not reached the target value, the process proceeds to step S1407. Thereby, each time the ignition advance and power rate control unit 208 executes step S1405 and step S1406, the power rate is updated by a predetermined value until the power rate reaches the upper limit of the update. In the second embodiment, the upper limit of the power rate update is 100%, and the predetermined value is 10%. If the ignition advance and power rate control unit 208 determines in step S1404 or step S1408 that the speed has reached the target speed, the process is terminated.
[0082] The target ignition advance and power rate search process in the case where the target speed is set in the deceleration direction will be described with reference to FIG. 19. FIG. 19 is a diagram for explaining an example of the target ignition advance and power rate search process in the case where the target speed is set in the deceleration direction and the target speed is 1000 ppS. Further, FIG. 19 shows an example of a process in which the amount of decrease in the power rate is smaller than the process described in the first embodiment.
[0083] For example, as shown in FIG. 19, when the target speed is 1000 ppS, similar to the first embodiment, the speed is decreased by control based on the advance angle. When the advance angle reaches the advance angle N, the control is switched to decreasing the speed by the power rate, and the power rate is decreased to 70%. Since the speed has not reached the target speed even when the power rate is decreased to 70%, the advance angle is decreased. When the advance angle reaches the advance angle M, the control is switched to decreasing the speed by the power rate, and the power rate is decreased to 60%. Since the speed has not reached the target speed even when the power rate is decreased to 60%, the advance angle is decreased. When the advance angle reaches the advance angle L, the control is switched to decreasing the speed by the power rate, and the power rate is decreased to 50%. Then, since the speed has not reached the target speed even when the power rate is decreased to 50%, the advance angle is decreased until the speed reaches 1000 ppS.
[0084] The target advance angle - power rate search process described with reference to FIG. 19 will be described using the flowchart shown in FIG. 20. FIG. 20 is a flowchart for explaining an example of the advance angle - power rate search process described with reference to FIG. 19. Note that FIG. 19 shows an example of the relationship between the advance angle of the drive waveform for driving the stepping motor 101 and the speed at which the stepping motor 101 rotates. Also, the information indicating this relationship is stored, for example, by the storage means for each amplitude of the drive waveform. Also, in the description using FIG. 20, the description of the content overlapping with that described with reference to FIG. 16 is omitted.
[0085] In step S1601, the advance angle - power rate control unit 208 compares the current advance angle with the advance angle stored during acceleration. Also, when there are a plurality of advance angles stored during acceleration, the advance angle - power rate control unit 208 compares the maximum advance angle among the advance angles stored during acceleration with the current advance angle.
[0086] When the ignition advance and power rate control unit 208 determines that the current ignition advance is greater than the ignition advance memorized during acceleration, the process proceeds to step S1607, and the speed is decreased by decreasing the ignition advance. Then, in step S1608, the ignition advance and power rate control unit 208 determines whether the speed has reached the target speed. That is, in step S1607, the ignition advance and power rate control unit 208 decreases the speed while updating to a smaller ignition advance than the previous time, and in step S1608, when it determines that the speed has not reached the target speed, the process repeats the process of returning to step S1601.
[0087] On the other hand, when the ignition advance and power rate control unit 208 determines that the current ignition advance is less than or equal to the ignition advance memorized during acceleration, the process proceeds to step S1602, and the target value of the power rate is set. In step S1602, the ignition advance and power rate control unit 208 sets the power rate associated with the ignition advance that was the comparison target in the immediately preceding step S1601 as the target value of the power rate. Then, the ignition advance and power rate control unit 208 deletes the information indicating the ignition advance that was the comparison target in the immediately preceding step S1601 and the power rate associated with the ignition advance.
[0088] In step S1604, the ignition advance and power rate control unit 208 compares the current power rate with the target value of the power rate.
[0089] When the ignition advance and power rate control unit 208 determines in step S1604 that the current power rate has not reached the target value of the power rate, the process proceeds to step S1605. In step S1605, the ignition advance and power rate control unit 208 decreases the speed by decreasing the power rate. In step S1606, the ignition advance and power rate control unit 208 determines whether the speed has reached the target speed. When the ignition advance and power rate control unit 208 determines in step S1606 that the speed has not reached the target speed, the process returns to step S1604, and the processes of step S1604 and step S1605 are repeated. On the other hand, when the ignition advance and power rate control unit 208 determines in step S1606 that the speed has reached the target speed, the process returns to step S1607 again, and in step S1607, the speed is decreased by decreasing the ignition advance. When the ignition advance and power rate control unit 208 determines in step S1606 or step S1608 that the speed has reached the target speed, the process is terminated.
[0090] As described above, in the second embodiment, acceleration or deceleration is performed up to the target speed while alternately repeating the speed control by ignition advance and the speed control by power rate. For this reason, it becomes possible to always control the speed with an efficient combination of ignition advance and power rate, and it is possible to rotate the motor at a high speed while suppressing an increase in voltage.
[0091] Note that the present invention includes the following inventions obtained by appropriately combining the above-described contents.
[0092] (Configuration 1) Storage means for storing the relationship between the advance angle of the drive waveform for driving the motor and the speed at which the motor rotates for each amplitude of the drive waveform; speed detection means for detecting the speed of the motor; position detection means for detecting the position where the motor has rotated; based on the period or timing at which the position where the motor has rotated is detected by the position detection means, controlling the advance angle of the drive waveform and the amplitude of the drive waveform, and further, when the speed of the motor detected by the speed detection means is lower than the target speed, increasing the advance angle of the drive waveform, and when a condition that an increase amount of the speed of the motor accompanying the increase in the advance angle of the drive waveform is equal to or less than a predetermined increase amount is satisfied, control means for increasing the speed of the motor by executing a first control pattern for increasing the amplitude of the drive waveform. A motor control device characterized by comprising:
[0093] (Configuration 2) The speed detection means detects the speed of the motor after the first control pattern is executed, and the control means executes the first control pattern again when the speed of the motor after executing the first control pattern is less than the target speed. The motor control device according to Configuration 1, characterized by:
[0094] (Configuration 3) The control means increases the amplitude of the drive waveform when the speed of the motor decreases as the advance angle of the drive waveform increases after increasing the advance angle of the drive waveform when the speed of the motor detected by the speed detection means is lower than the target speed. The motor control device according to Configuration 1 or Configuration 2, characterized by:
[0095] (Configuration 4) When the condition is satisfied and the difference between the speed of the motor and the target speed is equal to or greater than a predetermined speed, the control means increases the increase amount of the amplitude of the drive waveform more than when the difference is less than the predetermined speed when the condition is satisfied. The motor control device according to any one of Configurations 1 to 3, characterized by:
[0096] (Configuration 5) When the speed of the motor detected by the speed detection means is higher than the target speed, the control means executes a second control pattern in which the advance angle of the drive waveform is decreased, and when the amount of decrease in the speed of the motor accompanying the decrease in the advance angle of the drive waveform is equal to or less than a predetermined decrease amount, the amplitude of the drive waveform is decreased, thereby decreasing the speed of the motor. The motor control device according to any one of Configurations 1 to 4, characterized by this.
[0097] <Other Embodiments> A part of the elements constituting the present invention can also be realized by a process in which a program that realizes one or more functions of the above-described embodiments is supplied to a system or device via a network or a recording medium, and one or more processors in a computer of the system or device read and execute the program. Further, a part of the elements constituting the present invention can also be realized by a circuit that realizes one or more functions, for example, an ASIC (Application Specific Integrated Circuit).
[0098] The preferred embodiments of the present invention have been described above. However, the present invention is not limited to the above-described embodiments. That is, the present invention includes embodiments in which various modifications are made based on the gist of the present invention, and these embodiments are not excluded from the scope of the present invention.
Explanation of Reference Numerals
[0099] 101....Stepping Motor 102....Rotating Shaft 103....Rack 104....Moving Member 105....PI (Photo Interrupter) 106....Light Shielding Plate 107....Magnet for Rotation Phase Detection 108....Hall Sensor (Hall-Ch0) 109....Hall Sensor (Hall-Ch1) 201....Amplifier Circuit 202....Amplifier Circuit 203....Microcomputer 204 ‥‥ AD Converter 205 ‥‥ Encoding Processing Unit 206 ‥‥ Target Position Setting Unit 207 ‥‥ Coordinate Origin Setting Unit 208 ‥‥ Advance Angle and Power Rate Control Unit 209 ‥‥ Drive Waveform Generation Unit 210 ‥‥ Motor Driver
Claims
1. Storage means for storing the relationship between the advance angle of the drive waveform for driving the motor and the speed at which the motor rotates for each amplitude of the drive waveform; Speed detection means for detecting the speed of the motor; Position detection means for detecting the position where the motor has rotated; Based on the period or timing at which the position where the motor has rotated is detected by the position detection means, the advance angle of the drive waveform and the amplitude of the drive waveform are controlled. Further, when the speed of the motor detected by the speed detection means is lower than the target speed, the advance angle of the drive waveform is increased, and when the condition that the increase amount of the speed of the motor accompanying the increase in the advance angle of the drive waveform is equal to or less than a predetermined increase amount is satisfied, control means for increasing the speed of the motor by executing a first control pattern for increasing the amplitude of the drive waveform; A motor control device comprising the same.
2. The speed detection means detects the speed of the motor after the first control pattern is executed; The control means executes the first control pattern again when the speed of the motor after executing the first control pattern is less than the target speed. The motor control device according to claim 1, characterized in that.
3. After increasing the advance angle of the drive waveform when the speed of the motor detected by the speed detection means is lower than the target speed, the control means increases the amplitude of the drive waveform when the speed of the motor decreases as the advance angle of the drive waveform increases. The motor control device according to claim 1 or claim 2, characterized in that.
4. When the condition is satisfied and the difference between the speed of the motor and the target speed is equal to or higher than a predetermined speed, the control means increases the increase amount of the amplitude of the drive waveform more than when the difference is less than the predetermined speed when the condition is satisfied. The motor control device according to claim 1 or claim 2, characterized in that.
5. When the speed of the motor detected by the speed detection means is higher than the target speed, the control means decreases the advance angle of the drive waveform, and executes a second control pattern for decreasing the amplitude of the drive waveform when the decrease amount of the speed of the motor accompanying the decrease in the advance angle of the drive waveform is equal to or less than a predetermined decrease amount, thereby decreasing the speed of the motor. The motor control device according to claim 1 or claim 2, characterized in that.
Citation Information
Patent Citations
Motor controlling apparatus
JP2011239483A
Motor control device and motor control method, and optical instrument
JP2020198727A