Motor control device, motor control method, and computer program

The motor control device addresses the issue of inaccurate tracking-type position control in imaging lenses by using encoding and lead angle correction to adjust motor speed and position, enhancing stability and accuracy in lens movement.

JP2025161649APending Publication Date: 2025-10-24CANON KK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024065018
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-12
Publication Date
2025-10-24

AI Technical Summary

Technical Problem

Existing motor control methods struggle with accurate tracking-type position control due to delayed response and disturbances, leading to deviations from target positions, especially in imaging lenses with multiple lenses that require coordinated movement during zooming.

Method used

A motor control device that includes encoding means for detecting motor rotation, target position setting, advance angle control, and lead angle correction to adjust motor speed and position accurately, using a lead angle correction amount calculated from the deviation between actual and target positions.

Benefits of technology

The motor control device achieves high tracking performance by correcting positional deviations, ensuring precise movement of lenses in imaging systems, thereby improving stability and accuracy in tracking-type position control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025161649000001_ABST
    Figure 2025161649000001_ABST
Patent Text Reader

Abstract

To provide a motor control device possessing high tracking performance.SOLUTION: The motor control device includes encoding means that detects the rotational state of a motor and converts it into actual position information, target position setting means that generates a target position counter value as a movement target for a driven member connected to the motor, and advance angle control means that controls the rotational speed of the motor on the basis of a target advance angle. The advance angle control means includes target speed calculation means that calculates a target speed as a change amount of the target position counter value, target advance angle calculation means that calculates a target advance angle corresponding to the target speed on the basis of correspondence information between rotational speed and advance angle, position deviation correction amount calculation means that calculates a position deviation correction amount from a deviation between the actual position information and the target position counter value, and advance angle correction amount calculation means that converts the position deviation correction amount into a speed deviation correction amount and calculates an advance angle correction amount corresponding to the speed deviation correction amount on the basis of the correspondence information between rotational speed and advance angle. The position of the driven member is controlled using the target advance angle corrected by the advance angle correction amount.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a motor control device, a motor control method, a computer program, and the like. [Background technology]

[0002] A method has been proposed for efficiently driving a motor by controlling the lead angle of the drive waveform relative to the rotational phase of the motor. According to this method, by controlling the lead angle to be optimal, it is possible to suppress unnecessary torque and efficiently drive the motor, thereby achieving higher speeds and lower vibrations.

[0003] Furthermore, Patent Document 1 proposes that speed control be achieved by setting a target advance angle corresponding to a target speed based on the correspondence characteristics between the advance angle and the speed, and controlling the drive voltage according to the deviation of the actual speed from the target speed.

[0004] In addition, in Patent Document 2, when the deviation between the current position and the target position is within a range in which the advance angle can be set, the deviation is set as the advance angle value, thereby performing advance angle control such that the torque is reduced as the distance to the target position approaches. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2001-045780 [Patent Document 2] Patent Publication No. 2021-083196 Summary of the Invention [Problem to be solved by the invention]

[0006] Furthermore, in an imaging lens that is made up of multiple lenses, in order to move the multiple lenses in a coordinated manner in a predetermined positional relationship during zooming, a tracking-type position control is required in which the lenses are moved to follow a target position that moves at an arbitrary speed.

[0007] However, in the configuration of Patent Document 1, if the target advance angle is updated to match the movement speed of the target position and speed control is performed, deviation from the target position occurs due to delayed response, disturbances, etc., making it impossible to perform accurate tracking-type position control.

[0008] Furthermore, the configuration of Patent Document 2 is applicable to fixed-type position control that quickly moves to a target position, but since it is not configured to control speed in accordance with the movement speed of the target position, stable tracking performance cannot be obtained in tracking-type position control.

[0009] Therefore, one object of the present invention is to provide a motor control device with high tracking performance. [Means for solving the problem]

[0010] A motor control device according to one aspect of the present invention includes: an encoding means for detecting the rotation state of the motor and converting it into actual position information; a target position setting means for generating a target position counter value that is a movement target of a driven member connected to the motor; advance angle control means for controlling the rotation speed of the motor based on a target advance angle; The advance angle control means a target speed calculation means for calculating a target speed, which is the amount of change in the target position counter value; a target advance angle calculation means for calculating the target advance angle corresponding to the target speed based on the correspondence information between the rotation speed and the advance angle; a positional deviation correction amount calculation means for calculating a positional deviation correction amount from the deviation amount between the actual position information and the target position counter value; a lead angle correction amount calculation means for converting the position error correction amount into a speed error correction amount, and calculating a lead angle correction amount for the speed error correction amount from correspondence information between the rotation speed and the lead angle, The position of the driven member is controlled based on the target advance angle corrected by the advance angle correction amount. [Effects of the Invention]

[0011] According to the present invention, a motor control device with high tracking performance can be realized. [Brief explanation of the drawings]

[0012] [Figure 1] 1A and 1B are diagrams respectively showing an example of the schematic configuration of an imaging lens according to a first embodiment of the present invention and the trajectory of a focus lens. [Figure 2] 1A and 1B are diagrams showing an example of a schematic configuration of a motor unit according to a first embodiment of the present invention. [Figure 3] 1 is a functional block diagram showing an example of the configuration of a lens control system according to a first embodiment of the present invention. [Figure 4] 10A to 10E are diagrams illustrating an example of processing by the encoder 305 in the first embodiment. [Figure 5] 5 is a diagram showing an example of the relationship between the lead angle and the motor rotation speed in the first embodiment. FIG. [Figure 6] 10A to 10C and 10E to 10I are diagrams showing the processing flow of the lead angle control unit 308 and the drive waveform generation unit 309 in the first embodiment. [Figure 7A] 10 is a diagram showing a state in which a position detection counter value indicating an actual position is deviated from a target position counter value. FIG. [Figure 7B] 10 is a diagram showing a state in which a deviation occurs between the target speed (the gradient of the target position counter value 7-b-1) and the actual speed (the gradient of the position detection counter value 7-b-2). FIG. [Figure 7C] FIG. 10 is a diagram illustrating position control using a lead angle. [Figure 8] FIG. 3 is a functional block diagram showing an example of the configuration of a lead angle control unit 308 for realizing position control using a lead angle in the first embodiment. [Figure 9] 4 is a flowchart showing an example of a process for advance angle control in the first embodiment. [Figure 10] 10 is a flowchart showing an example of a process for calculating a target advance angle in step S910. [Figure 11]10 is a flowchart showing an example of a process for calculating a speed deviation adjustment amount in step S911. [Figure 12] 10 is a flowchart showing an example of a relational expression update process in step S912. [Figure 13] 10 is a flowchart showing an example of a process for calculating a positional deviation correction amount in step S914. [Figure 14] 10 is a flowchart showing an example of a process for advance angle correction in step S915. [Figure 15] 10A and 10B are diagrams illustrating an example of changes in the encoder and advance angle relative to the target position counter value in the first embodiment. [Figure 16] 10 is a flowchart showing an example of advance angle control in an advance angle control unit 308 of the second embodiment. [Figure 17] 16 is a flowchart showing a specific example of the process of updating the position error correction coefficient in step S1601. [Figure 18] 10 is a flowchart showing an example of the advance angle correction process in step S1602 in the second embodiment. [Figure 19] 10A and 10B are diagrams showing an example of changes in the encoder and lead angle when the inversion prevention process according to the second embodiment is applied. DETAILED DESCRIPTION OF THE INVENTION

