JP2000221381A - Photographing lens device - Google Patents
Photographing lens deviceInfo
- Publication number
- JP2000221381A JP2000221381A JP11024857A JP2485799A JP2000221381A JP 2000221381 A JP2000221381 A JP 2000221381A JP 11024857 A JP11024857 A JP 11024857A JP 2485799 A JP2485799 A JP 2485799A JP 2000221381 A JP2000221381 A JP 2000221381A
- Authority
- JP
- Japan
- Prior art keywords
- lens
- data
- value
- command
- driving
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Lens Barrels (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、テレビジョン撮影
などに用いられるテレビ用撮影レンズに関するものであ
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a photographing lens for a television used for photographing a television.
【0002】[0002]
【従来の技術】従来、放送用テレビカメラシステムにお
いては、カメラ−レンズ間インターフェースとしてアナ
ログ信号にて通信を行ってきた。例えば、フォーカス・
レンズやアイリス(IRIS)の位置を決めたり、ズー
ム・レンズの速度を決めたりする電圧をレンズに指定す
ることで、レンズ・システムの制御を行ったり、逆にフ
ォーカス・レンズやズーム・レンズ、IRISの位置を
示す電圧をカメラ側に送ることで、レンズの情報を伝え
ている。2. Description of the Related Art Conventionally, in a television camera system for broadcasting, communication has been performed by analog signals as an interface between a camera and a lens. For example, focus
The voltage of the lens or the iris (IRIS) is determined, or the speed of the zoom lens is specified to the lens to control the lens system. Conversely, the focus lens, the zoom lens, the IRIS The lens information is transmitted by sending a voltage indicating the position to the camera.
【0003】レンズ内で生成されるレンズ駆動用指令値
は、電源変動や環境変化(温度変化など)によるリファ
レンスの変動に対応するように、レンズ内で作られたリ
ファレンス電圧をもとに作られるよう構成されているた
め、このレンズ駆動用指令値は、レンズ・システムの認
識範囲を越えることはない。A lens driving command value generated in the lens is generated based on a reference voltage generated in the lens so as to correspond to a reference fluctuation due to power supply fluctuation or environmental change (temperature change, etc.). With such a configuration, the lens driving command value does not exceed the recognition range of the lens system.
【0004】このように、レンズがある決まった範囲の
指令により駆動されているシステムにおいては、カメラ
などがこの範囲内で指令を行うように規定されている
が、カメラなどからの制御指令がレンズ・システムにお
ける制御範囲を越えるような場合でも、レンズ・システ
ムは制御指令に従うように構成されている。As described above, in a system in which a lens is driven by a command within a certain range, a camera or the like is specified to issue a command within this range. -Even if the control range of the system is exceeded, the lens system is configured to follow the control command.
【0005】さらに、アナログ信号では制御対象の増加
にともない信号ピン等の増設や精度に限界がきてしまう
ため、近年、カメラ−レンズ間の通信機能としてシリア
ル・インターフェースを用いる傾向がある。Further, in analog signals, since the number of signal pins and the like and the accuracy of the control become limited as the number of control objects increases, a serial interface has recently been used as a communication function between a camera and a lens.
【0006】[0006]
【発明が解決しようとする課題】しかしながら、カメラ
−レンズ間の通信機能としてシリアル・インターフェー
スを用いた上記従来例では、カメラ側の指令ミスや通信
ラインへのノイズなどにより、レンズ・システムの制御
範囲を超えるような指令データをカメラなどから受け取
った場合、レンズ・システムが機械端にぶつかり、音が
発生したり打痕がついたりする場合がある。However, in the above-mentioned conventional example using a serial interface as a communication function between the camera and the lens, the control range of the lens system is affected by a command error on the camera side or noise on the communication line. If command data that exceeds the limit is received from a camera or the like, the lens system may hit the machine end, generating a sound or making a dent.
【0007】また、シリアル・インターフェースを用
い、レンズ駆動指令がデジタル・データとして与えられ
る場合、レンズ・システムの制御範囲を越えるような指
令データが送信されると、レンズ・システムが認識でき
ない範囲をそのまま使用することが生じ、レンズ・シス
テムが機械端にぶつかり、音が発生したり打痕がついた
りする可能性がありうる。Further, when a lens drive command is given as digital data using a serial interface, if command data exceeding the control range of the lens system is transmitted, the range which cannot be recognized by the lens system remains unchanged. Use may occur, and the lens system may hit the machine edge, producing noise or dents.
【0008】[0008]
【課題を解決するための手段】本発明の撮影用レンズ装
置の第1の構成は、移動可能な光学手段と、前記光学手
段を駆動する駆動手段と、前記駆動手段を制御する駆動
制御手段とを有する撮影用レンズ装置において、前記駆
動制御手段は、入力される目標位置を所定範囲内の位置
に制限する目標位置制限手段を有するものである。A first configuration of a photographing lens apparatus according to the present invention comprises a movable optical unit, a driving unit for driving the optical unit, and a driving control unit for controlling the driving unit. Wherein the drive control means has target position limiting means for limiting the input target position to a position within a predetermined range.
【0009】本発明の撮影用レンズ装置の第2の構成
は、移動可能な光学手段と、前記光学手段を駆動する駆
動手段と、前記駆動手段を制御する駆動制御手段とを有
し、カメラ装置に装着されて使用される撮影用レンズ装
置において、前記駆動制御手段は、前記カメラ装置から
入力される目標位置を所定範囲内の位置に制限する目標
位置制限手段を有するものである。A second configuration of the photographing lens device according to the present invention includes a movable optical unit, a driving unit for driving the optical unit, and a driving control unit for controlling the driving unit, and a camera device. In the photographing lens device used by being mounted on the camera device, the drive control unit includes a target position limiting unit that limits a target position input from the camera device to a position within a predetermined range.
【0010】本発明の撮影用レンズ装置の第3の構成
は、前記所定範囲を前記光学部材の機械的な可動範囲内
に設定したものである。In a third configuration of the photographic lens device according to the present invention, the predetermined range is set within a mechanically movable range of the optical member.
【0011】本発明の撮影用レンズ装置の第4の構成
は、前記目標位置が前記所定範囲内の位置でない場合に
は、前記目標位置を前記目標位置に最も近い前記所定範
囲内の最も外側の位置に置換するようにしたものであ
る。According to a fourth configuration of the photographic lens device of the present invention, when the target position is not a position within the predetermined range, the target position is set to an outermost position within the predetermined range closest to the target position. The position is replaced.
【0012】本発明の撮影用レンズ装置の第5の構成
は、所定の範囲の値のデータに応じて光学手段を所定範
囲内で駆動する駆動手段を有し、駆動位置を示すデータ
を設定する設定手段からのデータに基づいて駆動手段に
より光学手段を該データに応じた位置に駆動する撮影用
レンズ装置において、前記設定手段に設定されるデータ
が前記所定の範囲外の値のデータの時、該データを前記
所定範囲内の値に変更する変更手段を設け、前記データ
が所定の範囲外の値のデータの時変更されたデータに応
じて前記駆動手段を駆動するようにしたものである。A fifth configuration of the photographing lens device according to the present invention includes a driving unit that drives the optical unit within a predetermined range in accordance with data of a predetermined range, and sets data indicating a driving position. In a photographing lens device that drives an optical unit to a position corresponding to the data by a driving unit based on data from a setting unit, when data set in the setting unit is data having a value outside the predetermined range, A change means for changing the data to a value within the predetermined range is provided, and when the data is data having a value outside the predetermined range, the driving means is driven in accordance with the changed data.
【0013】本発明の撮影用レンズ装置の第6の構成
は、上記第5の構成において、前記所定の範囲のデータ
は、第1の値と該第1の値よりも大きな第2の値までの
データであり、前記設定手段からの駆動位置を表すデー
タが前記第1の値よりも小さな値を示す時、前記変更手
段は、設定されたデータを前記第1の値のデータに変更
するように下ものである。According to a sixth aspect of the present invention, in the fifth aspect, in the fifth aspect, the data in the predetermined range includes a first value and a second value larger than the first value. When the data indicating the drive position from the setting means indicates a value smaller than the first value, the changing means changes the set data to the data of the first value. Below.
【0014】本発明の撮影用レンズ装置の第7の構成
は、上記第5または第6の構成において、前記設定手段
からの駆動位置を表すデータが前記第2の値よりも大き
な値を示す時、前記変更手段は、設定されたデータを前
記第2の値のデータに変更するようにしたものである。According to a seventh aspect of the present invention, there is provided a photographic lens device according to the fifth or sixth aspect, wherein the data indicating the drive position from the setting means indicates a value larger than the second value. The changing means changes the set data to the data of the second value.
【0015】本発明の撮影用レンズ装置の第8の構成
は、上記第5、6または第7の構成において、前記設定
手段は、レンズの駆動位置を表すデータを前記所定の範
囲を超える範囲で設定するようにしたものである。An eighth configuration of the photographing lens device according to the present invention, in the fifth, sixth or seventh configuration, wherein the setting means sets the data representing the lens driving position in a range exceeding the predetermined range. It is something to set.
【0016】[0016]
【発明の実施の形態】(第1の実施の形態)図1〜図2
4は本発明の第1の実施の形態を示し、図3が本実施の
形態の動作のメインルーチンを示すフローチャートであ
り、図3中のステップ304のサブルーチンを示す図6
におけるステップ608のサブルーチンである図7のフ
ローチャート(その変形例を示す図8のフローチャー
ト)、および図6におけるステップ605のサブルーチ
ンである図22のフローチャートにおける「停止目標位
置制限処理:Larget Lmt」が本実施の形態の
特徴的な処理である。そして、このLarget Lm
tの処理を図23のフローチャートに示す。(First Embodiment) FIGS. 1 and 2
4 shows the first embodiment of the present invention, and FIG. 3 is a flowchart showing a main routine of the operation of the present embodiment. FIG. 6 shows a subroutine of step 304 in FIG.
7 is a subroutine of Step 608 in FIG. 7 (a flowchart of FIG. 8 showing a modification thereof), and the subroutine of Step 605 in FIG. This is a characteristic process of the embodiment. And this Large Lm
The processing of t is shown in the flowchart of FIG.
【0017】図1は本発明の第1の実施の形態を示す光
学装置のブロック図である。101は撮影のためのレン
ズ部で、120はレンズ部101の光学系を通して撮影
するカメラ部である。FIG. 1 is a block diagram of an optical device showing a first embodiment of the present invention. Reference numeral 101 denotes a lens unit for photographing, and reference numeral 120 denotes a camera unit for photographing through the optical system of the lens unit 101.
【0018】102はレンズ部101を管理しサーボ系
のコントロールを行う第1制御装置(以下aCPUと略
す)、103はaCPU102がレンズ部101のシス
テムを管理するためのタイマ、104はモータ105を
駆動するためのドライバ、106はモータ105に接続
された光学レンズ、107は光学レンズ106の位置を
検出するためのエンコーダ、107はエンコーダ106
からの出力をカウントするためのカウンタである。Reference numeral 102 denotes a first control device (hereinafter abbreviated as aCPU) for managing the lens unit 101 and controlling the servo system; 103, a timer for the aCPU 102 to manage the system of the lens unit 101; 106 is an optical lens connected to the motor 105, 107 is an encoder for detecting the position of the optical lens 106, and 107 is an encoder 106
This is a counter for counting the output from.
【0019】109は光学レンズ106を手動で動かす
ための手動操作部である。カウンタ108やタイマ10
3は、aCPU102に接続されているため、aCPU
102はカウンタ108の値やタイマ103の値を用い
ることにより、光学レンズ106の位置や速度を知るこ
とが可能となっている。Reference numeral 109 denotes a manual operation unit for manually moving the optical lens 106. Counter 108 and timer 10
3 is connected to the aCPU 102,
Reference numeral 102 indicates the position and speed of the optical lens 106 by using the value of the counter 108 and the value of the timer 103.
【0020】110は光学レンズ106の駆動開始を行
うための開始スイッチ(START−SW)、111は
レンズ部101の状態を示すための表示部である。Reference numeral 110 denotes a start switch (START-SW) for starting driving of the optical lens 106, and reference numeral 111 denotes a display unit for indicating the state of the lens unit 101.
【0021】112はレンズ部の制御をリモート・モー
ド(カメラ側の指令により行うモード)で行うか、ロー
カル・モード(レンズ側の指令により行うモード)で行
うかを選択するローカル・リモート選択スイッチ(R/
L−SW)であり、113はレンズ部101で使用する
ためのデータを保持しておく書き換え可能な不揮発性メ
モリ(EERPORM)である。Reference numeral 112 denotes a local / remote selection switch (selecting whether to control the lens unit in a remote mode (mode performed by a command on the camera side) or a local mode (mode performed by a command on the lens side). R /
L-SW), and 113 is a rewritable non-volatile memory (EERPORT) that holds data to be used in the lens unit 101.
【0022】また、130は光学レンズ106の制御を
要求するためのデマンドである。カメラ部120には、
第2制御装置(以下bCPUと略す)121が搭載さ
れ、レンズ部101のaCPU102とシリアル通信線
140によりシリアル通信が行えるようになっている。Reference numeral 130 denotes a demand for requesting control of the optical lens 106. In the camera unit 120,
A second control device (hereinafter abCPU) 121 is mounted, and serial communication can be performed with the aCPU 102 of the lens unit 101 via the serial communication line 140.
【0023】ここで、R/L−SW112によるリモー
ト・モードとローカル・モードの説明をする。Here, the remote mode and the local mode by the R / L-SW 112 will be described.
【0024】リモート・モードでは、カメラ部120の
bCPU121からの制御指令により光学レンズ106
を制御するものであり、ローカル・モードはデマンド1
30からの制御指令を選択して光学レンズ106を駆動
するものある。In the remote mode, the optical lens 106 is controlled by a control command from the bCPU 121 of the camera unit 120.
And the local mode is demand 1
In some cases, the control command from 30 is selected to drive the optical lens 106.
【0025】次に光学レンズ106の移動方向とカウン
タ108のカウント値について、フォーカス・レンズを
用いて図2を参照して説明をする。Next, the moving direction of the optical lens 106 and the count value of the counter 108 will be described with reference to FIG. 2 using a focus lens.
【0026】ここで、フォーカス・レンズのINF(無
限)端201をカウンタ値0とし、MOD(至近)端2
02の値を10000とする。フォーカス・レンズがC
W方向に回転した場合、カウント・アップされ、MOD
方向に移動し、また、CCW方向に回転した場合、カウ
ント・ダウンされ、INF方向に移動するものと仮定す
る。例えば、現在位置がLpos203とし、その位置
でのカウンタ値を2000とし、移動目標位置をLta
rget204とし、その位置のカウンタ値を7000
とした場合、移動量Lrestは次式で与えられる。Here, the INF (infinity) end 201 of the focus lens is set to a counter value 0, and the MOD (closest) end 2
02 is set to 10000. Focus lens is C
When rotated in the W direction, it is counted up and MOD
Direction and rotate in the CCW direction, count down and move in the INF direction. For example, the current position is Lpos203, the counter value at that position is 2000, and the movement target position is Lta.
rget 204, and the counter value at that position is 7000
In this case, the movement amount Lrest is given by the following equation.
【0027】 Lrest=Ltarget−Lpos =7000―2000=5000 従ってこの場合では、Lrest>0なので、フォーカ
ス・レンズは現在位置よりMOD方向に5000移動す
ることになり、回転方向はCWとなる。またLrest
<0の場合は回転方向はCCWとなり、CCW方向に回
転している間は、レンズの速度は負の値をとるものとす
る。Lrest = Ltarget−Lpos = 7000−2000 = 5000 Therefore, in this case, since Lrest> 0, the focus lens moves 5000 from the current position in the MOD direction, and the rotation direction is CW. Also Lrest
If <0, the rotation direction is CCW, and the speed of the lens assumes a negative value while rotating in the CCW direction.
【0028】次にフローチャートを用いてレンズ・シス
テムの説明を行うが、このレンズ・システムにおいて
は、シリアル通信は割り込みを用いているものとする。
まず、図3に示すメイン処理の説明を行う。Next, the lens system will be described with reference to a flowchart. In this lens system, it is assumed that serial communication uses an interrupt.
First, the main processing shown in FIG. 3 will be described.
【0029】ステップ301でレンズ部101に電源が
投入される。ステップ302でサブルーチンPonIn
itを呼び出し、レンズ部101の初期化を行う。初期
化が終了したら、ステップ303で現在時刻T1および
レンズの現在位置Lposを入力する。In step 301, power is turned on to the lens unit 101. Subroutine PonIn in step 302
It is called to initialize the lens unit 101. When the initialization is completed, in step 303, the current time T1 and the current position Lpos of the lens are input.
【0030】ステップ304では、サブルーチンLen
sModeSetを呼び出し、レンズ駆動指令の有無の
チェックを行う。In step 304, the subroutine Len
sModeSet is called to check whether a lens driving command is present.
【0031】ステップ305では、サブルーチンLen
sModeSetにおいて、セットされるレンズ駆動指
令の有無をフラグfReadyLensCmdを調べ
る。In step 305, the subroutine Len
In sModeSet, the flag fReadyLensCmd is checked for the presence / absence of a lens drive command to be set.
【0032】ステップ305でレンズ駆動指令ありと判
断された場合(fReadyLensCmd=1の場
合)、ステップ306に進み、サブルーチンSetLe
nsDirを呼び出し、レンズの現在位置からの駆動方
向をセットする。If it is determined in step 305 that there is a lens drive command (if fReadyLensCmd = 1), the flow advances to step 306 to set a subroutine SetLe.
Call nsDir and set the driving direction from the current position of the lens.
【0033】次に、レンズが駆動中であるかどうかをス
テップ307で調べ、レンズが停止している場合(fL
ensOnDrive=0の場合)はステップ311に
進み、サブルーチンCheckDeadZoneを呼び
出し、駆動不感帯を調べる。Next, it is checked in step 307 whether the lens is being driven. If the lens is stopped (fL
If ensOnDrive = 0, the process proceeds to step 311 to call the subroutine CheckDeadZone and check the drive dead zone.
【0034】サブルーチンCheckDeadZone
において、駆動不感帯にいるかどうかを調べた結果を、
ステップ312においてフラグfDriveStart
により判断する。Subroutine CheckDeadZone
In, the result of examining whether it is in the drive dead zone,
In step 312, the flag fDriveStart
Judge by
【0035】ステップ312において、駆動許可がない
と判断された場合(fDriveStart=0の場
合)は、ステップ303に戻り、駆動許可があったと判
断された場合(fDriveStart=1の場合)、
ステップ313に進み、駆動開始用のデータをセットす
るためにサブルーチンPrepDriveを呼び出し、
セットし終えたらステップ314でサブルーチンLen
sDriveStartを呼び出し、レンズ駆動を開始
する。If it is determined in step 312 that there is no drive permission (if fDriveStart = 0), the flow returns to step 303, and if it is determined that drive has been permitted (if fDriveStart = 1),
Proceeding to step 313, a subroutine PrepDrive is called to set driving start data,
When the setting is completed, the subroutine Len is executed in step 314.
Call sDriveStart to start driving the lens.
【0036】レンズ駆動開始が行われたら、ステップ3
15においてレンズをPID制御により駆動制御する。When the lens drive is started, step 3
At 15, the lens is driven and controlled by PID control.
【0037】ここでPID制御は一般的な比例・積分・
微分制御を行うもので、今回の発明の主旨とは異なるた
め、説明を省略するものとする。またPID制御はデジ
タル制御によりサンプリング周期を一定にして制御する
場合を考慮すると、タイマ割り込みを使用して、割り込
み処理によるPID制御をすることも可能である。Here, the PID control is a general proportional / integral
Since the differential control is performed and is different from the gist of the present invention, the description is omitted. Further, in consideration of the case where the PID control is performed by controlling the sampling period to be constant by digital control, it is also possible to perform the PID control by interrupt processing using a timer interrupt.
【0038】ステップ316では、レンズが目標位置に
到達したかどうかを判断するために、サブルーチンCh
kLensStopPosを呼び出す。In step 316, a subroutine Ch is performed to determine whether the lens has reached the target position.
Call kLensStopPos.
【0039】さらに到達したかどうかを判断するため
に、ステップ317でフラグfReachStopPo
sを調べる。At step 317, the flag fReachStopPo is determined in order to determine whether or not the arrival has been reached.
Examine s.
【0040】目標位置に到達したと判断した場合(fR
eachStopPos=1の場合)、ステップ320
に進み、サブルーチンReachPosを呼び出し、目
標位置到達処理を行う。ステップ320で目標位置到達
処理を終了したら、ステップ303に戻る。またステッ
プ317で目標位置に到達していないと判断した場合
(fReachStopPos=0の場合)は、ステッ
プ318に進みサブルーチンCheckLensSts
を呼び出し、レンズの過誤差状態を調べる。When it is determined that the target position has been reached (fR
(if stopStopPos = 1), step 320
The subroutine ReachPos is called to perform target position reaching processing. When the target position reaching process is completed in step 320, the process returns to step 303. If it is determined in step 317 that the target position has not been reached (if fReachStopPos = 0), the flow advances to step 318 to execute the subroutine CheckLensSts.
To check the lens over-error condition.
【0041】ステップ319では、ステップ318のサ
ブルーチンCheckLensStsで調べた結果をフ
ラグfLensStsErrにより判断する。In step 319, the result checked in the subroutine CheckLensSts in step 318 is determined by the flag fLensStsErr.
【0042】ステップ319で過誤差状態と判断された
場合(fLensStsErr=1の場合)、ステップ
321に進み、サブルーチンOverErrorを呼び
出し、過誤差処理を行う。処理が終了したら、ステップ
303に戻る。If it is determined in step 319 that an over error condition has occurred (if fLensStsErr = 1), the flow advances to step 321 to call a subroutine OverError to perform an over error process. Upon completion of the process, the process returns to the step 303.
【0043】またステップ319で過誤差状態ではない
と判断されたら(fLensStsErr=0の場
合)、ステップ303に戻る。If it is determined in step 319 that the state is not an excessive error state (when fLensStsErr = 0), the process returns to step 303.
【0044】上述したステップ305において、レンズ
駆動指令なしと判断された場合(fReadyLens
Cmd=0の場合)は、ステップ308に進み、フラグ
fLensOnDriveを調べることでレンズが駆動
中か停止中かを判断する。When it is determined in step 305 that there is no lens drive command (fReadyLens
If Cmd = 0), the process proceeds to step 308, where it is determined whether the lens is being driven or stopped by checking the flag fLensOnDrive.
【0045】ステップ308で停止中と判断された場合
(fLensOnDrive=0の場合)、ステップ3
03に戻る。駆動中と判断された場合(fLensOn
Drive=1の場合)はステップ315に進み引き続
きPID制御を行う。If it is determined in step 308 that the operation is stopped (if fLensOnDrive = 0), step 3
Return to 03. When it is determined that driving is being performed (fLensOn)
If Drive = 1), the process proceeds to step 315 to continue PID control.
【0046】また、上述したステップ307において、
レンズが駆動中であると判断された場合(fLensO
nDrive=1の場合)、ステップ309に進み、サ
ブルーチンCheckDriveCmdを呼び出し、現
在の駆動方向と新たな駆動指令とを比較し、駆動方向に
矛盾がないかどうかを調べる。In step 307 described above,
When it is determined that the lens is being driven (fLensO
If nDrive = 1), the process proceeds to step 309, where the subroutine CheckDriveCmd is called, the current driving direction is compared with the new driving command, and it is checked whether there is any contradiction in the driving direction.
【0047】調べた結果をステップ310でフラグfL
ensOnDriveにより判断する。In step 310, the result of the check is set to the flag fL.
It is determined by ensOnDrive.
【0048】駆動方向に矛盾があってサブルーチンCh
eckDriveCmdにおいてレンズが停止させられ
た場合、ステップ310では停止中と判断されるため
(fLensOnDrive=0の場合)、ステップ3
11に進み、新しい指令に基づいてレンズの再駆動を行
う。Subroutine Ch due to inconsistency in the driving direction
If the lens is stopped in ckDriveCmd, it is determined that the lens is stopped in step 310 (if fLensOnDrive = 0), so step 3
Proceeding to 11, the lens is driven again based on the new command.
【0049】また、ステップ310で駆動中と判断され
た場合(fLensOnDrive=1の場合)は、ス
テップ309におけるサブルーチンCheckDriv
eDirで駆動方向に矛盾がないと判断されため、ステ
ップ315に進み、引き続きPID制御によりレンズを
駆動する。If it is determined in step 310 that driving is being performed (if fLensOnDrive = 1), the subroutine CheckDrive in step 309 is selected.
Since it is determined by eDir that there is no inconsistency in the driving direction, the process proceeds to step 315, and the lens is continuously driven by PID control.
【0050】次に、図3中本実施の形態の特徴的な処理
を図22、図23、図24を用いて以下に説明する。Next, the characteristic processing of this embodiment in FIG. 3 will be described below with reference to FIGS. 22, 23 and 24.
【0051】図22を用いてサブルーチンLocalC
mdInの説明を行う。このサブルーチンは、図3のス
テップ304で処理される図6のLensModeSe
tのステップ605にてローカルモードが設定されてい
るときに読み出される。ステップ2201でデマンド1
30からのデマンド指令を入力する。ステップ2202
では、入力したデマンド指令からフォーカス・レンズ位
置指令DemandPosを算出する。これはデマンド
指令がレンズ移動量に一致するとは限らないための補正
である。例えば、デマンド入力をする際にA/D変換器
(10bit)を用いた場合、A/D変換器のレンジは
0〜1024になる。ところがフォーカス・レンズの全
域移動範囲は0〜10000である。そこで DemandPos=A/D変換値×10000÷10
24 という変換式を用いてDemandPosを算出すれば
良い。Using the subroutine LocalC with reference to FIG.
mdIn will be described. This subroutine corresponds to the LensModeSe of FIG. 6 processed in step 304 of FIG.
It is read when the local mode is set in step 605 of t. Demand 1 in step 2201
The demand command from 30 is input. Step 2202
Then, the focus / lens position command DemandPos is calculated from the input demand command. This is a correction because the demand command does not always coincide with the lens movement amount. For example, when an A / D converter (10 bits) is used when performing demand input, the range of the A / D converter is 0 to 1024. However, the entire range of movement of the focus lens is 0 to 10,000. Therefore, DemandPos = A / D conversion value × 10000/10
DemandPos may be calculated using the conversion formula 24.
【0052】ステップ2203では、レンズがマニュア
ル・モードかサーボ・モードかの判断を行う。サーボ・
モードの場合(fLensManual=0の場合)、
ステップ2204に進み、目標速度DemandRpm
に仮速度TempLensRpmをセットする。In step 2203, it is determined whether the lens is in the manual mode or the servo mode. The servo·
In the case of the mode (when fLensManual = 0),
Proceeding to step 2204, the target speed DemandRpm
Is set to the temporary speed TempLensRpm.
【0053】ステップ2205では、フォーカス位置指
令DemandPosを停止目標位置Ltarget
に、目標速度DemandRpmを指令速度DemRp
mにそれぞれセットし、レンズ制御信号として使用す
る。その有効範囲をチェックするために、ステップ22
06に進み、サブルーチンLTargetLmtを呼び
出す。In step 2205, the focus position command DemandPos is changed to the stop target position Ltarget.
In addition, the target speed DemandRpm is changed to the command speed DemRp
m and used as lens control signals. Step 22 to check its scope
In step 06, the subroutine LTargetLmt is called.
【0054】さらにステップ2207ではレンズ制御指
令の準備が整ったとして、フラグfReadyLens
Cmd=1とし、サブルーチンLocalCmdInを
終了する。In step 2207, it is determined that the lens control command is ready, and the flag fReadyLens is set.
Cmd = 1, and the subroutine LocalCmdIn ends.
【0055】ステップ2203で、マニュアル・モード
と判断された場合(fLensManual=1の場
合)、ステップ2208で、次式によりデマンド操作量
を算出する。If it is determined in step 2203 that the mode is the manual mode (if fLensManual = 1), in step 2208, the demand operation amount is calculated by the following equation.
【0056】 DemandMove= ABS(DemandPos―DemandManu)・・・ (22) ステップ2209は、式(22)で算出されたデマンド
操作量DemandMoveとマニュアル・モード解除
デマンド操作量DemandServoとの比較を次式
で行う。DemandMove = ABS (DemandPos−DemandManu) (22) In step 2209, the demand operation amount DemandMove calculated by the equation (22) is compared with the manual mode release demand operation amount DemandServo by the following equation. .
【0057】 DemandMove≧DemandServo ・・・・・(23) ステップ2209で、式(23)が成立した場合、デマ
ンド操作量が十分あったと判断し、ステップ2211に
進み、フラグfLensManual=0とし、サーボ
・モードにセットする。そしてステップ2204に進
む。DemandMove ≧ DemandService (23) In step 2209, when the expression (23) is satisfied, it is determined that the demand operation amount is sufficient, the process proceeds to step 2211, the flag fLensManual = 0 is set, and the servo control is performed. Set the mode. Then, the process proceeds to step 2204.
【0058】ステップ2209で、式(23)が不成立
の場合、デマンド操作量が十分でないとして、マニュア
ル・モードを解除しなため、ステップ2210でフラグ
fReadyLensCmd=0として、サブルーチン
LocalCmdInを終了する。If the expression (23) is not satisfied in step 2209, the demand operation amount is not sufficient and the manual mode is not released. Therefore, in step 2210, the flag fReadyLensCmd = 0 is set, and the subroutine LocalCmdIn ends.
【0059】図23を用いてサブルーチンLtarge
tLmtの説明を行う。A subroutine Ltarget will be described with reference to FIG.
A description will be given of tLmt.
【0060】ステップ2901では、以下の式により停
止目標位置Ltargetの下限を調べる。In step 2901, the lower limit of the stop target position Ltarget is checked by the following equation.
【0061】 Ltarget ≧ 0 ・・・・・ (30) ステップ2901で、式(30)が成立しなかった場
合、下限を越えているためステップ2903にて、停止
目標位置Ltargetに0をセットし、サブルーチン
LtargetLmt終了する。Ltarget ≧ 0 (30) If Expression (30) is not satisfied in Step 2901, the lower limit is exceeded, and in Step 2903, 0 is set to the target stop position Ltarget, and The subroutine LtargetLmt ends.
【0062】またステップ2901で式(30)が成立
した場合、ステップ2902にて、次式により上限をチ
ェックする。If Expression (30) is satisfied in Step 2901, the upper limit is checked in Step 2902 by the following expression.
【0063】 LTarget ≦ 10000 ・・・・・ (31) ステップ2902で式(31)が成立しなかった場合、
ステップ2904にて、停止目標位置Ltargetに
10000をセットし、サブルーチンLtargetL
mtを終了する。LTarget ≦ 10000 (31) When Expression (31) is not satisfied in Step 2902,
In step 2904, 10000 is set as the stop target position Ltarget, and the subroutine LtargetL is set.
mt ends.
【0064】また、ステップ2902にて、式(31)
が成立した場合、停止目標位置Ltargetは、レン
ズ制御範囲内にあるため、そのまま使用することとし、
サブルーチンLtargetLmtを終了する。In step 2902, the equation (31)
Is satisfied, the stop target position Ltarget is within the lens control range, and therefore is used as it is.
The subroutine LtargetLmt ends.
【0065】ここで図24を用いて、端処理について説
明する。Here, the end processing will be described with reference to FIG.
【0066】前提条件として、上記にINF端を0、M
OD端を10000とし、フォーカス・レンズの移動位
置を仮定したが、これは実際にフォーカス・レンズが移
動する値であっても良く、一方、レンズによって実際の
移動量は異なる場合があるため、レンズ部とカメラ部の
取り決めによって正規化された値であっても良い。As preconditions, the INF end is set to 0, M
Although the OD end is assumed to be 10000 and the movement position of the focus lens is assumed, this may be a value at which the focus lens actually moves. On the other hand, the actual movement amount may differ depending on the lens. It may be a value normalized by agreement between the unit and the camera unit.
【0067】また初期化データとして、このINF端と
MOD端の値をレンズ部とカメラ部の通信を用いて情報
交換しても良い。Further, as the initialization data, the values of the INF end and the MOD end may be exchanged using communication between the lens unit and the camera unit.
【0068】すなわち、このフォーカス・レンズの位置
の値は、INF端を基準として(例えば、0)、MOD
端の値(例えば、10000)という値をとる、という
情報をレンズ部からカメラ部へ転送することで、カメラ
部はフォーカス・レンズがどの位置に移動させたいかを
判断することができるようになる。That is, the value of the position of the focus lens is MOD based on the INF end (for example, 0).
By transferring the information of taking the value of the edge (for example, 10000) from the lens unit to the camera unit, the camera unit can determine which position the focus lens wants to move. .
【0069】ところで、フォーカス・レンズの移動可能
範囲は図28のようになっている。すなわち、INF側
では、aメカ端2801、aサーボ端2802、a光学
端2803が存在し、MOD側にも同様にbメカ端28
04、bサーボ端2805、b光学端2806が存在す
る。The movable range of the focus lens is as shown in FIG. That is, on the INF side, there are a mechanical end 2801, a servo end 2802, and a optical end 2803, and similarly on the MOD side, the b mechanical end
04, b servo end 2805, b optical end 2806.
【0070】ここで、光学端に対してレンズが移動でき
る範囲が広いのは、製造誤差などがあっても、仕様上の
データを満足するために余裕を設けていることによる。
よって、手動操作部でレンズを操作した場合は、INF
側のaメカ端2801とMOD側のbメカ端2804の
間を移動可能であり、サーボ操作をした場合は、INF
側のaサーボ端2802とMOD側のbサーボ端280
5の間を移動可能となる。The reason why the range in which the lens can be moved with respect to the optical end is wide because a margin is provided in order to satisfy the specification data even if there is a manufacturing error.
Therefore, when the lens is operated with the manual operation unit, the INF
Side can be moved between the mechanical end 2801 on the side MOD and the mechanical end 2804b on the MOD side.
Side a servo end 2802 and MOD side b servo end 280
5 can be moved.
【0071】また、カメラ指令やデマンド指令によるレ
ンズの駆動はサーボ・モードであるので、INF側のa
サーボ端2802とMOD側のbサーボ端2805の間
を移動することになる。Further, since the driving of the lens by the camera command or the demand command is in the servo mode, a
It moves between the servo end 2802 and the b servo end 2805 on the MOD side.
【0072】ここで、INF側のaサーボ端2802の
位置を0、MOD側のbサーボ端2805の位置を10
000とする。Here, the position of the a servo end 2802 on the INF side is 0, and the position of the b servo end 2805 on the MOD side is 10
000.
【0073】従って、デマンド指令による目標位置とし
ては、0から10000までの値になる必要がある。そ
こで、上記サブルーチンLtargetLmtにてデマ
ンド指令が0〜10000以外の値を示しても0または
10000を目標位置としてLtargetにセットす
る構成をとる。Therefore, the target position according to the demand command needs to be a value from 0 to 10000. Therefore, even if the demand command indicates a value other than 0 to 10000 in the above subroutine LtargetLmt, the target position is set to 0 or 10000 in Ltarget.
【0074】このようにして、デマンド指令が0から1
0000以外の値を示していても、目標位置としては0
または10000がLtargetにセットされるの
で、図3のステップ316〜320、特に後述の図14
のサブルーチンCheckLensStopPos及び
図15のReachPosにて上記目標位置Ltarg
etまでレンズが駆動される。上記の動作は、デマンド
指令の場合っであるが、カメラからの指令の場合も同様
に処理される。Thus, the demand command is changed from 0 to 1
Even if a value other than 0000 is indicated, the target position is 0.
Alternatively, since 10000 is set in Ltarget, steps 316 to 320 in FIG.
In the subroutine CheckLensStopPos and ReachPos of FIG.
The lens is driven up to et. The above operation is a demand command, but a command from a camera is similarly processed.
【0075】次に、図3の中で上記した本実施の形態の
特徴的処理以外の処理を以下に説明する。Next, processing other than the characteristic processing of the present embodiment described above with reference to FIG. 3 will be described.
【0076】図14にてサブルーチンCheckLen
sStopPosの説明を行う。In FIG. 14, the subroutine CheckLen
sStopPos will be described.
【0077】ステップ1401で、現在の駆動方向を調
べる。駆動方向がCW(MOD方向)の場合(fDrv
CwCcw=1の場合)、ステップ1402に進み、停
止目標位置Ltargetから実際に停止するための停
止位置LstopPosを次式により算出する。At step 1401, the current driving direction is checked. When the driving direction is CW (MOD direction) (fDrv
If CwCcw = 1), the process proceeds to step 1402, and a stop position LstopPos for actually stopping from the stop target position Ltarget is calculated by the following equation.
【0078】 LstopPos=Ltarget−StopOffset ・・・(6) これはレンズを停止したときに、イナーシャや位置サン
プリングの遅れなどによるオーバーランを防止するため
に、少し手前で停止させることを目的としている。そし
てステップ1403で、LstopPosと現在位置L
Posとを次式により比較する。LstopPos = Ltarget−StopOffset (6) This is for the purpose of stopping the lens slightly shortly before stopping the lens in order to prevent overrun due to inertia or delay in position sampling. Then, in step 1403, LstopPos and the current position L
Pos is compared with the following equation.
【0079】 Lpos≧LstopPos ・・・・・ (7) ステップ1403にて、式(7)が成立した場合、レン
ズは停止目標位置に到達したとして、ステップ1406
に進み、停止目標位置到達フラグfReachPosS
top=1とし、サブルーチンCheckLensSt
opPosを終了する。Lpos ≧ LstopPos (7) If Expression (7) is satisfied in Step 1403, it is determined that the lens has reached the target stop position, and Step 1406 is reached.
To the stop target position reaching flag fReachPosS
Top = 1, subroutine CheckLensSt
End opPos.
【0080】またステップ1403にて、式(7)が不
成立の場合、レンズは停止目標位置に到達していないと
し、ステップ1407に進み、停止目標位置到達フラグ
fReachPosStop=0とし、サブルーチンC
heckLensStopPosを終了する。ここで上
述したステップ1401における駆動方向がCCW(I
NF)の場合(fDrvCwCcw=0の場合)、ステ
ップ1404に進み、停止目標位置Ltargetから
実際に停止するための停止位置LstopPosを、上
述したようにレンズのオーバーラン防止のため、次式に
より算出する。If the formula (7) is not satisfied in step 1403, it is determined that the lens has not reached the stop target position, the flow advances to step 1407, the stop target position reaching flag fReachPosStop = 0 is set, and the subroutine C
end the checkLensStopPos. Here, the driving direction in step 1401 is CCW (I
In the case of (NF) (if fDrvCwCcw = 0), the process proceeds to step 1404, and the stop position LstopPos for actually stopping from the stop target position Ltarget is calculated by the following equation in order to prevent overrun of the lens as described above. .
【0081】 LstopPos=Ltarget+StopOffset ・・・・・ ( 8) そして、ステップ1405で、LstopPosと現在
位置LPosとを次式により比較する。LstopPos = Ltarget + StopOffset (8) In step 1405, LstopPos is compared with the current position LPPos by the following equation.
【0082】 Lpos ≦ LstopPos ・・・・・ (9) ステップ1405で、式(9)が成立した場合は、レン
ズは停止目標位置に到達したとして、ステップ1406
に進み、上記と同様の処理を経過し、サブルーチンCh
eckLensStopPosを終了する。Lpos ≦ LstopPos (9) If Expression (9) is satisfied in Step 1405, it is determined that the lens has reached the target stop position, and Step 1406 is reached.
To the subroutine Ch
End eckLensStopPos.
【0083】また、ステップ1405で、式(9)が不
成立の場合、ステップ1407に進み、上記と同様の処
理を経過し、サブルーチンCheckLensStop
Posを終了する。If the expression (9) is not satisfied in step 1405, the flow advances to step 1407 to execute the same processing as described above and to execute the subroutine CheckLensStop.
Exit Pos.
【0084】図15を用いて、サブルーチンReach
Posの説明を行う。Referring to FIG. 15, subroutine Reach
Pos will be described.
【0085】停止目標位置に到達したので、ステップ1
501でレンズを停止させる。そしてステップ1502
でレンズ駆動フラグfLensOnDrive=0と
し、停止目標位置到達フラグfTartgetPos=
1とする。Since the stop target position has been reached, step 1
At 501, the lens is stopped. And step 1502
To set the lens drive flag fLensOnDrive = 0, and to set the stop target position reaching flag fTargetGetPos =
Let it be 1.
【0086】ステップ1503ではレンズのモードを調
べる。リモート・モードの場合(fRemoteLoc
al=1の場合)、ステップ1504で、目標位置到達
フラグ(fTartgetPos=1)をカメラ部にシ
リアル通信を用いて転送する。In step 1503, the mode of the lens is checked. In remote mode (fRemoteLoc
If al = 1), in step 1504, the target position arrival flag (fTargetPos = 1) is transferred to the camera unit using serial communication.
【0087】さらにステップ1505にて、目標位置に
到達したことを示す表示を行い、サブルーチンReac
hPosを終了する。また、ステップ1503にて、ロ
ーカル・モードである場合(fRemoteLocal
=0の場合)、ステップ1505に進み、以下同様の処
理を経過し、サブルーチンReachPosを終了す
る。Further, at step 1505, a display indicating that the target position has been reached is displayed, and the subroutine Reac
Exit hPos. If it is determined in step 1503 that the mode is the local mode (fRemoteLocal
In the case of = 0, the process proceeds to step 1505, and the same processing is performed thereafter, and the subroutine ReachPos ends.
【0088】これらの図14、図15のサブルーチンに
て上記の如くLtargetにセットされた位置までレ
ンズが駆動される。In the subroutines of FIGS. 14 and 15, the lens is driven to the position set to Ltarget as described above.
【0089】次に、図4を用いてシリアル通信による割
り込み処理の説明を行う。カメラ部120よりシリアル
通信割り込みが発生した場合、サブルーチンSeria
lIntに飛び、ステップ401でレンズ制御指令を入
力する。Next, an interrupt process by serial communication will be described with reference to FIG. When a serial communication interrupt occurs from the camera unit 120, the subroutine Serial
Jumping to lInt, a lens control command is input in step 401.
【0090】ステップ402でレンズ制御指令が位置お
よび速度指令かどうかを調べる。位置および速度指令で
あると判断された場合、ステップ411に進み、カメラ
位置指令を位置指令としてCmdPosに、さらにカメ
ラ速度指令を目標速度としてCmdRpmにセットす
る。そしてステップ409に進み、レンズ駆動指令があ
ったとして、フラグfLensCmdIn=1とする。
そしてサブルーチンSerialIntを終了する。In step 402, it is checked whether the lens control command is a position and speed command. If it is determined that the command is a position and speed command, the process proceeds to step 411, where the camera position command is set to CmdPos as a position command, and the camera speed command is set to CmdRpm as a target speed. Then, the process proceeds to a step 409, where a flag fLensCmdIn = 1 is set assuming that a lens drive command has been issued.
Then, the subroutine SerialInt ends.
【0091】また、ステップ402で条件が成立しなか
った場合はステップ403に進み、レンズ制御指令が速
度指令のみかどうかを調べる。If the condition is not satisfied in step 402, the flow advances to step 403 to check whether the lens control command is only a speed command.
【0092】速度指令のみと判断された場合、ステップ
404に進み速度指令の符号を調べる。正の場合はMO
D方向に移動する指令のため、ステップ405でカメラ
位置指令としてMOD端にセットし、ステップ411に
進む。If it is determined that only the speed command is issued, the flow advances to step 404 to check the sign of the speed command. MO if positive
Since it is a command to move in the D direction, the camera position command is set at the MOD end in step 405, and the process proceeds to step 411.
【0093】また、ステップ404で条件が成立しなか
った場合は負と判断され、ステップ406でカメラ位置
指令としてINF端をセットし、ステップ411に進
む。ステップ403で条件が成立しなかった場合は、ス
テップ407に進み、レンズ制御指令が位置指令のみど
うかを調べる。レンズ制御指令が位置指令のみと判断さ
れた場合はステップ408に進み、カメラ速度指令とし
て仮速度指令TempLensRpmをセットする。そ
してステップ411に進む。If the condition is not satisfied in step 404, it is determined to be negative. In step 406, the INF end is set as a camera position command, and the flow advances to step 411. If the condition is not satisfied in step 403, the process proceeds to step 407 to check whether the lens control command is only a position command. If it is determined that the lens control command is only the position command, the process proceeds to step 408, and a temporary speed command TempLensRpm is set as the camera speed command. Then, the process proceeds to step 411.
【0094】ステップ407で条件が成立しなかった場
合は、レンズ制御指令に矛盾があるものとし、ステップ
410に進む。ステップ410では、フラグfLens
CmdIn=0とし、レンズ駆動指令がなかったものと
する。そしてサブルーチンSerialIntを終了す
る。If the condition is not satisfied in step 407, it is determined that there is a contradiction in the lens control command, and the flow advances to step 410. In step 410, the flag fLens
It is assumed that CmdIn = 0 and there is no lens drive command. Then, the subroutine SerialInt ends.
【0095】図5を用いてサブルーチンPonInit
の説明を行う。このサブルーチンは初期化処理を行うも
のである。まずステップ501でフラグの初期化を行
う。A subroutine PonInit will be described with reference to FIG.
Will be described. This subroutine performs an initialization process. First, in step 501, a flag is initialized.
【0096】 fLensManual=0 (サーボ・モードの設定) fLensOnDrive=0 (レンズ停止中) fLensCmdIn=0 (レンズ制御指令入力なし) fRemoteLocal=0 (ローカル・モード) fTargetPos=0 (目標位置到達のクリア) ステップ502において、データの初期化を行う。FLensManual = 0 (servo mode setting) fLensOnDrive = 0 (during lens stop) fLensCmdIn = 0 (no lens control command input) fRemoteLocal = 0 (local mode) fTargetPos = 0 (clear target position arrival) Step At 502, data is initialized.
【0097】仮速度指令のセット TempLensRpm=100[RPM] ローカル・モードにおけるマニュアル・モード解除デマ
ンド操作量 DemandServo=1000 次に、ステップ503において、サブルーチンLens
PosInitを呼び出し、レンズ位置の初期化を行
う。エンコーダが絶対値出力のものを使用できない場
合、相対値出力形式のものを使用すると電源投入時で
は、レンズの絶対値が不明である。そこでレンズの絶対
位置を決定するために、図示していないが、サブルーチ
ンLensPosInitの内容として、例えばINF
端にスイッチを設けた場合、フォーカス・レンズをIN
F方向に移動し、前記スイッチの入る場所で停止するこ
とでINF端を知ることができる。Setting of provisional speed command TempLensRpm = 100 [RPM] Manual mode release demand operation amount in local mode DemandService = 1000 Next, in step 503, the subroutine Lens
Call PosInit to initialize the lens position. If the encoder cannot use the one that outputs an absolute value, the absolute value of the lens is unknown when the power is turned on if the encoder that uses the absolute value output is used. In order to determine the absolute position of the lens, although not shown, the contents of the subroutine LensPosInit include, for example, INF
If a switch is provided at the end, set the focus lens to IN
By moving in the direction F and stopping where the switch is turned on, the end of the INF can be known.
【0098】ここでカウンタを0にセットすれば、IN
F端を0としてフォーカス・レンズの絶対位置が検出可
能となる。レンズ・システムの初期化が終了した時点
で、ステップ504においてシリアル通信を許可する。Here, if the counter is set to 0, IN
With the F end set to 0, the absolute position of the focus lens can be detected. When the initialization of the lens system is completed, serial communication is permitted in step 504.
【0099】図6を用いて、サブルーチンLensMo
deSetを説明する。Referring to FIG. 6, subroutine LensMo will be described.
The deSet will be described.
【0100】ステップ601で、R/L−SWの状態を
調べる。オンしている場合はリモート・モードであると
して、ステップ606においてリモート・ローカル設定
フラグをfRemoteLocal=1とする。次にス
テップ607においてリモート・モード用のデータのセ
ットを行う。At step 601, the state of the R / L-SW is checked. If it is on, it is determined that the remote mode is set, and the remote / local setting flag is set to fRemoteLocal = 1 in step 606. Next, in step 607, data for the remote mode is set.
【0101】 駆動不感帯量の設定 DriveDeadZone=8 停止オフセットの設定 StopOffset=4 レンズの最高速度の設定 LensMaxRpm=80 そして、ステップ604に進み、リモート・ローカル設
定状態を調べる。Setting of Drive Dead Zone Amount DriveDeadZone = 8 Setting of Stop Offset StopOffset = 4 Setting of Maximum Lens Speed LensMaxRpm = 80 Then, the process proceeds to step 604 to check the remote / local setting state.
【0102】リモート・モードの場合(fRemote
Local=1の場合)、ステップ608に進み、サブ
ルーチンRemoteCmdIn1を呼び出した後、サ
ブルーチンLensModeSetを終了する。In the case of the remote mode (fRemote
In the case of Local = 1), the process proceeds to step 608, calls the subroutine RemoteCmdIn1, and then ends the subroutine LensModeSet.
【0103】またステップ601でR/L−SWがオフ
している場合は、ローカル・モードであるとしてステッ
プ602に進み、リモート・ローカル設定フラグをfR
emoteLocal=0とする。そしてステップ60
3においてローカル・モード用のデータの設定を行う。If the R / L-SW is turned off in step 601, it is determined that the mode is the local mode, and the flow advances to step 602 to set the remote / local setting flag to fR.
It is assumed that remoteLocal = 0. And step 60
In step 3, data for the local mode is set.
【0104】 駆動不感帯量の設定 DriveDeadZone=10 停止オフセットの設定 StopOffset=5 レンズの最高速度の設定 LensMaxRpm=50 そしてステップ604に進む。Setting of Drive Dead Zone Amount DriveDeadZone = 10 Setting of Stop Offset StopOffset = 5 Setting of Maximum Speed of Lens LensMaxRpm = 50 Then, the process proceeds to step 604.
【0105】ステップ604において、ローカル・モー
ドであると判断された場合(fRemoteLocal
=0の場合)、ステップ605に進みサブルーチンLo
calCmdInを呼び出した後、サブルーチンLen
sModeSetを終了する。If it is determined in step 604 that the mode is the local mode (fRemoteLocal)
= 0), the process proceeds to step 605 and the subroutine Lo
After calling calCmdIn, subroutine Len
The sModeSet ends.
【0106】ここでリモート・モードとローカル・モー
ドで不感帯量や停止オフセット、最高速度のデータを変
えられるようにすることで、それぞれのモードにおける
レンズ移動の特色を出せるようにしている。Here, by making it possible to change the data of the dead zone amount, the stop offset, and the maximum speed in the remote mode and the local mode, it is possible to output the characteristic feature of the lens movement in each mode.
【0107】すなわち、リモート・モードではレンズの
移動性能に対して高性能を要求されるため、感度の高い
データをセットしておくが、ローカル・モードでは、感
度の低いデータをセットすることで、モータ駆動電流の
省エネ化を図ることが可能となる。That is, in the remote mode, high performance is required for the movement performance of the lens. Therefore, high sensitivity data is set. In the local mode, low sensitivity data is set. Energy saving of the motor drive current can be achieved.
【0108】図7を用いてサブルーチンRemoteC
mdIn1を説明する。Referring to FIG. 7, subroutine RemoteC is used.
mdIn1 will be described.
【0109】ステップ701にてSTART―SW11
0の状態を調べる。SW110がオフしている場合は、
ステップ704に進み、レンズ駆動指令の入力状態を調
べる。指令値がない場合(fLensCmdIn=0の
場合)、ステップ710にてレンズ制御指令が有効状態
でないとしてフラグfReadyLensCmd=0と
する。そして、サブルーチンRemoteCmdIn1
を終了する。In step 701, START-SW11
Check the status of 0. When SW110 is off,
Proceeding to step 704, the input state of the lens drive command is checked. If there is no command value (if fLensCmdIn = 0), it is determined in step 710 that the lens control command is not in the valid state, and the flag fReadyLensCmd = 0. Then, the subroutine RemoteCmdIn1
To end.
【0110】また、ステップ701にてSTART−S
W110がオンしている場合は、ステップ702に進
み、レンズをサーボ・モードに設定するために、フラグ
fLensManual=0とする。このレンズ状態を
カメラに知らせるために、シリアル通信を用いて、fL
ensManualフラグ(サーボ・モード状態)およ
びSTART−SWオン情報を転送する。そしてステッ
プ704に進む。Also, in step 701, START-S
If W110 is on, the flow advances to step 702 to set the flag fLensManual = 0 to set the lens to the servo mode. In order to notify the camera of this lens state, fL
An ensManual flag (servo mode state) and START-SW on information are transferred. Then, the process proceeds to step 704.
【0111】ステップ704において指令値があると判
断された場合(fLensCmdIn=1の場合)、ス
テップ705において、位置指令(CmdPos)を停
止目標位置Ltargetに、目標速度(CmdRp
m)を指令速度DemRpmにそれぞれセットし、レン
ズ制御信号として使用する。If it is determined in step 704 that there is a command value (if fLensCmdIn = 1), in step 705, the position command (CmdPos) is set to the stop target position Ltarget, and the target speed (CmdRp
m) is set to the command speed DemRpm and used as a lens control signal.
【0112】指令値を制御信号として使用したので、そ
の有効範囲をチェックするために、ステップ706に進
み、サブルーチンLTargetLmtを呼び出す。そ
して次の指令入力のためにステップ707にてフラグf
LensCmdIn=0とする。Since the command value has been used as the control signal, the flow advances to step 706 to call the subroutine LTargetLmt to check the effective range. Then, in step 707, the flag f is input for the next command input.
Let LensCmdIn = 0.
【0113】またカメラ指令によるマニュアル・モード
解除(サーボ・モードの設定)として、ステップ708
にてfLensManual=0とする。ステップ70
9にてレンズ制御指令が有効状態であるとしてフラグf
ReadyLensCmd=1とする。そしてサブルー
チンRemoteCmdIn1を終了する。In step 708, manual mode release (servo mode setting) by camera command is performed.
Let fLensManual = 0. Step 70
At 9 it is determined that the lens control command is in the valid state and the flag f
ReadyLensCmd = 1. Then, the subroutine RemoteCmdIn1 ends.
【0114】サブルーチンRemoteCmdIn1で
は、マニュアル・モードの解除(サーボ・モードの設
定)をSTART−SW110のオンもしくはカメラか
らのレンズ制御指令にて行ったが、別な実施の形態とし
て、START−SW110のオンのみで行う場合を図
8を用いて説明する。またここでこのサブルーチンの名
称をRemoteCmdIn2とする。In the subroutine RemoteCmdIn1, the manual mode is released (servo mode setting) by turning on the START-SW 110 or a lens control command from the camera. However, as another embodiment, the START-SW 110 is turned on. The case of performing only this will be described with reference to FIG. Here, the name of this subroutine is RemoteCmdIn2.
【0115】まず、ステップ801でSTART−SW
110がオンしているかどうかを調べる。オンしている
場合は、ステップ802にてフラグfLensManu
al=0(サーボ・モード)とする。その情報をカメラ
に知らせるために、ステップ803にてシリアル通信を
用いて、fLensManualフラグ(サーボ・モー
ド状態)およびSTART−SWオン情報を転送する。
そしてステップ804に進む。First, in step 801 the START-SW
Check if 110 is on. If it is on, the flag fLensManu is set in step 802.
Let al = 0 (servo mode). In order to inform the camera of this information, the fLensManual flag (servo mode state) and the START-SW on information are transferred using serial communication in step 803.
Then, the process proceeds to step 804.
【0116】ステップ801でSW110がオフしてい
る場合は、ステップ804に進む。ステップ804では
カメラからレンズ指令が来ているかどうかを調べる。指
令値入力がない状態(fLensCmdIn=0)で
は、ステップ809に進み、レンズ制御指令が有効状態
でないとしてフラグfReadyLensCmd=0と
する。そしてサブルーチンRemoteCmdIn2を
終了する。If it is determined in step 801 that the SW 110 is off, the process proceeds to step 804. In step 804, it is checked whether a lens command has been received from the camera. If there is no command value input (fLensCmdIn = 0), the process proceeds to step 809, where the flag fReadyLensCmd = 0 is set as the lens control command is not valid. Then, the subroutine RemoteCmdIn2 ends.
【0117】またステップ804にて指令値入力がある
状態(fLensCmdIn=1)ではステップ805
において、位置指令を(CmdPos)を停止目標位置
Ltargetに、目標速度(CmdRpm)を指令速
度DemRpmにそれぞれセットし、レンズ制御信号と
して使用する。In step 804, when there is a command value input (fLensCmdIn = 1), step 805 is executed.
In, the position command (CmdPos) is set to the stop target position Ltarget, and the target speed (CmdRpm) is set to the command speed DemRpm, and used as a lens control signal.
【0118】指令値を制御信号として使用したので、そ
の有効範囲をチェックするために、ステップ806に進
み、サブルーチンLTargetLmtを呼び出す。そ
して次の指令入力のためにステップ807にてフラグf
LensCmdIn=0とする。Since the command value has been used as the control signal, the process proceeds to step 806 to check the effective range, and calls the subroutine LTargetLmt. Then, the flag f is set at step 807 for the next command input.
Let LensCmdIn = 0.
【0119】そしてステップ808でレンズがサーボ・
モードにあるかを調べ、マニュアル・モードである(f
LensManual=1)と判断された場合、ステッ
プ809に進む。またサーボ・モードである(fLen
sManual=0)と判断された場合、ステップ81
0にてレンズ制御指令が有効状態であるとしてフラグf
ReadyLensCmd=1とする。そしてサブルー
チンRemoteCmdIn2を終了する。Then, at step 808, the lens is
Mode is checked, and the mode is the manual mode (f
If it is determined that (LensManual = 1), the process proceeds to step 809. In the servo mode (fLen
If sManual = 0) is determined, step 81
0 indicates that the lens control command is in the valid state
ReadyLensCmd = 1. Then, the subroutine RemoteCmdIn2 ends.
【0120】図9を用いて、サブルーチンSetLen
sDirの説明を行う。ステップ901で、現在位置L
posから停止目標位置Ltaretまでの移動距離L
restを次式により算出する。 Lrest=Ltarget−Lpos ・・・・・ (1) ステップ902では、Lrestの符号により、移動方
向を調べる。Lrest>0の場合、CW(MOD)方
向に回転するため、ステップ906に進み、次式により
指令速度DemRpmの符号を正にする。Referring to FIG. 9, a subroutine SetLen
sDir will be described. In step 901, the current position L
Moving distance L from pos to stop target position Ltarget
rest is calculated by the following equation. Lrest = Ltarget-Lpos (1) In step 902, the moving direction is checked based on the sign of Lrest. If Lrest> 0, the rotation in the CW (MOD) direction proceeds to step 906, where the sign of the command speed DemRpm is made positive by the following equation.
【0121】 DemRpm = ABS(DemRpm) ・・・・・ (2) ここでABS(X)は、Xの絶対値をとるものとする。
そしてステップ905で、CW(MOD)方向の回転指
令を示すフラグをfDemCwCcw=1とし、サブル
ーチンSetLensDirを終了する。ステップ90
2でLrestが負である場合は、ステップ903に進
み、次式により指令速度DemRpmの符号を負にす
る。DemRpm = ABS (DemRpm) (2) Here, ABS (X) takes the absolute value of X.
Then, in step 905, the flag indicating the rotation command in the CW (MOD) direction is set to fDemCwCcw = 1, and the subroutine SetLensDir ends. Step 90
If Lrest is negative in step 2, the routine proceeds to step 903, where the sign of the command speed DemRpm is made negative by the following equation.
【0122】 DemRpm= −ABS(DemRpm) ・・・・・ (3) そしてステップ904に進み、CCW(INF)方向の
回転指令を示すフラグをfDemCwCcw=0とし、
サブルーチンSetLensDirを終了する。DemRpm = −ABS (DemRpm) (3) Then, the process proceeds to step 904, where a flag indicating a rotation command in the CCW (INF) direction is set to fDemCwCcw = 0,
The subroutine SetLensDir ends.
【0123】図10を用いてサブルーチンCheckD
riveCmdを説明する。ステップ1011で速度指
令DemRpmを調べる。速度指令DemRpm=0の
場合は、レンズ停止要求指令とみなして、ステップ10
12に進み、レンズを停止させる。そしてステップ10
13で、駆動中フラグfLensOnDrive=0と
して、サブルーチンCheckDriveCmdを終了
する。また、ステップ1011で、速度指令DemRp
m≠0の場合、ステップ1001に進む。ステップ10
01では、最新指令による回転要求方向を調べる。フラ
グfDemCwCcw=1の場合(CW方向に回転要
求)、ステップ1003に進み、現在のレンズの回転要
求方向を調べる。fDrvCwCcw=1の場合、現在
レンズはCW(MOD)方向に回転要求しているため、
一致しているので、そのままサブルーチンCheckD
riveCmdを終了する。The subroutine CheckD will be described with reference to FIG.
liveCmd will be described. In step 1011, the speed command DemRpm is checked. If the speed command DemRpm = 0, it is regarded as a lens stop request command, and
Proceed to 12, and stop the lens. And step 10
At 13, the driving flag fLensOnDrive is set to 0, and the subroutine CheckDriveCmd is ended. In step 1011, the speed command DemRp
If m ≠ 0, the process proceeds to step 1001. Step 10
At 01, the rotation request direction according to the latest command is checked. If the flag fDemCwCcw is 1 (a rotation request in the CW direction), the process proceeds to step 1003, and the current rotation request direction of the lens is checked. When fDrvCwCcw = 1, the lens is currently requesting rotation in the CW (MOD) direction.
Since they match, the subroutine CheckD
end liveCmd.
【0124】またステップ1003で、fDrvCwC
cw=0の場合は、現在レンズはCCW(INF)され
ているため指令が一致しないので、ステップ1004に
進み、レンズを停止させる。停止したのでステップ10
05では、駆動中フラグfLensOnDrive=0
とし、ステップ1006で停止安定用のディレイを行
う。これは現在の駆動方向とは逆の方向の移動指令が来
たため、レンズの急反転による振動防止対策である。こ
のディレイはあまり長いと指令に対する応答性が悪くな
るため、機械的時定数を考慮して、20〜50[mse
c]程度のディレイが良い。In step 1003, fDrvCwC
If cw = 0, the command does not match because the lens is currently CCW (INF), so the flow advances to step 1004 to stop the lens. Step 10 because it stopped
05, the driving flag fLensOnDrive = 0
In step 1006, a delay for stabilizing the stop is performed. This is a measure for preventing vibration due to sudden reversal of the lens because a movement command in the direction opposite to the current driving direction is received. If this delay is too long, the response to the command is deteriorated. Therefore, considering the mechanical time constant, 20 to 50 [msec
c) is good.
【0125】ステップ1006でディレイをとった後、
サブルーチンCheckDriveCmdを終了する。
またステップ1001で、フラグfDemCwCcw=
0の場合(CCW方向に回転要求)、ステップ1002
に進み、現在のレンズの回転要求方向を調べる。fDr
vCwCcw=0の場合、現在レンズはCCW(IN
F)方向に回転要求しているため、一致しているので、
そのままサブルーチンCheckDriveCmdを終
了する。After taking the delay in step 1006,
The subroutine CheckDriveCmd ends.
In step 1001, the flag fDemCwCcw =
If 0 (rotation request in CCW direction), step 1002
To check the current required rotation direction of the lens. fDr
If vCwCcw = 0, the current lens is CCW (IN
F) Since it is requesting rotation in the direction, it matches, so
The subroutine CheckDriveCmd ends as it is.
【0126】またステップ1002でfDrvCwCc
w=1の場合(CW方向に回転要求)、現在レンズはC
W(MOD)されているため指令が一致しないので、ス
テップ1004に進み、その後は上述の通りの処理であ
る。In step 1002, fDrvCwCc
If w = 1 (rotation request in CW direction), the current lens is C
Since the commands do not match because of W (MOD), the process proceeds to step 1004, and thereafter, the processing is as described above.
【0127】図11を用いてサブルーチンCheckD
eadZoneを説明する。The subroutine CheckD will be described with reference to FIG.
The eadZone will be described.
【0128】ステップ1111で、速度指令DemRp
mを調べる。速度指令DemRpm=0の場合は駆動開
始許可を与えないため、ステップ1102に進む。速度
指令DemRpm≠0の場合は、ステップ1101に進
む。ステップ1101では、現在位置Lposから停止
目標位置Ltargetまでの移動量Lrestの大き
さを次式により調べる。In step 1111, the speed command DemRp
Examine m. When the speed command DemRpm = 0, the process proceeds to step 1102 because the driving start permission is not given. If the speed command DemRpm ≠ 0, the process proceeds to step 1101. In step 1101, the magnitude of the movement amount Lrest from the current position Lpos to the target stop position Ltarget is checked by the following equation.
【0129】 DriveDeadZone≧ABS(Lrest) ・・・・・ (4) 式(4)が成立した場合、レンズの移動量Lrestが
不感帯DriveDeadZone以下であるから、駆
動開始許可を与えないため、ステップ1102で駆動開
始許可フラグfDriveStart=0とし、サブル
ーチンCheckDeadZoneを終了する。DriveDeadZone ≧ ABS (Lrest) (4) When Expression (4) is satisfied, since the lens movement amount Lrest is equal to or less than the dead zone DriveDeadZone, no drive start permission is given. The drive start permission flag fDriveStart = 0 is set, and the subroutine CheckDeadZone is ended.
【0130】またステップ1101で式(4)が不成立
の場合、レンズの移動量Lrestが不感帯Drive
DeadZone以上であるから、駆動開始許可を与え
るために、ステップ1103において、駆動開始許可フ
ラグfDriveStart=1とし、サブルーチンC
heckDeadZoneを終了する。If the equation (4) is not satisfied at step 1101, the lens movement amount Lrest is set to the dead zone Drive.
Since it is equal to or greater than DeadZone, the drive start permission flag fDriveStart = 1 is set in step 1103 to give the drive start permission, and the subroutine C
end the hookDeadZone.
【0131】図12を用いてサブルーチンPrepDr
iveの説明をする。Subroutine PrepDr will be described with reference to FIG.
ive will be described.
【0132】ステップ1201で、レンズの現在位置L
posを以下のようにセットする。In step 1201, the current lens position L
Set pos as follows:
【0133】 速度算出用位置バッファ Lpos0 = Lpos 停止検出用位置バッファ Lstop0 = Lpos ステップ1202では、過誤差検出のために、現在時刻
T1を以下のようにセットする。Speed calculation position buffer Lpos0 = Lpos Stop detection position buffer Lstop0 = Lpos In step 1202, the current time T1 is set as follows to detect an excessive error.
【0134】 停止検出用タイマ・バッファ Tstop0 = T1 逆移動検出用タイマ・バッファ Tinv0 = T1 速度誤差異常検出用タイマ・バッファ Trpm0 = T1 ステップ1203では、過誤差検出用基準タイマなどの
セットを以下のように行う。Stop detection timer buffer Tstop0 = T1 Reverse movement detection timer buffer Tinv0 = T1 Speed error abnormality detection timer buffer Trpm0 = T1 In step 1203, a set of over error detection reference timer and the like is set as follows. To do.
【0135】 停止検出用基準時間バッファ TstopStd = 100[msec] 逆移動検出用基準時間バッファ TinvStd = 100[msec] 速度誤差異常検出用基準時間バッファTrpmStd = 100[msec] 速度誤差異常検出用割合基準バッファRpmErrRatio=70[%] 以上、各データの初期化が終了したら、ステップ120
4で、過誤差検出表示および目標位置到達表示を消す。
そしてステップ1205で、目標位置到達フラグfTa
rgetPos=0とし、サブルーチンPrepDri
veを終了する。Stop detection reference time buffer TstopStd = 100 [msec] Reverse movement detection reference time buffer TinvStd = 100 [msec] Speed error abnormality detection reference time buffer TrpmStd = 100 [msec] Speed error abnormality detection ratio reference buffer RpmErrRatio = 70 [%] When the initialization of each data is completed, step 120 is executed.
In step 4, the over error detection display and the target position arrival display are turned off.
Then, in step 1205, the target position reaching flag fTa
rgetPos = 0 and subroutine PrepDri
Exit ve.
【0136】図13を用いてサブルーチンLensDr
iveStartを説明する。Referring to FIG. 13, subroutine LensDr is used.
iveStart will be described.
【0137】ステップ1301では、レンズが駆動中で
あることを示すため、フラグfLensOnDrive
=1とする。ステップ1302では、指令速度DemR
pmがレンズ・システムの最高速度LensMaxRp
mを越えていないかどうかを次式により調べる。At step 1301, a flag fLensOnDrive is set to indicate that the lens is being driven.
= 1. In step 1302, the command speed DemR
pm is the maximum speed of the lens system LensMaxRp
It is checked by the following equation whether m does not exceed m.
【0138】 LensMaxRpm ≧ DemRpm ・・・・・ (5) 式(5)が成立している場合は、ステップ1304に進
む。また式(5)が不成立の場合は、ステップ1303
に進み、LensMaxRpmの値を指令速度DemR
pmにセットし、ステップ1304に進む。LensMaxRpm ≧ DemRpm (5) If Expression (5) holds, the flow advances to step 1304. If equation (5) is not satisfied, step 1303
To change the value of LensMaxRpm to the command speed DemR.
pm and proceed to step 1304.
【0139】ステップ1304では、駆動要求の方向を
調べる。駆動要求がCWの場合(fDemCwCcw=
1の場合)、ステップ1305にて、レンズを指令速度
DemRpmでCW方向に駆動開始する。そしてステッ
プ1306で、駆動方向を示すフラグfDrvCwCc
w=1とし、サブルーチンLensDriveStar
tを終了する。In step 1304, the direction of the drive request is checked. When the drive request is CW (fDemCwCcw =
In the case of 1), in step 1305, the lens starts to be driven in the CW direction at the command speed DemRpm. Then, in step 1306, a flag fDrvCwCc indicating the driving direction is set.
w = 1, subroutine LensDriveStar
Terminates t.
【0140】また、ステップ1304でCCW方向に駆
動要求がある場合(fDemCwCcw=0の場合)、
ステップ1307にて、レンズを指令速度DemRpm
でCCW方向に駆動開始する。そしてステップ1308
で、駆動方向を示すフラグfDrvCwCcw=0と
し、サブルーチンLensDriveStartを終了
する。If there is a drive request in the CCW direction in step 1304 (when fDemCwCcw = 0),
In step 1307, the lens is moved to the command speed DemRpm
To start driving in the CCW direction. And step 1308
Then, a flag fDrvCwCcw = 0 indicating the driving direction is set, and the subroutine LensDriveStart is ended.
【0141】図16を用いて、サブルーチンCheck
LensStsの説明を行う。Referring to FIG. 16, subroutine Check
A description of LensSts will be given.
【0142】ステップ1601では、サブルーチンCa
lcRpmを呼び出し、現在のレンズ速度を算出する。
次にステップ1602では、サブルーチンCheckS
topを呼び出し、レンズの停止状態を調べる。ステッ
プ1603では、サブルーチンCheckDirを呼び
出し、レンズの駆動方向と実際の回転方向が同じかどう
かを調べる。そしてステップ1604では、サブルーチ
ンCheckRpmを呼び出し、現在の速度の状態を調
べる。At step 1601, the subroutine Ca
Call lcRpm to calculate the current lens speed.
Next, in step 1602, the subroutine CheckS
Top is called to check the stop state of the lens. In step 1603, a subroutine CheckDir is called to check whether the driving direction of the lens and the actual rotation direction are the same. In step 1604, a subroutine CheckRpm is called to check the current speed state.
【0143】ここで、各サブルーチンでセットされたフ
ラグを調べる。まずステップ1605では、レンズの停
止状態を表すフラグfLensStopErrを調べ
る。fLensStopErr=1の場合、レンズは停
止していたと判断し、ステップ1609に進み、レンズ
が過誤差状態であるとし、fLensStsErr=1
として、サブルーチンCheckLensStsを終え
る。Here, the flags set in each subroutine are checked. First, in step 1605, a flag fLensStopErr indicating the stopped state of the lens is checked. If fLensStopErr = 1, it is determined that the lens has stopped, and the flow advances to step 1609 to determine that the lens is in an excessive error state, and fLensStsErr = 1.
To end the subroutine CheckLensSts.
【0144】またステップ1605で、fLensSt
opErr=0の場合は、レンズは回転していると判断
され、ステップ1606に進む。ステップ1606で
は、レンズの回転方向の異常を表すフラグfLensI
nvErrを調べる。fLensInvErr=1の場
合、レンズの回転方向に異常があったと判断し、ステッ
プ1609に進む。In step 1605, fLensSt
If opErr = 0, it is determined that the lens is rotating, and the flow advances to step 1606. In step 1606, a flag fLensI indicating an abnormality in the rotation direction of the lens is set.
Check nvErr. If fLensInvErr = 1, it is determined that there is an abnormality in the rotation direction of the lens, and the process proceeds to step 1609.
【0145】fLensInvErr=0の場合は、レ
ンズの回転方向が正常であると判断されるので、ステッ
プ1607に進む。ステップ1607では、レンズの速
度の異常を表すフラグfLensRpmErrを調べ
る。fLensRpmErr=1の場合、レンズの速度
に異常が発生したと判断されるため、ステップ1609
に進む。If fLensInvErr = 0, it is determined that the rotation direction of the lens is normal, and the process proceeds to step 1607. In step 1607, a flag fLensRpmErr indicating an abnormality of the lens speed is checked. If fLensRpmErr = 1, it is determined that an abnormality has occurred in the lens speed.
Proceed to.
【0146】fLensRpmErr=0の場合は、速
度が正常であると判断されたため、ステップ1608に
進む。ステップ1608では、レンズは正常に動作して
いると判断され、fLensStsErr=0として、
サブルーチンCheckLensStsを終了する。If fLensRpmErr = 0, it is determined that the speed is normal, and the flow advances to step 1608. In step 1608, it is determined that the lens is operating normally, and fLensStsErr = 0, and
The subroutine CheckLensSts ends.
【0147】図17を用いてサブルーチンCalcRp
mを説明する。The subroutine CalcRp will be described with reference to FIG.
m will be described.
【0148】ステップ1701では、以下の式によりレ
ンズの現在の速度を算出する。In step 1701, the current speed of the lens is calculated by the following equation.
【0149】 CurRpm =(Lpos−Lpos0)/(T1―Tpos0) ・・・ (10) ステップ1702では、次回の計算のための準備を行
う。CurRpm = (Lpos−Lpos0) / (T1−Tpos0) (10) In step 1702, preparations are made for the next calculation.
【0150】 現在時刻の保存 Tpos0= T1 現在位置の保存 Lpos0= Lpos ステップ1703では、次式によりステップ1701で
算出された現在速度の符号を調べる。Storage of current time Tpos0 = T1 Storage of current position Lpos0 = Lpos In step 1703, the sign of the current speed calculated in step 1701 by the following equation is checked.
【0151】 CurRpm > 0 ・・・・・ (11) 式(11)が成立した場合、レンズはCW(MOD)方
向に回転しているものとし、ステップ1705に進み、
fCurCwCcw=1として、サブルーチンCalc
Rpmを終了する。式(11)が不成立の場合、レンズ
はCW(INF)方向に回転しているものとし、ステッ
プ1704に進み、fCurCwCcw=0として、サ
ブルーチンCalcRpmを終了する。CurRpm> 0 (11) If Expression (11) is satisfied, it is assumed that the lens is rotating in the CW (MOD) direction, and the flow proceeds to step 1705.
Assuming that fCurCwCcw = 1, the subroutine Calc
Exit Rpm. If Expression (11) is not satisfied, it is assumed that the lens is rotating in the CW (INF) direction, the flow proceeds to step 1704, and fCurCwCcw = 0, and the subroutine CalcRpm ends.
【0152】図18を用いてサブルーチンCheckS
topを説明する。The subroutine CheckS will be described with reference to FIG.
The top will be described.
【0153】ステップ1801では前回調べた位置Ls
top0と今回サンプリングした位置Lposの比較を
行う。一致していない場合、ステップ1802に進み、
次回のチェックのための準備を行う。In step 1801, the position Ls checked last time
A comparison is made between top0 and the position Lpos sampled this time. If not, proceed to step 1802,
Prepare for the next check.
【0154】 現在位置の保存 Lstop0 = Lpos 現在時刻の保存 Tpos0 = T1 そしてステップ1806に進み、レンズは停止していな
いとして、fLensStopErr=0として、サブ
ルーチンCheckStopを終了する。Save current position Lstop0 = Lpos Save current time Tpos0 = T1 Then proceed to step 1806, assuming that the lens has not stopped, set fLensStopErr = 0, and end the subroutine CheckStop.
【0155】またステップ1801で前回調べた位置L
stop0と今回サンプリングした位置Lposが一致
している場合、ステップ1804に進み、次式により停
止時間を算出する。In step 1801, the position L previously checked
If stop0 and the currently sampled position Lpos match, the process proceeds to step 1804, and the stop time is calculated by the following equation.
【0156】 Tstop=T1 ― Tstop0 ・・・・・ (12) そしてステップ1805に進み、算出された停止時間T
stopと停止検出用基準時間TstopStdとの比
較を次式により行う。Tstop = T1−Tstop0 (12) Then, the process proceeds to step 1805, where the calculated stop time T is calculated.
The stop and the stop detection reference time TstopStd are compared by the following equation.
【0157】 Tstop≧TstopStd ・・・・・ (13) 式(13)が不成立の場合、レンズは動いているとし
て、ステップ1806に進む。また式(13)が成立の
場合、ステップ1807に進み、レンズが停止している
とし、フラグfLensStopErr=1として、サ
ブルーチンCheckStopを終了する。Tstop ≧ TstopStd (13) When Expression (13) is not satisfied, it is determined that the lens is moving, and the process proceeds to Step 1806. If Expression (13) is satisfied, the flow advances to step 1807 to determine that the lens is stopped, set the flag fLensStopErr = 1, and end the subroutine CheckStop.
【0158】図19を用いてサブルーチンCheckD
irを説明する。ステップ1901では、駆動方向フラ
グfDrvCwCcwと現在の回転方向フラグfCur
CwCcwの一致性を調べる。一致している場合、駆動
方向にレンズは回転しているので、ステップ1905に
進み、次回のチェックのための準備をする。Using the subroutine CheckD with reference to FIG.
ir will be described. In step 1901, the driving direction flag fDrvCwCcw and the current rotation direction flag fCur
Examine the consistency of CwCcw. If they match, the lens is rotating in the drive direction, so the process proceeds to step 1905 to prepare for the next check.
【0159】 現在時刻の保存Tinv0=T1 ・・・・・ (14) ステップ1906ではレンズの回転方向に異常はないと
して、フラグfLensInvErr=0とし、サブル
ーチンCheckDirを終了する。Save current time Tinv0 = T1 (14) In step 1906, it is determined that there is no abnormality in the rotation direction of the lens, the flag fLensInvErr is set to 0, and the subroutine CheckDir is ended.
【0160】ステップ1901で、駆動方向フラグfD
rvCwCcwと現在の回転方向フラグfCurCwC
cwが一致していない場合、ステップ1902に進み、
回転方向の異常時間を次式により算出する。At step 1901, the driving direction flag fD
rvCwCcw and current rotation direction flag fCurCwC
If cw does not match, proceed to step 1902,
The abnormal time in the rotation direction is calculated by the following equation.
【0161】 Tinv=T1―Tinv0 ・・・・・ (15) 次にステップ1903で、回転方向異常時間Tinvと
逆移動検出用基準時間TinvStdとの比較を次式に
より行なう。Tinv = T1−Tinv0 (15) Next, in step 1903, a comparison is made between the abnormal rotational direction time Tinv and the reference time TinvStd for detecting reverse movement by the following equation.
【0162】 Tinv≧TinvStd ・・・・・ (16) ステップ1903で、式(16)が不成立の場合、回転
方向の異常時間が基準時間以内なので、ステップ190
6に進む。Tinv ≧ TinvStd (16) If equation (16) is not satisfied in step 1903, the abnormal time in the rotation direction is within the reference time, so step 190
Proceed to 6.
【0163】ステップ1903で式(16)が成立した
場合、回転方向の異常時間が基準時間以上経過したの
で、回転方向異常が発生したとして、ステップ1904
で、フラグfLensInvErr=1とし、サブルー
チンCheckDirを終了する。If the formula (16) is satisfied in step 1903, the abnormal time in the rotational direction has passed the reference time or more.
Then, the flag fLensInvErr = 1 is set, and the subroutine CheckDir is ended.
【0164】図20を用いてサブルーチンCheckR
pmの説明を行う。The subroutine CheckR will be described with reference to FIG.
pm will be described.
【0165】ステップ2001では、指令速度DemR
pmに対する速度誤差基準速度RpmErrStdを次
式により算出する。In step 2001, the command speed DemR
The speed error reference speed RpmErrStd with respect to pm is calculated by the following equation.
【0166】 RpmErrStd=ABS(DemRpm×RpmErrRatio) ・ ・・・・ (17) ステップ2002では、指令速度DemRpmと現在速
度CurRpmとの速度誤差RpmErrを次式により
算出する。RpmErrStd = ABS (DemRpm × RpmErrRatio) (17) In step 2002, a speed error RpmErr between the command speed DemRpm and the current speed CurRpm is calculated by the following equation.
【0167】 RpmErr=ABS(DemRpm―CurRpm)・・・・・(18) ステップ2003では、速度誤差基準速度RpmErr
Stdと速度誤差RpmErrとの比較を次式にて行
う。RpmErr = ABS (DemRpm−CurRpm) (18) In step 2003, the speed error reference speed RpmErr
A comparison between Std and the speed error RpmErr is performed by the following equation.
【0168】 RpmErrStd≧RpmErr ・・・・・ (19) ステップ2003で式(19)が成立した場合(速度誤
差が小さいと見なされる場合)、速度誤差異常が発生し
たとみなさず、ステップ2007で、次回のチェックの
ための準備を行う。RpmErrStd ≧ RpmErr (19) When Expression (19) is satisfied in Step 2003 (when the speed error is considered to be small), it is not considered that a speed error abnormality has occurred, and in Step 2007, Prepare for the next check.
【0169】現在時間の保存 Trpm0=T1 そして、ステップ2008で速度異常が発生していない
として、フラグfLensRpmErr=0とし、サブ
ルーチンCheckRpmを終了する。Saving the current time Trpm0 = T1 Then, in step 2008, it is determined that no speed abnormality has occurred, the flag fLensRpmErr = 0, and the subroutine CheckRpm is terminated.
【0170】ステップ2003で式(19)が不成立の
場合(速度誤差が大きいと見なされる場合)、ステップ
2004で、不成立時間を次式にて算出する。If equation (19) is not satisfied in step 2003 (if the speed error is considered to be large), in step 2004, the unsatisfied time is calculated by the following equation.
【0171】 Trpm=T1―Trpm0 ・・・・・ (20) ステップ2005で、算出された速度異常時間Trpm
と速度誤差異常検出用基準時間TrpmStdとの比較
を次式にて行う。Trpm = T1−Trpm0 (20) The speed abnormal time Trpm calculated in step 2005
The speed error abnormality detection reference time TrpStd is compared with the following formula.
【0172】 Trpm≧TrpmStd ・・・・・ (21) ステップ2005で、式(21)が不成立の場合、速度
の異常時間が基準時間以内なのでステップ2008に進
む。ステップ2005で式(21)が成立した場合、速
度の異常時間が基準時間を越えたので、速度異常が発生
したとして、ステップ2006に進み、フラグfLen
sRpmErr=1とし、サブルーチンCheckRp
mを終了する。Trpm ≧ TrpmStd (21) If the equation (21) is not satisfied in step 2005, the process proceeds to step 2008 because the abnormal speed time is within the reference time. If Expression (21) is satisfied in step 2005, the abnormal speed time has exceeded the reference time, so that it is determined that a speed abnormality has occurred, and the process proceeds to step 2006 and the flag fLen
sRpmErr = 1, subroutine CheckRp
Exit m.
【0173】図21を用いて、サブルーチンOverE
rrorを説明する。Referring to FIG. 21, subroutine OverE
rr will be described.
【0174】ステップ2101で、レンズを停止する。
ステップ2102で、過誤差状態で停止したことを示す
表示を行う。ステップ2103で、フラグ処理を行う。In step 2101, the lens is stopped.
In step 2102, a display indicating that the operation has stopped in an excessive error state is performed. In step 2103, a flag process is performed.
【0175】 レンズ駆動中フラグ fLensOnDrive=0 レンズ・マニュアル・フラグ fLensManual=1 ステップ2104で、レンズがリモートモード/ローカ
ル・モードのチェックを行う。リモート・モードの場合
(fRemoteLocal=1の場合)、レンズがマ
ニュアル・モードになったことを知らせるために、ステ
ップ2105で、マニュアル・モード・フラグ(fLe
nsManual=1)をシリアル通信を用いて、カメ
ラに転送する。Lens driving flag fLensOnDrive = 0 Lens manual flag fLensManual = 1 In step 2104, the lens checks the remote mode / local mode. In the case of the remote mode (when fRemoteLocal = 1), the manual mode flag (fLe) is set in step 2105 to notify that the lens has entered the manual mode.
nsManual = 1) to the camera using serial communication.
【0176】ステップ2104で、ローカル・モードの
場合(fRemoteLocal=0の場合)、ステッ
プ2106にて、マニュアル・モード解除用データとし
て、停止目標位置LtargetをDemandMan
uとし保存し、サブルーチンOverErrorを終了
する。In step 2104, in the case of the local mode (if fRemoteLocal = 0), in step 2106, the stop target position Ltarget is set as DemandMan as data for releasing the manual mode.
Save as u, and terminate the subroutine OverError.
【0177】ここで、ローカル・モードの場合、停止目
標位置LtargetをDemandManuとして保
存したが、改めてデマンド情報を入力し直して、Dem
andManuとして保存しても同じ効果が得られる。Here, in the case of the local mode, the stop target position Ltarget is stored as DemandManu.
The same effect can be obtained by saving as andManu.
【0178】以上、フォーカス・レンズを例にあげてき
たが、ズーム・レンズやIRIS、さらにはAFに使用
されるウォブリング・レンズなどにも応用可能である
し、カメラ部とレンズ部とのインターフェースがシリア
ルだけでなく、パラレル・インターフェースを用いても
同様なことが可能である。The focus lens has been described above as an example. However, the present invention can be applied to a zoom lens, an IRIS, a wobbling lens used for AF, and the like. The same can be achieved by using not only serial but also a parallel interface.
【0179】[0179]
【発明の効果】請求項1〜請求項8に係る発明によれ
ば、レンズ・システムに矛盾のない制御が実現でき、入
力される目標位置情報の指令ミスやノイズによる誤動作
が抑制され、光学手段を目標位置に停止させることがで
きる。According to the first to eighth aspects of the present invention, control without inconsistency in the lens system can be realized, erroneous operation of input target position information due to a command error or noise can be suppressed, and optical means can be controlled. Can be stopped at the target position.
【図1】本発明の実施の形態を示すシステムブロック図FIG. 1 is a system block diagram showing an embodiment of the present invention.
【図2】図1のレンズの移動方向における絶対位置を示
す図FIG. 2 is a view showing an absolute position of the lens in FIG. 1 in a moving direction.
【図3】図1のシステムのメイン処理のフローチャートFIG. 3 is a flowchart of a main process of the system in FIG. 1;
【図4】図3のシリアル通信による割り込み処理のフロ
ーチャートFIG. 4 is a flowchart of interrupt processing by serial communication in FIG. 3;
【図5】図3の初期化処理のフローチャートFIG. 5 is a flowchart of an initialization process in FIG. 3;
【図6】図3のレンズモードセットのフローチャートFIG. 6 is a flowchart of a lens mode set in FIG. 3;
【図7】図3のレンズリモートモード処理1のフローチ
ャートFIG. 7 is a flowchart of lens remote mode processing 1 of FIG. 3;
【図8】図3のレンズリモートモード処理2のフローチ
ャートFIG. 8 is a flowchart of lens remote mode processing 2 in FIG. 3;
【図9】図3のレンズ駆動方向の処理のフローチャートFIG. 9 is a flowchart of processing in a lens driving direction in FIG. 3;
【図10】図3のレンズ駆動方向のチェック処理のフロ
ーチャートFIG. 10 is a flowchart of a lens driving direction check process in FIG. 3;
【図11】図3の駆動不感帯のチェック処理のフローチ
ャートFIG. 11 is a flowchart of a drive dead zone check process in FIG. 3;
【図12】図3のレンズ駆動の準備処理のフローチャー
トFIG. 12 is a flowchart of a lens drive preparation process of FIG. 3;
【図13】図3のレンズの駆動開始処理のフローチャー
トFIG. 13 is a flowchart of a lens driving start process of FIG. 3;
【図14】図3のレンズの位置停止処理のフローチャー
トFIG. 14 is a flowchart of a lens position stop process of FIG. 3;
【図15】図3の目標位置到達停止処理のフローチャー
トFIG. 15 is a flowchart of target position arrival stop processing of FIG. 3;
【図16】図3のレンズ状態のチェック処理のフローチ
ャートFIG. 16 is a flowchart of a lens state checking process in FIG. 3;
【図17】図3のレンズ速度の処理のフローチャートFIG. 17 is a flowchart of processing of the lens speed in FIG. 3;
【図18】図3のレンズの停止処理のフローチャートFIG. 18 is a flowchart of a lens stopping process of FIG. 3;
【図19】図3の回転方向処理のフローチャートFIG. 19 is a flowchart of a rotation direction process of FIG. 3;
【図20】図3の速度誤差チェック処理のフローチャー
トFIG. 20 is a flowchart of a speed error check process of FIG. 3;
【図21】図3の過誤差検出停止処理のフローチャートFIG. 21 is a flowchart of an over error detection stop process of FIG. 3;
【図22】図3のレンズローカルモード処理のフローチ
ャートFIG. 22 is a flowchart of a lens local mode process of FIG. 3;
【図23】図3の停止目標位置制限処理のフローチャー
トFIG. 23 is a flowchart of a stop target position limiting process of FIG. 3;
【図24】図3の端処理の説明図FIG. 24 is an explanatory diagram of the end processing in FIG. 3;
101 レンズ部 102 aCPU 103 タイマ 104 モータ駆動ドライバ 105 モータ 106 光学レンズ 107 エンコーダ 108 カウンタ 109 手動操作部 110 START−SW 111 表示部 112 R/L−SW 113 EEPROM 120 カメラ部 121 bCPU Reference Signs List 101 lens unit 102 aCPU 103 timer 104 motor drive driver 105 motor 106 optical lens 107 encoder 108 counter 109 manual operation unit 110 START-SW 111 display unit 112 R / L-SW 113 EEPROM 120 camera unit 121 bCPU
Claims (8)
駆動する駆動手段と、前記駆動手段を制御する駆動制御
手段とを有する撮影用レンズ装置において、前記駆動制
御手段は、入力される目標位置を所定範囲内の位置に制
限する目標位置制限手段を有することを特徴とする撮影
用レンズ装置。1. A photographing lens apparatus having movable optical means, driving means for driving said optical means, and drive control means for controlling said driving means, wherein said drive control means is provided with an input target. A photographing lens device comprising target position limiting means for limiting a position to a position within a predetermined range.
駆動する駆動手段と、前記駆動手段を制御する駆動制御
手段とを有し、カメラ装置に装着されて使用される撮影
用レンズ装置において、前記駆動制御手段は、前記カメ
ラ装置から入力される目標位置を所定範囲内の位置に制
限する目標位置制限手段を有することを特徴とする撮影
用レンズ装置。2. A photographing lens device having a movable optical device, a driving device for driving the optical device, and a driving control device for controlling the driving device, wherein the photographing lens device is mounted on a camera device and used. A photographing lens device, wherein the drive control means includes target position limiting means for limiting a target position input from the camera device to a position within a predetermined range.
可動範囲内に設定したことを特徴とする請求項1または
2記載の撮影用レンズ装置。3. The photographing lens device according to claim 1, wherein the predetermined range is set within a mechanically movable range of the optical member.
ない場合には、前記目標位置を前記目標位置に最も近い
前記所定範囲内の最も外側の位置に置換することを特徴
とする請求項1乃至3のいずれか一つに記載の撮影レン
ズ装置。4. The method according to claim 1, wherein when the target position is not located within the predetermined range, the target position is replaced with an outermost position within the predetermined range closest to the target position. The photographing lens device according to any one of claims 1 to 3.
段を所定範囲内で駆動する駆動手段を有し、駆動位置を
示すデータを設定する設定手段からのデータに基づいて
駆動手段により光学手段を該データに応じた位置に駆動
する撮影用レンズ装置において、 前記設定手段に設定されるデータが前記所定の範囲外の
値のデータの時、該データを前記所定範囲内の値に変更
する変更手段を設け、前記データが所定の範囲外の値の
データの時変更されたデータに応じて前記駆動手段を駆
動することを特徴とする撮影用レンズ装置。5. A drive unit for driving an optical unit within a predetermined range in accordance with data of a value in a predetermined range, wherein the optical unit is driven by the drive unit based on data from a setting unit for setting data indicating a drive position. In a photographing lens device for driving a unit to a position corresponding to the data, when the data set in the setting unit is data having a value outside the predetermined range, the data is changed to a value within the predetermined range. A photographing lens device, further comprising a changing unit, wherein the driving unit is driven in accordance with the changed data when the data is data having a value outside a predetermined range.
該第1の値よりも大きな第2の値までのデータであり、
前記設定手段からの駆動位置を表すデータが前記第1の
値よりも小さな値を示す時、前記変更手段は、設定され
たデータを前記第1の値のデータに変更することを特徴
とする請求項5に記載の撮影用レンズ装置。6. The data in the predetermined range is a data up to a first value and a second value larger than the first value,
When the data representing the drive position from the setting means indicates a value smaller than the first value, the changing means changes the set data to the data of the first value. Item 6. A photographing lens device according to item 5.
タが前記第2の値よりも大きな値を示す時、前記変更手
段は、設定されたデータを前記第2の値のデータに変更
することを特徴とする請求項5または6に記載の撮影用
レンズ装置。7. When the data indicating the drive position from the setting unit indicates a value larger than the second value, the changing unit changes the set data to the data of the second value. The photographing lens device according to claim 5 or 6, wherein:
すデータを前記所定の範囲を超える範囲で設定すること
を特徴とする請求項5、6または7に記載の撮影用レン
ズ装置。8. The photographing lens device according to claim 5, wherein the setting unit sets data representing a driving position of the lens in a range exceeding the predetermined range.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11024857A JP2000221381A (en) | 1999-02-02 | 1999-02-02 | Photographing lens device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11024857A JP2000221381A (en) | 1999-02-02 | 1999-02-02 | Photographing lens device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000221381A true JP2000221381A (en) | 2000-08-11 |
Family
ID=12149900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11024857A Pending JP2000221381A (en) | 1999-02-02 | 1999-02-02 | Photographing lens device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000221381A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009008984A (en) * | 2007-06-29 | 2009-01-15 | Nikon Corp | Lens drive device, lens drive method, focusing device and imaging apparatus |
JP2011138018A (en) * | 2009-12-28 | 2011-07-14 | Canon Inc | Image pickup apparatus including focus operating apparatus and focus control method |
JP2018088014A (en) * | 2011-03-31 | 2018-06-07 | 株式会社ニコン | Lens barrel and camera system |
-
1999
- 1999-02-02 JP JP11024857A patent/JP2000221381A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009008984A (en) * | 2007-06-29 | 2009-01-15 | Nikon Corp | Lens drive device, lens drive method, focusing device and imaging apparatus |
JP2011138018A (en) * | 2009-12-28 | 2011-07-14 | Canon Inc | Image pickup apparatus including focus operating apparatus and focus control method |
JP2018088014A (en) * | 2011-03-31 | 2018-06-07 | 株式会社ニコン | Lens barrel and camera system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3205296B2 (en) | Shooting lens device | |
JPS63256931A (en) | Focusing lens driving device | |
US20040056974A1 (en) | Photographing apparatus | |
US5903783A (en) | Motion compensation device to control a centering operation of a motion compensation lens | |
JP2000221381A (en) | Photographing lens device | |
JP4040406B2 (en) | Camera system, camera and lens device | |
JPH02294606A (en) | Camera with power-zoom function, lens interchangeable camera, and interchangeable lens with power zoom function | |
JP2000221380A (en) | Optical device, lens device and camera system | |
JP3169580B2 (en) | Optics, demands and cameras | |
US5701521A (en) | Photographic device having a vibration compensation function with reduced power consumption | |
US5587764A (en) | Camera-shake correcting camera | |
JP2000305001A (en) | Optical device | |
JPH10186489A (en) | Controller, camera accessory device, and camera apparatus | |
JP2004012492A (en) | Lens driving system | |
JPH11287944A (en) | Driving device, optical device, photographing lens device and camera system | |
JPH07294981A (en) | Camera provided with function for correcting its shake | |
JP3122680B2 (en) | Camera operation means position control device | |
JPS5830143B2 (en) | Initial alignment method of rotating body servo positioning device in phototypesetting machine | |
JPH11287943A (en) | Driving device, optical device and photographing lens device | |
JP2000321484A (en) | Optical device, camera system, and optical system | |
JPH10170974A (en) | Automatic focus lens device provided with vibration proof function | |
JPH06324247A (en) | Controller for camera | |
JP2838285B2 (en) | camera | |
JPH08334804A (en) | Photographic device with blur correcting mechanism and lens device | |
JP2000162489A (en) | Optical device |