こんにちは。皆さんの中には、 ベクトル・オートメーションや産業用リアルタイム通信などの アプリケーション向けに小フットプリント、低消費電力の シングルチップ・ソリューションを お探しの方がいらっしゃるかもしれません。 このビデオでは、AM437xシングルチップ・モーター 制御アプリケーションをTIのAM437x産業用開発キット(IDK)で 実現する方法をご紹介します。 Sitara AM437xファミリはArm Cortex-A9、 強力なプログラマブル機能と固定機能で 構成されており、産業用通信、 測定、制御などの用途に最適です。 こうした特長により、単一のAM437xで複数のデバイスを代替でき、 使いやすくコンパクトで、低消費電力、 高コスト効率のソリューションを実現できます。 NEONとVFPを搭載した高性能のCortex-A9は、 アプリケーションの浮動小数点演算を実行します。 必要なコンポーネントはリアルタイム・オペレーティング・システム (RTOS)、通信スタックのほか、モーター向けフィールド・ オリエンテッド制御、すなわちFOCを使用した位置と速度の制御ループです。 この制御ループはドライブ入力をPWMコントローラに供給し、 3相の永久磁石同期モーター(PMSM)の 位置を決定します。 AM437xはクワッド・コアのプログラマブル・リアルタイム・ユニット つまりPRUで、通信やデータ・アクイジションなどの用途向けに リアルタイム処理を実行します。 2個の産業用通信サブシステムはいずれも、 産業用イーサネット・プロトコル、 エンコーダの位置フィードバック・データ、ADC電流センス・データを処理する 2個のPRUを搭載しています。 ICSS-1は産業用リアルタイム・イーサネットをサポートしており、 あらゆるデータ・アクイジションと制御向けに システム・タイミングを提供します。 ICSSシステムはEtherCAT、PROFINET、PROFIBUS、 Ethernet/IP、OPC UA、Matrikonなどの さまざまな産業用通信プロトコル をサポートします。 Sitaraプロセッサでサポートされている産業用通信 プロトコルの全リストについては、 画面にリンクを掲載したアプリケーション・レポートをご覧ください。 このシングルチップ・モーター制御アプリケーションは、 産業用通信プロトコルとしてEtherCATを使用しており、 標準的なCiA 402ドライブ・プロファイルをEtherCAT ネットワーク上で採用しています。 CiA 402のIEC規格が規定しているのは、 すべてのドライバに使用できる汎用デフォルトPDOと、 サーバー・ドライブ、周波数インバータ、ステップ・モーターなどの 特定の種類のドライブのみに使用可能な 特化型PDOです。 CiA 402ドライブはEtherCATへのマップを提供します。 このシングルチップ・モーター制御アプリケーションはAM437x IDKを使用しています。 このIDKは Sitara AM4379 / AM4377プロセッサの産業用通信と制御機能を 評価するためのアプリケーション開発キットです。 AM437x IDKの主な部品はAM437ファミリのArm Cortex-A9、1GBのDDR3、6MBのQSPI-NORフラッシュ、 産業用通信インターフェイス、モーターのフィードバック制御向け EnDATコネクティビティです。 このアプリケーションは3相センサを フィールド・オリエンテッド制御に接続し、1個の永久磁石 同期モーターをAM437xのオンチップADCで処理します。 EnDAT 2.2マスター・インターフェイスはモーターに接続されたEnDATエンコーダを使用して 位置情報を提供します。 このモーター制御アプリケーションは 永久磁石モーターを使用して検証済みです。 この例ではAnaheim Automation社の BLY171D 24VブラシレスDCモーターを使用しています。 このモーターはEnDAT 2.2エンコーダとの組み合わせが可能です。 また、位置情報をFOCアルゴリズムに提供するために Heidenhain社のROQ437エンコーダを使用しています。 エンコーダはモーターの長軸に接続されています。 IDKはJ17の3個の端子を使用してモーターを駆動します。 図をご覧ください。 エンコーダのAM12コネクタを IDKのボルト・コネクタであるJ10に挿入します。 このアプリケーションは、EnDAT 2.2エンコーダをデフォルトのエンコーダとして使用しています。 同時に、ビルド時間オプションを用意しており、 多摩川精機社のエンコーダやHiperface社のDSLエンコーダなどの 他のエンコーダを使用できるようにしています。 この例ではEtherCAT Slaveパッケージとその付属パッケージであるIndustrial Drive(産業用ドライブ)を 使用して、「EtherCAT Slave CiA Build 402 ARM ICSS」というプロジェクトを 作成します。 このプロジェクトからビルドしたバイナリのドットファイルを IDKのソース・コード・エディタにダウンロードします。 確実なダウンロードのために、このバイナリ・ファイルをSDカードにフラッシュ書き込みし、 そこから転送することもできます。 デジット方式のLEDを点灯させると、 スレーブがオンになっていることや各ステータスがわかります。 アプリケーションの動作開始後、 EtherCATマスターであるTwinCATは ご覧のように このスレーブIDKを検出できるようになります。 TwinCATのセットアップ方法と、モーション・タスク作成時に CiAを使用してアクセスする方法の詳細については、 AM437x Single Chip Motor Control Design Guideを ご覧ください。 デバイスの変数を 軸の変数にリンクした後、 「Activate Configuration」(構成のアクティブ化)をクリックし、 TwinCATをRun mode(実行モード)で起動します。 モーターをサイクル同期位置、つまりCSPモードに設定するため、 動作モード変数として(10進数を意味する)「Dec」ボックスに「8」を入力します。 軸の制御を有効にするには、オンライン・タブで「Axis 1」(軸 1)を選択し、 「Set」(設定)ボタンをクリックして適切なセクションを有効にします。 すべてのチェックボックスをオンにし、「Override (%)」(上書き(%))を「100」に設定します。 次に「Target Position」(目標位置)を「300」度に設定し、 「F5」ボタンをクリックして軸の表示に切り替えます。 モーターの回転方向と停止位置、 規定した目標位置が 300度であり、 元の位置である10度とは異なることがわかります。 「Target Position」(目標の位置)を「10」度に戻し、 開始位置である330度と異なる値に設定すると、 モーターが逆方向に回転し、10度の位置で停止することがわかります。 このビデオをご覧いただだき、ありがとうございました。 TIと産業用Sitaraプロセッサ・チームよりお礼申し上げます。 詳細については、画面のリンクをご覧ください。 ご質問がありましたら、 e2e.ti.comでTIのE2Eフォーラムをご利用ください。 ありがとうございました。