(57)【特許請求の範囲】
【請求項１】
クロックに基づいて動作するアップダウンカウンタと、
コンペア値を保持する書き換え可能なコンペアレジスタと、
前記コンペアレジスタのコンペア値と前記アップダウンカウンタのカウント値と比較して、カウントアップ動作における第１の一致信号とカウントダウン動作における第２の一致信号を出力するコンパレータと、
ＰＷＭ信号のパルス幅を変化させるために設けられた付加ビットを保持する付加ビットレジスタと、
前記付加ビットに応じて、前記第１の一致信号又は前記第２の一致信号のいずれか一方を遅延する遅延回路を有し、前記遅延回路で遅延された一方の一致信号と遅延されていない他方の一致信号とに基づいて前記ＰＷＭ信号のパルス幅を設定するＰＷＭ信号生成部と、を備え、
前記遅延回路が前記アップダウンカウンタの前記クロックよりも高い周波数のクロックを用いずに、前記第１の一致信号又は第２の一致信号のいずれか一方を遅延させ、
前記ＰＷＭ信号生成部が前記付加ビットに応じて、前記ＰＷＭ信号のパルス幅を変化させるＰＷＭ信号生成装置。
【請求項２】
前記付加ビットが２ビット以上のビット数を有し、
前記２ビット以上の付加ビットに応じて、前記ＰＷＭ信号の複数のパルスのパルス幅を変化させる請求項１に記載のＰＷＭ信号生成装置。
【請求項３】
前記遅延回路が前記第１の一致信号又は第２の一致信号のいずれか一方を前記アップダウンカウンタの前記クロックの周期に対応する時間遅延させる請求項１、又は２に記載のＰＷＭ信号生成装置。
【請求項４】
外部からの設定値に基づいてアップダウンカウンタのカウント値と比較されるコンペア値とＰＷＭ信号のパルス幅を変化させるための付加ビットとを記憶し、
クロックに基づいて動作する前記アップダウンカウンタにより、所定のカウント数までのカウントアップ動作と前記所定のカウント数からのカウントダウン動作とを交互に行い、
前記カウントアップ動作における前記カウンタ値及び前記カウントダウン動作における前記カウンタ値を前記コンペア値と比較し、
前記カウントアップ動作における前記カウンタ値と前記コンペア値との比較結果に応じて第１の一致信号を出力し、かつ前記カウントダウン動作における前記カウンタ値と前記コンペア値との比較結果に応じて第２の一致信号を出力し、
前記クロックよりも高い周波数のクロックを用いずに、前記第１の一致信号、又は前記第２の一致信号のいずれか一方を、前記付加ビットに応じて遅延させ、
遅延された一方の前記一致信号と、遅延されていない他方の前記一致信号とに基づいてＰＷＭ信号のパルス幅を設定して、
前記付加ビットに応じて前記ＰＷＭ信号の前記設定されたパルス幅を変化させてＰＷＭ信号を生成するＰＷＭ信号生成方法。
【請求項５】
前記付加ビットが２ビット以上のビット数を有し、
前記２ビット以上の付加ビットに応じて、前記ＰＷＭ信号の複数のパルスのパルス幅を変化させる請求項４に記載のＰＷＭ信号生成方法。
【請求項６】
前記第１の一致信号又は第２の一致信号のいずれか一方が前記アップダウンカウンタの前記クロックの周期に対応する時間遅延されている請求項４、又は５に記載のＰＷＭ信号生成方法。
【請求項７】
モータの状態に基づいて前記モータを駆動するためのＰＷＭ信号を生成し、当該ＰＷＭ信号に基づいてモータを制御するモータ制御装置であって、
前記モータの状態からの出力に基づいて前記ＰＷＭ信号のパルス幅を設定するための設定値を算出するフィードバック制御部と、
クロックに基づいて動作するアップダウンカウンタと、
前記フィードバック制御部で算出された設定値に基づいてコンペア値を保持するコンペアレジスタと、
前記コンペアレジスタのコンペア値と前記アップダウンカウンタのカウント値とを比較して、カウントアップ動作における第１の一致信号とカウントダウン動作における第２の一致信号を出力するコンパレータと、
前記フィードバック制御部で算出された設定値のうち、前記コンペア値よりも下位のビットに基づいて付加ビットを生成する付加ビット生成部と、
前記付加ビットに応じて、前記第１の一致信号、又は前記第２の一致信号のどちらか一方を遅延させる遅延回路を有し、前記遅延回路で遅延された一方の前記一致信号と、遅延されていない他方の前記一致信号とに基づいて決定されたパルス幅を有する前記ＰＷＭ信号を生成するＰＷＭ信号生成部と、を備え、
前記遅延回路が、前記アップダウンカウンタの前記クロックよりも高い周波数のクロックを用いずに、遅延させ、
前記付加ビット生成部で生成された付加ビットに応じて、ＰＷＭ信号生成部で生成された前記ＰＷＭ信号のパルス幅を変化させるモータ制御装置。
【請求項８】
前記付加ビットが２ビット以上のビット数を有し、
前記２ビット以上の付加ビットに応じて、前記ＰＷＭ信号の複数のパルスのパルス幅を変化させる請求項７に記載のモータ制御装置。
【請求項９】
前記遅延回路が前記第１の一致信号又は第２の一致信号のいずれか一方を前記アップダウンカウンタの前記クロックの周期に対応する時間遅延させる請求項７、又は８に記載のモータ制御装置。
【請求項１０】
モータの状態に基づいて前記モータを駆動するためのＰＷＭ信号を生成し、当該ＰＷＭ信号に基づいてモータを制御するモータ制御方法であって、
前記モータの状態に基づいて前記ＰＷＭ信号のパルス幅を設定するための設定値を算出し、
前記設定値に基づいてアップダウンカウンタのカウント値と比較されるコンペア値とＰＷＭ信号のパルス幅を変化させるための付加ビットとを記憶し、
クロックに基づいて動作する前記アップダウンカウンタにより、所定のカウント数までのカウントアップ動作と前記所定のカウント数からのカウントダウン動作とを交互に行い、
前記カウントアップ動作における前記カウンタ値及び前記カウントダウン動作における前記カウンタ値を前記コンペア値と比較し、
前記カウントアップ動作における前記カウンタ値と前記コンペア値との比較結果に応じて第１の一致信号を出力し、かつ前記カウントダウン動作における前記カウンタ値と前記コンペア値との比較結果に応じて第２の一致信号を出力し、
前記クロックよりも高い周波数のクロックを用いずに、前記第１の一致信号、又は前記第２の一致信号のいずれか一方を、前記付加ビットに応じて遅延させ、
遅延された一方の前記一致信号と、遅延されていない他方の前記一致信号に基づいてＰＷＭ信号のパルス幅を設定し、
前記付加ビットに応じて前記ＰＷＭの前記設定されたパルス幅を変化させてＰＷＭ信号を生成するモータ制御方法。
【請求項１１】
前記付加ビットが２ビット以上のビット数を有し、
前記２ビット以上の付加ビットに応じて、前記ＰＷＭ信号の複数のパルスのパルス幅を変化させる請求項１０に記載のモータ制御方法。
【請求項１２】
前記第１の一致信号又は第２の一致信号のいずれか一方が前記アップダウンカウンタの前記クロックの周期に対応する時間遅延されている請求項１０、又は１１に記載のモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＰＷＭ信号を生成するＰＷＭ信号生成装置及びＰＷＭ信号生成方法並びにＰＷＭ信号を用いてモータを制御するモータ制御装置及びモータ制御方法に関し、特に、カウンタを用いてＰＷＭ信号を生成するＰＷＭ信号生成装置及びＰＷＭ信号生成方法並びに、カウンタを有するＰＷＭ信号を用いてモータを制御するモータ制御装置及びモータ制御方法に関するものである。
【背景技術】
【０００２】
モータの制御には、広くＰＷＭ（パルス幅変調）制御法が用いられている。ＰＷＭ制御法は、スイッチング周期（ＰＷＭ出力周期）を一定として、その周期の中でスイッチング回路のオンの時間を変化させてモータに印加される電圧を制御するものである。すなわち、ＰＷＭ制御法では、パルス信号のデューティ比を変化させて、モータの回転速度を制御させている。
【０００３】
このＰＷＭ制御を行うためのデジタル三相ＰＷＭ波形発生装置が開示されている（特許文献１）。この装置では、クロックに基づいて三角波的に変化するアップダウンカウンタとレジスタとを備えている。そして、このアップダウンカウンタのカウンタ値とレジスタ値とを比較して、パルス幅を決定している。すなわち、アップカウント時にレジスタとカウンタとの値が一致するタイミングとダウンカウント時にレジスタとカウンタの値が一致するタイミングとで、パルス幅を決定している。そして、レジスタの値を変えていくことによりパルス幅変調を行なっている。この装置では、３つのレジスタを書き換える操作で、三相のモータを制御することができる。よって、素子数を最小限にすることができるとともに、マイコンの処理能力を軽減することができる。
【０００４】
【特許文献１】特開２００４−３０１８０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のＰＷＭ波形生成装置では、図６に示すように三角波的に変化するアップダウンカウンタの値と、レジスタとの値を比較することにより、パルス幅を決定している。すなわち、アップカウント時にカウンタ値とレジスタ値とが一致するタイミングとダウンカウント時にカウンタ値とレジスタ値が一致するタイミングとの間の時間がパルス幅となる。
【０００６】
ここで、アップダウンカウンタのカウント数をＭとすると、アップダウンカウンタは０〜ＭまでのカウントアップとＭ〜０までのカウントダウンを交互に繰り返す。ＰＷＭ出力波形を生成するためのレジスタ値をＮ（Ｍ＞Ｎ）とする。そして、カウンタのクロックの周期を１とすると、ＰＷＭ出力信号のパルス幅は２×（Ｍ−Ｎ）となる。すなわち、アップカウント時における、レジスタ値からカウント数Ｍまでのカウントは（Ｍ−Ｎ）となる。一方、ダウンカウント時における、カウント数Ｍからレジスタ値Ｎまでのカウント数も（Ｍ−Ｎ）となる。よって、ＰＷＭ出力信号のパルス幅はこれらの和、すなわち、２×（Ｍ−Ｎ）となる。
【０００７】
例えば、コンペアレジスタに設定されたコンペア値が５０であったときの一致信号に基づいて生成されたパルス幅が１００で有る場合、コンペア値が４９に変わるとパルス幅は１０２となり、５１に変わるとパルス幅は９８となり、コンペア値１に対してパルス幅は２変化することになる。なお、ここでは、説明の簡略化のため、デッドタイムについては省略して説明している。
【０００８】
このように、ＰＷＭ出力信号のパルス幅は（Ｍ−Ｎ）の２倍となってしまう。したがって、従来のＰＷＭ制御法では、アップダウンカウンタのクロック周期の２倍の時間でしか、パルス幅を変化させることができなかった。すなわち、従来のＰＷＭ波形発生装置では、ＰＷＭ出力信号の分解能が、コンペア値の分解能の１／２、すなわち、カウンタの分解能の１／２とならざるを得なくなっていた。したがって、従来のＰＷＭ波形発生装置では、パルス幅を細かく設定することができず、モータ制御の精度を向上することが困難であるという問題点があった。
【課題を解決するための手段】
【０００９】
本発明は上述のような事情を背景としてなされたものであって、本発明の第１の態様にかかるＰＷＭ信号生成装置は、アップダウンカウンタと、コンペア値を保持する書き換え可能なコンペアレジスタと、前記コンペアレジスタのコンペア値と前記アップダウンカウンタのカウント値と比較して、一致信号を出力するコンパレータと、前記アップダウンカウンタのカウントアップ動作における前記コンパレータからの一致信号と、前記アップダウンカウンタのカウントダウン動作における前記コンパレータからの一致信号とに基づいてＰＷＭ信号のパルス幅を設定するＰＷＭ信号生成部と、前記ＰＷＭ信号のパルス幅を変化させるために設けられた付加ビットを保持する付加ビットレジスタとを備え、前記ＰＷＭ信号生成部が前記付加ビットに応じて、前記ＰＷＭ信号のパルス幅を変化させるものである。これにより、ＰＷＭ信号のパルス幅を細かく制御することができるため、ＰＷＭ信号の分解能を向上することができる。
【００１０】
また、本発明の第２の態様にかかるＰＷＭ信号生成方法は、外部からの設定値に基づいてアップダウンカウンタのカウント値と比較されるコンペア値とＰＷＭ信号のパルス幅を変化させるための付加ビットとを記憶し、アップダウンカウンタにより、所定のカウント数までのカウントアップ動作と前記所定のカウント数からのカウントダウン動作とを交互に行い、前記カウントアップ動作における前記カウンタ値及び前記カウントダウン動作における前記カウンタ値を前記コンペア値と比較し、前記カウンタ値と前記コンペア値との比較結果に応じて一致信号を出力し、前記カウントアップ動作における前記一致信号と、前記カウントダウン動作における前記一致信号とに基づいてＰＷＭ信号のパルス幅を設定し、前記付加ビットに応じて前記ＰＷＭ信号の前記設定されたパルス幅を変化させてＰＷＭ信号を生成するものである。これにより、ＰＷＭ信号のパルス幅を細かく制御することができるため、ＰＷＭ信号の分解能を向上することができる。
【００１１】
本発明の第３の態様にかかるモータ制御装置は、モータの回転数又は回転位置を検出するセンサからの出力に基づいて前記モータを駆動するためのＰＷＭ信号を生成し、当該ＰＷＭ信号に基づいてモータを制御するモータ制御装置であって、前記センサからの出力に基づいて前記ＰＷＭ信号のパルス幅を設定するための設定値を算出するフィードバック制御部と、アップダウンカウンタと、前記フィードバック制御部で算出された設定値に基づいてコンペア値を保持するコンペアレジスタと、前記コンペアレジスタのコンペア値と前記アップダウンカウンタのカウント値と比較して、一致信号を出力するコンパレータと、前記アップダウンカウンタのカウントアップ動作における前記一致信号と、前記アップダウンカウンタのカウントダウン動作における前記一致信号とに基づいて決定されたパルス幅を有する前記ＰＷＭ信号を生成するＰＷＭ信号生成部と、前記フィードバック制御部で算出された設定値のうち、前記コンペア値よりも下位のビットに基づいて付加ビットを生成する付加ビット生成部とを備え、前記付加ビット生成部で生成された付加ビットに応じて、ＰＷＭ信号生成部で生成された前記ＰＷＭ信号のパルス幅を変化させるものである。これにより、ＰＷＭ信号のパルス幅を細かく制御することができるため、ＰＷＭ信号の分解能を向上することができる。よって、高精度でモータを制御することができるモータ制御装置を提供することができる。
【００１２】
本発明の第４の態様にかかるモータ制御方法は、モータの回転数又は回転位置を検出するセンサからの出力に基づいて前記モータを駆動するためのＰＷＭ信号を生成し、当該ＰＷＭ信号に基づいてモータを制御するモータ制御方法であって、前記センサからの出力に基づいて前記ＰＷＭ信号のパルス幅を設定するための設定値を算出し、前記設定値に基づいてアップダウンカウンタのカウント値と比較されるコンペア値とＰＷＭ信号のパルス幅を変化させるための付加ビットとを記憶し、アップダウンカウンタにより、所定のカウント数までのカウントアップ動作と前記所定のカウント数からのカウントダウン動作とを交互に行い、前記カウントアップ動作における前記カウンタ値及び前記カウントダウン動作における前記カウンタ値を前記コンペア値と比較し、前記カウンタ値と前記コンペア値との比較結果に応じて一致信号を出力し、前記カウントアップ動作における前記一致信号と、前記カウントダウン動作における前記一致信号に基づいてＰＷＭ信号のパルス幅を設定し、前記付加ビットに応じて前記ＰＷＭの前記設定されたパルス幅を変化させてＰＷＭ信号を生成するものである。これにより、ＰＷＭ信号のパルス幅を細かく制御することができるため、ＰＷＭ信号の分解能を向上することができる。よって、高精度でモータを制御することができるモータ制御装置を提供することができる。
【００１３】
本発明の第５の態様にかかるＰＷＭ信号生成装置は、カウンタと、コンペア値を保持する書き換え可能なレジスタと、前記コンペアレジスタのコンペア値と前記カウンタのカウンタ値とを比較して、一致信号を出力するコンパレータと、前記一致信号に基づいてＰＷＭ信号のパルス幅を設定するＰＷＭ信号生成部と、前記設定されたパルス幅を変化させる手段とを備えるものである。これにより、ＰＷＭ信号のパルス幅を細かく制御することができるため、ＰＷＭ信号の分解能を向上することができる。
【発明の効果】
【００１４】
本発明によれば、カウンタとコンペアレジスタとの比較によって得られたＰＷＭ信号のパルス幅を変化させることによって、ＰＷＭ信号を高い分解能で生成することができるＰＷＭ信号生成装置及びＰＷＭ信号生成方法並びに、高精度でモータを制御することができるモータ制御装置及びモータ制御方法を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下に、本発明を適用可能な実施の形態が説明される。以下の説明は、本発明の実施形態を説明するものであり、本発明は以下の実施形態に限定されるものではない。説明の明確化のため、以下の記載は、適宜、省略及び簡略化がなされている。又、当業者であれば、以下の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能であろう。尚、各図において同一の符号を付されたものは同様の要素を示しており、適宜、説明が省略される。以下に本発明の好適な実施の形態として、３相のブラシレスモータの制御について説明する。
【００１６】
図１は本実施の形態にかかるモータ制御システムの構成を示す図である。モータ制御システムは、マイコン（ＭＣＵ：ＭｉｃｒｏＣｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ）１０、ＰＷＭ出力部１１、付加ビットレジスタ１６、フィードバック制御部１８、モータ２０、センサ２１、インバータ回路２３等から構成されている。
【００１７】
まず、モータ制御システムの全体の動作について図１を用いて説明する。モータ制御システムはモータ２０とモータ２０を制御するＭＣＵ１０とＭＣＵ１０からの駆動信号により駆動電流を生成するインバータ回路２３と、モータ２０の状態、例えば、回転角を検出するセンサ２１とを備えている。ＭＣＵ１０は外部から目標値設定レジスタ１１１に入力される目標回転数に基づいて、モータ２０を駆動するための駆動信号を生成する。この駆動信号はＰＷＭ出力部１１により生成される。すなわち、ＰＷＭ出力部１１はパルス幅変調（ＰＷＭ：Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）を行い、モータ２０を駆動するための駆動信号となるＰＷＭ信号を出力する。ＰＷＭ信号はインバータ回路２３に入力され、インバータ回路２３はＭＣＵ１０からのＰＷＭ信号に基づいて、モータ２０を駆動するための駆動電流を生成する。モータ２０は例えば、三相モータであり、インバータ回路２３からのＵ相、Ｖ相、Ｗ相の駆動電流により駆動される。センサ２１はモータ２０の回転角に対応する出力信号を出力する。センサ２１には、例えばレゾルバを用いることができる。このセンサ２１からの出力信号がＭＣＵ１０に入力される。ＭＣＵ１０のフィードバック制御部１８はセンサ２１からの出力信号に基づいてフィードバック制御を行い、ＰＷＭ出力部１１に制御信号を出力する。ＰＷＭ出力部１１は、目標値設定レジスタ１１１に設定された目標回転数とフィードバック制御部１８からの制御信号に基づいてＰＷＭ出力部に設けられたコンペアレジスタ６２にコンペア値を設定し、カウンタ６１のカウント値とコンペア値とからＰＷＭ信号を生成し、インバータ回路２３に出力する。この動作を繰り返し行い、フィードバック制御を行う。
【００１８】
例えば、外部から所定の回転数でモータ２０を回転させるよう制御信号が供給されると、ＭＣＵ１０に設けられたＰＷＭ出力部１１はその回転数でモータを回転させるようなＰＷＭ信号を生成する。ここで、モータ２０が３相のＤＣブラシレスモータである場合について説明する。この場合、ＰＷＭ信号はｕ１相、ｕ２相、ｖ１相、ｖ２相、ｗ１相及びｗ２相の６つの駆動信号からなる。なお、ｕ２相、ｖ２相、ｗ２相はそれぞれｕ１相、ｖ１相、ｗ１相の逆相である。すなわち、ｕ１相、ｖ１相、ｗ１相は正相側の出力であり、ｕ２相、ｖ２相、ｗ２相は負相側の出力である。もちろん、モータ２０は３相のＤＣブラシレスモータに限られるものではない。
【００１９】
ＭＣＵ１０のＰＷＭ出力部１１はパルス幅変調によりモータ２０の制御を行う。具体的は、インバータ回路２３に設けられた３相分のスイッチング回路の所定のスイッチング周期（ＰＷＭパルス周期）の幅の中でスイッチング回路のオン時間を変化させて制御する。すなわち、所定のＰＷＭパルス周期の中でパルス幅を変化させて、各相のデューティ比を制御する。なお、ディーティ比は、カウンタ６１とコンペアレジスタ６２に設定されるコンペア値によって設定される。このデューティ比に応じて、モータ２０の各相に印加される電圧が変化するため、モータに流れる電流を制御することができる。デューティ比を高くしてオン時間が長くなったときは回転速度が高くなり、デューティ比を低くしてオン時間が短くなったときは回転速度が低くなる。
【００２０】
ＰＷＭ出力部１１は上記の処理を行うため、タイマーカウンタ６１とコンペアレジスタ６２とを備えている。タイマーカウンタ６１は例えば、クロックパルスに基づいて動作するアップダウンカウンタであり、三角波を生成する。すなわち、タイマーカウンタ６１はクロック周期でカウントアップを行い、カウンタ値が所定のカウント数となったら、クロック周期でカウントダウンを行なう。そして、カウンタ値が０となったら再度カウントアップを行なう。これを繰り返して三角波を生成している。ここで、コンペアレジスタ６２に設定されるコンペア値は、目標値設定レジスタ１１１に設定された目標回転数とフィードバック制御部１８からの制御信号とに基づいて設定される。
【００２１】
図１に示すよう、ＭＣＵ１０のＰＷＭ出力部１１からパルス幅変調された駆動信号は、インバータ回路２３に入力される。インバータ回路２３には上記のように各相に対応して設けられたスイッチング回路を備えている。インバータ回路２３は、ｕ１相、ｕ２相、ｖ１相、ｖ２相、ｗ１相及びｗ２相の駆動信号に基づいてスイッチング回路をオンオフして、モータ２０にＵ相、Ｖ相及びＷ相の駆動電流を出力し、モータ２０はインバータ回路２３からの駆動電流に基づいて回転する。
【００２２】
ここで図２を参照して、インバータ回路２３の構成について説明する。図２はインバータ回路２３の構成を模式的に示す回路図である。インバータ回路２３は、スイッチング回路としてトランジスタ（以下、Ｔｒ）５１〜５６を備えている。Ｔｒ５１〜Ｔｒ５６は駆動電流をモータ２０に供給するためのパワートランジスタであり、例えば、パワーＭＯＳＦＥＴを用いることができる。Ｔｒ５１のゲート端子にはｕ１相の駆動信号が入力され、Ｔｒ５２のゲート端子には、ｕ２相の駆動信号が入力され。Ｔｒ５１はｕ１相の駆動信号によりオンオフ制御され、Ｔｒ５２はｕ２相の駆動信号によりオンオフ制御される。Ｔｒ５１のソース端子は電源電圧が供給され、Ｔｒ５２のドレイン端子はグランドに接続される。Ｔｒ５１のドレイン端子とＴｒ５２のソース端子が接続されている。さらに、Ｔｒ５１のドレイン端子とＴｒ５２のソース端子はＵ相の駆動電流５７の出力端子に接続されている。したがって、Ｔｒ５１がオンかつＴｒ５２がオフのとき、Ｕ相の駆動電流５７が流れる。一方、Ｔｒ５１がオフかつＴｒ５２がオンのとき、Ｕ相の駆動電流５７は流れない。ここで、ｕ１相の駆動信号とｕ２相の駆動信号との間には、Ｔｒ５１とＴｒ５２とが同時にオンしないようにデッドタイムが設けられている。このような構成により、ＰＷＭ信号に基づいて、Ｕ相の駆動電流５７が出力される。
【００２３】
Ｖ相の駆動電流５８及びＷ相の駆動電流５９についても同様に生成されている。すなわち、ｖ１相の駆動信号はＴｒ５３に入力され、ｖ２相の駆動信号はＴｒ５４に入力される。このＴｒ５３及びＴｒ５４を上記と同様にオンオフ制御して、Ｖ相の駆動電流５８を出力する。同様にｗ１相の駆動信号はＴｒ５５に入力され、ｗ２相の駆動信号はＴｒ５６に入力される。そして、Ｔｒ５５及びＴｒ５６を上記と同様にオンオフ制御して、Ｗ相の駆動電流５９を出力する。このようにして、インバータ回路２３はＰＷＭ信号に基づいて、３相の駆動電流をモータ２０に出力する。
【００２４】
ここで、図１の説明に戻る。センサ２１はモータ２０の状態、例えば、回転角を検出し、その回転角に基づいたセンサ信号を出力し、センサ信号はＭＣＵ１０に入力される。ＭＣＵ１０のフィードバック制御部１８はセンサ２１からのセンサ信号に基づいて、モータの回転角又は回転数を算出する。この算出された値に基づいて、フィードバック制御部１８がＰＷＭ出力部１１に制御信号を出力して、フィードバック制御を行う。
【００２５】
具体的には、フィードバック制御部１８はモータの回転角が想定された回転角度に達していない場合、回転速度を上げるように制御し、モータの回転角が想定された回転角度を越している場合、回転速度を下げるように制御する。ＰＷＭ出力部１１は、フィードバック制御部１８からの制御信号と、目標値設定レジスタ１１１に設定された目標回転数とに基づいて、ＰＷＭ信号のデューティ比（パルス幅）を設定するための設定値を算出する。この設定値の基づいた値がＰＷＭ出力部１１のコンペアレジスタ６２に格納されるコンペア値となる。そして、ＰＷＭ出力部１１は設定値に基づいてＰＷＭ信号を生成する。例えば、ＰＷＭ出力部１１は、モータの回転角が想定された回転角に達していない場合、
デューティ比が高くなるようにコンペア値を設定する。この場合、ＰＷＭ信号のオンとなるパルス幅が長くなり、モータの回転速度を速め、モータ２０の回転角を想到された回転角度に到達させることができる。逆に、モータの回転角が想定された回転角度を越している場合、ＰＷＭ出力部１１はデューティ比が低くなるようにコンペア値を設定し、ＰＷＭ信号のオンとなるパルス幅が短くなりモータ２０の回転を遅くし、回転角を想定された回転角度に到達させることができる。
【００２６】
本実施の形態では、ＭＣＵ１０は、付加ビットレジスタ１６を備え、付加ビットレジスタに付加ビットが設定されているときに、ＰＷＭ出力部１１は、ＰＷＭ信号に付加ビットに応じてパルス幅を増減する制御を行う。具体的には、ＰＷＭ出力部１１は、設定値のうちコンペアレジスタに格納されるコンペア値よりも下位ビットに基づいて付加ビットを生成する。例えば、フィードバック制御部１８で１６ビットの設定値が算出されるとすると、設定値のうちの上位１５ビットをコンペア値とし、最下位ビットを付加ビットとすることができる。この場合、付加ビットレジスタ１６内に設定された付加ビットが１のとき、ＰＷＭ信号のパルス幅はコンペア値で設定されたパルス幅よりクロックの１周期に対応する時間だけ長くなるように制御される。換言すると付加ビットが１のとき、クロックの１周期に対応するパルスがＰＷＭ信号のパルスに付加される。一方、付加ビットレジスタ１６に設定された付加ビットが０のとき、ＰＷＭ信号のパルス幅がコンペア値で設定されたパルス幅のままとなる。このように付加ビットに応じて、クロックの１周期に対応する時間だけＰＷＭ信号のパルス幅を長くすることにより、ＰＷＭ信号の分解能を向上することができる。このようにＰＷＭ信号のパルス幅、すなわちデューティ比は、コンペアレジスタ６２に設定されるコンペア値及び付加ビットレジスタ１６に設定される付加ビットに応じて決定される。この付加ビットはレジスタに保持される。付加ビットを保持する付加ビットレジスタはコンペアレジスタの一部を用いてもよく、あるいは、コンペアレジスタと別のレジスタを用いてもよい。
【００２７】
付加ビットによってパルス幅が長くなったＰＷＭ信号は図３に示すようになる。図３（ａ）はアップダウンカウンタによりカウント値を示す図である。図３（ｂ）はｕ１相のＰＷＭ信号を示す図であり、図３（ｃ）はｕ２相のＰＷＭ信号を示す図である。図３（ａ）に示すようアップダウンカウンタは所定のカウント数までのカウントアップと、所定のカウント数からのカウントダウンとを繰り返し交互に行う。これにより、図３（ａ）に示す三角波が生成される。図３（ａ）に示す横線はコンペアレジスタに保持されたコンペア値を示す。このコンペア値に基づいて、ＰＷＭ信号のパルス幅が決定される。すなわち、アップダウンカウンタのカウンタ値とコンペア値とを比較して、これらが一致するタイミングに基づいてパルス幅が決定される。
【００２８】
図３（ｂ）及び図３（ｃ）に示すようｕ１相とｕ２相のＰＷＭ信号の間には、両相のＰＷＭ信号が同時のオンしないようにデッドタイムｄが設けられている。すなわち、Ｔｒ５２がオフする時間はＴｒ５１がオンする時間よりも所定のデッドタイムだけ長く設定され、Ｔｒ５２がオフした後、Ｔｒ５１がオンして駆動電流が流れ、Ｔｒ５１がオフして駆動電流の供給を停止した後、Ｔｒ５２をオンする。これにより、過電流を防止している。
【００２９】
図３（ｂ）及び図３（ｃ）には、付加ビットによって、パルス幅が延長されているＰＷＭ信号が示されている。なお、付加ビットによって延長された部分は斜線によって示している。付加ビットが１のとき、ｕ１相及びｕ２相のＰＷＭ信号のパルス幅を１クロック文長くしている。すなわち、ｕ１相のＰＷＭ信号がハイとなるパルスの幅を延ばし、ｕ２相のＰＷＭ信号がローとなるパルスの幅を伸ばす。パルス幅が延長される時間は、アップダウンカウンタのクロックのパルス幅に対応している。このように、付加ビットに応じてＰＷＭ信号のパルス幅をクロック周期に対応する時間だけ延長することにより、ＰＷＭ信号の分解能を向上することができる。なお、本例では、デッドタイムを確保するために、正相と逆相のＰＷＭ信号のパルス幅を共に延ばしている。
【００３０】
例えば、アップダウンカウンタのカウント数をＭとし、ＰＷＭ信号を生成するためのレジスタ値をＮ（Ｍ＞Ｎ）とする。説明の明確化のため、デッドタイムを０とし、カウンタのクロック周期を１とする。付加ビットが０のとき、すなわち、パルス幅が延長されないときのＰＷＭ信号のパルス幅は２×（Ｍ−Ｎ）となる。一方、付加ビットが１のとき、すなわち、パルス幅が延長されたときのＰＷＭ信号のパルス幅はクロック周期だけ時間が延びて、２×（Ｍ−Ｎ）＋１となる。例えば、コンペア値が５０の際、付加ビットが０の時にパルス幅は１００となる場合、付加ビットが１となるとパルス幅が１０１となり、従来コンペア値１に対して２変化していたパルス幅を１変化させることができるため、カウンタの分解能と同じ分解能を持つＰＷＭ信号を生成することができ、ＰＷＭ信号のパルス幅のクロック周期ごとの調整が可能になり、モータ２０を高精度に制御することができる。
【００３１】
上記の付加ビットによってパルス幅を長くするためのＰＷＭ出力部１１の構成について図４を用いて説明する。図４はＰＷＭ出力部１１の回路構成の一例を示す図である。ＰＷＭ出力部１１はカウンタ６１とコンペアレジスタ６２が設けられている。さらに、ＰＷＭ出力部１１にはカウンタ６１とコンペアレジスタ６２との出力に基づいて一致信号６７を出力するコンパレータ６３とコンパレータ６３からの一致信号６７に基づいてｕ１相とｕ２相のＰＷＭ信号を生成するＰＷＭ信号生成回路８０とを備えている。カウンタ６１は例えば、１５ビットのアップダウンカウンタである。コンペアレジスタ６２はフィードバック制御部１８で設定された設定値が記憶される１６ビットのレジスタである。コンペアレジスタ６２の上位１５ビットがコンペア値となり、コンパレータ６３でカウンタ６１のカウンタ値と比較される。コンペアレジスタ６２のうちの最下位の１ビットが付加ビットである。すなわち、コンペアレジスタ６２の最下位ビットは、付加ビットが記憶される付加ビットレジスタ１６となる。この付加ビットはコンパレータによる比較には用いられない。すなわち、コンペアレジスタ６２のうち、カウンタのビット数と同じビット数の上位ビットがコンペア値となり、コンパレータ６３で比較される。フィードバック制御部１８において設定値が算出される毎に、コンペア値及び付加ビットが書き換えられる。そして、フィードバック制御部１８において次の設定値の算出が終わるまで、コンペア値及び付加ビットはレジスタに保持される。
【００３２】
コンパレータ６３はカウンタ６１のカウンタ値とカウンタ６１と同じビット数のコンペア値と比較して、一致信号６７を出力する。この一致信号６７はコンペア値とカウンタ値が一致したときハイとなり、異なるときはローとなる。すなわち、カウンタ値とコンペア値が一致したときに、ハイとなる一致信号６７がコンパレータ６３から出力される。コンパレータ６３からの一致信号６７はＡＮＤ回路（論理積回路）６４及びＡＮＤ回路６５に入力される。ＡＮＤ回路６４には、カウンタ６１がカウントアップ動作時を示すカウントアップ信号が入力され、ＡＮＤ回路６５にはカウンタ６１がカウントダウン動作時であることを示すカウントダウン信号が入力されている。カウントアップ信号はカウンタ６１がカウントアップ動作時にハイとなる信号であり、カウントダウン信号はカウンタ６１がカウントダウン動作時にハイとなる信号である。ＡＮＤ回路６４にはカウントアップ信号が入力されている。したがって、ＡＮＤ回路６４の出力はカウントアップ動作時において、カウンタ値とレジスタ値が一致したときにハイとなる信号が出力される。一方、ＡＮＤ回路６５にはカウンタ６１がカウント時であることを示すカウントダウン信号が入力されている。したがって、ＡＮＤ回路６４の出力はカウントダウン動作時において、カウンタ値とレジスタ値が一致したときにハイとなる信号が出力される。換言すると、ＡＮＤ回路６４の出力はカウントアップ動作時の一致信号６７となり、ＡＮＤ回路６５の出力はカウントダウン動作時の一致信号６７となる。
【００３３】
ＡＮＤ回路６４の出力はＲ−Ｓフリップフロップ回路７２のセット入力端子に入力される。ＡＮＤ回路６５の出力信号は、ディレイ６６及びＡＮＤ回路７０に入力される。ディレイ６６はＡＮＤ回路６５からの入力された信号をカウンタ６１のクロック周期だけ遅延してＡＮＤ回路６８に出力する。ＡＮＤ回路６８にはさらに付加ビットレジスタ１６に格納された付加ビットが入力される。一方、ＡＮＤ回路７０には付加ビットが反転され入力されている。
【００３４】
ＡＮＤ回路６５からの出力信号の遅延について以下に説明する。まず、付加ビットが０の場合について説明する。付加ビットが０のとき、ＡＮＤ回路６８の付加ビットレジスタ１６と接続された入力端子にはローが入力される。したがって、付加ビットが０の場合、ＡＮＤ回路６８の出力は一致信号６７にかかわらずローとなる。一方、付加ビットレジスタ１６からＡＮＤ回路７０への入力信号は反転回路６９を介して入力される。よって、ＡＮＤ回路７０のコンペアレジスタ６２と接続された入力端子にはハイが入力される。付加ビットが０の場合、カウントダウン動作時の一致信号６７がハイのときにＡＮＤ回路７０の出力はハイとなる。ＡＮＤ回路６８とＡＮＤ回路７０の出力はＯＲ回路（論理和回路）７１に入力される。したがって、ＡＮＤ回路７０の出力がハイのとき、ＯＲ回路７１の出力がハイとなる。このように、付加ビットが０の場合、ＡＮＤ回路７０の出力とＯＲ回路７１の出力が一致する。すなわち、付加ビットが０の場合、ＡＮＤ回路６５からの一致信号がハイのとき、ＯＲ回路７１の出力はハイとなる。
【００３５】
次に付加ビットが１の場合について説明する。付加ビットが１のとき、ＡＮＤ回路６８の一方の入力端子にはハイが入力される。したがって、付加ビットが１の場合、ＡＮＤ回路６５からの一致信号６７がハイのとき、ＡＮＤ回路６８の出力はハイとなる。一方、付加ビットレジスタ１６からＡＮＤ回路７０への入力信号は反転回路６９を介して入力される。よって、ＡＮＤ回路７０の一方の入力端子には、付加ビットレジスタ１６からローが入力される。ＡＮＤ回路７０の出力は、一致信号６７に係わらずローとなる。したがって、ＡＮＤ回路６８の出力がハイの時、ＯＲ回路７１の出力がハイとなる。このように、付加ビットが１の場合、ＡＮＤ回路６８の出力とＯＲ回路７１の出力が一致する。すなわち、付加ビットが１の場合、ＡＮＤ回路６５からディレイ６６を介してＡＮＤ回路６８に入力される一致信号６７がハイのとき、ＯＲ回路７１の出力はハイとなる。
【００３６】
このように付加ビットが１のとき、ＡＮＤ回路６５からの一致信号６７、すなわち、カウントダウン動作時における一致信号がディレイ６６によって遅延され、ＲＳフリップフロップ回路７２のリセット入力端子に入力される。一方、付加ビットが０のとき、ＡＮＤ回路６５からの一致信号６７すなわち、カウントダウン動作時における一致信号がディレイによって遅延されずにＲＳフリップフロップ回路７２のリセット入力端子に入力される。このように付加ビットレジスタ１６に保持されている付加ビットに応じて、カウントダウン動作時における一致信号６７をディレイ６６によって遅延するかしないかが選択されてＲＳフリップフロップ回路７２のリセット入力端子に入力される。
【００３７】
ここでＰＷＭ信号は、ＲＳフリップフロップ回路７２の出力に基づいて生成される。すなわち、ＲＳフリップフロップ回路７２の出力がｕ１相のＰＷＭ信号となり、ＲＳフリップフロップ回路７２の反転出力がｕ２相となる。なお、ＰＷＭ信号生成回路８０はさらに、デッドタイム生成回路７３を備えている。このデッドタイム生成回路７３は入力した信号の立ち上がりを２クロック周期分遅延させる。これにより、図３に示すようにｕ１相とｕ２相とのＰＷＭ信号の間で、デッドタイムが生成される。正相及び逆相の両方について付加ビットに応じてパルス幅を長くすることによって、デッドタイムを確保することができる。これにより、デッドタイムが不足して過電流が流れるのを防ぐことができる。
【００３８】
なお、上記の説明ではｕ１相とｕ２相のＰＷＭ信号について説明したが、ｖ相及びｗ相についても同様にＰＷＭ信号を生成することができる。このように、付加ビットレジスタ１６に保持された値に応じて、カウントダウン動作時における一致信号６７をディレイ６６で遅延するか否かを判別している。よって、１クロック周期に相当する時間だけＰＷＭ信号のパルス幅を長くすることができる。これにより、分解能を向上することができ、モータ２０を高精度で制御することができる。なお、上記の説明では、カウントダウン動作時における一致信号を遅延させたが、カウントアップ動作時における一致信号を遅延させてもよい。すなわち、カウントダウン動作時又はカウントアップ動作時のいずれかにおける一致信号を付加ビットに応じて遅延させることにより、クロック周期だけパルス幅を伸ばすことができる。このように付加ビットを用いることにより、ＰＷＭ信号のパルス幅を細かく制御することができる。
【００３９】
なお、上記の説明ではコンペアレジスタ６２の最下位ビットを付加ビットレジスタ１６としたが、付加ビットレジスタ１６はコンペアレジスタ６２と異なるレジスタによって構成してもよい。例えば、コンペアレジスタ６２をカウンタ６１のビット数と同じビット数を保持するレジスタとし、付加ビットレジスタ１６を１ビットのレジスタとする。これにより、カウンタ６１のクロック周波数を上げることなく、分解能を向上することができる。よって、消費電力を向上させることなく、分解能を向上させることができる。
【００４０】
また、付加ビットレジスタ１６をコンペアレジスタ６２の一部により実現することによって、ＭＣＵ１０が計算した設定値の一部をそのまま付加ビットレジスタ１６に書き込むことができるため、ソフトウェア負荷を軽減することができる。さらに、コンペアレジスタ６２においてコンパレータ６３で比較されない下位ビットを付加ビットとすることにより、付加ビット用のレジスタを新たに形成する必要がなくなるため、簡易な構成で分解能を向上することができる。
【００４１】
なお、上記の説明では付加ビットを１ビットとして説明したが、付加ビットを多ビットとすることも可能である。これについて図５を用いて説明する。付加ビットを多ビット化したＰＷＭ信号の波形の一例を示す図である。図５は付加ビットを２ビットとした場合のＰＷＭ信号を示している。図５（ａ）はアップダウンカウンタの信号波形、図５（ｂ）〜図５（ｅ）は付加ビットの値を変化させたときのＰＷＭ信号の波形を示す図である。
【００４２】
図５（ｂ）は２ビットの付加ビットが「００」のとき、図５（ｃ）は２ビットの付加ビットが「０１」のとき、図５（ｄ）は２ビットの付加ビットが「１０」のとき、図５（ｅ）は２ビットの付加ビットが「１１」のときにおけるＰＷＭ信号の波形を示している。ここで、図５にはアップダウンカウンタによる４周期分の三角波が示されており、それぞれの三角波におけるコンペア値を一定としている。
【００４３】
４つの三角波のそれぞれにおいて、コンペア値とカウンタ値とが比較され、ＰＷＭ信号が生成されている。すなわち、コンペア値とカウンタ値とに基づいてパルス幅が設定されている。そして、付加ビットの値に応じて、図５（ｂ）〜図５（ｅ）に示すようにパルス幅を変化させている。例えば、付加ビットが「１１」のとき、４つのＰＷＭ信号パルスのうち、３つのパルスでパルス幅が長くなっている。具体的には４パルスのうちの２パルス目、３パルス目及び４パルス目でパルス幅が延長されている。同様に、付加ビットが「１０」のとき、４つのＰＷＭ信号パルスのうち、２つのパルスでパルス幅が長くなっており、付加ビットが「０１」のとき、４つのＰＷＭ信号パルスのうち、１つのパルスでパルス幅が長くなっている。そして、付加ビットが「００」のとき、４つのＰＷＭ信号パルスのパルス幅がそのままである。このように、付加ビットに応じて、ＰＷＭ信号の複数のパルスの長さを変化させている。これにより、簡易な構成で分解能をより向上することができる。なお、付加ビットにより延長されるパルスの順番は図５に示す順番で限定されるものではない。
【００４４】
このようにクロック周期に対応するパルス幅の付加パルスをＰＷＭ信号の複数のパルスに分散して付加している。すなわち、ＰＷＭ信号の複数のパルスのうち、一部のパルスのパルス幅を長くしている。例えば、設定値の計算速度が遅く、計算時間がアップダウンカウンタの２カウント周期以上の時間となってしまう場合がある。この場合、各々のカウント周期において、コンペア値及び付加ビットの書き換えができなくなる。上記のように、付加ビットにより延長されるパルスを複数パルスのうちの一部とすることで、設定値のうちのより下位ビットを使用することができる。これにより、より分解能を向上することができる。したがって、コンペア値及び付加ビットの書き換え周期がアップダウンカウンタのカウント周期に比べて、長い場合であっても、より精度よくモータを制御することができる。もちろん、付加ビットのビット数は３ビット以上であってもよい。付加ビットのビット数はコンペア値及び付加ビットの書き換え周期に応じて設定することが可能である。２ビット以上の付加ビットは設定値の下位ビットを用いることができる。すなわち、設定値のうちカウンタ値の次からのビットを使用することができる。具体的にはアップダウンカウンタを１４ビットとし、設定値を１６ビットとすると付加ビットは下位２ビット、すなわち、１５ビット目と１６ビット目を用いることができる。もちろん、この場合、コンペア値は上位１４ビットである。
【００４５】
なお、実施の形態ではダウンカウント時にパルス幅を変更するものについて説明したが、アップカウント時に、パルス幅を変更するものであっても良い。その場合にも同様に、デッドタイムを維持するよう、正相及び逆相共にパルス幅を変更する。また、センサとしては、レゾルバ、ホールセンサ、電流センサ等種種のものを用いることが可能である。さらに、３相モータを例にして説明したが、カウンタとコンペア値とを比較してパルスを生成するものであればこれに限られない。また、アップダウンカウンタからＰＷＭ信号のパルス幅を生成するものについて説明したが、カウンタはどのようなカウンタであってもよく、付加ビットをつけることによってカウンタの分解能をこえた分解能を有するパルス幅を生成することも可能である。
【図面の簡単な説明】
【００４６】
【図１】本発明にかかるモータ制御装置が用いられたモータ制御システムの構成を示す図である。
【図２】本発明にかかるモータ制御装置に用いられたインバータ回路の構成の一例を示す図である。
【図３】本発明にかかるモータ制御装置に用いられたＰＷＭ出力部において生成されるＰＷＭ信号の一例を示す図である。
【図４】本発明にかかるモータ制御装置に用いられたＰＷＭ出力部の回路構成の一例を示す図である。
【図５】本発明にかかるモータ制御装置において、付加ビットを多ビット化したＰＷＭ信号の波形を示す図である。
【図６】従来のＰＷＭ出力部において生成されるＰＷＭ信号を示す図である。
【符号の説明】
【００４７】
１０  ＭＣＵ、１１  ＰＷＭ出力部、１６  付加ビットレジスタ、
１８  フィードバック制御部、２０  モータ、２１  センサ、
２３  インバータ回路、
５１  Ｔｒ、５２  Ｔｒ、５３  Ｔｒ、５４  Ｔｒ、５５  Ｔｒ、５６  Ｔｒ、
５７  Ｕ相の駆動電流、５８  Ｖ相の駆動電流、５９  Ｗ相の駆動電流、
６１  カウンタ、６２  コンペアレジスタ、
６３  コンパレータ、６４  ＡＮＤ回路、  ６５  ＡＮＤ回路、６６  ディレイ、
６７  一致信号、６８  ＡＮＤ回路、６９  反転回路、７０  ＡＮＤ回路、
７１  ＯＲ回路、７２  Ｒ―Ｓフリップフロップ回路、７３  デッドタイム生成部、
８０  ＰＷＭ信号生成回路
【図１】
0004837354.tif 000002
【図２】
0004837354.tif 000003
【図３】
0004837354.tif 000004
【図４】
0004837354.tif 000005
【図５】
0004837354.tif 000006
【図６】
0004837354.tif 000007