[0013] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention is not limited to the following embodiments. In each drawing, the same members or elements are designated by the same reference numerals, and duplicate descriptions will be omitted or simplified.

[0014] <Embodiment 1> 1A and 1B are diagrams respectively showing an example of the schematic configuration of an imaging lens and the trajectory of a focus lens in embodiment 1 of the present invention. The imaging lens is made up of a fixed lens 101, a first zoom lens 102, a focus lens 103, a second zoom lens 104, and an aperture 105, and the multiple lenses are linked together in a predetermined positional relationship to change magnification.

[0015] The first zoom lens 102 moves in the optical axis direction (direction along O-O') to perform zooming. The focus lens 103 has both a function of correcting the movement of the focal plane that accompanies zooming and a function of focusing, and moves in the optical axis direction in conjunction with the movement of the first zoom lens 102, following a locus such as that shown in FIG. 1B. Similarly, the second zoom lens 104 moves in the optical axis direction in conjunction with the movement of the first zoom lens 102, following a predetermined locus.

[0016] In this way, the imaging lens has at least one zoom lens and a focus lens, and the target position counter value of the at least one zoom lens is generated so that the zoom lens moves at a target speed, and the target position counter value of the focus lens is generated so that the focus lens moves along a predetermined trajectory in conjunction with the movement of the zoom lens.

[0017] 2A and 2B are diagrams showing an example of the schematic configuration of a motor unit in the first embodiment of the present invention. Note that this motor unit is provided for each lens and operates independently. In other words, multiple motors are configured to drive each of the lenses that make up the imaging lens.

[0018] 2A, reference numeral 201 denotes a stepping motor, 202 denotes a rotating shaft of the stepping motor 201, and 203 denotes a rack. The rotating shaft 202 is a lead screw, and while meshing with the rack 203, a lens 204 connected to the rack 203 moves in the direction of the optical axis in response to the rotation of the rotating shaft 202.

[0019] The reference position of the lens is determined by the configuration of a PI (photo interrupter) 205 arranged on a fixed member (not shown) and a light shielding plate 206 provided on the lens. The PI 205 is composed of a light emitting section and a light receiving section, and when the light shielding plate 206 enters between the light emitting section and the light receiving section as the lens 204 moves, the detection signal of the PI 205 switches from High to Low.

[0020] This switching position is set as the reference position of the lens. 207 is a cylindrical rotation phase detection magnet attached to the rotating shaft 202, which detects the rotation phase of the stepping motor 201 in combination with rotation phase detection hall sensors 208 and 209 (hereinafter, rotation phase detection hall sensors 208 and 209 will be referred to as Hall-Ch0 and Hall-Ch1, respectively).

[0021] 2(B) is a diagram illustrating the arrangement of the rotation phase detection magnet 207 and the rotation phase detection hall sensors 208 and 209 when the stepping motor 201 has 10 poles. The rotation phase detection magnet 207 is configured with a 10-pole magnet to match the number of poles of the motor.

[0022] The poles are evenly spaced over a mechanical angle of 36°. Rotation phase detection Hall sensors 208 and 209 are placed on an extension of the 18° mechanical angle of rotation phase detection magnet 207. With this configuration, each Hall sensor detects two types of sine waves with a phase difference of 90° according to the rotation of the motor.

[0023] Next, Fig. 3 is a functional block diagram showing an example configuration of a lens control system according to the first embodiment of the present invention. This system is set up for each lens, and processes each lens independently. Some of the functional blocks shown in Fig. 3 are realized by causing a CPU or other device serving as a computer (not shown) included in the lens control system to execute a computer program stored in a memory (not shown) serving as a storage medium.

[0024] However, some or all of these functions may be implemented by hardware, which may be a dedicated circuit (ASIC) or a processor (reconfigurable processor, DSP).

[0025] 3 may not be contained in the same housing, but may be configured as separate devices connected to each other via signal paths. The above explanation regarding FIG. 3 also applies to FIG. 8.

[0026] In Fig. 3, blocks with the same numbers as in Fig. 2 are the same members. The two-phase Hall signals detected by Hall-Ch0 and Hall-Ch1 are amplified by amplifier circuits 301 and 302, respectively. The amplified two-phase Hall signals are quantized by an AD converter 304 in a motor control device 303, and encoded by an encoder 305 to calculate a position detection counter value.

[0027] A target position setting unit 306 sets a target position for the lens, and generates a target position counter value for controlling each lens at a target speed and target position. That is, the target position setting unit 306 of the lens control system connected to the first zoom lens 102 generates a target position counter value so as to achieve a target zoom speed. Here, the target position setting unit 306 functions as a target position setting means that generates a target position counter value that becomes a movement target for a driven member connected to a motor.

[0028] 1B, a target position setting unit 306 of the lens control system connected to the focus lens 103 generates a target position counter value so that the first zoom lens 102 moves along a predetermined locus in conjunction with the movement of the first zoom lens 102. Similarly, a target position counter value is generated for the second zoom lens 104 in conjunction with the movement of the first zoom lens 102 in conjunction with the movement of the first zoom lens 102 in conjunction with the movement of the second zoom lens 104 ...

[0029] The target position counter value and the position detection counter value have the same coordinate origin set by a coordinate origin setting unit 307, and the coordinates are aligned. Reference numeral 308 denotes a lead angle control unit, which controls the lead angle and power rate to drive the motor in accordance with the target position. The lead angle control unit 308 also functions as lead angle control means that controls the rotation speed of the motor based on the target lead angle.

[0030] Reference numeral 309 denotes a drive waveform generation unit, which generates a drive counter value by adding a target lead angle to the position detection counter value, performs SIN / COS conversion on the generated drive counter value, and further generates a two-phase drive waveform whose amplitude is adjusted according to the power rate.

[0031] However, open control is performed because feedback control is not possible until the coordinate origin is set by coordinate origin setting unit 307. That is, lead angle control unit 308 sets the target position counter value obtained from target position setting unit 306 as the drive counter value, and also sets a power rate for open control to open control the drive waveform.

[0032] The drive waveform generated by the drive waveform generation unit 309 is supplied to the motor driver 310 as, for example, a PWM signal, and is converted by the motor driver 310 into a motor drive signal that is supplied to the stepping motor 201. The drive waveform may be supplied to the motor driver 310 after undergoing AD conversion processing, or may be supplied as drive waveform information from a communication port.

[0033] The processing of the encoder 305 will now be described in detail with reference to Fig. 4. Figs. 4(A) to 4(E) are diagrams showing an example of processing by the encoder 305 in embodiment 1. Note that, in accordance with the configuration of Fig. 2(B), an example will be described in which the stepping motor 201 has 10 poles and the rotation phase detection magnet 207 is also a cylindrical magnet with 10 poles.

[0034] 4(A) shows the magnet 207 for detecting the rotational phase of the motor, and (B) and (C) show the waveforms of the Hall signals detected by Hall-Ch0 and Hall-Ch1, respectively. The configuration shown in FIG. 2(B) provides the Hall signals as sine waves (Sin waves) and cosine waves (Cos waves) that are 90° out of phase with each other.

[0035] The encoder 305 performs an arctangent operation (tan ) using (B) and (C), which are the sine wave and cosine wave signals quantized by the AD converter 304. -1(Sin / Cos)) to calculate phase information from 0 to 360°.

