以下、本発明の実施の形態について図面を参照しながら説明する。図1は本発明の一実施の形態に係る光学走査装置の主要部構成を示す斜視図である。
本実施の形態の光学走査装置2は、図1に示すように、画像形成装置1において、バックグラウンド露光方式(BAE方式)により、感光ドラム(像担持体)13上の複数の主走査ラインを同時に露光走査する装置として用いられている。
光学走査装置2は、レーザユニット5、光量検出ユニット(以下、PDユニットという)7、スキャナユニット10、ビーム検出センサ(以下、BDセンサという)14、コリメートレンズ6、シリンドリカルレンズ9および反射ミラー12を有する。
レーザユニット5には、2つの発光部4a,4bを有する半導体レーザ4が設けられており、各発光部4a,4bは、それぞれ、レーザビームLB1,LB2を出射する。半導体レーザ4の各発光部4a,4bから出射されたレーザビームLB1,LB2は、コリメートレンズ6を経て、PDユニット7に入射する。
PDユニット7は、各発光部4a,4bから出射されたレーザビームLB1,LB2の光量を検出するための検出するための検出手段を構成する。PDユニット7の内部には、入射したレーザビームLB1,LB2の一部を反射する反射ミラー7aが設けられている。この反射ミラー7aで反射されたレーザビームLB1,LB2は、PDユニット7の内部を進行し、端面に設けられているフォトディテクタ(以下、PDセンサという)7bで受光される。PDセンサ7bは、受光したレーザビームLB1,LB2の光量に応じた値を示すPD信号8を出力する。このPD信号8は、レーザユニット5に入力される。
PDユニット7を通過したレーザビームLB1,LB2は、シリンドリカルレンズ9を経て、スキャナユニット10のポリゴンミラー10aに到達する。ポリゴンミラー10aは、モータ10bにより、等角速度で回転される。ポリゴンミラー10aに到達したレーザビームLB1,LB2は、ポリゴンミラー10aによって偏向され、f−θレンズ11によって感光ドラム(像担持体)13の回転方向と直交する方向(主走査方向)に等速走査するレーザビームに変換される。
f−θレンズ11を経たレーザビームLB1,LB2は、反射ミラー12を経て、感光ドラム13の表面(画像領域)に照射される。これにより、感光ドラム13の表面(画像領域)において、2つの主走査方向ラインが同時に露光走査される。
ここで、f−θレンズ11を経たレーザビームLB1,LB2の一部は、f−θレンズ11の後方に配置されているBDセンサ14に入射する。BDセンサ14は、上記レーザビームLB1,LB2を受光すると、感光ドラム13上の画像領域の基準位置を決定するためのビーム検出信号(以下、BD信号という)15を出力する。このBD信号15は、レーザユニット5およびエンジン制御部3(図2)に入力される。
各レーザビームLB1,LB2の露光走査により、感光ドラム13の表面(画像領域)には、画像信号25に基づいた静電潜像が形成される。感光ドラム13の表面に形成された静電潜像は、現像器(図示せず)によりトナー像として現像され、当該トナー像は、転写器(図示せず)により、用紙上に転写される。そして、用紙上に転写されたトナー像は、定着器(図示せず)により定着され、トナー像が定着された用紙は、画像形成装置1の外部に排紙される。
次に、光学走査装置2のレーザユニット5の構成について図2を参照しながら説明する。図2は図1のレーザユニット5の構成を示すブロック図である。
光学走査装置2のレーザユニット5は、図2に示すように、制御部31、半導体レーザ4の各発光部4a,4bにそれぞれ対応する2つの電流生成部53a,53b、クロック発生部32およびEEPROM34を有する。
制御部31は、エンジン制御部3からの動作開始命令を受信すると、ディセーブルモード(DIS)、BD検出モード、初期APCモード、画像形成モードの各モードを実行すべく、各電流生成部53a,53bを制御する。この制御においては、エンジン制御部3からの設定値とBDセンサ14からのBD信号15に基づいて、上記モードのそれぞれに応じた制御信号54を発行し、各電流生成部53a,53bに出力する。
各電流生成部53a,53bは、それぞれ、制御部31からの制御信号54に基づいて、半導体レーザ4の発光部4a,4bを駆動させるための電流64a,64bを生成する。各電流64a,64bは、それぞれ、対応するドライバ65a,65bに出力される。
上記画像形成モード時、各ドライバ65a,65bには、それぞれ、エンジン制御部3から出力された画像信号25a,25bが入力される。上記画像信号25a,25bは、画像濃度に応じた時間幅を有するパルス信号である。各ドライバ65a,65bは、上記画像信号25a,25bに基づいて上記電流64a,64bを変調し、当該変調された電流を駆動電流(Id)66a,66bとして各発光部4a,4bに供給する。半導体レーザ4の各発光部4a,4bは、上記駆動電流64a,64bにより駆動されてレーザビームLB1,LB2を出射する。各レーザビームLB1,LB2は、画像信号25a,25bに基づいて変調されたレーザビームである。各電流生成部53a,53bの詳細については、後述する。
クロック発生部32は、制御部31、各電流生成部53a,53bなどの動作のタイミングの基準となるクロック信号33を出力する。
EEPROM(不揮発性メモリ)34には、レーザユニット5の駆動に必要な設定値が保持されている。
エンジン制御部3は、CPU16、バックアップメモリ18、画像制御部21、スキャナユニット制御部22などから構成され、画像形成装置全体の制御を行う。CPU16は、光学走査装置2のレーザユニット5と通信可能に接続される。また、CPU16は、紙先端センサ(以下、ITOPセンサという)26から出力された書き出し位置信号27を取り込む。この書き出し位置信号27は、画像形成装置1において印字開始位置に用紙が搬送されたときに、出力される信号である。
バックアップメモリ18には、画像処理部21、スキャナ制御部22、制御部31、各電流生成部53a,53bなどに対する設定値が保持されるとともに、感光ドラム13の感度データが保持される。バックアップメモリ18に保持されている制御部31、各電流生成部53a,53bに対する設定値は、制御部31を介してEEPROM34から取得された設定値であり、光学走査装置2の交換などに応じて更新される。また、感光ドラム13の感度データも、感光ドラム13の交換などに応じて更新される。この感度データの詳細については、後述する。
CPU16は、対応する設定値を画像処理部21およびスキャナ制御部22に設定するとともに、画像処理部21およびスキャナ制御部22の動作を制御するための命令を発行する。また、CPU16は、レーザユニット5に設定される各種設定値およびレーザユニット5の動作を制御するための命令を、レーザユニット5に送信する。
画像処理部21は、CPU16からの命令に従い、入力された画像データに対応する画像処理、プリンタ(図示せず)における用紙の搬送を制御する。また、画像処理部21は、画像処理された後の画像データを画像信号25a,25bに変換する。ここで、画像信号25aは、半導体レーザ4の発光部4aに対する信号であり、ドライバ65aに供給される。画像信号25bは、発光部4bに対する信号25bであり、ドライバ65bに出力される。
スキャナ制御部22は、CPU16からの命令に従い、スキャナユニット10のモータ10b(図1)の駆動制御を開始する。ここで、スキャナユニット制御部22は、BDセンサ14から出力されるBD信号15を監視しながら、ポリゴンミラー10a(図1)が所定の等角速度での回転状態になるように、モータ10bの駆動を制御する。
次に、レーザユニット5の制御部31および電流生成部53a,53bについて図3を参照しながら詳細に説明する。図3は図2の電流生成部53aの主要部構成を示すブロック図である。ここでは、各電流生成部53a,53bは同じ構成を有するので、電流生成部53aの構成のみを図示することにする。
制御部31は、図3に示すように、BDセンサ14からのBD信号15およびCPU16から送信されたタイミング設定値43に基づいて、ディセーブルモード、BD検出モード、初期APCモード、画像形成モードの各モードに応じた制御信号54を発行する。制御信号54には、後述するように、第1光量制御信号(APCCTL1)、第2光量制御信号(APCCTL2)、ビデオ出力信号(VDOON)、APC選択信号(APCSEL)の各信号が含まれる。そして、制御信号54の上記各信号は、ディセーブルモード、BD検出モード、初期APCモード、画像形成モードのそれぞれのモードに応じて、組み合わされる。
ここで、ディセーブルモードは、半導体レーザ4の各発光部4a,4bを非発光状態にするモードである。BD検出モードは、BD信号15を検出するためのモードである。初期APCモードは、半導体レーザ4の各発光部4a,4bが出射するレーザビームLB1,LB2の光量をそれぞれ所定光量にするための電流64a,64b(駆動電流66a,66b)を求めるモードである。ここで、電流64a,64bは、スイッチング電流60(第1の電流)およびバイアス電流62(第2の電流)を加算した電流である。スイッチング電流60は、発光部4a,4bが出射するレーザビームの光量を最大光量(第1の光量)にするための電流であり、バイアス電流62は、発光部4a,4bが出射するレーザビームの光量を最少光量(第2の光量)にするための電流である。初期APCモードにおいては、電流64a,64bを求めるために、スイッチング電流60およびバイアス電流62が求められる。画像形成モードは、画像信号25a,25bに基づいて変調されたレーザビームLB1,LB2により感光ドラム13を露光走査し、感光ドラム13上に静電潜像を形成するモードである。
電流生成部53a(53b)は、図3に示すように、ゲイン制御回路46、光量制御回路52、光量設定回路67および補正回路71を有し、PDセンサ7bからのPD信号に基づいて、発光部4aに対するスイッチング電流およびバイアス電流を生成する。
具体的には、ゲイン制御回路46は、電子可変抵抗(図示せず)と比較器(図示せず)から構成される。上記電子可変抵抗には、CPU16から送信されたゲイン設定値42が設定される。このゲイン設定値42は、光学走査装置2の組立調整時に設定された値(EEPROM34に格納されている設定値)である。ゲイン制御回路46は、上記電子可変抵抗の設定値とPDセンサ7bからのPD信号8が示す値(光量値)を乗算し、当該乗算した結果と基準電圧50とを比較する。この比較結果は、信号47として光量制御回路52に出力される。
光量制御回路52は、上記制御信号54の各信号の組み合わせに基づいて、発光部4aを駆動させるための制御値を出力する。上記制御値としては、スイッチング電流コード値55およびスイッチングゲイン設定値56と、バイアス電流コード値57およびバイアスゲイン設定値58がある。スイッチング電流コード値55は、乗算器69、補正回路71のそれぞれに出力される。スイッチングゲイン設定値56は、スイッチング電流用デジタルアナログ変換器(以下、スイッチングDACという)59、補正回路71のそれぞれに出力される。バイアス電流コード値57は、加算器76に出力される。バイアスゲイン設定値58は、バイアス電流用デジタルアナログ変換器(以下、バイアスDACという)61、補正回路71のそれぞれに出力される。
また、光量制御回路52は、スイッチングDAC59とバイアスDAC61間に生じる相対的な出力誤差を解消するための補正係数81を算出する補正係数算出回路80を内蔵する。上記補正係数81は、スイッチング電流コード値55、スイッチングゲイン設定値56、バイアス電流コード値57およびバイアスゲイン設定値58に基づいて算出され、加算器78に出力される。
光量設定回路67には、CPU16から送信された光量設定値44が設定される。光量設定値44は、ユーザの操作により設定された濃度を示す値である。光量設定回路67は、設定された光量設定値44に対応する光量設定データ68を、補正回路71および乗算器69に出力する。
補正回路71は、感光ドラム13の表面における感度むらに応じた帯電電位のむらを補正するためのスイッチング補正値72およびバイアス補正値73を算出する。スイッチング補正値72は、スイッチング電流コード値55に相当する電流(スイッチング電流)を補正するための補正電流(第1の補正電流)を決定する値である。バイアス補正値73は、バイアス電流コード値57に相当する電流(バイアス電流)を補正するための補正電流(第2の補正電流)を決定する値である。
補正回路71は、具体的には、エンジン制御部3から送信された感度データ45、スイッチング電流コード値55、スイッチングゲイン設定値56および光量設定データ68に基づいて、スイッチング補正値72を算出する。算出されたスイッチング補正値72は、乗算器78に出力される。また、補正回路71は、上記スイッチング補正値72およびバイアスゲイン設定値58に基づいて、バイアス補正値73を算出して加算器76に出力する。
ここで、上記感度データ45は、感光ドラム13表面上の複数の位置においてそれぞれ採取された感度値を示すものであり、当該感度値は、感光ドラム13に照射されるレーザビームの光量(光強度)に比例するものである。感度データ45は、予めバックアップメモリ18に保持されており、CPU16により読み出されて送信される。
乗算器69は、初期APCモードにおいて得られたスイッチング電流コード値55を最大値として、後述するビデオ出力時のスイッチング電流コード値55に光量設定データ68を乗算した値70を減算器74に出力する。
減算器74は、乗算器69から出力された値70から補正回路71からのスイッチング補正値72を減算し、当該減算により得られた値75を、スイッチングDAC59に出力する。
乗算器78は、補正係数算出回路80からの補正係数81と補正回路71からのバイアス補正値73を乗算し、当該乗算により得られた値79を加算器76に出力する。
加算器76は、乗算器78からの値と光量制御回路52からのバイアス電流コード値57を加算し、当該加算により得られた値77をバイアスDAC61に出力する。
スイッチングDAC59は、スイッチング電流を出力するための電流源(第1の電流源)を構成し、バイアスDAC61は、バイアス電流を出力するための電流源(第2の電流源)を構成する。スイッチングDAC59およびバイアスDAC61はAPCの結果に応じた分解能を確保するため、スイッチングゲイン設定値56およびバイアスゲイン設定値58に応じて最大出力電流を切り替えるように構成されている。ここで、スイッチングDAC59のスイッチングゲイン設定値56に応じた最大出力電流値は、固定値である。同様に、バイアスDAC61のバイアスゲイン設定値58に応じた最大出力電流値は、固定値である。
スイッチングDAC59が出力するスイッチング電流60とバイアスDAC61が出力するバイアス電流62は、加算器63において加算され、当該加算された電流64aは、電流ドライバ65aに出力される。
次に、感光ドラム13の感度むらについて図4を参照しながら説明する。図4(a)は半導体レーザ4により感光ドラム13に対して、バックグランド露光方式(BAE方式)による露光走査が行われた場合の露光特性を示す図である。図4(b)は感度むらがない場合の感光ドラム13の潜像特性を示す図である。図4(c)は感度むらがある場合の感光ドラム13の潜像特性を示す図である。
本実施の形態においては、感光ドラム13に対して、バックグランド露光方式(BAE方式)による露光走査が行われる。この露光走査時においては、図4(a)に示すように、半導体レーザ4の各発光部4a,4bに、スイッチング電流(Isw)60とバイアス電流(Ib)62が加算された電流が、駆動電流(Id)66a,66bとして供給される。これにより、各発光部4a,4bは駆動されて、感度むらおよび設定された濃度に応じた光量(光強度)例えば光量P0のレーザビームLB1,LB2を出射する(発光時(ON時)は斜線部)。各発光部4a,4bの消灯時(OFF時)には、バイアス電流(Ib)62のみの電流が、駆動電流(Id)66a,66bとして各発光部4a,4bに供給される。
バックグラウンド露光による潜像特性に関しては、図4(b)および図4(c)に示すように、感光体13の帯電電位Vdと半導体レーザ4(発光部4a,4b)の露光電位Vlに基づいて設定されている閾値Vbackから、現像電位Vdcが決定される。現像電位Vdcは、コントラスト電位Vcontを決定し、コントラスト電位Vcontは、感光ドラム13上のトナーの付着量(図中の斜線部)を決定する。
ここで、図4(b)に示すように、理想的には、感光ドラム13の表面に感度むらがなければ、帯電電位Vdは一定の電位になり、トナーが均一に重畳されることになる。しかしながら、図4(c)に示すように、実際には、感光ドラム13の表面には、感度むらがある。この場合、半導体レーザ4による感光ドラム13に対する露光が均一であっても、帯電電位Vdになる個所、帯電電位Vd’になる個所が発生する。即ち、帯電電位Vdが一定にならず、ばらつくことになる。これにより、コントラスト電位が例えば電位Vcontから電位Vcont’に変動して、トナーは、均一に重畳されない。その結果、画像の濃度むら、線細りなどが発生する。
このような感光ドラム13の感度むらに応じた帯電電位のむらに対応するために、スイッチング電流60を補正するためのスイッチング補正値72およびバイアス電流62を補正するためのバイアス補正値73がそれぞれ算出される。
次に、半導体レーザ4の発光部4a,4bの駆動タイミングについて図5〜図7を参照しながら説明する。図5はディセーブルモード(DIS)、BD検出モード、初期APCモード、画像形成モードの各モードにおける半導体レーザ4の各発光部4a,4bの駆動タイミングを示す図である。図6は図4の初期APCモードにおける半導体レーザ4の発光部4a,4bの駆動タイミングを詳細に示す図である。図7は半導体レーザ4の発光部4a,4bが出射するレーザビームの光量(光強度)Pと駆動電流(Id)との関係を示す図である。
制御部31からは、図5に示すように、ディセーブルモード(DIS)、BD検出モード、初期APCモード、画像形成モードのそれぞれのモードに応じて各信号が組み合わされた制御信号54が発行される。第1光量制御信号(APCCTL1)、第2光量制御信号(APCCTL2)、ビデオ出力信号(VDOON)、APC選択信号(APCSEL)の各信号は、例えば表1に示すように、組み合わされる。
また、制御部31は、初期設定においてエンジン制御部3(CPU16)から送信されたタイミング設定値43に基づいて、上記各信号の組み合わせを切り換えて、各発光部4a,4bの駆動を切り換える。タイミング設定値43は、各発光部4a,4bの駆動を切り換える際のBD信号15の立下りを基準とした時間値であり、タイミング設定値43に基づいて、動作開始タイミング、動作切り換えタイミングなどの各タイミングが決定される。例えば、図5および図6に示すように、タイミングt1〜t12が決定される。
上記ディセーブルモードは、CPU16が制御部31に発光開始命令を出力する前の状態のモードである。このディセーブルモードにおいては、光量制御回路52のスイッチング電流コード値55およびバイアス電流コード値57がともに「0」である。このとき、駆動電流(Id)66は「0」であり、半導体レーザ4は非発光状態にある。
次いで、CPU16は、BD検出モードを開始すべく、発光開始命令を制御部31に送信する。制御部31は、上記発光開始命令を受信すると、BD検出モードを開始するために、LD1APC(表1)に対応する組み合わせの制御信号54を発行する。このLD1APCは、半導体レーザ4の発光部4aを駆動し、PDセンサ7bからのPD信号8に基づいて、発光部4aが出射するレーザビームLB1の光量(光強度)Pが所定光量P0となるスイッチング電流コード値55を求めるものである。
具体的には、BD検出モードにおいて、電流生成部53aの光量制御回路52は、バイアス電流コード値57を「0」に保持した状態で、スイッチング電流コード値55を上昇させながら出力する。これにより、バイアスDAC61から出力されるバイアス電流62は「0」であり、スイッチングDAC59から出力される電流60のみが駆動電流66aとしてドライバ65aを介して、発光部4aに供給される。そして、発光部4aが駆動されて発光を開始し、レーザビームLB1を出射する。このレーザビームLB1の光量(光強度)Pは、図7に示すように、スイッチング電流コード値55の上昇に応じて、増す。
レーザビームLB1の光量の増加に応じて、PDセンサ7bから出力されるPD信号8の値は、次第に増す。光量制御回路52は、図7に示すように、ゲイン制御回路46の出力47に基づいて、PD信号8の値(レーザビームLB1の光量P)が基準電圧50に相当する値(光量P0)に達するまで、スイッチング電流コード値55を上昇させる。そして、光量制御回路52は、レーザビームLB1の光量Pが光量P0に達したときのスイッチング電流コード値55(電流I0に相当するコード値)を保持する。
この後、制御部31には、所定の間隔をおいて、BD信号15が入力される。ここで、制御部31は、2回目のBD信号15が入力されると、当該BD信号15の立ち下がりのタイミング(タイミングt1)で、BD信号15を検出するためのAPCを完了させるべく、対応する制御信号54を出力する。これにより、BD検出モードは、終了する。
本実施の形態においては、BD検出モードが、2回目のBD信号15の立ち下がりで終了するようにしているが、BD信号15を検出するためのAPCが完了する時間に応じて、BD信号15の検出回数を決定することが望ましい。以降のBD信号15の検出は、半導体レーザ4の発光部4aまたは発光部4bの発光時に行われる。
BD検出モード後、制御部31は、半導体レーザ4の発光部4aを強制的に消灯させるべく(OFFすべく)、対応する制御信号54を発行する。この強制消灯においては、光量制御回路52は、レーザビームLB1の光量が光量P0に達したときのスイッチング電流コード値55を保持した状態で、駆動電流(Id)66aが「0」になるように、スイッチング電流コード値55を「0」にする。これにより、発光部4aは、強制的に消灯される。
上記強制消灯後、初期APCモードが開始される(タイミングt2)。この初期APCモードにおいては、図5に示すように、まず、後述する係数αを0.8とするLD1APC(以下、LD1APC(α=0.8)という)が行われる。係数αは、CPU16により各電流生成部53a,53bの光量制御回路52に設定される係数である。
LD1APC(α=0.8)においては、まず、発光部4aに対するスイッチング電流コード値55を求めるためのAPCを実行させるべく、対応する制御信号54が制御部31により発行される。ここで、スイッチング電流コード値55(電流I0に相当するコード値)は、既に、上述したBD検出モードにおいて、電流生成部53aの光量制御回路52に保持されている。よって、発光部4aに対するスイッチング電流コード値55を求めるためのAPCは、省略してもよい。
次いで、制御部31は、タイミングt3で、発光部4aに対するバイアス電流コード値57を求めるためのAPCを開始すべく、対応する制御信号54を発行する。このAPCにおいては、電流生成部53aのゲイン制御回路46に入力される基準電圧50が「1/4」に設定される。即ち、半導体レーザ4の発光部4aが出射する光量Pの目標値が基準電圧50の「1/4」に相当する値(光量P0の「1/4」の光量)に設定される。そして、電流生成部53aの光量制御回路52は、スイッチング電流コード値55を「0」から上昇させる。これにより、電流ドライバ65aを介して駆動電流66aが出力され、半導体レーザ4の発光部4aの駆動が開始される。
光量制御回路52は、図7に示すように、ゲイン制御回路46の出力47に基づいて、PD信号8の値が基準電圧50の「1/4」に相当する値(光量P0の「1/4」の光量)に達するまで、スイッチング電流コード値55を上昇させる。そして、光量制御回路52は、レーザビームLB1の光量Pが基準電圧50の「1/4」に相当する光量に達したときのスイッチング電流コード値55(電流I1に相当するコード値)を保持する。
次いで、光量制御回路52は、保持している2つのスイッチング電流コード値55(I0,I1に相当するコード値)に基づいて、半導体レーザ4の発光部4aの発振開始電流(閾値電流Ith)を算出する。そして、図7に示すように、光量制御回路52は、上記算出した閾値電流Ithに上記係数α(=0.8)を乗算し、この乗算した結果に基づいてバイアス電流コード値57を求める。ここでは、このバイアス電流コード値57は、バイアスDAC61において、バイアスゲイン設定値58に応じた値のバイアス電流(Ib)62に変換されて出力される。
また、光量制御回路52は、保持しているスイッチング電流コード値55(I0に相当するコード値)から上記求めたバイアス電流コード値57を差し引いた値(スイッチング電流コード値の収束値)を、スイッチング電流コード値55として再設定する。このスイッチングコード電流値55は、スイッチングDAC59において、スイッチングゲイン設定値56に応じた値のスイッチング電流(Isw)60に変換されて出力される。
次いで、制御部31は、タイミングt4で、再設定されたスイッチングコード電流値55に対応するスイッチング電流値60でのAPCを開始すべく、対応する制御信号54を発行する。このAPCにおいては、加算器63からスイッチング電流60とバイアス電流62を加算した電流64aが、駆動電流66aとして、ドライバ65aを介して発光部4aに供給される。そして、この駆動電流66aにより駆動された発光部4aからは、レーザビームLB1が出射され、PD信号8が示す値に基づいて、レーザビームLB1の光量が光量P0になるようにスイッチング電流コード値55が制御される。
次いで、制御部31は、タイミングt5で、LD1APC(α=0.8)を終了させて半導体レーザ4の発光部4aを強制的に消灯させるべく、対応する制御信号54を出力する。この強制消灯(OFF)においては、上記バイアス電流コード値57が出力され、上記LD1APCで求められたスイッチング電流コード値55が保持された状態で、「0」のスイッチング電流コード値55が出力される。
次いで、制御部31は、タイミングt6で、LD1APCのBD信号15の検出を開始すべく、対応する制御信号54を発行する。このBD信号15の検出の際には、まず、上記LD1APC(α=0.8)で求められたバイアス電流コード値57に対応するバイアス電流62でAPCが行われ、このAPCの結果に基づいてバイアス電流コード値57が更新される。次いで、タイミングt7で、更新されたバイアス電流コード値57に相当するバイアス電流62と上記APCで得られたスイッチング電流コード値55に相当するスイッチング電流60を加算した電流64aがドライバ65aを介して発光部4aに供給される。そして、発光部4aから出射されるレーザビームLB1の光量が光量P0となるように、スイッチング電流コード値55が制御される。次いで、制御部31は、LD1APCでのBD信号15の検出を終了させて発光部4aを強制的に消灯させるべく、対応する制御信号54を出力する。
発光部4aの強制消灯後、タイミングt8で、係数αを0.4とするLD1APC(以下、LDA1APC(α=0.4)という)が開始される。このLD1APC(α=0.4)は、LD1APC(α=0.8)と同様の手順で行われる。
そして、補正係数算出回路80により、補正係数81が算出される。補正係数81は、2つのLD1APC(α=0.8,0.4)により得られたスイッチング電流コード値55およびバイアス電流コード値57と、スイッチングゲイン設定値56およびバイアスゲイン設定値58とに基づいて算出される。
次いで、算出された補正係数81を用いた補正結果を確認するために、LD1APC(α=0.8)が行われる。この補正結果の確認のためのLD1APCは、省略することも可能である。
同様に、発光部4bに対して、係数αを0.8とするLD2APC(以下、LD2APC(α=0.8)という)、係数αを0.4とするLD2APC(以下、LD2APC(α=0.4)という)、補正係数81の算出が順に行われる。そして、算出された補正係数81を用いた補正結果を確認するために、LD2APC(α=0.8)が行われる。この補正結果の確認のためのLD2APC(α=0.8)は、省略することも可能である。
このようにして各電流生成部53a,53bにおける補正係数81が算出されると、各電流生成部53a,53bの光量制御回路52は、それぞれ、算出された補正係数81を保持する。
初期APCモードが終了すると、図5に示すように、画像形成モードが開始される。制御部31は、まず、ライン間APCを行うべく、対応する制御信号54を発行する。このライン間APCは、タイミングt9で、LD1APCでのBD信号15の検出を行い、タイミングt10で、LD2APCでのBD信号15の検出を行う。LD1APCでのBD信号15の検出、LD2APCでのBD信号15の検出のそれぞれにおいては、各発光部4a,4bが、バイアス電流のみで駆動されるAPCと、スイッチング電流で駆動されるAPCが行われる。
ライン間APC後、各電流生成部53a,53bは、タイミングt11で、それぞれ同じ動作手順で、ビデオ出力(VDO)を開始する。そして、各電流生成部53a,53bは、タイミングt12で、ビデオ出力を終了して各発光部4a,4bを強制消灯させる。各発光部4a,4bの強制消灯後、ライン間APCおよびビデオ出力が繰り返し行われる。
ビデオ出力時、電流生成部53aの光量制御回路52は、初期APCモードで得られたスイッチング電流コード値55を乗算器69に、初期APCモードで得られたバイアス電流コード値57を加算器76にそれぞれ出力する。また、光量制御回路52は、補正係数算出回路80により算出された補正係数81を乗算器78に出力する。
光量設定回路67は、設定された光量設定値44に対応する光量設定データ68を、補正回路71および乗算器69に出力する。補正回路71は、スイッチング補正値72を算出し、減算器74に出力するとともに、バイアス補正値73を算出し、加算器76に出力する。
乗算器69においては、スイッチング電流コード値55と光量設定データ68が乗算され、当該乗算により得られた値70が減算器74に出力される。減算器74においては、乗算器69から出力された値70から補正回路71からのスイッチング補正値72が減算され、当該減算により得られた値75がスイッチングDAC59に出力される。スイッチングDAC59は、減算器74からの値75を、スイッチングゲイン設定値56に応じた電流値に変換し、当該電流値のスイッチング電流60を出力する。スイッチングDAC59から出力されるスイッチング電流60は、スイッチング電流コード値55に相当する電流からスイッチング補正値72に相当する補正電流を減算した電流となる。
乗算器78においては、補正回路71からのバイアス補正値73と補正係数81が乗算され、当該乗算により得られた値79が加算器76に出力される。加算器76においては上記値79とバイアス電流コード値57が加算され、当該加算により得られた値77がバイアスDAC61に出力される。バイアスDAC61は、加算器76からの値77をバイアスゲイン設定値58に応じた電流値に変換し、当該電流値のバイアス電流62を出力する。バイアスDAC61から出力されるバイアス電流62は、バイアス電流コード値57に相当する電流と、バイアス補正値73と補正係数81を乗算した値に相当する電流を加算した電流となる。即ち、バイアス電流62は、バイアス電流コード値57に相当する電流と、バイアス補正値73に相当する補正電流に補正係数81を乗算した電流を加算した電流となる。
スイッチングDAC59が出力するスイッチング電流60とバイアスDAC61が出力するバイアス電流62は、加算器63において加算され、当該加算により得られた電流64aが、発光部4aの駆動電流としてドライバ65aに出力される。
電流生成部53bは、電流生成部53bと同様に動作し、電流64bをドライバ65bに出力する。
このように、感光ドラム13の感度むらおよびスイッチングDAC59とバイアスDAC61間の相対的な出力誤差に応じて補正された駆動電流(Id)66a(66b)が半導体レーザ4の発光部4a(4b)に供給されることになる。
次に、補正係数算出回路80による補正係数81の算出方法について図8を参照しながら説明する。図8(a)はLD1APC(α=0.8)により得られたスイッチング電流Isw1とバイアス電流Ib1と閾値電流Ithとの関係を示す図である。図8(b)はLD1APC(α=0.4)により得られたスイッチング電流Isw1とバイアス電流Ib1と閾値Ithとの関係を示す図である。図8(c)は補正係数81により補正されたスイッチング電流Isw1とバイアス電流Ib1と閾値Ithとの関係を示す図である。
ここでは、半導体レーザ4(発光部4a,4b)として、例えば光出力Pが12(mW)、閾値電流Ithが5(mA)、微分効率ηが1(mW/mA)のものが用いられているとする。また、スイッチングDAC59の最大出力電流は80(mA)、バイアスDAC61の最大出力電流は40(mA)とする。
このような仕様において、半導体レーザ4の発光部4aに対する補正係数81の算出例を説明する。
まず、LD1APC(α=0.8)において、仕様通りの出力が得られる場合(理論値)を想定する。この場合、図8(a)に示すように、スイッチング電流コード値55として、13mAのスイッチング電流Isw1に相当するコード値、バイアス電流コード値57として、4mAのバイアス電流Ib1に相当するコード値が得られることになる。ここで、スイッチングゲイン設定値56は1/4、バイアスゲイン設定値58は1/8であるとする。
しかし、バイアス電流コード値57は、スイッチング電流コード値55に基づいて算出される値である。よって、実際には、スイッチング電流コード値55として、13.4mAのスイッチング電流Isw1に相当するコード値が得られた場合、バイアス電流コード値57として、3.6mAのバイアス電流Ib1に相当するコード値が算出されることになる。即ち、スイッチング電流コード値55に基づいて算出されるバイアス電流コード値57に相当するバイアス電流Ib1は、理論上のバイアス電流Ib1より10%の減の電流(10%の誤差を含むもの)となる。これは、スイッチングDAC59とバイアスDAC61間の出力特性の差により、スイッチングDAC59とバイアスDAC61間に生じる相対的な出力誤差に起因するものである。
LD1APC(α=0.4)においては、図7(b)に示すように、実際に、スイッチング電流コード値55に基づいて算出されるバイアス電流コード値57に相当するバイアス電流Ib2は、1.8mAである。即ち、実際のバイアス電流Ib2は、理論上のバイアス電流Ib2(=2.0mA)より10%の減の電流となる。
このようにして各LD1APC(α=0.8,0.4)により、それぞれのスイッチング電流コード値55およびバイアス電流コード値57が得られる。そして、補正係数算出回路80は、得られたスイッチング電流コード値55およびバイアス電流コード値57と、スイッチングゲイン設定値56およびバイアスゲイン設定値58に基づいて、補正係数81を算出する。
具体的には、補正係数81は、次の式に従い算出される。
補正係数81
={(Ib1に相当するバイアス電流コード値−Ib2に相当するバイアス電流コード値)×(バイアスゲイン設定値58)}/{(Isw2に相当するスイッチング電流コード値−Isw1に相当するスイッチング電流コード値)×(スイッチングゲイン設定値56)}×(40/80)
={(CCh−66h)×(1/8)}/{(C1h−AAh)×(1/4)}×(40/80)
={(204−102)×(1/8)}/{(193−170)×(1/4)}×(40/80)
=1.109
このようして得られた補正係数81は、乗算器78において、バイアス補正値73と乗算され、当該乗算により得られた値は、加算器76においてバイアス電流コード値57と加算される。その結果、補正係数81により補正されたバイアス電流Ibとして、3.99mAのバイアス電流が得られる。即ち、補正係数81により、バイアス電流Ibは、理論上のバイアス電流Ib1に非常に近い値に補正されることになる。その結果、スイッチングDAC59とバイアスDAC61間(第1の電流源と第2の電流源間)で生じる相対的な出力誤差に起因する、APC(レーザビームの光量制御)における精度の低下を抑えることができる。