日本電産のモーター制御プラットフォームにSTM32ファミリを採用。

モーターの応用が、家電、産業機器、自動車、さらにはラジコンのような趣味の世界にまで広がるなかで、ハードディスク用のスピンドルモーターや小型のDCブラシレスモーターの分野を中心に世界トップを目指すモノづくりを進めてきた日本電産。多様化する顧客ニーズに応えるために、同社はCortex-M3プロセッサを搭載したSTマイクロエレクトロニクスの32bitマイコン「STM32」をモーター制御に採用した。同社モーター基礎研究所の藤田 淳氏にお話を伺った。

メインイメージ

Cortex-M3を使った日本電産のモーター制御プラットフォームに応えるモーターを幅広く展開

まずはじめに、御社の概要について教えてください。

藤田:日本電産の創業は1973年で、ハードディスクに使われているスピンドルモーターをはじめとする小型から、車載、家電用等の中型、そして産業用等の大型モーターの製造販売を手掛けています。ハードディスクのスピンドルモーターは海外や国内のHDDメーカーの多くに採用されていて、ワールドワイドでのシェアナンバーワンであり、その他、精密小型ファン、自動車用モータへと次々に拡大しています。私自身は2005年に新設されたモーター基礎研究所に所属し、モーター制御アルゴリズムの研究開発を担当しています。

御社ではARM Cortex-M3プロセッサを搭載したSTの「STM32」ファミリを使ってモーターを制御していると伺っていますが、採用に至った経緯をお聞かせください。

藤田:モーターは家電製品や産業機器などで幅広く使われていますが、用途に応じてサイズや回転数などの要求仕様が異なります。これを個別に開発していたのではリソースがいくらあっても足りません。そこで、最新の制御アルゴリズムを実装できるだけの十分な性能を備えたシングルチップの32ビットマイコンを共通プラットフォームとし、その上で個々のモーター製品に合わせた制御プログラムを動かすアーキテクチャを用いることにしました。STのCortex-M3マイコンは当社のこのようなニーズにもっともふさわしいと判断して採用に至っています。

それはいつ頃のことですか?

藤田:2009年頃のことです。汎用性があり、コストが安く、モーター制御に十分な性能を持ち、かつ、さまざまな制御アルゴリズムや製品バリエーションに展開できる「懐の深い」マイコンはないかと、国産コアのものやARMベースのマイコン製品をひと通り調べました。その年の「Embedded Technology 2009」で各社のブースを回っていたところ、ちょうどSTがSTM32を使った3相モーター制御開発キット「STM3210B-MCKIT」を展示していたのです。最新のベクトル制御が組み込まれていて、探していたものはまさにこれだ、という感じでした。

マラヴィタ:STは半導体メーカーですが、ICだけの提供にとどまらず、アプリケーションレベルでお客様に価値を提供するように努めています。特に産業向けアプリケーションは極めて重要と認識しており、モーター制御に関してはイタリアに専任チームを設けている他、現地の大学と共同プロジェクトを含む研究開発も進めてきました。藤田さんが展示会でご覧になったベクトル制御は、4年ほど前に最初のリリースを行ったファームウェアライブラリ「STM32 FOC PSMS SDK」の一部で、当時の段階でもすでに多くのお客様にご利用いただいていたものです。

大賀:アクシスデバイス・テクノロジーはSTの販売代理店をしていますが、このときにご紹介を受けたことをきっかけとして、日本電産様とのお付き合いが始まりました。モーター制御開発キットの詳細なデモにはじまり、キットの貸し出しや技術的なお問い合わせに対応しながら、STM32の特長や使い方を藤田さんにご説明させていただきました。Cortex-M3プロセッサであれば将来性や開発環境の点でもメリットがあることなどもお伝えしました。また、ARM社はロードマップが明確に示されている点もポイントとなりました。

STM32の採用にあたってはどのような点を評価されたのでしょうか?

藤田:ひとつはリアルタイムで『プログラムの見える化』が実現できるデバッグ機能です。モーター制御プログラムの開発では、モーターの回転とプログラムの動作とを厳密に対応させながら確認していく必要がありますが、Cortex-M3プロセッサには内部動作を把握できるETM機能(Embedded Trace Macrocell)が組み込まれているため、プログラム開発の効率向上が期待できました。また、STが提供するベクトル制御ライブラリの完成度が非常に高かったことも採用理由のひとつです。先ほどマラヴィタさんが言われたように、すでに市場で揉まれていた実績があったため、学習を目的としたサンプルプログラムとは違って、製品への適用にも十分に耐え得ると判断しました。それと、やはりモーターはコストが重要なので、当時の「1ドルマイコン」という謳い文句にも惹かれましたね。