[0036] (D) shows the calculated phase information, which is integrated to calculate the position detection counter value (E) indicating the amount of motor rotation. This rotation amount information can be converted into lens position information by multiplying it by the lead screw pitch.

[0037] Therefore, the motor rotation amount information calculated by the encoder 305 is treated as a lens position detection counter value. That is, the encoder 305 functions as an encoding means that executes an encoding step that detects the rotation state of the motor and converts it into actual position information. Note that although the phase information has been described here as information from 0 to 360°, this is determined by the resolution of the position detection counter value and is not limited to this.

[0038] Next, a detailed description will be given of the processing of the coordinate origin setting unit 307. When the motor control device 303 is powered on, it first executes a sequence for setting the coordinate origin of the lens.

[0039] That is, the lens is driven to search for the lens position where the detection signal of PI205 described in Fig. 2 switches from High to Low, and this searched switching position is set as the coordinate origin, and the position detection counter value and target position counter value are initialized to predetermined values. This aligns the coordinates of both, making it possible to control the lens position.

[0040] Fig. 5 is a diagram showing an example of the relationship between the lead angle and the motor rotation speed in embodiment 1, and shows the relationship between the lead angle and the motor rotation speed for examples where the power rate is 60% and 50%. The power rate adjusts the amplitude of the drive waveform; for example, a power rate of 60% limits the amplitude of the drive waveform to 60%.

[0041] In Figure 5, we can see that in region R1, the motor rotation speed increases in proportion to the lead angle. However, if the lead angle is further increased, we eventually reach region R2, where the increase in motor rotation speed relative to the lead angle gradually saturates. If the lead angle is further increased and exceeds saturation point SP1, we enter region R3, where the motor rotation speed begins to decrease.

[0042] Furthermore, the larger the power rate, the steeper the slope of lead angle vs. motor rotation speed in region R1 becomes, and the saturation point SP1 shifts toward larger lead angles. The relationship between lead angle and speed is proportional within the range of region R1. In other words, the relationship between lead angle and speed can be expressed by the following equation (1). Furthermore, equation (1), which shows the corresponding relationship between lead angle and motor rotation speed, functions as corresponding information between motor rotation speed and lead angle.

[0043] Speed ​​= Advance angle × γ + β ··· Formula (1) where γ is the slope and β is the offset.

[0044] Therefore, the relationship between the advance angle and the rotation speed is measured in advance, and based on the measurement data, the slope γ, intercept β of equation (1), and region R1, which is the valid region of equation (1) corresponding to region R1, are stored as an advance angle vs. speed table.

[0045] Note that multiple lead angle vs. speed tables are stored for each power rate, and can be selected according to the target speed. Also, the smaller power rate is selected preferentially. Note that while the relationship between lead angle and speed is explained using equation (1) here, the correspondence information between the motor rotation speed and lead angle can also be table data that stores the relationship between lead angle and speed in advance.

[0046] 6(A) to (C) and (E) to (I) are diagrams showing the processing flow of the lead angle control unit 308 and the drive waveform generation unit 309 in embodiment 1. Note that since signals in FIGS. 6(A), (B), (C), and (E) are the same as those described with the same reference numerals in FIG. 4, their description will be omitted here. (F) indicates the target position counter value. As described above, the target lead angle and power rate are calculated so that the position detection counter value (E) follows the target position counter value (F).

[0047] In the following description, an example is given in which the target advance angle is 90°. The advance angle control unit 308 generates a drive counter value (G) by superimposing the target advance angle of 90° on the position detection counter value (E).

[0048] The position detection counter value (E) is a counter value obtained by integrating phase information from 0 to 360°, and the drive counter value (G) similarly has phase information from 0 to 360°. Therefore, the drive waveform generation unit 309 performs SIN and COS conversion on this drive counter value (G) to generate a two-phase A-phase drive waveform (sine wave) (H) and a B-phase drive waveform (cosine wave) (I) that are phase-shifted by the advance angle relative to the motor rotation phase.

[0049] Furthermore, the power rate of these drive waveforms is set so as to achieve the target amplitude, and the waveforms are output to the motor driver 310. Here, the phase information has been described as information of 0 to 360°, but this is determined by the resolution of the position detection counter value (E), and is not limited to this.

[0050] Here, an example of a method according to this embodiment for realizing position control, in which a lens is moved to follow a target position that moves at an arbitrary speed, using advance angle control, will be described with reference to FIGS. 7A to 7C.

[0051] Fig. 7A is a diagram showing a state in which the position detection counter value, which indicates the actual position, deviates from the target position counter value. Section 1 of Fig. 7A shows a state in which a speed deviation occurs due to an external disturbance, load fluctuation, etc., resulting in a deviation between the target position counter value shown in 7-a-1 and the position detection counter value shown in 7-a-2. In section 2 of Fig. 7A, the speed deviation is eliminated, but the deviation (position deviation) between the target position counter value and the position detection counter value remains.

[0052] In other words, simply adjusting the speed by advance angle control does not allow for position control that follows the counter value of the moving target position. Therefore, in this embodiment, advance angle control is used to achieve position control that follows the counter value of the moving target position.

[0053] In explaining the control method in this embodiment, first, FIG. 7B is a diagram showing a state in which a deviation occurs between the target speed (the slope of the target position counter value 7-b-1) and the actual speed (the actual speed: the slope of the position detection counter value 7-b-2).

[0054] In Figure 7B, process P1 adjusts the lead angle so that the actual speed (slope of position detection counter value 7-b-2) matches the target speed (slope of target position counter value 7-b-1), adjusting the slope of the position detection counter value as shown in 7-b-3. This results in an adjusted position detection counter value 7-b-4. Next, the slope γ and intercept β of equation (1) are updated based on the relationship between the lead angle and the actual speed.

[0055] Next, Fig. 7C is a diagram illustrating position control using a lead angle. In Fig. 7C, the speed error is eliminated by process P1. From this state, process P2 corrects the difference (position error) between the target position counter value 7-c-1 and the position detection counter value 7-c-2 by correcting the lead angle, as shown in 7-c-3. As a result, the corrected position detection counter value becomes as shown in 7-c-4, and the above-mentioned position error is eliminated.

[0056] Fig. 8 is a functional block diagram showing an example of the configuration of lead angle control unit 308 for realizing position control using lead angles in embodiment 1. Note that in Fig. 8, the same numbers as in Fig. 3 indicate the same functional blocks, and therefore their explanation will be omitted.

[0057] Lead angle control unit 308 has a target speed calculation unit 801 that calculates a target speed from the slope of the target position counter value, a target lead angle calculation unit 802 that calculates a target lead angle from the target speed using the relational expression (1), and an actual speed calculation unit 803 that calculates the actual speed from the slope of the position detection counter value. Lead angle control unit 308 also has a speed deviation adjustment amount calculation unit 804 that calculates a speed deviation adjustment amount from the difference between the target speed and the actual speed, and a relational expression update unit 805 that adjusts the lead angle and updates the relational expression (1).

[0058] The lead angle control unit 308 also has a positional deviation correction amount calculation unit 811 that calculates a positional deviation correction amount from the difference between the target position counter value and the position detection counter value, and a lead angle correction amount calculation unit 812 that calculates a lead angle correction amount from the positional deviation correction amount.

