(57)【要約】本発明のブラシレスモータ駆動装置は、ブラシレスモータの巻線を通電駆動するインバータ回路と、巻線の電流値を検出する電流検出回路と、ブラシレスモータを回転制御するための制御部と、抵抗とキャパシタとを含み構成されたＲＣフィルタとを含む。また、制御部は、インバータを駆動するための信号を生成する駆動制御部と、動作周期の基準となるクロックパルスを発生するクロック発生回路と、周波数が変化するパルス信号をクロックパルスに基づいて生成し、ＲＣフィルタに印加するパルス出力回路と、ＲＣフィルタのキャパシタおよび電流検出回路に接続されたＡＤ変換回路と、ＡＤ変換回路の変換誤差を算出するＡＤ変換誤差算出部とを備える。そして、ＡＤ変換誤差算出部は、キャパシタの電圧を入力としたＡＤ変換回路の出力値と、キャパシタの充電時間から算出したＡＤ変換値との差分に基づき変換誤差を算出する。
2015182020.tif 000002
【特許請求の範囲】
【請求項１】
ブラシレスモータを駆動制御するブラシレスモータ駆動装置であって、
前記ブラシレスモータの巻線を通電駆動するインバータ回路と、
前記巻線の電流値を検出する電流検出回路と、
前記ブラシレスモータを回転制御するための制御部と、
抵抗とキャパシタとを含み構成されたＲＣフィルタとを含み、
前記制御部は、
前記インバータを駆動するための信号を生成する駆動制御部と、
動作周期の基準となるクロックパルスを発生するクロック発生回路と、
周波数が変化するパルス信号を、前記クロックパルスに基づいて生成し、前記ＲＣフィルタに印加するパルス出力回路と、
前記ＲＣフィルタの前記キャパシタおよび前記電流検出回路に接続されたＡＤ変換回路と、
前記ＡＤ変換回路の変換誤差を算出するＡＤ変換誤差算出部とを備え、
前記ＡＤ変換誤差算出部は、
前記キャパシタの電圧を入力とした前記ＡＤ変換回路の出力値と、前記キャパシタの充電時間から算出したＡＤ変換値との差分に基づき、前記変換誤差を算出することを特徴とするブラシレスモータ駆動装置。
【請求項２】
前記パルス出力回路は、前記ＲＣフィルタへ１パルス毎に周波数が変化するパルス信号を出力し、
前記ＡＤ変換誤差算出部は、前記クロックパルスの所定サイクル数経過後の前記差分に基づき、前記変換誤差を算出することを特徴とする請求項１に記載のブラシレスモータ駆動装置。
【請求項３】
前記パルス出力回路が前記ＲＣフィルタへ出力する前記パルス信号は、Ｈｉｇｈレベル期間が、パルス毎に変化するカウント数だけ前記クロックパルスをカウントしたパルス幅であり、
前記ＡＤ変換誤差算出部は、前記パルス信号のＨｉｇｈレベル期間によって前記キャパシタに充電される充電時間を算出し、この充電時間から前記ＡＤ変換回路の入力電圧を推定し、前記ＡＤ変換値を算出することを特徴とする請求項２に記載のブラシレスモータ駆動装置。
【請求項４】
前記ＡＤ変換誤差算出部は、外部から指令として入力される通信のための通信用パルス信号の周期と、前記クロックパルスの周期とからクロック誤差率を算出し、前記クロック誤差率で補正して、前記充電時間を算出することを特徴とする請求項３に記載のブラシレスモータ駆動装置。
【請求項５】
前記ＡＤ変換回路の出力値を補正する補正テーブルと、
前記補正テーブルを生成する補正テーブル生成部とをさらに備え、
前記補正テーブル生成部は、前記ＡＤ変換誤差算出部が算出した前記変換誤差を補正値として、補正テーブルを生成することを特徴とする請求項１に記載のブラシレスモータ駆動装置。
【請求項６】
前記ＡＤ変換回路の異常の有無を診断するＡＤ変換回路診断部をさらに備え、
前記ＡＤ変換回路診断部は、前記ＲＣフィルタへ印加する前記パルス信号がＬｏｗの状態であって、前記ＲＣフィルタのキャパシタ電圧を入力とした前記ＡＤ変換回路の出力値が所定の範囲から逸脱している場合は、前記ＡＤ変換回路の異常と判定することを特徴とする請求項１に記載のブラシレスモータ駆動装置。
【請求項７】
前記ＡＤ変換誤差算出部は、前記ＲＣフィルタへ印加する前記パルス信号がＨｉｇｈの状態であって、算出した前記変換誤差が所定の範囲から逸脱している場合は、前記ＡＤ変換回路の異常と判定することを特徴とする請求項１に記載のブラシレスモータ駆動装置。
【請求項８】
前記電流検出回路の異常の有無を診断する電流検出回路診断部をさらに備え、
前記電流検出回路診断部は、前記ブラシレスモータの回転動作を停止中であって、前記電流検出回路の出力値を入力としたＡＤ変換回路の出力値が所定の範囲から逸脱している場合は、電流検出回路の異常と判定することを特徴とする請求項１に記載のブラシレスモータ駆動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブラシレスモータを駆動制御するブラシレスモータ駆動装置に関し、特に、モータ制御回路の一部のバラツキにより、指令に対するトルクのズレが発生する前に、その原因となり得るＡＤ（アナログ−デジタル）変換回路や電流検出回路を診断し、補正値を生成する機能を備えたブラシレスモータ駆動装置に関する。
【背景技術】
【０００２】
昨今、一般的に使われている冷蔵庫用などの冷却ファンには、その寿命や省エネルギー化の要求からブラシレスモータが使用されている。そして、冷却ファンには、その時々の気温や冷却対象の温度に応じて、ファンに必要とされる風量や、周辺付近に発する駆動音が定められており、それを満足するよう制御する必要がある。風量のバラツキは、インペラー（羽根車）に取り付けられているモータの回転速度のバラツキに依存し、駆動音はモータの回転トルクに依存することが知られている。【０００３】
ところで、パルス幅変調（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ、以下、適宜、「ＰＷＭ」と記す）駆動で制御されるセンサレスの３相ブラシレスモータの場合、従来、例えば、次のようなブラシレスモータ駆動装置で制御される。まず、その駆動装置では、各相のコイルに流れる電流値から、モータの回転位置を推定する。さらに、単位時間当たりの回転位置の変化量から実回転速度を算出する。そして、その駆動装置において、算出された実回転速度に従い、ＰＷＭ駆動を実現するインバータ回路内に備え付けられたＭＯＳ−ＦＥＴ素子のスイッチングパルス幅が制御される。【０００４】
そのため、コイルの電流値を検出する電流検出回路や、電流検出回路の出力をマイコン（マイクロコンピュータ）に取り込むためのＡＤ変換回路、および、単位時間を生成するためのクロック発生回路に誤差がある場合、算出される実回転速度およびトルクにも同様の誤差が発生し、目標値からのズレが発生する。【０００５】
このクロック発生回路やＡＤ変換回路の異常誤差を判定する方法として、従来、例えば、クロックパルスに基づいて生成した所定時間間隔のパルス電圧をＲＣフィルタに入力し、所定のクロックサイクル数における判定用の電圧が、所定の範囲を逸脱する場合にクロック発生回路またはＡＤ変換回路の異常と判定するものが提案されている（例えば、特許文献１参照）。【０００６】
また、他の従来例として、上位ユニットから入力されるＰＷＭ信号（指令信号）の周期に基づいて、マイコンを動作させる基準クロックの誤差率を算出し、回転速度を補正する方法が提案されている（例えば、特許文献２参照）。【０００７】
しかし、特許文献１では、判定用の電圧が所定の範囲内にある場合、ＡＤ変換回路の誤差により、電流検出回路で検出した電流値を正確に算出することができず、トルク誤差が発生していた。また、特許文献２では基準クロックの誤差率によって回転速度を補正できても、ＡＤ変換回路の誤差を検出することができなかった。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平８−２３０６５１号公報
【特許文献２】特開２０１３−４６４８８号公報
【発明の概要】
【０００９】
本発明のブラシレスモータ駆動装置は、ブラシレスモータの巻線を通電駆動するインバータ回路と、巻線の電流値を検出する電流検出回路と、ブラシレスモータを回転制御するための制御部と、抵抗とキャパシタとを含み構成されたＲＣフィルタとを含む。制御部は、インバータを駆動するための信号を生成する駆動制御部と、動作周期の基準となるクロックパルスを発生するクロック発生回路と、周波数が変化するパルス信号をクロックパルスに基づいて生成し、ＲＣフィルタに印加するパルス出力回路と、ＲＣフィルタのキャパシタおよび電流検出回路に接続されたＡＤ変換回路と、ＡＤ変換回路の変換誤差を算出するＡＤ変換誤差算出部とを備えている。そして、ＡＤ変換誤差算出部は、キャパシタの電圧を入力としたＡＤ変換回路の出力値と、キャパシタの充電時間から算出したＡＤ（アナログ−デジタルデータ）の変換値との差分に基づき、変換誤差を算出する構成である。
【００１０】
本発明のブラシレスモータ駆動装置によれば、ＡＤ変換回路の変換誤差を算出でき、この変換誤差を利用して、ＡＤ変換回路の異常を判定したり、ＡＤ変換回路の出力値を補正したりしソフトウェアへ高精度に取込むことができるようになる。このため、電流検出回路で検出した電流値を高精度に算出でき、回転誤差やトルク誤差を低減することができる。これにより、冷却ファンの風量や駆動音のバラツキを低減することができる。
【００１１】
特に、ＡＤ変換回路は、一般的に入力アナログ信号の周波数が高くなるほど有効ビット数が小さくなり、変換特性も悪化していくことが知られている。このようなＡＤ変換回路の特性に対し、本発明は、周波数が変化するパルス信号を利用してＡＤ変換回路の変換誤差を算出している。すなわち、ＡＤ変換回路の入力に直流電圧を印加し、その電圧を変えながら変換誤差を算出するようなスタティックな測定手法にくらべて、本発明では、周波数が変化するパルス信号を利用しているため、現実に即した変換特性に基づく変換誤差を算出できる。よって、本発明によれば、ＲＣフィルタにパルス信号を印加するという簡易な構成でありながら、上述のように、高精度よく、ＡＤ変換回路の異常を判定したりＡＤ変換回路の出力値を補正したりできる。
【００１２】
以上により、本発明によれば、これらの回転誤差やトルク誤差に対する余裕を確保するために大きなモータや回路基板を搭載する必要がなくなり、冷却ファンの小型化、軽量化を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施の形態１におけるブラシレスモータ駆動装置の構成を示すブロック図である。
【図２】図２は、同ブラシレスモータ駆動装置のパルス信号Ｐｌｓの波形とキャパシタ電圧Ｖｃの波形を示す図である。
【図３】図３は、同ブラシレスモータ駆動装置において、クロック誤差率Ｃｅを算出する構成例を示すブロック図である。
【図４】図４は、本発明の実施の形態２におけるブラシレスモータ駆動装置の構成を示すブロック図である。
【図５】図５は、同ブラシレスモータ駆動装置の補正テーブルの補間を説明する図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を用いて説明する。
【００１５】
（実施の形態１）
図１は、本発明の実施の形態１におけるブラシレスモータ駆動装置１０の構成を示すブロック図である。図１では、本ブラシレスモータ駆動装置１０にブラシレスモータ４０を接続した構成の一例を示している。このような構成により、ブラシレスモータ駆動装置１０は、外部からの指令に従った回転動作をするようにブラシレスモータ４０を駆動制御する。
【００１６】
ブラシレスモータ４０は、巻線をステータコアに巻回したコイル４１を備えるステータと、コイル４１を通電駆動することで、シャフトを中心に回転するロータとを備えている。本実施の形態では、ブラシレスモータ４０がＵ相、Ｖ相、Ｗ相とする３相のコイル４１を有し、ブラシレスモータ駆動装置１０が各相をパルス幅変調（ＰＷＭ）された駆動信号Ｄｒｖで回転駆動する一例を挙げて説明する。
【００１７】
図１に示すように、ブラシレスモータ駆動装置１０は、電流検出回路１５と、インバータ回路１４と、制御部１１と、ＲＣフィルタ２６と、を含む。
【００１８】
ブラシレスモータ駆動装置１０には、例えば、外部の上位コントローラ（図示せず）などからの指令の１つとして、回転速度やトルク量を指令するための信号である回転速度／トルク指令Ｔｓｐが入力される。ブラシレスモータ駆動装置１０は、ブラシレスモータ４０の回転が回転速度／トルク指令Ｔｓｐに応じた回転速度やトルクとなるように、駆動信号Ｄｒｖを生成する。そして、ブラシレスモータ駆動装置１０は、生成したそれぞれの駆動信号Ｄｒｖを各コイル４１に印加し、このようにして、ブラシレスモータ４０を回転制御する。
【００１９】
ブラシレスモータ駆動装置１０をこのように動作させるために、制御部１１は、ＰＩＤ（比例、積分、微分）制御により回転速度／トルク指令Ｔｓｐと実際の回転速度との残差に基づき、インバータ回路１４をスイッチング駆動するためのＰＭＷ原信号Ｄｐを生成する。そして、インバータ回路１４は、ＰＭＷ原信号Ｄｐに応じて、電源に接続された内部のスイッチング素子をスイッチングすることで、各相のコイル４１を通電駆動する駆動信号Ｄｒｖを生成して出力する。
【００２０】
また、本実施の形態では、位置センサなどを設けないセンサレスによって、ブラシレスモータ駆動装置１０がブラシレスモータ４０を駆動制御するような構成としている。本実施の形態では、このようなセンサレスで、回転するロータの位置を検出するために、電流検出回路１５を設けている。
【００２１】
電流検出回路１５は、各相の駆動信号Ｄｒｖの配線近辺に配置され、ブラシレスモータ４０のステータコアに巻かれたコイル４１に流れる各相（Ｕ相、Ｖ相、Ｗ相）の電流値を検出する。そして、電流検出回路１５は、検出したそれぞれの電流値に対応するアナログの電圧Ｄｅｔとして、それぞれ制御部１１に供給している。また、詳細については以下で説明するが、制御部１１は、ＡＤ（Ａｎａｌｏｇ−Ｄｉｇｉｔａｌ）変換回路を備えており、この電圧ＤｅｔをＡＤ変換し、ＡＤ変換の出力データを利用して、ロータの回転位置や回転速度を算出している。
【００２２】
さらに、本実施の形態では、電流検出回路１５やＡＤ変換回路などの異常を判定する機能を備えていることを特徴としている。すなわち、これらの異常を判定するため、本実施の形態では、ブラシレスモータ駆動装置１０に、抵抗器（Ｒ）とキャパシタ（Ｃ）とで構成されたＲＣフィルタ２６を設けている。
【００２３】
次に、ブラシレスモータ駆動装置１０の各部において、さらに詳細な構成について説明する。
【００２４】
まず、制御部１１は、ブラシレスモータ４０が所望の回転動作をするようにブラシレスモータ４０を駆動制御するため、回転制御部１２と、駆動波形生成部１３と、第１、第２および第３のＡＤ変換回路２２１、２２２および２２３（以降、総称して単にＡＤ変換回路２２と呼ぶ場合がある）と、モータ位置算出部１８と、実回転速度算出部１７とを備えている。そして、これら各部によって、インバータ回路１４を駆動するためのＰＷＭ原信号Ｄｐを生成する駆動制御部が構成され、生成したＰＷＭ原信号Ｄｐがインバータ回路１４に供給される。
【００２５】
さらに、制御部１１は、デジタル処理を行うために、そのクロック信号となるクロックパルスＣｌｋを生成するクロック発生回路２３と、クロックパルスＣｌｋに基づき各種のタイミング信号を生成するためのタイマ回路２４とを備えている。
【００２６】
そして、制御部１１は、各ＡＤ変換回路２２および電流検出回路１５の異常を判定するために、パルス出力回路２５と、ＡＤ変換回路診断部１９と、ＡＤ変換誤差算出部２０と、電流検出回路診断部２１とを備えている。
【００２７】
このように構成された制御部１１において、ＡＤ変換回路２２のそれぞれは、各チャンネルｃｈ１、ｃｈ２に入力されたアナログの電圧に対し、その電圧値をデジタル値で示すデジタル信号Ｄｉｇ１、Ｄｉｇ２、Ｄｉｇ３に変換して出力する。チャンネルｃｈ１には、電流検出回路１５が検出した電流値に対応する電圧Ｄｅｔが供給されている。第１のＡＤ変換回路２２１では、Ｕ相の電流値に対応する電圧Ｄｅｔである電圧ＤｅｔＵがチャンネルｃｈ１に供給され、電圧ＤｅｔＵに対応したデジタル値を示すデジタル信号Ｄｉｇ１が出力される。第２のＡＤ変換回路２２２では、Ｖ相の電流値に対応する電圧Ｄｅｔである電圧ＤｅｔＶがチャンネルｃｈ１に供給され、電圧ＤｅｔＶに対応したデジタル値を示すデジタル信号Ｄｉｇ２が出力される。第３のＡＤ変換回路２２３では、Ｗ相の電流値に対応する電圧Ｄｅｔである電圧ＤｅｔＷがチャンネルｃｈ１に供給され、電圧ＤｅｔＷに対応したデジタル値を示すデジタル信号Ｄｉｇ３が出力される。また、詳細については以下で説明するが、各ＡＤ変換回路２２のチャンネルｃｈ２には共通に、ＲＣフィルタ２６から、異常判定をするために利用する判定用電圧としてのキャパシタ電圧Ｖｃが供給されている。
【００２８】
それぞれのＡＤ変換回路２２から出力されたデジタル信号Ｄｉｇ１〜３は、モータ位置算出部１８に供給される。モータ位置算出部１８は、各相の電流値を示すデジタル信号Ｄｉｇ１〜３からブラシレスモータ４０のロータ位置を算出する。すなわち、本実施の形態では、各相で検出した電流値に基づいて、モータ位置算出部１８がロータの回転位置を検出している。モータ位置算出部１８は、このように算出したロータ位置を示すロータ位置信号Ｐｄを、実回転速度算出部１７および駆動波形生成部１３へと出力する。
【００２９】
実回転速度算出部１７には、ロータ位置信号Ｐｄに加えて、タイマ回路２４から、所定の時間幅を示すタイマカウント数Ｃｎｔが通知される。実回転速度算出部１７は、このタイマカウント数Ｃｎｔとロータ位置信号Ｐｄとを用いて、所定の時間幅におけるロータ位置の変化量から、実際の回転速度を示す実回転速度を算出している。実回転速度算出部１７は、実回転速度を実回転速度信号Ｖｄとして回転制御部１２へ出力する。
【００３０】
回転制御部１２は、回転速度／トルク指令Ｔｓｐと実回転速度信号Ｖｄとの差である偏差に対して、例えば比例積分微分などの演算処理（ＰＩＤ処理）を行い、この演算処理の結果に応じた駆動波形デューティ信号Ｄｄを生成して出力する。駆動波形生成部１３は、駆動波形デューティ信号Ｄｄとロータ位置信号Ｐｄから、インバータ回路１４のスイッチング素子を制御するためのＰＭＷ原信号Ｄｐを生成し、インバータ回路１４へと出力する。
【００３１】
このように、本実施の形態では、電流検出回路１５が検出した電流値に基づいて、ロータの実回転速度を示す実回転速度信号Ｖｄが生成され、また、回転速度を制御するために指令された指令速度を示す回転速度／トルク指令Ｔｓｐが通知される。そして、ブラシレスモータ駆動装置１０によって、実回転速度信号Ｖｄと回転速度／トルク指令Ｔｓｐとに基づき、ロータの回転速度が指令速度に追従するようにフィードバック制御する速度制御ループが構成されている。ブラシレスモータ駆動装置１０は、以上のような一連のループを連続的に実行することにより、ブラシレスモータ４０を回転制御する。
【００３２】
また、このような一連のループ処理をデジタル処理によって実行したり、ＡＤ変換回路２２のサンプリングタイミングを生成したりするため、制御部１１は、クロック発生回路２３とタイマ回路２４とを備えている。クロック発生回路２３は、動作周期の基準となる周期的なクロックパルスＣｌｋを生成し、制御部１１の基準クロックとして各デジタル処理回路などに分配している。タイマ回路２４は、基準のクロックパルスＣｌｋを用いて動作し、所定のタイミングで、ＡＤ変換回路２２へサンプリング信号としてのトリガ信号Ｔｒｇ１、Ｔｒｇ３を出力する。さらに、タイマ回路２４は、パルス出力回路２５へトリガ信号Ｔｒｇ２、Ｔｒｇ４を出力している。
【００３３】
タイマ回路２４の具体的な構成例として、タイマ回路２４は、クロックパルスＣｌｋをカウントするカウンタを有している。そして、タイマ回路２４は、このカウンタによって、予め定めているカウント数に応じたタイミングを示すパルス信号を、トリガ信号Ｔｒｇ１〜４やタイマカウント数Ｃｎｔとして出力している。
【００３４】
より具体的な例として、例えば、クロックパルスＣｌｋの周期は０．１μＳ（すなわち、周波数では１０ＭＨｚ）とする。そして、タイマ回路２４において、あるパルスのＨｉｇｈ期間とするカウント数を２００とし、パルスのＬｏｗ（ロー）期間のカウント数を８００とする。これにより、タイマ回路２４から、Ｈｉｇｈ（ハイ）期間が２０μＳ、Ｌｏｗ期間が８０μＳとなる１０ＫＨｚの周期的なパルス信号を出力することになる。また、例えばＡＤ変換回路２２は、このようなパルス信号のＬｏｗからＨｉｇｈへと立ち上がるタイミングや、その逆の立ち下がるタイミングをサンプリングのタイミングとして利用する。例えば、上記１０ＫＨｚのパルス信号の立ち上がりをＡＤ変換回路２２のサンプリングタイミングとすると、ＡＤ変換回路２２は、１００μＳ毎にデジタル信号Ｄｉｇを出力する。なお、以下、デジタル処理における一般的な表現と同様に、パルス信号とは、ＨｉｇｈのレベルとＬｏｗのレベルとで構成された信号であり、Ｈｉｇｈレベルは正電源Ｖｃｃの電圧近辺のレベル、Ｌｏｗレベルは負側電源となるグランドの電圧近辺のレベルとして説明する。
【００３５】
次に、各ＡＤ変換回路２２と電流検出回路１５との異常を判定するための詳細な構成について説明する。
【００３６】
これらの異常を判定するために、ブラシレスモータ駆動装置１０に設けたＲＣフィルタ２６は、抵抗２７とキャパシタ２８とが直列に接続され、構成されている。その抵抗２７の一方には、制御部１１のパルス出力回路２５が出力する異常判定用のパルス信号Ｐｌｓが接続されている。そして、そのキャパシタ２８の一方は、グランド２９に接続されている。さらに、抵抗２７とキャパシタ２８との中間接続点Ｐは、異常判定用であるキャパシタ電圧Ｖｃとして、第１〜３のＡＤ変換回路２２のチャンネルｃｈ２に接続されている。
【００３７】
ＡＤ変換回路２２のそれぞれは、トリガ信号Ｔｒｇ１、Ｔｒｇ３が示すタイミングで、ＲＣフィルタ２６のキャパシタ電圧（中間接続点Ｐの電圧）Ｖｃを読み込む。ここで、詳細については以下で説明するが、トリガ信号Ｔｒｇ１は、キャパシタ２８が十分に放電してキャパシタ電圧Ｖｃが最も低くなったタイミング（以下、適宜、このタイミングをタイミングＣ１と呼ぶ）を示すとする。そして、トリガ信号Ｔｒｇ３は、キャパシタ２８が十分に充電されてキャパシタ電圧Ｖｃが、その測定期間において最も高くなったタイミング（以下、適宜、このタイミングをタイミングＣ２と呼ぶ）を示すとする。また、キャパシタ電圧Ｖｃの読込み完了後、タイマ回路２４は、パルス出力回路２５へトリガ信号Ｔｒｇ２、Ｔｒｇ４を出力する。
【００３８】
すなわち、本実施の形態では、ＡＤ変換回路２２が、トリガ信号Ｔｒｇ１のタイミングで、最も低いキャパシタ電圧Ｖｃを読み込むとともに、このトリガ信号Ｔｒｇ１の直後となるトリガ信号Ｔｒｇ２のタイミングで、キャパシタ２８への充電が開始される。そして、ＡＤ変換回路２２が、トリガ信号Ｔｒｇ３のタイミングで、その測定期間における最も高いキャパシタ電圧Ｖｃを読み込むとともに、このトリガ信号Ｔｒｇ３の直後となるトリガ信号Ｔｒｇ４のタイミングで、キャパシタ２８の放電が開始される。
【００３９】
また、このような充放電を行うため、トリガ信号Ｔｒｇ２、Ｔｒｇ４を入力した時、パルス出力回路２５は、出力するパルス信号Ｐｌｓの信号レベルのＬｏｗとＨｉｇｈを切り替えることにより、所定のデューティ比および周期のパルス信号Ｐｌｓを生成し、ＲＣフィルタ２６へ出力する。特に、本実施の形態では、キャパシタ電圧Ｖｃを読み込む測定期間ごとに、デューティ比は一定としながら周波数が順次に低くなるようなパルス信号ＰｌｓをＲＣフィルタ２６に供給することを特徴としている。
【００４０】
ＡＤ変換回路診断部１９、ＡＤ変換誤差算出部２０および電流検出回路診断部２１は、上述したようなトリガ信号Ｔｒｇ１、Ｔｒｇ３の測定タイミングでのキャパシタ電圧Ｖｃの測定結果を用いて、ＡＤ変換回路２２および電流検出回路１５の異常診断を行う。そして、診断結果が異常の場合、エラー停止信号Ｅｒｒが回転制御部１２へ出力され、ブラシレスモータ４０の回転動作を停止させる。
【００４１】
また、詳細は後述するが、ＡＤ変換誤差算出部２０は、メモリ３１に記録したクロック誤差率Ｃｅを用いて、キャパシタ充電時間Ｔｃを算出する。
【００４２】
図２は、ブラシレスモータ駆動装置１０におけるパルス出力回路２５からＲＣフィルタ２６へ印加されるパルス信号Ｐｌｓの波形（上側）とキャパシタ電圧Ｖｃの波形（下側）、およびＡＤ変換回路２２の読込みタイミングを示している。
【００４３】
図２では、第１回目の測定期間Ｍ１、第２回目の測定期間Ｍ２、第３回目の測定期間Ｍ３、第ｎ回目の測定期間Ｍｎというように、順次、異常診断のための測定期間を設けた一例を示している。そして、各測定期間Ｍ１〜Ｍｎに対応させて、それぞれの周期Ｔｔの時間幅については、周期時間幅Ｔｔ１〜Ｔｔｎとし、各測定期間におけるパルス信号ＰｌｓのそれぞれのＨｉｇｈの期間Ｔｈについては、Ｈｉｇｈ期間幅Ｔｈ１〜Ｔｈｎで示している。すなわち、例えば、第１回目の測定期間Ｍ１では、周期時間幅Ｔｔ１で、そのうちパルス信号ＰｌｓがＨｉｇｈとなる期間ＴｈはＨｉｇｈ期間幅Ｔｈ１である。
【００４４】
ここで、上述したように、本実施の形態でのパルス出力回路２５は、所定のデューティ比で周波数が低くなるようなパルス信号Ｐｌｓを出力する。すなわち、本実施の形態では、１つの周期Ｔｔの時間幅に対するＨｉｇｈ期間Ｔｈの時間幅で定義されるデューティ比を、パルス信号Ｐｌｓの測定期間Ｍ１〜Ｍｎにおいて、Ｔｈ１／Ｔｔ１＝Ｔｈ２／Ｔｔ２＝Ｔｈ３／Ｔｔ３＝Ｔｈｎ／Ｔｔｎ＝一定としている。また、図２から明らかなように、パルス信号Ｐｌｓの測定期間Ｍ１〜Ｍｎにおいて、順に１周期Ｔｔの時間幅が大きくなる（周波数としては低くなる）、すなわち、Ｔｔ１＜Ｔｔ２＜Ｔｔ３＜Ｔｔｎとしている。
【００４５】
このようなパルス信号Ｐｌｓを生成するため、パルス出力回路２５には、タイマ回路２４からトリガ信号Ｔｒｇ２、Ｔｒｇ４が供給される。パルス出力回路２５は、図２の上側に示すように、トリガ信号Ｔｒｇ２のタイミングでＬｏｗからＨｉｇｈへ切り替わり、トリガ信号Ｔｒｇ４のタイミングでＨｉｇｈからＬｏｗへ切り替わるパルス信号Ｐｌｓを出力する。
【００４６】
そして、タイマ回路２４は、あるトリガ信号Ｔｒｇ２から次のトリガ信号Ｔｒｇ２までの期間が周期Ｔｔごとに大きくなるように、それぞれのトリガ信号Ｔｒｇ２を出力する。これによって、パルス出力回路２５は、上述したように、図２の上側に示すような各周期Ｔｔの周期時間幅Ｔｔ１〜Ｔｔｎが順に大きくなるパルス信号Ｐｌｓを出力する。
【００４７】
さらに、タイマ回路２４は、所定のデューティ比となるように、あるトリガ信号Ｔｒｇ２からその周期Ｔｔでのトリガ信号Ｔｒｇ４までの期間Ｔｈも周期Ｔｔごとに大きくなるように、それぞれのトリガ信号Ｔｒｇ４を出力する。これによって、パルス出力回路２５は、上述のようにそれぞれの周期におけるデューティ比が一定でそれぞれ等しくなるパルス信号Ｐｌｓを出力する。
【００４８】
本実施の形態では、ＡＤ変換回路２２および電流検出回路１５の異常診断を行うため、このようなパルス信号ＰｌｓをＲＣフィルタ２６に印加している。このパルス信号Ｐｌｓの印加により、キャパシタ２８が充電と放電を繰り返すため、キャパシタ電圧Ｖｃは、図２の下側に示すような波形となる。すなわち、パルス出力回路２５から出力されるパルス信号Ｐｌｓの波形が所定のデューティ比および周波数範囲内にある場合、ＲＣフィルタ２６の中間接続点Ｐのキャパシタ電圧Ｖｃは、所定のピーク電圧を持つノコギリ状の波形となる。
【００４９】
ここで、タイマ回路２４からのトリガ信号Ｔｒｇ１とＴｒｇ３の出力間隔を徐々に増加させることにより、ＡＤ変換回路２２がコンデンサ電圧を読込むタイミングＣ１とＣ２の間隔を増加させるようにする。これにより、ＲＣフィルタ２６に印加されるパルス信号Ｐｌｓのデューティ比を固定とするとともに、パルス信号Ｐｌｓの１パルス毎に周波数を低下させることができる。
【００５０】
このような処理について、さらに具体的な一例を次に説明する。ここでは、タイマ回路２４がクロックパルスＣｌｋをカウントするカウンタを有し、このカウンタを利用してトリガ信号Ｔｒｇ１〜４を生成する例を挙げて説明する。また、所定のデューティ比として２０％で、パルス信号Ｐｌｓの周期Ｔｔが順に２倍となるように増加して周波数が低くなる具体例を挙げる。
【００５１】
タイマ回路２４は、このようなカウンタを利用して、例えば、次のように動作する。まず、第１回目の測定期間Ｍ１として、タイマ回路２４は、トリガ信号Ｔｒｇ２のタイミングで、カウント値が「０」からインクリメントしていくようにカウンタのカウントをスタートさせる。そして、タイマ回路２４は、カウント値が「９９」となった時点でトリガ信号Ｔｒｇ４を出力する。さらに、タイマ回路２４のカウント値はインクリメントされ、カウント値が「４９９」となった時点で、次のトリガ信号Ｔｒｇ２を出力し、第１回目の測定期間Ｍ１を終える。これにより、第１回目の測定期間Ｍ１において、パルス出力回路２５から出力されるパルス信号Ｐｌｓは、周期時間幅Ｔｔ１がクロック１周期の「５００」倍に対して、Ｈｉｇｈ期間Ｔｈの時間幅Ｔｈ１がクロック１周期の「１００」倍となる。例えば、クロック１周期を０．１μＳ（すなわち、周波数では１０ＭＨｚ）とすると、周期時間幅Ｔｔ１＝５０μＳ（クロック「５００」個分）、Ｈｉｇｈ期間幅Ｔｈ１＝１０μＳ（クロック「１００」個分）であり、デューティ比は、１０μＳ／５０μＳ＝２０％となる。
【００５２】
また、このような第１回目の測定期間Ｍ１において、ＡＤ変換回路２２のサンプリングタイミングとなるトリガ信号Ｔｒｇ１、Ｔｒｇ３が示すタイミングに関しては、例えば、次のようにすればよい。すなわち、まず、上述のようにトリガ信号Ｔｒｇ３の直後にトリガ信号Ｔｒｇ４が出力されればよい。これより、カウント値「９９」に対応するトリガ信号Ｔｒｇ４の直前、すなわちカウント値「９８」なった時点で、トリガ信号Ｔｒｇ３を出力すればよい。そして、上述のようにトリガ信号Ｔｒｇ１の直後にトリガ信号Ｔｒｇ２が出力されればよい。これより、カウント値「４９９」に対応するトリガ信号Ｔｒｇ２の直前、すなわちカウント値「４９８」なった時点で、トリガ信号Ｔｒｇ１を出力すればよい。
【００５３】
次に、第２回目の測定期間Ｍ２として、周期Ｔｔが測定期間Ｍ１に比べて２倍となるように、次のようにすればよい。まず、カウントを一旦リセットし、カウント値「０」からインクリメントしていくようにカウンタのカウントを再スタートさせる。そして、タイマ回路２４は、カウント値が「１９９」となった時点でトリガ信号Ｔｒｇ４を出力する。さらに、タイマ回路２４のカウント値はインクリメントされ、カウント値が「９９９」となった時点で、次のトリガ信号Ｔｒｇ２を出力し、測定期間Ｍ２を終える。これにより、第１回目の測定期間Ｍ１において、パルス出力回路２５から出力されるパルス信号Ｐｌｓは、周期時間幅Ｔｔ２がクロック「１０００」個分に対して、Ｈｉｇｈ期間Ｔｈの時間幅Ｔｈ２がクロック「２００」個分となる。そして、デューティ比に関しては、測定期間Ｍ１と同様に２０％となる。また、測定期間Ｍ１と同様の理由より、カウント値「１９８」なった時点でトリガ信号Ｔｒｇ３を出力し、カウント値「９９８」なった時点でトリガ信号Ｔｒｇ１を出力すればよい。
【００５４】
本実施の形態では、以上のような処理を、測定期間ごとに行うことによって、デューティ比は一定としながら周波数が順次に低くなるようなパルス信号ＰｌｓをＲＣフィルタ２６に印加している。そして、キャパシタ２８の充電時間が１パルス毎に増加し、キャパシタ電圧Ｖｃのピーク電圧値はＶ１、Ｖ２、Ｖ３と増加する。そして、ＲＣフィルタ２６に印加されるパルス信号Ｐｌｓが所定の周波数以下に到達すると、ピーク電圧値はＶｃｍａｘで飽和状態となる。ＡＤ変換回路２２は、タイミングＣ１において、最も低いキャパシタ電圧Ｖｃを読み込むとともに、測定期間ごとのタイミングＣ２において、このようにピーク電圧値がＶ１、Ｖ２、Ｖ３と増加するような最も高いキャパシタ電圧Ｖｃも読み込んでいる。
【００５５】
次に、ＡＤ変換回路診断部１９、ＡＤ変換誤差算出部２０および電流検出回路診断部２１の一連の処理について詳細に説明する。
【００５６】
まず、ＡＤ変換回路診断部１９の処理について説明する。ＡＤ変換回路診断部１９は、タイミングＣ１におけるＡＤ変換回路２２のＡＤ出力信号であるデジタル信号Ｄｉｇ１〜３の値（以降、総称して単に出力値Ｄｉｇと呼ぶ）を用いて、ＡＤ変換回路２２が正常かどうかを判定する。
【００５７】
ＡＤ変換回路２２は、アナログ入力の入力電圧が下限電圧Ｖｍｉｎから上限電圧Ｖｍａｘまでの上下限電圧範囲のアナログ信号を入力し、下限電圧Ｖｍｉｎに対応するデジタル値としての下限出力値から上限電圧Ｖｍａｘに対応するデジタル値としての上限出力値までの上下限出力値範囲の出力値Ｄｉｇを出力する。具体的な例として、通常の直線的に変換する８ビットのＡＤ変換回路２２であれば、例えば下限電圧Ｖｍｉｎが０Ｖの入力電圧に対しては「０」、上限電圧Ｖｍａｘが１Ｖの入力電圧に対しては「２５５」、中間の０．５Ｖの入力電圧に対しては「１２８」の出力値Ｄｉｇを出力するように構成されている。なお、以下、ＡＤ変換回路２２のチャンネルｃｈ２には、下限電圧Ｖｍｉｎとしてキャパシタ電圧Ｖｃの最小値Ｖｃｍｉｎ、上限電圧Ｖｍａｘとしてキャパシタ電圧Ｖｃの最大値Ｖｃｍａｘを入力するものとして説明する。
【００５８】
このようなＡＤ変換回路２２に対して、ＡＤ変換回路診断部１９は、ＡＤ変換回路２２に対して、入力側の下限電圧Ｖｍｉｎに対する出力値Ｄｉｇの変換機能の異常を判定している。また、本実施の形態では、この下限電圧Ｖｍｉｎとして、タイミングＣ１におけるキャパシタ２８が十分に放電してキャパシタ電圧Ｖｃが最も低くなった電圧、すなわち最小値Ｖｃｍｉｎを利用している。このような構成において、出力値Ｄｉｇが、下限電圧Ｖｍｉｎに対する所定の正常判定範囲を逸脱した場合は、ＡＤ変換回路診断部１９は、そのＡＤ変換回路２２の異常と判定する。そして、ＡＤ変換回路診断部１９は、異常と判定すると、エラー停止信号Ｅｒｒを回転制御部１２へ出力し、ブラシレスモータ４０の回転動作を停止させる。
【００５９】
例えば、下限電圧Ｖｍｉｎに対する正常判定範囲が「０」〜「５」である場合、ＡＤ変換回路診断部１９は、出力値Ｄｉｇが「７」であればＡＤ変換回路２２の異常と判定し、出力値が「４」であれば異常ではないと判定する。
【００６０】
次に、ＡＤ変換誤差算出部２０の処理について説明する。ＡＤ変換誤差算出部２０は、タイミングＣ２におけるＡＤ変換回路２２の出力値Ｄｉｇを用いて、ＡＤ変換における標準の値からの誤差を算出し、この誤差を利用してＡＤ変換回路２２が正常かどうかを判定する。すなわち、ＡＤ変換誤差算出部２０は、ＡＤ変換回路２２における入力側の入力電圧Ｖｉｎに対する出力値Ｄｉｇの変換機能の異常を、算出した誤差に基づき判定している。
【００６１】
このようなＡＤ変換誤差算出部２０の動作について、概略的には次のように動作する。ここで、具体的な例として、直線的に変換する８ビットのＡＤ変換回路２２であって、入力電圧０〜１Ｖに対して出力値Ｄｉｇの値が「０」〜「２５５」の変換仕様の場合、中間の０．５Ｖの入力電圧に対しては、標準であれば「１２８」の出力値Ｄｉｇを出力する仕様とする。ところが、実際にはＡＤ変換回路２２にバラツキがあるため、例えば、０．５Ｖの入力電圧に対して測定結果が「１２７」を出力したとする。本実施の形態では、出力値Ｄｉｇにおいて、このような標準の場合と測定結果との差を変換誤差としている。よって、ここでの例の場合、標準の場合の「１２８」と測定結果の「１２７」の差「１」が変換誤差である。ＡＤ変換誤差算出部２０は、このような変換誤差を算出している。そして、さらに、ＡＤ変換誤差算出部２０は、このような変換誤差を利用して、変換誤差が大きい場合に異常と判定している。
【００６２】
また、本実施の形態では、この入力電圧Ｖｉｎとして、タイミングＣ２におけるキャパシタ２８を所定の時間だけ充電したキャパシタ電圧Ｖｃを利用している。すなわち、図２の下側に示すように、キャパシタ電圧Ｖｃのピーク電圧値は、測定期間ごとにＶ１、Ｖ２、Ｖ３と変化する。ＡＤ変換誤差算出部２０は、このように変化するそれぞれの入力電圧Ｖｉｎに対する出力値Ｄｉｇに基づき、ＡＤ変換回路２２の変換機能の異常を判定している。ＡＤ変換誤差算出部２０は、出力値Ｄｉｇが、ある入力電圧Ｖｉｎに対する所定の正常判定範囲を逸脱した場合は、そのＡＤ変換回路２２の異常と判定する。そして、ＡＤ変換誤差算出部２０は、異常と判定すると、エラー停止信号Ｅｒｒを回転制御部１２へ出力し、ブラシレスモータ４０の回転動作を停止させる。
【００６３】
次に、ＡＤ変換誤差算出部２０が行うＡＤ変換における変換誤差の算出について詳細に説明する。ＡＤ変換誤差算出部２０は、ＡＤ変換回路２２の実際の出力値Ｄｉｇと、このときの入力電圧Ｖｉｎに対する理論値Ａｃとの差分に基づき、変換誤差を算出している。そして、本実施の形態では、さらに、ＡＤ変換誤差算出部２０は、この誤差が所定の正常判定範囲を逸脱したかどうかを判定している。また、以下、このような変換誤差をオフセットＡｄｏｓとして説明する。上述の直線変換の８ビットのＡＤ変換回路２２の例の場合、入力電圧Ｖｉｎ＝０．５Ｖに対する理論値Ａｃが値「１２８」であり、実際の出力値Ｄｉｇが値「１２７」であり、オフセットＡｄｏｓが値「１」である。
【００６４】
本実施の形態では、このオフセットＡｄｏｓを導出するため、キャパシタ電圧Ｖｃを入力としたＡＤ変換回路２２の実際の出力値Ｄｉｇと、キャパシタ２８の充電時間から算出したＡＤ変換値との差分に基づき、変換誤差を算出している。より具体的には、まず、パルス信号ＰｌｓにおけるＨｉｇｈ期間Ｔｈの時間幅を利用して、各測定期間におけるキャパシタ電圧Ｖｃを入力とした入力電圧Ｖｉｎを求めている。簡単には、Ｈｉｇｈ期間Ｔｈは、クロックパルスＣｌｋの周期とクロックのカウント数とから求めている。すなわち、ＡＤ変換誤差算出部２０は、クロックパルスＣｌｋの所定サイクル数経過後において、上記のような実際の出力値Ｄｉｇと算出したＡＤ変換値との差分に基づき、変換誤差を算出している。
【００６５】
ここで、本実施の形態では、クロック発生回路２３を、周波数精度の高い水晶発振器ではなく、例えば、周波数精度は低いが安価なＲＣ発振器で実現するような構成を想定している。このため、Ｈｉｇｈ期間Ｔｈを求めるために、クロックパルスＣｌｋの周期のバラツキを補正するクロック誤差率Ｃｅを導入している。
【００６６】
このように、まず、クロック誤差率Ｃｅとパルス設定値とから、（式１）を用いて、Ｃ１−Ｃ２間の充電時間Ｔｃを算出する。ここで、パルス信号ＰｌｓのＨｉｇｈ期間Ｔｈでキャパシタ２８を充電するため、充電時間Ｔｃは、Ｈｉｇｈ期間Ｔｈとなる。
【００６７】
【数１】
2015182020.tif 000003
【００６８】
ただし、Ｃｙは、ＲＣフィルタ２６へ印加するパルス信号ＰｌｓのＨｉｇｈ期間Ｔｈに対する基準クロックサイクル数である。すなわち、例えば、タイマ回路２４のカウンタが、トリガ信号Ｔｒｇ２からトリガ信号Ｔｒｇ４までクロックパルスＣｌｋをカウントするカウント数である。Ｂｔは、クロックパルスＣｌｋの周期である。Ｃｅは、クロック誤差率Ｃｅであり、クロックパルスＣｌｋの周期において、設計上の周期Ｂｔと実際の周期Ｂｔ’との比である。
【００６９】
具体的な例として、まず、クロック発生回路２３で生成するクロックパルスＣｌｋの設計上の周期Ｂｔは０．１μＳであるが、回路精度のバラツキにより実際のクロックパルスＣｌｋの周期Ｂｔ’が０．１０１μＳとなったとする。この例のような場合、クロック誤差率Ｃｅは、Ｃｅ＝Ｂｔ’／Ｂｔ＝０．１０１／０．１となる。また、例えば、パルス信号ＰｌｓのＨｉｇｈ期間Ｔｈを生成するため、カウンタによってクロックパルスＣｌｋを「１００」カウントするとする。この場合、基準クロックサイクル数Ｃｙは、カウント数「１００」となり、その結果、充電時間Ｔｃは、Ｔｃ＝Ｃｙ×Ｂｔ×Ｃｅ＝１００×０．１μＳ×（０．１０１／０．１）＝１０．１μＳとなる。
【００７０】
クロック誤差率Ｃｅについては、例えば、ブラシレスモータ駆動装置１０の製造段階でクロック発生回路２３の実際の周期を測定し、正確な周期からのずれをクロック誤差率Ｃｅとしてメモリ３１などに記憶させておけばよい。
【００７１】
また、クロック誤差率Ｃｅに関して、例えば、外部の上位コントローラなどからの回転速度／トルク指令Ｔｓｐのような指令を、シリアル通信などで行うような構成の場合、次のようにクロック誤差率Ｃｅを求めても良い。すなわち、まず、このシリアル通信に利用するパルスの周期を精度よいものとしておく。そして、上位コントローラから入力される指令信号のパルスの周波数と、クロック発生回路２３から出力される基準クロックの周波数との比較によりクロック誤差率Ｃｅを算出するように構成することも可能である。具体的には、指令信号のパルスの１周期における基準クロックの実サイクル数と、パルスの１周期における基準クロックの理論サイクル数との比率をいう。なお上位ユニットから入力される指令信号としては回転速度／トルク指令Ｔｓｐまたは定期的に入力される通信周期を利用すればよい。
【００７２】
図３は、このように、上位コントローラから入力される信号を利用して、クロック誤差率Ｃｅを算出する構成例を示すブロック図である。図３では、クロック誤差率Ｃｅを算出するための要部のみを示しており、上位コントローラ１００とブラシレスモータ駆動装置１０とが指令信号などを送受信する通信機能を有した一例を示している。図３において、上位コントローラ１００は、周波数精度の高い水晶発振子１０１で生成したクロック信号で動作する一方、制御部１１では、抵抗Ｒ１とキャパシタＣ１で構成された周波数精度の低いＲＣ発振器であるクロック発生回路２３でクロックパルスＣｌｋ生成して動作する一例を示している。また、制御部１１は、上位コントローラ１００と通信を行う通信部５１と、通信部５１を介して上位コントローラ１００から受け取った指令信号などの通信用パルス信号Ｐｃｓを利用してクロック誤差率Ｃｅを測定するクロック誤差率測定部５２とを備えている。クロック誤差率測定部５２は、通信用パルス信号Ｐｃｓの１周期の期間Ｔｃｓとクロック発生回路２３から出力されるクロックパルスＣｌｋの周期とからクロック誤差率Ｃｅを算出する。すなわち、クロック誤差率測定部５２は、期間ＴｃｓにおけるクロックパルスＣｌｋのカウント数Ｎｃｐを測定する。また、通信用パルス信号Ｐｃｓの１周期の期間Ｔｃｓにおける上位コントローラ１００側のクロックのカウント数をＮｃｓとすると、上位コントローラ１００は周波数精度が高いため、期間Ｔｃｓにおける基準クロックの理論サイクル数もＮｃｓとなる。これより、クロック誤差率測定部５２は、通信用パルス信号Ｐｃｓの１周期における基準クロックの実サイクル数Ｎｃｐと、基準クロックの理論サイクル数Ｎｃｓとの比率Ｎｃｓ／Ｎｃｐをクロック誤差率Ｃｅとして算出している。
【００７３】
次に、キャパシタ２８への充電時間Ｔｃと、ＲＣフィルタ２６のパルス波形に対するキャパシタ電圧式から、ＡＤ変換回路２２の入力となるＡＤ端子電圧（理論値）Ｖｃａを（式２）で算出する。
【００７４】
【数２】
2015182020.tif 000004
【００７５】
ただし、ＲはＲＣフィルタ２６の抵抗２７の抵抗値、ＣはＲＣフィルタ２６のキャパシタ２８の静電容量である。
【００７６】
次に、（式３）を用いて、このＡＤ端子電圧Ｖｃａに対する、ＡＤ変換回路２２の変換誤差がない場合のＡＤ変換値（理論値）Ａｃを算出する。
【００７７】
【数３】
2015182020.tif 000005
【００７８】
ただし、ＡｃｍａｘはＡＤ変換回路２２の出力最大値、ＶｃｍａｘはＡＤ変換回路２２の入力最大電圧である。
【００７９】
次に、（式４）から、ＡＤ変換値（理論値）Ａｃと、実際にＡＤ変換回路２２から出力されたＡＤ変換値（実測）Ｄｉｇとの差分を算出し、オフセットＡｄｏｓとする。
【００８０】
【数４】
2015182020.tif 000006
【００８１】
ＡＤ変換誤差算出部２０は、上記で算出されたオフセットＡｄｏｓが所定の正常判定範囲を逸脱した場合は、該当するＡＤ変換回路２２の異常と判定する。例えば、オフセットＡｄｏｓの所定の正常判定範囲が−５〜＋５である場合、ＡＤ変換値（理論値）Ａｃが「１７」、ＡＤ変換値（実測）Ｄｉｇが「１０」ならオフセットＡｄｏｓは「７」となり、正常判定範囲を逸脱しているので、ＡＤ変換回路２２の異常と判定する。ＡＤ変換値（理論値）Ａｃが「１７」、ＡＤ変換値（実測）Ｄｉｇが「１３」ならオフセットＡｄｏｓが「４」となり、正常判定範囲を逸脱していないので、異常とは判定しない。
【００８２】
次に、電流検出回路診断部２１の処理について説明する。電流検出回路診断部２１は、ブラシレスモータ４０が回転動作を停止しているタイミングに、電流検出回路１５の出力を読み込んだＡＤ変換回路２２の出力値Ｄｉｇを用いて、電流検出回路１５が異常であるかどうかを判定している。すなわち、出力値Ｄｉｇの値が所定の正常判定範囲を逸脱した場合は、電流検出回路１５の異常と判定する。より具体的には、回転停止時の電流検出値はゼロとなるべきであり、これに合わせて、例えば、正常判定を範囲「０〜９」とする。この場合であれば、ＡＤ変換回路２２の出力値Ｄｉｇが「１０」の場合は、電流検出回路の異常と判定する。
【００８３】
以上のような一連の処理を、ＲＣフィルタ２６に印加される１パルス毎に実施する。また、このパルス信号Ｐｌｓは、前述の通り、周波数が１パルス毎に低下するため、キャパシタ２８への充電時間が１パルス毎に増加し、ＡＤ変換回路２２の最小から最大まで全範囲の出力値Ｄｉｇに対して、異常を判定することができる。
【００８４】
なお、以上、制御部１１はデジタル回路などによる機能ブロックを含む構成例を挙げて説明したが、例えば、プログラムのような処理手順に基づく処理で行うような構成であってもよい。すなわち、例えば、モータ位置算出部１８、実回転速度算出部１７、回転制御部１２および駆動波形生成部１３などの機能を、回転制御処理方法を実行するプログラムとしたり、ＡＤ変換回路診断部１９、ＡＤ変換誤差算出部２０および電流検出回路診断部２１の機能を、診断処理の方法を実行するプログラムとしたりしてメモリなどに記憶させる。あるいは、ＡＤ変換誤差算出部２０の変換誤差を算出する方法や、変換誤差に基づきＡＤ変換回路の補正値を生成する方法などをメモリなどに記憶させる。そして、マイコン（マイクロコンピュータ）がそれらのプログラムを実行するような構成とすることによっても、本実施の形態を実現できる。また、マイコンの機能とともに、マイコンの基準クロックを生成するクロック発生回路２３やＡＤ変換回路２２も含めた制御部１１を１チィップのＬＳＩ（大規模集積回路）とするような構成とすることも可能である。
【００８５】
例えば、マイコンによって、周波数が変化するパルス信号ＰｌｓをクロックパルスＣｌｋに基づいて生成し、ＲＣフィルタ２６に印加し、キャパシタ２８の電圧を入力としたＡＤ変換回路２２の出力値と、キャパシタ２８の充電時間から算出したＡＤ変換値との差分に基づき変換誤差を算出するような、ＡＤ変換回路の変換誤差の算出方法が実現できる。また、マイコンによって、変換誤差に基づきＡＤ変換回路の補正値を生成することによって、ＡＤ変換回路の補正値の生成方法が実現できる。
【００８６】
（実施の形態２）
図４は、本発明の実施の形態２におけるブラシレスモータ駆動装置６０の構成を示すブロック図である。図４でも、本ブラシレスモータ駆動装置６０にブラシレスモータ４０を接続した構成の一例を示している。このような構成により、実施の形態１と同様に、ブラシレスモータ駆動装置６０は、外部からの指令に従った回転動作をするようにブラシレスモータ４０を駆動制御する。
【００８７】
実施の形態１との比較において、本実施の形態では、制御部６１が、実施の形態１での制御部１１の構成に加えて、補正テーブル生成部３２および補正テーブル３３をさらに備えている。なお、それ以外の構成については、実施の形態１と同じであり、詳細な説明は省略する。
【００８８】
実施の形態１で説明したように、ＡＤ変換誤差算出部２０は、ＡＤ変換回路２２の入力電圧Ｖｉｎを変更したそれぞれの出力値Ｄｉｇを用いて、ＡＤ変換における標準の値からの変換誤差であるオフセットＡｄｏｓを算出している。本実施の形態では、これらのオフセットＡｄｏｓを利用して、出力値Ｄｉｇであるデジタル信号Ｄｉｇ１〜３の補正を行う構成としている。
【００８９】
このような補正を行うため、本実施の形態では、補正テーブル３３をモータ位置算出部１８の入力側に配置している。すなわち、補正テーブル３３は、各ＡＤ変換回路２２から供給されるデジタル信号Ｄｉｇ１〜３に対して、テーブルに格納した補正値によって補正し、モータ位置算出部１８へと出力している。また、補正テーブル生成部３２は、ＡＤ変換誤差算出部２０で順次算出されるオフセットＡｄｏｓを補正テーブル３３に格納することによって、補正テーブル３３を生成している。
【００９０】
より具体的には、まず、ＡＤ変換回路診断部１９は、キャパシタ電圧Ｖｃの最小値Ｖｃｍｉｎに対する出力値Ｄｉｇが正常判定範囲内であって、異常でない場合は、この出力値Ｄｉｇをゼロ点オフセットＺｏｆとして、補正テーブル生成部３２に供給する。そして、補正テーブル生成部３２は、補正用データとしてのゼロ点オフセットＺｏｆを補正テーブル３３へ格納する。例えば、下限電圧Ｖｍｉｎに対する正常判定範囲が「０」〜「５」である場合、ＡＤ変換回路診断部１９は、出力値Ｄｉｇが「７」であればＡＤ変換回路２２の異常と判定する。また、ＡＤ変換回路診断部１９は、出力値が「４」であれば異常ではないと判定し、この場合、補正テーブル生成部３２が、ゼロ点オフセットＺｏｆを「４」として補正テーブル３３に格納する。
【００９１】
次に、ＡＤ変換誤差算出部２０は、算出されたオフセットＡｄｏｓが所定の正常判定範囲を逸脱しない場合は、オフセットＡｄｏｓを補正テーブル生成部３２に供給する。そして、補正テーブル生成部３２は、出力値Ｄｉｇと、それに対応させてオフセットＡｄｏｓとを、補正テーブル３３に格納する。例えば、オフセットＡｄｏｓの所定の正常判定範囲が−５〜＋５である場合、ＡＤ変換値（理論値）Ａｃが「１７」、ＡＤ変換値（実測）Ｄｉｇが「１３」ならオフセットＡｄｏｓが「４」となり、正常判定範囲を逸脱していないので、補正テーブル生成部３２は、出力値Ｄｉｇ＝「１３」に対するオフセットＡｄｏｓを「４」として、補正テーブル３３へ格納する。
【００９２】
補正テーブル３３は、第１〜第３ＡＤの変換回路２２に対して、それぞれ別個に生成され、全範囲の出力値Ｄｉｇに対するオフセットＡｄｏｓを格納している。もし、一部の出力値Ｄｉｇに対するオフセットＡｄｏｓが格納されていない場合は、図５のように、スプライン曲線などにより補間することも可能である。
【００９３】
以上のように生成した補正テーブル３３は、図４に示すように各ＡＤ変換回路２２の出力側に配置し、電流検出回路１５の検出電圧の補正などに用いる。例えば、電流検出回路１５の出力のＡＤ変換値（実測値）をオフセット分だけ補正することで、モータ位置算出部１８で正確なロータ位置を算出できる。そして、その結果、実回転速度算出部１７で正確な実回転速度を算出できるので、回転制御部１２で的確な速度制御やトルク制御が可能となる。
【００９４】
なお、実施の形態１および実施の形態２において、制御部１１はデジタル回路などによる機能ブロックを含む構成例を挙げて説明したが、例えば、プログラムのような処理手順に基づく処理で行うような構成であってもよい。すなわち、例えば、モータ位置算出部１８、実回転速度算出部１７、回転制御部１２および駆動波形生成部１３などの機能を、回転制御処理方法を実行するプログラムとしたり、ＡＤ変換回路診断部１９、ＡＤ変換誤差算出部２０および電流検出回路診断部２１の機能を、診断処理の方法を実行するプログラムとしたりしてメモリなどに記憶させる。あるいは、ＡＤ変換誤差算出部２０の変換誤差を算出する方法や、変換誤差に基づきＡＤ変換回路の補正値を生成する方法などをメモリなどに記憶させる。そして、マイコン（マイクロコンピュータ）がそれらのプログラムを実行するような構成とすることによっても、本実施の形態を実現できる。また、マイコンの機能とともに、マイコンの基準クロックを生成するクロック発生回路２３やＡＤ変換回路２２も含めた制御部１１を１チィップのＬＳＩ（大規模集積回路）とするような構成とすることも可能である。
【００９５】
例えば、マイコンによって、周波数が変化するパルス信号ＰｌｓをクロックパルスＣｌｋに基づいて生成し、ＲＣフィルタ２６に印加し、キャパシタ２８の電圧を入力としたＡＤ変換回路２２の出力値と、キャパシタ２８の充電時間から算出したＡＤ変換値との差分に基づき変換誤差を算出するような、ＡＤ変換回路の変換誤差の算出方法が実現できる。また、マイコンによって、変換誤差に基づきＡＤ変換回路の補正値を生成することによって、ＡＤ変換回路の補正値の生成方法が実現できる。
【００９６】
また、電流検出回路１５の出力だけでなく、温度センサや油圧センサなどＡＤ変換回路２２に入力される全てのセンサ検出値も、高精度に算出できるようになるため、これらセンサによる保護機能（高温、高圧異常）の検出バラツキを低減することができる。
【００９７】
また、ＲＣフィルタ２６へのパルス周波数が、１パルス毎に増加するため、モータ制御回路から発生する電磁ノイズの周波数が分散し、ピーク値が低下する。これにより、ＥＭＣ（Ｅｌｅｃｔｒｏ−Ｍａｇｎｅｔｉｃ  Ｃｏｍｐａｔｉｂｉｌｉｔｙ）対策部品を削減することができる。
【００９８】
また、多数あるＡＤ変換回路毎に複雑な診断用回路を追加する必要がないため、ピン数が少ない小型マイコンと安価な回路構成とで容易に実現でき、回路のコストを抑制することができる。
【００９９】
以上により、これらの回転誤差やトルク誤差に対する余裕を確保するために大きなモータや回路基板を搭載する必要がなくなり、冷却ファンの小型化・軽量化を図ることができる。
【産業上の利用可能性】
【０１００】
本発明のブラシレスモータ駆動方法および駆動装置は、簡単な構成で高精度な速度制御およびトルク制御が可能となる。本発明のモータ駆動方法およびモータ駆動装置は、特に高効率、低騒音が要求される冷却ファンやブロアに好適である。
【符号の説明】
【０１０１】
１０，６０    ブラシレスモータ駆動装置
１１，６１    制御部
１２    回転制御部
１３    駆動波形生成部
１４    インバータ回路
１５    電流検出回路
１７    実回転速度算出部
１８    モータ位置算出部
１９    ＡＤ変換回路診断部
２０    ＡＤ変換誤差算出部
２１    電流検出回路診断部
２２，２２１，２２２，２２３    ＡＤ変換回路
２３    クロック発生回路
２４    タイマ回路
２５    パルス出力回路
２６    ＲＣフィルタ
２７    抵抗
２８    キャパシタ
２９    グランド
３１    メモリ
３２    補正テーブル生成部
３３    補正テーブル
４０    ブラシレスモータ
４１    コイル
５１    通信部
５２    クロック誤差率測定部
１００    上位コントローラ
【図１】
2015182020.tif 000007
【図２】
2015182020.tif 000008
【図３】
2015182020.tif 000009
【図４】
2015182020.tif 000010
【図５】
2015182020.tif 000011
【手続補正書】
【提出日】平成28年10月28日(2016.10.28)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブラシレスモータを駆動制御するブラシレスモータ駆動装置に関し、特に、モータ制御回路の一部のバラツキにより、指令に対するトルクのズレが発生する前に、その原因となり得るＡＤ（アナログ−デジタル）変換回路や電流検出回路を診断し、補正値を生成する機能を備えたブラシレスモータ駆動装置に関する。
【背景技術】
【０００２】
昨今、一般的に使われている冷蔵庫用などの冷却ファンには、その寿命や省エネルギー化の要求からブラシレスモータが使用されている。そして、冷却ファンには、その時々の気温や冷却対象の温度に応じて、ファンに必要とされる風量や、周辺付近に発する駆動音が定められており、それを満足するよう制御する必要がある。風量のバラツキは、インペラー（羽根車）に取り付けられているモータの回転速度のバラツキに依存し、駆動音はモータの回転トルクに依存することが知られている。
【０００３】
ところで、パルス幅変調（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ、以下、適宜、「ＰＷＭ」と記す）駆動で制御されるセンサレスの３相ブラシレスモータの場合、従来、例えば、次のようなブラシレスモータ駆動装置で制御される。まず、その駆動装置では、各相のコイルに流れる電流値から、モータの回転位置を推定する。さらに、単位時間当たりの回転位置の変化量から実回転速度を算出する。そして、その駆動装置において、算出された実回転速度に従い、ＰＷＭ駆動を実現するインバータ回路内に備え付けられたＭＯＳ−ＦＥＴ素子のスイッチングパルス幅が制御される。
【０００４】
そのため、コイルの電流値を検出する電流検出回路や、電流検出回路の出力をマイコン（マイクロコンピュータ）に取り込むためのＡＤ変換回路、および、単位時間を生成するためのクロック発生回路に誤差がある場合、算出される実回転速度およびトルクにも同様の誤差が発生し、目標値からのズレが発生する。
【０００５】
このクロック発生回路やＡＤ変換回路の異常誤差を判定する方法として、従来、例えば、クロックパルスに基づいて生成した所定時間間隔のパルス電圧をＲＣフィルタに入力し、所定のクロックサイクル数における判定用の電圧が、所定の範囲を逸脱する場合にクロック発生回路またはＡＤ変換回路の異常と判定するものが提案されている（例えば、特許文献１参照）。
【０００６】
また、他の従来例として、上位ユニットから入力されるＰＷＭ信号（指令信号）の周期に基づいて、マイコンを動作させる基準クロックの誤差率を算出し、回転速度を補正する方法が提案されている（例えば、特許文献２参照）。
【０００７】
しかし、特許文献１では、判定用の電圧が所定の範囲内にある場合、ＡＤ変換回路の誤差により、電流検出回路で検出した電流値を正確に算出することができず、トルク誤差が発生していた。また、特許文献２では基準クロックの誤差率によって回転速度を補正できても、ＡＤ変換回路の誤差を検出することができなかった。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平８−２３０６５１号公報
【特許文献２】特開２０１３−４６４８８号公報
【発明の概要】
【０００９】
本発明のブラシレスモータ駆動装置は、ブラシレスモータの巻線を通電駆動するインバータ回路と、巻線の電流値を検出する電流検出回路と、ブラシレスモータを回転制御するための制御部と、抵抗とキャパシタとを含み構成されたＲＣフィルタとを含む。制御部は、インバータを駆動するための信号を生成する駆動制御部と、動作周期の基準となるクロックパルスを発生するクロック発生回路と、周波数が変化するパルス信号をクロックパルスに基づいて生成し、ＲＣフィルタに印加するパルス出力回路と、ＲＣフィルタのキャパシタおよび電流検出回路に接続されたＡＤ変換回路と、ＡＤ変換回路の変換誤差を算出するＡＤ変換誤差算出部とを備えている。そして、ＡＤ変換誤差算出部は、キャパシタの電圧を入力としたＡＤ変換回路の出力値と、キャパシタの充電時間から算出したＡＤ（アナログ−デジタルデータ）の変換値との差分に基づき、変換誤差を算出する構成である。
【００１０】
本発明のブラシレスモータ駆動装置によれば、ＡＤ変換回路の変換誤差を算出でき、この変換誤差を利用して、ＡＤ変換回路の異常を判定したり、ＡＤ変換回路の出力値を補正したりしソフトウェアへ高精度に取込むことができるようになる。このため、電流検出回路で検出した電流値を高精度に算出でき、回転誤差やトルク誤差を低減することができる。これにより、冷却ファンの風量や駆動音のバラツキを低減することができる。
【００１１】
特に、ＡＤ変換回路は、一般的に入力アナログ信号の周波数が高くなるほど有効ビット数が小さくなり、変換特性も悪化していくことが知られている。このようなＡＤ変換回路の特性に対し、本発明は、周波数が変化するパルス信号を利用してＡＤ変換回路の変換誤差を算出している。すなわち、ＡＤ変換回路の入力に直流電圧を印加し、その電圧を変えながら変換誤差を算出するようなスタティックな測定手法にくらべて、本発明では、周波数が変化するパルス信号を利用しているため、現実に即した変換特性に基づく変換誤差を算出できる。よって、本発明によれば、ＲＣフィルタにパルス信号を印加するという簡易な構成でありながら、上述のように、高精度よく、ＡＤ変換回路の異常を判定したりＡＤ変換回路の出力値を補正したりできる。
【００１２】
以上により、本発明によれば、これらの回転誤差やトルク誤差に対する余裕を確保するために大きなモータや回路基板を搭載する必要がなくなり、冷却ファンの小型化、軽量化を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施の形態１におけるブラシレスモータ駆動装置の構成を示すブロック図である。
【図２】図２は、同ブラシレスモータ駆動装置のパルス信号Ｐｌｓの波形とキャパシタ電圧Ｖｃの波形を示す図である。
【図３】図３は、同ブラシレスモータ駆動装置において、クロック誤差率Ｃｅを算出する構成例を示すブロック図である。
【図４】図４は、本発明の実施の形態２におけるブラシレスモータ駆動装置の構成を示すブロック図である。
【図５】図５は、同ブラシレスモータ駆動装置の補正テーブルの補間を説明する図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を用いて説明する。
【００１５】
（実施の形態１）
図１は、本発明の実施の形態１におけるブラシレスモータ駆動装置１０の構成を示すブロック図である。図１では、本ブラシレスモータ駆動装置１０にブラシレスモータ４０を接続した構成の一例を示している。このような構成により、ブラシレスモータ駆動装置１０は、外部からの指令に従った回転動作をするようにブラシレスモータ４０を駆動制御する。
【００１６】
ブラシレスモータ４０は、巻線をステータコアに巻回したコイル４１を備えるステータと、コイル４１を通電駆動することで、シャフトを中心に回転するロータとを備えている。本実施の形態では、ブラシレスモータ４０がＵ相、Ｖ相、Ｗ相とする３相のコイル４１を有し、ブラシレスモータ駆動装置１０が各相をパルス幅変調（ＰＷＭ）された駆動信号Ｄｒｖで回転駆動する一例を挙げて説明する。
【００１７】
図１に示すように、ブラシレスモータ駆動装置１０は、電流検出回路１５と、インバータ回路１４と、制御部１１と、ＲＣフィルタ２６と、を含む。
【００１８】
ブラシレスモータ駆動装置１０には、例えば、外部の上位コントローラ（図示せず）などからの指令の１つとして、回転速度やトルク量を指令するための信号である回転速度／トルク指令Ｔｓｐが入力される。ブラシレスモータ駆動装置１０は、ブラシレスモータ４０の回転が回転速度／トルク指令Ｔｓｐに応じた回転速度やトルクとなるように、駆動信号Ｄｒｖを生成する。そして、ブラシレスモータ駆動装置１０は、生成したそれぞれの駆動信号Ｄｒｖを各コイル４１に印加し、このようにして、ブラシレスモータ４０を回転制御する。
【００１９】
ブラシレスモータ駆動装置１０をこのように動作させるために、制御部１１は、ＰＩＤ（比例、積分、微分）制御により回転速度／トルク指令Ｔｓｐと実際の回転速度との残差に基づき、インバータ回路１４をスイッチング駆動するためのＰＷＭ原信号Ｄｐを生成する。そして、インバータ回路１４は、ＰＷＭ原信号Ｄｐに応じて、電源に接続された内部のスイッチング素子をスイッチングすることで、各相のコイル４１を通電駆動する駆動信号Ｄｒｖを生成して出力する。
【００２０】
また、本実施の形態では、位置センサなどを設けないセンサレスによって、ブラシレスモータ駆動装置１０がブラシレスモータ４０を駆動制御するような構成としている。本実施の形態では、このようなセンサレスで、回転するロータの位置を検出するために、電流検出回路１５を設けている。
【００２１】
電流検出回路１５は、各相の駆動信号Ｄｒｖの配線近辺に配置され、ブラシレスモータ４０のステータコアに巻かれたコイル４１に流れる各相（Ｕ相、Ｖ相、Ｗ相）の電流値を検出する。そして、電流検出回路１５は、検出したそれぞれの電流値に対応するアナログの電圧Ｄｅｔとして、それぞれ制御部１１に供給している。また、詳細については以下で説明するが、制御部１１は、ＡＤ（Ａｎａｌｏｇ−Ｄｉｇｉｔａｌ）変換回路を備えており、この電圧ＤｅｔをＡＤ変換し、ＡＤ変換の出力データを利用して、ロータの回転位置や回転速度を算出している。
【００２２】
さらに、本実施の形態では、電流検出回路１５やＡＤ変換回路などの異常を判定する機能を備えていることを特徴としている。すなわち、これらの異常を判定するため、本実施の形態では、ブラシレスモータ駆動装置１０に、抵抗器（Ｒ）とキャパシタ（Ｃ）とで構成されたＲＣフィルタ２６を設けている。
【００２３】
次に、ブラシレスモータ駆動装置１０の各部において、さらに詳細な構成について説明する。
【００２４】
まず、制御部１１は、ブラシレスモータ４０が所望の回転動作をするようにブラシレスモータ４０を駆動制御するため、回転制御部１２と、駆動波形生成部１３と、第１、第２および第３のＡＤ変換回路２２１、２２２および２２３（以降、総称して単にＡＤ変換回路２２と呼ぶ場合がある）と、モータ位置算出部１８と、実回転速度算出部１７とを備えている。そして、これら各部によって、インバータ回路１４を駆動するためのＰＷＭ原信号Ｄｐを生成する駆動制御部が構成され、生成したＰＷＭ原信号Ｄｐがインバータ回路１４に供給される。
【００２５】
さらに、制御部１１は、デジタル処理を行うために、そのクロック信号となるクロックパルスＣｌｋを生成するクロック発生回路２３と、クロックパルスＣｌｋに基づき各種のタイミング信号を生成するためのタイマ回路２４とを備えている。
【００２６】
そして、制御部１１は、各ＡＤ変換回路２２および電流検出回路１５の異常を判定するために、パルス出力回路２５と、ＡＤ変換回路診断部１９と、ＡＤ変換誤差算出部２０と、電流検出回路診断部２１とを備えている。
【００２７】
このように構成された制御部１１において、ＡＤ変換回路２２のそれぞれは、各チャンネルｃｈ１、ｃｈ２に入力されたアナログの電圧に対し、その電圧値をデジタル値で示すデジタル信号Ｄｉｇ１、Ｄｉｇ２、Ｄｉｇ３に変換して出力する。チャンネルｃｈ１には、電流検出回路１５が検出した電流値に対応する電圧Ｄｅｔが供給されている。第１のＡＤ変換回路２２１では、Ｕ相の電流値に対応する電圧Ｄｅｔである電圧ＤｅｔＵがチャンネルｃｈ１に供給され、電圧ＤｅｔＵに対応したデジタル値を示すデジタル信号Ｄｉｇ１が出力される。第２のＡＤ変換回路２２２では、Ｖ相の電流値に対応する電圧Ｄｅｔである電圧ＤｅｔＶがチャンネルｃｈ１に供給され、電圧ＤｅｔＶに対応したデジタル値を示すデジタル信号Ｄｉｇ２が出力される。第３のＡＤ変換回路２２３では、Ｗ相の電流値に対応する電圧Ｄｅｔである電圧ＤｅｔＷがチャンネルｃｈ１に供給され、電圧ＤｅｔＷに対応したデジタル値を示すデジタル信号Ｄｉｇ３が出力される。また、詳細については以下で説明するが、各ＡＤ変換回路２２のチャンネルｃｈ２には共通に、ＲＣフィルタ２６から、異常判定をするために利用する判定用電圧としてのキャパシタ電圧Ｖｃが供給されている。
【００２８】
それぞれのＡＤ変換回路２２から出力されたデジタル信号Ｄｉｇ１〜３は、モータ位置算出部１８に供給される。モータ位置算出部１８は、各相の電流値を示すデジタル信号Ｄｉｇ１〜３からブラシレスモータ４０のロータ位置を算出する。すなわち、本実施の形態では、各相で検出した電流値に基づいて、モータ位置算出部１８がロータの回転位置を検出している。モータ位置算出部１８は、このように算出したロータ位置を示すロータ位置信号Ｐｄを、実回転速度算出部１７および駆動波形生成部１３へと出力する。
【００２９】
実回転速度算出部１７には、ロータ位置信号Ｐｄに加えて、タイマ回路２４から、所定の時間幅を示すタイマカウント数Ｃｎｔが通知される。実回転速度算出部１７は、このタイマカウント数Ｃｎｔとロータ位置信号Ｐｄとを用いて、所定の時間幅におけるロータ位置の変化量から、実際の回転速度を示す実回転速度を算出している。実回転速度算出部１７は、実回転速度を実回転速度信号Ｖｄとして回転制御部１２へ出力する。
【００３０】
回転制御部１２は、回転速度／トルク指令Ｔｓｐと実回転速度信号Ｖｄとの差である偏差に対して、例えば比例積分微分などの演算処理（ＰＩＤ処理）を行い、この演算処理の結果に応じた駆動波形デューティ信号Ｄｄを生成して出力する。駆動波形生成部１３は、駆動波形デューティ信号Ｄｄとロータ位置信号Ｐｄから、インバータ回路１４のスイッチング素子を制御するためのＰＷＭ原信号Ｄｐを生成し、インバータ回路１４へと出力する。
【００３１】
このように、本実施の形態では、電流検出回路１５が検出した電流値に基づいて、ロータの実回転速度を示す実回転速度信号Ｖｄが生成され、また、回転速度を制御するために指令された指令速度を示す回転速度／トルク指令Ｔｓｐが通知される。そして、ブラシレスモータ駆動装置１０によって、実回転速度信号Ｖｄと回転速度／トルク指令Ｔｓｐとに基づき、ロータの回転速度が指令速度に追従するようにフィードバック制御する速度制御ループが構成されている。ブラシレスモータ駆動装置１０は、以上のような一連のループを連続的に実行することにより、ブラシレスモータ４０を回転制御する。
【００３２】
また、このような一連のループ処理をデジタル処理によって実行したり、ＡＤ変換回路２２のサンプリングタイミングを生成したりするため、制御部１１は、クロック発生回路２３とタイマ回路２４とを備えている。クロック発生回路２３は、動作周期の基準となる周期的なクロックパルスＣｌｋを生成し、制御部１１の基準クロックとして各デジタル処理回路などに分配している。タイマ回路２４は、基準のクロックパルスＣｌｋを用いて動作し、所定のタイミングで、ＡＤ変換回路２２へサンプリング信号としてのトリガ信号Ｔｒｇ１、Ｔｒｇ３を出力する。さらに、タイマ回路２４は、パルス出力回路２５へトリガ信号Ｔｒｇ２、Ｔｒｇ４を出力している。
【００３３】
タイマ回路２４の具体的な構成例として、タイマ回路２４は、クロックパルスＣｌｋをカウントするカウンタを有している。そして、タイマ回路２４は、このカウンタによって、予め定めているカウント数に応じたタイミングを示すパルス信号を、トリガ信号Ｔｒｇ１〜４やタイマカウント数Ｃｎｔとして出力している。
【００３４】
より具体的な例として、例えば、クロックパルスＣｌｋの周期は０．１μＳ（すなわち、周波数では１０ＭＨｚ）とする。そして、タイマ回路２４において、あるパルスのＨｉｇｈ期間とするカウント数を２００とし、パルスのＬｏｗ（ロー）期間のカウント数を８００とする。これにより、タイマ回路２４から、Ｈｉｇｈ（ハイ）期間が２０μＳ、Ｌｏｗ期間が８０μＳとなる１０ＫＨｚの周期的なパルス信号を出力することになる。また、例えばＡＤ変換回路２２は、このようなパルス信号のＬｏｗからＨｉｇｈへと立ち上がるタイミングや、その逆の立ち下がるタイミングをサンプリングのタイミングとして利用する。例えば、上記１０ＫＨｚのパルス信号の立ち上がりをＡＤ変換回路２２のサンプリングタイミングとすると、ＡＤ変換回路２２は、１００μＳ毎にデジタル信号Ｄｉｇを出力する。なお、以下、デジタル処理における一般的な表現と同様に、パルス信号とは、ＨｉｇｈのレベルとＬｏｗのレベルとで構成された信号であり、Ｈｉｇｈレベルは正電源Ｖｃｃの電圧近辺のレベル、Ｌｏｗレベルは負側電源となるグランドの電圧近辺のレベルとして説明する。
【００３５】
次に、各ＡＤ変換回路２２と電流検出回路１５との異常を判定するための詳細な構成について説明する。
【００３６】
これらの異常を判定するために、ブラシレスモータ駆動装置１０に設けたＲＣフィルタ２６は、抵抗２７とキャパシタ２８とが直列に接続され、構成されている。その抵抗２７の一方には、制御部１１のパルス出力回路２５が出力する異常判定用のパルス信号Ｐｌｓが接続されている。そして、そのキャパシタ２８の一方は、グランド２９に接続されている。さらに、抵抗２７とキャパシタ２８との中間接続点Ｐは、異常判定用であるキャパシタ電圧Ｖｃとして、第１〜３のＡＤ変換回路２２のチャンネルｃｈ２に接続されている。
【００３７】
ＡＤ変換回路２２のそれぞれは、トリガ信号Ｔｒｇ１、Ｔｒｇ３が示すタイミングで、ＲＣフィルタ２６のキャパシタ電圧（中間接続点Ｐの電圧）Ｖｃを読み込む。ここで、詳細については以下で説明するが、トリガ信号Ｔｒｇ１は、キャパシタ２８が十分に放電してキャパシタ電圧Ｖｃが最も低くなったタイミング（以下、適宜、このタイミングをタイミングＣ１と呼ぶ）を示すとする。そして、トリガ信号Ｔｒｇ３は、キャパシタ２８が十分に充電されてキャパシタ電圧Ｖｃが、その測定期間において最も高くなったタイミング（以下、適宜、このタイミングをタイミングＣ２と呼ぶ）を示すとする。また、キャパシタ電圧Ｖｃの読込み完了後、タイマ回路２４は、パルス出力回路２５へトリガ信号Ｔｒｇ２、Ｔｒｇ４を出力する。
【００３８】
すなわち、本実施の形態では、ＡＤ変換回路２２が、トリガ信号Ｔｒｇ１のタイミングで、最も低いキャパシタ電圧Ｖｃを読み込むとともに、このトリガ信号Ｔｒｇ１の直後となるトリガ信号Ｔｒｇ２のタイミングで、キャパシタ２８への充電が開始される。そして、ＡＤ変換回路２２が、トリガ信号Ｔｒｇ３のタイミングで、その測定期間における最も高いキャパシタ電圧Ｖｃを読み込むとともに、このトリガ信号Ｔｒｇ３の直後となるトリガ信号Ｔｒｇ４のタイミングで、キャパシタ２８の放電が開始される。
【００３９】
また、このような充放電を行うため、トリガ信号Ｔｒｇ２、Ｔｒｇ４を入力した時、パルス出力回路２５は、出力するパルス信号Ｐｌｓの信号レベルのＬｏｗとＨｉｇｈを切り替えることにより、所定のデューティ比および周期のパルス信号Ｐｌｓを生成し、ＲＣフィルタ２６へ出力する。特に、本実施の形態では、キャパシタ電圧Ｖｃを読み込む測定期間ごとに、デューティ比は一定としながら周波数が順次に低くなるようなパルス信号ＰｌｓをＲＣフィルタ２６に供給することを特徴としている。
【００４０】
ＡＤ変換回路診断部１９、ＡＤ変換誤差算出部２０および電流検出回路診断部２１は、上述したようなトリガ信号Ｔｒｇ１、Ｔｒｇ３の測定タイミングでのキャパシタ電圧Ｖｃの測定結果を用いて、ＡＤ変換回路２２および電流検出回路１５の異常診断を行う。そして、診断結果が異常の場合、エラー停止信号Ｅｒｒが回転制御部１２へ出力され、ブラシレスモータ４０の回転動作を停止させる。
【００４１】
また、詳細は後述するが、ＡＤ変換誤差算出部２０は、メモリ３１に記録したクロック誤差率Ｃｅを用いて、キャパシタ充電時間Ｔｃを算出する。
【００４２】
図２は、ブラシレスモータ駆動装置１０におけるパルス出力回路２５からＲＣフィルタ２６へ印加されるパルス信号Ｐｌｓの波形（上側）とキャパシタ電圧Ｖｃの波形（下側）、およびＡＤ変換回路２２の読込みタイミングを示している。
【００４３】
図２では、第１回目の測定期間Ｍ１、第２回目の測定期間Ｍ２、第３回目の測定期間Ｍ３、第ｎ回目の測定期間Ｍｎというように、順次、異常診断のための測定期間を設けた一例を示している。そして、各測定期間Ｍ１〜Ｍｎに対応させて、それぞれの周期Ｔｔの時間幅については、周期時間幅Ｔｔ１〜Ｔｔｎとし、各測定期間におけるパルス信号ＰｌｓのそれぞれのＨｉｇｈの期間Ｔｈについては、Ｈｉｇｈ期間幅Ｔｈ１〜Ｔｈｎで示している。すなわち、例えば、第１回目の測定期間Ｍ１では、周期時間幅Ｔｔ１で、そのうちパルス信号ＰｌｓがＨｉｇｈとなる期間ＴｈはＨｉｇｈ期間幅Ｔｈ１である。
【００４４】
ここで、上述したように、本実施の形態でのパルス出力回路２５は、所定のデューティ比で周波数が低くなるようなパルス信号Ｐｌｓを出力する。すなわち、本実施の形態では、１つの周期Ｔｔの時間幅に対するＨｉｇｈ期間Ｔｈの時間幅で定義されるデューティ比を、パルス信号Ｐｌｓの測定期間Ｍ１〜Ｍｎにおいて、Ｔｈ１／Ｔｔ１＝Ｔｈ２／Ｔｔ２＝Ｔｈ３／Ｔｔ３＝Ｔｈｎ／Ｔｔｎ＝一定としている。また、図２から明らかなように、パルス信号Ｐｌｓの測定期間Ｍ１〜Ｍｎにおいて、順に１周期Ｔｔの時間幅が大きくなる（周波数としては低くなる）、すなわち、Ｔｔ１＜Ｔｔ２＜Ｔｔ３＜Ｔｔｎとしている。
【００４５】
このようなパルス信号Ｐｌｓを生成するため、パルス出力回路２５には、タイマ回路２４からトリガ信号Ｔｒｇ２、Ｔｒｇ４が供給される。パルス出力回路２５は、図２の上側に示すように、トリガ信号Ｔｒｇ２のタイミングでＬｏｗからＨｉｇｈへ切り替わり、トリガ信号Ｔｒｇ４のタイミングでＨｉｇｈからＬｏｗへ切り替わるパルス信号Ｐｌｓを出力する。
【００４６】
そして、タイマ回路２４は、あるトリガ信号Ｔｒｇ２から次のトリガ信号Ｔｒｇ２までの期間が周期Ｔｔごとに大きくなるように、それぞれのトリガ信号Ｔｒｇ２を出力する。これによって、パルス出力回路２５は、上述したように、図２の上側に示すような各周期Ｔｔの周期時間幅Ｔｔ１〜Ｔｔｎが順に大きくなるパルス信号Ｐｌｓを出力する。
【００４７】
さらに、タイマ回路２４は、所定のデューティ比となるように、あるトリガ信号Ｔｒｇ２からその周期Ｔｔでのトリガ信号Ｔｒｇ４までの期間Ｔｈも周期Ｔｔごとに大きくなるように、それぞれのトリガ信号Ｔｒｇ４を出力する。これによって、パルス出力回路２５は、上述のようにそれぞれの周期におけるデューティ比が一定でそれぞれ等しくなるパルス信号Ｐｌｓを出力する。
【００４８】
本実施の形態では、ＡＤ変換回路２２および電流検出回路１５の異常診断を行うため、このようなパルス信号ＰｌｓをＲＣフィルタ２６に印加している。このパルス信号Ｐｌｓの印加により、キャパシタ２８が充電と放電を繰り返すため、キャパシタ電圧Ｖｃは、図２の下側に示すような波形となる。すなわち、パルス出力回路２５から出力されるパルス信号Ｐｌｓの波形が所定のデューティ比および周波数範囲内にある場合、ＲＣフィルタ２６の中間接続点Ｐのキャパシタ電圧Ｖｃは、所定のピーク電圧を持つノコギリ状の波形となる。
【００４９】
ここで、タイマ回路２４からのトリガ信号Ｔｒｇ１とＴｒｇ３の出力間隔を徐々に増加させることにより、ＡＤ変換回路２２がコンデンサ電圧を読込むタイミングＣ１とＣ２の間隔を増加させるようにする。これにより、ＲＣフィルタ２６に印加されるパルス信号Ｐｌｓのデューティ比を固定とするとともに、パルス信号Ｐｌｓの１パルス毎に周波数を低下させることができる。
【００５０】
このような処理について、さらに具体的な一例を次に説明する。ここでは、タイマ回路２４がクロックパルスＣｌｋをカウントするカウンタを有し、このカウンタを利用してトリガ信号Ｔｒｇ１〜４を生成する例を挙げて説明する。また、所定のデューティ比として２０％で、パルス信号Ｐｌｓの周期Ｔｔが順に２倍となるように増加して周波数が低くなる具体例を挙げる。
【００５１】
タイマ回路２４は、このようなカウンタを利用して、例えば、次のように動作する。まず、第１回目の測定期間Ｍ１として、タイマ回路２４は、トリガ信号Ｔｒｇ２のタイミングで、カウント値が「０」からインクリメントしていくようにカウンタのカウントをスタートさせる。そして、タイマ回路２４は、カウント値が「９９」となった時点でトリガ信号Ｔｒｇ４を出力する。さらに、タイマ回路２４のカウント値はインクリメントされ、カウント値が「４９９」となった時点で、次のトリガ信号Ｔｒｇ２を出力し、第１回目の測定期間Ｍ１を終える。これにより、第１回目の測定期間Ｍ１において、パルス出力回路２５から出力されるパルス信号Ｐｌｓは、周期時間幅Ｔｔ１がクロック１周期の「５００」倍に対して、Ｈｉｇｈ期間Ｔｈの時間幅Ｔｈ１がクロック１周期の「１００」倍となる。例えば、クロック１周期を０．１μＳ（すなわち、周波数では１０ＭＨｚ）とすると、周期時間幅Ｔｔ１＝５０μＳ（クロック「５００」個分）、Ｈｉｇｈ期間幅Ｔｈ１＝１０μＳ（クロック「１００」個分）であり、デューティ比は、１０μＳ／５０μＳ＝２０％となる。
【００５２】
また、このような第１回目の測定期間Ｍ１において、ＡＤ変換回路２２のサンプリングタイミングとなるトリガ信号Ｔｒｇ１、Ｔｒｇ３が示すタイミングに関しては、例えば、次のようにすればよい。すなわち、まず、上述のようにトリガ信号Ｔｒｇ３の直後にトリガ信号Ｔｒｇ４が出力されればよい。これより、カウント値「９９」に対応するトリガ信号Ｔｒｇ４の直前、すなわちカウント値「９８」なった時点で、トリガ信号Ｔｒｇ３を出力すればよい。そして、上述のようにトリガ信号Ｔｒｇ１の直後にトリガ信号Ｔｒｇ２が出力されればよい。これより、カウント値「４９９」に対応するトリガ信号Ｔｒｇ２の直前、すなわちカウント値「４９８」なった時点で、トリガ信号Ｔｒｇ１を出力すればよい。
【００５３】
次に、第２回目の測定期間Ｍ２として、周期Ｔｔが測定期間Ｍ１に比べて２倍となるように、次のようにすればよい。まず、カウントを一旦リセットし、カウント値「０」からインクリメントしていくようにカウンタのカウントを再スタートさせる。そして、タイマ回路２４は、カウント値が「１９９」となった時点でトリガ信号Ｔｒｇ４を出力する。さらに、タイマ回路２４のカウント値はインクリメントされ、カウント値が「９９９」となった時点で、次のトリガ信号Ｔｒｇ２を出力し、測定期間Ｍ２を終える。これにより、第２回目の測定期間Ｍ２において、パルス出力回路２５から出力されるパルス信号Ｐｌｓは、周期時間幅Ｔｔ２がクロック「１０００」個分に対して、Ｈｉｇｈ期間Ｔｈの時間幅Ｔｈ２がクロック「２００」個分となる。そして、デューティ比に関しては、測定期間Ｍ１と同様に２０％となる。また、測定期間Ｍ１と同様の理由より、カウント値「１９８」なった時点でトリガ信号Ｔｒｇ３を出力し、カウント値「９９８」なった時点でトリガ信号Ｔｒｇ１を出力すればよい。
【００５４】
本実施の形態では、以上のような処理を、測定期間ごとに行うことによって、デューティ比は一定としながら周波数が順次に低くなるようなパルス信号ＰｌｓをＲＣフィルタ２６に印加している。そして、キャパシタ２８の充電時間が１パルス毎に増加し、キャパシタ電圧Ｖｃのピーク電圧値はＶ１、Ｖ２、Ｖ３と増加する。そして、ＲＣフィルタ２６に印加されるパルス信号Ｐｌｓが所定の周波数以下に到達すると、ピーク電圧値はＶｃｍａｘで飽和状態となる。ＡＤ変換回路２２は、タイミングＣ１において、最も低いキャパシタ電圧Ｖｃを読み込むとともに、測定期間ごとのタイミングＣ２において、このようにピーク電圧値がＶ１、Ｖ２、Ｖ３と増加するような最も高いキャパシタ電圧Ｖｃも読み込んでいる。
【００５５】
次に、ＡＤ変換回路診断部１９、ＡＤ変換誤差算出部２０および電流検出回路診断部２１の一連の処理について詳細に説明する。
【００５６】
まず、ＡＤ変換回路診断部１９の処理について説明する。ＡＤ変換回路診断部１９は、タイミングＣ１におけるＡＤ変換回路２２のＡＤ出力信号であるデジタル信号Ｄｉｇ１〜３の値（以降、総称して単に出力値Ｄｉｇと呼ぶ）を用いて、ＡＤ変換回路２２が正常かどうかを判定する。
【００５７】
ＡＤ変換回路２２は、アナログ入力の入力電圧が下限電圧Ｖｍｉｎから上限電圧Ｖｍａｘまでの上下限電圧範囲のアナログ信号を入力し、下限電圧Ｖｍｉｎに対応するデジタル値としての下限出力値から上限電圧Ｖｍａｘに対応するデジタル値としての上限出力値までの上下限出力値範囲の出力値Ｄｉｇを出力する。具体的な例として、通常の直線的に変換する８ビットのＡＤ変換回路２２であれば、例えば下限電圧Ｖｍｉｎが０Ｖの入力電圧に対しては「０」、上限電圧Ｖｍａｘが１Ｖの入力電圧に対しては「２５５」、中間の０．５Ｖの入力電圧に対しては「１２８」の出力値Ｄｉｇを出力するように構成されている。なお、以下、ＡＤ変換回路２２のチャンネルｃｈ２には、下限電圧Ｖｍｉｎとしてキャパシタ電圧Ｖｃの最小値Ｖｃｍｉｎ、上限電圧Ｖｍａｘとしてキャパシタ電圧Ｖｃの最大値Ｖｃｍａｘを入力するものとして説明する。
【００５８】
このようなＡＤ変換回路２２に対して、ＡＤ変換回路診断部１９は、ＡＤ変換回路２２に対して、入力側の下限電圧Ｖｍｉｎに対する出力値Ｄｉｇの変換機能の異常を判定している。また、本実施の形態では、この下限電圧Ｖｍｉｎとして、タイミングＣ１におけるキャパシタ２８が十分に放電してキャパシタ電圧Ｖｃが最も低くなった電圧、すなわち最小値Ｖｃｍｉｎを利用している。このような構成において、出力値Ｄｉｇが、下限電圧Ｖｍｉｎに対する所定の正常判定範囲を逸脱した場合は、ＡＤ変換回路診断部１９は、そのＡＤ変換回路２２の異常と判定する。そして、ＡＤ変換回路診断部１９は、異常と判定すると、エラー停止信号Ｅｒｒを回転制御部１２へ出力し、ブラシレスモータ４０の回転動作を停止させる。
【００５９】
例えば、下限電圧Ｖｍｉｎに対する正常判定範囲が「０」〜「５」である場合、ＡＤ変換回路診断部１９は、出力値Ｄｉｇが「７」であればＡＤ変換回路２２の異常と判定し、出力値が「４」であれば異常ではないと判定する。
【００６０】
次に、ＡＤ変換誤差算出部２０の処理について説明する。ＡＤ変換誤差算出部２０は、タイミングＣ２におけるＡＤ変換回路２２の出力値Ｄｉｇを用いて、ＡＤ変換における標準の値からの誤差を算出し、この誤差を利用してＡＤ変換回路２２が正常かどうかを判定する。すなわち、ＡＤ変換誤差算出部２０は、ＡＤ変換回路２２における入力側の入力電圧Ｖｉｎに対する出力値Ｄｉｇの変換機能の異常を、算出した誤差に基づき判定している。
【００６１】
このようなＡＤ変換誤差算出部２０の動作について、概略的には次のように動作する。ここで、具体的な例として、直線的に変換する８ビットのＡＤ変換回路２２であって、入力電圧０〜１Ｖに対して出力値Ｄｉｇの値が「０」〜「２５５」の変換仕様の場合、中間の０．５Ｖの入力電圧に対しては、標準であれば「１２８」の出力値Ｄｉｇを出力する仕様とする。ところが、実際にはＡＤ変換回路２２にバラツキがあるため、例えば、０．５Ｖの入力電圧に対して測定結果が「１２７」を出力したとする。本実施の形態では、出力値Ｄｉｇにおいて、このような標準の場合と測定結果との差を変換誤差としている。よって、ここでの例の場合、標準の場合の「１２８」と測定結果の「１２７」の差「１」が変換誤差である。ＡＤ変換誤差算出部２０は、このような変換誤差を算出している。そして、さらに、ＡＤ変換誤差算出部２０は、このような変換誤差を利用して、変換誤差が大きい場合に異常と判定している。
【００６２】
また、本実施の形態では、この入力電圧Ｖｉｎとして、タイミングＣ２におけるキャパシタ２８を所定の時間だけ充電したキャパシタ電圧Ｖｃを利用している。すなわち、図２の下側に示すように、キャパシタ電圧Ｖｃのピーク電圧値は、測定期間ごとにＶ１、Ｖ２、Ｖ３と変化する。ＡＤ変換誤差算出部２０は、このように変化するそれぞれの入力電圧Ｖｉｎに対する出力値Ｄｉｇに基づき、ＡＤ変換回路２２の変換機能の異常を判定している。ＡＤ変換誤差算出部２０は、出力値Ｄｉｇが、ある入力電圧Ｖｉｎに対する所定の正常判定範囲を逸脱した場合は、そのＡＤ変換回路２２の異常と判定する。そして、ＡＤ変換誤差算出部２０は、異常と判定すると、エラー停止信号Ｅｒｒを回転制御部１２へ出力し、ブラシレスモータ４０の回転動作を停止させる。
【００６３】
次に、ＡＤ変換誤差算出部２０が行うＡＤ変換における変換誤差の算出について詳細に説明する。ＡＤ変換誤差算出部２０は、ＡＤ変換回路２２の実際の出力値Ｄｉｇと、このときの入力電圧Ｖｉｎに対する理論値Ａｃとの差分に基づき、変換誤差を算出している。そして、本実施の形態では、さらに、ＡＤ変換誤差算出部２０は、この誤差が所定の正常判定範囲を逸脱したかどうかを判定している。また、以下、このような変換誤差をオフセットＡｄｏｓとして説明する。上述の直線変換の８ビットのＡＤ変換回路２２の例の場合、入力電圧Ｖｉｎ＝０．５Ｖに対する理論値Ａｃが値「１２８」であり、実際の出力値Ｄｉｇが値「１２７」であり、オフセットＡｄｏｓが値「１」である。
【００６４】
本実施の形態では、このオフセットＡｄｏｓを導出するため、キャパシタ電圧Ｖｃを入力としたＡＤ変換回路２２の実際の出力値Ｄｉｇと、キャパシタ２８の充電時間から算出したＡＤ変換値との差分に基づき、変換誤差を算出している。より具体的には、まず、パルス信号ＰｌｓにおけるＨｉｇｈ期間Ｔｈの時間幅を利用して、各測定期間におけるキャパシタ電圧Ｖｃを入力とした入力電圧Ｖｉｎを求めている。簡単には、Ｈｉｇｈ期間Ｔｈは、クロックパルスＣｌｋの周期とクロックのカウント数とから求めている。すなわち、ＡＤ変換誤差算出部２０は、クロックパルスＣｌｋの所定サイクル数経過後において、上記のような実際の出力値Ｄｉｇと算出したＡＤ変換値との差分に基づき、変換誤差を算出している。
【００６５】
ここで、本実施の形態では、クロック発生回路２３を、周波数精度の高い水晶発振器ではなく、例えば、周波数精度は低いが安価なＲＣ発振器で実現するような構成を想定している。このため、Ｈｉｇｈ期間Ｔｈを求めるために、クロックパルスＣｌｋの周期のバラツキを補正するクロック誤差率Ｃｅを導入している。
【００６６】
このように、まず、クロック誤差率Ｃｅとパルス設定値とから、（式１）を用いて、Ｃ１−Ｃ２間の充電時間Ｔｃを算出する。ここで、パルス信号ＰｌｓのＨｉｇｈ期間Ｔｈでキャパシタ２８を充電するため、充電時間Ｔｃは、Ｈｉｇｈ期間Ｔｈとなる。
【００６７】
【数１】
2015182020.tif 000012
【００６８】
ただし、Ｃｙは、ＲＣフィルタ２６へ印加するパルス信号ＰｌｓのＨｉｇｈ期間Ｔｈに対する基準クロックサイクル数である。すなわち、例えば、タイマ回路２４のカウンタが、トリガ信号Ｔｒｇ２からトリガ信号Ｔｒｇ４までクロックパルスＣｌｋをカウントするカウント数である。Ｂｔは、クロックパルスＣｌｋの周期である。Ｃｅは、クロック誤差率Ｃｅであり、クロックパルスＣｌｋの周期において、設計上の周期Ｂｔと実際の周期Ｂｔ’との比である。
【００６９】
具体的な例として、まず、クロック発生回路２３で生成するクロックパルスＣｌｋの設計上の周期Ｂｔは０．１μＳであるが、回路精度のバラツキにより実際のクロックパルスＣｌｋの周期Ｂｔ’が０．１０１μＳとなったとする。この例のような場合、クロック誤差率Ｃｅは、Ｃｅ＝Ｂｔ’／Ｂｔ＝０．１０１／０．１となる。また、例えば、パルス信号ＰｌｓのＨｉｇｈ期間Ｔｈを生成するため、カウンタによってクロックパルスＣｌｋを「１００」カウントするとする。この場合、基準クロックサイクル数Ｃｙは、カウント数「１００」となり、その結果、充電時間Ｔｃは、Ｔｃ＝Ｃｙ×Ｂｔ×Ｃｅ＝１００×０．１μＳ×（０．１０１／０．１）＝１０．１μＳとなる。
【００７０】
クロック誤差率Ｃｅについては、例えば、ブラシレスモータ駆動装置１０の製造段階でクロック発生回路２３の実際の周期を測定し、正確な周期からのずれをクロック誤差率Ｃｅとしてメモリ３１などに記憶させておけばよい。
【００７１】
また、クロック誤差率Ｃｅに関して、例えば、外部の上位コントローラなどからの回転速度／トルク指令Ｔｓｐのような指令を、シリアル通信などで行うような構成の場合、次のようにクロック誤差率Ｃｅを求めても良い。すなわち、まず、このシリアル通信に利用するパルスの周期を精度よいものとしておく。そして、上位コントローラから入力される指令信号のパルスの周波数と、クロック発生回路２３から出力される基準クロックの周波数との比較によりクロック誤差率Ｃｅを算出するように構成することも可能である。具体的には、指令信号のパルスの１周期における基準クロックの実サイクル数と、パルスの１周期における基準クロックの理論サイクル数との比率をいう。なお上位ユニットから入力される指令信号としては回転速度／トルク指令Ｔｓｐまたは定期的に入力される通信周期を利用すればよい。
【００７２】
図３は、このように、上位コントローラから入力される信号を利用して、クロック誤差率Ｃｅを算出する構成例を示すブロック図である。図３では、クロック誤差率Ｃｅを算出するための要部のみを示しており、上位コントローラ１００とブラシレスモータ駆動装置１０とが指令信号などを送受信する通信機能を有した一例を示している。図３において、上位コントローラ１００は、周波数精度の高い水晶発振子１０１で生成したクロック信号で動作する一方、制御部１１では、抵抗Ｒ１とキャパシタＣ１で構成された周波数精度の低いＲＣ発振器であるクロック発生回路２３でクロックパルスＣｌｋ生成して動作する一例を示している。また、制御部１１は、上位コントローラ１００と通信を行う通信部５１と、通信部５１を介して上位コントローラ１００から受け取った指令信号などの通信用パルス信号Ｐｃｓを利用してクロック誤差率Ｃｅを測定するクロック誤差率測定部５２とを備えている。クロック誤差率測定部５２は、通信用パルス信号Ｐｃｓの１周期の期間Ｔｃｓとクロック発生回路２３から出力されるクロックパルスＣｌｋの周期とからクロック誤差率Ｃｅを算出する。すなわち、クロック誤差率測定部５２は、期間ＴｃｓにおけるクロックパルスＣｌｋのカウント数Ｎｃｐを測定する。また、通信用パルス信号Ｐｃｓの１周期の期間Ｔｃｓにおける上位コントローラ１００側のクロックのカウント数をＮｃｓとすると、上位コントローラ１００は周波数精度が高いため、期間Ｔｃｓにおける基準クロックの理論サイクル数もＮｃｓとなる。これより、クロック誤差率測定部５２は、通信用パルス信号Ｐｃｓの１周期における基準クロックの実サイクル数Ｎｃｐと、基準クロックの理論サイクル数Ｎｃｓとの比率Ｎｃｓ／Ｎｃｐをクロック誤差率Ｃｅとして算出している。
【００７３】
次に、キャパシタ２８への充電時間Ｔｃと、ＲＣフィルタ２６のパルス波形に対するキャパシタ電圧式から、ＡＤ変換回路２２の入力となるＡＤ端子電圧（理論値）Ｖｃａを（式２）で算出する。
【００７４】
【数２】
2015182020.tif 000013
【００７５】
ただし、ＲはＲＣフィルタ２６の抵抗２７の抵抗値、ＣはＲＣフィルタ２６のキャパシタ２８の静電容量である。
【００７６】
次に、（式３）を用いて、このＡＤ端子電圧Ｖｃａに対する、ＡＤ変換回路２２の変換誤差がない場合のＡＤ変換値（理論値）Ａｃを算出する。
【００７７】
【数３】
2015182020.tif 000014
【００７８】
ただし、ＡｃｍａｘはＡＤ変換回路２２の出力最大値、ＶｃｍａｘはＡＤ変換回路２２の入力最大電圧である。
【００７９】
次に、（式４）から、ＡＤ変換値（理論値）Ａｃと、実際にＡＤ変換回路２２から出力されたＡＤ変換値（実測）Ｄｉｇとの差分を算出し、オフセットＡｄｏｓとする。
【００８０】
【数４】
2015182020.tif 000015
【００８１】
ＡＤ変換誤差算出部２０は、上記で算出されたオフセットＡｄｏｓが所定の正常判定範囲を逸脱した場合は、該当するＡＤ変換回路２２の異常と判定する。例えば、オフセットＡｄｏｓの所定の正常判定範囲が−５〜＋５である場合、ＡＤ変換値（理論値）Ａｃが「１７」、ＡＤ変換値（実測）Ｄｉｇが「１０」ならオフセットＡｄｏｓは「７」となり、正常判定範囲を逸脱しているので、ＡＤ変換回路２２の異常と判定する。ＡＤ変換値（理論値）Ａｃが「１７」、ＡＤ変換値（実測）Ｄｉｇが「１３」ならオフセットＡｄｏｓが「４」となり、正常判定範囲を逸脱していないので、異常とは判定しない。
【００８２】
次に、電流検出回路診断部２１の処理について説明する。電流検出回路診断部２１は、ブラシレスモータ４０が回転動作を停止しているタイミングに、電流検出回路１５の出力を読み込んだＡＤ変換回路２２の出力値Ｄｉｇを用いて、電流検出回路１５が異常であるかどうかを判定している。すなわち、出力値Ｄｉｇの値が所定の正常判定範囲を逸脱した場合は、電流検出回路１５の異常と判定する。より具体的には、回転停止時の電流検出値はゼロとなるべきであり、これに合わせて、例えば、正常判定を範囲「０〜９」とする。この場合であれば、ＡＤ変換回路２２の出力値Ｄｉｇが「１０」の場合は、電流検出回路の異常と判定する。
【００８３】
以上のような一連の処理を、ＲＣフィルタ２６に印加される１パルス毎に実施する。また、このパルス信号Ｐｌｓは、前述の通り、周波数が１パルス毎に低下するため、キャパシタ２８への充電時間が１パルス毎に増加し、ＡＤ変換回路２２の最小から最大まで全範囲の出力値Ｄｉｇに対して、異常を判定することができる。
【００８４】
なお、以上、制御部１１はデジタル回路などによる機能ブロックを含む構成例を挙げて説明したが、例えば、プログラムのような処理手順に基づく処理で行うような構成であってもよい。すなわち、例えば、モータ位置算出部１８、実回転速度算出部１７、回転制御部１２および駆動波形生成部１３などの機能を、回転制御処理方法を実行するプログラムとしたり、ＡＤ変換回路診断部１９、ＡＤ変換誤差算出部２０および電流検出回路診断部２１の機能を、診断処理の方法を実行するプログラムとしたりしてメモリなどに記憶させる。あるいは、ＡＤ変換誤差算出部２０の変換誤差を算出する方法や、変換誤差に基づきＡＤ変換回路の補正値を生成する方法などをメモリなどに記憶させる。そして、マイコン（マイクロコンピュータ）がそれらのプログラムを実行するような構成とすることによっても、本実施の形態を実現できる。また、マイコンの機能とともに、マイコンの基準クロックを生成するクロック発生回路２３やＡＤ変換回路２２も含めた制御部１１を１チィップのＬＳＩ（大規模集積回路）とするような構成とすることも可能である。
【００８５】
例えば、マイコンによって、周波数が変化するパルス信号ＰｌｓをクロックパルスＣｌｋに基づいて生成し、ＲＣフィルタ２６に印加し、キャパシタ２８の電圧を入力としたＡＤ変換回路２２の出力値と、キャパシタ２８の充電時間から算出したＡＤ変換値との差分に基づき変換誤差を算出するような、ＡＤ変換回路の変換誤差の算出方法が実現できる。また、マイコンによって、変換誤差に基づきＡＤ変換回路の補正値を生成することによって、ＡＤ変換回路の補正値の生成方法が実現できる。
【００８６】
（実施の形態２）
図４は、本発明の実施の形態２におけるブラシレスモータ駆動装置６０の構成を示すブロック図である。図４でも、本ブラシレスモータ駆動装置６０にブラシレスモータ４０を接続した構成の一例を示している。このような構成により、実施の形態１と同様に、ブラシレスモータ駆動装置６０は、外部からの指令に従った回転動作をするようにブラシレスモータ４０を駆動制御する。
【００８７】
実施の形態１との比較において、本実施の形態では、制御部６１が、実施の形態１での制御部１１の構成に加えて、補正テーブル生成部３２および補正テーブル３３をさらに備えている。なお、それ以外の構成については、実施の形態１と同じであり、詳細な説明は省略する。
【００８８】
実施の形態１で説明したように、ＡＤ変換誤差算出部２０は、ＡＤ変換回路２２の入力電圧Ｖｉｎを変更したそれぞれの出力値Ｄｉｇを用いて、ＡＤ変換における標準の値からの変換誤差であるオフセットＡｄｏｓを算出している。本実施の形態では、これらのオフセットＡｄｏｓを利用して、出力値Ｄｉｇであるデジタル信号Ｄｉｇ１〜３の補正を行う構成としている。
【００８９】
このような補正を行うため、本実施の形態では、補正テーブル３３をモータ位置算出部１８の入力側に配置している。すなわち、補正テーブル３３は、各ＡＤ変換回路２２から供給されるデジタル信号Ｄｉｇ１〜３に対して、テーブルに格納した補正値によって補正し、モータ位置算出部１８へと出力している。また、補正テーブル生成部３２は、ＡＤ変換誤差算出部２０で順次算出されるオフセットＡｄｏｓを補正テーブル３３に格納することによって、補正テーブル３３を生成している。
【００９０】
より具体的には、まず、ＡＤ変換回路診断部１９は、キャパシタ電圧Ｖｃの最小値Ｖｃｍｉｎに対する出力値Ｄｉｇが正常判定範囲内であって、異常でない場合は、この出力値Ｄｉｇをゼロ点オフセットＺｏｆとして、補正テーブル生成部３２に供給する。そして、補正テーブル生成部３２は、補正用データとしてのゼロ点オフセットＺｏｆを補正テーブル３３へ格納する。例えば、下限電圧Ｖｍｉｎに対する正常判定範囲が「０」〜「５」である場合、ＡＤ変換回路診断部１９は、出力値Ｄｉｇが「７」であればＡＤ変換回路２２の異常と判定する。また、ＡＤ変換回路診断部１９は、出力値が「４」であれば異常ではないと判定し、この場合、補正テーブル生成部３２が、ゼロ点オフセットＺｏｆを「４」として補正テーブル３３に格納する。
【００９１】
次に、ＡＤ変換誤差算出部２０は、算出されたオフセットＡｄｏｓが所定の正常判定範囲を逸脱しない場合は、オフセットＡｄｏｓを補正テーブル生成部３２に供給する。そして、補正テーブル生成部３２は、出力値Ｄｉｇと、それに対応させてオフセットＡｄｏｓとを、補正テーブル３３に格納する。例えば、オフセットＡｄｏｓの所定の正常判定範囲が−５〜＋５である場合、ＡＤ変換値（理論値）Ａｃが「１７」、ＡＤ変換値（実測）Ｄｉｇが「１３」ならオフセットＡｄｏｓが「４」となり、正常判定範囲を逸脱していないので、補正テーブル生成部３２は、出力値Ｄｉｇ＝「１３」に対するオフセットＡｄｏｓを「４」として、補正テーブル３３へ格納する。
【００９２】
補正テーブル３３は、第１〜第３のＡＤ変換回路２２に対して、それぞれ別個に生成され、全範囲の出力値Ｄｉｇに対するオフセットＡｄｏｓを格納している。もし、一部の出力値Ｄｉｇに対するオフセットＡｄｏｓが格納されていない場合は、図５のように、スプライン曲線などにより補間することも可能である。
【００９３】
以上のように生成した補正テーブル３３は、図４に示すように各ＡＤ変換回路２２の出力側に配置し、電流検出回路１５の検出電圧の補正などに用いる。例えば、電流検出回路１５の出力のＡＤ変換値（実測値）をオフセット分だけ補正することで、モータ位置算出部１８で正確なロータ位置を算出できる。そして、その結果、実回転速度算出部１７で正確な実回転速度を算出できるので、回転制御部１２で的確な速度制御やトルク制御が可能となる。
【００９４】
なお、実施の形態１および実施の形態２において、制御部１１はデジタル回路などによる機能ブロックを含む構成例を挙げて説明したが、例えば、プログラムのような処理手順に基づく処理で行うような構成であってもよい。すなわち、例えば、モータ位置算出部１８、実回転速度算出部１７、回転制御部１２および駆動波形生成部１３などの機能を、回転制御処理方法を実行するプログラムとしたり、ＡＤ変換回路診断部１９、ＡＤ変換誤差算出部２０および電流検出回路診断部２１の機能を、診断処理の方法を実行するプログラムとしたりしてメモリなどに記憶させる。あるいは、ＡＤ変換誤差算出部２０の変換誤差を算出する方法や、変換誤差に基づきＡＤ変換回路の補正値を生成する方法などをメモリなどに記憶させる。そして、マイコン（マイクロコンピュータ）がそれらのプログラムを実行するような構成とすることによっても、本実施の形態を実現できる。また、マイコンの機能とともに、マイコンの基準クロックを生成するクロック発生回路２３やＡＤ変換回路２２も含めた制御部１１を１チィップのＬＳＩ（大規模集積回路）とするような構成とすることも可能である。
【００９５】
例えば、マイコンによって、周波数が変化するパルス信号ＰｌｓをクロックパルスＣｌｋに基づいて生成し、ＲＣフィルタ２６に印加し、キャパシタ２８の電圧を入力としたＡＤ変換回路２２の出力値と、キャパシタ２８の充電時間から算出したＡＤ変換値との差分に基づき変換誤差を算出するような、ＡＤ変換回路の変換誤差の算出方法が実現できる。また、マイコンによって、変換誤差に基づきＡＤ変換回路の補正値を生成することによって、ＡＤ変換回路の補正値の生成方法が実現できる。
【００９６】
また、電流検出回路１５の出力だけでなく、温度センサや油圧センサなどＡＤ変換回路２２に入力される全てのセンサ検出値も、高精度に算出できるようになるため、これらセンサによる保護機能（高温、高圧異常）の検出バラツキを低減することができる。
【００９７】
また、ＲＣフィルタ２６へのパルス周波数が、１パルス毎に増加するため、モータ制御回路から発生する電磁ノイズの周波数が分散し、ピーク値が低下する。これにより、ＥＭＣ（Ｅｌｅｃｔｒｏ−Ｍａｇｎｅｔｉｃ  Ｃｏｍｐａｔｉｂｉｌｉｔｙ）対策部品を削減することができる。
【００９８】
また、多数あるＡＤ変換回路毎に複雑な診断用回路を追加する必要がないため、ピン数が少ない小型マイコンと安価な回路構成とで容易に実現でき、回路のコストを抑制することができる。
【００９９】
以上により、これらの回転誤差やトルク誤差に対する余裕を確保するために大きなモータや回路基板を搭載する必要がなくなり、冷却ファンの小型化・軽量化を図ることができる。
【産業上の利用可能性】
【０１００】
本発明のブラシレスモータ駆動方法および駆動装置は、簡単な構成で高精度な速度制御およびトルク制御が可能となる。本発明のモータ駆動方法およびモータ駆動装置は、特に高効率、低騒音が要求される冷却ファンやブロアに好適である。
【符号の説明】
【０１０１】
１０，６０    ブラシレスモータ駆動装置
１１，６１    制御部
１２    回転制御部
１３    駆動波形生成部
１４    インバータ回路
１５    電流検出回路
１７    実回転速度算出部
１８    モータ位置算出部
１９    ＡＤ変換回路診断部
２０    ＡＤ変換誤差算出部
２１    電流検出回路診断部
２２，２２１，２２２，２２３    ＡＤ変換回路
２３    クロック発生回路
２４    タイマ回路
２５    パルス出力回路
２６    ＲＣフィルタ
２７    抵抗
２８    キャパシタ
２９    グランド
３１    メモリ
３２    補正テーブル生成部
３３    補正テーブル
４０    ブラシレスモータ
４１    コイル
５１    通信部
５２    クロック誤差率測定部
１００    上位コントローラ
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ブラシレスモータを駆動制御するブラシレスモータ駆動装置であって、
前記ブラシレスモータの巻線を通電駆動するインバータ回路と、
前記巻線の電流値を検出する電流検出回路と、
前記ブラシレスモータを回転制御するための制御部と、
抵抗とキャパシタとを含み構成されたＲＣフィルタとを含み、
前記制御部は、
前記インバータを駆動するための信号を生成する駆動制御部と、
動作周期の基準となるクロックパルスを発生するクロック発生回路と、
周波数が変化するパルス信号を、前記クロックパルスに基づいて生成し、前記ＲＣフィルタに印加するパルス出力回路と、
前記ＲＣフィルタの前記キャパシタおよび前記電流検出回路に接続されたＡＤ変換回路と、
前記ＡＤ変換回路の変換誤差を算出するＡＤ変換誤差算出部とを備え、
前記ＡＤ変換誤差算出部は、
前記キャパシタの電圧を入力とした前記ＡＤ変換回路の出力値と、前記キャパシタの充電時間から算出したＡＤ変換値との差分に基づき、前記変換誤差を算出することを特徴とするブラシレスモータ駆動装置。
【請求項２】
前記パルス出力回路は、前記ＲＣフィルタへ１パルス毎に周波数が変化するパルス信号を出力し、
前記ＡＤ変換誤差算出部は、前記クロックパルスの所定サイクル数経過後の前記差分に基づき、前記変換誤差を算出することを特徴とする請求項１に記載のブラシレスモータ駆動装置。
【請求項３】
前記パルス出力回路が前記ＲＣフィルタへ出力する前記パルス信号は、Ｈｉｇｈレベル期間が、パルス毎に変化するカウント数だけ前記クロックパルスをカウントしたパルス幅であり、
前記ＡＤ変換誤差算出部は、前記パルス信号のＨｉｇｈレベル期間によって前記キャパシタに充電される充電時間を算出し、この充電時間から前記ＡＤ変換回路の入力電圧を推定し、前記ＡＤ変換値を算出することを特徴とする請求項２に記載のブラシレスモータ駆動装置。
【請求項４】
前記ＡＤ変換誤差算出部は、外部から指令として入力される通信のための通信用パルス信号の周期と、前記クロックパルスの周期とからクロック誤差率を算出し、前記クロック誤差率で補正して、前記充電時間を算出することを特徴とする請求項３に記載のブラシレスモータ駆動装置。
【請求項５】
前記ＡＤ変換回路の出力値を補正する補正テーブルと、
前記補正テーブルを生成する補正テーブル生成部とをさらに備え、
前記補正テーブル生成部は、前記ＡＤ変換誤差算出部が算出した前記変換誤差を補正値として、補正テーブルを生成することを特徴とする請求項１に記載のブラシレスモータ駆動装置。
【請求項６】
前記ＡＤ変換回路の異常の有無を診断するＡＤ変換回路診断部をさらに備え、
前記ＡＤ変換回路診断部は、前記ＲＣフィルタへ印加する前記パルス信号がＬｏｗの状態であって、前記ＲＣフィルタのキャパシタ電圧を入力とした前記ＡＤ変換回路の出力値が所定の範囲から逸脱している場合は、前記ＡＤ変換回路の異常と判定することを特徴とする請求項１に記載のブラシレスモータ駆動装置。
【請求項７】
前記ＡＤ変換誤差算出部は、前記ＲＣフィルタへ印加する前記パルス信号がＨｉｇｈの状態であって、算出した前記変換誤差が所定の範囲から逸脱している場合は、前記ＡＤ変換回路の異常と判定することを特徴とする請求項１に記載のブラシレスモータ駆動装置。
【請求項８】
前記電流検出回路の異常の有無を診断する電流検出回路診断部をさらに備え、
前記電流検出回路診断部は、前記ブラシレスモータの回転動作を停止中であって、前記電流検出回路の出力値を入力としたＡＤ変換回路の出力値が所定の範囲から逸脱している場合は、電流検出回路の異常と判定することを特徴とする請求項１に記載のブラシレスモータ駆動装置。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2015182020.tif 000016
【図２】
2015182020.tif 000017
【図３】
2015182020.tif 000018
【図４】
2015182020.tif 000019
【図５】
2015182020.tif 000020
【国際調査報告】
2015182020.tif 000021
2015182020.tif 000022