(57)【要約】      （修正有）【課題】コイル電流に比例した電圧が精度良く得られる期間でのみサンプリングでき、デジタル制御を行う場合、良い制御精度が得られるモータ駆動装置の制御方法を提供する。【解決手段】電流検出抵抗の端子間に発生する電圧をサンプリングし、その電圧をデジタル値にAD変換するAD変換部を備え、AD変換部は、複数のスイッチング素子のうち少なくとも２つがON状態となり、モータコイルにパルス状の電圧が印加され始めるまでの遅延時間Tdly1が経過し、さらに、モータコイルにパルス状の電圧が印加され始めてから電流検出抵抗の端子間電圧に発生するリンギングが収束するまでの時間Tnoiseが経過し、さらに、ゼロ以上の任意の時間Txが経過した時刻tad_sにサンプリングを行う。【選択図】図２−１
2010074902.tif 000002
【特許請求の範囲】
【請求項１】
入力された信号を、その大きさに応じたパルス幅の信号に変調して出力するPWM変調部と、該PWM変調部が出力するパルス信号によってON/OFFが切り替えられ、モータコイルにパルス状の電圧を印加する複数のスイッチング素子と、該複数のスイッチング素子とグラウンド電位との間、もしくは電源電位との間に接続され、前記モータコイルに流れる電流を検出する電流検出抵抗と、ある時刻に、前記電流検出抵抗の端子間に発生する電圧をサンプリングし、その電圧をデジタル値にAD変換するAD変換部とを備えて成るモータ駆動装置に適用する、モータ駆動装置の制御方法において、
前記AD変換部がサンプリングを行うある時刻とは、
前記複数のスイッチング素子のうち少なくとも２つがON状態となり、前記モータコイルにパルス状の電圧が印加され始めるまでの遅延時間が経過し、
さらに、前記モータコイルにパルス状の電圧が印加され始めてから前記電流検出抵抗の端子間電圧に発生するリンギングが収束するまでの時間が経過し、
さらに、ゼロ以上の任意の時間が経過した時刻であることを特徴とするモータ駆動装置の制御方法。
【請求項２】
ある時刻において演算開始指令を受けると制御演算を開始し、別のある時刻において演算を完了して演算結果である制御信号を出力するプロセッサと、
別のある時刻において前記制御信号を受け取ると、その大きさに応じたパルス幅の信号に変調して出力するPWM変調部と、
該PWM変調部が出力するパルス信号によってON/OFFが切り替えられ、モータコイルにパルス状の電圧を印加する複数のスイッチング素子と、
前記複数のスイッチング素子とグラウンド電位との間、もしくは電源電位との間に接続され、前記モータコイルに流れる電流を検出する電流検出抵抗と、
別のある時刻において、前記電流検出抵抗の端子間に発生する電圧をサンプリングし、その電圧をデジタル値に変換するAD変換部とを備えて成るモータ駆動装置に適用する、モータ駆動装置の制御方法であって、
前記プロセッサが行う制御演算とは、前記AD変換部によってデジタル化された前記モータコイルに流れる電流値に基づいた制御を行う演算を含み、
前記AD変換部がサンプリングを行うある時刻とは、
前記複数のスイッチング素子のうち少なくともふたつがON状態となり、前記モータコイルにパルス状の電圧が印加され始めるまでの遅延時間が経過し、
さらに、前記モータコイルにパルス状の電圧が印加され始めてから前記電流検出抵抗の端子間電圧に発生するリンギングが収束するまでの時間が経過し、
さらに、ゼロ以上の任意の時間が経過した時刻であり、
前記プロセッサが演算開始指令を受ける時刻とは、前記AD変換部がAD変換を完了する時刻以降であり、
前記PWM変調部が制御信号を受け取る時刻とは、前記プロセッサが制御演算を完了する時刻以降であり、且つ、次回のPWM周期が開始する時刻以前であることを特徴とするモータ駆動装置の制御方法。
【請求項３】
請求項１または請求項２記載のモータ駆動装置の制御方法において、
前記PWM変調部がパルスを出力している期間は、少なくとも、
前記複数のスイッチング素子がON状態になった直後に前記電流検出抵抗の端子間電圧に発生するリンギングが収束するまでの時間と、
ゼロ以上の任意の時間を合わせた時間以上であることを特徴とするモータ駆動装置の制御方法。
【請求項４】
前記PWM変調部に入力された信号の大きさが、PWM変調後にパルス幅が請求項３に記載の条件を満たすことが出来ない大きさであった場合においては、
当該回のPWM周期におけるパルス信号の出力は行わず、且つ、当該回には前記モータコイルに流れる電流のサンプリングおよび制御演算を行わず、
その代わりに次回のPWM周期において、当該回に出力するはずであったパルスの幅を請求項３に記載の条件を満たすように延長した上で出力することを特徴とするモータ駆動装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ駆動装置の制御方法に関し、特に、PWM駆動手段によりモータコイルに電流供給する場合に、コイル電流に比例した電圧が精度良く得られる期間でのみサンプリングでき、得られた電流に基づいてデジタル制御を行う場合、良い制御精度を得るようにしたモータ駆動装置の制御方法に関する。
【背景技術】
【０００２】
モータ駆動装置においてモータコイルに流れる電流を測定するには、電流流路の途中に検出用の抵抗を挿入し、その抵抗の両端子間に発生する電圧に変換して間接的に得るのが一般的である。
図７にモータコイル電流検出を行う回路の構成例を示す。ここではHブリッジ形などと呼ばれる構成で説明するが、特にこの構成に限ることではない。
図中の10は、モータの電機子巻線コイル（モータコイル）である。
20,21,22,23は外部からの指示によってON/OFF状態の切り替えが行われるスイッチング素子であり、電源(Vcc)とモータコイル10とグラウンド(GND)の間に複数個設け、モータコイル10に通電する電流を調整するものである。具体的には、トランジスタやFETなどの半導体素子で実現される。
【０００３】
各スイッチング素子と並列に接続されているダイオード24,25,26,27は、回生ダイオードや還流ダイオードなどと呼ばれるものである。このダイオードの動作については後述する。
スイッチング素子21,23とグラウンドとの間に接続された抵抗素子が、電流検出抵抗30である。図示しないが、スイッチング素子20,22と電源との間に電流検出抵抗を接続する場合もある。
この構成で、例えばスイッチング素子20,23をON(導通)状態とし、スイッチング素子21,22をOFF(開放)状態とした場合の電流は、電源→スイッチング素子20→モータコイル10→スイッチング素子23→電流検出抵抗30→グラウンド、という順に流れることになる。つまり、モータコイル10に流れる電流と、電流検出抵抗30に流れる電流は等しいということになる。
電流検出抵抗30の両端子間に発生する電圧を測定すれば、電流検出抵抗30に流れる電流をオームの法則から知ることができ、それはつまりモータコイル10に流れる電流を知ることに他ならない。
【０００４】
ところで、図７に示すような単一電源(Vcc)の構成でモータコイル10に印加する電圧を可変とするための手段として、PWM(Pulse Width Modulation：パルス幅変調)駆動という手段が広く使用されている。この駆動手段は、モータコイル10に電圧を印加する時間を調整することで、平均印加電圧を変えるものである。(変調周期をTpwm、変調周期のうち電圧を印加している期間をTonとすれば、平均印加電圧は Vcc*(Ton/Tpwm) となる)
このPWM駆動を行うために設けたられたのが、図７のPWM変調部40である。PWM変調部40は、入力信号の大きさに応じて、換言すれば、モータコイルに印加したい電圧値に応じて、出力する信号のパルス幅を変調する。前述したスイッチング素子20, 21, 22, 23のON/OFF状態は、このPWM変調部40の出力信号によって切り替えられるものである。
【０００５】
図８、図９と併せて、図７の構成でPWM駆動を行った場合の電流について詳しく説明する。
図８は、PWM駆動中の電流流路を示している。ここでは、スイッチング素子21, 22は常時OFF、スイッチング素子23は常時ON、そしてスイッチング素子20のみPWM状にON/OFFを切り替えるものとする。もちろん、この組み合わせ以外のON/OFF状態でもコイルに電流を供給することはできるが、PWM駆動中に電流検出抵抗30で検出される電流については変わらないので、説明は省略する。
【０００６】
図９は、PWM駆動中の各所波形を示している。横軸は時間軸であり、ある時刻を小文字"t"で、ある期間を大文字"T"で表現することとする。
PWM変調の行われる周期をPWM周期と呼び、図９においては時刻t0からt0'までの期間Tpwmがそれに該当する。PWM周期はある一定の期間で繰り返すのが一般的であるが、可変とする場合もある。どちらの場合であっても説明に支障はない。
【０００７】
図９(A)はPWM変調部40からスイッチング素子に対して出力されるPWM信号で、今回の場合は特に、スイッチング素子20に対して出力されるものである。
図９(B)はモータコイル10に流れる電流の波形であり、図中に記した"右向"とは、図７や図８に描いたモータコイル10の左側から右側へ向かう電流が流れることを意味する。
図９(C)は電流検出抵抗30の端子間電圧の波形を示している。電流検出抵抗30の一端がGNDと接続されているので、図７や図８に描いた電流検出抵抗30に上側から下側に向かう電流が流れたときに、プラス電圧が検出される。
t0以降のある時刻ton_sにおいてPWM信号がHighとなってスイッチング素子20はON状態となり、モータコイル10にパルス状の電圧が印加され始める。ただし、PWM信号がHighとなってからモータコイル10に実際に電圧が印加され始めるまでには、遅延Tdly1が生じる。遅延が発生する原因およびその長さは、スイッチング素子の動作特性によるところが大である。
【０００８】
スイッチング素子20がON状態である期間の電流流路は、図８(イ)中に太い矢印で示したように、電源→スイッチング素子20→モータコイル10→スイッチング素子23→電流検出抵抗30→グラウンド、の順となる。
この期間においては、図９(B)に示すように、モータコイル10に右向きに流れる電流が時間とともに増加していく。(仮にスイッチング素子20をON状態のままにしておくとすれば、この電流は一定値に漸近する)
時刻ton_sから、入力信号の大きさに従って変調された期間Tonだけ経過した時刻ton_eにおいて、PWM信号がLowとなってスイッチング素子20はOFF状態となり、モータコイル10への電圧の印加が終了する。このスイッチングの際にも遅延Tdly2が発生する。(Tdly1=Tdly2とは限らない)
【０００９】
スイッチング素子20がOFF状態となると、電源からモータコイル10に電流を供給する経路が絶たれてしまうが、モータコイル10が自身に流れる電流を維持するために逆起電圧を発生させ、この逆起電圧によってダイオード25が順方向にバイアスされて導通し、図８(ロ)に太い矢印で示したような、モータコイル10→スイッチング素子23→ダイオード25→モータコイル10→…と、循環する電流流路が形成される。
モータコイル10の抵抗成分やスイッチング素子のON抵抗などによる熱損失で、この電流は完全には維持されないので、図９(B)に示すように徐々に減少していくことになる。
結局、PWM駆動を行った場合に電流検出抵抗30で検出される電圧は図９(C)のようになる。
【００１０】
スイッチング素子20がON状態である期間はコイル電流に比例した電圧が得られるが、スイッチング素子20がOFF状態である期間は、コイル電流が電流検出抵抗30に流れないので検出電圧はゼロとなり、コイル電流を知ることが出来ない。
それだけでなく、モータコイル10に電圧を印加し始めた直後の検出電圧にはリンギングが発生するため、コイル電流を精度良く知ることが出来ない。(リンギングは電気回路の伝送路上に存在するインダクタンス成分や容量成分などなどが原因で発生する。リンギングの大きさや収束するまでに要する時間Tnoiseも、電気回路に依存する)
よって、図７に示すようなモータコイル電流検出回路の構成で、且つPWM駆動手段を使用する場合においては、コイル電流に比例した電圧が精度良く得られる期間においてのみ、電流検出抵抗の端子間に発生する電圧をサンプリングするような工夫をする必要があると言える。
【００１１】
次に、検出した電流をモータ制御に利用することについて説明する。特に、マイコンやDSP(Digital Signal Processor)などといったプロセッサで演算を行う、デジタル制御方式について説明する。
図１０に、検出電流を利用したモータ制御を行う回路の構成例を示す。図７と重複する部分については、同一の符号を付与している。
モータコイル電流は電流検出抵抗30で電圧値に変換された後、さらにAD変換器50でデジタル値に変換される。
プロセッサ60は、このデジタル化された電流値に基づいた演算を含む、いくつかの制御演算を行い、その結果であるところの制御信号をPWM変調部40に対して出力する。
PWM変調部40は制御信号の大きさに応じて出力する信号のパルス幅を変調し、スイッチング素子のON/OFF状態を切り替え、これによりモータコイル10にパルス状の電圧が印加され、電流が流れる。
【００１２】
ここで、プロセッサ60による制御演算の結果をもとにPWM変調部40が変調を行うことに注目する。このような方式をとる場合、プロセッサ60が演算を行う周期とPWM変調部40の変調周期との関係により、制御精度に影響が出る。
このことについて図１１を用いて説明を加える。
前述したように、PWM変調部40はPWM周期Tpwmで変調動作を繰り返す。PWM周期は一定でも可変でも良い。
一方でプロセッサ60が演算を行う周期は、ある一定の周期であるタイプか、ある特定のイベントの発生を開始トリガとするタイプが一般的である。また、1回の演算に必要な時間Topは、演算内容やプロセッサ60の性能によるが、ここの説明ではPWM周期に比べて短いとする(Top<Tpwm)。
【００１３】
PWM変調部40では、あるPWM周期が開始する直前の時刻の制御信号を参照して、そのPWM周期におけるパルスの幅に反映すると決める。ただし、あるPWM周期が開始する直前の時刻においてプロセッサ60がまさに演算中で制御信号が確定していないときは、前回のPWM周期で参照した制御信号を今回のPWM周期のパルス幅に再度適用することにする。
図１１(イ)は、プロセッサ60が演算を行う周期がPWM周期に比べて長い場合の様子を示している。この場合、1回の演算結果が複数回のPWM周期において参照される。これは制御の頻度が少ないということなので制御精度の点で劣り、また、出力が振動的になってしまうおそれもある。
【００１４】
図１１(ロ)は、演算周期とPWM周期が同じ程度である場合の様子を示している。これならば出力が毎回更新されるので、精度良い制御を期待できる。
図１１(ハ)は、演算周期がPWM周期よりも短い場合の様子を示している。この場合、演算結果を出力に反映する機会が不足する。制御精度の点で言えば図１１(ロ)のときと同等の性能が得られるであろうが、このようにする意味はない。
結局、プロセッサ60の演算周期とPWM変調部40の変調周期とを同じ程度にしたうえ、あるPWM周期における演算結果をその次の回のPWM周期に反映するのが良い。そのためには、PWM変調部40が参照する時刻において、制御信号が最新の値で確定しているように注意を払う必要がある。(今回の例ならば、PWM周期が開始する直前までには演算が終了しているようにする)
【００１５】
【特許文献１】特許第３９５９１３１号公報
【特許文献２】特開平０７−０４３９６０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
前述した内容をまとめると、次の２点が課題である。
課題１：図７の電流検出回路の構成で且つPWM駆動手段を使用する場合、コイル電流に比例した電圧が精度良く得られる期間でのみサンプリングするようにしなければならない。
課題２：得られた電流に基づいてデジタル制御を行う場合、良い制御精度を得るには、演算を行うタイミングとPWM変調を行うタイミングとの関係に注意しなければならない。
課題1を解決すべく、前記特許文献１に記載のものでは、PWM信号の立下りに同期してサンプリングを行うことを提案している。このようにすることで、スイッチング素子がON状態にしてモータコイルに電圧を印加し始めた直後に発生するリンギングの影響を回避することを狙っているようである。
【００１７】
しかし、この方法を適用したとしても精度良く検出できない状況がある。その状況を図１２で説明する。
図１２(イ)では、PWM信号のパルス幅Tonが細くなった状況(＝スイッチング素子をON状態としておく期間が短くなった状況)を示している。
発生するリンギングの大きさや収束までに要する時間Tnoiseは、回路の伝送路上に存在するインダクタンス成分や容量成分に依存するものであり、PWM信号のパルス幅とは無関係である。言い換えれば、PWM信号のパルス幅が太くても細くても、回路が同じであれば発生するリンギングの大きさは変わらないということである。
このため図１２(イ)の場合では、PWM信号が立ち下がる時刻ton_eに同期してサンプリングを行ったとしてもその時点ではリンギングが十分に収束しておらず、電圧を精度良く検出することが出来ないことになる。
【００１８】
また図１２(ロ)では、PWM信号がHighとなってからモータコイルに電圧が印加され始めるまでの遅延Tdly1が長い状況を示している。
遅延の長さはスイッチング素子の動作特性によるところが大きいので、使用するスイッチング素子が決まっているならば遅延を短くすることは出来ない。
図１２(ロ)の場合では、PWM信号が立ち下がる時刻ton_eにおいてはまだ電圧の印加が開始されてすらおらず、全く検出することが出来ないことになる。
【００１９】
課題２については、前記特許文献１に記載のものでは考慮されていない。
得られたコイル電流に基づいた制御を行う周期がPWM周期に比べてはるかに遅く、特に問題とならないとしている。精度がそれほど必要とならないような制御を行わせるものと思われる。
【００２０】
本発明は上記の問題を解決すべくなされたものであり、PWM駆動手段によりモータコイルに電流供給する場合に、コイル電流に比例した電圧が精度良く得られる期間でのみサンプリングでき、得られた電流に基づいてデジタル制御を行う場合、良い制御精度を得るようにしたモータ駆動装置の制御方法の提供を目的とする。
【課題を解決するための手段】
【００２１】
この目的を達成するために請求項1記載の発明は、入力された信号を、その大きさに応じたパルス幅の信号に変調して出力するPWM変調部(図１の40)と、該PWM変調部が出力するパルス信号によってON/OFFが切り替えられ、モータコイル（10）にパルス状の電圧を印加する複数のスイッチング素子(20,21,22,23)と、該複数のスイッチング素子とグラウンド電位との間、もしくは電源電位との間に接続され、前記モータコイルに流れる電流を検出する電流検出抵抗(30)と、ある時刻に、前記電流検出抵抗の端子間に発生する電圧をサンプリングし、その電圧をデジタル値にAD変換するAD変換部(50)とを備えて成るモータ駆動装置に適用する、モータ駆動装置の制御方法において、
前記AD変換部がサンプリングを行うある時刻(図２のtad_s)とは、
前記複数のスイッチング素子のうち少なくとも２つがON状態となり、前記モータコイルにパルス状の電圧が印加され始めるまでの遅延時間(Tdly1)が経過し、
さらに、前記モータコイルにパルス状の電圧が印加され始めてから前記電流検出抵抗の端子間電圧に発生するリンギングが収束するまでの時間(Tnoise)が経過し、
さらに、ゼロ以上の任意の時間(Tx)が経過した時刻であることを特徴とする。
【００２２】
また、請求項２記載の発明は、ある時刻(図４のtop_s)において演算開始指令を受けると制御演算を開始し、別のある時刻(top_e)において演算を完了して演算結果である制御信号を出力するプロセッサ(図３の60)と、
別のある時刻(tfin)において前記制御信号を受け取ると、その大きさに応じたパルス幅の信号に変調して出力するPWM変調部(40)と、
該PWM変調部が出力するパルス信号によってON/OFFが切り替えられ、モータコイル（10）にパルス状の電圧を印加する複数のスイッチング素子(20, 21, 22, 23)と、
前記複数のスイッチング素子とグラウンド電位との間、もしくは電源電位との間に接続され、前記モータコイルに流れる電流を検出する電流検出抵抗(30)と、
別のある時刻(tad_s)において、前記電流検出抵抗の端子間に発生する電圧をサンプリングし、その電圧をデジタル値に変換するAD変換部(50)とを備えて成るモータ駆動装置に適用する、モータ駆動装置の制御方法であって、
前記プロセッサが行う制御演算とは、前記AD変換部によってデジタル化された前記モータコイルに流れる電流値に基づいた制御を行う演算を含み、
前記AD変換部がサンプリングを行うある時刻(tad_s)とは、
前記複数のスイッチング素子のうち少なくともふたつがON状態となり、前記モータコイルにパルス状の電圧が印加され始めるまでの遅延時間(Tdly1)が経過し、
さらに、前記モータコイルにパルス状の電圧が印加され始めてから前記電流検出抵抗の端子間電圧に発生するリンギングが収束するまでの時間(Tnoise)が経過し、
さらに、ゼロ以上の任意の時間(Tx)が経過した時刻であり、
前記プロセッサが演算開始指令を受ける時刻(top_s)とは、前記AD変換部がAD変換を完了する時刻(tad_e)以降であり、
前記PWM変調部が制御信号を受け取る時刻(tfin)とは、前記プロセッサが制御演算を完了する時刻(top_e)以降であり、且つ、次回のPWM周期が開始する時刻(t0')以前であることを特徴とする。
【００２３】
また、請求項３記載の発明は、請求項１または請求項２記載のモータ駆動装置の制御方法において、
前記PWM変調部がパルスを出力している期間(図５のTon)は、少なくとも、
前記複数のスイッチング素子がON状態になった直後に前記電流検出抵抗の端子間電圧に発生するリンギングが収束するまでの時間(Tnoise)と、
ゼロ以上の任意の時間(Tx)を合わせた時間以上であることを特徴とする。
【００２４】
また、請求項４記載の発明は、前記PWM変調部に入力された信号の大きさが、PWM変調後にパルス幅が請求項３に記載の条件を満たすことが出来ない大きさであった場合においては、
当該回のPWM周期におけるパルス信号の出力は行わず、且つ、当該回には前記モータコイルに流れる電流のサンプリングおよび制御演算を行わず、
その代わりに次回のPWM周期において、当該回に出力するはずであったパルスの幅を請求項３に記載の条件を満たすように延長した上で出力することを特徴とする（図６参照）。
【発明の効果】
【００２５】
請求項１記載の発明によれば、前記課題１を解決することが出来る。つまり、電流検出抵抗30の端子間電圧のサンプリングを行う時刻tad_sは、PWM信号のパルス幅Tonとは無関係になり、さらにこの時刻tad_sは、スイッチングの遅延やリンギングの影響を考慮して設定した時刻であるので、精度良く電圧値をサンプリングすることが出来る。
請求項２記載の発明によれば、前記課題２を解決することが出来る。つまり、あるPWM周期における制御演算結果をその次の回のPWM周期に確実に反映させて、良い制御精度を得ることが出来る。
【００２６】
請求項３記載の発明によれば、PWM変調部40の出力パルスが細すぎて電流検出抵抗30の端子間電圧を検出できないという事態を避けられる。
請求項４記載の発明によれば、請求項３で決めた下限値に従いつつも、擬似的に(平均的に)細いパルスを出力することが出来る。
【発明を実施するための最良の形態】
【００２７】
以下、本発明を図示の実施形態に基いて説明する。
[第1の実施形態]
第１の実施形態では、前述の課題1を解決すべく、検出抵抗両端に発生する電圧をサンプリングするタイミングを任意の時刻に固定するようにした。
第1の実施形態のモータ駆動装置の構成の一例を図１に示す。図７と重複する部分については、同一の符号を付与している。
PWM変調部40Aは、変調部41とタイマ42を備えている。
変調部41は、入力信号の大きさに応じて、出力する信号のパルス幅、すなわちスイッチング素子をON状態とする期間Tonを決定する。
タイマ42は、外部からの設定値に従ってPWM変調周期Tpwmを定める。さらに、変調部41で決定したパルス幅Tonの経過を計測する。さらに、外部からの設定値によって指定された時刻において、AD変換部50に対してAD変換開始を指示する。
【００２８】
次に、第1の実施形態のモータ駆動装置の動作を図２−１〜図２−３で説明する。
あるPWM周期の開始時刻をt0とし、この時刻t0以降の時刻ton_sにおいて、PWM変調部40AはPWM信号出力をHighにする。
外部からの設定値によって定めた時刻tad_sにおいて、タイマ42はAD変換部50に対してAD変換開始を指示し、これを受けてAD変換部50は電流検出抵抗30の端子間に発生する電圧をサンプリングし、AD変換を行う。
【００２９】
この時刻tad_sは、次の条件を満足するような時刻に決定する。
PWM変調部40AがPWM信号をHighとしてから、モータコイル10にパルス状の電圧が印加され始めるまでの遅延時間をTdly1とする。
さらに、電圧が印加され始めてから電流検出抵抗30の端子間電圧に発生するリンギングが収束するまでの時間をTnoiseとする。
さらに、リンギングが収束してからゼロ以上の任意の時間Txが経過したとする。
このとき、tad_s=ton_s+ΔT (ただし、ΔT=Tdly1+Tnoise+Tx) となる時刻に決定する。すなわち、PWM信号の立上がりの時刻から、スイッチング時の遅延と、リンギングが収束する時間と、任意の時間が経過した時刻において、電圧のサンプリングを行うように決めたということである。
【００３０】
このようにすれば、図２−１、図２−２に示すように、サンプリングを行う時刻tad_sはPWM信号のパルス幅Tonとは無関係になる。
この時刻tad_sは、スイッチングの遅延やリンギングの影響を考慮して設定した時刻であるので、精度良く電圧値をサンプリングすることが出来る。
さらに、図２−３に示すように、スイッチング素子などの回路構成が変更になってリンギングの大きさやスイッチング時の遅延時間が変わった場合でも、その分だけΔTの値を変更することで対応可能である。
【００３１】
[第２の実施形態]
本実施形態では、前述の課題２を解決すべく、種々の動作を実行するタイミングを決めている。
本実施形態のモータ駆動装置の構成を図３に示す。図１０と重複する部分については、同一の符号を付与している。
PWM変調部40Aは、変調部41とタイマ42を備えている。
変調部41は、プロセッサ60から受け取った制御信号(=制御演算結果)の大きさに応じて、出力する信号のパルス幅、すなわちスイッチング素子をON状態とする期間Tonを決定する。
タイマ42は、外部からの設定値に従ってPWM変調周期Tpwmを定める。さらに、変調部41で決定したパルス幅Tonの経過を計測する。さらに、外部からの設定値によって指定された時刻において、AD変換部50に対してAD変換開始を指示し、その後AD変換が終了した際には、AD変換部50からAD変換終了の報告を受け取る。さらに、プロセッサ60に対して演算開始を指示し、その後演算が終了した際には、プロセッサ60から演算終了の報告を受け取る。
【００３２】
本実施形態のモータ駆動装置の動作を図７0で説明する。
あるPWM周期の開始時刻をt0、その次の回PWM周期の開始時刻をt0'、PWM周期をTpwmとする。
時刻ton_sにおいてPWM変調部40AがPWM信号出力をHighとし始め、時刻ton_eにおいて出力を終了してLowに戻すとする。出力をHighとしている期間は、前述したが、変調部41が決定したTonである。
外部からの設定値によって定めた時刻tad_sにおいて、タイマ42はAD変換部50に対してAD変換開始を指示し、これを受けてAD変換部50は電流検出抵抗30の端子間に発生する電圧をサンプリングし、AD変換を行う。その後AD変換が終了した時刻tad_eにおいて、AD変換部50はタイマ42に対してAD変換終了を報告する。指示から報告までの、AD変換に要する時間をTadとする。
【００３３】
時刻top_sにおいて、タイマ42はプロセッサ60に対して演算開始を指示し、これを受けてプロセッサ60は電流値に基づく制御を含んだ制御演算を行う。その後演算が終了した時刻top_eにおいて、プロセッサ60はタイマ42に対して演算終了を報告する。指示から報告までの、制御演算に要する時間をTopとする。
時刻tfinにおいて、変調部41がプロセッサ60から制御信号(=制御演算結果)を受け取るとする。
【００３４】
前述の時刻tad_sは、次の条件を満足するような時刻に決定する。
PWM変調部40AがPWM信号をHighとしてから、モータコイル10にパルス状の電圧が印加され始めるまでの遅延時間をTdly1とする。
さらに、電圧が印加され始めてから電流検出抵抗30の端子間電圧に発生するリンギングが収束するまでの時間をTnoiseとする。
さらに、リンギングが収束してからゼロ以上の任意の時間Txが経過したとする。
このとき、tad_s=ton_s+ΔT (ただし、ΔT=Tdly1+Tnoise+Tx) となる時刻に決定する。(これは第１の実施形態と同じ)
【００３５】
さらに加えて、tad_e < top_s < top_e < tfin < t0' という条件を満たすように、時刻top_sおよびtfinを決定する。(top_eは、top_sが決まれば top_e=top_s+Top となる)
すなわち、AD変換が完了してから制御演算を開始し、制御演算が完了したら次回PWM周期が始まる前までに制御信号をPWM変調部40Aへ渡すということである。
このようにすれば、あるPWM周期における制御演算結果をその次の回のPWM周期に確実に反映させて、良い制御精度を得ることが出来る。
なお、PWM周期Tpwm、AD変換時間Tad、演算時間Topについては、Tad, Top < Tpwm であるとしている。(これを満たすようなTpwmにするとも言える)
またこれらの期間は一定でなくとも構わないが、その場合は最長のTad、最長のTop、最短のTpwmを見込んで設定を行う必要がある。
【００３６】
[第３の実施形態]
本実施形態では、PWM変調部40Aが出力するパルス幅の下限値を決めている。
第１および第２の実施形態のモータ駆動装置の制御方法であっても、PWM変調部40Aから出力されるPWM信号のパルス幅があまりに細すぎる場合には、正しく検出をすることが出来なくなってしまう。
そのときの様子を、図５(ロ)に示す。
PWM信号のパルス幅が細すぎたため、サンプリングを行う時刻tad_sにおいては既にモータコイル10へ電圧の印加が終了しており、電流検出抵抗30の端子間電圧はゼロになってしまっている。
そこで、PWM信号のパルス幅に下限値(最短パルス幅)を設ける。
【００３７】
PWM変調部40AがPWM信号出力をHighとしている期間をTonとする。
スイッチング素子がON状態となってモータコイル10に電圧が印加され始めてから、電流検出抵抗30の端子間電圧に発生するリンギングが収束するまでの時間をTnoiseとする。
さらに、リンギングが収束してからゼロ以上の任意の時間Txが経過したとする。
このとき、Ton≧Tnoise+Tx であるように、Tonを制限することにした。すなわち、下限値をTnoise+Txに定めることにする。
この様子を図５(イ)に示す。
このようにすれば、サンプリングを行う時刻tad_sにおいては確実にモータコイル10に電圧が印加されているので、電流検出抵抗30の端子間電圧を検出できないという事態を避けることが出来る。
【００３８】
なお、ゼロ以上の任意の時間Txを小さくするほど下限値が小さくなり、より細いパルスのPWM信号を出力できることになるが、Txはリンギングが収束する時間Tnoiseに対して余裕を持たせている時間といえるので、あまりTxを小さくすると検出精度の点で劣ってくるおそれがあるので注意する。
また、下限値の設定方法に関しては、プロセッサ60の出力(＝演算結果)に下限値を設けるようなソフトウェア処理をしても良いし、PWM変調部40Aが出力パルス幅を制限するようなハードウェア機能を持っていても良い。
【００３９】
[第４の実施形態]
本実施形態では、PWM変調部40Aが出力しようとするパルス幅が下限値よりも細い場合に、その細いパルスを擬似的に出力する方法を提示している。
前記第３の実施形態のモータ駆動装置の制御方法ではPWM変調部40Aが細すぎるパルスを出力しないように制限することで、電流検出抵抗30の端子間電圧を確実に検出できるようにした。
しかし、モータ制御中に細いパルスを出力したい状況(例えばモータ回転を減速したときなど)において、全く出力できないのは不都合である。
そこで、前記第３の実施形態で決めた下限値に従いつつ、擬似的に細いパルスを出力する方法を示す。
【００４０】
本実施形態のモータ駆動装置の動作を図６で説明する。
前記第３の実施形態と同様に、PWM変調部40AがPWM信号出力をHighとしている期間Tonについては Ton≧Tnoise+Tx という条件を満たさねばならない。
あるPWM周期1においてPWM変調部40Aに入力された信号は、その大きさに従ってPWM変調を行うとパルス幅Ton1が得られるが、Ton1＜Tnoise+Txとなってしまうとする。
この場合、PWM周期1においてはPWM変調部40Aにパルスを全く出力させないようにしたうえ、なお且つ、PWM周期1においてはAD変換部50にはサンプリングさせず、プロセッサ60には演算をさせないようにする。(前回のA/D結果や演算結果を保持させておく)
その代わりに次回のPWM周期2において、PWM変調部40に Ton2＞Tnoise+Tx(＞Ton1) を満たすべくTon1よりも延長したパルス幅Ton2を持つPWM信号を出力させることにする。PWM周期2では、サンプリングや演算は通常通り行う。
【００４１】
このようにすれば、２回分のPWM周期における出力パルス幅の平均値を下限値よりも細くすることが出来る。つまり、擬似的に細いパルスを出力していることになる。
参考までに、Ton1を延長してTon2にする簡単な例を示しておく。
Tonの下限値は、50であるとする。
PWM周期1において Ton1=30 の場合、下限値よりも小さいのでPWM周期1では出力を行わない。その代わりPWM周期2において、Ton2=2*Ton1=60 として下限値より大きくした、Ton2を出力する。すると２回分のPWM周期における出力の平均値は (0+60)/2=30 となる。
つまり、Ton1を２倍してPWM周期2で出力するようにしている。２倍しても下限値よりも小さいTon1の場合には、今回も次回も出力せず、代わりに次々回PWM周期にて3倍して出力し、３回分のPMW周期で平均してみるといった方法も容易に考えられる。
【図面の簡単な説明】
【００４２】
【図１】本発明の第１の実施形態のモータ駆動装置の構成図である。
【図２−１】同第１の実施形態の動作説明図であって、PWMパルスが太いときびの図である。
【図２−２】同第１の実施形態の動作説明図であって、PWMパルスが細いときの図である。
【図２−３】同第１の実施形態の動作説明図であって、遅延時間が長いときの図である。
【図３】本発明の第２の実施形態のモータ駆動装置の構成図である。
【図４】同第２の実施形態の動作説明図である。
【図５】同第３の実施形態の動作説明図であって、（イ）はTon＝Tnoise+Txのとき（下限）、（ロ）はTon＜Tnoise+Txのときの図である。
【図６】同第４の実施形態の動作説明図である。
【図７】従来のモータ電流検出回路の構成図である。
【図８】従来のモータ電流検出回路でモータコイルの電流経路を示す図であって、（イ）はスイッチング素子がОＮ状態のとき、（ロ）はスイッチング素子がОＦＦ状態のときの電流経路である。
【図９】従来のモータ電流検出回路でPWM駆動中の各所の波形図である。
【図１０】従来の電流検出を利用したモータ制御回路の構成図である。
【図１１】従来の電流検出を利用したモータ制御回路における演算周期とPWM周期との関係を示す図であって、（イ）は演算周期がPWM周期より長い場合、（ロ）は演算周期とPWM周期とが同じ程度の場合、（ハ）は演算周期がPWM周期より短い場合である。
【図１２】従来の電流検出を利用したモータ制御回路におけるPWMの立下りでサンプリングする場合を示す図であって、（イ）はPWMパルスが細いとき、（ロ）は遅延時間が長いときである。
【符号の説明】
【００４３】
10…電機子巻線コイル（モータコイル）
20,21,22,23…スイッチング素子
24,25,26,27…ダイオード
30…電流検出抵抗
40A…PWM変調部
41…変調部
42…タイマ
50…ＡＤ変換部
60…プロセッサ
【図１】
2010074902.tif 000003
【図２−１】
2010074902.tif 000004
【図２−２】
2010074902.tif 000005
【図２−３】
2010074902.tif 000006
【図３】
2010074902.tif 000007
【図４】
2010074902.tif 000008
【図５】
2010074902.tif 000009
【図６】
2010074902.tif 000010
【図７】
2010074902.tif 000011
【図８】
2010074902.tif 000012
【図９】
2010074902.tif 000013
【図１０】
2010074902.tif 000014
【図１１】
2010074902.tif 000015
【図１２】
2010074902.tif 000016