[0059] Using these functional blocks, lead angle control unit 308 performs process P1 to eliminate a speed deviation and process P2 to eliminate a phase deviation (position deviation). Process P1 to eliminate a speed deviation is performed by a target speed calculation unit 801, a target lead angle calculation unit 802, an actual speed calculation unit 803, a speed deviation adjustment amount calculation unit 804, and a relational equation update unit 805. On the other hand, process P2 to eliminate a phase deviation (position deviation) is performed by a position deviation correction amount calculation unit 811 and a lead angle correction amount calculation unit 812.

[0060] 9 is a flowchart showing an example of the lead angle control process in embodiment 1, showing detailed examples of lead angle control steps for controlling the rotation speed of the motor based on a target lead angle. Note that the operation of each step in the flowchart in FIG. 9 is performed sequentially by a CPU or the like serving as a computer in the lens control system executing a computer program stored in memory.

[0061] In step S900, the advance angle control unit 308 determines whether initialization driving is complete. If the determination in step S900 is No, the process proceeds to step S901, where open control is selected. Then, in step S902, a target position counter value is set as the drive counter value, and the motor is driven under open control. Here, step S902 functions as a target position setting step that generates a target position counter value that becomes the movement target of a driven member connected to the motor.

[0062] Then, when the reference position is detected by the PI 205, the coordinate origin setting unit 307 sets a coordinate origin where the position detection counter value and the target position counter value are the same. In step S903, it is determined whether the coordinate origin setting has been completed, and if the result is Yes, that is, when a notification that the coordinate origin setting has been completed is received from the coordinate origin setting unit 307, an initialization drive completion state is set in step S904, and feedback control is selected in step S905. Thereafter, the process returns to step S900 and advance angle control is continued.

[0063] On the other hand, if the initialization drive completion state is detected in step S900, the process proceeds to step S910, where the target advance angle is calculated by the target advance angle calculation unit 802 as a target advance angle calculation means. That is, position feedback control (position control) based on the advance angle is started.

[0064] Here, step S910 functions as a target advance angle calculation step that calculates a target advance angle corresponding to the target speed based on equation (1), which is correspondence information between speed and advance angle. Note that a detailed processing example of step S910 will be described later with reference to FIG. 10.

[0065] Then, in step S911, the speed deviation adjustment amount calculation unit 804 calculates the speed deviation adjustment amount. A detailed processing example of step S911 will be described later with reference to Fig. 11. Also, in step S912, the relational equation is updated by the relational equation update unit 805. A detailed processing example of step S912 will be described later with reference to Fig. 12.

[0066] Furthermore, in step S913, it is determined whether or not speed deviation adjustment is being performed. If the determination in step S913 is Yes, the process does not proceed to steps S914 and S915 to eliminate the position deviation, but returns to step S900 and continues advance angle control.

[0067] If it is determined in step S913 that the speed deviation adjustment is complete, then in step S914, the position deviation correction amount calculation unit 811, which serves as a position deviation correction amount calculation means, calculates the position deviation correction amount. Here, step S914 functions as a position deviation correction amount calculation step that calculates the position deviation correction amount from the deviation amount between the actual position information and the target position counter value. A detailed processing example of step S914 will be described later with reference to FIG. 13.

[0068] Furthermore, in step S915, lead angle correction is performed by lead angle correction amount calculation unit 812, which serves as lead angle correction amount calculation means. After that, the process returns to step S900 to continue lead angle control. Here, step S915 functions as an lead angle correction amount calculation step that converts the position error correction amount into a speed error correction amount and calculates the lead angle correction amount for the speed error correction amount from the correspondence information between speed and lead angle.

[0069] If it is determined in step S913 that there is no deviation between the moving speed of the actual position information and the target speed, then in step S915, an advance angle correction amount is calculated from the speed deviation correction amount, and advance angle correction processing is executed to correct the target advance angle with the advance angle correction amount. A detailed processing example of step S915 will be described later with reference to FIG. 14.

[0070] The processes in steps S910 to S912, S914, and S915 will be described using the flowcharts in Figures 10 to 14. Note that the operations in the steps of the flowcharts in Figures 10 to 14 are performed sequentially by a CPU or the like serving as a computer in the lens control system executing a computer program stored in memory.

[0071] Fig. 10 is a flowchart showing an example of the target advance angle calculation process in step S910. In step S1000 of Fig. 10, it is determined whether the target speed has been updated. If it is determined that the target speed has not been updated, the target advance angle calculation process of Fig. 10 ends and the process proceeds to step S911 of Fig. 9. On the other hand, if it is determined in step S1000 that the target speed has been updated, the process proceeds to step S1001, where the minimum power rate is selected as the power rate that determines the amplitude of the drive signal.

[0072] Next, the process proceeds to step S1002, where the target speed calculation unit 801, which serves as a target speed calculation means, executes a process of calculating the target speed from the slope of the target position counter value. Here, step S1002 functions as a target speed calculation step for calculating the target speed, which is the amount of change in the target position counter value.

[0073] Next, in step S1003, target advance angle calculation unit 802 calculates a target advance angle corresponding to the target speed calculated in step S1002 based on equation (1), which is the relational expression between speed and advance angle.

[0074] Here, the relational expression (1) is prepared for each power rate, and the relational expression for the corresponding power rate is selected to calculate the target advance angle. Next, in step S1004, it is determined whether the target advance angle calculated in step S1003 is within the valid range, and if it is not within the valid range, the process proceeds to step S1005, where a one-step higher power rate is selected, and the process returns to step S1003.

[0075] Here, "within the valid region" refers to a region where the relational expression (1) holds true, which corresponds to region R1 in Fig. 5. If it is determined that the target advance angle calculated in step S1004 is within the valid region, the target advance angle calculation process in Fig. 10 is completed, and the process proceeds to step S911, where the speed deviation adjustment amount is calculated.

[0076] Next, the process for detecting the difference between the target speed and the actual speed and optimizing the relational expression between the lead angle and the speed will be described with reference to Figures 11 and 12. Figure 11 is a flowchart showing an example of the process for calculating the speed difference adjustment amount in step S911.

[0077] 11, first, in step S1100, the actual speed, which is the amount of change in actual position information, is calculated from the slope of the position detection counter value. Next, in step S1101, it is determined whether initialization of the speed deviation amount has been completed. If not, the process proceeds to step S1102, where initialization processing is performed.

[0078] In the initialization process, in step S1102, the difference between the target speed and the actual speed is calculated as the speed deviation amount, and in step S1103, the initialization of the speed deviation amount is set to a completed state.After the initialization process of the speed deviation amount is set to a completed state, the process returns to step S1100.

[0079] On the other hand, if it is determined in step S1101 that the initialization of the speed deviation amount has been completed, the process proceeds to step S1112, where the previous speed deviation amount is updated with the newly calculated speed deviation amount, and then in step S1113, the difference between the target speed and the actual speed is set as the speed deviation amount. Further, in step S1114, the speed deviation amount is multiplied by a predetermined gain to calculate the speed deviation adjustment amount. Then, the flow in FIG. 11 ends, and the process proceeds to step S12 in FIG. 9, where the relational expression is updated.

