(57)【要約】【課題】マイコンの処理負荷の増大を抑制しつつ、目的の回転量となるようにモータを制御することができるモータ駆動制御装置を提供すること。【解決手段】モータ駆動制御装置は、モータ３００を駆動制御するものであり、集積回路１００とマイコン２００とを備えている。集積回路１００とマイコン２００とは、別体に設けられており、複数の通信線ＣＬ１〜ＣＬ３で接続されており、複数の通信線ＣＬ１〜ＣＬ３を介して信号を伝達することができる。マイコン２００は、モータ３００における回転量の目標値である目標回転量を集積回路１００に指示する。一方、集積回路１００は、マイコン２００から目標回転量を取得するとともに、モータ３００の回転パルスを取得し、回転パルスと目標回転量とに基づいて、回転量が目標回転量となるようにモータ３００を駆動制御する。【選択図】図２
2020005419.tif 000002
【特許請求の範囲】
【請求項１】
モータを駆動制御するモータ駆動制御装置であって、
前記モータにおける回転量の目標値を指示するマイコン（２００、２００ａ）と、
前記マイコンと別体に設けられ、前記マイコンから前記目標値を取得するとともに、前記モータの回転パルスを取得し、前記回転パルスと前記目標値とに基づいて、前記回転量が前記目標値となるように前記モータを駆動制御する集積回路（１００、１００ａ）と、を備えたモータ駆動制御装置。
【請求項２】
前記マイコンと前記集積回路は、異なる搭載環境に配置されており、
前記集積回路は、高温となる前記搭載環境に配置され、
前記マイコンは、前記集積回路が配置された前記搭載環境よりも低温の前記搭載環境に配置される請求項１に記載のモータ駆動制御装置。
【請求項３】
前記集積回路は、前記回転量が前記目標値となるように前記モータを駆動制御する際に、前記モータの回転速度を減速させる減速制御と、前記モータの回転速度を減速させない通常制御とを含み、前記モータの回転速度を基に前記減速制御を開始するタイミングを演算する請求項１または２に記載のモータ駆動制御装置。
【請求項４】
前記集積回路は、前記モータが必要な前記回転量だけ回った後、前記モータの回転を停止させる停止制御を一定時間行う請求項１乃至３のいずれか１項に記載のモータ駆動制御装置。
【請求項５】
前記集積回路は、前記モータの回転状況を前記マイコンに対して通知する請求項１乃至４のいずれか１項に記載のモータ駆動制御装置。
【請求項６】
前記マイコンと前記集積回路は、複数の信号線で接続されており、
前記マイコンは、複数の前記信号線を介して送信した複数の信号の組み合わせによって前記指示を行う請求項１乃至５のいずれか１項に記載のモータ駆動制御装置。
【請求項７】
前記マイコンと前記集積回路は、信号線で接続されており、
前記マイコンは、前記信号線を介して、暗号化した信号を前記集積回路に送信することで、前記指示を行う請求項１乃至６のいずれか１項に記載のモータ駆動制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、モータ駆動制御装置に関する。
【背景技術】
【０００２】
従来、特許文献１に開示されているように、モータ駆動制御装置の一例として、簡単で停止精度の高いアクチュエータを提供することを目的とした技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１１７７７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、例えば３相ブラシレスモータを使用したシフトバイワイヤシステムなど、モータ回転量自体に精度が求められるシステムがある。このようなシステムでは、マイコンがモータ回転数パルスをカウントすることでモータの回転量を把握し、目的の回転量となるように制御することが考えられる。このため、このシステムでは、回転量を把握して目的の回転量となるように制御するフィードバック周期が速い場合、回転量の制御がマイコンの処理負荷の増大に繋がるという問題がある。
【０００５】
本開示は、上記問題点に鑑みなされたものであり、マイコンの処理負荷の増大を抑制しつつ、目的の回転量となるようにモータを制御することができるモータ駆動制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本開示は、
モータを駆動制御するモータ駆動制御装置であって、
モータにおける回転量の目標値を指示するマイコン（２００、２００ａ）と、
マイコンと別体に設けられ、マイコンから目標値を取得するとともに、モータの回転パルスを取得し、回転パルスと目標値とに基づいて、回転量が目標値となるようにモータを駆動制御する集積回路（１００、１００ａ）と、を備えたことを特徴とする。
【０００７】
このように、本開示は、マイコンと集積回路とが別体に設けられている。そして、本開示は、集積回路が、取得した目標値と回転パルスに基づいて、回転量が目標値となるようにモータを駆動制御する。このため、本開示のマイコンは、モータを駆動制御する際に、目標値を指示すればよく、モータの回転パルスを取得したり、回転量が目標値となるようにモータを駆動制御したりする必要がない。従って、本開示は、マイコンの処理負荷の増大を抑制しつつ、目的の回転量となるようにモータを制御することができる。
【０００８】
なお、特許請求の範囲、及びこの項に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【０００９】
【図１】実施形態におけるモータ駆動制御装置の概略構成を示すブロック図である。
【図２】実施形態における集積回路の概略構成を示すブロック図である。
【図３】実施形態におけるマイコンによる処理動作を示すフローチャートである。
【図４】実施形態における集積回路による処理動作を示すフローチャートである。
【図５】実施形態における集積回路による実回転量の算出処理を示すフローチャートである。
【図６】実施形態における集積回路による減速開始残回転量の演算処理を示すフローチャートである。
【図７】実施形態における集積回路による回転方向の算出処理を示すフローチャートである。
【図８】実施形態における集積回路による情報通知処理を示すフローチャートである。
【図９】実施形態におけるモータ駆動制御装置における制御状態と残回転量及び減速開始残回転量との関係を示すグラフである。
【図１０】変形例１における集積回路の概略構成を示すブロック図である。
【図１１】変形例１におけるモータ駆動制御装置による暗号化と復号化の一例を示す説明図である。
【発明を実施するための形態】
【００１０】
以下において、図面を参照しながら、本開示を実施するための形態を説明する。
【００１１】
まず、図１、図２を用いて、モータ駆動制御装置の構成に関して説明する。なお、モータ駆動制御装置の処理動作に関しては、後程説明する。
【００１２】
本実施形態では、一例として、モータ３００を駆動制御して、車両における駆動レンジの切替制御を行うモータ駆動制御装置を採用する。よって、モータ駆動制御装置は、例えば、モータ３００を駆動制御して、駆動レンジをＰレンジ、Ｒレンジ、Ｎレンジ、Ｄレンジにおいて切り替える。このため、モータ駆動制御装置は、シフトレンジ制御装置と言い換えることもできる。また、本実施形態では、モータ３００の一例として、３相ブラシレスモータを採用する。
【００１３】
しかしながら、本開示は、これに限定されない。モータ駆動制御装置は、モータを駆動制御するものであれば適用できる。さらに、モータ３００は、３相ブラシレスモータ以外のモータであっても採用できる。
【００１４】
図１、図２に示すように、モータ駆動制御装置は、集積回路１００と、マイコン２００とを備えている。また、集積回路１００とマイコン２００は、信号線ＣＬで接続されており、信号線ＣＬを介して信号の送受信（伝達）を行う。詳述すると、集積回路１００とマイコン２００は、図２に示すように、信号線ＣＬとしての第１信号線ＣＬ１〜第３信号線ＣＬ３を介して接続されている。本開示は、複数の信号線ＣＬ１〜ＣＬ３を通信として束ねることで、ワイヤハーネスの本数を低減できる。
【００１５】
さらに、モータ駆動制御装置は、モータ３００及びホールセンサ４００と電気的に接続されている。モータ３００は、インバータなどを備えているモータ駆動回路３１０を介して、集積回路１００と接続されている。また、モータ３００は、例えば、シャフトを介してシフトレンジ切替機構と機械的に接続されている。シフトレンジ切替機構は、シャフトが機械的に接続されシャフトを回転軸として回転可能なディテントプレートなどを含んでいる。シャフトは、モータ３００のロータと機械的に接続されている。よって、シフトレンジ切替機構（ディテントプレート）は、モータ３００の回転がシャフトを介して伝達される。ディテントプレートの動きは、駆動力伝達部に伝達される。モータ駆動制御装置は、モータ３００を回転させて駆動レンジ切替機構及び駆動力伝達部を動作させることで、駆動レンジを切り替える。なお、モータ駆動制御装置は、ディテント機構を必要とせずにモータ３００の位置精度を確保することが可能となる。
【００１６】
モータ３００は、モータ３００におけるロータの回転量を検出するためのエンコーダとして、ホールセンサ４００が設けられている。ホールセンサ４００は、モータ３００の通電相を把握するためにロータ位置を検出する回転センサと言い換えることもできる。ホールセンサ４００は、モータ３００におけるロータの回転に同期してエンコーダ信号（パルス信号、回転パルス）を集積回路１００の回転パルス取得部１２０に対して出力する。しかしながら、本開示は、モータ３００の回転量を把握するためのホールセンサ４００を用いることなく、モータ３００のコイルであるモータコイルから発生する逆起電圧を元にモータ３００を駆動制御するセンサレス駆動方式であっても採用できる。
【００１７】
集積回路１００は、ハードウェアである電子回路によって提供される。この電子回路は、多数の論理回路を含むデジタル回路、またはアナログ回路によって提供することができる。
【００１８】
集積回路１００は、主に、回転量制御部１１０と回転パルス取得部１２０とを備えている。集積回路１００は、マイコン２００から目標回転量を取得するとともに、モータ３００の回転パルスを取得し、回転パルスと目標回転量とに基づいて、回転量が目標回転量となるようにモータ３００を駆動制御する。集積回路１００は、下記のような構成要素を備えることで、マイコン２００からの指示に応じて自律的にモータ３００を駆動制御できるように構成されている。
【００１９】
図２に示すように、回転量制御部１１０は、複数の機能ブロック１１１〜１１９を備えている。具体的には、回転量制御部１１０は、必要回転量取得部１１１、残回転量演算部１１２、目標回転速度演算部１１３、モータ駆動回路制御部１１４、実回転速度演算部１１５、減速開始残回転量演算部１１６、実回転量演算部１１７、回転方向算出部１１８を備えている。また、回転量制御部１１０は、回転状況通知部１１９を備えている。これらの処理動作に関しては、後程詳しく説明する。
【００２０】
回転パルス取得部１２０は、ホールセンサ４００からの回転パルスを取得する。回転パルス取得部１２０は、取得した回転パルスのエッジなどを検出し、モータ駆動のフィードバック制御や、各種演算部に回転情報を伝達する。
【００２１】
マイコン２００は、少なくとも一つの演算処理装置（ＣＰＵ）と、ＣＰＵによって読み取り可能に構成され、プログラムとデータとを記憶する記憶媒体としての少なくとも一つのメモリ装置（ＭＭＲ）とを有する。記憶媒体は、ＣＰＵによって読み取り可能なプログラムを非一時的に格納している。記憶媒体は、半導体メモリまたは磁気ディスクなどによって提供されうる。また、メモリ装置は、データを一時的に記憶する記憶媒体を含んでいてもよい。
【００２２】
プログラムは、ＣＰＵによって実行されることによって、マイコン２００をこの明細書に記載される装置として機能させ、この明細書に記載される方法を実行するようにマイコン２００を機能させる。マイコン２００は、多様な要素を提供する。それらの要素の少なくとも一部は、機能を実行するための手段と呼ぶことができ、別の観点では、それらの要素の少なくとも一部は、構成的なブロック、またはモジュールと呼ぶことができる。
【００２３】
なお、マイコン２００が提供する手段及び機能は、実体的なメモリ装置に記録されたソフトウェア及びそれを実行するコンピュータ、ソフトウェアのみ、ハードウェアのみ、あるいはそれらの組み合わせによって提供することができる。
【００２４】
具体的には、マイコン２００は、位置制御部２１０と他制御部２２０とを含んでいる。位置制御部２１０は、モータ３００の回転方向や停止位置などの回転制御指示を行うことで、位置制御を行う。一方、他制御部２２０は、位置制御部２１０とは異なる制御を行う。このように、マイコン２００は、モータ３００の位置制御だけではなく、他の制御も行う。
【００２５】
位置制御部２１０は、他制御部２２０などからの駆動指示に応じて、モータ３００の回転量の目標値である目標回転量を設定する。つまり、目標回転量は、モータ３００を停止させる位置までに回転させる回転量の目標値である。また、位置制御部２１０は、他制御部２２０などからの駆動指示（通知）に応じて、モータ３００を回転させる回転方向を設定する。
【００２６】
本実施形態では、駆動レンジの切替制御を行うモータ駆動制御装置を採用している。このため、目標回転量は、目標レンジに切り換えるためにモータ３００を回転させる回転量の目標値である。同様に、回転方向は、目標レンジに切り換えるためにモータ３００を回転させる方向である。
【００２７】
位置制御部２１０は、モータ３００における目標回転量を指示する。また、位置制御部２１０は、モータ３００における回転方向を指示する。さらに、位置制御部２１０は、モータ３００に回転開始及び回転停止を指示する。例えば、位置制御部２１０は、第２信号線ＣＬ２を介して集積回路１００に、目標回転量を指示する。また、位置制御部２１０は、第１信号線ＣＬ１を介して集積回路１００に、回転方向、回転開始、及び回転停止を指示する。このように、位置制御部２１０は、上記のように、モータ３００の回転方向や停止位置の制御として、回転方向と目標回転量の設定、及び回転方向と停止位置（目標回転量）の指示を行う。
【００２８】
なお、位置制御部２１０は、目標回転量を指示する場合、目標回転量を示す具体的な値や、目標回転量の値に関連付けられた回転量情報などを指示する。回転量情報を指示する場合、集積回路１００は、回転量情報から、回転量情報に関連付けられた目標回転量の値を取得可能に構成されている。本開示は、回転方向を指示する場合も同様である。また、位置制御部２１０は、目標回転量を指示する場合、例えばモータ回転量やシフトレンジ切替機構の回転角度等など物理値での指示や、ＸＸ地点への移動など位置を示す概念での指示であってもよい。
【００２９】
このように、本開示は、目標回転量に加えて、回転方向の設定及び回転方向の指示を行う例を採用している。しかしながら、本開示は、回転方向の設定及び回転方向の指示を行わないものであっても採用できる。さらに、本開示は、目標回転量指示と回転開始指示とを個別に行うものではなく、目標回転量を指示することで回転開始を指示するものであっても採用できる。
【００３０】
他制御部２２０は、位置制御部２１０とは異なる制御を行うものであり、モータ駆動と直接は関係ないが、位置制御部２１０が位置制御を実施するために必要な情報を処理する。他制御部２２０は、異なる制御の一例として、車速情報やブレーキペダルのオン情報及びオフ情報の取得や、シフトレバー操作の入力情報処理などを行う。また、他制御部２２０は、この各種情報を位置制御部２１０に通知する。これによって、位置制御部２１０は、走行中のシフトレバー操作によるモータ駆動指示をキャンセルしたり、ある条件が揃ったときにのみモータ３００に対して回転開始指示を出したりすることができる。このため、他制御部２２０から位置制御部２１０への通知は、駆動指示とみなすことができる。なお、ある条件が揃ったときにのみモータ３００に対して回転開始指示を出す例としては、ブレーキを踏んでいないとパーキングロック解除ができないようにするなどである。
【００３１】
本実施形態では、一例として、Ｐレンジからレンジの切り替えを行う場合、必ずＤレンジへ切り替えるようにするモータ駆動制御装置を採用する。この場合、位置制御部２１０は、Ｐレンジである場合、ＰレンジからＤレンジまでの回転量、ＰレンジからＤレンジとなる回転方向をモータ３００に指示する。そして、位置制御部２１０は、他制御部２２０からブレーキオンかつシフトレバー操作情報の通知がなされたときに、回転開始をモータ３００に指示する。
【００３２】
また、例えば、他制御部２２０は、異なる制御の一例として、ドライバによって操作されるシフトレバーなどのレンジ切替操作部の状態に応じて目標レンジを検出し、この目標レンジを示す駆動指示を出力する。なお、目標レンジは、ドライバが希望するレンジであり、本実施形態においては、Ｐレンジ、Ｒレンジ、Ｎレンジ、Ｄレンジに該当する。駆動指示は、目標レンジへの切り替えを指示する信号とも言える。よって、駆動指示は、Ｐレンジへの切り替えを指示する信号や、Ｄレンジへの切り替えを指示する信号などである。また、操作部の状態とは、例えば、シフトレバーの位置などである。
【００３３】
このように、マイコン２００は、モータ３００に関する処理としては、目標回転量などを指示するだけであり、ロータの回転に同期した回転パルスの取得や、取得した回転パルスに基づくモータ３００のフィードバック制御などは行なわない。言い換えると、マイコン２００は、目標回転量などを指示する機能は有しているものの、回転パルスを取得する機能や、フィードバック制御する機能は有していない。また、モータ駆動制御装置は、モータ３００の回転量をコントロールするシステムであり、位置制御をするマイコン２００と、マイコン２００からの情報を基にモータ３００の駆動制御を実施する集積回路１００とを備えていると言える。
【００３４】
モータ駆動制御装置は、集積回路１００とマイコン２００とが別体に設けられている。よって、集積回路１００とマイコン２００は、異なる搭載環境に配置される。特に、モータ駆動制御装置は、高温となる搭載環境に集積回路１００が配置され、集積回路１００が配置された搭載環境よりも低温の搭載環境にマイコン２００が配置されると好ましい。以下においては、高温となる搭載環境を高温環境、低温の搭載環境を低温環境とも称する。
【００３５】
集積回路１００は、高温環境として、例えばモータ３００に配置される。つまり、集積回路１００は、モータ３００に直接実装され、モータ３００と一体的に組み付けられる。この構成は、機電一体型とも言うことができる。また、集積回路１００は、高温環境として、トランスミッションに直接実装されたものや、エンジンルーム内に配置されるものであっても採用できる。これらから、高温環境は、１００℃以上となる環境とも言える。
【００３６】
一方、マイコン２００は、低温環境として、モータ３００、トランスミッション、エンジンルームなどの高温環境から離れた場所に配置される。マイコン２００は、低温環境として、例えば車室内などに配置される。
【００３７】
一般的に、集積回路１００は、マイコン２００よりも耐熱性が高い。このため、集積回路１００は、高耐熱性のための対策を施すことなく、高温環境に配置しやすい。一方、マイコン２００は、例えば、電源集積回路、電源安定化のためのアルミ電解コンデンサなどの周辺部品とともに実装され、高温環境に配置する場合、周辺部品とともに高耐熱性のための対策を施すことが望ましい。しかしながら、本開示は、集積回路１００が配置された搭載環境よりも低温環境にマイコン２００が配置されるため、マイコン２００及び周辺部品に対して高耐熱性のための対策を施す必要がない。よって、モータ駆動制御装置は、マイコン２００及び周辺部品に対する高耐熱性のための対策を施す場合よりもコストの低減が期待できる。
【００３８】
また、マイコン２００及び周辺部品は、低温環境として、モータ３００やトランスミッションから離れた場所に配置された場合、モータ３００やトランスミッションの振動が伝達されにくい。このため、マイコン２００及び周辺部品は、振動対策を施す必要がない。よって、モータ駆動制御装置は、マイコン２００及び周辺部品に対する振動対策を施す場合よりもコストの低減が期待できる。
【００３９】
さらに、高温環境に配置されるモータ駆動制御装置は、実装部品の点数を減らすことにより必要基板面積が小さくできる。これによって、機電一体の構造体の体格増加を抑制できる。
【００４０】
ここで、図３〜図９を用いて、モータ駆動制御装置の処理動作に関して説明する。
【００４１】
まず、図３を用いて、マイコン２００の処理動作に関して説明する。位置制御部２１０は、他制御部２２０などからの駆動指示を受けると、回転方向と目標回転量の設定を行い、図３のフローチャートに示す処理を実行する。また、位置制御部２１０は、マイコン２００に電源が供給されると図３のフローチャートに示す処理を実行可能な状態となり、他制御部２２０などからの駆動指示を受けるたびに、図３のフローチャートに示す処理を実行してもよい。しかしながら、本開示は、これらに限定されない。
【００４２】
ステップＳ１１では、目標回転量を指示する。位置制御部２１０は、第２信号線ＣＬ２を介して集積回路１００に目標回転量を指示する。ステップＳ１２では、回転方向を指示する。位置制御部２１０は、第１信号線ＣＬ１を介して集積回路１００に回転方向を指示する。ステップＳ１３では、回転制御の開始を指示する。位置制御部２１０は、第１信号線ＣＬ１を介して集積回路１００に回転制御開始を指示する。このように、位置制御部２１０は、位置制御をするにあたり必要とされるモータ３００の目標回転量と回転方向を集積回路１００へと伝達するとともに、回転制御の開始を集積回路１００へ指示する。
【００４３】
ステップＳ１４では、回転状況取得を行う。後程説明するが、集積回路１００は、マイコン２００が集積回路１００へ正しく指示を出すうえでモータ３００の駆動制御の状況を把握するために、マイコン２００へモータ３００の回転状況を通知する。この回転状況は、モータ３００の回転方向、残回転量、異常など、モータ３００の回転状況を示す各種情報である。また、異常は、モータ３００の内部温度や、断線やショートなどの回路異常情報などである。なお、回転状況は、モータ情報と言い換えることができる。
【００４４】
ステップＳ１５では、モータの駆動制御に異常があるか否かを判定する。位置制御部２１０は、ステップＳ１４で取得した回転状況に基づいて、モータ３００の駆動制御に異常があるか否かを判定する。そして、位置制御部２１０は、異常があると判定した場合はステップＳ１７へ進み、異常があると判定しなかった場合はステップＳ１６へ進む。
【００４５】
なお、位置制御部２１０は、指示した回転方向と取得した回転状況による回転方向とが異なる場合や、指示した目標回転量と取得した回転状況による残回転量との乖離などによって、異常の有無を判定する。また、位置制御部２１０は、取得した回転状況に異常を示す情報が含まれているか否かによって、異常の有無を判定する。
【００４６】
ステップＳ１６では、残回転量＝０であるか否かを判定する。位置制御部２１０は、モータ３００の回転制御を停止させるか否かを判定するために、取得した回転状況から、残回転量＝０であるか否かを判定する。そして、位置制御部２１０は、残回転量＝０であると判定した場合は、モータ３００の回転制御を停止させるためにステップＳ１７へ進み、残回転量＝０であると判定しなかった場合は、モータ３００の回転制御を継続させるためにステップＳ１４へ戻る。
【００４７】
ステップＳ１７では、モータの回転制御停止を指示する。位置制御部２１０は、第１信号線ＣＬ１を介して集積回路１００に回転制御停止を指示する。
【００４８】
このように、マイコン２００は、取得した回転状況を基にして、指示通りモータ３００が回転していない場合の異常判断やモータ３００の回転制御の開始と終了の判断を行う。
【００４９】
次に、図４〜図９を用いて、集積回路１００の処理動作に関して説明する。集積回路１００は、モータ３００の回転制御を開始すると、図４のフローチャートに示す処理を実行する。また、集積回路１００は、集積回路１００に電源が供給されると図４のフローチャートに示す処理を実行可能な状態となり、位置制御部２１０から目標回転量や回転方向の指示を受けるたびに、図４のフローチャートに示す処理を実行してもよい。しかしながら、本開示は、これらに限定されない。なお、図４は、集積回路１００のメインフローチャートとも言える。
【００５０】
ステップＳ２１では、目標回転量を取得する。必要回転量取得部１１１は、第２信号線ＣＬ２を介して指示された目標回転量を取得する。なお、集積回路１００は、目標回転量を取得すると、ステップＳ２２以降の処理を開始してもよい。
【００５１】
ステップＳ２２では、必要回転量Ｃを算出する。必要回転量取得部１１１は、取得した目標回転量の指示を基に、目標回転量をモータ３００の必要回転量Ｃに変換（算出）する。つまり、必要回転量取得部１１１は、目標回転量の指示を基に算出した値を必要回転量Ｃに設定する。
【００５２】
ステップＳ２３では、実回転量Ａに初期値を設定する。実回転量演算部１１７は、実際にモータ３００が回転した量を示す実回転量Ａを初期値にリセット（設定）する。実回転量演算部１１７は、例えば、初期値として０（ゼロ）を設定する。
【００５３】
ステップＳ２４では、回転方向を取得する。目標回転速度演算部１１３は、第１信号線ＣＬ１を介して指示された回転方向を取得する。目標回転速度演算部１１３は、取得した回転方向を、モータ３００を回転させる回転方向に設定する。
【００５４】
ステップＳ２５では、回転開始の指示があるか否かを判定する。目標回転速度演算部１１３は、第１信号線ＣＬ１を介して回転開始の指示があったか否かを判定する。そして、目標回転速度演算部１１３は、回転開始の指示があったと判定した場合はステップＳ２６へ進み、回転開始の指示があったと判定しなかった場合はステップＳ２５の判定を繰り返す。
【００５５】
ステップＳ２６では、残回転量Ｂ（＝Ｃ−Ａ）を演算する。残回転量演算部１１２は、必要回転量Ｃだけモータ３００を回すにあたり、あとどれだけモータ３００を回す必要があるのかを示す残回転量Ｂについて、必要回転量Ｃから実回転量Ａを減算することで、残回転量Ｂを算出する。
【００５６】
また、集積回路１００は、ステップＳ２６で、残回転量Ｂを演算すると、図８のステップＳ７０へ進む。ステップＳ７０では、モータ情報の通知を行う。回転状況通知部１１９は、第３信号線ＣＬ３を介してマイコン２００に残回転量Ｂを通知する。これは、マイコン２００が、モータ３００の停止指示を把握できるようにするためである。
【００５７】
集積回路１００は、ステップＳ２６を終了すると、ステップＳ２７、Ｓ２８、Ｓ３２を実行することで、モータ３００を回転駆動する際に、通常制御、減速制御、停止制御のいずれで駆動するかを選択する。言い換えると、集積回路１００は、制御モードを選択する。
【００５８】
ステップＳ２７では、Ｂ≠０であるか否かを判定する。目標回転速度演算部１１３は、残回転量Ｂ≠０であるか否かを判定し、残回転量Ｂ≠０であると判定した場合はステップＳ２８へ進む。また、目標回転速度演算部１１３は、残回転量Ｂ≠０であると判定しなかった場合、すなわち、残回転量Ｂ＝０であると判定した場合は、ステップＳ３２へ進む。
【００５９】
ステップＳ２８では、Ｂ＞Ｘであるか否かを判定する。目標回転速度演算部１１３は、残回転量Ｂ＞減速開始残回転量Ｘであると判定した場合はステップＳ２９へ進み、残回転量Ｂ＞減速開始残回転量Ｘであると判定しなかった場合はステップＳ３５へ進む。
【００６０】
減速開始残回転量Ｘは、モータ３００の回転開始時には残回転量が多く実回転数も低いことから、減速に必要な時間が短くてすむため少なくなる。よって、図９のタイミングｔ０〜ｔ２に示すように、残回転量Ｂ＞減速開始残回転量Ｘとなり、目標回転速度演算部１１３は、通常制御を選択する。つまり、ステップＳ２９では、目標回転速度演算部１１３は、モータ駆動回路制御部１１４、モータ駆動回路３１０を用いた制御として、通常制御を設定する。通常制御では、モータ３００の停止状態から、ある回転速度を目標として加速、目標回転速度に到達した場合は定速となるように制御する。
【００６１】
また、回転速度が上がってくると残回転量Ｂが少なくなり、図９のタイミングｔ１に示すように、減速開始残回転量Ｘの上昇も減少する。また、回転速度が上がってくると残回転量Ｂが少なくなり、減速に必要な時間も長くなることから、図９のタイミングｔ２に示すように、あるタイミングで残回転量Ｂ＜減速開始残回転量Ｘとなる。この状態になると、目標回転速度演算部１１３は、目標回転速度を落とし減速することで、必要回転量でモータ３００を停止できるよう、減速制御を選択する。
【００６２】
つまり、ステップＳ３５では、目標回転速度演算部１１３は、モータ駆動回路を用いた制御として、減速制御を設定する。減速制御では、モータ３００の回転速度を減速させて、残回転量Ｂが０、すなわち必要回転量Ｃまでモータ３００が回転したところで停止（回転速度＝０）するように制御する。
【００６３】
このように、集積回路１００は、モータ３００の回転量が目標値回転量となるようにモータ３００を駆動制御する際に、モータ３００の回転速度を減速させる減速制御と、モータ３００の回転速度を減速させない通常制御とを含んでいる。集積回路１００は、モータ３００の回転速度を基に減速制御を開始するタイミングを演算すると好ましい。このように、モータ駆動制御装置は、モータ３００の回転速度に応じて減速制御を開始するタイミング（減速開始タイミング）を決定することで、通常制御の時間をできる限り長くとることができる。よって、モータ駆動制御装置は、モータ３００の回転開始から回転停止までの時間を短縮することができる。
【００６４】
ステップＳ３２では、Ｂ＝０が一定時間経過したか否かを判定する。目標回転速度演算部１１３は、残回転量Ｂ＝０の状態が、モータ３００が確実に停止したと判断できる一定時間（数１０ｍｓ程度）経過したと判定した場合はステップＳ３４へ進み、Ｂ＝０が一定時間経過したと判定しなかった場合はステップＳ３３へ進む。
【００６５】
ステップＳ３３では、目標回転速度演算部１１３は、モータ駆動回路を用いた制御として、停止制御を設定する。目標回転速度演算部１１３は、残回転量Ｂ＝０となった時、モータ３００の回転の惰性等で必要以上に回転してしまわないよう、図９のタイミングｔ３に示すように停止制御を行う。集積回路１００は、モータ３００が必要な回転量だけ回った後、モータ３００の回転を停止させる停止制御を一定時間行うと好ましい。これによって、モータ駆動制御装置は、惰性でモータ３００が回ってしまうことを抑制でき、停止位置の精度を高めることができる。なお、減速制御にて必要回転量Ｃでの停止が継続可能な場合は、この停止制御は必ずしも必要としない。
【００６６】
ステップＳ３０では、モータを駆動する。モータ駆動回路制御部１１４は、目標回転速度演算部１１３からの目標回転速度となるようにモータ駆動回路３１０を制御して、モータ３００を駆動制御する。また、モータ駆動回路制御部１１４は、ステップＳ２９、Ｓ３５、Ｓ３３で選択されたいずれかの制御モードに応じて目標回転速度演算部１１３で演算された目標回転速度となるようにモータ駆動回路３１０を制御して、モータ３００を駆動制御するとも言える。このとき、モータ駆動回路制御部１１４は、モータ駆動回路３１０に対して駆動信号を出力する。
【００６７】
ステップＳ３１では、回転パルスを取得する。回転パルス取得部１２０は、ホールセンサ４００からの回転パルスを取得する。この回転パルスは、モータ駆動回路制御部１１４によるモータ３００の駆動制御に用いられる。つまり、モータ駆動回路制御部１１４は、回転パルスに基づいて、フィードバック制御することでモータ３００を駆動制御する。さらに、この回転パルスは、回転方向の算出、実回転量の演算、実回転速度の演算にも用いられる。
【００６８】
回転量制御部１１０は、ステップＳ３１で回転パルスを取得すると、図５のステップＳ４０、図６のステップＳ５０、図７のステップＳ６０を実行する。
【００６９】
ステップＳ４０では、実回転量Ａを算出する。実回転量演算部１１７は、回転パルスのカウント数から実回転量Ａを演算する。そして、回転量制御部１１０は、実回転量Ａを演算するとステップＳ２６へ進む。
【００７０】
ステップＳ５０では、実回転速度を演算する。実回転速度演算部１１５は、回転パルスの周期から、実回転速度を演算する。ステップＳ５１では、減速開始残回転量Ｘを演算する。減速開始残回転量演算部１１６は、実回転速度を基に、減速を開始する減速開始残回転量Ｘを算出する。そして、回転量制御部１１０は、減速開始残回転量Ｘを演算するとステップＳ２６へ進む。
【００７１】
ステップＳ６０では、回転方向を算出する。ステップＳ２６へ進む。回転方向算出部１１８は、正しく残回転量Ｂを算出するために、ステップＳ３１で取得された回転パルスを基に回転方向も算出する。そして、回転量制御部１１０は、回転方向を算出するとステップＳ２６へ進む。
【００７２】
また、集積回路１００は、ステップＳ６０で、回転方向を算出すると、図８のステップＳ７０へ進む。ステップＳ７０では、モータ情報を通知する。回転状況通知部１１９は、第３信号線ＣＬ３を介してマイコン２００に回転方向を通知する。これは、マイコン２００が、モータ３００が指示通りに回転したか否かを把握できるようにするためである。言い換えると、これは、マイコン２００が、モータ３００の駆動制御に異常が発生しているか否かを把握できるようにするためである。
【００７３】
なお、回転状況通知部１１９は、ステップＳ３２でＹＥＳ判定した場合、モータ３００の回転駆動が完了したことを、第３信号線ＣＬ３を介してマイコン２００に完了を通知してもよい。
【００７４】
ステップＳ３４では、回転制御停止の指示があるか否かを判定する。目標回転速度演算部１１３は、第１信号線ＣＬ１を介して回転制御停止の指示があったか否かを判定する。そして、目標回転速度演算部１１３は、回転制御停止の指示があったと判定した場合は図４に示す処理を終了し、回転制御停止の指示があったと判定しなかった場合はステップＳ３４を繰り返し実行する。
【００７５】
このように、モータ駆動制御装置は、マイコン２００と集積回路１００とが別体に設けられている。そして、モータ駆動制御装置は、集積回路１００が、取得した目標回転量と回転パルスに基づいて、回転量が目標回転量となるようにモータ３００を駆動制御する。このため、マイコン２００は、モータ３００を駆動制御する際に、目標回転量を指示すればよく、モータ３００の回転パルスを取得したり、回転量が目標回転量となるようにモータ３００を駆動制御したりする必要がない。従って、モータ駆動制御装置は、マイコン２００の処理負荷の増大を抑制しつつ、目的の回転量となるようにモータ３００を制御することができる。このため、モータ駆動制御装置は、処理能力の高いマイコン２００を用いる必要がないとも言える。
【００７６】
つまり、モータ駆動制御装置は、マイコン２００から集積回路１００へ回転開始や目標回転量の指示を行い、集積回路１００からマイコン２００へモータ情報や回転駆動の完了の通知がなされる。このフィードバック周期は、集積回路１００が回転パルスを用いてモータ３００をフィードバック制御する際のフィードバック周期よりも遅い。このように、モータ駆動制御装置は、フィードバック周期が速い処理を集積回路１００が行うため、マイコンの処理負荷の増大を抑制できる。
【００７７】
また、マイコン２００は、モータ３００を駆動制御する際の処理負荷が少ないため、モータ３００の駆動制御以外の処理に悪影響を及ぼすことを抑制できる。
【００７８】
以上、本開示の好ましい実施形態について説明した。しかしながら、本開示は、上記実施形態に何ら制限されることはなく、本開示の趣旨を逸脱しない範囲において、種々の変形が可能である。以下に、本開示のその他の形態として、変形例１、２に関して説明する。上記実施形態及び変形例１、２は、それぞれ単独で実施することも可能であるが、適宜組み合わせて実施することも可能である。本開示は、実施形態において示された組み合わせに限定されることなく、種々の組み合わせによって実施可能である。
【００７９】
（変形例１）
図１０、図１１を用いて、変形例１のモータ駆動制御装置に関して説明する。変形例１では、マイコン２００ａから集積回路１００ａの指示を暗号化して行う点が上記実施形態と異なる。変形例１では、上記実施形態と同様の箇所には、同じ符号を用いている。このため、同じ符号に関しては、上記実施形態を参照して適用することができる。ここでは、変形例１における、上記実施形態との相違点に関して説明する。
【００８０】
図１０に示すように、モータ駆動制御装置は、集積回路１００ａとマイコン２００ａとを備えている。集積回路１００ａは、データ復号化部ＤＣを含む回転量制御部１１０ａを備えている。マイコン２００ａは、データ暗号化部ＥＣを備えている。データ復号化部ＤＣとデータ暗号化部ＥＣとは、第４信号線ＣＬ４で接続されており、第４信号線ＣＬ４を介して信号の送受信を行う。
【００８１】
マイコン２００ａは、データ暗号化部ＥＣによって信号を暗号化する。そして、データ暗号化部ＥＣは、第４信号線ＣＬ４を介して、暗号化した信号を集積回路１００ａに送信することで指示を行う。つまり、データ暗号化部ＥＣは、目標回転量、回転方向、回転開始、回転停止の指示を示す信号を暗号化する。
【００８２】
集積回路１００ａは、データ復号化部ＤＣによって受信した信号を復号化する。データ復号化部ＤＣは、受信した信号を復号化することで、目標回転量、回転方向、回転開始、回転停止の指示を得ることができる。
【００８３】
図１１を用いて、暗号化及び復号化の一例に関して説明する。なお、図１１の右欄には、指示データ列の構成、データ暗号化部ＥＣによる並び替え前後の指示データ列、データ復号化部ＤＣによる並び替え前後の指示データ列の一例を示す。指示データ列は、目標回転量を示すデータＤ１、回転方向を示すデータＤ２、回転開始及び回転停止を示すＤ３を含んでいる。なお、暗号化及び復号化は、以下に示す例に限定されない。
【００８４】
データ暗号化部ＥＣは、ステップＳ１０１に示す指示したい情報のデータ列を、Ｓ１０２に示すように反転（０→１、１→０）する。その後、データ暗号化部ＥＣは、ステップＳ１０３に示すように、データ列を並び替える。さらに、データ暗号化部ＥＣは、ステップＳ１０４に示すように、データ列に１０（２進数で表記すると１０１０）を足す。データ暗号化部ＥＣは、このように指示したい情報を読み取れなくなったデータを集積回路１００ａ側へ送信する。
【００８５】
データ復号化部ＤＣは、ステップＳ２０１に示す受信したデータ列から、ステップＳ２０２に示すように１０を引く。その後、データ復号化部ＤＣは、ステップＳ２０３に示すように、データ列を並び替える。さらに、データ復号化部ＤＣは、ステップＳ２０４に示すようにデータを反転（０→１、１→０）することで、指示された情報をえることができる。
【００８６】
変形例１のモータ駆動制御装置は、上記実施形態と同様の効果を奏することができる。さらに、変形例１のモータ駆動制御装置は、マイコン２００ａから集積回路１００ａの指示を暗号化した信号によって行うため、暗号化しない場合よりもセキュリティを向上できる。つまり、変形例１のモータ駆動制御装置は、モータ駆動の誤作動や、盗難やシステム乗っ取りを目的とした外部からの信号の乗っ取りを抑制することができる。なお、外部とは、モータ駆動制御装置の外部や、モータ駆動制御装置を含むシステムの外部である。
【００８７】
（変形例２）
変形例２のモータ駆動制御装置は、上記実施形態と同様の構成を採用することができる。このため、ここでは、上記実施形態の図面を用いて説明する。変形例２のモータ駆動制御装置は、下記に示すように、上記実施形態よりも優れた効果を奏することができる。
【００８８】
マイコン２００は、集積回路１００に対して指示を行う場合、複数の信号線の組み合わせによって指示する。つまり、マイコン２００は、複数の信号線を介して送信した複数の信号の組み合わせによって指示を行う。なお、ここでは、一例として、２本の信号線ＣＬ１、ＣＬ２を用いる例を採用している。しかしながら、変形例２は、３本以上の信号線を用いてもよい。
【００８９】
ここで、回転開始の指示を例に説明する。マイコンが１本の信号線による単純なオンオフ信号での指示とした場合、集積回路は、隣接する別回路や配線との接触により、オフ信号をオン信号として誤認識する可能性がある。
【００９０】
これに対して、マイコン２００は、２本の信号線ＣＬ１、ＣＬ２の組み合わせで１つの指示を行う。例えば、信号線ＣＬ１、ＣＬ２が２本ともオン信号となった場合、集積回路１００は、回転開始の指示と認識する。この場合、集積回路１００は、信号線ＣＬ１、ＣＬ２のいずれかに異常が起きて、オフ信号がオン信号になっただけでは、回転開始とは認識しない。このため、モータ駆動制御装置は、ロバスト性を向上することができる。言い換えると、モータ駆動制御装置は、１本の信号線を用いたオンオフ信号等によって指示する場合よりも、信号線の短絡や外乱ノイズによるにモータ３００の誤動作の可能性を低減できる。
【００９１】
さらに、集積回路１００は、想定していない組み合わせ、例えば、信号線ＣＬ１、ＣＬ２が２本ともオン信号や２本ともオフ信号以外の指示を受信した場合、異常指示と認識することができる。そして、集積回路１００は、異常指示と認識した場合に、モータ３００を駆動制御しないようにすることができる。
【００９２】
また、マイコン２００は、複数の信号線の組み合わせで指示を伝達する場合、それぞれの信号を個別情報として伝達するのではなく、複数の情報を複数の信号線の組み合わせで伝達する形としてもよい。この場合、マイコン２００は、例えば、目標回転量の指示、回転方向の指示、回転開始の指示の３つの信号を５本の信号線の組み合わせで指示する。これによって、モータ駆動制御装置は、１要因による異常に対するロバスト性を向上することができる。
【００９３】
さらに、マイコン２００から集積回路１００への指示に通信方式を採用してもよい。通信方式の例としては、ＰＷＭ通信や、通信プロトコルに準拠した通信方式（例えばＬＩＮ通信）などをあげることができる。この場合、マイコン２００と集積回路１００とを接続している信号線は、通信線と言い換えることもできる。
【００９４】
ＰＷＭ通信は、パルス信号のデューティを変化させることで情報を切りかえる通信であり、通信線を増やすことなく複数の信号を伝達可能である。さらに、ＰＷＭ通信は、通信線が他の信号線、電源線、グランド線と短絡した場合に、設計値と違う周期のパルス入力になったり、ある一定の電圧となりパルス入力ではなくなったりする。このため、集積回路１００は、信号異常を検出することが可能となる。
【００９５】
通信プロトコルに準拠した通信では、ＰＷＭ通信と同様、信号量の多さに比例して信号線を増やす必要はなくなる。さらに、通信プロトコルに準拠した通信は、双方向通信が可能な通信方式もある。双方向通信が可能な通信方式では、集積回路１００からマイコン２００へのモータ情報などの通知も同じ通信線を利用して伝達することができる。このため、モータ駆動制御装置は、マイコン２００と集積回路１００との通信に用いる通信線を少なくすることができる。
【００９６】
また、マイコン２００及び集積回路１００は、通信プロトコルに準拠した通信で通信することで、通信プロトコルに合致しない通信データとなった時点で異常を検知することができる。さらに、通信方式によっては、通信データの異常を検出した時にデータ補正もできる。このため、モータ駆動制御装置は、ロバスト性を非常に向上することができる。
【００９７】
また、一般的に、通信プロトコルに準拠した通信は、１度に送信できるデータ容量が１ｂｙｔｅ〜数ｂｙｔｅと多くなり、データ送信スピードが数ｋｂｐｓ以上となる。このため、通信プロトコルに準拠した通信は、単位時間あたりに送信可能な情報量が非常に多くなる。よって、モータ駆動制御装置は、伝達したい信号の他にもデータを送ることが容易となり、データを複雑化させることでマイコン２００と集積回路１００間の信号の解析を困難にさせることも可能となる。
【００９８】
データの複雑化の例としては、変形例１で示した暗号化及び複合化する方法がある。その他にも、通信順序をルール化することで（Ａ→Ｂ→Ａ→Ｂなど）、集積回路１００が、そのルールに従ったデータを受信した場合にのみモータ３００の駆動制御を実施する方法がある。このような方法をとることで、モータ駆動制御装置は、システム乗っ取りによるシステム外部からのモータ３００の駆動制御を抑制することでき、セキュリティ性を向上することができる。
【００９９】
なお、モータ駆動制御装置は、集積回路１００からマイコン２００へモータ情報を通知する際にも、暗号処理を行ったうえで伝達してもよい。この場合、モータ駆動制御装置は、マイコン２００から集積回路１００への指示に対する集積回路１００の反応を読み取り難くすることができ、信号内容の解析をより困難とすることができるため、セキュリティ性を向上することができる。
【０１００】
当然ながら、変形例２のモータ駆動制御装置は、上記実施形態と同様の効果を奏することができる。なお、変形例２で説明した技術は、変形例１に適用することもできる。
【符号の説明】
【０１０１】
１００、１００ａ…集積回路、１１０、１１０ａ…回転量制御部、１１１…必要回転量取得部、１１２…残回転量演算部、１１３…目標回転速度演算部、１１４…モータ駆動回路制御部、１１５…実回転速度演算部、１１６…減速開始残回転量演算部、１１７…実回転量演算部、１１８…回転方向算出部、１１９…回転状況通知部、１２０…回転パルス取得部、２００、２００ａ…マイコン、２１０…位置制御部、２２０…他制御部、３００…モータ、３１０…モータ駆動回路、４００…ホールセンサ、ＣＬ…信号線、ＣＬ１…第１信号線、ＣＬ２…第２信号線、ＣＬ３…第３信号線、ＣＬ４…第４信号線、ＤＣ…データ復号化部、ＥＣ…データ暗号化部
【図１】
2020005419.tif 000003
【図２】
2020005419.tif 000004
【図３】
2020005419.tif 000005
【図４】
2020005419.tif 000006
【図５】
2020005419.tif 000007
【図６】
2020005419.tif 000008
【図７】
2020005419.tif 000009
【図８】
2020005419.tif 000010
【図９】
2020005419.tif 000011
【図１０】
2020005419.tif 000012
【図１１】
2020005419.tif 000013