The present invention relates to motor control and control of motor driven systems. More specifically, it relates to a method and apparatus for determining the resonant frequency of a motor system, such as a voice coil motor (VCM), for use in anti-ringing control systems.
Motor-driven translational systems are commonplace in modern electrical devices. They are used to move a mechanical system within a predetermined range of motion under electrical control. Common examples include image stabilization and autofocus systems for digital cameras, video recorders, portable devices having such functionality (e.g., mobile phones, personal digital assistants, and hand-held gaming systems), and laser drivers for optical disc readers.
In a camera or video recorder, a lens driver controls an actuator that moves the lens assembly back and forth for image stabilization and to adjust focus and magnification. One such actuator is the VCM. In a VCM, the lens position is fixed by balancing the motor and spring forces of the VCM. In other words, the VCM can be modeled as a mass coupled to a spring. When a motor moves the mass according to the drive signal, the motion generates other forces within the system which can cause the mass to oscillate around the new location at some resonant frequency (fR). This oscillation is also known as “mechanical ringing.” For example, resonant frequencies of approximately 110 Hz have been observed in consumer electronic products. Such oscillation typically diminishes over time, but impairs performance of the device in its intended function by, for example, extending the amount of time that a camera lens system takes to focus an image, distorting the image, and shortening the lifetime of the VCM.
Mechanical ringing of VCMs can be reduced by minimizing the energy supplied to the VCM at its resonant frequency, which will in turn enable the user to achieve fast mechanical settling times and enhance autofocus response times and image quality. The response of the VCM may be damped by filtering the drive signal applied to the VCM, for example through a notch filter with a center frequency at the resonant frequency, and having a stopband sufficiently wide to accommodate the expected tolerance around a VCM nominal resonant frequency. Currently, the VCM nominal resonant frequency is a single fixed frequency estimated and pre-programmed into a motor driver before operation.
Pre-programming the resonant frequency, however, can cause imprecise operation. The resonant frequency of a VCM may vary due to different vendors, the manufacturing process, or age. System manufacturers often do not know the resonant frequency of their mechanical systems precisely. Additionally, particularly in consumer electronics where system components must be made inexpensively, the resonant frequency can vary across different manufacturing lots of a common product. Furthermore, as a VCM ages, its resonant frequency may change as well. Thus, the end-user estimated and programmed nominal resonant frequency may be substantially different from the actual resonant frequency of the mechanical system.
Thus, there is a need in the art for a method to dynamically and accurately determine the natural resonant frequency of a VCM actuator, to aid the design of shorter filters, and accommodate the variations in resonant frequency. It would be further advantageous for this method to be automatic resonance detection built into the motor driver on-chip. It would be further advantageous for the resonant frequency detection to be designed to enable anti-ringing filtering “on-the-fly.”
Embodiments of the present invention provide techniques for determining the resonant frequency of a motor-driven mechanical system. Such techniques may include driving a current step into the motor-driven mechanical system and detecting a BEMF (back electromotive force) signal therefrom. Thereafter, a slope of the BEMF signal may be derived and its polarity may be measured. The resonant frequency of the mechanical system may be derived by measuring a time that elapses between a first type of polarity change and a subsequent occurrence of the same type of polarity change. For example, the time between successive positive-to-negative transitions in the signal (or slope signal) or the time between successive negative-to-positive transitions in the signal (or slope signal) may reflect the resonant frequency of the mechanical system. Such techniques may be employed in a motor driver that measures the resonant frequency prior to run-time operation (for example, during start up), then applies the resonant frequency during run-time operation.
In an embodiment, the resonance detector 110 may include a BEMF detector 112, slope detector 114, and analyzer 116. The BEMF detector 112 may detect a BEMF signal generated by the motor M. The slope detector 114 may detect and measure a slope of the BEMF signal. The analyzer 116 may determine the resonant frequency of the VCM based on the slope information received. The BEMF detector 112 and slope detector 114 may be implemented as a single circuit or as separate circuits.
During operation, the mechanical system M may generate a BEMF signal, which may be induced by vibration of the mechanical system M. The BEMF's signal frequency may correspond to the mechanical system's resonant frequency. This signal may be measured by the BEMF detector 112 through pins P. The BEMF detector 112 may capture the BEMF signal and output a representation of the BEMF signal to the analyzer 116. For example, the BEMF detector 112 may output a captured BEMF signal to a slope detector 114, which may detect the polarity of the slope therefrom and may output signals representing changes in slope polarity of the BEMF signal to the analyzer 116. The analyzer 116 may estimate the resonant frequency of the mechanical system M by measuring the time between successive positive-to-negative transitions in the slope signal or the time between successive negative-to-positive transitions in the slope signal. The analyzer 116 may perform its operations according to a system clock signal CLK, and may output the resonant frequency to driving system 120.
The driver 140 may perform its operations according to a system clock signal CLK. The driver 140 may output a drive signal according to the resonant frequency determined by the analyzer 116 and stored in the fR register 122. The frequency distribution of the drive signal may be controlled to have zero (or near zero) energy at the detected resonant frequency fR of the mechanical system M. The drive signal may include pulses according to timing determined from
The drive signal also may be filtered by a filter 126 to broaden a zero-energy notch at the detected resonant frequency, fR.
Although
In a further embodiment, the motor driver system 100 may include a register 130 to store expected resonant frequency such as one that is preprogrammed by a manufacturer or user of the system 100. During a resonance detection mode, the motor driver system 100 may develop a drive signal to the mechanical system M that matches the expected resonant frequency as stored in the register 130. The actual resonant frequency may then be confirmed or determined therefrom.
If, in step 340, the method 300 determined that the ΔBEMF polarities are not the same, then method 300 may proceed to step 350. In step 350, the method 300 may record a time of sample T and, optionally, a type of polarity change. The type may be a positive-to-negative or negative-to-positive change. In step 360, the method 300 may determine whether a previous change in polarity has been recorded having the same type as the present change. If there was not a previous change in polarity of the same type, method 300 may return to step 310 for another iteration of sampling. If there was a previous change in polarity of the same type, the method 300 may derive the resonant frequency of the mechanical system M from the times of the two polarity changes in polarity of the same type.
Although
Moreover, the example of
The slope detector 530 may include switches S1, S2, S3, and S4.1 and S4.2, capacitors 531 and 533, and a comparator 532. A first switch S1 may connect a first terminal (an “input terminal,” for convenience) of capacitor 531 to the input node N and a second switch S2 may connect an input terminal of capacitor 533 to the input node N. A third switch S3 may connect the input terminals of the two capacitors 531, 533 to each other. Second terminals (called “output terminals,” for convenience) of each capacitor 531, 533 may be connected to respective positive and negative inputs of the comparator 532. Switches S4.1 and S4.2 may connect the output terminals of the respective capacitors 531, 533 to a reference voltage Vref. The comparator 532 may produce a binary output, which is output from the BEMF/Slope detector 530.
The BEMF/Slope detector 530 may generate a binary signal representing a type of change in the BEMF signal obtained from the mechanical system (e.g., the BEMF signal is rising or it is falling). The BEMF/Slope Detector 530 may operate iteratively at a predetermined clock rate.
The switches may reset the BEMF/Slope detector 530 at times T4 and T5 to prepare it for another iteration of operation. At time T4, switches S4.1 and S4.2 may close and switch S3 may open, which pulls the output terminals of the capacitors 531, 533 to Vref. Switches S1, S2 may close at time T5, which couples the input terminals of the capacitors 531, 533 to the input node N.
The BEMF/slope detector 630 of the
The BEMF/slope detector 630 may operate in several phases of operation. During a reset phase, switches S1 and S2 may be closed, such that the output terminals of the capacitors 631 and 633 are pulled to a reference voltage, Vref. During a sampling phase, switches S1 and S2 may be opened. Changes in the voltages at nodes N1 and N2 may include corresponding changes in voltage at the inputs to the comparator 632. The comparator 632 may generate a binary output that represents a direction of change in the BEMF signal as represented by the voltages on nodes N1 and N2. The switches S1 and S2 may close upon conclusion of the sampling phase, which resets the capacitors 631, 633 for another iteration of operation. Operation of the BEMF/slope detector 630 may repeat for as long as desired until the test is completed.
Although
Each sampling stage may include a comparator 710, switches S1 and S2, and capacitors C1 and C2. Switches S1 and S2 respectively may connect the outputs of comparator 710 of stage 730.1 to reference voltages V1 and V2. A first terminal (again, the “input terminal”) of capacitor C1 may be connected to a first output of comparator 710, and an input terminal of capacitor C2 may be connected to a second output of comparator 710. Output terminals of capacitors C1 and C2 may be coupled to respective positive and negative inputs of comparator 710 of stage 730.2. Each stage may be connected to the next in this fashion. In this way, the offset of each stage may be stored on its output capacitors C1 and C2, such that when the switches S1 and S2 are opened, the subsequent stage may see only the differential signal representing the direction of change in the input signal with near zero or substantially no offset contribution from the previous stage. For the later stages, for example stage 730.N, the input signal may be gained up sufficiently so as to have adequate signal-to-noise ratio. Earlier stages, such as the stages 730.1, 730.2, may include filtering to reject differential supply noise.
The BEMF/slope detector 700 of the
The embodiment of
The BEMF signal measured across the driving system 810 will have equal magnitude as BEMF signal measured across the motor M, but may be 180 degrees out of phase. It may be advantageous to measure the BEMF signal from across the driving system 810, because the signal may be less noisy. If the motor M has higher impedance than the driving system 810, the motor M may filter out much of the high frequency switching noise.
To detect a resonant period of the mechanical system M, the counter 923 may be provided as a free-running counter that increments itself according to a system clock. It may be cleared from time to time by the controller 921.
The controller 921 may monitor signals output from the slope detector 910 and respond to state changes in those signals. For example, when it detects a first transition in the output of the slope detector 910, the controller 921 may cause a current count value to be stored from the counter 923 to the register 922. The controller 921 may continue to allow the counter 923 to increment by the CLK signal until it detects a second occurrence of the first transition in the output of the slope detector 910 (e.g., a second occurrence of a high-to-low transition). The controller 921 may cause a count value of the counter 923 and the prior count value as stored in the register 922 both to be read to the subtractor 924. The subtractor 924 may output a value representing a difference between the two count values, which represents a resonant period of the mechanical system, measured in CLK clock cycles.
In alternative embodiments of the present invention, it is also possible to determine the resonant frequency of the VCM by replacing the slope detector described above with a peak detector, zero-crossing detector, ADC (analog-to-digital converter), or an analog front-end such as the one described in U.S. Patent App. Pub. No. 2012/0229264, which is hereby incorporated herein by reference in its entirety.
The analyzer 900 illustrated in
It will be appreciated that determination of the resonance frequency may have many other useful applications, including in the control of haptics. The descriptions and illustrations of the embodiments above should be read as exemplary and not limiting. Modifications, variations, and improvements are possible in light of the teachings above and the claims below, and are intended to be within the spirit and scope of the invention.
Number | Name | Date | Kind |
---|---|---|---|
4280162 | Tanka et al. | Jul 1981 | A |
4477755 | Rickert | Oct 1984 | A |
4761774 | Ishibashi et al. | Aug 1988 | A |
5017845 | Carobolante et al. | May 1991 | A |
5091697 | Roth et al. | Feb 1992 | A |
5200940 | Goto et al. | Apr 1993 | A |
5444479 | Fernekes et al. | Aug 1995 | A |
5600219 | Gomez | Feb 1997 | A |
5844743 | Funches | Dec 1998 | A |
6437524 | Dimanstein | Aug 2002 | B1 |
6515379 | Nojima et al. | Feb 2003 | B1 |
6809434 | Duncan et al. | Oct 2004 | B1 |
6888694 | Guo et al. | May 2005 | B2 |
6937427 | Tan et al. | Aug 2005 | B2 |
7031094 | Chung | Apr 2006 | B2 |
7068923 | Miyazaki | Jun 2006 | B2 |
7084958 | Butler | Aug 2006 | B2 |
7193804 | Kheymehdooz | Mar 2007 | B1 |
7315493 | Van Brocklin et al. | Jan 2008 | B2 |
7456595 | Ratliff et al. | Nov 2008 | B2 |
7501616 | Wiklof | Mar 2009 | B2 |
7663275 | McGill et al. | Feb 2010 | B2 |
7769110 | Momtaz | Aug 2010 | B2 |
8228017 | Lyden et al. | Jul 2012 | B2 |
8299744 | Lyden et al. | Oct 2012 | B2 |
20020079854 | Kitamura et al. | Jun 2002 | A1 |
20020136127 | Watt | Sep 2002 | A1 |
20030133218 | Guo et al. | Jul 2003 | A1 |
20040090878 | Soma et al. | May 2004 | A1 |
20050082996 | Luebbe | Apr 2005 | A1 |
20050134562 | Grant et al. | Jun 2005 | A1 |
20050151720 | Cruz-Hernandez et al. | Jul 2005 | A1 |
20050162105 | Yamasaki et al. | Jul 2005 | A1 |
20050166015 | Bruner et al. | Jul 2005 | A1 |
20050169119 | Van Brocklin et al. | Aug 2005 | A1 |
20060074405 | Malackowski et al. | Apr 2006 | A1 |
20060290662 | Houston et al. | Dec 2006 | A1 |
20070216343 | Rozman et al. | Sep 2007 | A1 |
20070241711 | Finamore et al. | Oct 2007 | A1 |
20080062143 | Shahoian | Mar 2008 | A1 |
20080086670 | Krouk et al. | Apr 2008 | A1 |
20080158406 | Ito | Jul 2008 | A1 |
20080170322 | Konishi | Jul 2008 | A1 |
20080191648 | Ito et al. | Aug 2008 | A1 |
20080246532 | Cosper et al. | Oct 2008 | A1 |
20090222711 | Belogolovy | Sep 2009 | A1 |
20090278819 | Goldenberg et al. | Nov 2009 | A1 |
20100052585 | Bonvin et al. | Mar 2010 | A1 |
20100201300 | Lyden et al. | Aug 2010 | A1 |
20120200763 | Ninomiya | Aug 2012 | A1 |
20120229264 | Company Bosch et al. | Sep 2012 | A1 |
Number | Date | Country |
---|---|---|
1063760 | Dec 2000 | EP |
2216897 | Aug 2010 | EP |
2434487 | Mar 2012 | EP |
2001016892 | Jan 2001 | JP |
2002277809 | Sep 2002 | JP |
2006162024 | Jun 2006 | JP |
2008546534 | Dec 2008 | JP |
2009278781 | Nov 2009 | JP |
2007002775 | Jan 2007 | WO |
Entry |
---|
Enz et al., 1996, “Circuit Techniques for Reducing the Effects of Op-Amp Imperfections: Autozeroing, Correlated Double Sampling, and Chopper Stabiliziation”, Proceedings of the IEEE, 84(11):1584-1614. |
Shin et al., 2004, “LFSR-Based BIST for Analog Circuits Using Slope Detection”, pp. 316-321. |
Zhang et al., 2011, “Design and analysis of a switched-capacitator-based peak detector”, pp. 1001-1004. |
Kruiskamp et al., 1994, “A CMOS Peak Detect Sample and Hold Circuit”, IEEE Transactions on Nuclear Science, 41 (1):295-298. |
Allstot, 1982, “A Precision Variable-Supply CMOS Comparator”, IEEE Journal of Solid-State Circuits, SC-17 (6):1080-1087. |
International Search Report and Written Opinion issued Jul. 5, 2012, in international application No. PCT/US2012/028411. |
European Supplementary Search Report issued in counterpart European application No. 12754947, communication dated Oct. 28, 2014, 8 pages. |
PCT International Search Report and Written Opinion for PCT/IB2014/000104, mailed on Jun. 3, 2015, 10 pages. |
Number | Date | Country | |
---|---|---|---|
20140217945 A1 | Aug 2014 | US |