[0080] Note that the "predetermined gain" here determines the adjustment sensitivity of the target advance angle relative to the speed deviation amount, and is set so that the speed responsiveness to the advance angle is appropriate. Note that if it is difficult to optimize the responsiveness using only the gain, the speed deviation amount may be treated as a proportional component, and its integral component and differential component may be calculated, and the response characteristics may be adjusted by multiplying each by a coefficient and adding them together. Alternatively, the responsiveness may be adjusted by applying a low-pass filter or a high-pass filter to the speed deviation amount.

[0081] Fig. 12 is a flowchart showing an example of the process of updating the relational expression in step S912. In step S1200 of Fig. 12, it is determined whether the speed deviation adjustment amount calculated in step S911 is within ±thresh. If it is determined in step S1200 that it is not within ±thresh, the process proceeds to step S1201.

[0082] Note that ±thresh is set taking into consideration the magnitude of the periodic fluctuation component of the actual speed of the motor. That is, the actual speed of the motor fluctuates periodically due to uneven rotation of the motor itself, eccentricity in the attachment of the detection magnet, axial wobble of the rotating shaft 202, etc., so ±thresh should be set taking into consideration the magnitude of these periodic fluctuation components.

[0083] In step S1201, it is determined whether speed deviation adjustment is being performed. If it is being performed, the process proceeds to step S1204; if it is not being performed, the process proceeds to step S1202. In step S1202, the actual speed before adjustment is set to the current actual speed, and the target advance angle before adjustment is set to the current target advance angle. Then, in step S1203, the process is set to a state in which speed deviation adjustment is being performed.

[0084] In step S1204, the lead angle adjustment amount is calculated based on the speed deviation adjustment amount. Here, the lead angle adjustment amount is used to adjust the target lead angle so as to eliminate the deviation of the actual speed from the target speed, and is found from the lead angle movement amount (adjustment amount) relative to the speed movement amount (adjustment amount) in equation (1), so it is calculated by modifying equation (2).

[0085] Advance angle adjustment amount = Speed ​​deviation adjustment amount / γ Equation (2) Note that γ is the same as the gradient γ in equation (1). In this way, in step S1204, the adjustment amount of the target advance angle corresponding to the speed deviation amount between the actual speed and the target speed is calculated based on the correspondence information between the advance angle and the speed.

[0086] In step S1205, the target advance angle is adjusted by the advance angle adjustment amount calculated in step S1204. That is, the target advance angle is set to (target advance angle + advance angle adjustment amount). Then, the process returns to step S1200.

[0087] Therefore, the speed deviation adjustment process in steps S1204 and S1205 is repeated until the speed deviation adjustment amount falls within ±thresh in step S1200, and the motor rotation position is controlled with the adjusted target advance angle.

[0088] On the other hand, if it is determined in step S1200 that the speed deviation adjustment amount is within ±thresh, the process proceeds to step S1211, where it is determined whether speed deviation adjustment is currently being performed. If it is not currently being performed, the flow of FIG. 12 ends and the process proceeds to step S913.

[0089] Proceeding to step S1211, if it is determined that speed deviation adjustment is being performed, the slope γ and intercept β of equation (1) are updated in step S1212. That is, the slope γ and intercept β of equation (1) are updated using equations (3) and (4) using the actual speed before adjustment, the actual speed (after adjustment), the target advance angle before adjustment, and the target advance angle (after adjustment).

[0090] γ = (actual speed - actual speed before adjustment) / advance angle adjustment amount... Equation (3) β = Actual speed - (target advance angle before adjustment + advance angle adjustment amount) × γ Equation (4)

[0091] In this way, when the target advance angle is adjusted in accordance with the speed deviation amount in steps S1204 and S1205, the correspondence information between speed and advance angle is corrected or updated in step S1212. After updating the relational expression (1) between advance angle and speed in step S1212, speed deviation adjustment in progress is set to FALSE in step S1213, the flow of Fig. 12 ends, and the process proceeds to step S913.

[0092] Next, an example of position control processing for detecting the difference between the target position counter value and the position detection counter value and correcting the position error will be described with reference to the flowcharts of Figures 13 and 14. Figure 13 is a flowchart showing an example of processing for calculating the position error correction amount in step S914, and Figure 14 is a flowchart showing an example of processing for advance angle correction in step S915.

[0093] If it is determined in step S913 in Fig. 9 that speed deviation adjustment is not being performed, the calculation process of the position deviation correction amount in step S914 is executed according to the flow shown in Fig. 13. First, in step S1300, it is determined whether or not initialization of the position deviation amount has been completed.

[0094] If it is determined in step S1300 that the initialization of the positional deviation amount has not been completed, the flow proceeds to step S1301 to calculate the positional deviation amount err, i.e., the difference between the target position counter value and the position detection counter value err.

[0095] Next, in step S1302, the initialization of the positional deviation amount is set to a completed state. After that, the process returns to step S1300. If it is determined in step S1300 that the initialization of the positional deviation amount is completed, the process proceeds to step S1311, where the calculation process of the positional deviation correction amount is performed.

[0096] That is, first, in step S1311, the previous positional deviation amount prev_err is updated to the positional deviation amount err calculated in the previous processing, and then the positional deviation amount err is calculated in step S1312. That is, in step S1312, err, which is the difference between the target position counter value and the position detection counter value, is calculated.

[0097] Next, in step S1313, the integral value of the positional deviation is calculated by adding prev_err calculated in step S1311 and err calculated in step S1312 to calculate the integral value int_err of the positional deviation.

[0098] Next, in step S1314, a differential value of the positional deviation amount is calculated, that is, prev_err calculated in step S1311 is subtracted from err calculated in step S1312 to calculate a differential value diff_err of the positional deviation amount.

[0099] Then, in step S1315, the amount of positional deviation correction is calculated using, for example, the following equation (5). Position deviation correction amount = Kp × err + Ki × int_err + Kd × diff_err (Equation 5)

[0100] In this way, in step S1315, the deviation amount between the actual position information and the target position counter value, the differential component of the deviation amount, and the integral component of the deviation amount are weighted and added using the weighting coefficient, and the value is set as the position deviation correction amount.

[0101] The proportional coefficient Kp, integral coefficient Ki, and differential coefficient Kd determine the response characteristics of the position error correction, and are set arbitrarily to suppress overshoot and deviation when tracking the target position counter value. In other words, each of the weighting coefficients above can be set according to the response required for motor rotational position control.

[0102] Also, here, the response is set by a combination of difference / integration / differentiation, but the response may be set by a low-pass filter or a high-pass filter instead of integration / differentiation.

[0103] That is, the deviation amount between the actual position information and the target position counter value, and the deviation amount processed by at least one of a low-pass filter and a high-pass filter, are weighted and added using a weighting coefficient, and set as the position deviation correction amount. The filter constants of the low-pass filter and the high-pass filter may be set according to the responsiveness required for the motor rotational position control.

[0104] After the positional deviation correction amount is calculated in step S1315, the flow of FIG. 13 ends, and the process proceeds to step S915 in FIG. 9 to perform advance angle correction.

[0105] Next, the advance angle correction processing in step S915 will be described with reference to the flowchart in Fig. 14. In step S1400 in Fig. 14, the position error correction amount calculated in step S914 is divided by the cycle or correction period of the correction processing to convert it into a speed error correction amount. In step S1401, the advance angle correction amount is calculated from the speed error correction amount using the following equation (6).

