以下に、本発明の実施形態を図面に基づいて詳細に説明する。なお、以下に説明する実施形態により本発明が限定されるものではない。また、図面の記載において、同一または対応する要素については適宜同一の符号を付している。
[第1実施形態]
図1は、本発明の第1実施形態に係るレーザ装置1Aの概略構成を示す図である。レーザ装置1Aは、レーザ光を出力する装置である。レーザ装置1Aは、発光素子LD1~LD3、制御部10、電源部20、電流センサ30、電圧検出部40、FET50、表示部60及び被操作部70を備える。レーザ装置1Aは、発光装置の一例である。また、レーザ装置1Aは、発光素子の故障判定装置の一例でもある。
電源部20は、発光素子LD1~LD3に電力を供給する直流電源である。電源部20は、発光素子LD1~LD3を駆動する駆動電流を発光素子LD1~LD3に供給する。
発光素子LD1、発光素子LD2、及び発光素子LD3は、光を出力する光源である。本実施形態においては、発光素子LD1、発光素子LD2、及び発光素子LD3は、レーザ光を出力するレーザダイオードであるが、レーザダイオードに限定されるものではない。発光素子LD1、発光素子LD2、及び発光素子LD3は、直列に接続されており、発光素子LD1のアノードは、電源部20に接続されており、発光素子LD3のカソードは、FET50に接続されている。なお、本実施形態においては、レーザ装置1Aが備える発光素子の数は3個であるが、レーザ装置1Aが備える発光素子の数は、3個に限定されるものではなく、2個以下又は4個以上であってもよい。
電流センサ30は、発光素子LD1、発光素子LD2、及び発光素子LD3に流れる駆動電流を測定するセンサである。電流センサ30は、例えば、センス抵抗を用いた周知の電流センサである。電流センサ30は、発光素子LD3のカソードとFET50のドレイン端子との間に直列に挿入されたセンス抵抗にかかる電圧を検出し、検出した電圧を表す信号を、駆動電流を表す信号として制御部10へ出力する。なお、電流センサ30は、ホール素子を用いた電流センサであってもよい。
FET50は、電界効果トランジスタであり、ドレイン端子が電流センサ30を介して発光素子LD3のカソードに接続され、ゲート端子が制御部10に接続され、ソース端子が接地されている。FET50は、ゲート端子に印加される電圧に応じて駆動電流を制御する。なお、電流センサ30がFET50のソース端子と電源部20との間に配置されるようにしてもよい。
電圧検出部40は、AD変換部40a、AD変換部40b、AD変換部40c、及びAD変換部40dを備えている。AD変換部40aは、発光素子LD1のアノードに接続されており、発光素子LD1のアノードにかかる電圧(電圧v1)を検出し、検出した電圧を示すデジタル信号を制御部10へ出力する。AD変換部40bは、発光素子LD1のカソードと発光素子LD2のアノードとの間に接続されており、発光素子LD1と発光素子LD2との間にかかる電圧(電圧v2)を検出し、検出した電圧を示すデジタル信号を制御部10へ出力する。AD変換部40cは、発光素子LD2のカソードと発光素子LD3のアノードとの間に接続されており、発光素子LD2と発光素子LD3との間にかかる電圧(電圧v3)を検出し、検出した電圧を示すデジタル信号を制御部10へ出力する。AD変換部40dは、発光素子LD3のカソードに接続されており、発光素子LD3のカソードにかかる電圧(電圧v4)を検出し、検出した電圧を示すデジタル信号を制御部10へ出力する。レーザ装置1Aが備える発光素子の数が図示した数と異なる場合、レーザ装置1Aは、発光素子の数+1のAD変換部を備え、電源部20に接続された発光素子のアノードにかかる電圧、発光素子間にかかる電圧、及びFET50に接続された発光素子のカソードにかかる電圧を検出する。
なお、本実施形態においては、電気信号の電圧レベルを変換するレベル変換回路を、発光素子LD1のアノードからAD変換部40aまでの間、発光素子LD1と発光素子LD2との間からAD変換部40bまでの間、発光素子LD2と発光素子LD3との間からAD変換部40cまでの間、及び発光素子LD3からAD変換部40dまでの間に設け、レベル変換回路で電圧レベルが変換された電気信号がAD変換部40a、AD変換部40b、AD変換部40c、及びAD変換部40dに入力されるようにしてもよい。
表示部60は、液晶ディスプレイ等で構成されており、例えばレーザ装置1Aの各種情報や発光素子LD1~LD3の状態などを、文字、記号、画像などで表示する。被操作部70は、レーザ装置1Aを操作するためのボタンを備えている。被操作部70は、レーザ光の出力と出力停止とを切り替えるボタンや、発光素子LD1~LD3の状態を判定する処理を開始するためのボタンなどを備えている。なお、被操作部70は、ボタンに限定されるものではなく、レーザ装置1Aのオペレータの操作を受け付けるものであれば、例えばタッチパネルであってもよい。
制御部10は、演算部と、記憶部とを備えている。演算部は、発光素子LD1~LD3を駆動する駆動電流の制御、表示部60の制御、及びレーザ装置1Aが備える機能の実現のための各種演算処理を行うものである。制御部10は、例えばCPU(Central Processing Unit)やFPGA(field-programmable gate array)、又はCPUとFPGAの両方で構成される。
記憶部は、例えばROM(Read Only Memory)で構成される部分とRAM(Random Access Memory)で構成される部分とを備えている。ROMで構成される部分には、演算部が演算処理を行うために使用する各種プログラムやデータなどが格納される。また、RAMは、演算部が演算処理を行う際の作業スペースや演算部の演算処理の結果などを記憶するために使用される。
図2は、記憶部に記憶されているプログラムを演算部が実行することにより実現する機能のうち、本実施形態に係る機能の構成を示したブロック図である。電圧測定部101は、AD変換部40a~40dから供給されるデジタル信号を取得する。電圧測定部101は、取得したデジタル信号が表す電圧から、発光素子LD1~LD3の順方向電圧である、発光素子LD1にかかる電圧(電圧Vak1)、発光素子LD2にかかる電圧(電圧Vak2)、発光素子LD3にかかる電圧(電圧Vak3)を求める。
電流測定部104は、電流センサ30から供給される信号を取得し、取得した信号が表す電流値を求める。電流センサ30は、発光素子LD1~LD3に流れる電流を測定しているため、電流測定部104は、駆動電流を求めているといえる。
電流制御部105は、発光素子LD1~LD3からのレーザ光の出力が被操作部70で指示された出力となるように、FET50のゲート端子に印加する電圧を電流測定部104が求めた電流値に応じて制御し、駆動電流について定電流制御を行う。
判定部102は、電流測定部104が求めた電流値から定まる閾値と、電圧測定部101が求めた電圧Vak1、電圧Vak2及び電圧Vak3に基づいて、発光素子LD1~LD3の状態を判定する。
具体的には、判定部102は、発光素子LD1~LD3のそれぞれについて、故障を判定するために電圧の閾値を記憶している。例えば、判定部102は、発光素子LD1について、駆動電流をaアンペアに設定したときの短絡閾値(TH_sha1)、開放閾値(TH_opa1)、第1出力故障閾値(TH_loa1)及び第2出力故障閾値(TH_hia1)を記憶している。短絡閾値(TH_sha1)は、発光素子LD1が短絡状態であると判定するための閾値であり、開放閾値(TH_opa1)は、発光素子LD1が開放状態であると判定するための閾値であり、第1出力故障閾値(TH_loa1)及び第2出力故障閾値(TH_hia1)は、発光素子LD1が出力低下状態であると判定するための閾値である。
図3の(a)は、駆動電流がaアンペアに設定されたときに電圧測定部101が測定した電圧(Vak1)、短絡閾値(TH_sha1)、開放閾値(TH_opa1)、第1出力故障閾値(TH_loa1)及び第2出力故障閾値(TH_hia1)の関係の一例を示す図である。なお、図3の(a)に示す電圧(Vak1)は、発光素子LD1が故障していないときの電圧を示している。短絡閾値(TH_sha1)は、故障していない発光素子LD1に対してaアンペアの駆動電流が流れたときに発光素子LD1にかかる基準電圧Vstaの電圧値より小さい値であり、開放閾値(TH_opa1)は、基準電圧Vstaの電圧値より大きい値である。第1出力故障閾値(TH_loa1)は、基準電圧Vstaの電圧値より小さく且つ短絡閾値(TH_sha1)より大きい値であり、第2出力故障閾値(TH_hia1)は、基準電圧Vstaの電圧値より大きく且つ開放閾値(TH_opa1)より小さい値である。
また、判定部102は、駆動電流をaアンペアより小さいbアンペアに設定したときの短絡閾値(TH_shb1)、開放閾値(TH_opb1)、第1出力故障閾値(TH_lob1)及び第2出力故障閾値(TH_hib1)を記憶している。短絡閾値(TH_shb1)は、発光素子LD1が短絡状態であると判定するための閾値であり、開放閾値(TH_opb1)は、発光素子LD1が開放状態であると判定するための閾値であり、第1出力故障閾値(TH_lob1)及び第2出力故障閾値(TH_hib1)は、発光素子LD1が出力低下状態であると判定するための閾値である。
図3の(b)は、駆動電流がbアンペアに設定されたのときに電圧測定部101が測定した電圧(Vak1)、短絡閾値(TH_shb1)、開放閾値(TH_opb1)、第1出力故障閾値(TH_lob1)及び第2出力故障閾値(TH_hib1)の関係の一例を示す図である。なお、図3の(b)に示す電圧(Vak1)は、発光素子LD1が故障していないときの電圧を示している。短絡閾値(TH_shb1)は、故障していない発光素子LD1に対してbアンペアの駆動電流が流れたときに発光素子LD1にかかる基準電圧Vstbの電圧値より小さい値であり、開放閾値(TH_opb1)は、基準電圧Vstbの電圧値より大きい値である。第1出力故障閾値(TH_lob1)は、基準電圧Vstbの電圧値より小さく且つ短絡閾値(TH_shb1)より大きい値であり、第2出力故障閾値(TH_hib1)は、基準電圧Vstbの電圧値より大きく且つ開放閾値(TH_opb1)より小さい値である。また、短絡閾値(TH_shb1)は、短絡閾値(TH_sha1)より小さく、開放閾値(TH_opb1)は、開放閾値(TH_opa1)より小さい。また、第1出力故障閾値(TH_lob1)は、第1出力故障閾値(TH_loa1)より小さく、第2出力故障閾値(TH_hib1)は、第2出力故障閾値(TH_hia1)より小さい。
判定部102は、発光素子LD2及び発光素子LD3についても、aアンペアの駆動電流に対して、短絡閾値、開放閾値、第1出力故障閾値及び第2出力故障閾値を記憶し、bアンペアの駆動電流に対して、短絡閾値、開放閾値、第1出力故障閾値及び第2出力故障閾値を記憶している。判定部102は、aアンペアとbアンペア以外の駆動電流に対応する基準電圧及び閾値については、aアンペアの閾値とbアンペアの閾値から線形補間により求めることができる。なお、aアンペアとbアンペア以外の駆動電流に対応する基準電圧及び閾値については、線形補間で求めるのではなくテーブルとして記憶していてもよい。基準電圧は、判定電圧の一例である。また、短絡閾値、開放閾値、第1出力故障閾値及び第2出力故障閾値も判定電圧の一例である。
図2に戻り、判定部102は、電流測定部104が求めた電流値から定まる短絡閾値、開放閾値、第1出力故障閾値及び第2出力故障閾値と、電圧測定部101が求めた電圧値とを比較し、発光素子LD1~LD3の状態を比較の結果に基づいて判定する。判定の方法については後述する。
報知部103は、判定部102の判断結果が表示部60で表示されるように表示部60を制御する。これにより、発光素子LD1~LD3の状態がレーザ装置1Aのオペレータに報知される。
図4は、発光素子LD1~LD3の状態を判定する処理の流れを示すフローチャートである。制御部10は、レーザ光の出力を指示する操作をオペレータが被操作部70に対して行うと、図4に示す処理を実行する。
まず制御部10(電流制御部105)は、ステップS101において、オペレータが被操作部70で指定した出力を行うための駆動電流を求め、求めた駆動電流に対応した電圧をFET50のゲート端子に印加する。これにより、発光素子LD1~LD3を駆動する駆動電流が電源部20から発光素子LD1~LD3に供給される。
AD変換部40aは、電圧v1を示すデジタル信号を制御部10へ出力し、AD変換部40bは、電圧v2を示すデジタル信号を制御部10へ出力する。また、AD変換部40cは、電圧v3を示すデジタル信号を制御部10へ出力し、AD変換部40dは、電圧v4を示すデジタル信号を制御部10へ出力する。
制御部10(電圧測定部101)は、AD変換部40a~40dから供給されるデジタル信号に基づいて、発光素子LD1~LD3の各々にかかる電圧を測定する(ステップS102)。具体的には、制御部10は、供給されるデジタル信号から電圧v1、電圧v2、電圧v3及び電圧v4の電圧値を求め、電圧v1と電圧v2との差を電圧Vak1とし、電圧v2と電圧v3との差を電圧Vak2とし、電圧v3と電圧v4との差を電圧Vak3とする。
次に制御部10(判定部102)は、発光素子LD1~LD3について故障を判定するための閾値を取得する(ステップS103)。ここで、制御部10は、例えば駆動電流がaアンペアである場合、発光素子LD1に対応する短絡閾値(TH_sha1)、開放閾値(TH_opa1)、第1出力故障閾値(TH_loa1)及び第2出力故障閾値(TH_hia1)を取得する。また、制御部10は、発光素子LD2と発光素子LD3についても、対応する短絡閾値、開放閾値、第1出力故障閾値及び第2出力故障閾値を取得する。
制御部10(判定部102)は、状態を判定する発光素子を選択し(ステップS104)、選択した発光素子の状態をステップS105以降で判定する。例えば制御部10は、まず発光素子LD1を選択し、発光素子LD1にかかる電圧Vak1が短絡閾値(TH_sha1)以下であるか判定する(ステップS105)。制御部10は、電圧Vak1が短絡閾値(TH_sha1)以下である場合(ステップS105でYes)、ステップS109へ進む。ここで制御部10は、発光素子LD1が短絡状態であると判定していることになる。換言すると、ここで制御部10は、駆動電流から定まる基準電圧Vstaと電圧Vak1との電圧差が、基準電圧Vstaと短絡閾値(TH_sha1)との電圧差以上であるか判定しているといえ、駆動電流から定まる短絡閾値(TH_sha1)と電圧Vak1との電圧差に基づいて判定しているともいえる。制御部10(報知部103)は、ステップS109において表示部60を制御し、発光素子LD1が短絡状態であることを文字や記号で報知したあと、ステップS108へ進む。
制御部10は、電圧Vak1が短絡閾値(TH_sha1)以下ではない場合(ステップS105でNo)、電圧Vak1が開放閾値(TH_opa1)以上であるか判定する(ステップS106)。制御部10は、電圧Vak1が開放閾値(TH_opa1)以上である場合(ステップS106でYes)、ステップS110へ進む。ここで制御部10は、発光素子LD1が開放状態であると判定していることになる。なお、換言すると、ここで制御部10は、基準電圧Vstaと電圧Vak1との電圧差が、駆動電流から定める基準電圧Vstaと開放閾値(TH_opa1)との電圧差以上であるか判定しているといえ、駆動電流から定まる開放閾値(TH_opa1)と電圧Vak1との電圧差に基づいて判定しているともいえる。制御部10(報知部103)は、ステップS110において表示部60を制御し、発光素子LD1が開放状態であることを文字や記号で報知したあと、ステップS108へ進む。
制御部10は、電圧Vak1が開放閾値(TH_opa1)以上ではない場合(ステップS106でNo)、電圧Vak1が正常範囲内であるか判定する(ステップS107)。具体的には、制御部10は、第1出力故障閾値(TH_loa1)<電圧Vak1<第2出力故障閾値(TH_hia1)であるか判定する。制御部10は、第1出力故障閾値(TH_loa1)<電圧Vak1<第2出力故障閾値(TH_hia1)ではない場合、換言すると、短絡閾値(TH_sha1)<電圧Vak1≦第1出力故障閾値(TH_loa1)、又は第2出力故障閾値(TH_hia1)≦電圧Vak1<開放閾値(TH_opa1)である場合(ステップS107でNo)、ステップS111へ進む。短絡閾値(TH_sha1)<電圧Vak1≦第1出力故障閾値(TH_loa1)と、第2出力故障閾値(TH_hia1)≦電圧Vak1<開放閾値(TH_opa1)の範囲は、出力故障範囲の一例である。ここで制御部10は、基準電圧Vstaと電圧Vak1との電圧差が、駆動電流から定まる基準電圧Vstaと第1出力故障閾値(TH_loa1)との電圧差以上であるかと、基準電圧Vstaと第2出力故障閾値(TH_hia1)との電圧差以上であるかを判定しているといえ、駆動電流から定まる第1出力故障閾値(TH_loa1)と電圧Vak1との電圧差と、駆動電流から定まる第2出力故障閾値(TH_hia1)と電圧Vak1との電圧差に基づいて判定しているともいえる。
図3の(c)は、発光素子LD1が故障したときの電圧Vka1の変化の一例を示す図である。発光素子LD1の出力が低下し、図3の(c)に示すように、電圧Vak1が短絡閾値(TH_sha1)と第1出力故障閾値(TH_loa1)との間の電圧に変化し、変化後の電圧を測定した場合、制御部10は、ステップS111へ進む。ここで、制御部10は、発光素子LD1は、出力低下状態であると判定していることになる。制御部10(報知部103)は、ステップS111において表示部60を制御し、発光素子LD1が出力低下状態であることを文字や記号で報知したあと、ステップS108へ進む。
制御部10は、ステップS108において、全ての発光素子LD1~LD3の状態を判定したか判定する。制御部10は、全ての発光素子LD1~LD3の状態を判定していない場合(ステップS108でNo)、ステップS104へ進む。制御部10は、ステップS104へ進むと、状態を判定していない発光素子として、例えば発光素子LD2を選択し、電圧Vak2と、発光素子LD2に対応した短絡閾値、開放閾値、第1出力故障閾値及び第2出力故障閾値とを用い、発光素子LD1の状態を判定したときと同様に発光素子LD2の状態を判定する。
制御部10は、発光素子LD2の状態の判定を終えると、ステップS108からステップS104へ進み、状態を判定していない発光素子LD3を選択し、電圧Vak3と、発光素子LD3に対応した短絡閾値、開放閾値、第1出力故障閾値及び第2出力故障閾値とを用い、発光素子LD1の状態を判定したときと同様に発光素子LD3の状態を判定する。制御部10は、全ての発光素子LD1~LD3の状態を判定した場合(ステップS108でYes)、図4の処理を終了する。
以上説明したように、第1実施形態によれば、発光素子LD1~LD3のそれぞれについて、故障の状態として短絡、開放(オープン)、出力低下の状態を判定することができる。
[第2実施形態]
次に本発明の第2実施形態について説明する。図5は、第2実施形態に係るレーザ装置1Bの概略構成を示す図である。第2実施形態は、発光素子LD1~LD3が出力する光の強度を測定し、光の強度の測定結果も用いて発光素子LD1~LD3の状態を判定する点が第1実施形態と異なる。なお、第1実施形態と同じ構成については同じ符号を付して説明を省略し、以下の説明においては、第1実施形態との相違点について説明する。
レーザ装置1Bは、光強度検出部80を備える。光強度検出部80は、発光素子LD1~LD3が出力する光の強度の和を測定するフォトダイオードを備える。このフォトダイオードは、測定した光の強度を表す信号を制御部10へ出力する。
図6は、記憶部に記憶されているプログラムを演算部が実行することにより実現する機能のうち、第2実施形態に係る機能の構成を示したブロック図である。強度測定部106は、光強度検出部80から供給される信号を取得する。強度測定部106は、取得した信号が表す光の強度を求める。
第2実施形態に係る判定部102は、発光素子LD1~LD3のそれぞれについて、前述の短絡閾値、開放閾値、第1出力故障閾値、第2出力故障閾値に加えて、故障と判定するための光の強度の閾値(光閾値)を記憶している。例えば、判定部102は、aアンペアの駆動電流に対して、発光素子LD1~LD3が故障したと判定するための第1光閾値(TH_R1)を記憶している。また、判定部102は、bアンペアの駆動電流に対して、発光素子LD1~LD3が故障したと判定するための第2光閾値(TH_R2)を記憶している。判定部102は、aアンペアとbアンペア以外の駆動電流に対応する光閾値については、aアンペアの第1光閾値(TH_R1)とbアンペアの第2光閾値(TH_R2)から線形補間により求める。これらの光閾値は、所定の強度閾値の一例である。
判定部102は、強度測定部106が求めた光の強度と光閾値とを比較して発光素子LD1~LD3が故障しているか判定し、故障していると判定した場合には、短絡閾値、開放閾値、第1出力故障閾値及び第2出力故障閾値と、電圧測定部101が求めた電圧値とを比較し、比較の結果に基づいて発光素子LD1~LD3の状態を判定する。
図7は、第2実施形態において発光素子LD1~LD3の状態を判定する処理の流れを示すフローチャートである。制御部10は、レーザ光の出力を指示する操作をオペレータが被操作部70に対して行うと、図7に示す処理を実行する。
まず制御部10(電流制御部105)は、ステップS201において、オペレータが被操作部70で指定した出力を行うための駆動電流を求め、求めた駆動電流に対応した電圧をFET50のゲート端子に印加する。
次に制御部10(電圧測定部101、強度測定部106)は、発光素子LD1~LD3が出力している光の強度の和と、発光素子LD1~LD3の各々にかかる電圧を測定する(ステップS202)。具体的には、制御部10は、AD変換部40a~40dから供給されるデジタル信号から電圧v1、電圧v2、電圧v3及び電圧v4の電圧値を求め、電圧v1と電圧v2との差を電圧Vak1とし、電圧v2と電圧v3との差を電圧Vak2とし、電圧v3と電圧v4との差を電圧Vak3とする。また、制御部10は、光強度検出部80から供給される信号を取得して発光素子LD1~LD3が出力している光の強度の和を測定する。
次に制御部10(判定部102)は、発光素子LD1~LD3について故障を判定するための閾値を取得する(ステップS203)。ここで、制御部10は、例えば駆動電流がaアンペアである場合、aアンペアの駆動電流に対応する第1光閾値(TH_R1)を取得する。また、制御部10は、駆動電流がaアンペアである場合、発光素子LD1に対応する短絡閾値(TH_sha1)、開放閾値(TH_opa1)、第1出力故障閾値(TH_loa1)及び第2出力故障閾値(TH_hia1)を取得し、発光素子LD2と発光素子LD3についても短絡閾値、開放閾値、第1出力故障閾値及び第2出力故障閾値を取得する。
制御部10(判定部102)は、状態を判定する発光素子を選択し(ステップS204)、選択した発光素子の状態をステップS205以降で判定する。例えば制御部10は、まず発光素子LD1を選択し(ステップS204)、ステップS202で測定した発光素子LD1~LD3が出力している光の強度の和が、ステップS203で取得した光閾値以下であるか判定する(ステップS205)。なお、制御部10は、ステップS204とステップS205の順序を入れ替え、ステップS205を行った後にステップS204を行うようにし、ステップS205でNoと判定した場合には、図7の処理を終了し、ステップS209でNoと判定した場合には、ステップS204へ戻るようにしてもよい。このようにすることで、ステップS205の実行回数を減らすことができる。
発光素子に係る電圧を測定する際には、例えば、AD変換部40a~40Dと発光素子LD1~LD3とを結ぶラインにノイズが乗ったときの電圧を測定してしまうことが生じえる。この場合、第1実施形態の構成であると、AD変換部40a~40Dと発光素子LD1~LD3とを結ぶラインにノイズが乗ったときの電圧の検出結果を用いて状態の判定を行ってしまい、発光素子が故障していなくても、故障と判定しまう虞がある。
一方、発光素子LD1~LD3が出力する光の強度の和については、故障の状態が短絡、開放、出力低下のいずれの場合であっても、測定される光の強度は正常なときより低下し、故障していない場合には、AD変換部40a~40Dと発光素子LD1~LD3とを結ぶラインにノイズが乗ったとしても変化しない。そこで第2実施形態においては、発光素子LD1~LD3が出力する光の強度の和を用い、ステップS205において、まずノイズの影響を受けない光の強度の和の測定結果を用いて故障しているか否かを判定している。
制御部10は、発光素子LD1~LD3が出力している光の強度の和が、ステップS203で取得した光閾値を超えている場合(ステップS205でNo)、ステップS209へ進む。ここで、制御部10は、発光素子LD1~LD3は、故障していない状態であると判定していることになる。
制御部10は、発光素子LD1~LD3が出力する光の強度の和が、ステップS203で取得した光閾値以下である場合(ステップS205でYes)、ステップS206へ進む。ここで、制御部10は、発光素子LD1~LD3の少なくとも一つが故障している状態であると判定していることになる。
ステップS206の処理は、ステップS105と同じであり、ステップS206でYesと判定した場合に進むステップS210の処理は、ステップS109と同じである。ステップS207の処理は、ステップS106と同じであり、ステップS207でYesと判定した場合に進むステップS211の処理は、ステップS110と同じである。ステップS208の処理は、ステップS107と同じであり、ステップS208でNoと判定した場合に進むステップS212の処理は、ステップS111と同じである。即ち、第2実施形態においては、制御部10は、ステップS206~ステップS208において、短絡状態、開放状態、出力低下状態を判定し、ステップS210~ステップS212において、故障の状態の報知を行っている。
制御部10は、ステップS209において、全ての発光素子LD1~LD3の状態を判定したか判定する。制御部10は、全ての発光素子LD1~LD3の状態を判定していない場合(ステップS209でNo)、ステップS204へ進む。制御部10は、ステップS204へ進むと、状態を判定していない発光素子として、例えば発光素子LD2を選択し、電圧Vak2と、光閾値、発光素子LD2に対応した短絡閾値、開放閾値、第1出力故障閾値及び第2出力故障閾値とを用い、発光素子LD1の状態を判定したときと同様に発光素子LD2の状態を判定する。
制御部10は、発光素子LD2の状態の判定を終えると、ステップS209からステップS204へ進み、状態を判定する発光素子として発光素子LD3を選択し、電圧Vak3と、光閾値、発光素子LD3に対応した短絡閾値、開放閾値、第1出力故障閾値及び第2出力故障閾値とを用い、発光素子LD1の状態を判定したときと同様に発光素子LD3の状態を判定する。制御部10は、全ての発光素子LD1~LD3の状態を判定した場合(ステップS209でYes)、図7の処理を終了する。
以上説明したように、第2実施形態によれば、AD変換部40a~40Dと発光素子LD1~LD3とを結ぶラインにノイズが乗ったとしても、故障と判定するのを防ぐことができる。
[第3実施形態]
次に本発明の第3実施形態について説明する。第3実施形態は、発光素子LD1~LD3が出力する光の強度の測定結果に基づいて故障していると判定したときに、出力低下の故障については、発光素子に供給する駆動電流を変更して電圧Vak1、電圧Vak2及び電圧Vak3を測定し、駆動電流を変更した後の電圧Vak1、電圧Vak2及び電圧Vak3を用いて故障を判定する点が第2実施形態と異なる。以下、第2実施形態との相違点について説明する。
第3実施形態に係る判定部102は、発光素子LD1~LD3のそれぞれについて、第1実施形態及び第2実施形態で説明した各種閾値に加えて、駆動電流を予め定められた所定電流値にしたときに故障と判定するための短絡閾値、開放閾値、第1出力故障閾値及び第2出力故障閾値も記憶している。この所定電流値は、例えば発光素子LD1~LD3がレーザダイオードである場合、発振しきい値電流に近い値である。なお、所定電流値は、発振しきい値電流に近い値に限定されるものではない。
判定部102は、発光素子LD1~LD3について、所定電流値の駆動電流を供給したときに発光素子LD1の出力が低下したと判定するための第3出力故障閾値(TH_lo11)及び第4出力故障閾値(TH_hi11)を記憶している。第3出力故障閾値(TH_lo11)は、故障していない発光素子LD1に対して所定電流値の駆動電流が流れたときに発光素子LD1にかかる基準電圧の電圧値より小さい値であり、第4出力故障閾値(TH_hi11)は、故障していない発光素子LD1に対して所定電流値の駆動電流が流れたときに発光素子LD1にかかる基準電圧の電圧値より大きい値である。
図8は、第3実施形態において発光素子LD1~LD3の状態を判定する処理の流れを示すフローチャートである。制御部10は、レーザ光の出力を指示する操作をオペレータが被操作部70に対して行うと、図8に示す処理を実行する。
ステップS301の処理は、ステップS201と同じであり、ステップS302の処理は、ステップS202と同じであるため、説明を省略する。
次に制御部10(判定部102)は、発光素子LD1~LD3の故障を判定するための閾値を取得する(ステップS303)。ここで、制御部10は、例えば駆動電流がaアンペアである場合、aアンペアの駆動電流に対応する光閾値を取得する。また、制御部10は、発光素子LD1に対応する短絡閾値(TH_sha1)、開放閾値(TH_opa1)、第1出力故障閾値(TH_loa1)及び第2出力故障閾値(TH_hia1)を取得し、発光素子LD2と発光素子LD3についても短絡閾値、開放閾値、第1出力故障閾値及び第2出力故障閾値を取得する。また、発光素子LD1~LD3について、第3出力故障閾値(TH_lo11)及び第4出力故障閾値(TH_hi11)も取得する。
制御部10(判定部102)は、状態を判定する発光素子を選択し(ステップS304)、選択した発光素子の状態をステップS305以降で判定する。例えば制御部10は、まず発光素子LD1を選択し(ステップS304)、ステップS302で測定した発光素子LD1~LD3が出力している光の強度の和が、ステップS303で取得した光閾値以下であるか判定する(ステップS305)。なお、制御部10は、ステップS304とステップS305の順序を入れ替え、ステップS305を行った後にステップS304を行うようにし、ステップS305でNoと判定した場合には、図8の処理を終了し、ステップS311でNoと判定した場合には、ステップS304へ戻るようにしてもよい。このようにすることで、ステップS305の実行回数を減らすことができる。
制御部10は、発光素子LD1~LD3が出力している光の強度の和が、ステップS303で取得した光閾値を超えている場合(ステップS305でNo)、ステップS311へ進む。ここで、制御部10は、発光素子LD1~LD3は、故障していない状態であると判定していることになる。
制御部10は、発光素子LD1~LD3が出力する光の強度の和が、ステップS303で取得した光閾値以下である場合(ステップS305でYes)、ステップS306へ進む。ここで、制御部10は、発光素子LD1~LD3の少なくとも1つは、故障している状態であると判定していることになる。
ステップS306の処理は、ステップS105と同じであり、ステップS306でYesと判定した場合に進むステップS312の処理は、ステップS109と同じである。ステップS307の処理は、ステップS106と同じであり、ステップS307でYesと判定した場合に進むステップS313の処理は、ステップS110と同じである。よって、ステップS306、ステップS307、ステップS312及びステップS313の処理については説明を省略する。
制御部10(電流制御部105)は、ステップS307でNoと判定した場合、FET50のゲート端子に印加する電圧を変更し、発光素子の駆動電流を所定電流値にする(ステップS308)。このとき、ステップS301で求めた駆動電流より所定電流値を小さく設定した場合、出力低下状態で所定電流値が流れているときに発光素子にかかる電圧と、故障しておらず所定電流値が流れているときに発光素子にかかる電圧との差を大きくすることができ、ノイズによる誤った判定を低減することができる。次に制御部10(電圧測定部101)は、AD変換部40a~40dから供給されるデジタル信号に基づいて、駆動電流を所定電流値にしたときに発光素子LD1~LD3の各々にかかる電圧Vak1、電圧Vak2及び電圧Vak3を測定する(ステップS309)。
次に制御部10は、選択している発光素子にかかる電圧が正常範囲内であるか判定する(ステップS310)。具体的には、制御部10は、故障を判定する発光素子として発光素子LD1を選択している場合、第3出力故障閾値(TH_lo11)<電圧Vak1<第4出力故障閾値(TH_hi11)であるか判定する。制御部10は、第3出力故障閾値(TH_lo11)<電圧Vak1<第4出力故障閾値(TH_hi11)ではない場合(ステップS310でNo)、ステップS314へ進む。ここで、制御部10は、発光素子LD1は、出力低下状態であると判定していることになる。制御部10(報知部103)は、ステップS314において表示部60を制御し、発光素子LD1の光の出力が低下している状態であることを文字や記号で報知したあと、ステップS311へ進む。
制御部10は、ステップS311において、全ての発光素子LD1~LD3の状態を判定したか判定する。制御部10は、全ての発光素子LD1~LD3の状態を判定していない場合(ステップS311でNo)、ステップS304へ進む。制御部10は、ステップS304へ進むと、状態を判定していない発光素子として、例えば発光素子LD2を選択し、発光素子LD1と同様に状態を判定する。なお、判定する発光素子として新たに発光素子LD2を選択した場合、ステップS306とステップS307で状態の判定に用いる電圧は、ステップS302で測定した電圧Vak2である。制御部10は、発光素子LD2の状態の判定を終えると、再度ステップS304へ進み、状態を判定する発光素子として発光素子LD3を選択し、発光素子LD1と同様に状態を判定する。なお、判定する発光素子として新たに発光素子LD2を選択した場合、ステップS306とステップS307で状態の判定に用いる電圧は、ステップS302で測定した電圧Vak3である。制御部10は、発光素子LD3の状態の判定を終えると(ステップS311でYes)、図8の処理を終了する。
[第4実施形態]
次に本発明の第4実施形態について説明する。図9は、第4実施形態に係るレーザ装置1Dの概略構成を示す図である。第4実施形態は、開放又は出力低下と判定された発光素子がある場合、開放又は出力低下となった発光素子を迂回して他の発光素子に駆動電流を流す点が第1実施形態と異なる。
レーザ装置1Dは、迂回回路90を備える。迂回回路90は、故障した発光素子に供給される駆動電流を迂回させる回路であり、FET51、FET52及びFET53を備える。FET51~FET53は、電界効果トランジスタであり、ゲート端子が制御部10に接続されている。
FET51は、ドレイン端子が発光素子LD1のアノードに接続され、ソース端子が発光素子LD1のカソードと発光素子LD2のアノードとの間に接続されている。制御部10からFET51をオンにする電圧がFET51のゲート端子に印加されると、駆動電流は、発光素子LD1を迂回し、FET51を介して発光素子LD2に流れる。FET52は、ドレイン端子が発光素子LD1のカソードと発光素子LD2のアノードとの間に接続されており、ソース端子が発光素子LD2のカソードと発光素子LD3のアノードとの間に接続されている。制御部10からFET52をオンにする電圧がFET52のゲート端子に印加されると、駆動電流は、発光素子LD2を迂回し、FET52を介して発光素子LD3に流れる。FET53は、ドレイン端子が発光素子LD2のカソードと発光素子LD3のアノードとの間に接続されており、ソース端子が発光素子LD3のカソードに接続されている。制御部10からFET53をオンにする電圧がFET53のゲート端子に印加されると、駆動電流は、発光素子LD3を迂回し、FET53を介して流れる。
図10は、記憶部に記憶されているプログラムを演算部が実行することにより実現する機能のうち、第4実施形態に係る機能の構成を示したブロック図である。迂回制御部107は、判定部102が開放又は出力低下と判定した発光素子を駆動電流が迂回するようにFET51~FET53のゲート端子の電圧を制御する。
図11は、第4実施形態において発光素子LD1~LD3の状態を判定する処理の流れを示すフローチャートである。制御部10は、レーザ光の出力を指示する操作をオペレータが被操作部70に対して行うと、図11に示す処理を実行する。ステップS401~ステップS404の処理は、ステップS101~ステップS104の処理と同じである。また、ステップS405の処理は、ステップS105と同じであり、ステップS405でYesと判定した場合に進むステップS409の処理は、ステップS109と同じである。よって、ステップS401~ステップS405、ステップS409については、その説明を省略する。
制御部10は、ステップS409の後、ステップS413へ進む。制御部10(電流制御部105)は、例えばステップS404で選択した発光素子LD1が短絡していると判定した場合、FET50のゲート端子に印加する電圧を制御し、ステップS413で駆動電流を増加する。ここで制御部10は、故障と判定した発光素子LD1の分の出力が不足するため、短絡状態と判定された発光素子LD1以外の発光素子で、オペレータが指定した出力が得られるように駆動電流を設定する。制御部10は、ステップS413の後、ステップS408へ進む。ステップS408の処理は、ステップS108の処理と同じであるため、説明を省略する。
制御部10は、ステップS404で発光素子LD1を選択し、電圧Vak1が短絡閾値(TH_sha1)以下ではない場合(ステップS405でNo)、電圧Vak1が開放閾値(TH_opa1)以上であるか判定する(ステップS406)。制御部10は、電圧Vak1が開放閾値(TH_opa1)以上である場合(ステップS406でYes)、ステップS410へ進む。ここで制御部10は、発光素子LD1が開放状態であると判定していることになる。制御部10(報知部103)は、ステップS410において表示部60を制御し、発光素子LD1が開放の状態であることを文字や記号で報知したあと、ステップS412へ進む。
制御部10は、発光素子LD1について開放状態であると判定した場合、駆動電流が流れなくなった発光素子LD1を駆動電流が迂回するように、迂回回路90を制御する(ステップS412)。具体的には、制御部10は、ステップS404で発光素子LD1を選択した場合、FET51をオンにする電圧をFET51のゲート端子に印加する。次に制御部10は、FET50のゲート端子に印加する電圧を制御し、駆動電流を増加する(ステップS413)。ここで制御部10は、開放状態と判定された発光素子LD1以外の発光素子で、オペレータが指定した出力が得られるように駆動電流を設定する。
制御部10は、ステップS404で発光素子LD1を選択し、電圧Vak1が開放閾値(TH_opa1)以上ではない場合(ステップS406でNo)、電圧Vak1が正常範囲内であるか判定する(ステップS407)。具体的には、制御部10は、第1出力故障閾値(TH_loa1)<電圧Vak1<第2出力故障閾値(TH_hia1)であるか判定する。制御部10は、第1出力故障閾値(TH_loa1)<電圧Vak1<第2出力故障閾値(TH_hia1)ではない場合(ステップS407でNo)、ステップS411へ進む。ここで、制御部10は、発光素子LD1は、出力低下状態であると判定していることになる。
制御部10(報知部103)は、ステップS411において表示部60を制御し、発光素子LD1が出力低下状態であることを文字や記号で報知したあと、ステップS412とステップS413の処理を実行する。制御部10は、発光素子LD1について出力低下状態であると判定した場合、迂回回路90を制御する(ステップS412)。具体的には、制御部10は、ステップS404で発光素子LD1を選択した場合、FET51をオンにする電圧をFET51のゲート端子に印加する。次に制御部10は、FET50のゲート端子に印加する電圧を制御し、駆動電流を増加する(ステップS413)。ここで制御部10は、出力低下状態と判定された発光素子LD1以外の発光素子で、オペレータが指示した出力が得られるように駆動電流を設定する。なお、制御部10は、ステップS411において表示部60を制御して発光素子LD1が出力低下状態であることを文字や記号で報知したあと、ステップS412で迂回回路90を制御せず、ステップS413においてFET50のゲート端子に印加する電圧を制御し、オペレータが指定した出力が得られるように駆動電流を増加するようにしてもよい。
制御部10は、ステップS413の後、ステップS408へ進む。制御部10は、ステップS408において、全ての発光素子LD1~LD3の状態を判定したか判定する。制御部10は、全ての発光素子LD1~LD3の状態を判定していない場合(ステップS408でNo)、ステップS404へ進む。制御部10は、全ての発光素子LD1~LD3の状態を判定した場合(ステップS408でYes)、図11の処理を終了する。
第4実施形態によれば、故障と判定された発光素子を迂回して他の発光素子へ駆動電流を流すことができる。なお、制御部10は、発光素子について出力低下状態と判定した場合、出力低下状態と判定した発光素子について、駆動電流が迂回しないように制御し、オペレータが指示した出力が得られるように駆動電流を増加する制御を行ってもよい。
[第5実施形態]
次に本発明の第5実施形態について説明する。図12は、第5実施形態に係るレーザ装置1Eの概略構成を示す図である。なお、第5実施形態において前述の各実施形態と同じ構成については同じ符号を付して説明を省略し、以下の説明においては、前述の各実施形態との相違点について説明する。
発光素子LD1A~LD3A、発光素子LD1B~LD3B及び発光素子LD1C~LD3Cは、発光素子LD1と同じ発光素子である。レーザ装置1Eにおいては、発光素子LD1A~、LD2A及びLD3Aが直列に接続され、発光素子LD1B、LD2B及びLD3Bが直列に接続され、発光素子LD1C、LD2C及びLD3Cが直列に接続されている。以下の説明においては、説明の便宜上、発光素子LD1A~LD3Aの列を発光素子列C1と称し、発光素子LD1B~LD3Bの列を発光素子列C2と称し、発光素子LD1C~LD3Cの列を発光素子列C3と称する。なお、各発光素子列で直列に接続される発光素子の数は、3個に限定されるものではなく4個以上であってもよい。
電圧検出部40A~40Cは、電圧検出部40と同じく、AD変換部40a、AD変換部40b、AD変換部40c及びAD変換部40dを備えている。なお、図12においては、AD変換部40a、AD変換部40b、AD変換部40c及びAD変換部40dの図示を省略している。電圧検出部40Aは、発光素子LD1Aのアノードにかかる電圧、発光素子LD1Aのカソードと発光素子LD2Aのアノードとの間にかかる電圧、発光素子LD2Aのカソードと発光素子LD3Aのアノードとの間にかかる電圧及び発光素子LD3Aのカソードにかかる電圧を検出する。電圧検出部40Bは、発光素子LD1Bのアノードにかかる電圧、発光素子LD1Bのカソードと発光素子LD2Bのアノードとの間にかかる電圧、発光素子LD2Bのカソードと発光素子LD3Bのアノードとの間にかかる電圧及び発光素子LD3Bのカソードにかかる電圧を検出する。電圧検出部40Cは、発光素子LD1Cのアノードにかかる電圧、発光素子LD1Cのカソードと発光素子LD2Cのアノードとの間にかかる電圧、発光素子LD2Cのカソードと発光素子LD3Cのアノードとの間にかかる電圧及び発光素子LD3Cのカソードにかかる電圧を検出する。
電流センサ30A~30Cは、電流センサ30と同じセンサである。電流センサ30Aは、発光素子LD3Aのカソードに接続され、発光素子列C1に流れる電流の電流値を測定する。電流センサ30Bは、発光素子LD3Bのカソードに接続され、発光素子列C2に流れる電流の電流値を測定する。電流センサ30Cは、発光素子LD3Cのカソードに接続されており、発光素子列C3に流れる電流の電流値を測定する。
FET50A~50Cは、FET50と同じ電界効果トランジスタである。FET50Aは、ドレイン端子が電流センサ30Aを介して発光素子LD3Aのカソードに接続され、ゲート端子がオペアンプ54Aの出力端子に接続され、ソース端子が接地されている。FET50Bは、ドレイン端子が電流センサ30Bを介して発光素子LD3Bのカソードに接続され、ゲート端子がオペアンプ54Bの出力端子に接続され、ソース端子が接地されている。FET50Cは、ドレイン端子が電流センサ30Cを介して発光素子LD3Cのカソードに接続され、ゲート端子がオペアンプ54Cの出力端子に接続され、ソース端子が接地されている。
オペアンプ54A~54Cは、入力端子が制御部10とグラウンドに接続されている。オペアンプ54Aの出力端子は、FET50Aのゲート端子に接続され、オペアンプ54Bの出力端子は、FET50Bのゲート端子に接続され、オペアンプ54Cの出力端子は、FET50Cのゲート端子に接続されている。オペアンプ54Aは、制御部10から入力端子に印可される電圧に応じた電圧をFET50Aのゲート端子に印加し、オペアンプ54Bは、制御部10から入力端子に印可される電圧に応じた電圧をFET50Bのゲート端子に印加し、オペアンプ54Cは、制御部10から入力端子に印可される電圧に応じた電圧をFET50Cのゲート端子に印加する。
サーミスタ55A~55Cは、FET50A~50Cの温度を測定する温度センサとして用いられる。サーミスタ55Aは、FET50Aの近傍に配置されており、制御部10とAD変換部41Aに接続され、制御部10から電圧が印可される。サーミスタ55Bは、FET50Bの近傍に配置されており、制御部10とAD変換部41Bに接続され、制御部10から電圧が印可される。サーミスタ55Cは、FET50Cの近傍に配置されており、制御部10とAD変換部41Cに接続され、制御部10から電圧が印可される。
AD変換部41Aは、サーミスタ55Aの出力電圧を示すデジタル信号を制御部10へ出力し、AD変換部41Bは、サーミスタ55Bの出力電圧を示すデジタル信号を制御部10へ出力し、AD変換部41Cは、サーミスタ55Cの出力電圧を示すデジタル信号を制御部10へ出力する。サーミスタ55A~55C及びAD変換部41A~41Cは、温度測定部の一例である。
なお、レーザ装置1Eは、発光素子列、電圧検出部、電流センサ、FET、オペアンプ、サーミスタ、AD変換部の組の数が3である構成であるが、この組の数が4以上である構成、即ち発光素子列が4列以上の構成であってもよい。
なお、レーザ装置1Eは前述の迂回回路を有していない構成であるが、迂回回路を有する構成であってもよい。図13は、レーザ装置1Eに対して迂回回路90A~90Cを加えたレーザ装置1Fの概略構成を示す図である。
迂回回路90Aは、FET51A~53Aを備えている。FET51Aは、ドレイン端子が発光素子LD1Aのアノードに接続され、ソース端子が発光素子LD1Aのカソードと発光素子LD2Aのアノードとの間に接続されている。FET52Aは、ドレイン端子が発光素子LD1Aのカソードと発光素子LD2Aのアノードとの間に接続されており、ソース端子が発光素子LD2Aのカソードと発光素子LD3Aのアノードとの間に接続されている。FET53Aは、ドレイン端子が発光素子LD2Aのカソードと発光素子LD3Aのアノードとの間に接続されており、ソース端子が発光素子LD3Aのカソードに接続されている。制御部10からFET51Aをオンにする電圧が印可されると、駆動電流は発光素子LD1Aを迂回し、制御部10からFET52Aをオンにする電圧が印可されると、駆動電流は発光素子LD2Aを迂回し、制御部10からFET53Aをオンにする電圧が印可されると、駆動電流は発光素子LD3Aを迂回する。
迂回回路90Bは、FET51B~53Bを備えている。FET51Bは、ドレイン端子が発光素子LD1Bのアノードに接続され、ソース端子が発光素子LD1Bのカソードと発光素子LD2Bのアノードとの間に接続されている。FET52Bは、ドレイン端子が発光素子LD1Bのカソードと発光素子LD2Bのアノードとの間に接続されており、ソース端子が発光素子LD2Bのカソードと発光素子LD3Bのアノードとの間に接続されている。FET53Bは、ドレイン端子が発光素子LD2Bのカソードと発光素子LD3Bのアノードとの間に接続されており、ソース端子が発光素子LD3Bのカソードに接続されている。制御部10からFET51Bをオンにする電圧が印可されると、駆動電流は発光素子LD1Bを迂回し、制御部10からFET52Bをオンにする電圧が印可されると、駆動電流は発光素子LD2Bを迂回し、制御部10からFET53Bをオンにする電圧が印可されると、駆動電流は発光素子LD3Bを迂回する。
迂回回路90Cは、FET51C~53Cを備えている。FET51Cは、ドレイン端子が発光素子LD1Cのアノードに接続され、ソース端子が発光素子LD1Cのカソードと発光素子LD2Cのアノードとの間に接続されている。FET52Cは、ドレイン端子が発光素子LD1Cのカソードと発光素子LD2Cのアノードとの間に接続されており、ソース端子が発光素子LD2Cのカソードと発光素子LD3Cのアノードとの間に接続されている。FET53Cは、ドレイン端子が発光素子LD2Cのカソードと発光素子LD3Cのアノードとの間に接続されており、ソース端子が発光素子LD3Cのカソードに接続されている。制御部10からFET51Cをオンにする電圧が印可されると、駆動電流は発光素子LD1Cを迂回し、制御部10からFET52Cをオンにする電圧が印可されると、駆動電流は発光素子LD2Cを迂回し、制御部10からFET53Cをオンにする電圧が印可されると、駆動電流は発光素子LD3Cを迂回する。
なお、レーザ装置1Fは、発光素子列、迂回回路、電圧検出部、電流センサ、FET、オペアンプ、サーミスタ、AD変換部の組の数が3である構成であるが、この組の数が4以上である構成、即ち発光素子列が4列以上の構成であってもよい。
図14は、レーザ装置1Eにおいて発光素子列が有する発光素子の状態を判定する処理の流れを示すフローチャートである。図14の処理は、発光素子列毎に行われる。図14に示すフローチャートは、図11のフローチャートに対してステップS412を備えておらず、ステップS413に替えてステップS414を備えている点で相違する。制御部10は、選択した発光素子の状態を、短絡状態、開放状態又は出力低下状態、即ち故障状態と判定した場合、ステップS414において、各発光素子列の駆動電流を制御する。以下、ステップS414で行う処理を説明する。
具体的には、制御部10は、選択した発光素子の状態が開放状態である場合、選択した発光素子を含む発光素子列に流れていた電流を、選択した発光素子を含んでいない発光素子列に振り分ける。例えば、制御部10は、発光素子列C1の発光素子のいずれかが開放状態と判定した場合、発光素子列C1に流す駆動電流の目標値の1/2を、発光素子列C2に流す駆動電流の目標値に加算し、発光素子列C1に流す駆動電流の目標値の1/2を、発光素子列C3に流す駆動電流の目標値に加算する。次に制御部10は、変更後の目標値に基づいて、FET50Bのゲート端子に印加する電圧と、FET50Cのゲート端子に印加する電圧を制御し、発光素子列C2に流れる駆動電流と発光素子列C3に流れる駆動電流を増加させる。また、制御部10は、FET50Aをオフにして発光素子列C1の駆動を停止する。
また、制御部10は、例えば発光素子列C1の発光素子のいずれかが短絡状態又は出力低下状態であると判定した場合、短絡状態又は出力低下状態であると判定した発光素子にかかる電圧を、電圧検出部40Aからの信号を基に取得する。制御部10は、例えば短絡状態又は出力低下状態と判定した発光素子について、正常時にかかる基準電圧を取得し、取得した基準電圧とこれらの状態のときにかかる電圧との差分である電圧変化分を算出する。制御部10は、この算出した電圧変化分を発光素子列C1に流す目標の電流値で除算し、短絡状態又は出力低下状態の発光素子について、正常状態からこれらの状態へ変化したことによる抵抗値の変化分を算出する。
次に制御部10は、算出した抵抗値の変化分に基づいて、短絡状態又は出力低下状態で定電流制御を行っていない場合に発光素子列C1に流れる電流と、発光素子列C1に流す目標の電流値との差分であるΔIaを算出する。制御部10は、発光素子列C1に流す電流の目標値からΔIaを引いた電流値を、発光素子列C1に流す電流の新たな目標値とする。また、制御部10は、ΔIaを、故障状態の発光素子がない発光素子列の数で除算し、故障状態の発光素子がない発光素子列に流す電流の増加分であるΔIbを算出する。例えば、発光素子列C2と発光素子列C3に故障状態の発光素子がない場合、ΔIbは、ΔIa/2となる。制御部10は、発光素子列C2に流す電流の目標値にΔIa/2を加算し、発光素子列C3に流す電流の目標値にもΔIa/2を加算する。次に制御部10は、更新した目標値の駆動電流に対応した電圧がFET50A、50B及び50Cのゲート端子に印加されるように、オペアンプ54A、54B及び54Cを制御する。
なお、レーザ装置1Eにおいては、選択した発光素子について出力低下状態と判定した場合、出力低下状態と判定した発光素子について、第1出力故障閾値及び第2出力故障閾値を下げるようにしてもよい。
次にレーザ装置1Fの場合、発光素子の状態を判定する処理は、図11のフローチャートにおいて、ステップS413をステップS414に替えたものとなるが、開放故障と判定した場合の処理がレーザ装置1Eの場合と異なる。レーザ装置1Fの場合、予め発光素子LD1A~LD3A、LD1B~LD3B、LD1C~LD3Cの抵抗値を記憶している。レーザ装置1Fの制御部10は、例えば、発光素子列C1についてステップS404で選択した発光素子を開放状態と判定した場合、選択した発光素子を含む発光素子列C1の抵抗値から開放状態と判定した発光素子の抵抗値を減算し、その差分を正常状態から故障状態へ変化したことによる抵抗値の変化分とする。次に制御部10は、算出した抵抗値の変化分に基づいて、迂回回路90Aで開放状態の発光素子を迂回して定電流制御を行っていない場合に発光素子列C1に流れる電流と、発光素子列C1に流す目標の電流値との差分であるΔIaを算出する。制御部10は、発光素子列C1に流す電流の目標値からΔIaを引いた電流値を、発光素子列C1に流す電流の新たな目標値とする。また、制御部10は、ΔIa=ΔIbとし、発光素子列C2に流す電流の目標値にΔIbを加算し、発光素子列C3に流す電流の目標値にもΔIbを加算する。次に制御部10は、更新した目標値の駆動電流に対応した電圧がFET50A、50B及び50Cのゲート端子に印加されるように、オペアンプ54A、54B及び54Cを制御する。
なお、駆動電流の電流値を増加させた場合、FETの温度が上昇し、加熱によりFETが故障する虞がある。加熱によるFETの故障を防ぐため、レーザ装置1E及びレーザ装置1Fにおいて、ステップS414にて駆動電流を制御する際に、FET50A~50Bの温度を考慮して駆動電流の制御を行うようにしてもよい。図15は、ステップS414においてFET50A~50Cの温度を考慮して駆動電流の制御を行う場合の処理の流れを示すフローチャートの一例である。
まず制御部10は、FET50A~50Cが、流す電流の増加に応じて温度が単調増加するタイプであるか判断する。これは、FET50A~50Cは、流す電流の増加に応じて温度が単調増加するタイプと、横軸を電流値とし縦軸を温度としたときに電流値と温度との関係が上に凸の二次関数のようになるタイプがあるためである。制御部10は、FETについて、このタイプを示すデータを予め記憶しており、記憶しているデータに基づいてFET50A~50Cのタイプを判定する(ステップS501)。
制御部10は、FET50A~50Cが、流す電流の増加に応じて温度が単調増加するタイプである場合(ステップS501でYES)、前述のΔIa及びΔIbを算出する(ステップS502)。制御部10は、算出したΔIa及びΔIbに基づいて、各発光素子列に流す駆動電流の目標値を決定し、決定した目標値となるように駆動電流を制御する(ステップS503)。ここでは、制御部10は、故障状態の発光素子がない発光素子列に流す電流の増加分を、例えばΔIb/2とする。また、ここで制御部10は、駆動電流を変更する前のFET50A~50Cの温度をAD変換部41A~41Cからの信号に基づいて算出し、算出した温度をFET50A~50Cの温度として記憶する。
次に制御部10は、電流センサ30A~30Cの測定結果から、ステップS503の後で駆動電流が変化しなかったか判断する(ステップS504)。制御部10は、駆動電流が変化していなかった場合(ステップS504でYES)、発光素子の駆動を停止する(ステップS518)。制御部10は、ステップS503の後で駆動電流が変化していた場合(ステップS504でNO)、測定された駆動電流の電流値のいずれかが予め定められた上限値に達しているか判断する(ステップS505)。制御部10は、測定した電流値のいずれかが駆動電流の上限値に達している場合(ステップS505でYES)、発光素子の駆動を停止する(ステップS518)。
制御部10は、測定した電流値のいずれも駆動電流の上限値に達していない場合(ステップS505でNO)、FET50A~50Cの温度をAD変換部41A~41Cからの信号に基づいて取得する(ステップS506)。制御部10は、ここで取得した温度と、ステップS503で駆動電流を変化させる前に記憶したFET50A~50Cの温度とを比較し、温度変化が0を超えているか、即ち温度が上昇したか判断する(ステップS507)。制御部10は、温度変化が0を超えている場合(ステップS507でYES)、温度上昇量の逆比に基づいて駆動電流の目標値を設定する(ステップS508)。例えば、発光素子列C1に故障した発光素子があり、発光素子列C2、C3には故障した発光素子がない場合、発光素子列C2の温度上昇と発光素子列C3の温度上昇の比が1:2であると、発光素子列C2、C3で増加させる電流の残りの増加分について、発光素子列C2での増加分と発光素子列C3での増加分が2:1となるようにする。
制御部10は、各発光素子列の駆動電流がステップS508で設定した目標値となるように、駆動電流を制御する(ステップS509)。次に制御部10は、電流センサ30A~30Cの測定結果から、ステップS509の後で駆動電流が変化しなかったか判断する(ステップS510)。制御部10は、駆動電流が変化していなかった場合(ステップS510でYES)、発光素子の駆動を停止する(ステップS518)。制御部10は、駆動電流が変化していた場合(ステップS510でNO)、測定された駆動電流の電流値が予め定められた上限値に達しているか判断する(ステップS511)。制御部10は、測定した電流値のいずれかが駆動電流の上限値に達している場合(ステップS511でYES)、発光素子の駆動を停止する(ステップS518)。制御部10は、測定した電流値のいずれも駆動電流の上限値に達していない場合(ステップS511でNO)、ステップS408へ戻る。
制御部10は、ステップS501でNO又はステップS507でNOと判断した場合、FET50A~50Cの温度をAD変換部41A~41Cからの信号に基づいて取得し、FET50A~50Cの温度の順番を取得する(ステップS512)。
次に制御部10は、駆動電流を増加させるFETを選択する(ステップS513)。ここで、制御部10は、温度の高い順にFETを選択するため、最初は、ステップS512で取得した温度の順番のうち、最も温度が高いFETを選択する。後述するステップS517の判断でステップS513に戻ったときは、温度の降順で二番目であるFETを選択し、再度ステップS513に戻ったときは温度の降順で三番目であるFETを選択し、FETの温度の降順で選択する。
次に制御部10は、選択したFETの駆動電流を所定の増加量で増加させる(ステップS514)。制御部10は、ステップS514の後、光強度検出部80からの信号に基づいて、発光素子列C1~C3が出力した光の強度がオペレータにより指定された出力の目標値であるか判断する(ステップS515)。
制御部10は、発光素子列C1~C3が出力した光の強度がオペレータにより指定された出力の目標値に達した場合、処理の流れをステップS408へ移す(ステップS515でYES)。制御部10は、発光素子列C1~C3が出力した光の強度がオペレータにより指定された出力の目標値に達していない場合(ステップS515でNO)、選択したFETの駆動電流の電流値が上限値に達しているか判断する(ステップS516)。制御部10は、選択したFETの駆動電流の電流値が上限値に達していない場合(ステップS516でNO)、処理の流れをステップS514へ移す。
制御部10は、選択したFETの駆動電流の電流値が上限値に達している場合(ステップS516でYES)、全ての発光素子列の駆動電流を増加させたか判断する(ステップS517)。制御部10は、全ての発光素子列の駆動電流を増加させていない場合(ステップS517でNO)、ステップS513へ戻り、次に駆動電流を増加させるFETを選択する。制御部10は、全ての発光素子列の駆動電流を増加させた場合(ステップS517でYES)、発光素子の駆動を停止する(ステップS518)。
なお、制御部10は、ステップS509の後、光強度検出部80からの信号に基づいて、発光素子列C1~C3が出力した光の強度がオペレータにより指定された出力の目標値であるか判断し、測定した光の強度が目標値を超えている場合、駆動電流が最も大きい発光素子列の駆動電流又は温度が最も高いFETにより駆動される発光素子列の駆動電流を下げるように、光の強度を目標値としたPI制御を行うようにしてもよい。
また、ステップS414にて行う駆動電流の制御は、図16に示すフローチャートの処理としてもよい。この場合、制御部10は、まず前述のΔIa及びΔIbを算出する(ステップS601)。制御部10は、算出したΔIa及びΔIbに基づいて、各発光素子列に流す駆動電流の目標値を決定し、決定した目標値となるように駆動電流を制御する(ステップS602)。ここでは、制御部10は、故障状態の発光素子がない発光素子列に流す電流の増加分を、例えばΔIb/2をとする。また、ここで制御部10は、駆動電流を変更する前のFET50A~50Cの温度をAD変換部41A~41Cからの信号に基づいて算出し、算出した温度をFET50A~50Cの温度として記憶する。
次に制御部10は、電流センサ30A~30Cの測定結果から、ステップS602の後で駆動電流が変化しなかったか判断する(ステップS603)。制御部10は、駆動電流が変化していなかった場合(ステップS603でYES)、発光素子の駆動を停止する(ステップS619)。制御部10は、ステップS602の後で駆動電流が変化していた場合(ステップS603でNO)、測定された駆動電流の電流値のいずれかが予め定められた上限値に達しているか判断する(ステップS604)。制御部10は、測定した電流値のいずれかが駆動電流の上限値に達している場合(ステップS604でYES)、発光素子の駆動を停止する(ステップS619)。
制御部10は、測定した電流値のいずれも駆動電流の上限値に達していない場合(ステップS604でNO)、FET50A~50Cの温度をAD変換部41A~41Cからの信号に基づいて取得する(ステップS605)。制御部10は、ここで取得した温度と、ステップS602で駆動電流を変化させる前に記憶したFET50A~50Cの温度とを比較し、温度変化がマイナスのFETがあるか判断する(ステップS606)。
制御部10は、温度変化がマイナスであるFETがない場合(ステップS606でNO)、FET50A~50Cの温度をAD変換部41A~41Cからの信号に基づいて算出して取得し、FET50A~50Cの温度の順番を取得する(ステップS607)。
次に制御部10は、駆動電流を増加させるFETを選択する(ステップS608)。ここで、制御部10は、温度の低い順にFETを選択するため、最初は、ステップS607で取得した温度の順番のうち、最も温度が低いFETを選択する。後述するステップS612の判断でステップS608に戻ったときは、温度の昇順で二番目のFETを選択し、再度ステップS513に戻ったときは昇順で三番目のFETを選択し、FETの温度の昇順で選択する。
制御部10は、選択したFETの駆動電流を所定の増加量で増加させる(ステップS609)。制御部10は、ステップS609の後、光強度検出部80からの信号に基づいて、発光素子列C1~C3が出力した光の強度がオペレータにより指定された出力の目標値に達しているか判断する(ステップS610)。
制御部10は、発光素子列C1~C3が出力した光の強度がオペレータにより指定された出力の目標値に達した場合、処理の流れをステップS408へ移す(ステップS610でYES)。制御部10は、発光素子列C1~C3が出力した光の強度がオペレータにより指定された出力の目標値に達していない場合(ステップS610でNO)、選択したFETの駆動電流の電流値が上限値を超えているか判断する(ステップS611)。制御部10は、選択したFETの駆動電流の電流値が上限値に達していない場合(ステップS611でNO)、処理の流れをステップS609へ移す。
制御部10は、選択したFETの駆動電流の電流値が上限値に達している場合(ステップS611でYES)、全ての発光素子列の駆動電流を増加させたか判断する(ステップS612)。制御部10は、全ての発光素子列の駆動電流を増加させていない場合(ステップS612でNO)、ステップS608へ戻り、次に駆動電流を増加させるFETを選択する。制御部10は、全ての発光素子列の駆動電流を増加させた場合(ステップS612でYES)、発光素子の駆動を停止する(ステップS619)。
制御部10は、温度変化がマイナスであるFETがある場合(ステップS606でYES)、FET50A~50Cの温度をAD変換部41A~41Cからの信号に基づいて算出して取得し、FET50A~50Cの温度の順番を取得する(ステップS613)。
次に制御部10は、駆動電流を増加させるFETを選択する(ステップS614)。ここで、制御部10は、例えば、電流に対する温度変化が負であったFETのうち、温度の高い順にFETを選択することができる。いずれのFETも温度変化が負であった場合、最初は、ステップS613で取得した温度の順番のうち、最も温度が高いFETを選択する。後述するステップS618の判断でステップS614に戻ったときは、温度の降順で二番目のFETを選択し、再度ステップS614に戻ったときは降順で三番目のFETを選択し、FETの温度の降順で選択する。いずれか1または複数のFETの温度変化が負であり、他の1または複数のFETの温度変化が正である場合、最初は、電流に対する温度変化が負であったFETのうち、最も温度が高いFETを選択する。後述するステップS618の判断でステップS614に戻ったときは、電流に対する温度変化が負であったFETのうち、温度の降順で二番目のFETを選択する。電流に対する温度変化が負であったFETの全てが駆動電流の上限に達した場合、電流に対する温度変化が正であったFETのうち、最も温度が低いFETを選択する。その後、後述するステップS618の判断でステップS614に戻ったときは、電流に対する温度変化が正であったFETのうち、温度の昇順で二番目のFETを選択する。尚、電流に対する温度変化が負であったFETの駆動電流の上限は、例えば、回路部品の性能に応じて(例えば、オペアンプ54A、54B及び54Cの電圧上限等)定めることができ、電流に対する温度変化が正であったFETの駆動電流の上限は、FETの温度の上限値等から定めることができる。このため、これら駆動電流の上限は異なっていてもよい。
制御部10は、選択したFETの駆動電流を所定の増加量で増加させる(ステップS615)。制御部10は、ステップS615の後、光強度検出部80からの信号に基づいて、発光素子列C1~C3が出力した光の強度がオペレータにより指定された出力の目標値に達しているか判断する(ステップS616)。
制御部10は、発光素子列C1~C3が出力した光の強度がオペレータにより指定された出力の目標値に達した場合、処理の流れをステップS408へ移す(ステップS616でYES)。制御部10は、発光素子列C1~C3が出力した光の強度がオペレータにより指定された出力の目標値に達していない場合(ステップS616でNO)、選択したFETの駆動電流の電流値が上限値に達しているか判断する(ステップS617)。制御部10は、選択したFETの駆動電流の電流値が上限値に達していない場合(ステップS617でNO)、処理の流れをステップS615へ移す。
制御部10は、選択したFETの駆動電流の電流値が上限値に達している場合(ステップS617でYES)、全ての発光素子列の駆動電流を増加させたか判断する(ステップS618)。制御部10は、全ての発光素子列の駆動電流を増加させていない場合(ステップS618でNO)、ステップS614へ戻り、次に駆動電流を増加させるFETを選択する。制御部10は、全ての発光素子列の駆動電流を増加させた場合(ステップS618でYES)、発光素子の駆動を停止する(ステップS619)。
なお、図16に示すフローチャートにおいては、FET50A~50Cが、流す電流の増加に応じて温度が単調増加するタイプであるかステップS604の後で判断し、流す電流の増加に応じて温度が単調増加するタイプである場合、ステップS607へ処理の流れを移してもよい。
また、ステップS414にて行う駆動電流の制御は、図17に示すフローチャートの処理としてもよい。この場合、まず制御部10は、FET50A~50Cが、流す電流の増加に応じて温度が単調増加するタイプであるか判断する。制御部10は、FETについて、このタイプを示すデータを予め記憶しており、記憶しているデータに基づいてFET50A~50Cのタイプを判定する(ステップS701)。
制御部10は、FET50A~50Cが、流す電流の増加に応じて温度が単調増加するタイプである場合(ステップS701でYES)、前述のΔIa及びΔIbを算出する(ステップ702)。制御部10は、算出したΔIa及びΔIbに基づいて、各発光素子列に流す駆動電流の目標値を決定し、決定した目標値となるように駆動電流を制御する(ステップ703)。ここでは、制御部10は、故障状態の発光素子がない発光素子列に流す電流の増加分を、例えばΔIb/2をとする。
次に制御部10は、電流センサ30A~30Cの測定結果から、ステップS703の後で駆動電流が変化しなかったか判断する(ステップS704)。制御部10は、駆動電流が変化していなかった場合(ステップS704でYES)、発光素子の駆動を停止する(ステップS717)。制御部10は、ステップS703の後で駆動電流が変化していた場合(ステップS704でNO)、測定された駆動電流の電流値が予め定められた上限値に達しているか判断する(ステップS705)。制御部10は、測定した駆動電流の電流値が上限値に達している場合(ステップS705でYES)、発光素子の駆動を停止する(ステップS717)。
制御部10は、測定した電流値のいずれも上限値に達していない場合(ステップS705でNO)、FET50A~50Cの温度をAD変換部41A~41Cからの信号に基づいて取得する(ステップS706)。制御部10は、FET50A~50Cの温度の平均を算出し、最大の温度となっているFETの温度について、温度の平均+αとなるように駆動電流を制御する(ステップS707)。ここでαは例えば1℃であるが1℃に限定されるものではない。次に制御部10は、発光素子列C1~C3が出力した光の強度がオペレータより指定された出力の目標値となるように、最低の温度となっているFETを制御し、当該FETで駆動される発光素子列の駆動電流をPI制御する(ステップS708)。
次に制御部10は、ステップS708の後で駆動電流が変化しなかったか判断する(ステップS709)。制御部10は、ステップS708の後で駆動電流が変化していなかった場合(ステップS709でYES)、発光素子の駆動を停止する(ステップS717)。制御部10は、ステップS708の後で駆動電流が変化していた場合(ステップS709でNO)、測定された駆動電流の電流値が予め定められた上限値に達しているか判断する(ステップS710)。制御部10は、測定した駆動電流の電流値が上限値に達している場合(ステップS710でYES)、発光素子の駆動を停止する(ステップS717)。制御部10は、測定した駆動電流の電流値が上限値に達していない場合(ステップS710でNO)、ステップS408へ戻る。
制御部10は、ステップS701でNOと判断した場合、FET50A~50Cの温度をAD変換部41A~41Cからの信号に基づいて取得し、FET50A~50Cの温度の順番を取得する(ステップS711)。
次に制御部10は、駆動電流を増加させるFETを選択する(ステップS712)。ここで、制御部10は、温度の低い順にFETを選択するため、最初は、ステップS712で取得した温度の順番のうち、最も温度が低いFETを選択する。後述するステップS716の判断でステップS712に戻ったときは、温度の昇順で二番目であるFETを選択し、再度ステップS712に戻ったときは温度の昇順で三番目であるFETを選択し、FETの温度の昇順で選択する。
制御部10は、選択したFETの駆動電流を所定の増加量で増加させる(ステップS713)。制御部10は、ステップS713の後、光強度検出部80からの信号に基づいて、発光素子列C1~C3が出力した光の強度がオペレータにより指定された出力の目標値であるか判断する(ステップS714)。
制御部10は、発光素子列C1~C3が出力した光の強度がオペレータにより指定された出力の目標値に達した場合、処理の流れをステップS408へ移す(ステップS714でYES)。制御部10は、発光素子列C1~C3が出力した光の強度がオペレータにより指定された出力の目標値に達していない場合(ステップS714でNO)、選択したFETの温度をAD変換部からの信号に基づいて取得し、取得した温度が予め定められた上限値に達しているか判断する(ステップS715)。制御部10は、選択したFETの温度が予め定められた上限値に達していない場合(ステップS715でNO)、処理の流れをステップS713へ移す。制御部10は、選択したFETの温度が予め定められた上限値に達している場合(ステップS715でYES)、全ての発光素子列の駆動電流を増加させたか判断する(ステップS716)。制御部10は、全ての発光素子列の駆動電流を増加させていない場合(ステップS716でNO)、ステップS713へ戻り、次に駆動電流を増加させるFETを選択する。制御部10は、全ての発光素子列の駆動電流を増加させた場合(ステップS716でYES)、発光素子の駆動を停止する(ステップS717)。
なお、制御部10は、ステップS708で最低の温度となっているFETを制御し、このFETで供給される駆動電流が上限を超えた場合、即ちステップS710でYESと判定した場合、発光素子の駆動を停止しているが、ステップS710でYESと判定した場合、最も温度が高いFETと最も温度が低いFETを除いた他のFETを選択し、選択したFETで駆動される発光素子列の駆動電流をPI制御するようにしてもよい。例えば、この場合に制御部10は、温度の昇順で最も温度が低いFETの次の順番のFETを選択して駆動電流をPI制御してもよい。
以上に示した第5実施形態によれば、故障の状態に応じて各発光素子列の駆動電流を制御することができるので、例えば、発光素子の交換等修理を待つまでの間、夫々の故障の状態に応じてレーザ装置の光出力を維持することができる。また、各FETの温度に応じて駆動電流を制御することで、新たな故障を誘発する虞を低減しつつ、故障が発生した場合においてもレーザ装置の光出力を維持することができる。
[変形例]
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば上述の実施形態を以下のように変形して本発明を実施してもよい。なお、上述した実施形態及び以下の変形例は、各々を組み合わせてもよい。上述した各実施形態及び各変形例の構成要素を適宜組み合わせて構成したものも本発明に含まれる。また、さらなる効果や変形例は、当業者によって容易に導き出すことができる。よって、本発明のより広範な態様は、上記の実施の形態や変形例に限定されるものではなく、様々な変更が可能である。
上述した実施形態においては、AD変換部40a~40Dと発光素子LD1~LD3とを結ぶラインにノイズが乗ったときの電圧を故障の判定に用いないようにするために、以下の構成を採用してもよい。例えば、発光素子LD1を例にすると、制御部10は、短絡状態を判定するときには、電圧Vak1が予め定められた時間を超えて短絡閾値以下であり続けた場合、短絡状態であると判定してもよい。また、制御部10は、開放状態を判定するときには、電圧Vak1が予め定められた時間を超えて開放閾値以上であり続けた場合、開放状態であると判定してもよい。また、制御部10は、出力低下状態を判定するときには、予め定められた時間を超えて短絡閾値<電圧Vak1≦第1出力故障閾値、又は第2出力故障閾値≦電圧Vak1<開放閾値である場合、出力低下状態であると判定してもよい。換言すると、制御部10は、電圧Vak1が駆動電流から定まる正常範囲外である状態が予め定められた時間を超えた場合、故障の状態を判定しているといえる。この構成によれば、短期的に発生するノイズの電圧を状態の判定に用いることがなく、誤った判定を防ぐことができる。
本発明においては、制御部10は、故障していないときの発光素子にかかる基準電圧を駆動電流毎にテーブルに記憶し、測定した電圧Vak1、電圧Vak2及び電圧Vak3と、基準電圧との差の絶対値を用いて発光素子LD1~LD3の状態を判定してもよい。この場合、制御部10は、短絡状態又は開放状態を判定する第1閾値と、出力低下状態を判定する第1閾値より値が小さい第2閾値を記憶する。例えば、制御部10は、電圧Vak1と基準電圧との差の絶対値が第1閾値以上である場合には、発光素子LD1が短絡状態又は開放状態であると判定し、電圧Vak1と基準電圧との差の絶対値が第2閾値以上第1閾値未満である場合には、発光素子LD1が出力低下状態であると判定してもよい。
上述した実施形態においては、FET50のゲート端子に印加する電圧を制御して駆動電流を制御しているが、駆動電流についてはPWM(Pulse Width Modulation)方式で制御を行うようにしてもよい。レーザ装置1A、1B、1Dは、駆動電流をPWM方式で制御する構成においては、FET50に替えて、ドレイン端子が電源部20に接続され、ゲート端子が制御部10に接続され、ソース端子が平滑回路に接続されたFETを有する。平滑回路は、LC回路で構成されており、LC回路の入力端は、FETのソース端子に接続され、LC回路の出力端は、発光素子LD1のアノードに接続されている。FETと平滑回路の間には、還流ダイオードのカソードが接続されており、還流ダイオードのアノードは、接地されている。制御部10は、目標とする駆動電流に対応したデューティ比のPWM信号を出力し、駆動電流を制御する。