野田:藤田さんが当社のマイコンを検討された2009年頃は、パフォーマンスラインと呼んでいるSTM32F103シリーズにしかベクトル制御ライブラリが対応していませんでした。ただすぐあとに、当社がバリューラインと呼んでいるSTM32F100シリーズにもPWMタイマーが搭載され、現在はすべてのラインアップでベクトル制御ライブラリが動作するようになっています。そういったスケーラビリティも評価していただいたものと考えています。

藤田:実はモーター制御開発キットは大賀さんに頼んで個人としても購入したんです。当時はまだ独身だったこともあって小遣いで買って自宅でいじっていました(笑)。

野田:うれしいエピソードですね。当社のお客様には藤田さんのようなマニアックな方が結構いらっしゃるんですよ。

完成度の高いライブラリを無償提供。製品レベルの機能を備えMISRA-Cにも準拠

STのベクトル制御ライブラリについてもう少し詳しく教えてください。

マラヴィタ:ベクトル制御は、モーターに与える電流を、磁束を生成する電流とトルクを生成する電流とに分けて制御する方式ですが、回転数やトルクをきめ細かく調整できる点が特徴です。先ほども触れたようにSTでは、アプリケーションを支えるソフトウェアやファームウェアの開発にも積極的に取り組んできました。ベクトル制御ライブラリは当社のウェブサイトで無償提供しています。

藤田:STのベクトル制御ライブラリが優れている点のひとつが、フェイルセーフ機能がきちんと実装されているところです。システムを設計した人ならわかると思うのですが、本来の機能を実現する部分よりも、異常動作に対処する部分のほうが開発に時間がかかり、プログラム容量も大きくなります。STのライブラリはこの点が充実していて、そのまま製品に組み込めるレベルにありました。

マラヴィタ:補足すると、当社のベクトル制御ライブラリはCortexのソフトウェアインタフェースとしてARMが規定している「CMSIS」(Cortex Microcontroller Software Interface Standard)に準拠していますので、ソフトウェアの再利用やOSへの組み込みが容易です。また、MISRA(Motor Industry Software Reliability Association)が定める「MISRA-C」ガイドラインにも準拠していますので、品質の点においても問題ありません。

モーター制御は他のマイコンベンダーも力を入れ始めています。そのなかでSTの優位性はどこにあるとお考えでしょうか。

大賀:複数の半導体ベンダーがベクトル制御エンジンを搭載したマイコンを製品化していますが、一部のお客様からは、実装が簡単になるのはいいけれど独自のハードウェアに機能が制約されたくない、という声も聞かれます。その点STはプログラミングによって制御するという自由度の高いアプローチを採用し、しかもライブラリが充実していますので、モーターの特性やアプリケーションのニーズに合わせた製品作りが可能になると考えています

藤田:最近ではセンサレス・ベクトル制御といって、回転子位置を検出するセンサを用いることなく、モーターに印加した電圧と流れる電流から位置を推定して制御しようという高度な理論が発展しつつあります。そういった最新の制御アルゴリズムを研究するには、大賀さんが言われるようにソフトウェアで実装できたほうが望ましく、また製品に搭載するときもソフトウェアならさまざまな展開や可能性が広がると考えています。

制御精度やコストに応じてCortex-M4とCortex-M0も今後検討

実際にSTM32ファミリを採用してどのようなメリットを感じられましたか?

藤田:まず、バッテリ駆動のアプリケーションが増えているなかでSTM32の消費電力が非常に少ないこと。次に、小型モーターへの組み込みに適した6mm×6mmの小型36ピンパッケージ品が用意されている点は大きなメリットでした。モーターの実装においては『小は大を兼ねる』と考えており、小型の基板が作れれば小型モーターから中型モーターまで兼用することができるからです。

マラヴィタ:当社の評価ボードは一般的なサイズなのですが、藤田さんから制御基板を見せていただいたときにはあまりの小ささに驚きました。パッケージや回路サイズの小型化に対するニーズを実感したことを覚えています。

現在、開発ツールは何を使っているのでしょうか?

藤田:現在はIAR社の「IAR Embedded Workbench」を使っています。研究所ということで他のマイコンも使うことがあるため、多種のプラットフォームに対応しているIARを選択しました。