[0106] Advance angle correction amount = Speed ​​deviation correction amount / γ Equation (6) Note that γ is the same as the gradient γ in equation (1).

[0107] In step S1402, the target advance angle is corrected by adding the advance angle correction amount calculated in step S1401 to the target advance angle. Then, the flow in Fig. 14 ends, and the process proceeds to step S900 in Fig. 9. As a result, position control to follow the target position counter value is performed by advance angle control as shown in Fig. 9. In other words, the position of the driven member is controlled using the target advance angle corrected by the advance angle correction amount.

[0108] The above has described a method according to the first embodiment for implementing position control using lead angle control to move the imaging lens so that it follows the counter value of a target position that moves at an arbitrary speed. According to the control of this embodiment, lead angle control, which is characterized by efficiently driving the motor to rotate, enables follow-up position control that has the effects of high responsiveness and low vibration.

[0109] <Embodiment 2> In the first embodiment, a method for realizing position control by using lead angle control to move a moving member to follow a target position moving at an arbitrary speed has been described. However, with lead angle control, when the motor is driven in a manner that causes large speed changes such as acceleration / deceleration, the encoder may overshoot relative to the target position.

[0110] 15(A) and (B) are diagrams showing an example of changes in the encoder and lead angle relative to the target position counter value in embodiment 1. Figures 15(A) and (B) show an example of changes in the encoder and lead angle relative to the target position counter value when an overshoot occurs during feedback control of the lead angle.

[0111] When the motor speed change is large, the motor may not be able to keep up with the target position counter value, causing the position detection counter value to overshoot, as shown in Figure 15(A). In this case, in the lead angle correction process of step S915, the lead angle is corrected so as to attenuate the target lead angle, as shown in Figure 15(B), and lead angle control is performed to make the motor follow the target position counter value.

[0112] However, if a large overshoot occurs, the amount of lead angle correction also becomes large, and as a result, the sign of the target lead angle may be reversed before the motor can fully track the target position counter value, causing undershoot. That is, as shown in Figure 15(B), a section occurs where the target lead angle is negative, and if the lead angle is reversed in this way, the rotation direction of the motor will be reversed, resulting in noise.

[0113] Furthermore, when the first embodiment is applied to the lens control system, the angle of view changes suddenly and discontinuously during zooming due to the reversal of the first zoom lens 102 or the second zoom lens 104, and the focus suddenly shifts significantly due to the reversal of the focus lens 103. Therefore, in the second embodiment, control is performed to prevent the target advance angle from being reversed after advance angle correction.

[0114] Fig. 16 is a flowchart showing an example of advance angle control in the advance angle control unit 308 of embodiment 2. Note that the operation of each step in the flowchart of Fig. 16 is performed sequentially by a CPU or the like serving as a computer in the lens control system executing a computer program stored in memory.

[0115] The lead angle control of the second embodiment shown in Fig. 16 differs from the lead angle control of the first embodiment described in Fig. 9 in that it adds a position error correction coefficient update process in step S1601 and the lead angle correction process in step S1602. In Fig. 16, steps with the same reference numerals as in Fig. 9 are the same processes, so their explanation will be omitted. Fig. 17 is a flowchart showing a specific example of the position error correction coefficient update process in step S1601.

[0116] The operations of the steps in the flowchart of FIG. 17 are performed sequentially by a CPU or the like serving as a computer in the lens control system executing a computer program stored in memory.

[0117] In step S1700 of Fig. 17, it is determined whether the direction of the target position counter value has reversed. If it is determined that the direction of the target position counter value has reversed, the motor needs to perform a reversal operation to follow the target position counter value, so the position error correction coefficient is not updated, the flow of Fig. 17 ends, and the process proceeds to step S914 of Fig. 16.

[0118] On the other hand, if it is determined in step S1700 that the direction of the target position counter value has not been reversed, the process proceeds to step S1701, where it is determined whether the previously set target advance angle was near 0 or not.

[0119] If step S1701 returns No, the flow of Fig. 17 ends, and the process proceeds to step S914 in Fig. 16, where the positional deviation correction amount is calculated. If step S1701 returns Yes, the process proceeds to step S1702, where the positional deviation correction coefficient is switched.

[0120] That is, when the corrected target advance angle approaches 0, the responsiveness of the advance angle correction is attenuated. Also, in step S1702, in order to attenuate the responsiveness of the advance angle control, the proportional coefficient Kp, integral coefficient Ki, and derivative coefficient Kd used to calculate the position error correction amount in step S914 of Fig. 16 (step S1315 of Fig. 13) are adjusted. Thereafter, the flow of Fig. 17 ends, and the process proceeds to step S914 of Fig. 16, where the position error correction amount is calculated.

[0121] Here, the weighting coefficients may be adjusted, for example, by setting a threshold value for the advance angle, and when the advance angle falls below this threshold, switching to a different coefficient for reducing the responsiveness of the advance angle correction. Alternatively, the weighting coefficients may be adjusted so that each coefficient increases according to the difference between the target position counter value and the position detection counter value. Alternatively, the responsiveness of the advance angle correction may be changed by a low-pass filter or a high-pass filter instead of adjusting the weighting coefficients.

[0122] Fig. 18 is a flowchart showing an example of the advance angle correction process in step S1602 in embodiment 2. Note that the operation of each step in the flowchart in Fig. 18 is performed sequentially by a CPU or the like serving as a computer in the lens control system executing a computer program stored in memory.

[0123] In contrast to the lead angle correction process in step S915 in the first embodiment described in Fig. 14, the lead angle process in step S1602 in the second embodiment adds lead angle inversion prevention processes in steps S1801 to S1803. In Fig. 18, the steps with the same reference numbers as in Fig. 14 are the same processes, so their description will be omitted.

[0124] To prevent the lead angle from being reversed, it is determined in step S1801 of Fig. 18 whether the direction of the target position counter value has been reversed. If it is determined in step S1801 that the direction of the target position counter value has been reversed, the flow in Fig. 18 ends without performing the process to prevent the lead angle from being reversed, since a reversal operation is required for the motor to follow the target position counter value.

[0125] That is, if the advance direction of the target position counter value is reversed, the process of attenuating the responsiveness of the advance angle correction or the process of limiting the target advance angle to 0 is not performed. On the other hand, if it is determined in step S1801 that the direction of the target position counter value has not been reversed, the process proceeds to step S1802.

[0126] In step S1802, it is determined whether the polarity of the target advance angle has reversed. If it is determined in step S1802 that the polarity of the target advance angle has not reversed, the flow in FIG. 18 ends. On the other hand, if it is determined in step S1802 that the polarity of the target advance angle has reversed, the value of the target advance angle is limited to 0 in step S1803. In other words, if the polarity of the target advance angle has reversed, the target advance angle is limited to 0, and then the flow in FIG. 18 ends.

[0127] 19(A) and (B) are diagrams showing an example of changes in the encoder and lead angle when the inversion prevention process according to embodiment 2 is applied. That is, Fig. 19(A) and (B) show the relationship between the actual position and lead angle relative to the target position counter value when the update process of the position error correction coefficient and the process of preventing inversion of the lead angle for inversion prevention according to embodiment 2 are performed.

