(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-27
(45)【発行日】2024-04-04
(54)【発明の名称】モータ制御回路、モータ駆動制御装置、及びモータ制御回路の制御方法
(51)【国際特許分類】
H02P 29/00 20160101AFI20240328BHJP
【FI】
H02P29/00
(21)【出願番号】P 2020088414
(22)【出願日】2020-05-20
【審査請求日】2023-02-24
(73)【特許権者】
【識別番号】000114215
【氏名又は名称】ミネベアミツミ株式会社
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】海津 浩之
(72)【発明者】
【氏名】青木 政人
(72)【発明者】
【氏名】北野 高通
(72)【発明者】
【氏名】鈴木 貴大
【審査官】保田 亨介
(56)【参考文献】
【文献】国際公開第2017/110061(WO,A1)
【文献】特開2004-040966(JP,A)
【文献】特開平10-162503(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F12/00-12/06
13/16-13/18
G11C11/56
16/00-17/18
H02M7/42-7/98
H02P4/00
6/00-6/34
21/00-25/03
25/04
25/08-31/00
(57)【特許請求の範囲】
【請求項1】
モータ駆動部を制御するモータ制御回路であって、
第1の格納領域と、
第2の格納領域とを備え、
前記第1の格納領域には、前記モータ制御回路の制御アルゴリズムと該制御アルゴリズムが用いる第1のパラメータ群とが格納され、
前記第2の格納領域には、前記制御アルゴリズムが用いる第2のパラメータ群を格納することができ
、
前記第2の格納領域は、前記制御アルゴリズムが前記第1のパラメータ群と前記第2のパラメータ群とのうちのどちらのパラメータ群を用いてモータ制御プログラムを実行するかを指定する指定パラメータを有し、
前記制御アルゴリズムは、起動時に、前記指定パラメータの値を読み取り、読み取った前記値に基づいて、前記第1のパラメータ群と第2のパラメータ群のうちのどちらのパラメータ群を用いてモータ制御プログラムを実行するかを決定し、当該決定されたパラメータ群を用いて前記モータ制御プログラムを実行する、モータ制御回路。
【請求項2】
請求項
1に記載のモータ制御回路であって、
前記制御アルゴリズムは、前記指定パラメータが初期値の場合、前記制御アルゴリズムは前記第1のパラメータ群を用いて前記モータ制御プログラムを実行する、
モータ制御回路。
【請求項3】
請求項1
または2に記載のモータ制御回路であって、
前記制御アルゴリズムが前記第1のパラメータ群または前記第2のパラメータ群のいずれか一方のパラメータ群を用いて前記モータ制御プログラムを実行することにより、モータの駆動を制御するための駆動制御信号を前記モータ駆動部に出力する、
モータ制御回路。
【請求項4】
請求項1から
3のいずれか1項に記載のモータ制御回路と、
前記モータ制御回路から出力される駆動制御信号に基づいてモータを駆動するモータ駆動部とを有する、
モータ駆動制御装置。
【請求項5】
モータ制御回路の制御アルゴリズムと該制御アルゴリズムが用いる第1のパラメータ群とが格納される第1の格納領域と、前記制御アルゴリズムが用いる第2のパラメータ群を格納可能な第2の格納領域とを備え、モータ駆動部に駆動制御信号を出力するモータ制御回路の制御方法であって、
前記制御アルゴリズムの起動時に、前記第2の格納領域の指定パラメータの値を参照するステップと、
前記指定パラメータの値に基づいて、前記制御アルゴリズムが前記第1のパラメータ群と第2のパラメータ群のうちのどちらのパラメータ群を用いてモータ制御プログラムを実行するかを決定するステップと、
前記決定された前記パラメータ群を用いて前記制御アルゴリズムが前記モータ制御プログラムを実行するステップとを含む、
モータ制御回路の制御方法。
【請求項6】
請求項
5に記載のモータ制御回路の制御方法であって、
決定するステップは、前記指定パラメータの値が初期値である場合に、前記制御アルゴリズムが前記第1の格納領域に格納された前記第1のパラメータ群を用いてモータ制御プログラムを実行することを決定する、
モータ制御回路の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御回路、モータ駆動制御装置、及びモータ制御回路の制御方法に関する。
【背景技術】
【0002】
近年、ファンモータを駆動するモータ駆動制御装置などで用いられるモータ制御回路では、搭載した不揮発性メモリに格納されたパラメータを変更することで、回転数や進角など、モータ制御回路によって制御される様々な機能を変更あるいは調整することができる。このように、機能を変更/調整可能な構成とすることによって、結果的に、外付け部品が不要でコストや基板面積を抑えることができる。
【0003】
例えば、特許文献1には、電流センサの補正ゲインをパラメータとして格納する不揮発性メモリを搭載したモータ制御装置が記載されている。このモータ制御装置では、不揮発性メモリに格納された補正ゲインを用いて電流センサの補正を行うことにより、検査用の電流センサを別途付加することが不要となる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載されたようなモータ制御装置に含まれるモータ制御回路では、上記のように不揮発性メモリに格納されたパラメータを用いて制御アルゴリズムがプログラムを実行することにより様々な機能を実現することができる。このようなモータ制御回路では、安価な構成にするために、プログラムを構成する制御アルゴリズムとパラメータとが2つの不揮発性メモリに別々に格納されていることが多い。
【0006】
一方で、量産時においては、制御アルゴリズムとパラメータとを、2つの不揮発性メモリに対して書き込みをするためには、別々の方法で書き込みをする必要がある。このため、従来のモータ制御回路では、量産時における工程作業時間であるタクトタイムが増加してしまう事態を招いている。
【0007】
このような事態を回避するために、量産時に、制御アルゴリズムとパラメータとを1つの不揮発性メモリに書き込むことが考えられる。
【0008】
しかしながら、制御アルゴリズムとパラメータとを1つの不揮発性メモリに書き込むことを想定した場合、次のような問題がある。制御アルゴリズムの格納領域の中にパラメータの格納領域を持つようにすると、容易にパラメータの書き換えることが困難となるため、モータ制御回路の開発時などにおける機能の変更/調整に伴うパラメータの変更が容易ではない。また、制御アルゴリズムの格納領域とパラメータの格納領域を区別して持つようにすると、結果的に、制御アルゴリズムとパラメータを2つの不揮発性メモリに別々に格納される場合と同様に、量産時における工程作業時間であるタクトタイムが増加してしまう可能性がある。
【0009】
本発明は上記従来の問題に鑑みなされたものであって、本発明の課題は、実現する機能を変更または調整可能なモータ制御回路において、量産時におけるタクトタイムの増加を抑制することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、一実施形態に記載されたモータ制御回路は、モータ駆動部を制御するモータ制御回路であって、第1の格納領域と、第2の格納領域とを備え、前記第1の格納領域には、前記モータ制御回路の制御アルゴリズムと該制御アルゴリズムが用いる第1のパラメータ群とが格納され、前記第2の格納領域には、前記制御アルゴリズムが用いる第2のパラメータ群を格納することができる。
【発明の効果】
【0011】
本発明のモータ制御回路によれば、実現する機能を変更または調整可能なモータ制御回路において、量産時におけるタクトタイムの増加を抑制することができる。
【図面の簡単な説明】
【0012】
【
図1】モータ制御回路を有するモータ駆動制御装置を搭載したファン装置の一例を示す概略構成図である。
【
図2】モータ制御回路のハードウェア構成例を示すブロック図である。
【
図3】第1の不揮発性メモリおよび第2の不揮発性メモリに格納されたモータ制御プログラムについて説明する図である。
【
図4】制御アルゴリズムがパラメータ群を読み込んでモータ制御プログラムを実行する処理を示すフローチャートである。
【
図5】指定パラメータの機能を説明するための図である。
【
図6】本実施形態のモータ制御回路を搭載したファン装置の量産時におけるモータ制御プログラムの書き込み方法を示すシーケンス図である。
【
図7】量産前の開発時または量産後の変更または調整時におけるパラメータ群の変更方法を示す図である。
【
図8】量産前の開発時または量産後の変更または調整時におけるパラメータの変更方法を示す図である。
【
図9】量産前の開発時または量産後の変更または調整時における指定パラメータの変更方法を示す図である。
【発明を実施するための形態】
【0013】
1.実施形態の概要
先ず、本願において開示される発明の代表的な実施形態について概要を説明する。なお、以下の説明では、一例として、発明の構成要素に対応する図面上の参照符号を、括弧を付して記載している。
【0014】
〔1〕本発明の代表的な実施形態に係るモータ制御回路(10)は、モータ駆動部(20)を制御するモータ制御回路(10)であって、第1の格納領域(3)と、第2の格納領域(4)とを備え、前記第1の格納領域(3)には、前記モータ制御回路(10)の制御アルゴリズム(200)と該制御アルゴリズムが用いる第1のパラメータ群(201)とが格納され、前記第2の格納領域(4)には、前記制御アルゴリズムが用いる第2のパラメータ群(202)を格納することができる。
【0015】
〔2〕上記〔1〕に記載のモータ制御回路であって、第2の格納領域は、前記制御アルゴリズムが前記第1のパラメータ群と前記第2のパラメータ群とのうちのどちらのパラメータ群を用いてモータ制御プログラムを実行するかを指定する指定パラメータを有し、前記制御アルゴリズムは、起動時に、前記指定パラメータの値を読み取り、読み取った前記値で指定されたパラメータ群を用いて前記モータ制御プログラムを実行してもよい。
【0016】
〔3〕上記〔2〕に記載のモータ制御回路であって、前記制御アルゴリズムは、前記指定パラメータが初期値の場合、前記制御アルゴリズムは前記第1のパラメータ群を用いて前記モータ制御プログラムを実行してもよい。
【0017】
〔4〕上記〔1〕から〔3〕のいずれか1つに記載のモータ制御回路であって、前記制御アルゴリズムが前記第1のパラメータ群または前記第2のパラメータ群のいずれか一方のパラメータ群を用いて前記モータ制御プログラムを実行することにより、モータの駆動を制御するための駆動制御信号を前記モータ駆動部に出力してもよい。
【0018】
〔5〕本発明の代表的な実施形態に係るモータ駆動制御装置(104)は、上記〔1〕から〔4〕のいずれか1つに記載のモータ制御回路と、前記モータ制御回路から出力される駆動制御信号に基づいてモータを駆動するモータ駆動部とを有する。
【0019】
〔6〕本発明の代表的な実施形態に係るモータ制御回路の制御方法は、モータ制御回路の制御アルゴリズムと該制御アルゴリズムが用いる第1のパラメータ群とが格納される第1の格納領域と、前記制御アルゴリズムが用いる第2のパラメータ群を格納可能な第2の格納領域とを備え、モータ駆動部に駆動制御信号を出力するモータ制御回路の制御方法であって、前記制御アルゴリズムの起動時に、前記第2の格納領域の指定パラメータの値を参照するステップと、前記指定パラメータの値に基づいて、前記制御アルゴリズムが前記第1のパラメータ群と第2のパラメータ群のうちのどちらのパラメータ群を用いてモータ制御プログラムを実行するかを決定するステップと、前記決定された前記パラメータ群を用いて前記制御アルゴリズムが前記モータ制御プログラムを実行するステップとを含む。
【0020】
〔7〕上記〔6〕に記載のモータ制御回路の制御方法であって、決定するステップは、前記指定パラメータの値が初期値である場合に、前記制御アルゴリズムが前記第1の格納領域に格納された前記第1のパラメータ群を用いてモータ制御プログラムを実行することを決定してもよい。
【0021】
以下、本発明の実施の形態の具体例について図を参照して説明する。なお、以下の説明において、各実施の形態において共通する構成要素には同一の参照符号を付し、繰り返しの説明を省略する。
【0022】
2.実施形態の具体例
以下、本実施形態の具体例について図を参照して説明する。なお、以下の説明において、各実施形態において共通する構成要素には同一の参照符号を付し、繰り返しの説明を省略する。
【0023】
本実施形態のモータ制御回路は、例えば、ファン装置に搭載されたモータ駆動制御装置内で駆動制御信号を生成する回路として用いることができる。まず、本実施形態のモータ制御回路を有するモータ駆動制御装置が搭載されたファン装置について説明する。
【0024】
図1は、モータ制御回路10を有するモータ駆動制御装置104を搭載したファン装置100の一例を示す概略構成図である。ファン装置100は、インペラ101と、モータ102と、位置センサ103と、モータ駆動制御装置104とを備えている。
【0025】
図1に示すように、ファン装置100において、インペラ101は、モータ102に接続されており、モータ102におけるロータの回転(「モータ102の回転」ともいう)に従って回転する。モータ102は、モータ駆動制御装置104によって回転駆動される。モータ102としては、例えば、3相のブラシレスモータを用いることができるが、モータの種類は特に限定されず、相数も3相に限定されない。
【0026】
位置センサ103は、モータ102におけるロータの回転位置に応じた信号をモータ駆動制御装置104に出力する。本実施形態においては、位置センサ103としてのホール素子の出力信号から、モータ駆動制御装置104においてロータの回転位置を推定してロータの回転位置信号を生成している。位置センサ103としては、ホール素子に限定されず、モータ102におけるロータの回転位置を特定できるセンサであれば特に限定されない。また、位置センサを有さないセンサレス方式であってもよい。
【0027】
モータ駆動制御装置104は、ロータの回転位置信号に基づいて、モータ102の3相の電機子コイルに駆動電流(「モータ電流」ともいう)を流すことによって、モータ102を回転駆動している。モータ駆動制御装置104は、モータ102の駆動を制御するための駆動制御信号Sdを生成するモータ制御回路10と、駆動制御信号Sdに基づいてモータ102に駆動電流を流すインバータ回路21を有するモータ駆動部20と、モータ駆動部20の駆動電流を検出する電流検出部25と、位置センサ103からの出力信号に基づいてロータの回転位置を検出して回転位置信号を生成する位置検出部26とを有している。
【0028】
モータ制御回路10は、例えば、通信部を介してアクセスすることができる。ファン装置100の動作を指示する上位装置から通信部を介して目標回転数が指示されると、モータ制御回路10は、モータ102の回転が目標回転数となるようにモータ駆動部20に駆動制御信号Sdを出力する。また、モータ制御回路10は、上位装置から実回転数(「現在回転数」ともいう)の通知要求を受けとると、現在の単位時間あたりのモータ102の実回転数を上位装置に通知することもできる。
【0029】
モータ制御回路10には、位置検出部26で生成された回転位置信号が入力される。モータ制御回路10は、位置検出部26で生成された回転位置信号から得られるロータの回転位置に基づいて、現在の単位時間あたりのモータ102の実際の回転数である実回転数を測定することができる。モータ制御回路10は、測定した実回転数に応じて、モータ102の回転が目標回転数となるようにモータ駆動部20に駆動制御信号Sdを出力することができる。
【0030】
モータ駆動部20は、インバータ回路21を有し、インバータ回路21によって、モータ制御回路10から出力される駆動制御信号Sdに基づいて、モータ102に駆動電流を流す。
【0031】
電流検出部25は、インバータ回路21による駆動電流をモータ電流として検出し、モータ制御回路10に入力する。モータ制御回路10は、モータ電流が所望の値になるようにモータ駆動部20にその駆動を制御する駆動制御信号Sdを出力する。
【0032】
モータ制御回路10は、上位装置の指示に基づいた制御や通知を行うとともに、駆動制御信号Sdを出力するための機能部として、送信部11と、受信部12と、通信処理部13と、進角・デューティ決定部15と、デューティ設定部16と、進角制御部17と、通電制御部18と、回転数測定部19とを備える。これらの機能部は、モータ制御回路10のハードウェア構成が所定の処理を実行することによって実現される。
【0033】
送信部11は、通信部を介して上位装置や外部装置に任意の信号を送信し、受信部12は通信部を介して上位装置や外部装置から任意の信号を受信する。送信部11および受信部12は、通信処理部13に制御されて、所定の内容を送信または受信を実行するインタフェース機能を実現する。
【0034】
通信処理部13は、上位装置からモータの目標回転数の指示を受信すると、目標回転数を進角・デューティ決定部15に通知する。通信処理部13は、上位装置から回転数の通知要求を受信すると、回転数測定部19から受け取ったモータ102の実回転数を示す情報である実回転数情報を、送信部11を介して通知要求元の上位装置に送信する。
【0035】
進角・デューティ決定部15は、目標回転数に応じた所定の進角値と、当該目標回転数となるように調整されたデューティ比を、駆動制御信号Sdの進角値およびデューティ比の組み合わせとして決定する機能を実現する。
【0036】
進角・デューティ決定部15は、目標回転数に対応する駆動制御信号Sdの進角値としてあらかじめ定められた駆動制御信号Sdの進角値を進角制御部17に出力し、任意のディーティ比をデューティ設定部16に出力する。目標回転数に対応する駆動制御信号Sdの進角値としてあらかじめ定められた駆動制御信号Sdの進角値は、メモリ(
図2に示す第1の不揮発性メモリ3、第2の不揮発性メモリ4)に、後述するパラメータとして目標回転数と対応する駆動制御信号Sdの進角値の組み合わせを格納しておくことができる。このメモリに格納されたパラメータ群を用いて制御アルゴリズムによってモータ制御プログラム(「プログラム」ともいう)を実行することによって決定した進角値で駆動制御信号Sdを生成することができる。任意のデューディ比は、フィードバック入力されるモータ102の回転数が目標回転数に収束するような値に決定される。モータ102の実回転数は、回転数測定部19から取得したものを利用することができる。任意のデューディ比についても、メモリに格納されたパラメータ群を用いて制御アルゴリズムによってプログラムを実行することによって決定したディーティ比の駆動制御信号Sdを生成することができる。
【0037】
通電制御部18は、デューティ設定部16、進角制御部17で決められた駆動制御信号Sdの進角値およびデューティ比の組み合わせに基づいて前記駆動制御信号Sdを生成する駆動制御信号生成部として機能する。
【0038】
デューティ設定部16および進角制御部17は、決められた駆動制御信号Sdの進角値とデューディ比を通電制御部18に通知する。通電制御部18は通知された進角値とデューティ比でモータ駆動部20のインバータ回路21の駆動を制御するための駆動制御信号Sdを生成する。通電制御部18は、位置検出部26で生成された回転位置信号に基づいて、駆動制御信号Sdの生成タイミングをとることができる。通電制御部18は、決定された駆動制御信号Sdの進角値に基づいて、位置検出部26で生成された回転位置信号を参照し、インバータ回路21の駆動信号の位相が所定の進角値となるように、駆動制御信号Sdを制御して出力する。さらに、通電制御部18は、駆動制御信号Sdのデューティ比に基づいて、例えば、PWM信号として生成される駆動制御信号Sdのデューティ比を制御して出力する。
【0039】
図2は、モータ制御回路10のハードウェア構成例を示すブロック図である。モータ制御回路10は、
図2に示すように、CPU1と、RAM2と、第1の不揮発性メモリ3(第1の格納領域の一例)と、第2の不揮発性メモリ4(第2の格納領域の一例)と、A/D変換回路5と、入出力I/F回路6と、クロック回路等のハードウェア要素を有し、各構成要素がバスや専用線を介して互いに接続されたプログラム処理装置(例えば、マイクロコントローラ:MCU)によって構成されている。
【0040】
モータ制御回路10では、プロセッサとして機能するCPU1が、第1の不揮発性メモリ3または第2の不揮発性メモリ4に格納され、RAM2に呼び出されたプログラムに従って各種演算を行うとともに、A/D変換回路5と、入出力I/F回路6とを制御することによって、
図1に示すモータ制御回路10内の各機能部の構成を実現している。
【0041】
図2に示すように、本実施形態のモータ制御回路10では、プロセッサとして機能するCPU1が、第1の不揮発性メモリ3または第2の不揮発性メモリ4に格納されたプログラムを呼び出してRAM2に格納し、RAM2に格納されたプログラムに従って各種演算を行うことによって、上述した各種機能を実現している。CPU1によって実行されるプログラムは、制御アルゴリズムとパラメータ群とを含んでおり、プログラムによって実現される各種機能は、パラメータに応じて変更または調整することができる。例えば、パラメータ群に応じて通電方式などの機能を変更することができる。また、パラメータ群に応じてモータ制御回路10の駆動制御信号Sdを適宜変更して、実現する機能を調整することができる。パラメータとは、例えば、本実施形態のファン装置の場合における「モータ回転数のカーブ」、「進角値」などであるが、機能を変更または調整するために用いられるものであれば特に限定されない。
【0042】
図3は、第1の不揮発性メモリ3および第2の不揮発性メモリ4に格納されたモータ制御プログラムについて説明する図である。本実施形態のモータ制御回路10では、2つの不揮発性メモリ3、4を備えている。
【0043】
第1の不揮発性メモリ3には、書き換えを行うことを意図していないので、書き換え可能・不可能を問わず、任意の不揮発性メモリを用いることができる。第1の不揮発性メモリ3として用いることができる不揮発性メモリには、例えば、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)などが挙げられるが、これらに限定されない。
【0044】
第2の不揮発性メモリ4としては、第1の不揮発性メモリ3とは異なり、書き換えを行うことを前提としたメモリを用いることができる。第2の不揮発性メモリ4として用いることができる不揮発性メモリには、例えば、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)などを挙げることができ、書き換えが可能な不揮発性メモリであればこれらに限定されない。
【0045】
本実施形態のモータ制御回路10では、量産時には、プログラムを構成する制御アルゴリズム200と基本的な機能を実現するために用いられる第1のパラメータ群201との両方を、第1の不揮発性メモリ3に格納することとしている。第2の不揮発性メモリ4については、指定パラメータX以外の第2のパラメータ群202は量産時に使用しない。制御アルゴリズム200と量産に対応した第1のパラメータ群201を第1の不揮発性メモリ3のみに格納することで、プログラムの格納が1工程で実行できるのでタクトタイムの増加を抑制することができる。その一方で、第2の不揮発性メモリ4には、例えば、量産時より前の開発時や量産時より後の変更または調整時などの量産時とは別のタイミングにおいて、PC(personal computer)300等の外部装置から、第2のパラメータ群202を適宜変更することができる。第2の不揮発性メモリ4に対して、第1のパラメータ群201とは別の第2のパラメータ群202を適宜変更することにより、プログラムの実行(制御アルゴリズム200による第2のパラメータ群を用いたモータ制御プログラムの実行)によって実現する機能を適宜変更または調整することができる。
【0046】
モータ制御回路10では、第2の不揮発性メモリ4は、適宜に値を変更可能な指定パラメータXを有している。この指定パラメータXは、制御アルゴリズム200が第1の不揮発性メモリ3に格納された第1のパラメータ群201(パラメータ1A、1B、・・・1W)と第2の不揮発性メモリ4に格納された第2のパラメータ群202(パラメータ2A、2B、・・・2W)とのうちのどちらのパラメータ群を用いてモータ制御プログラムを実行するかを指定する。モータ制御回路10では、CPU1が第1の不揮発性メモリ3に格納された制御アルゴリズム200を起動したときに、制御アルゴリズム200が指定パラメータXの値を参照することによって、制御アルゴリズム200が第1のパラメータ群201と第2のパラメータ群202とのどちらのパラメータ群を用いるかを決定し、決定したパラメータ群を用いてモータ制御プログラムを実行する。以上により、必要に応じて変更または調整された機能を実現することができる。
【0047】
(モータ制御回路の制御方法)
図4は、制御アルゴリズム200がパラメータ群を読み込んでモータ制御プログラムを実行する処理フローを示すフローチャートであり、
図5は、指定パラメータXの機能を説明するための図である。まず、モータ制御回路10では、第1の不揮発性メモリ3に格納された制御アルゴリズム200がRAM2に読み込まれ、制御アルゴリズム200が起動すると、第2の不揮発性メモリ4の指定パラメータXを読み込み(ステップS101)、指定パラメータXが「0」であるか「1」であるかを判定する(ステップS102)。なお、本明細書においては、指定パラメータXが「0」場合、制御アルゴリズム200は第2の不揮発性メモリ4に格納された第2のパラメータ群202(パラメータ2A、2B、・・・2W)を用いてプログラムを実行し、指定パラメータXが「1」の場合、制御アルゴリズム200は第1の不揮発性メモリ3に格納された第1のパラメータ群201(パラメータ1A、1B、・・・1W)を用いてプログラムを実行することとして説明するが、これに限定されない。
【0048】
指定パラメータXが「0」の場合(ステップS102:Yes)は、第2の不揮発性メモリ4に格納された第2のパラメータ群202(パラメータ2A、2B、・・・2W)を読み込み、RAM2に格納する(ステップS103)ことにより、プログラムを実行する(ステップS105)。制御アルゴリズム200が第2の不揮発性メモリ4に格納された第2のパラメータ群202(パラメータ2A、2B、・・・2W)を用いてプログラムを実行することにより、変更または調整された機能を実現できる。
【0049】
指定パラメータXが「1」の場合(ステップS102:No)は、第1の不揮発性メモリ3に格納された第1のパラメータ群201(パラメータ1A、1B、・・・1W)を読み込み、RAM2に格納する(ステップS104)ことにより、プログラムを実行する(ステップS105)。制御アルゴリズム200が第1の不揮発性メモリ3に格納された第1のパラメータ群201(パラメータ1A、1B、・・・1W)を用いてプログラムを実行することにより、量産時に定義された基本的な機能を実現できる。
【0050】
プログラムの実行が終了する(ステップS106:Yes)まで、プログラムの実行処理を継続する(ステップS105に戻る)。
【0051】
本実施形態においては、指定パラメータXの初期値は「1」である。すなわち、指定パラメータXの値を書き換えていない場合は、指定パラメータXの値は「1」であるので、
図4の制御アルゴリズム200のパラメータ読み出し処理において、制御アルゴリズム200は、第1の不揮発性メモリ3に格納された第1のパラメータ群201(パラメータ1A、1B、・・・1W)を用いてプログラムを実行する。制御アルゴリズム200が第2の不揮発性メモリ4に格納した第2のパラメータ群202を用いてプログラムを実行したい場合は、指定パラメータXを「0」に書き換え、第2のパラメータ群202(パラメータ2A、2B、・・・2W)を用いるようにすることにより、所望のプログラム処理が実行される。
【0052】
(プログラム書き込み方法)
ここで、本実施形態のモータ制御回路10を搭載したファン装置100におけるプログラムの書き込み方法について説明する。
【0053】
図6は、本実施形態のモータ制御回路10を搭載したファン装置100の量産時におけるモータ制御プログラムの書き込み方法について説明するシーケンス図である。このシーケンス図においては、ファン装置100の外部から書き込み治具400(
図3参照)によって、モータ制御回路10の第1の不揮発性メモリ3内のローダ203(
図3参照)を介してプログラムを書き込む例である。
【0054】
図6に示すように、本実施形態のモータ制御回路10を搭載したファン装置100では、書き込み治具400が、ローダ203に全てのパラメータと制御アルゴリズム200との書き込み要求を行うことができる。ローダ203は、第1の不揮発性メモリ3に全てのパラメータ(第1のパラメータ群201)の書き込みと制御アルゴリズム200との書き込みとを同じ工程で実行する。書き込みが完了すると、ローダ203は、書き込みが完了した旨を、書き込み治具400に対して通知する。このように、本実施形態のモータ制御回路10によれば、量産時に、書き込み治具400からの一度の書き込み要求でプログラム(全てのパラメータと制御アルゴリズム200)が格納できる。なお、本実施形態のモータ制御回路10においては、量産前の開発時においても、量産時と同様の手法で第1の不揮発性メモリ3にプログラムを書き込んでもよい。
【0055】
従来のモータ制御回路を搭載したファン装置では、量産時に、1つの不揮発性メモリに制御アルゴリズムを格納し、別の不揮発性メモリにパラメータ群を格納する。この場合、書き込み治具が、ローダに全てのパラメータと制御アルゴリズムとの書き込み要求を一括して行うことができない。すなわち、制御アルゴリズムの書き込み要求を行って、制御アルゴリズムの書き込み完了の通知を受けてから、パラメータの書き込み要求を行う必要がある。したがって、従来のモータ制御回路では、量産時に、書き込み治具から二段階での書き込み要求でプログラムを格納する必要がある。
【0056】
このように、量産時に、従来のモータ制御回路では、書き込み治具から二段階での書き込み要求でプログラムを格納する必要があるのに対し、本実施形態のモータ制御回路10によれば、書き込み治具400からの一度の書き込み要求でプログラムが格納できる。したがって、本実施形態のモータ制御回路10によれば、従来のモータ制御回路に比べて、量産時のタクトタイムの増加を抑制することができるといえる。
【0057】
本実施形態のモータ制御回路10を搭載したファン装置100では、
図6に示すように、量産時においては、機能を変更または調整するパラメータ(第2のパラメータ群202)を使用しない。その代わりに、機能を変更または調整する必要がある時、例えば、量産前の開発時または量産後の機能の変更または調整を含む機能調整時(以下、「機能調整時」という)に変更または調整用のパラメータ(第2のパラメータ群202)を使用することができる。
【0058】
図7から
図9は、量産前の開発時または量産後の機能調整時におけるモータ制御プログラムの変更方法を示す図である。
図7は、量産前の開発時または量産後の機能調整時におけるパラメータ群の変更方法を示す図(具体的には、機能の変更または調整用の第2のパラメータ群202の全てのパラメータを一括して変更する場合の例)であり、
図8は、量産前の開発時または量産後の機能調整時におけるパラメータの変更方法を示す図(具体的には、機能の変更または調整用の第2のパラメータ群202の一部のパラメータを変更する場合の例)であり、
図9は、量産前の開発時または量産後の機能調整時における指定パラメータの変更方法を示す図(具体的には、制御アルゴリズム200が用いるパラメータ群を量産時の第1のパラメータ群201に戻す場合の例)である。
図7から
図9は、PC300からのパラメータの変更要求に応じて、CPU1が制御アルゴリズム200によりパラメータ群の変更を行う例である。
【0059】
量産時の機能として定義された機能を変更または調整するために、制御アルゴリズム200が量産時に第1の不揮発性メモリ3に格納する第1のパラメータ群201とは異なる第2のパラメータ群202を用いてプログラムを実行しようとする場合、
図7に示すように、パラメータ群を一括して変更することができる。
図7に示すように、CPU1が、パラメータ群のすべてを変更する要求をPC300から受け取ると、制御アルゴリズム200に従って、第2の不揮発性メモリ4の第2のパラメータ群202を変更する。第2の不揮発性メモリ4において第2のパラメータ群202の変更が完了すると、CPU1が、制御アルゴリズム200に従って、PC300に第2のパラメータ群202の変更完了を通知する。第2のパラメータ群202の変更には指定パラメータXの変更も含まれており、指定パラメータXは初期値と異なる「0」に変更される。指定パラメータXが「0」となるので、制御アルゴリズム200は、第2の不揮発性メモリ4に格納された第2のパラメータ群202を読み出して、プログラムを実行する。したがって、量産時に定義された機能が変更または調整される。
【0060】
量産時に定義された機能の一部のみを変更または調整するために、量産時に第1の不揮発性メモリ3に格納する第1のパラメータ群201のうちの一部とは異なるパラメータを用いてモータ制御プログラムを実行しようとする場合、第2のパラメータ群202のうちの一部を変更することができる。
図8に示すように、CPU1が、第2のパラメータ群202のうちの一部であるパラメータ2Cを変更する要求をPC300から受け取ると、制御アルゴリズム200に従って、第2の不揮発性メモリ4のパラメータ2Cと指定パラメータXを変更する。指定パラメータXは、初期値と異なる「0」に変更される。指定パラメータXが、パラメータ2Cの変更を受けた時点でもともと初期値と異なる「0」である場合は、必ずしも値を変更する必要はない。第2の不揮発性メモリ4においてパラメータ2Cおよび指定パラメータXの変更が完了すると、CPU1が、制御アルゴリズム200に従って、PC300にパラメータ2Cの変更完了を通知する。パラメータ2Cとともに指定パラメータXは初期値と異なる「0」に変更されるので、制御アルゴリズム200は、第2の不揮発性メモリ4に格納されたパラメータ2Cを含む第2のパラメータ群202を用いて、プログラムを実行する。したがって、量産時に定義された機能の一部のみが変更または調整される。
【0061】
量産時に定義された機能を変更または調整した後に、再び量産時に定義された機能に戻すために、量産時に第1の不揮発性メモリ3に格納する第1のパラメータ群201を用いて制御アルゴリズム200がプログラムを実行しようとする場合、
図9に示すように、指定パラメータXを変更することができる。
図9に示すように、CPU1が、指定パラメータXを変更する要求をPC300から受け取ると、制御アルゴリズム200に従って、第2の不揮発性メモリ4の第2パラメータ群202に格納されている指定パラメータXを変更する。指定パラメータXは、初期値と同じ「1」に変更される。第2の不揮発性メモリ4において指定パラメータXの変更が完了すると、CPU1が、制御アルゴリズム200に従って、PC300に指定パラメータXの変更完了を通知する。指定パラメータXは初期値と同じ「1」となるので、制御アルゴリズム200は、第1の不揮発性メモリ3に格納された第1のパラメータ群201を読み出して、プログラムを実行する。したがって、量産時の機能として定義された機能が実行される。
【0062】
(実施形態の変形例)
以上説明した本実施形態のモータ制御回路によれば、不揮発性メモリに格納されたパラメータを書き換えることにより実現する機能を変更または調整可能なモータ制御回路において、量産時におけるタクトタイムの増加を抑制することができる。
【0063】
以上の実施形態では、
図1の構成のファン装置を用いて、具体的な一例について説明した。しかしながら、ファン装置の構成、モータ制御回路の構成、モータ駆動制御装置の構成についても説明した例に特に限定されない。
【0064】
モータ制御回路のハードウェア構成も、
図2等に示した構成は、具体的な一例を説明したものであり、この構成に限定されない。例えば、以上の実施形態では、不揮発性メモリが第1の不揮発性メモリ3と第2の不揮発性メモリ4とを物理的に別個のメモリとして構成した場合を例に挙げて説明している。これらの2つの不揮発性メモリ3、4は、必ずしも物理的に別個の構成とする必要はなく、2つの記憶領域を設けた1つの不揮発性メモリにより構成してもよい。例えば、1つのフラッシュメモリを用いて、仮想アドレス空間を定義し、実際にアクセスする実メモリ空間を複数対応させることによって、見かけ上は2つの記憶領域が存在するようにソフトウェアによって変換することができる。この2つの記憶領域をそれぞれ、第1の不揮発性メモリ3と第2の不揮発性メモリ4として用いることができる。
【0065】
図4、5に示したモータ制御回路における制御アルゴリズム200がパラメータを読み込んでプログラムを実行する処理を含むモータ制御回路の制御方法についても、具体的な一例について説明したものであり、この具体例に限定されない。
【0066】
図6に示したプログラムの書き込み方法及び
図7から
図9に示したパラメータの変更方法についても、具体的な一例について説明したものであり、この具体例に限定されない。
【0067】
また、本実施形態では、指定パラメータXが第2のパラメータ群202に含まれるものとして説明したが、指定パラメータXは、第2の不揮発性メモリ4(すなわち、第2の格納領域)に含まれていればよく、必ずしも第2のパラメータ群202に含まれていなくてもよい。
【符号の説明】
【0068】
1…CPU、2…RAM、3…第1の不揮発性メモリ(第1の格納領域の一例)、4…第2の不揮発性メモリ(第2の格納領域の一例)、5…A/D変換回路、6…入出力I/F回路、10…モータ制御回路、11…送信部、12…受信部、13…通信処理部、15…進角・デューティ決定部、16…デューティ設定部、17…進角制御部、18…通電制御部、19…回転数測定部、20…モータ駆動部、21…インバータ回路、25…電流検出部、26…位置検出部、100…ファン装置、101…インペラ、102…モータ、103…位置センサ、104…モータ駆動制御装置、200…制御アルゴリズム、201…第1のパラメータ群、202…第2のパラメータ群、203…ローダ、300…PC、400…書き込み治具、X…指定パラメータ、1A~1W,2A~2W…パラメータ