具体实施方式
下面参照附图中所示的实施例来描述本发明。在此实施例中,摄像设备1是数码相机形式的图像捕捉装置。诸如相机镜头67等的摄像光学系统具有光轴LX,摄像光学系统将光学图像捕捉在摄像设备1的图像传感器的摄像表面上。为了说明实施例的方向,定义了x方向(第一方向)、y方向(第二方向)和z方向(参照图1)。x方向在水平面上并且垂直于光轴LX。y方向垂直于光轴LX和x方向。z方向平行于光轴LX并且均垂直于x方向和y方向。
摄像设备1的成像和除尘部分(除尘设备)包括电源按钮11、电源开关11a、测光开关12a、释放按钮13、释放开关13a、防抖按钮14、防抖开关14a、LCD监视器17、反射镜光圈快门(mirror-aperture-shutter)单元18、DSP 19、CPU 21、AE(自动曝光)单元23、AF(自动对焦)单元24、防抖单元30、以及相机镜头67(参照图1、2和3)。
防抖单元30包括可移动部分30a和固定部分30b。可移动部分30a是矩形的并且是个平板。固定部分30b是具有矩形孔的矩形框架。可移动部分30a设置在矩形孔中。换句话说,可移动部分30a被固定部分30b环绕。
电源开关11a处于ON(开)状态还是OFF(关)状态由电源按钮11的状态确定,所以摄像设备1的ON/OFF状态对应于电源开关11a的ON/OFF状态。由成像单元39a通过相机镜头67将摄像对象图像捕捉为光学图像,并且将捕捉的图像显示在LCD监视器17上。可以通过光学取景器(未示出)来观看摄像对象图像。
在按下电源按钮11之后,使得摄像设备1处于ON状态,在第一时间段(220ms)中执行除尘处理。
当操作者部分地按下释放按钮13时,测光开关12a变换到ON状态,以便执行测光操作、AF传感操作和对焦操作。当操作者完全按下释放按钮13时,释放开关13a变换到ON状态,以便由成像单元39a(成像设备)执行成像操作,并且图像被捕捉并被存储。
反射镜光圈快门单元18连接到CPU 21的端口P7,并且根据释放开关13a的ON状态来执行反射镜的上/下操作(反射镜向上操作和反射镜向下操作)、光圈的开/关操作以及快门的开/关操作。
DSP 19连接到成像单元39以及CPU 21的端口P9。基于来自CPU21的命令,DSP 19对通过成像单元39a的成像操作获得的图像信号执行诸如图像处理等的计算操作。
CPU 21是控制摄像设备1的与成像操作、除尘处理和防抖操作(即,图像稳定操作)有关的每个单元的控制设备。防抖操作包括可移动部分30a的移动以及位置检测操作。此外,CPU 21还存储防抖参数IS的值、释放状态参数RP的值、除尘状态参数GP的值、除尘时间参数CNT的值以及通道参数CH。
防抖参数IS表示摄像设备1是否处于防抖模式。当防抖参数IS等于1时,摄像设备1处于防抖模式;当其等于0时,摄像设备1不处于防抖模式。
释放状态参数RP的值相对于释放顺序操作而变化。当执行释放顺序操作时,释放状态参数RP的值设置为1(参照图4中的步骤S24到S31);并且当释放顺序操作完成时,释放状态参数RP的值设置(重置)为0(参照图4中的步骤S13和S32)。
除尘状态参数GP表示除尘处理是否完成。将除尘状态参数GP的值设置为1,因为立即从摄像设备1设置为ON状态后的时刻直到经过了第一时间段(220ms),可以认为除尘处理在进行中(参照图4中的步骤S14)。
将除尘状态参数GP的值设置为0,因为从摄像设备1设置为ON状态后经过了第一时间段(220ms)的时刻开始,可以认为除尘处理完成(参照图4中的步骤S16)。
除尘时间参数CNT用于测量除尘处理在进行中的时间长度。除尘时间参数CNT的初始值设置为0。在执行除尘处理期间,每过1ms的时间间隔,除尘时间参数CNT的值加1(参照图6中的步骤S701)。
通道参数CH表示可移动部分30a所处于的除尘处理的轨迹。其是根据可移动部分30a由a以字母顺序被驱动的次数而设置。通道参数CH的值“a”表示可移动部分30a处于“a”轨迹中。
在防抖操作前,CPU 21在除尘处理中将可移动部分30a移动到预定的初始位置。此操作命名为对中操作(参照图7中的步骤S84)。在此实施例中,预定位置为移动范围的中心(x方向和y方向的坐标值均为0的地方)。
然后,CPU 21使可移动部分30a在y方向上移动以对着可移动部分30a的可移动范围的边界的一侧撞击,同时保持可移动部分30a位于x方向的中心。接下来,CPU 21使可移动部分30a在相对的方向上移动以对着可移动部分30a的可移动范围的边界的另一侧撞击,同时保持可移动部分30a位于x方向的中心。最后,CPU 21在y方向上再次移动可移动部分30a以对着可移动范围的边界的一侧撞击,同时保持可移动部分30a位于x方向的中心。通过可移动部分30a对着可移动范围的边界的冲击的震动来去除可移动部分30a的成像单元39a(图像传感器和低通滤波器)上的灰尘颗粒。在除尘处理完成后,开始防抖操作。
接下来,CPU 21存储第一数字角速度信号Vxn、第二数字角速度信号Vyn、第一数字角速度VVxn、第二数字角速度VVyn、第一数字位移角Bxn、第二数字位移角Byn、位置Sn在x方向上的坐标Sxn、位置Sn在y方向上的坐标Syn、第一驱动力Dxn、第二驱动力Dyn、位置Pn在A/D转换后在x方向上的坐标pdxn、位置Pn在A/D转换后在y方向上的坐标pdyn、第一减去值exn、第二减去值eyn、第一比例系数Kx、第二比例系数Ky、防抖操作的采样周期θ、第一积分系数Tix、第二积分系数Tiy、第一微分系数Tdx、以及第二微分系数Tdy的值。
基于正被摄像的对象,AE单元23(曝光计算单元)执行测光操作并且计算光度值。AE单元23还计算与光度值有关的曝光的光圈值和持续时间,这两者均为成像所需。AF单元24执行AF传感操作以及相应的对焦操作,这两者均为成像所需。在对焦操作中,相机镜头67沿着光轴LX移动。
摄像设备1的防抖部分(防抖设备)包括防抖按钮14、防抖开关14a、LCD监控器17、CPU 21、角速度检测单元25、驱动器电路29、防抖单元30、霍尔元件信号处理单元45(磁场变化检测元件)以及相机镜头67。
当操作者按下防抖按钮14时,防抖开关14a被设置为ON状态。当防抖开关14a处于ON状态时,成像设备1处于防抖模式,并且防抖参数IS设置为1(IS=1)。当防抖开关14a不处于ON状态时,成像设备1处于非防抖模式,并且防抖参数IS设置为0(IS=0)。在防抖模式中,执行防抖操作。在防抖操作中,独立于例如测光操作的其它操作,角速度检测单元25和防抖单元30的每个被驱动片刻时间。在此实施例中,预定的时间间隔设定为1ms。
CPU 21控制与这些开关的输入信号相对应的各个输出命令。CPU21的端口P12接收表示测光开关12a处于ON还是OFF状态的1比特数字信号。CPU 21的端口P13接收表示释放开关13a处于ON还是OFF状态的1比特数字信号。CPU 21的端口P14接收表示防抖开关14a处于ON还是OFF状态的1比特数字信号。AE单元23、AF单元24和LCD监视器17分别连接到CPU 21的用于I/O的端口P4、P5和P6。
接下来,描述角速度检测单元25、驱动器电路29、防抖单元30和霍尔元件信号处理单元45的细节。
角速度检测单元25具有第一角速度传感器26a、第二角速度传感器26b、第一高通滤波器电路27a、第二高通滤波器电路27b、第一放大器28a和第二放大器28b。
第一角速度传感器26a检测摄像设备1围绕y方向的轴的旋转运动(偏摇)的角速度,即,其检测摄像设备1的角速度在x方向上的速度分量。第一角速度传感器26a是检测偏摇角速度的陀螺仪传感器。
第二角速度传感器26b检测摄像设备1围绕x方向的轴的旋转运动(俯仰)的角速度,即,检测摄像设备1的角速度在y方向上的速度分量。第二角速度传感器26b是检测俯仰角速度的陀螺仪传感器。
第一高通滤波器电路27a减少了从第一角速度传感器26a输出的信号的低频分量,因为从第一角速度传感器26a输出的信号的低频分量包括基于与相机抖动均无关的零电压和全景扫描动作的信号成分。第二高通滤波器电路27b减少了从第二角速度传感器26b输出的信号的低频分量,因为从第二角速度传感器26b输出的信号的低频分量包括基于与相机抖动均无关的零电压和全景扫描动作的信号成分。由第一和第二高通滤波器电路27a和27b执行的处理是模拟高通滤波器处理。
第一放大器28a放大与低频分量已被减少的偏摇角速度有关的信号,并且将模拟信号作为第一角速度vx输出到CPU 21的端口A/D0。第二放大器28b放大与低频分量已被减少的俯仰角速度有关的信号,并且将模拟信号作为第二角速度vy输出到CPU 21的端口A/D1。
低频信号分量的减少是个两步骤处理;首先由第一和第二高通滤波器电路27a和27b执行模拟高通滤波器处理的主要部分,然后由CPU21执行数字高通滤波器处理的次要部分。数字高通滤波器处理的次要部分的截止频率比模拟高通滤波器处理的主要部分的截止频率高。在数字高通滤波器处理中,可以很容易地改变时间常量(第一高通滤波器时间常量hx和第二高通滤波器时间常量hy)的值。
在电源开关11a设置为ON状态(主电源设置为ON状态)之后,开始向CPU 21和角速度检测单元25的每个部分供电。在电源开关11a设置为ON状态并且除尘处理结束后开始计算相机抖动值。
CPU 21将分别输入到端口A/D0和A/D1的第一角速度vx和第二角速度vy转换为第一数字角速度信号Vxn和第二数字角速度信号Vyn。然后通过减少第一数字角速度信号Vxn和第二数字角速度信号Vyn的低频分量(数字高通滤波器处理)来计算第一数字角速度VVxn和第二数字角速度VVyn,因为第一数字角速度信号Vxn和第二数字角速度信号和Vyn的低频分量包括基于与相机抖动均无关的零电压和全景扫描动作的信号成分。而且,通过对第一数字角速度VVxn和第二数字角速度VVyn进行积分(积分处理)来计算相机抖动位移角(第一数字位移角Bxn和第二数字位移角和Byn)。
CPU 21和角速度检测单元25利用一函数来计算相机抖动值。
“n”是比0大的整数并且表示从计时器中断处理开始(t=0,参照图4中的步骤S12)到最近执行防抖操作的时间点(t=n)的时间长度(ms)。
在关于x方向的数字高通处理器处理中,通过用第一角速度VVx0到VVxn-1的总和除以第一高通滤波器时间常量hx来计算第一数字角速度VVxn(在1ms预定时间间隔之前通过计时器中断处理来计算,即,在执行最后一次的防抖操作之前),然后从第一数字角速度信号Vxn中减去所得到的商(VVxn=Vxn-(∑VVxn-1)÷hx)。在关于y方向的数字高通滤波器处理中,与计算VVxn相似的方法来计算第二数字角速度VVyn,给出(VVyn=Vyn-(∑VVyn-1)÷hy)。
在此实施例中,计时器中断处理(一部分)中的角速度检测操作包括通过角速度检测单元25的处理以及将第一角速度vx和第二角速度vy从角速度检测单元25输入到CPU 21的处理。
在关于x方向的积分处理中,通过对在计时器中断处理开始的时间点(t=0)的第一数字角速度VVx0(参照图4中的步骤S12)到在执行最后一次的防抖操作的时间点的第一数字角速度VVxn进行求和来计算第一数字位移角Bxn(t=n;Bxn=∑VVxn)。
相似地,在关于y方向的积分处理中,通过对在计时器中断处理开始的时间点的第二数字角速度VVy0到在执行最后一次的防抖操作的时间点的第二数字角速度VVyn进行求和来计算第二数字位移角Byn(Byn=∑VVyn)。
CPU 21计算成像单元39a(可移动部分30a)应被移动到的位置Sn,其对应于基于位置转换系数zz(用于x方向的第一位置转换系数zx和用于y方向的第二位置转换系数zy)计算的用于x方向和y方向的相机抖动值(第一和第二数字位移角Bxn和Byn)。
位置Sn在x方向上的坐标定义为Sxn,在y方向上的坐标定义为Syn。利用电磁力来执行包括成像单元39a的可移动部分30a的移动,这在下面描述。
驱动力Dn驱动驱动器电路29以将可移动部分30a移动到位置Sn。驱动力Dn在x方向上的坐标定义为第一驱动力Dxn(在D/A转换之后为:第一PWM占空dx)。驱动力Dn在y方向上的坐标定义为第二驱动力Dyn(在D/A转换之后为:第二PWM占空dy)。
第一PWM占空dx为与第一驱动力Dxn相对应的驱动脉冲的占空比。第二PWM占空dy为与第二驱动力Dyn相对应的驱动脉冲的占空比。
第二驱动力Dyn的值用+DD或-DD表示。+DD表示在正y方向上驱动可移动部分30a,即朝着固定部分30b的上端。-DD表示在负y方向上驱动可移动部分30a,即朝着固定部分30b的底端。
然而,将在执行防抖操作前用于除尘处理的第一时间段(220ms)内成像单元39a(可移动部分30a)应被移动的位置Sn设置为与相机抖动值不对应的值(参照图6中的步骤S705)。
例如,在除尘处理的“a”轨迹中,位置Sn设置在固定部分30b的中心。因此,可移动部分30a设置在固定部分30b的中心。在除尘处理的“b”到“d”轨迹中,位置Sn设置在离固定部分30b的顶部和底部中的当前位置最远处。因此,可移动部分30a朝着固定部分30b的顶部或底部移动并且对其撞击。
在关于x方向的定位操作中,位置Sn在x方向上的坐标定义为Sxn,并且是最后一次的第一数字位移角Bxn与第一位置转换系数zx的乘积(Sxn=zx×Bxn)。
在关于y方向的定位操作中,位置Sn在y方向上的坐标定义为Syn,并且是最后一次的第二数字位移角Byn与第二位置转换系数zy的乘积(Syn=zy×Byn)。
通过将成像单元39a移动到位置Sn,通过消除摄像对象图像在成像单元39a的图像传感器的成像表面上的抖动,并且通过稳定在执行防抖操作(IS=1)时的曝光时间过程中显示在图像传感器的成像表面上的摄像对象图像,防抖单元30校正相机抖动。
防抖单元30具有形成了可移动部分30a的移动范围的边界的固定部分30b、以及包括成像单元39a并且可以在xy平面上移动的可移动部分30a。移动范围比抖动校正区域宽,在防抖操作过程中可移动部分30a在抖动校正区域中移动。
在未执行防抖操作(IS=0)时的曝光时间过程中,可移动部分30a被固定到(保持在)预定位置。预定位置是移动范围的中心。
在第一时间段(220ms),在摄像设备1设置为ON状态之后,可移动部分30a被驱动到为移动范围的中心的预定位置。接下来,在y方向上对着移动范围的边界来驱动可移动部分30a。
否则(除了第一时间段和曝光时间之外),不驱动可移动部分30a。
防抖单元30不具有在防抖单元30没有被驱动时(即,驱动OFF状态)用于将其保持在固定位置的固定定位机制。
通过具有从CPU 21的PWM0输入的第一PWM占空dx和从CPU21的PWM1输入的第二PWM占空dy的驱动器电路29的作用,通过用于驱动的线圈和磁性单元的电磁力来执行防抖单元30的可移动部分30a的驱动,包括移动到预定固定位置。
可移动部分30a的位置Pn,在受驱动器电路29影响而移动之前或者之后,由霍尔元件44a和霍尔元件信号处理单元45检测。
与检测位置Pn在x方向的第一坐标有关的信息,换句话说为第一检测位置信号px,被输入到CPU 21的A/D转换器A/D2(参照图6中的(2))。px是要由A/D转换器A/D2转换(A/D转换)为数字信号的模拟信号。通过A/D转换,模拟的px变成数字的pdxn。
相似地,关于y方向,py被输入到CPU 21的A/D转换器A/D3。通过A/D转换,模拟的py变成数字的pdyn。
PID(Proportional Integral Differential,比例积分微分)控制程序基于检测位置Pn(pdxn,pdyn)和随着移动的位置Sn(Sxn,Syn)的坐标数据来计算第一驱动力Dxn和第二驱动力Dyn。
第一驱动力Dxn的计算是基于第一减去值exn、第一比例系数Kx、采样周期θ、第一积分系数Tix以及第一微分系数Tdx(Dxn=Kx×{exn+θ÷Tix×∑exn+Tdx÷θ×(exn-exn-1)})。通过从位置Sn在x方向上的坐标Sxn减去在A/D转换后检测位置Pn在x方向上的第一坐标pdxn来计算第一减去值exn(exn=Sxn-pdxn)。
第二驱动力Dyn的计算是基于第二减去值eyn、第二比例系数Ky、采样周期θ、第二积分系数Tiy以及第二微分系数Tdy(Dyn=Ky×{eyn+θ÷Tiy×∑eyn+Tdy÷θ×(eyn-eyn-1)})。通过从位置Sn在y方向上的坐标Syn减去在A/D转换后检测位置Pn在y方向上的第二坐标pdyn来计算第二减去值eyn(eyn=Syn-pdyn)。
采样周期θ的值设置为1ms的预定时间间隔。
当通过将防抖开关14a设置为ON状态来将摄像设备1设置为防抖模式(IS=1)时,通过PID控制程序的防抖操作将可移动部分30a驱动到位置Sn(Sxn,Syn)。
当防抖参数IS为0时,执行不对应于防抖操作的PID控制程序,以便将可移动部分30a移动到移动范围的中心(预定位置)。
在除尘处理中,从摄像设备1设置为ON状态的时间点到开始防抖操作,顺序地,首先将可移动部分30a移动到移动范围的中心,然后在y方向上移动到移动范围的边界的一侧(主要碰撞),然后在y方向上移动到移动范围的边界的相对侧(次要碰撞),然后在y方向上再次移动到移动范围的边界的原始侧(最后碰撞)。在此期间,可移动部分30a的x坐标不变地保持在中心。
可移动部分30a具有包括第一驱动线圈31a和第二驱动线圈32a的用于驱动的线圈单元、具有图像传感器的成像单元39a以及作用为磁场变化检测元件的霍尔元件44a。在第一实施例中,图像传感器为CCD;然而,图像传感器也可以是例如CMOS等的其它图像传感器。
图像传感器的成像表面的矩形形式具有与x方向平行的两侧和与y方向平行的比x方向两侧短的两侧。
因此,可移动部分30a的移动范围在x方向上比在y方向上大。
固定部分30b具有用于驱动的磁性单元,磁性单元包括第一位置检测及驱动磁体411b、第二位置检测及驱动磁体412b、第一位置检测及驱动轭431b和第二位置检测及驱动轭432b。
固定部分30b在x方向上和y方向上可移动地支撑可移动部分30a。
固定部分30b具有用于吸收在与可移动部分30a的接触点处(在移动范围的边界)的撞击的缓冲部件。
选择缓冲部件的硬度以使相接触的部分,诸如可移动部分30a,不被冲击的震动损坏,但是在可移动部分30a上的任何灰尘被与缓冲部件的冲击的震动去除。
在第一实施例中,缓冲部件连接到固定部分30b;然而,缓冲部件也可以连接到可移动部分30a。
当可移动部分30a被定位在其移动范围在x方向和y方向上的中心时,图像传感器的中心与相机镜头67的光轴LX相交,并且可以利用图像传感器的全成像范围。
作为图像传感器的成像表面的形式的矩形形状具有两条对角线。在第一实施例中,图像传感器的中心在这两条对角线的交点。
第一驱动线圈31a、第二驱动线圈32a以及霍尔元件44a连接到可移动部分30a。
第一驱动线圈31a形成为片状并且是螺旋形,并且在y方向上具有磁场线,因此产生了第一电磁力,用于在x方向上移动包括第一驱动线圈31a的可移动部分30a。
第一电磁力的出现基于第一驱动线圈31a的电流方向和第一位置检测及驱动磁体411b的磁场方向。
第二驱动线圈32a形成为片状并且是螺旋形,并且在x方向上具有磁场线,因此产生了第二电磁力,用于在y方向上移动包括第二驱动线圈32a的可移动部分30a。
第二电磁力的出现基于第二驱动线圈32a的电流方向和第二位置检测及驱动磁体412b的磁场方向。
第一和第二驱动线圈31a和32a连接到驱动器电路29,驱动器电路29通过柔性电路板(未示出)驱动第一驱动线圈31a和第二驱动线圈32a。第一PWM占空dx从CPU 21的PWM0输入到驱动器电路29,并且第二PWM占空dy从CPU 21的PWM1输入到驱动器电路29。驱动器电路29将电能提供给与第一PWM占空dx的值相对应的第一驱动线圈31a,以及与第二PWM占空dy的值相对应的第二驱动线圈32a,以驱动可移动部分30a。
第一位置检测及驱动磁体411b连接到固定部分30b的可移动部分侧,在那里,第一位置检测及驱动磁体411b在z方向上面对第一驱动线圈31a和水平霍尔元件hh10。
第二位置检测及驱动磁体412b连接到固定部分30b的可移动部分侧,在那里,第二位置检测及驱动磁体412b在z方向上面对第二驱动线圈32a和垂直霍尔元件hv10。
在N极和S极布置在x方向上的条件下,第一位置检测及驱动磁体411b连接到第一位置检测及驱动轭431b。第一位置检测及驱动轭431b在z方向上的可移动部分30a一侧连接到固定部分30b。
在N极和S极布置在y方向上的条件下,第二位置检测及驱动磁体412b连接到第二位置检测及驱动轭432b。第二位置检测及驱动轭432b在z方向上的可移动部分30a一侧连接到固定部分30b。
第一位置检测及驱动轭431b和第二位置检测及驱动轭432b由软的磁性材料制成。
第一位置检测及驱动轭431b防止第一位置检测及驱动磁体411b的磁场散到周围,并且提高第一位置检测及驱动磁体411b与第一驱动线圈31a之间、以及第一位置检测及驱动磁体411b与水平霍尔元件hh10之间的磁通量密度。
第二位置检测及驱动轭432b防止第二位置检测及驱动磁体412b的磁场散到周围,并且提高第二位置检测及驱动磁体412b与第二驱动线圈32a之间、以及第二位置检测及驱动磁体412b与垂直霍尔元件hv10之间的磁通量密度。
霍尔元件44a是包括两个磁-电转换元件(磁场变化检测元件)的单轴单元,磁-电转换元件利用霍尔效应来检测确定了可移动部分30a的当前位置Pn分别在x方向上的第一坐标和y方向上的第二坐标的第一检测位置信号px和第二检测位置信号py。
所述两个霍尔元件的一个为水平霍尔元件hh10,用于检测可移动部分30a的位置Pn在x方向上的第一坐标,另一个为垂直霍尔元件hv10,用于检测可移动部分30a的位置Pn在y方向上的第二坐标。
水平霍尔元件hh10连接到可移动部分30a,在那里,水平霍尔元件hh10在z方向上面对固定部分30b的第一位置检测及驱动磁体411b。
垂直霍尔元件hv10连接到可移动部分30a,在那里,垂直霍尔元件hv10在z方向上面对固定部分30b的第二位置检测及驱动磁体412b。
当图像传感器的中心与光轴LX交叉时,当在z方向看时,期望水平霍尔元件hh10定位在霍尔元件44a上,霍尔元件44a面对在第一位置检测及驱动磁体411b在x方向上的N极和S极之间的中间区域。在此位置,水平霍尔元件hh10利用可以基于单轴霍尔元件的线性输出变化(线性度)来执行准确的位置检测操作的最大范围。
相似地,当图像传感器的中心与光轴LX交叉时,当在z方向看时,期望垂直霍尔元件hv10定位在霍尔元件44a上,霍尔元件44a面对在第二位置检测及驱动磁体412b在y方向上的N极和S极之间的中间区域。
霍尔元件信号处理单元45具有第一霍尔元件信号处理电路450和第二霍尔元件信号处理电路460。
第一霍尔元件信号处理电路450基于水平霍尔元件hh10的输出信号来检测水平霍尔元件hh10的输出端子之间的水平势差x10。
第一霍尔元件信号处理电路450基于水平势差x10将第一检测位置信号px输出到CPU 21的A/D转换器A/D2,第一检测位置信号px确定了可移动部分30a的位置Pn在x方向上的第一坐标。
第二霍尔元件信号处理电路460基于垂直霍尔元件hv10的输出信号来检测垂直霍尔元件hv10的输出端子之间的垂直势差y10。
第二霍尔元件信号处理电路460基于垂直势差y10将第二检测位置信号py输出到CPU 21的A/D转换器A/D3,第二检测位置信号py确定了可移动部分30a的位置Pn在y方向上的第二坐标。
接下来,利用图4的流程图来说明第一实施例中的摄像设备1的主要处理。
在步骤S11,当摄像设备1被设置为ON状态时,电能被供给到角速度检测单元25,以使角速度检测单元25被设置为ON状态。
在步骤S12,开始预定时间间隔(1ms)的计时器中断处理。在步骤S13,释放状态参数RP的值设置为0。在后面用图5的流程图来说明计时器中断处理的详情。
在步骤S14,除尘状态参数GP的值设置为1;除尘时间参数CNT的值设置为0;并且通道参数设置为a。
在步骤S15,确定除尘时间参数CNT的值是否大于220。步骤S15被设置为等待,直到计时器中断处理结束。除尘时间参数CNT是完成计时器中断处理所需的时间。在此实施例中,考虑到计时器中断处理的完成时间以及防抖单元30的个体差异,使用了220ms。
在步骤S15,确定除尘时间参数CNT的值是否大于220。当确定除尘时间参数CNT的值大于220时,处理继续到步骤S16;否则重复步骤S15中的处理。
在步骤S16,除尘状态参数GP的值设置为0。
在步骤S17,确定测光开关12a是否设置为ON状态。当确定测光开关12a设置为ON状态时,处理继续到步骤S18;否则重复步骤S17中的处理。
在步骤S18,确定防抖开关14a是否设置为ON状态。当确定防抖开关14a没有设置为ON状态时,在步骤S19将防抖参数IS的值设置为0;否则,在步骤S20将防抖参数IS的值设置为1。
在步骤S21,驱动AE单元23的AE传感器,执行测光操作,并且计算光圈值和曝光时间。
在步骤S22,驱动AF单元24的AF传感器和镜头控制电路以分别执行AF传感和对焦操作。
在步骤S23,确定释放开关13a是否设置为ON状态。当确定释放开关13a没有设置为ON状态时,处理返回到步骤S17并且重复步骤S17到步骤S22的处理;否则,处理继续到步骤S24并且开始释放顺序操作。
在步骤S24,释放状态参数RP的值设置为1。在步骤S25,由反射镜光圈快门单元18执行反射镜上升(mirror-up)操作和与预设的或者计算的光圈值相对应的光圈关闭操作。
在反射镜上升操作完成之后,在步骤S26开始快门的打开操作(快门的前帘幕的移动)。
在步骤S27,执行曝光操作,或者换句话说,图像传感器(CCD等)的电荷积聚。在经过了曝光时间之后,在步骤S28,由反射镜光圈快门单元18执行快门的关闭操作(快门的后帘幕的移动)、反射镜下降(mirror-down)操作以及光圈的打开操作。
在步骤S29,读取在曝光时间过程中积聚在图像传感器中的电荷。在步骤S30,CPU 21与DSP 19通信,以便基于从图像传感器读取的电荷来执行成像处理。执行了图像处理的图像被存储在摄像设备1的存储器中。在步骤S31,存储在存储器中的图像显示在LCD监视器17上。在步骤S32,释放状态参数RP的值设置为0,并且释放顺序操作完成。此后,接着处理返回到步骤S17。换句话说,摄像设备1设置为可以执行下一次成像操作的状态。
接下来,参照图5的流程图来描述在图4的步骤S12中开始并且以每1ms的时间间隔执行的计时器中断处理。
当计时器中断处理开始时,在步骤S50,确定除尘状态参数GP的值是否设置为1。当确定除尘状态参数GP的值设置为1时,处理继续到步骤S51;否则,处理直接行进到步骤S52。
在步骤S51,执行除尘处理。在后面利用图6的流程图来说明除尘处理的详情。
在步骤S52,将角速度检测单元25输出的第一角速度vx输入到CPU 21的A/D转换器A/D0,并且转换为第一数字角速度信号Vxn。也将角速度检测单元25输出的第二角速度vy输入到CPU 21的A/D转换器A/D1,并且转换为第二数字角速度信号Vyn(角速度检测处理)。
在数字高通滤波器处理(第一数字角速VVxn和第二数字角速VVyn)中减少第一数字角速度信号Vxn和第二数字角速度信号Vyn的低频。
在步骤S53,确定释放状态参数RP的值是否设置为1。当确定释放状态参数RP的值没有设置为1时,可移动部分30a的驱动控制设置为OFF状态。换句话说,在步骤S54,防抖单元30设置为不执行可移动部分30a的驱动控制的状态;否则,处理直接行进到步骤S55。
在步骤S55,霍尔元件44a检测可移动部分30a的位置,并且通过霍尔元件信号处理单元45来计算第一检测位置信号px和第二检测位置信号py。然后,将第一检测位置信号px输入到CPU 21的A/D转换器A/D2,并且转换为数字信号pdxn,而将第二检测位置信号py输入到CPU 21的A/D转换器A/D3,并且也转换为数字信号pdyn,因此这两者确定了可移动部分30a的当前位置Pn(pdxn,pdyn)。
在步骤S56,确定防抖参数IS的值是否为0。当确定防抖参数IS的值为0时(换句话说,当摄像设备不处于防抖模式时),在步骤S57,将可移动部分30a(成像单元39a)应被移动到的位置Sn(Sxn,Syn)设置为可移动部分30a的移动范围的中心。当确定防抖参数IS的值不为0(IS=1)时(换句话说,当摄像设备处于防抖模式时),在步骤S58,基于第一角速度vx和第二角速度vy来计算可移动部分30a(成像单元39a)应被移动到的位置Sn(Sxn,Syn)。
在步骤S59,基于在步骤S57或步骤S58中确定的位置Sn(Sxn,Syn)及当前位置Pn(pdxn,pdyn)来计算将可移动部分30a移动到位置Sn的驱动力Dn的第一驱动力Dxn(第一PWM占空dx)和第二驱动力Dyn(第二PWM占空dy)。
在步骤S60,通过将第一PWM占空dx施加到驱动器电路29来驱动第一驱动线圈单元31a,并且通过将第二PWM占空dy施加到驱动器电路29来驱动第二驱动线圈单元32a,以便将可移动部分30a移动到位置Sn(Sxn,Syn)。
步骤S59和S60的处理是利用了执行一般的成比例、积分和微分计算的PID自动控制的自动控制计算。
接下来,利用图6到9的流程图来说明在图5的步骤S51中开始的除尘处理。
当除尘处理开始时,在步骤S701,除尘时间参数CNT的值加1。
在步骤S702,霍尔元件44a检测可移动部分30a的位置,并且通过霍尔元件信号处理单元45计算第一检测位置信号px和第二检测位置信号py。然后,将第一检测位置信号px输入到CPU 21的A/D转换器A/D2,并且转换为数字信号pdxn,而将第二检测位置信号py输入到CPU 21的A/D转换器A/D3,并且也转换为数字信号pdyn,因此这两者确定了可移动部分30a的当前位置Pn(pdxn,pdyn)。
在步骤S703,确定通道参数CH的值是否是a。在主处理的步骤S14中,通道参数设置为a。因此,处理行进到步骤S704,并且确定除尘时间参数CNT的值是否小于或等于65。
通过加上可移动部分30a从其当前位置移动到固定部分30b的中心所需的最大时间,即考虑到防抖单元30的个体差异,可移动部分30a从角上移动到固定部分30b的中心所需的时间,来计算除尘时间参数CNT的阈值。因此,阈值计算为65。当通道参数CH的值为a并且除尘时间参数CNT小于或等于65时,可移动部分30a可能还未在固定部分30b的中心。换句话说,当通道参数CH的值为a并且除尘时间参数CNT大于65时,可移动部分30a在固定部分30b的中心。
在步骤S704,当除尘时间参数CNT的值小于或等于65时,处理行进到步骤S705。
在步骤S705,将可移动部分30a(成像单元39a)应被移动到的位置Sn(Sxn,Syn)设置为可移动部分30a的移动范围的中心。
在步骤S706,利用根据当前位置Pn(pdxn,pdyn)在步骤S705中确定的位置Sn(Sxn,Syn)来计算移动可移动部分30a的驱动力Dn。此计算与计时器中断处理的步骤S59中的相同。
在步骤S707,通过执行与计时器中断处理的步骤S60中的相同处理来移动可移动部分30a。然后,除尘处理结束,并且处理返回到计时器中断处理(子程序返回)。
每隔1毫秒(片刻时间)来重复执行计时器中断处理。因此,也重复执行除尘处理,直到在主处理的步骤S16中除尘状态参数GP设置为0。
当除尘处理再次开始时,在步骤S701,除尘时间参数CNT的值加1,变成2。然后,执行步骤S702和S703。在此处,处理行进到步骤S704,因为通道参数CH的值仍是a。
在步骤S704,确定除尘时间参数CNT的值是否小于或等于65。如前所述,通道参数在步骤S14中设置为a,所以处理行进到步骤S705并且通过S706和S707结束(子程序返回)。然后,在计时器中断处理中再次执行除尘处理。
重复执行S701到S707,直到除尘时间参数CNT变得大于65。在除尘时间参数CNT在步骤S704变得大于65的情况中,处理行进到步骤S708。注意可移动部分30a放置在固定部分30b的中心。
在步骤S708,第二PWM占空dy的值设置为-DD。设置值DD,即绝对值|+DD|和|-DD|,以使可移动部分30a在当可移动部分30a移动并且对着可移动部分30a的移动范围的边界撞击时的时间点处的加速度增加到可移动部分30a上的灰尘能够被冲击的震动去除的程度。
在步骤S82,第二PWM占空dy的值设置为+DD。
在步骤S709,通道参数CH的值设置为b。值b表示可移动部分30a在b轨迹中。注意为了方便起见,此时通道参数CH的值设置为b,而图7中此时可移动部分30a在a轨迹中。然后,处理行进到步骤S710。
在步骤S710,位置Sn在x方向上的坐标Sxn,即可移动部分30a在x方向上应被移动到的位置,被设置为可移动部分30a在x方向上的移动范围的中心。
在步骤S711,基于在步骤S710中确定的位置Sn在x方向上的坐标Sxn,以及当前位置Pn在x方向上的坐标pdxn来计算第一驱动力Dxn(第一PWM占空dx)。通过向第一驱动线圈单元31a提供电流,需要第一驱动力Dxn,即,使得可移动部分30a在x方向上移动的驱动力Dn,以移动可移动部分30a。
在步骤S712,通过将步骤S80中计算的第一PWM占空dx施加到驱动器电路29来驱动第一驱动线圈单元31a,并且通过将第二PWM占空dy施加到驱动器电路29来驱动第二驱动线圈单元32a,以便移动可移动部分30a。可移动部分30a沿着x方向朝着可移动范围的中心移动,并且朝着固定部分30b的底部移动,即沿着负y方向移动。此后,处理结束,并且在计时器中断处理中再次执行除尘处理。
当除尘处理再次开始时,在步骤S701,除尘时间参数CNT的值加1,因此变成66。然后,执行步骤S702、S703和S720。在此处,处理行进到步骤S721,因为通道参数CH的值是b。
在步骤S721,通过CPU 21来计算可移动部分30a的移动方向。CPU 21检测可移动部分30a在y方向上的位移,以便检测可移动部分30a的移动方向。利用来自垂直霍尔元件hv10的输出信号来测量位移。在最后的步骤S712中,可移动部分30a开始朝着固定部分30b的底部移动。在可移动部分30a在负y方向上移动时,即朝着固定部分30b的底部移动时,CPU 21可以确定可移动部分30a正在朝着固定部分30b的底部移动。因此,不执行步骤S722和S723,并且第二PWM占空dy的值保持为在步骤S708中设置的-DD。然后,在步骤S712,可移动部分30a在负y方向上移动,即朝着固定部分30b的底部的方向移动。此后,处理结束,并且在计时器中断处理中再次执行除尘处理。重复这些处理,可移动部分30a撞击固定部分30b的底部(参照图7)。
当可移动部分30a撞击固定部分30b的底部时,可移动部分30a被冲击反弹。因此,可移动部分30a的移动方向变为正y方向,即朝着固定部分30b的顶部的方向。如所执行的除尘处理,在步骤S721中,确定可移动部分30a的移动方向是否在正y方向,即是否朝着固定部分30b的顶部的方向。CPU 21记录可移动部分30a在y方向上的位移。通过CPU 21从来自垂直霍尔元件hv10的输出信号来测量所述位移。在可移动部分30a在正y方向的情况中,执行步骤S722和S723,因为CPU 21可以确定可移动部分30a撞击了固定部分30b的底部并且反弹。
在可移动部分30a的移动方向在步骤S721是正y方向的情况中,在步骤S722,第二PWM占空dy的值保持为+DD。如前所述,+DD表示可移动部分30a已在正y方向上移动,即朝着固定部分30b的顶部的方向移动。
在下一个步骤S723,通道参数CH的值设置为c。值c表示可移动部分30a在图7中处于c轨迹中。被冲击反弹的可移动部分30a处于图7的c轨迹中。然后,处理行进到步骤S710,并且如前所述执行步骤S710到S711。
在步骤S712,根据第一PWM占空dx通过驱动器电路29将电压施加到第一驱动线圈单元31a,并且根据第二PWM占空dy通过驱动器电路29将电压施加到第二驱动线圈单元32a,以便移动可移动部分30a。在步骤S721确定可移动部分30a朝着固定部分30b的顶部移动的情况中,在步骤S712,可移动部分30a在正y方向上移动,即朝着固定部分30b的顶部移动。通过将在步骤S712中由从固定部分30b的底部反弹的可移动部分30a产生的加速度,与步骤S721中的处理所产生的加速度相加来计算可移动部分30a的加速度。换句话说,通过将同一方向上的两个加速度相加来计算可移动部分30a的加速度(参照图7和8)。因此,可移动部分30a通过比单独由第二驱动线圈单元32a产生的加速度大的加速度在y方向上移动。注意,通过处理步骤S710到S712,可移动部分30a被固定在可移动范围在x方向上的中心(参照图9)。此后,处理结束,并且在计时器中断处理中再次执行除尘处理。
当再次开始除尘处理时,在步骤S701,除尘时间参数CNT的值加1,并且在步骤S702计算当前位置Pn(pdxn,pdyn)。在此处,通道参数CH的值是c,因此如果在步骤S730确定CH等于c,则处理行进到步骤S731。
在步骤S731,由CPU 21检测可移动部分30a的移动方向。在最后的步骤S712,可移动部分30a开始朝着固定部分30b的顶部移动。在可移动部分30a在正y方向上移动,即朝着固定部分30b的顶部移动的方向移动的情况中,CPU 21可以确定可移动部分30a朝着固定部分30b的顶部移动。因此,不执行步骤S732和S733,并且第二PWM占空dy的值保持为在步骤S722中设置的+DD。
然后,在步骤S712,可移动部分30a在正y方向上移动,即朝着固定部分30b的顶部的方向移动。此后,处理结束,并且在计时器中断处理中再次执行除尘处理。重复此处理,可移动部分30a撞击固定部分30b的顶部(参照图7)。
当可移动部分30a撞击固定部分30b的顶部时,其被冲击反弹。因此,可移动部分30a的移动方向改变为负y方向,即朝着固定部分30b的底部的方向移动。
如所执行的除尘处理,在步骤S731确定可移动部分30a的移动方向是否为负y方向。
在可移动部分30a的移动方向为负y方向的情况下,CPU 21可以确定可移动部分30a撞击固定部分30b的顶部并且反弹。因此,执行步骤S732和S733。
在可移动部分30a在步骤S731的移动为负y方向的情况下,在步骤S732,第二PWM占空dy的值保持为-DD。如前所述,-DD表示可移动部分30a在负y方向上移动,即朝着固定部分30b的底部的方向移动。
在下一个步骤S733,通道参数CH的值设置为d。值d表示可移动部分30a在图7的d轨迹中。因此,在此处,被冲击反弹的可移动部分30a在图7的d轨迹中。然后,处理行进到步骤S710,并且如前所述执行步骤S710到S711。
在下一个步骤S712,根据第一PWM占空dx通过驱动器电路29将电压施加到第一驱动线圈单元31a,并且根据第二PWM占空dy通过驱动器电路29将电压施加到第二驱动线圈单元32a,以便移动可移动部分30a。在步骤S721确定可移动部分30a朝着固定部分30b的底部移动的情况中,在步骤S712,可移动部分30a在负y方向上移动,即朝着固定部分30b的底部移动。
通过将在步骤S712中由从固定部分30b的顶部反弹的可移动部分30a产生的加速度,与步骤S721中的处理所产生的加速度相加来计算可移动部分30a的加速度。换句话说,通过将同一方向上的两个加速度相加来计算可移动部分30a的加速度(参照图7)。因此,可移动部分30a通过比单独由第二驱动线圈单元32a产生的加速度大的加速度在y方向上移动。
此后,处理结束,并且在计时器中断处理中再次执行除尘处理。
当再次开始除尘处理时,在步骤S701,除尘时间参数CNT的值加1。处理通过步骤S740行进到步骤S741,因为在此处通道参数CH的值是d。
在步骤S741,由CPU 21检测可移动部分30a的移动方向。在最后的步骤S712,可移动部分30a开始朝着固定部分30b的底部移动。在可移动部分30a的移动方向为负y方向,即朝着固定部分30b的底部的方向移动的情况中,CPU 21可以确定可移动部分30a正在朝着固定部分30b的底部移动。因此,不执行步骤S742和S743,并且第二PWM占空dy的值保持为在步骤S732中设置的-DD。
然后,在步骤S712,可移动部分30a在负y方向上移动,即朝着固定部分30b的底部的方向移动。此后,处理结束,并且在计时器中断处理中再次执行除尘处理。重复此处理,可移动部分30a撞击固定部分30b的底部(参照图7)。
当可移动部分30a撞击固定部分30b的底部时,可移动部分30a被冲击反弹。因此,可移动部分30a的移动方向变为正y方向,即朝着固定部分30b的顶部的方向。
如所执行的除尘处理,在步骤S741确定可移动部分30a的移动方向是否为正y方向,即是否朝着固定部分30b的顶部的方向。
在可移动部分30a的移动方向为正y方向的情况下,CPU 21可以确定可移动部分30a撞击了固定部分30b的底部并且反弹。因此,执行步骤S742和S743。
在可移动部分30a的移动方向在步骤S741中为朝向固定部分30b的顶部的情况下,在步骤S742,第二PWM占空dy的值保持为+DD。
在下一个步骤S743,通道参数CH的值设置为e。用当前除尘时间参数CNT来替换第二除尘时间参数CNT2。
值e表示可移动部分30a在图7的e轨迹中。因此,在此处,被冲击反弹的可移动部分30a在图7的e轨迹中。然后,处理行进到步骤S710,并且如前所述执行步骤S710到S711。
在下一个步骤S712,根据第一PWM占空dx通过驱动器电路29将电压施加到第一驱动线圈单元31a,并且根据第二PWM占空dy通过驱动器电路29将电压施加到第二驱动线圈单元32a,以便移动可移动部分30a。当在步骤S741确定可移动部分30a朝着固定部分30b的顶部移动时,在步骤S712,可移动部分30a在负y方向上移动,即朝着固定部分30b的底部移动。注意,通过将在最后的步骤S712中由从固定部分30b的底部反弹的可移动部分30a产生的加速度,与步骤S721中的处理所产生的加速度相加来计算可移动部分30a的加速度。换句话说,通过将不同方向上的两个加速度相加来计算可移动部分30a的加速度(参照图7)。因此,可移动部分30a的速度减小,以便抑制可移动部分30a反弹离开固定部分30b的底部。
此后,处理结束,并且在计时器中断处理中再次执行除尘处理。
当再次开始除尘处理时,在步骤S701,除尘时间参数CNT的值加1。在此处,处理行进到步骤S750,因为通道参数CH的值是e。
在步骤S750,确定从第二除尘时间参数CNT2减去了除尘时间参数CNT的值是否小于或等于20。在所述值小于或等于20的情况中,再次执行步骤S710到S712,以便可移动部分30a朝着固定部分30b的底部移动。然后,程序结束并且在计时器中断处理中再次执行除尘处理。
当再次开始除尘处理时,在步骤S701,除尘时间参数CNT的值加1。然后,执行步骤S702、S703、S720、S730、S740和S750。在步骤S750,再次确定从第二除尘时间参数CNT2减去了除尘时间参数CNT的值是否小于或等于20。在所述值大于20的情况中,处理行进到步骤S760。因此可移动部分30a被保持为靠着固定部分30b的底部。
在下一个步骤S760中,可移动部分30a处于驱动OFF状态。
根据此实施例,利用与固定部分30b的撞击而产生的反弹来移动可移动部分30a,以便可移动部分30a通过比单独由第二驱动线圈单元32a产生的加速器大的加速度移动。
而且,传统的图像摄取装置可能具有从可移动部分30a撞击它们的固定部分30b的时刻开始的延迟,直到下一次移动。这是由于因为个体差异的移动周期之间所需的误差补偿所致。根据此实施例,不需要等待,所以缩短了除尘操作的总体执行时间。
注意,可移动部分30a和固定部分30b的冲击不限于三次,可以是大于或等于1的任何次数。在此情况下,根据冲击的次数来执行步骤S720到S723或者步骤S730到S733。
在除尘操作中,可移动部分30a可以被保持在y方向上的中心并且在x方向上移动。可移动部分30a的可移动范围在x方向上比在y方向长。
而且,在开始除尘操作时可移动部分30a被移动到的位置不限于可移动部分30a的可移动范围的中心。其可以是可移动部分30a不与可移动部分30a的移动范围的边界接触的任何位置。
此外,已经说明霍尔元件作为磁场变化检测元件用于位置检测。然而,其它的检测元件,诸如高频载流型磁场传感器的MI(磁阻)传感器;磁共振型磁场检测元件;或者MR(磁电阻效应)元件也可以用于位置检测目的。当使用了MI传感器、磁共振型磁场检测元件或者MR元件中的一个时,与利用霍尔元件相似,可以通过检测磁场变化来获得与可移动部分30a的位置有关的信息。
尽管在这里参照附图描述了本发明的实施例,显然,本领域技术人员可以做出很多修改和变化,而不偏离本发明的范围。