[0128] In process P3 corresponding to step S1702, when the target advance angle approaches 0, the correction coefficient is switched in the process of updating the position error correction coefficient to attenuate the target advance angle. As a result, the rotation speed of the motor gradually decreases, and the position detection counter value indicating the actual position gradually follows the target position.

[0129] Next, in process P4, which corresponds to step S1803, if the corrected target advance angle crosses over 0, the target advance angle is limited to 0. This stops the motor and the position detection counter value continues to maintain that position. Once the process P4 interval is over, the target advance angle is amplified, and accordingly the motor resumes rotation and the position detection counter value begins to track the target position.

[0130] As described above, in the second embodiment of the present invention, if the sign of the corrected target advance angle is reversed in the process of preventing advance angle reversal in step S1802, the value is limited to 0. Therefore, the motor does not rotate in the reverse direction until the target position is reached, making it possible to avoid noise caused by the reverse rotation of the motor.

[0131] In addition, because the responsiveness of the advance angle feedback control is attenuated as the target advance angle approaches 0, it is possible to suppress sudden stops of the motor and avoid noise caused by sudden motor stops.Furthermore, when applied to a lens control system, it is possible to avoid phenomena such as sudden discontinuities in the angle of view during zooming and sudden large deviations from focus.

[0132] As described above, in order to suppress overshoot and undershoot as shown in FIG. 15, the responsiveness of the positional deviation correction and advance angle correction may be slowed down using a low-pass filter or the like.

[0133] While the present invention has been described in detail above based on preferred embodiments thereof, the present invention is not limited to the above embodiments, and various modifications and combinations of the above embodiments are possible based on the spirit of the present invention, and are not excluded from the scope of the present invention. For example, in the above embodiments, the present invention is applied to a motor for driving a lens, but the driven member to be driven is not limited to a lens, and may be any member.

[0134] The present invention also includes those that realize the functions of the above-described embodiments using at least one processor or circuit such as a CPU, etc. Also, it is possible to use multiple processors to perform distributed processing.

[0135] In order to realize some or all of the control in the above embodiments, a computer program that realizes the functions of the above embodiments may be supplied to a motor control device or the like via a network or various storage media. The computer (or CPU, MPU, etc.) in the motor control device or the like may then read and execute the program. In this case, the program and the storage medium storing the program constitute the present invention. The present invention also includes the following combinations.

[0136] (Configuration 1) A motor control device comprising: encoding means for detecting the rotational state of a motor and converting it into actual position information; target position setting means for generating a target position counter value that becomes a movement target for a driven member connected to the motor; and lead angle control means for controlling the rotational speed of the motor based on a target lead angle, wherein the lead angle control means comprises target speed calculation means for calculating a target speed that is an amount of change in the target position counter value; target lead angle calculation means for calculating the target lead angle corresponding to the target speed based on correspondence information between the rotational speed and lead angle; position error correction amount calculation means for calculating a position error correction amount from the amount of deviation between the actual position information and the target position counter value; and lead angle correction amount calculation means for converting the position error correction amount into a speed error correction amount and calculating an lead angle correction amount for the speed error correction amount based on the correspondence information between the rotational speed and the lead angle, wherein the position of the driven member is controlled using the target lead angle corrected with the lead angle correction amount.

[0137] (Configuration 2) The motor control device according to Configuration 1, wherein the target lead angle calculation means calculates an actual speed which is the amount of change in the actual position information, calculates an adjustment amount for the target lead angle corresponding to the amount of speed deviation between the actual speed and the target speed based on correspondence information between the rotation speed and the lead angle, and controls the rotational position of the motor using the adjusted target lead angle.

[0138] (Configuration 3) The motor control device according to configuration 1 or 2, wherein the speed deviation correction amount is obtained by dividing the position deviation correction amount by a cycle of the correction process or a correction period.

[0139] (Configuration 4) A motor control device according to any one of configurations 1 to 3, characterized in that when it is determined that there is no deviation between the moving speed of the actual position information and the target speed, an advance angle correction process is executed in which the advance angle correction amount is calculated from the speed deviation correction amount and the target advance angle is corrected with the advance angle correction amount.

[0140] (Configuration 5) A motor control device according to any one of configurations 1 to 4, characterized in that when the target lead angle is adjusted in accordance with the amount of speed deviation, the correspondence information between the rotation speed and the lead angle is corrected or updated.

[0141] (Configuration 6) A motor control device according to any one of configurations 1 to 5, characterized in that the correspondence information between the rotational speed and the lead angle is a relational expression or pre-stored table data that indicates the correspondence relationship between the rotational speed and the lead angle.

[0142] (Configuration 7) The motor control device according to any one of configurations 1 to 6, wherein the advance angle control means sets as the position deviation correction amount a value obtained by weighting and adding the deviation amount between the actual position information and the target position counter value, a differential component of the deviation amount, and an integral component of the deviation amount using a weighting coefficient.

[0143] (Configuration 8) The motor control device according to any one of configurations 1 to 7, wherein the advance angle control means weights and adds the deviation amount between the actual position information and the target position counter value, and the deviation amount processed by at least one of a low-pass filter and a high-pass filter, using a weighting coefficient, and sets the result as the position deviation correction amount.

[0144] (Configuration 9) The motor control device according to configuration 8, wherein the response of the advance angle correction is changed by the weighting coefficient, the low-pass filter, or the high-pass filter.

[0145] (Configuration 10) The motor control device according to any one of configurations 1 to 9, wherein the advance angle control means attenuates the responsiveness of the advance angle correction when the corrected target advance angle approaches zero.

[0146] (Configuration 11) The motor control device according to any one of configurations 1 to 10, wherein the advance angle control means limits the target advance angle to 0 when the polarity of the target advance angle is reversed.

[0147] (Configuration 12) A motor control device according to any one of configurations 1 to 11, characterized in that when the advance direction of the target position counter value is reversed, processing to attenuate the responsiveness of the advance angle correction or processing to limit the target advance angle to 0 are not performed.

[0148] (Configuration 13) A motor control device comprising: an imaging lens that performs magnification changes by linking a plurality of lenses in a predetermined positional relationship; motors that drive each of the lenses that constitute the imaging lens; encoding means that detects the rotational state of each motor and converts it into actual position information; target position setting means that generates a target position counter value that becomes a movement target of the lens connected to each motor; and lead angle control means that controls the rotational speed of the motor based on a target lead angle, wherein the lead angle control means comprises target speed calculation means that calculates a target speed that is an amount of change in the target position counter value; target lead angle calculation means that calculates the target lead angle corresponding to the target speed based on correspondence information between the rotational speed and lead angle; a position deviation correction amount calculation unit that calculates a position deviation correction amount from the amount of deviation between the actual position information and the target position counter value; and lead angle correction amount calculation means that converts the position deviation correction amount into a speed deviation correction amount and calculates an lead angle correction amount for the speed deviation correction amount from the correspondence information between the rotational speed and the lead angle, wherein the motor control device controls the position of each of the lenses at the target lead angle corrected with the lead angle correction amount.

[0149] (Configuration 14) The motor control device described in Configuration 13, characterized in that the imaging lens has at least one zoom lens and a focus lens, the target position counter value of at least one of the zoom lenses is generated so that the zoom lens moves at the target speed, and the target position counter value of the focus lens is generated so that the focus lens moves along a predetermined trajectory in conjunction with the movement of the zoom lens.

