IPMモータ コントローラーアプリUpdate [状態モニター+シーケンス動作]
こんにちは。
今月のブログはK’zが担当いたします。
イントロダクションとしまして、恥ずかしながらまず私自身のUpdateをご紹介します。
私ごとですが、楽器(ベース)を始めたりアニメを観ることで個人的に音楽事情がアップデートできました。
私が好きな「髭男」、「YOASOBI」、「新しい学校のリーダーズ」が自分の中では新しいどころで、洋楽だと「エド・シーラン Shape of You」が私の最新状態でした。歳のせいか洋楽からはめっぽう遠ざかっています。新しくないですがYouTube再生数87億回の「ルイス・フォンシ デスパシート」は最近よく聞いてます。ラテンは良いですね♪
アニメのオープニングやエンディングに影響受けたのですが、特に一番は「葬送のフリーレン」のオープニング「ヨルシカ」さんの曲「晴れ」です。楽曲群が評判みたいですが、音楽の構成やらリズム隊、アレンジなど本当に凄くて「日本の音楽も独自の進化へとアップデートされているな」と思いました。
またアニメ「薬屋のひとりごと」では「Uruさんの アンビバレント」、「Omoinotakeさんのひとりごと」が本当にいい曲だと思いました。まさかこの歳で、アニメ音楽によってアップデートされるとは…歳を取ると新しいものに興味がわかないと言うか、ついていけなくなりつつあるのですが。
最後に福岡KBCの深夜テレビ放送の「お天気情報」で見付けたのですが、山口県出身のバンド「ミズニウキクサ」のメインボーカルが女性の方なのですが、ベースを弾きながら歌うベースボーカリストで、演奏が物凄く上手くてグルゥービーでめちゃくちゃカッコいいです。お天気情報の他のどのバンドよりも一番印象に残りました。このバンド、メジャーになる予感がします!
以上、私の個人的音楽事情アップデートでした。
さて本題のUpdateは、私が担当している「IPMコントローラアプリ」についてです。
インフォメーションでお知らせしておりますように、明和製作所は昨年と同じく、7/23-25に東京ビッグサイトで開催されましたテクノフロンティア2025の中のネクストコアテクノロジーズ社のブースに出展協力し、その中で行われた「PRECLYSTALモータ」のデモンストレーションについては弊社にて担当しました。


「PRECLYSTAL」はアモルファス、HLMETなどNCT社の低損失コア材の商標です。デモンストレーションでは通常のケイ素鋼板コアの中でも最も損失の小さい35H400コア材(スーパーEコア)を使用したモータとの比較運転を行いました。3つのモータを同時並行で運転して電流波形をモニター表示する事により、消費電力・効率の差がひと目でわかるようにしました。リアルタイムで①立ち上がり時間、②上限回転数、③Max回転数での運転時間、④停止時間を動作調整設定ができるようになっています。

このデモを行う上においては、これまで数回紹介させていただいたIPMコントローラアプリを使用し、それに合わせて今回Update集大成を行いましたので、ご紹介させていただきます。
今回で4度目のアップデートになります。
初回 :モータコントローラ用通信アプリを作成してみました (2021年11月)
2回目:コントローラー 通信アプリ開発、モータ特性試験 技術部での業務内容の紹介(2023年3月)
3回目:IPMコントローラーアプリの紹介(2024年4月)
前回までは、「回転数の上限値」、「回転上昇(下降)スピード時間」、「PIDゲイン」、「過電流・過負荷の上限値」、などのパラメータが設定変更できること。またモニタリング機能としまして、モータ回転数情報(数値とグラフで連続表示)、モータの電流値、モータの電圧値、温度(コントローラー 又は モータ)、回転数、電圧、電流値のタイムスタンプ付きログ出力(テキストやcsv形式)が可能なことも紹介しました。
これまで培ってきたものの集大成として、今回展示会向けアプリ用としてUpDateしました。
具体的には、下記の展示会用の構想図に基づいて、モータ3台の状態モニターと、そのシーケンス動作設定が行えるようにしました。

アプリの機能を追加し、改良に改良を重ねまして2ヶ月以上費やしてなんとか展示会に(ぎりぎり間に合い)お披露目できました。モニターアプリだけではなく、コントローラー側の制御プログラム×2とシーケンス動作のパラメータを設定変更するアプリと・・・トータル、4つのプログラムを同時に改良しました。ベースになったプログラムが有ったとは言え、いつもの倍以上の時間と労力が掛かりました。それだけ今回は大作となったのですが、プログラムの大変さ・苦労は中々伝わらないのが辛いところです。実は私自身もシンプルな内容で2週間程度でできだろうとたかをくくっていたのですが(^^;)
今回のアプリの特徴ですが。
「同時に3台のモータの状態をリアルタイムにモニターし、グラフと数値で比較できる」
と
「シーケンシャルな動作を実現する為に、その動作の設定変更が可能にする」
ことです。
まずモータ3台につきそれぞれコントローラーが有るのですが、その3台をコントローラ内蔵のCAN通信で連結させます。
CAN通信については下記にて紹介しています。(もっともアクセスが多いブログのひとつです。)
常時3台のコントローラーがCAN通信で情報をやり取りします。
その内の1台のコントローラーとPCをUSBケーブルを繋いでシリアル通信を行います。
PCのアプリで3台分のデータを画面上に表示させる仕組みとなっています。
なぜCAN通信を使うのかといいますと、同一線上で同時に通信を行うことができるからです。
CAN通信は、プロトコルレベルでお互いのタイミング調整を計り、優先順位を決めて信号の衝突無くかつ滞り無く通信ができます。(通信衝突回避技術:CSMA/CA方式と、衝突時に優先順を決めて通信を行う技術:IDによる通信調停)。
またCAN通信はモータから生じるノイズに強いのも特徴です。
Uartのシリアル通信には、このプロトコルがありません。頑張ってやろうと思えばできるかもしれませんが、自分で複雑な制御プログラムを入れる必要が生じます。
CAN通信の設計内容ですが、コントローラ3台の内、1台をマスター(主)とし、残り2台をスレーブ(副)とします。(主従関係)

