モータ駆動系の開発では,位置制御や速度制御を行うための制御器の構築のみでなく,モータ情報である電流や位置・速度情報を得るためのADコンバータの制御ロジック回路や,エンコーダパルスから速度演算を行うハードウェア回路の構築,PWM信号発生回路などが必要になります。
これらの回路,制御器への入出力を行い,様々なモータに対して迅速に制御を行う制御開発環境を構築することは,制御理論の確認や実装の問題点を検出するうえでも重要です。

ここでは,ロジック回路部とMPUを1つのFPGAに組み込んだデバイスを用いて,モータの開発環境を構築し,ブラウザ経由でのユーザーインターフェイス(UI)の充実を目指しています。ハードウェアとしてXillinx社のZynq 7000を使用した開発ボードを使用し,AD,DAコンバータはdigilent者のPmodシリーズを用いた汎用性のあるシステムを構築しています。

制御部には一部VHDLを用いた回路もありますが,Mathworls社のMATLAB/Simulink上でXilinx社のFPGAの回路ブロックを使用できるSytem Generatorを用いて開発環境の透明化と保守性を確保するようにしています。

さらに,Zynqのembedded CPUを活用するためubuntuベースのOSとpynqと呼ばれる環境を使用し,pythonでユーザインターフェイス(UI)を構築することを目指しています。

PMSMの場合のシステム概略図

システム構成例

システムを構築するために,ソフトウェア言語としてCやpythonのほかXilinx社の VIVADOやMathworls社のMATLAB/Simulinkを使っています。
リアルタイムプロットはPyQtgraphを利用しています。

リアルタイムプロットの様子