[0150] a target position setting step for generating a target position counter value as a movement target for a driven member connected to the motor; and a lead angle control step for controlling the rotational speed of the motor based on a target lead angle, wherein the lead angle control step comprises a target speed calculation step for calculating a target speed which is an amount of change in the target position counter value; a target lead angle calculation step for calculating the target lead angle corresponding to the target speed based on correspondence information between the rotational speed and lead angle; a position error correction amount calculation step for calculating a position error correction amount from the amount of deviation between the actual position information and the target position counter value; and an lead angle correction amount calculation step for converting the position error correction amount into a speed error correction amount and calculating an lead angle correction amount for the speed error correction amount based on the correspondence information between the rotational speed and lead angle, wherein the position of the driven member is controlled using the target lead angle corrected with the lead angle correction amount.

[0151] (Program) A computer program for controlling each means of the motor control device according to any one of configurations 1 to 14 by a computer. [Explanation of symbols]

[0152] 101...Fixed lens 102...First zoom lens 103...Focus lens 104...Second zoom lens 105...Aperture 201...Stepping motor 202...Rotation axis 203... Rack 204...Lens 205...PI (Photointerrupter) 206... Shade 207...Rotation phase detection magnet 208...Hall sensor (Hall-Ch0) 209...Hall sensor (Hall-Ch1) 305...Encoder 306‥‥Target position setting section 307. Coordinate origin setting section 308...Advance angle control unit 309...Drive waveform generation unit 310...Motor driver 801‥‥Target speed calculation section 802...Target advance angle calculation unit 803... Actual speed calculation unit 804... Speed ​​deviation adjustment amount calculation unit 805...Relational expression update section 811: Positional deviation correction amount calculation unit 812...Advance angle correction amount calculation unit

Claims

1. an encoding means for detecting the rotation state of the motor and converting it into actual position information; a target position setting means for generating a target position counter value that is a movement target of a driven member connected to the motor; advance angle control means for controlling the rotation speed of the motor based on a target advance angle; The advance angle control means a target speed calculation means for calculating a target speed, which is the amount of change in the target position counter value; a target advance angle calculation means for calculating the target advance angle corresponding to the target speed based on the correspondence information between the rotation speed and the advance angle; a positional deviation correction amount calculation means for calculating a positional deviation correction amount from the deviation amount between the actual position information and the target position counter value; a lead angle correction amount calculation means for converting the position error correction amount into a speed error correction amount, and calculating a lead angle correction amount for the speed error correction amount from correspondence information between the rotation speed and the lead angle, a motor control device for controlling a position of the driven member based on the target advance angle corrected by the advance angle correction amount;

2. the target advance angle calculation means calculates an actual speed, which is an amount of change in the actual position information; calculating an adjustment amount of the target advance angle corresponding to a speed deviation amount between the actual speed and the target speed based on correspondence information between the rotation speed and the advance angle; 2. The motor control device according to claim 1, wherein the rotational position of the motor is controlled based on the adjusted target advance angle.

3. 2. The motor control device according to claim 1, wherein the speed deviation correction amount is obtained by dividing the position deviation correction amount by a correction processing cycle or a correction period.

4. 2. The motor control device according to claim 1, wherein the advance angle correction amount is calculated from the speed deviation correction amount, and an advance angle correction process for correcting the target advance angle with the advance angle correction amount is executed when it is determined that there is no deviation between the movement speed of the actual position information and the target speed.

5. 2. The motor control device according to claim 1, wherein when the target advance angle is adjusted in accordance with the amount of speed deviation, the correspondence information between the rotation speed and the advance angle is corrected or updated.

6. The correspondence information between the rotation speed and the advance angle is 2. The motor control device according to claim 1, wherein the correspondence between the advance angle and the rotation speed is a relational expression or pre-stored table data.

7. The advance angle control means 2. The motor control device according to claim 1, wherein the position error correction amount is set to a value obtained by weighting and adding the deviation amount between the actual position information and the target position counter value, a differential component of the deviation amount, and an integral component of the deviation amount using a weighting coefficient.

8. The advance angle control means 2. The motor control device according to claim 1, wherein the deviation amount between the actual position information and the target position counter value, and the deviation amount processed by at least one of a low-pass filter and a high-pass filter are weighted and added using a weighting coefficient, and the weighted addition is set as the position deviation correction amount.

9. Response of advance correction, 9. The motor control device according to claim 8, wherein the weighting coefficient is changed by the low-pass filter or the high-pass filter.

10. The advance angle control means 2. The motor control device according to claim 1, wherein when the corrected target advance angle approaches zero, the response of the advance angle correction is attenuated.

11. The advance angle control means 2. The motor control device according to claim 1, wherein the target advance angle is limited to 0 when the polarity of the target advance angle is reversed.

12. When the advance direction of the target position counter value is reversed, 2. The motor control device according to claim 1, wherein a process for attenuating the response of the advance angle correction or a process for limiting the target advance angle to 0 is not performed.

13. an imaging lens that performs zooming by linking multiple lenses in a predetermined positional relationship; a motor for driving each of the lenses constituting the imaging lens; an encoding means for detecting the rotation state of each motor and converting it into actual position information; a target position setting means for generating a target position counter value that is a movement target of the lens connected to each motor; advance angle control means for controlling the rotation speed of the motor based on a target advance angle; The advance angle control means a target speed calculation means for calculating a target speed, which is the amount of change in the target position counter value; a target advance angle calculation means for calculating the target advance angle corresponding to the target speed based on the correspondence information between the rotation speed and the advance angle; a positional deviation correction amount calculation unit that calculates a positional deviation correction amount based on the deviation amount between the actual position information and the target position counter value; a lead angle correction amount calculation means for converting the position error correction amount into a speed error correction amount, and calculating a lead angle correction amount for the speed error correction amount from correspondence information between the rotation speed and the lead angle, a motor control device for controlling the position of each of the lenses at the target advance angle corrected by the advance angle correction amount;

14. The imaging lens has at least one zoom lens and a focus lens, the target position counter value of at least one of the zoom lenses is generated so that the zoom lens moves at the target velocity; 14. The motor control device according to claim 13, wherein the target position counter value of the focus lens is generated so as to move along a predetermined locus in conjunction with movement of the zoom lens.

15. an encoding step of detecting the rotation state of the motor and converting it into actual position information; a target position setting step of generating a target position counter value that is a movement target of a driven member connected to the motor; an advance angle control step of controlling the rotation speed of the motor based on a target advance angle, The advance angle control step a target speed calculation step of calculating a target speed which is a change amount of the target position counter value; a target advance angle calculation step of calculating the target advance angle corresponding to the target speed based on the correspondence information between the rotation speed and the advance angle; a positional deviation correction amount calculation step of calculating a positional deviation correction amount from the deviation amount between the actual position information and the target position counter value; a lead angle correction amount calculation step of converting the position error correction amount into a speed error correction amount, and calculating a lead angle correction amount for the speed error correction amount from correspondence information between the rotation speed and the lead angle, a motor control method for controlling a position of the driven member based on the target advance angle corrected by the advance angle correction amount;

16. A computer program for controlling each means of the motor control device according to any one of claims 1 to 14 by a computer.

Citation Information

Patent Citations

  • Speed-control device of motor

    JP2001045780A

  • Motor drive device

    JP2021083196A