大賀: ARMマイコンはそれぞれ特徴をもったサードパーティ製の開発ツールが豊富に使えるので、お客様にご提案する立場としても助かっています。

実際にモーターを構成しようとすると、制御用のマイコンだけでは不十分で、ゲートドライバやパワーデバイスなども必要になってきます。

野田:実は当社でもさまざまなデバイスを取り揃えています。日本でもSTM32の知名度が高まるにつれ、ST = マイコン、というイメージで捉えられるお客様も多くなってきていますが、EEPROM、パワーデバイスやアナログデバイス等、幅広い製品を提供するベンダーとして知られています。モーターに関しても、ゲートドライバやIGBTインバータモジュールを各種取り揃えていて、日本電産様のあるグループ企業ではフルキットでご採用いただいております。

STはARM Cortex-M4プロセッサおよびCortex-M0プロセッサを搭載した新しいマイコンファミリを開発中ですが、将来これらを採用する可能性はありますか?

藤田:Cortex-M4が搭載する浮動小数点ユニットは研究に役立つと考えています。というのも、制御理論を検証しようというときに、固定小数点ではどうしても誤差が出てしまいますので、浮動小数点で精度高く演算して制御してみたいというニーズがあるからです。一方のCortex-M0は、ローエンドファミリということでコスト面で魅力を感じます。ベクトル制御ライブラリが動いて、かつ、モーター制御に十分な性能が得られることが分かれば、製品への採用を前向きに検討したいと思っています。

野田:Cortex-M0を搭載したマイコン製品にもPWMタイマーを実装する予定ですので、ベクトル制御ライブラリもサポートできると考えています。そうすると、研究開発や高性能モーターにはCortex-M4ベース、量産製品や低価格が要求される製品にはCortex-M0ベースというご提案ができそうですね。新しいマイコンファミリは鋭意開発中ですのでもう少しお待ちください。

上位概念での設計を実現するモデルベース開発への対応に期待

STに今後期待することはありますか?

藤田:ひとつはモーター制御に特化した高集積化です。より小型かつ低コストで実現できるように、ゲートドライバや、さらにはパワーデバイスまでもワンチップにしてもらえるとありがたいですね。もうひとつは、すでにマラヴィタさんにはお願いしているのですが、自動車分野で主流となっているモデルベース開発(MBD)への対応です。機能や概念を上位のモデルで記述し、MathWorks社のMATLAB/SIMULINKでシミュレーションした後、Cコードが自動で生成されれば、開発効率も高くなりますしプログラム品質も上がります。

マラヴィタ:STM32ファミリは車載用ではないこともあって、これまでモデルベース開発に対するご要望はなく、実は藤田さんが初めてでした。ただ家電や産業分野でもMATLAB/SIMULINKを使った設計フローが使われ始めていますので、イタリア本社でも重要性を認識し、優先度を上げて検討を進めています。

野田:STは外資系の半導体ベンダーですが、これまでも日本のお客様のさまざまな声を製品に反映してきました。たとえばSTM32F100バリュー・ラインは日本のお客様からのリクエストがきっかけとなって開発した品種です。今日いただいた藤田さんのリクエストにもお応えできるようなモーターアプリケーションにフォーカスした製品にさらに取り組んでいきたいと考えておりますので、ぜひ期待していただければと思います。

最後にこれからの取り組みをお聞かせください。

大賀:モーターには、単に回るだけではなく、小型、高効率、あるいは高機能など、さまざまな付加価値が求められるようになっています。販売代理店の立場からは、日本電産様が優れた製品を開発できるように設計の上流段階からお手伝いするとともに、STのプレゼンスを高めていきたいと考えています。

藤田:当社は「世の中でなくてはならぬ製品を供給すること」「一番にこだわり、何事においても世界トップを目指すこと」を経営基本理念に掲げています。すでにハードディスク用のスピンドルモーターで世界一のシェアを獲得しているほか、ラジコングライダー競技の最高峰といわれる「F5B」向けに8kW/kgというF1エンジンを超えるパワーウェイトレシオを実現した高出力モーターを開発した実績を誇っております。こういった技術力をベースに、STのマイコンも活用しながら、レアアースを使わない高出力モーターの開発や小型風力発電装置の開発など、世界トップクラスの製品作りに取り組んでいきます。

世界へのさらなるチャレンジを期待しております。本日はありがとうございました。