それぞれの役割ですが、マスター(主)はスレーブ(副)2台に回転数などの指令を送る役割をします。マスターの命令に従い他の2台のモータが回転します。
もうひとつのマスターの役割は、スレーブからの情報を受信(収集)する役目が有ります。
逆に言うと、スレーブの役割は、マスターへ「実回転数」、「印加電圧」、「消費電流」、などのステータス情報を常時送り続けます。
そしてマスター(のコントローラー)は自分を含めた3台分のモータ情報をUSBケーブルによるUartシリアル通信にてPCへと送ります。そのデータをPCのアプリ上で表示させます。それがこちらになります。


消費電力および電力量はアプリ上で演算させています。グラフは移動平均で円滑化させています。
停止→3000回転→5000回転→7500回転→4000回転→停止(各10秒づつ)
高回転になるにつれて、通常コアよりアモルファスコアの方が消費電力が小さいです!
今回、もう一つ物凄く大変だったのが、こちらは初の試みだったのですが「シーケンス動作・設定変更アプリ」です。
展示会用に
「停止状態」→「回転開始」→「回転数パターン1」→「回転数パターン2」→・・・→「回転数パターン5」→「モータ停止」
を繰り返す、いわゆる演出(デモンストレーション)向けの設定アプリです。

昨年までは、コントローラー内部のプログラムでシーケンス動作が完結していました。
外部スイッチで2パターンほど回転数だけ変更できたようですが、今回は「回転数」、「立上り(下り)時間(加速)」、「稼働(回転)時間」の3つのパラメータの内容を好きに組み合わせ変更して複数パターン動作させることができるようになりました。
このパラメータの組み合わせで、以下の図のようなパターンでモータを回転させることができます。
※ STEP1のパラメーターが 速度指令:v1、立上(下)り:a1、稼働時間:t1 となっています。
STEP2~STEP5も同様。

STEP5は停止用に v5:0(r/min)を設定しています。

また上図の設定の様にSTEP5の 速度指令 v5:0、稼働時間 t5:0を設定すると、「STEP5 」の動作を省略できます。

下記パラメータの設定の様に、STEP3 の速度指令 v3:0 に設定すると1巡で2パターンの動作で回転させることもできます。


今回は展示会用に作成しましたが、自社でも耐久試験や温度試験などでこういったデューティが必要な試験でも、このシーケンス動作が役に立ちそうです!
使用例として、拙い私が思い浮かぶ利用できるかもしれない事は、モノを混ぜる撹拌作業で、最初にゆっくり混ぜ、数分後に回転数を増やしてはやく混ぜる装置などで利用できそうです。
コントローラー内部のプログラム(状態遷移+タイマー割込み)でシーケンス動作を組込みましたが、モータが指定の回転数に到達するまでには必ず時間が掛かります(回転数の増分×立上り時間)。そのタイムロスを考慮した上で、指定通りの(回転稼働)時間で回転させることが工夫したポイントで一番大変でした。
具体的には、モータの実際の回転数が分かるので、その回転数に到達するまで待つプログラムを入れています。他には回転数が指定の値(指令値)に到達しなかった場合のタイムアウト処理などです。
下記図がプログラムのベースとなったフローチャートです(プログラムはお見せできませんので)

この機能を使えば、自社でもデューティが必要な試験でシーケンサー(PLC)のプログラムを組む手間が省けそうです。とても満足いくものが作成できたと自負しております。
今回の一連の動作をシーケンサー(PLC)でプログラムを組む場合は、電磁接触器(マグネットスイッチ)を使用してシーケンス動作を行わせる必要があります。回転数が到達するまでの時間などを実測し考慮したタイマー値を決めたり、回転数を変更するための仕組みを考えたりと大変そうな気がします。
このシーケンスプログラム内蔵のコントローラーに興味をお持ちになられましたら、是非お声掛けください。(まずは試作としてお試しください、更にご要望に応じた改良も可能です)
従来の「パラメータ変更アプリ」に加え「モニタリング用アプリ」のご要望もお待ちしております。ご相談ください。これらのアプリもオーダーメイドによりカスタマイズが可能となっています。
どうぞ、よろしくお願い致します。
コントローラの動作プログラムや入出力接続仕様 等はご希望によって変更することも可能です。合わせてカタログもご覧ください。
試作品の評価時に設定を変えながら動作確認したい場合等、プログラム変更を行うことなくスムーズに評価を進めることにお役立て頂けると思います。
今回のブログは以上です。
次回はぜひAGVプロジェクトのUpdateをご報告できるようにしたいです。(^^;

