IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社デンソーの特許一覧

<>
  • 特許-モータ制御装置 図1
  • 特許-モータ制御装置 図2
  • 特許-モータ制御装置 図3
  • 特許-モータ制御装置 図4
  • 特許-モータ制御装置 図5
  • 特許-モータ制御装置 図6
  • 特許-モータ制御装置 図7
  • 特許-モータ制御装置 図8
  • 特許-モータ制御装置 図9
  • 特許-モータ制御装置 図10
  • 特許-モータ制御装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-09
(45)【発行日】2024-01-17
(54)【発明の名称】モータ制御装置
(51)【国際特許分類】
   H02P 6/16 20160101AFI20240110BHJP
   H02P 6/12 20060101ALI20240110BHJP
   H02P 29/028 20160101ALI20240110BHJP
【FI】
H02P6/16
H02P6/12
H02P29/028
【請求項の数】 6
(21)【出願番号】P 2020158009
(22)【出願日】2020-09-21
(65)【公開番号】P2022051610
(43)【公開日】2022-04-01
【審査請求日】2022-12-14
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】100106149
【弁理士】
【氏名又は名称】矢作 和行
(74)【代理人】
【識別番号】100121991
【弁理士】
【氏名又は名称】野々部 泰平
(74)【代理人】
【識別番号】100145595
【弁理士】
【氏名又は名称】久保 貴則
(72)【発明者】
【氏名】藤井 秀太
【審査官】島倉 理
(56)【参考文献】
【文献】特開2014-181544(JP,A)
【文献】特開2008-086180(JP,A)
【文献】特開2016-208731(JP,A)
【文献】特開2015-092795(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 6/16
H02P 6/12
H02P 29/028
(57)【特許請求の範囲】
【請求項1】
三相モータにおけるロータの位置を検出するための三つのホールセンサからセンサ信号が入力され、前記三相モータへの通電パターンを切り替えて前記三相モータを駆動制御するモータ制御装置であって、
三つの前記センサ信号の各組み合わせと複数の前記通電パターンとが前記ロータの位置ごとに関連付けられた通電パターン情報を記憶している記憶部(11b)と、
前記センサ信号と前記通電パターン情報とに基づいて前記三相モータへの前記通電パターンを切り替えて、前記三相モータを駆動制御する処理部(11a)と、を有し、
前記処理部は、
前記ホールセンサの故障を判定する故障判定部(S10、S11)と、
前記センサ信号を検出する信号検出部(S21a~S21c,S40a~S40c)と、
一つの前記ホールセンサのみの故障が検出された場合、故障が検出されていない二つの前記ホールセンサである正常センサの前記センサ信号と前記通電パターン情報とに基づいて前記三相モータを駆動制御する故障時駆動部(S13~S15)と、
前記処理部は、前記通電パターンの切り替えタイミング間の経過時間を予測する時間予測部(S22、S28)と、を有し、
前記故障時駆動部は、
前記通電パターン情報において前記ロータの位置の変化に対して前記正常センサの前記センサ信号が変化する場合、前記信号検出部で検出される前記正常センサの前記センサ信号が変化したタイミングで前記通電パターンを切り替え、
前記通電パターン情報において前記ロータの位置の変化に対して前記正常センサの前記センサ信号が変化しない場合、前回の前記通電パターンの切り替えタイミングから前記経過時間が経過したタイミングで前記通電パターンを切り替えるモータ制御装置。
【請求項2】
前記時間予測部は、前記切り替えタイミング間の時間を計測することで、前記経過時間を予測する請求項1に記載のモータ制御装置。
【請求項3】
前記時間予測部は、前記切り替えタイミング間の時間を複数回計測し、複数回計測した前記時間の平均値を算出することで、前記経過時間を予測する請求項1に記載のモータ制御装置。
【請求項4】
前記ホールセンサの故障が検出されなかった場合、三つの前記ホールセンサの前記センサ信号が変化したタイミングで、三つの前記ホールセンサの前記センサ信号と前記通電パターン情報とに基づいて前記三相モータを駆動制御する正常時駆動部(S12)を備えている請求項1~3のいずれか1項に記載のモータ制御装置。
【請求項5】
前記記憶部は、前記通電パターン情報として、三つの前記ホールセンサが正常の場合の正常時パターン情報と、一つの前記ホールセンサのみが故障の場合の故障時パターン情報とを記憶しており、
前記正常時駆動部は、前記通電パターン情報として前記正常時パターン情報を用い、
前記故障時駆動部は、前記通電パターン情報として前記故障時パターン情報を用いる請求項4に記載のモータ制御装置。
【請求項6】
前記三相モータが停止している場合、前記故障判定部で前記ホールセンサの故障を判定するために、前記三相モータを強制的に駆動制御する強制駆動部(S34)を備えている請求項1~5のいずれか1項に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モータ制御装置に関する。
【背景技術】
【0002】
モータ制御装置の一例として、特許文献1に開示されたスライドドア制御装置がある。スライドドアは、ブラシレスモータにより開閉駆動される。ブラシレスモータは、ロータの位置センサとしての三つのホールセンサが設けられている。
【0003】
スライドドア制御装置は、ドアECUと、ブラシレスモータを駆動するモータ駆動回路とを備えている。ドアECUは、速度制御部と、位置センサの故障を検出するセンサ故障検出部とを備えている。速度制御部は、位置センサが故障していない通常時に、第1の最大速度でブラシレスモータを駆動することによりスライドドアを高速で開閉する。また、速度制御部は、位置センサの故障検出時に、第1の最大速度よりも小さい第2の最大速度でブラシレスモータを駆動することによりスライドドアを低速で開閉する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2014-181544号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、スライドドア制御装置は、ホールセンサが故障した場合、ロータ位置を正しく認識できず、モータに誤った通電をしてしまう可能性がある。
【0006】
開示される一つの目的は、一つのホールセンサが故障した際でも適切に三相モータに通電できるモータ駆動装置を提供することである。
【課題を解決するための手段】
【0007】
ここに開示されたモータ制御装置は、
三相モータにおけるロータの位置を検出するための三つのホールセンサからセンサ信号が入力され、三相モータへの通電パターンを切り替えて三相モータを駆動制御するモータ制御装置であって、
三つのセンサ信号の各組み合わせと複数の通電パターンとがロータの位置ごとに関連付けられた通電パターン情報を記憶している記憶部(11b)と、
センサ信号と通電パターン情報とに基づいて三相モータへの通電パターンを切り替えて、三相モータを駆動制御する処理部(11a)と、を有し、
処理部は、
ホールセンサの故障を判定する故障判定部(S10、S11)と、
センサ信号を検出する信号検出部(S21a~S21c,S40a~S40c)と、
一つのホールセンサのみの故障が検出された場合、故障が検出されていない二つのホールセンサである正常センサのセンサ信号と通電パターン情報とに基づいて三相モータを駆動制御する故障時駆動部(S13~S15)と、
処理部は、通電パターンの切り替えタイミング間の経過時間を予測する時間予測部(S22、S28)と、を有し、
故障時駆動部は、
通電パターン情報においてロータの位置の変化に対して正常センサのセンサ信号が変化する場合、信号検出部で検出される正常センサのセンサ信号が変化したタイミングで通電パターンを切り替え、
通電パターン情報においてロータの位置の変化に対して正常センサのセンサ信号が変化しない場合、前回の通電パターンの切り替えタイミングから経過時間が経過したタイミングで通電パターンを切り替える。
【0008】
このように、モータ制御装置は、一つのホールセンサのみの故障が検出された場合に三相モータを駆動制御する故障時駆動部を備えている。このため、モータ制御装置は、一つのホールセンサが故障した場合でも適切に三相モータに通電できる。
【0009】
この明細書において開示された複数の態様は、それぞれの目的を達成するために、互いに異なる技術的手段を採用する。請求の範囲およびこの項に記載した括弧内の符号は、後述する実施形態の部分との対応関係を例示的に示すものであって、技術的範囲を限定することを意図するものではない。この明細書に開示される目的、特徴、および効果は、後続の詳細な説明、および添付の図面を参照することによってより明確になる。
【図面の簡単な説明】
【0010】
図1】実施形態におけるモータ制御装置の概略構成を示すブロック図である。
図2】実施形態におけるモータ制御装置の処理動作を示すフローチャートである。
図3】実施形態におけるU相ホールセンサ故障時のモータ制御装置の処理動作を示すフローチャートである。
図4】実施形態におけるコンペアマッチ割込み発生時のモータ制御装置の処理動作を示すフローチャートである。
図5】実施形態におけるU相ホールセンサ故障時のモータ制御装置の転流タイミングを示す図面である。
図6】実施形態におけるV相ホールセンサ故障時のモータ制御装置の処理動作を示すフローチャートである。
図7】実施形態におけるコンペアマッチ割込み発生時のモータ制御装置の処理動作を示すフローチャートである。
図8】実施形態におけるV相ホールセンサ故障時のモータ制御装置の転流タイミングを示す図面である。
図9】実施形態におけるW相ホールセンサ故障時のモータ制御装置の処理動作を示すフローチャートである。
図10】実施形態におけるコンペアマッチ割込み発生時のモータ制御装置の処理動作を示すフローチャートである。
図11】実施形態におけるW相ホールセンサ故障時のモータ制御装置の転流タイミングを示す図面である。
【発明を実施するための形態】
【0011】
以下において、図面を参照しながら、本開示を実施するための形態を説明する。本実施形態では、モータ制御装置をECU10に適用した例を採用する。ECU10は、例えば車両に搭載可能に構成されている。ECUは、Electronic Control Unitの略称である。
【0012】
<構成>
図1を用いて、ECU10の構成に関して説明する。ECU10は、車両に搭載された三相モータ30(M)と電気的に接続されている。そして、ECU10は、三相モータ30を駆動制御する。
【0013】
三相モータ30は、ブラシレスモータである。三相モータ30は、ECU10から駆動制御されて、例えば、スライドドア、冷却用途の電動ファン、電動ポンプなどを駆動する。しかしながら、駆動対象は、これに限定されない。
【0014】
三相モータ30は、ステータとロータとを備えている。ステータは、例えばY結線されたU相コイル、V相コイル、W相コイルの三つのコイルを有している。ロータは、例えば2極の永久磁石が取り付けられている。また、三相モータ30は、ロータの回転位置(位置、磁極位置)を検出する位置検出手段として三つのホールセンサ21~23を備えている。
【0015】
詳述すると、三相モータ30は、U相、V相、W相の各相に対応した三つのホールセンサ21~23が設けられている。符号21は、U相に対応したU相ホールセンサ(1HS)である。符号22は、V相ホールセンサ(2HS)である。符号23は、W相ホールセンサ(3HS)である。
【0016】
各ホールセンサ21~23は、例えば、ホール素子が組み込まれた集積回路(ホールIC)を採用できる。各ホールセンサ21~23は、ECU10と電気的に接続されている。各ホールセンサ21~23は、個別にセンサ信号(HSS)を出力する。つまり、U相ホールセンサは、U相センサ信号を出力する。V相ホールセンサは、V相センサ信号を出力する。W相ホールセンサは、W相センサ信号を出力する。
【0017】
ECU10は、マイコン11(MC)とドライバ回路12(DC)などを備えている。マイコン11は、少なくとも一つのCPU11aと少なくとも一つのメモリ装置11bとを備えている。さらに、マイコン11は、コンペアマッチタイマ11c(CMT)を備えている。
【0018】
マイコン11は、各ホールセンサ21~23と電気的に接続されている。よって、マイコン11は、三つのホールセンサ21~23のそれぞれから出力された三つのセンサ信号が入力される。また、マイコン11は、ドライバ回路12と電気的に接続されている。
【0019】
CPU11aは、処理部に相当する。CPU11aは、メモリ装置11bに記憶されているプログラムを実行することで各種演算処理を行う。CPU11aは、演算処理を行うことで、例えば、各ホールセンサ21~23の故障検知、ホールセンサレベル(HSL)の判定、転流タイミング制御(CTC)、時間の計測などを実行する。以下、ホールセンサレベルをセンサレベルとも称する。
【0020】
CPU11aは、各ホールセンサ21~23の故障検知として、各ホールセンサ21~23のHi固着故障を検知する。しかしながら、CPU11aは、Lo固着故障などを検知してもよい。
【0021】
CPU11aは、センサレベルの判定として、各センサ信号がH(ハイレベル)かL(ローレベル)かを判定する。なお、U相ホールセンサ21のセンサ信号のセンサレベルは、U相レベルと称する。V相ホールセンサ22のセンサ信号のセンサレベルは、V相レベルと称する。W相ホールセンサ23のセンサ信号のセンサレベルは、W相レベルと称する。
【0022】
CPU11aは、転流タイミング制御として、三相モータ30に対する通電パターンの切り替え制御と、その切り替えタイミングの制御を行う。CPU11aは、各センサレベルが変化したタイミングなどで、通電パターンを指示する制御信号をドライバ回路12に対して出力する。このようにして、CPU11aは、転流タイミング制御を行う。つまり、マイコン11は、CPU11aが転流タイミング制御を行うことで、三相モータ30の駆動制御を行う。
【0023】
CPU11aは、時間の計測として、例えばタイマなどを用いて電気角が60°進むのに要する時間を計測する。言い換えると、CPU11aは、タイマで計測された時間を取得する。この時間は、コンペアマッチ値として設定される。
【0024】
本実施形態では、一例として、ロータの位置が六つの区間を順番に移動するように転流タイミング制御する例を採用する。各区間は、電気角60°である。なお、マイコン11の処理動作に関しては、後ほど詳しく説明する。
【0025】
メモリ装置11bは、記憶部に相当する。メモリ装置11bは、記憶媒体として半導体メモリまたは磁気ディスクなどによって提供されうる。また、メモリ装置11bは、揮発性メモリと不揮発性メモリとを有している。メモリ装置11bは、通電パターン情報を記憶している。
【0026】
通電パターン情報は、図5に示すように、三つのセンサ信号の各組み合わせと複数の通電パターンとがロータの位置ごとに関連付けられている。詳述すると、通電パターン情報は、三つのセンサ信号のレベルの各組合せと通電パターンが関連付けられている。なお、図5では、U相ホールセンサ21がHi固着故障している例を示している。また、図5のカッコ内のレベル(L)は、U相ホールセンサ21が正常の場合に認識されるべきレベルである。
【0027】
第1区間(1sec)は、センサレベルの組み合わせHLLと第1通電パターン(1EP)とが関連付けられている。第2区間(2sec)は、センサレベルの組み合わせHLHと第2通電パターン(2EP)とが関連付けられている。第3区間(3sec)は、センサレベルの組み合わせLLHと第3通電パターン(3EP)とが関連付けられている。第4区間(4sec)は、センサレベルの組み合わせLHHと第4通電パターン(4EP)とが関連付けられている。第5区間(5sec)は、センサレベルの組み合わせLHLと第5通電パターン(5EP)とが関連付けられている。第6区間(6sec)は、センサレベルの組み合わせHHLと第6通電パターン(6EP)とが関連付けられている。
【0028】
コンペアマッチタイマ11cは、クロックをカウントするなどして時間を計測する。そして、コンペアマッチタイマ11cは、計測した時間(カウント値)と設定値とを比較して、一致すると割込みを発生させる。具体的には、コンペアマッチタイマ11cは、コンペアマッチ値が設定されると時間の計測を開始する。そして、コンペアマッチタイマ11cは、計測した時間とコンペアマッチ値とが一致した場合に、CPU11aに対して割込みを発生させる。コンペアマッチ値に関しては、後ほど詳しく説明する。
【0029】
ドライバ回路12は、スイッチング素子を有したインバータ回路を備えている。ドライバ回路12は、マイコン11(CPU11a)からの制御信号に応じて、三相モータ30の各相への通電を切り替える。ドライバ回路12は、三相モータ30における各相のコイルに対する駆動信号DSを出力する。
【0030】
<処理動作>
図2図11を用いて、ECU10の処理動作に関して説明する。ECU10は、三相モータ30の駆動指示が入力されると、図2のフローチャートに示す処理を開始する。なお、ECU10の処理は、主にCPU11aが実行する処理である。
【0031】
駆動指示は、例えば、ユーザが操作装置を操作することによって、操作装置からECU10に入力される。しかしながら、駆動指示は、ユーザに操作によらず、他のECUからECU10に入力されてもよい。
【0032】
ステップS10では、各ホールセンサの故障状態を取得する(故障判定部)。CPU11aは、故障状態として、各センサレベルを取得する。つまり、CPU11aは、故障状態を判定する情報として、各センサレベルを取得する。
【0033】
ステップS11では、各ホールセンサの故障を判定する(故障判定部)。CPU11aは、三つのホールセンサ21~23の故障を判定する。CPU11aは、例えば、各センサレベルが一定時間変化しない場合に、故障と判定する。言い換えると、CPU11aは、三つのホールセンサ21~23のうち、一定時間、センサレベルが変化しないホールセンサを故障と判定する。
【0034】
CPU11aは、三つのホールセンサ21~23のすべてが故障でないと判定した場合、全相正常とみなしてステップS12へ進む。CPU11aは、U相ホールセンサ21だけ故障と判定した場合、ステップS13へ進む。CPU11aは、V相ホールセンサ22だけ故障と判定した場合、ステップS14へ進む。CPU11aは、W相ホールセンサ23だけ故障と判定した場合、ステップS15へ進む。そして、CPU11aは、複数のホールセンサが故障と判定した場合、ステップS16へ進む。
【0035】
ステップS12では、三つのセンサレベルから転流タイミング制御を行う(正常時駆動部)。CPU11aは、三つのホールセンサ21~23の故障が検出されなかった場合、U相レベル、V相レベル、W相レベルから転流タイミング制御を行う。つまり、CPU11aは、三つのホールセンサ21~23のセンサ信号が変化したタイミングで、三つのホールセンサ21~23のセンサ信号と通電パターン情報とに基づいて三相モータ30を駆動制御する。
【0036】
詳述すると、CPU11aは、三つのセンサレベルを判定する。CPU11aは、三つのセンサレベルが変化すると、メモリ装置11bに記憶された通電パターン情報を参照する。つまり、CPU11aは、三つのセンサレベルの少なくとも一つのセンサレベルが変化すると通電パターン情報を参照する。なお、CPU11aは、三つのセンサレベルに基づいて、三相モータ30におけるロータの位置を推定するともいえる。
【0037】
CPU11aは、変化後の三つのセンサレベルに関連付けられた通電パターンを取得する。つまり、CPU11aは、通電パターンを示す情報を取得する。そして、CPU11aは、取得した通電パターンを指示する制御信号をドライバ回路12に対して出力する。ドライバ回路12は、CPU11aからの制御信号に応じて、三相モータ30の各相への通電を切り替える。このようにして、CPU11aは、転流タイミング制御を行う。言い換えると、マイコン11は、CPU11aが転流タイミング制御を行うことで、三相モータ30の駆動制御を行う。
【0038】
例えば、センサレベルの組み合わせがHLLからHLHに変化した場合、CPU11aは、センサレベルの組み合わせHLHに関連付けられた第2通電パターンを取得する。そして、CPU11aは、取得した第2通電パターンを指示する制御信号をドライバ回路12に対して出力する。ドライバ回路12は、CPU11aからの制御信号に応じて、第2通電パターンとなるように三相モータ30の各相への通電を切り替える。このように、CPU11aは、センサレベルの組み合わせがHLLからHLHに変化したタイミングで、三相モータ30への通電パターンを第1通電パターンから第2通電パターンへと切り替える。
【0039】
同様に、CPU11aは、センサレベルの組み合わせがHLHからLLHに変化したタイミングで第2通電パターンから第3通電パターンへと切り替える。CPU11aは、センサレベルの組み合わせがLLHからLHHに変化したタイミングで第4通電パターンへと切り替える。CPU11aは、センサレベルの組み合わせがLHHからLHLに変化したタイミング第5通電パターンへと切り替える。CPU11aは、センサレベルの組み合わせがLHLからHHLに変化したタイミング第6通電パターンへと切り替える。CPU11aは、センサレベルの組み合わせがHHLからHLLに変化したタイミング第1通電パターンへと切り替える。
【0040】
ステップS13では、V相レベルとW相レベルの二つのセンサレベルから転流タイミング制御を行う(故障時駆動部)。この場合、V相ホールセンサ22とW相ホールセンサ23が正常センサに相当する。正常センサは、故障が検出されていないホールセンサである。
【0041】
ステップS14では、U相レベルとW相レベルの二つのセンサレベルから転流タイミング制御を行う(故障時駆動部)。この場合、U相ホールセンサ21とW相ホールセンサ23が正常センサに相当する。
【0042】
ステップS15では、U相レベルとV相レベルの二つのセンサレベルから転流タイミング制御を行う(故障時駆動部)。この場合、U相ホールセンサ21とV相ホールセンサ22が正常センサに相当する。
【0043】
このように、CPU11aは、一つのホールセンサのみの故障が検出された場合、正常センサのセンサ信号(センサレベル)を用いて転流タイミング制御を行う。つまり、CPU11aは、正常センサのセンサレベルと通電パターン情報などに基づいて三相モータ30を駆動制御する。なお、ステップS13~S15の転流タイミング制御に関しては、後ほど詳しく説明する。
【0044】
ステップS16では、転流タイミング制御を行わない。CPU11aは、複数のホールセンサ21~23が故障している場合、ロータの位置を正確に推定できない。このため、CPU11aは、転流タイミング制御を行わない。つまり、CPU11aは、三相モータ30の駆動制御をやめる。なお、故障している複数のホールセンサ21~23は、複数のホールセンサ21~23における少なくとも二つである。
【0045】
CPU11aは、複数のホールセンサ21~23が故障していることを報知してもよい。この場合、CPU11aは、車両に設けられたインジケータ、表示装置、音声出力装置などに指示信号を出力し、これらの装置を介して報知する。つまり、CPU11aは、複数のホールセンサ21~23が故障していることをユーザに報知する。これによって、ECU10は、ホールセンサ21~23や三相モータ30の修理や交換をユーザに促すことができる。
【0046】
また、CPU11aは、無線通信装置を介して、複数のホールセンサ21~23が故障していることを報知してもよい。つまり、CPU11aは、車両の外部の作業者などに、複数のホールセンサ21~23が故障していることを報知する。この場合、CPU11aは、無線通信装置を介して、故障情報をセンター装置に送信する。これによって、ECU10は、センターの作業者に複数のホールセンサ21~23や三相モータ30が故障していることを知らせることができる。
【0047】
なお、センター装置は、車両の外部に設けられたセンターに設置された装置である。センター装置は、CPUやメモリ装置などを備えたコンピュータである。故障情報は、複数のホールセンサ21~23が故障していることを示す情報である。
【0048】
さらに、CPU11aは、故障情報をメモリ装置11bに記憶してもよい。この場合、メモリ装置11bは、記憶内容をECU10の外部から読み取り可能なものとする。よって、メモリ装置11bに記憶された故障情報は、工場やディーラなどにおいて、読み取り装置で読み取られる。これによって、ECU10は、工場やディーラなどの作業者に複数のホールセンサ21~23や三相モータ30が故障していることを知らせることができる。
【0049】
<U相ホールセンサ故障時>
ここで、図3図4図5を用いて、ステップS13における転流タイミング制御に関して説明する。ECU10は、U相ホールセンサ21のみ故障と判定した場合、図3のフローチャートに示す処理を開始する。
【0050】
ステップS20では、三相モータが停止中か否かを判定する。CPU11aは、制御信号を出力している場合に三相モータ30が停止中と判定せずにステップS21aへ進む。CPU11aは、制御信号を出力していない場合に三相モータ30が停止中と判定しステップS34へ進む。
【0051】
ステップS21aでは、V相レベルとW相レベルを判定する(信号検出部)。CPU11aは、V相レベルがHレベルかLレベルかを判定する。また、CPU11aは、W相レベルがHレベルかLレベルかを判定する。言い換えると、CPU11aは、センサ信号を検出する。
【0052】
CPU11aは、V相レベルがLレベルでW相レベルがLレベルと判定すると、ステップS22に進む。CPU11aは、V相レベルがLレベルでW相レベルがHレベルと判定すると、ステップS24に進む。CPU11aは、V相レベルがHレベルでW相レベルがHレベルと判定すると、ステップS28に進む。CPU11aは、V相レベルがHレベルでW相レベルがLレベルと判定すると、ステップS30に進む。
【0053】
ステップS22では、電気角60°の計測を開始する(時間予測部)。CPU11aは、電気角が60°進むのに要する時間を計測する。CPU11aは、実際のロータ位置の変化に対して、正常センサのセンサレベルが変化しない区間の切り替えタイミングを決めるために時間を計測する。
【0054】
CPU11aは、通電パターンの切り替えタイミング間の経過時間を予測するために電気角が60°進むのみ要する時間を計測する。つまり、CPU11aは、実際に通電パターンが切り替わり、次に通電パターンが切り替わるまでの経過時間を計測する。この電気角が60°進むのみ要する時間は、コンペアマッチ値として設定される値である。
【0055】
また、上記のように、CPU11aは、ロータの位置が電気角60°の区間を順番に移動するように転流タイミング制御する。このため、CPU11aは、通電パターンの切り替えタイミング間の経過時間を予測するともいえる。さらに、CPU11aは、区間計測を行うともいえる。
【0056】
しかしながら、本開示は、これに限定されない。CPU11aは、切り替えタイミング間の時間を複数回計測し、複数回計測した時間の平均値を算出することで、経過時間を予測してもよい。これによって、CPU11aは、正常センサのセンサレベルが変化しない区間の切り替えタイミングをより一層正確に決めることができる。
【0057】
ステップS23aでは、第1通電パターンとする(故障時駆動部)。CPU11aは、正常センサのセンサレベルと通電パターン情報とから通電パターンを取得(決定)する。この場合、CPU11aは、V相レベルがLレベルでW相レベルがLレベルであるため、第1通電パターンを取得する。CPU11aは、V相レベルがLレベル、W相レベルがLレベルに変化したタイミングで、第1通電パターンを指示する制御信号をドライバ回路12に対して出力する。これによって、CPU11aは、上記と同様に、転流タイミング制御を行う。
【0058】
なお、CPU11aは、例えば現在のセンサレベルもしくは現在のセンサレベルに相関する値を、一時的にメモリ装置11bに記憶しておく。これは、センサレベルの変化によって、通電パターンを切り替えるためである。CPU11aは、センサレベルの代わりに、現在の通電パターンや現在の区間を記憶してもよい。この場合、CPU11aは、現在の通電パターンや現在の区間から現在のセンサレベルを判定する。
【0059】
ステップS24では、区間計測中であるか否かを判定する。CPU11aは、ステップS22で区間計測中であるか否かを判定する。CPU11aは、区間計測中と判定するとステップS25へ進み、区間計測中と判定しないとステップS27aへ進む。
【0060】
ステップS25では、電気角60°時間を取得する。CPU11aは、ステップS22で計測を開始した電気角60°の時間を取得する。
【0061】
ステップS26では、コンペアマッチ値を設定する。CPU11aは、ステップS25で取得した電気角60°の時間をコンペアマッチ値として設定する。このとき、コンペアマッチタイマ11cは、時間の計測を開始する。
【0062】
ステップS27aでは、第2通電パターンとする(故障時駆動部)。CPU11aは、正常センサのセンサレベルと通電パターン情報とから通電パターンを取得する。つまり、CPU11aは、正常センサのセンサレベルの変化と通電パターン情報とから通電パターンを取得する。
【0063】
この場合、CPU11aは、V相レベルがLレベルで、W相レベルがLレベルからHレベルに変化しているため、第2通電パターンを取得する。CPU11aは、W相レベルがLレベルからHレベルに変化したタイミングで、第2通電パターンを指示する制御信号をドライバ回路12に対して出力する。これによって、CPU11aは、上記と同様に、転流タイミング制御を行う。このように、CPU11aは、通電パターン情報においてロータの位置の変化に対して正常センサのセンサ信号が変化する場合、ステップS21aで検出される正常センサのセンサ信号が変化したタイミングで通電パターンを切り替える。
【0064】
ステップS28は、ステップS22と同様である。
【0065】
ステップS29aでは、第4通電パターンとする(故障時駆動部)。CPU11aは、ステップS23aと同様、正常センサのセンサレベルと通電パターン情報とから通電パターンを取得する。この場合、CPU11aは、V相レベルがHレベルでW相レベルがHレベルであるため、第4通電パターンを取得する。CPU11aは、第4通電パターンを指示する制御信号をドライバ回路12に対して出力する。これによって、CPU11aは、上記と同様に、転流タイミング制御を行う。
【0066】
なお、CPU11aは、ステップS29aを実行する前に、後ほど説明するコンペアマッチ割込みでステップS41aを実行することになる。つまり、CPU11aは、第4通電パターンで転流タイミング制御を実行する前に、第3通電パターンで転流タイミング制御を実行している。よって、CPU11aは、V相レベルがLレベルからHレベルに変化しており、W相レベルがHレベルであるため、第4通電パターンを取得するといえる。また、CPU11aは、V相レベルがLレベルからHレベルに変化したタイミングで、第4通電パターンを指示する制御信号を出力する。コンペアマッチ割込みに関しては、後ほど詳しく説明する。
【0067】
ステップS30~S32は、ステップS24~S26と同様である。
【0068】
ステップS33aでは、第5通電パターンとする(故障時駆動部)。CPU11aは、ステップS27aと同様、正常センサのセンサレベルの変化と通電パターン情報とから通電パターンを取得する。
【0069】
この場合、CPU11aは、V相レベルがHレベルで、W相レベルがHレベルからLレベルに変化しているため、第5通電パターンを取得する。CPU11aは、W相レベルがHレベルからLレベルに変化したタイミングで、第5通電パターンを指示する制御信号をドライバ回路12に対して出力する。これによって、CPU11aは、上記と同様に、転流タイミング制御を行う。このように、CPU11aは、ステップS27aと同様、ステップS21aで検出される正常センサのセンサ信号が変化したタイミングで通電パターンを切り替える。
【0070】
ステップS34では、三相モータの起動シーケンスを実施する(強制駆動部)。CPU11aは、ホールセンサ21~23の故障を検出(判定)するために、強制的に三相モータ30を回転させる。これによって、ECU10は、三相モータ30が停止しているときであっても、三相モータ30を駆動させてホールセンサ21~23の故障を判定できる。
【0071】
図4を用いて、コンペアマッチ割込み処理に関して説明する。コンペアマッチタイマ11cは、ステップS26、S32でコンペアマッチ値が設定されると時間の計測を開始する。そして、コンペアマッチタイマ11cは、計測した時間とコンペアマッチ値とが一致した場合に、CPU11aに対して割込みを発生させる。よって、ECU10は、U相ホールセンサのみ故障と判定している際に、コンペアマッチ割込みが発生すると、図4のフローチャートに示す処理を開始する。
【0072】
ところで、コンペアマッチ値は、上記のように、通電パターンが切り替わり、次に通電パターンが切り替わるまでの経過時間である。CPU11aは、ステップS26でコンペアマッチ値を設定した場合、通電パターンを第2通電パターンとする。この場合、第3通電パターンへの切り替えるタイミングで、コンペアマッチ割込みが発生することになる。また、CPU11aは、ステップS32でコンペアマッチ値を設定した場合、通電パターンを第5通電パターンとする。この場合、第6通電パターンへの切り替えるタイミングで、コンペアマッチ割込みが発生することになる。
【0073】
ステップS40aは、ステップS21aと同様である。
【0074】
ステップS41aでは、第3通電パターンとする(故障時駆動部)。CPU11aは、ステップS23aと同様、正常センサのセンサレベルと通電パターン情報とから通電パターンを取得する。この場合、CPU11aは、コンペアマッチ割込みが発生し、V相レベルがLレベルで、W相レベルがHレベルであるため、第3通電パターンを取得する。CPU11aは、コンペアマッチ割込みが発生したタイミングで、第3通電パターンを指示する制御信号をドライバ回路12に対して出力する。
【0075】
ステップS42aでは、第6通電パターンとする(故障時駆動部)。CPU11aは、ステップS23aと同様、正常センサのセンサレベルと通電パターン情報とから通電パターンを取得する。この場合、CPU11aは、コンペアマッチ割込みが発生し、V相レベルがHレベルで、W相レベルがLレベルであるため、第6通電パターンを取得する。CPU11aは、コンペアマッチ割込みが発生したタイミングで、第6通電パターンを指示する制御信号をドライバ回路12に対して出力する。
【0076】
このように、CPU11aは、通電パターン情報においてロータの位置の変化に対して正常センサのセンサ信号が変化しない場合、前回の通電パターンの切り替えタイミングから経過時間が経過したタイミングで通電パターンを切り替える。つまり、CPU11aは、通電パターン情報においてロータの位置の変化に対して正常センサのセンサ信号が変化しない場合、経過時間に基づいて、強制的に通電パターンを切り替える。
【0077】
本実施形態では、ホールセンサ21~23が正常であっても故障が生じていても共通の通電パターン情報を用いて、通電パターンを取得している。しかしながら、本開示は、これに限定されない。本開示は、通電パターン情報として正常時パターン情報と故障時パターン情報とを用いて、通電パターンを取得してもよい。
【0078】
メモリ装置11bは、正常時パターン情報と故障時パターン情報とを記憶している。正常時パターン情報は、三つのホールセンサ21~23が正常の場合に用いる通電パターン情報である。正常時パターン情報は、上記の通電パターン情報と同様である。
【0079】
故障時パターン情報は、三つのホールセンサ21~23のうちの一つのホールセンサのみが故障の場合に用いる通電パターン情報である。故障時パターン情報は、正常センサのセンサ信号の組み合わせと通電パターンとが関連付けられている。つまり、故障時パターン情報は、正常時パターン情報から故障しているホールセンサのセンサ信号を除いたものである。よって、メモリ装置11bは、U相ホールセンサ21が故障しているとき用、V相ホールセンサ22が故障しているとき用、W相ホールセンサ23が故障しているとき用の三つの故障時パターン情報を記憶している。
【0080】
この場合、CPU11aは、三つのホールセンサ21~23が正常の場合に、正常時パターン情報を用いて通電パターンを取得する。CPU11aは、U相ホールセンサ21が故障している場合、U相ホールセンサ21が故障しているとき用の故障時パターン情報を用いて通電パターンを取得する。CPU11aは、V相ホールセンサ22が故障している場合、V相ホールセンサ22が故障しているとき用の故障時パターン情報を用いて通電パターンを取得する。CPU11aは、W相ホールセンサ23が故障している場合、W相ホールセンサ23が故障しているとき用の故障時パターン情報を用いて通電パターンを取得する。これによって、ECU10は、一つのホールセンサのみが故障の場合に、共通の通電パターン情報を用いるよりも容易に通電パターンを決めることができる。
【0081】
<V相ホールセンサ故障時>
次に、図6図7図8を用いて、ステップS14における転流タイミング制御に関して説明する。ECU10は、V相ホールセンサのみ故障と判定した場合、図6のフローチャートに示す処理を開始する。なお、図6のフローチャートでは、図3のフローチャートと同じ処理に同じステップ番号を付与している。ここでは、図3のフローチャートと異なる処理に関して説明する。
【0082】
図8では、V相ホールセンサ22がHi固着故障している例を示している。また、図8のカッコ内のレベル(L)は、V相ホールセンサ22が正常の場合に認識されるべきレベルである。
【0083】
ステップS21bでは、U相レベルとW相レベルを判定する(信号検出部)。CPU11aは、U相レベルがHレベルかLレベルかを判定する。また、CPU11aは、W相レベルがHレベルかLレベルかを判定する。言い換えると、CPU11aは、センサ信号を検出する。
【0084】
CPU11aは、U相レベルがHレベルでW相レベルがHレベルと判定すると、ステップS22に進む。CPU11aは、U相レベルがLレベルでW相レベルがHレベルと判定すると、ステップS24に進む。CPU11aは、U相レベルがLレベルでW相レベルがLレベルと判定すると、ステップS28に進む。CPU11aは、U相レベルがHレベルでW相レベルがLレベルと判定すると、ステップS30に進む。
【0085】
ステップS23b、S27b、S29b、S33bは、上記実施形態のステップS23a、S27a、S29a、S33aと類似している。しかしながら、ステップS23b、S27b、S29b、S33bは、上記実施形態と取得する通電パターンが異なる。
【0086】
ステップS23bでは、第2通電パターンとする(故障時駆動部)。CPU11aは、U相レベルがHレベルでW相レベルがHレベルであるため、第2通電パターンを取得する。また、CPU11aは、第2通電パターンで転流タイミング制御する前は、第1通電パターンで転流タイミングしている。このため、CPU11aは、W相レベルがLレベルからHレベルに変化しているため、第2通電パターンを取得する。CPU11aは、W相レベルがLレベルからHレベルに変化したタイミングで、第2通電パターンを指示する制御信号をドライバ回路12に対して出力する。
【0087】
ステップS27bでは、第3通電パターンとする(故障時駆動部)。CPU11aは、U相レベルがHレベルからLレベルに変化しており、W相レベルがHレベルであるため、第3通電パターンを取得する。CPU11aは、U相レベルがHレベルからLレベルに変化したタイミングで、第3通電パターンを指示する制御信号をドライバ回路12に対して出力する。
【0088】
ステップS29bでは、第5通電パターンとする(故障時駆動部)。CPU11aは、U相レベルがLレベルでW相レベルがLレベルであるため、第5通電パターンを取得する。
【0089】
なお、CPU11aは、ステップS29bを実行する前に、コンペアマッチ割込みでステップS41bを実行することになる。つまり、CPU11aは、第5通電パターンで転流タイミング制御を実行する前に、第4通電パターンで転流タイミング制御を実行している。
【0090】
よって、CPU11aは、U相レベルがLレベルであり、W相レベルがHレベルからLレベルに変化しているため、第5通電パターンを取得するといえる。また、CPU11aは、W相レベルがHレベルからLレベルに変化したタイミングで、第5通電パターンを指示する制御信号をドライバ回路12に対して出力する。
【0091】
ステップS33bでは、第6通電パターンとする(故障時駆動部)。CPU11aは、U相レベルがLレベルからHレベルに変化しており、W相レベルがLレベルであるため、第6通電パターンを取得する。CPU11aは、U相レベルがLレベルからHレベルに変化したタイミングで、第6通電パターンを指示する制御信号をドライバ回路12に対して出力する。
【0092】
次に、図7を用いて、コンペアマッチ割込み処理に関して説明する。ECU10は、V相ホールセンサのみ故障と判定している際に、コンペアマッチ割込みが発生すると、図7のフローチャートに示す処理を開始する。
【0093】
ステップS40bでは、ステップS21bと同様、U相レベルとW相レベルを判定する(信号検出部)。CPU11aは、U相レベルがLレベルでW相レベルがHレベルと判定すると、ステップS41bに進む。CPU11aは、U相レベルがHレベルでW相レベルがLレベルと判定すると、ステップS42bに進む。
【0094】
ステップS41b、S42bは、上記実施形態のステップS41a、S42aと類似している。しかしながら、ステップS41b、S42bは、上記実施形態と取得する通電パターンが異なる。
【0095】
ステップS41bでは、第4通電パターンとする(故障時駆動部)。CPU11aは、コンペアマッチ割込みが発生し、U相レベルがLレベルで、W相レベルがHレベルであるため、第4通電パターンを取得する。CPU11aは、コンペアマッチ割込みが発生したタイミングで、第4通電パターンを指示する制御信号をドライバ回路12に対して出力する。
【0096】
ステップS42bでは、第1通電パターンとする(故障時駆動部)。CPU11aは、コンペアマッチ割込みが発生し、U相レベルがHレベルで、W相レベルがLレベルであるため、第1通電パターンを取得する。CPU11aは、コンペアマッチ割込みが発生したタイミングで、第1通電パターンを指示する制御信号をドライバ回路12に対して出力する。
【0097】
<W相ホールセンサ故障時>
次に、図9図10図11を用いて、ステップS15における転流タイミング制御に関して説明する。ECU10は、W相ホールセンサのみ故障と判定した場合、図9のフローチャートに示す処理を開始する。なお、図9のフローチャートでは、図3のフローチャートと同じ処理に同じステップ番号を付与している。ここでは、図3のフローチャートと異なる処理に関して説明する。
【0098】
図11では、W相ホールセンサ23がHi固着故障している例を示している。また、図11のカッコ内のレベル(L)は、W相ホールセンサ23が正常の場合に認識されるべきレベルである。
【0099】
ステップS21cでは、U相レベルとV相レベルを判定する(信号検出部)。CPU11aは、U相レベルがHレベルかLレベルかを判定する。また、CPU11aは、V相レベルがHレベルかLレベルかを判定する。言い換えると、CPU11aは、センサ信号を検出する。
【0100】
CPU11aは、U相レベルがLレベルでV相レベルがLレベルと判定すると、ステップS22に進む。CPU11aは、U相レベルがLレベルでV相レベルがHレベルと判定すると、ステップS24に進む。CPU11aは、U相レベルがHレベルでV相レベルがHレベルと判定すると、ステップS28に進む。CPU11aは、U相レベルがHレベルでV相レベルがLレベルと判定すると、ステップS30に進む。
【0101】
ステップS23c、S27c、S29c、S33cは、上記実施形態のステップS23a、S27a、S29a、S33aと類似している。しかしながら、ステップS23c、S27c、S29c、S33cは、上記実施形態と取得する通電パターンが異なる。
【0102】
ステップS23cでは、第3通電パターンとする(故障時駆動部)。CPU11aは、U相レベルがLレベルでV相レベルがLレベルであるため、第3通電パターンを取得する。また、CPU11aは、第3通電パターンで転流タイミング制御する前は、第2通電パターンで転流タイミングしている。このため、CPU11aは、U相レベルがHレベルからLレベルに変化しているため、第3通電パターンを取得する。CPU11aは、U相レベルがHレベルからLレベルに変化したタイミングで、第3通電パターンを指示する制御信号をドライバ回路12に対して出力する。
【0103】
ステップS27cでは、第4通電パターンとする(故障時駆動部)。CPU11aは、V相レベルがLレベルからHレベルに変化しており、U相レベルがLレベルであるため、第4通電パターンを取得する。CPU11aは、V相レベルがLレベルからHレベルに変化したタイミングで、第4通電パターンを指示する制御信号をドライバ回路12に対して出力する。
【0104】
ステップS29cでは、第6通電パターンとする(故障時駆動部)。CPU11aは、U相レベルがHレベルでV相レベルがHレベルであるため、第6通電パターンを取得する。
【0105】
なお、CPU11aは、ステップS29cを実行する前に、コンペアマッチ割込みでステップS41cを実行することになる。つまり、CPU11aは、第6通電パターンで転流タイミング制御を実行する前に、第5通電パターンで転流タイミング制御を実行している。
【0106】
よって、CPU11aは、U相レベルがLレベルからHレベルに変化しており、V相レベルがHレベルであるため、第6通電パターンを取得するといえる。また、CPU11aは、V相レベルがLレベルからHレベルに変化したタイミングで、第6通電パターンを指示する制御信号をドライバ回路12に対して出力する。
【0107】
ステップS33cでは、第1通電パターンとする(故障時駆動部)。CPU11aは、V相レベルがHレベルからLレベルに変化しており、U相レベルがHレベルであるため、第1通電パターンを取得する。CPU11aは、V相レベルがHレベルからLレベルに変化したタイミングで、第1通電パターンを指示する制御信号をドライバ回路12に対して出力する。
【0108】
次に、図10を用いて、コンペアマッチ割込み処理に関して説明する。ECU10は、W相ホールセンサのみ故障と判定している際に、コンペアマッチ割込みが発生すると、図10のフローチャートに示す処理を開始する。
【0109】
ステップS40cでは、ステップS21cと同様、U相レベルとV相レベルを判定する(信号検出部)。CPU11aは、U相レベルがLレベルでV相レベルがHレベルと判定すると、ステップS41cに進む。CPU11aは、U相レベルがHレベルでV相レベルがLレベルと判定すると、ステップS42cに進む。
【0110】
ステップS41c、S42cは、上記実施形態のステップS41a、S42aと類似している。しかしながら、ステップS41c、S42cは、上記実施形態と取得する通電パターンが異なる。
【0111】
ステップS41cでは、第5通電パターンとする(故障時駆動部)。CPU11aは、コンペアマッチ割込みが発生し、U相レベルがLレベルで、V相レベルがHレベルであるため、第5通電パターンを取得する。CPU11aは、コンペアマッチ割込みが発生したタイミングで、第5通電パターンを指示する制御信号をドライバ回路12に対して出力する。
【0112】
ステップS42cでは、第2通電パターンとする(故障時駆動部)。CPU11aは、コンペアマッチ割込みが発生し、U相レベルがHレベルで、V相レベルがLレベルであるため、第2通電パターンを取得する。CPU11aは、コンペアマッチ割込みが発生したタイミングで、第2通電パターンを指示する制御信号をドライバ回路12に対して出力する。
【0113】
<効果>
このように、ECU10は、一つのホールセンサのみの故障が検出された場合、正常センサのセンサ信号と通電パターン情報とに基づいて三相モータ30を駆動制御する。つまり、ECU10は、通電パターン情報においてロータの位置の変化に対して正常センサのセンサ信号が変化する場合、正常センサのセンサ信号が変化したタイミングで通電パターンを切り替える。また、ECU10は、通電パターン情報においてロータの位置の変化に対して正常センサのセンサ信号が変化しない場合、前回の通電パターンの切り替えタイミングから経過時間が経過したタイミングで通電パターンを切り替える。このため、ECU10は、一つのホールセンサのみが故障した場合でも、適切に三相モータ30に通電できる。
【0114】
また、三相モータ30は、三相モータ30の停止が車両の停止に直結するものもある。しかしながら、ECU10は、ホールセンサの一つのみが故障した場合でも、三相モータ30を駆動制御できる。よって、ECU10は、ホールセンサの一つのみが故障した場合でも、車両が停止してしまうことを抑制できる。
【0115】
以上、本開示の好ましい実施形態について説明した。しかしながら、本開示は、上記実施形態に何ら制限されることはなく、本開示の趣旨を逸脱しない範囲において、種々の変形が可能である。
【0116】
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態が本開示に示されているが、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範畴や思想範囲に入るものである。
【符号の説明】
【0117】
10…ECU、11…マイコン、11a…CPU、11b…メモリ装置、11c…コンペアマッチタイマ、12…ドライバ回路、21…U相ホールセンサ、22…V相ホールセンサ、23…W相ホールセンサ、30…三相モータ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11