産業用オートメーションにおける小型のIOプラットフォームの活用

DigiKeyの北米担当編集者の提供

産業用アプリケーションにおけるセンシングへの要求の増大から、さまざまな種類のエンドポイントデバイスとコネクティビティ要件に対応できる、効果的なIOコントローラプラットフォームが必要とされるようになりました。 開発者はIOラックを使用してこれらの要件に対応することもできますが、より効率的な方法を使用すれば、消費電力、フットプリント、コストを最小化できます。

この記事では、産業用の検出と制御の要件、およびそれらの要件がこれまでどのように処理されていたかについて解説します。 その後で、Maxim IntegratedのPocket IO開発プラットフォームを紹介し、このプラットフォームが、産業用センシングとIO数の多いアプリケーションを作成する開発者の要求にどのように対応できるかについて説明します。 さらに、実装の手法を紹介します。

柔軟性と効率性が求められる産業用IO

従来は、初期の工場用アプリケーションで使用されているセンサの数が比較的少なかったため、技術者はプログラマブルロジックコントローラ(PLC)へのハードウェアによる接続を使用できました。 IO-Linkなど業界標準インターフェースの出現により、より効率的なコネクティビティオプションが利用可能となり、複数のセンサと周辺機器を単一の接続によりリンク可能になりました。 同時に、より柔軟なインターフェースオプションの必要性から、より広範なアナログおよびデジタルIO能力への要求が強まり続けています。

このような環境で、技術者はフィールドバス通信やモータ制御と同時に、専門の業務に特化したアナログおよびデジタルIOデバイスを新たにサポートする必要を迫られることがあります。 同時に、技術者はこれらの従来より多くの機能を、より小型で低消費電力の設計として組み上げ、換気や冷却の問題が多い工場の現場で動作可能にする必要があります。 Maxim IntegratedのPocket IOは、技術者がこれらの要件へ迅速に対応するのに役立つよう設計されています。

複数の周辺機器を持つコントローラプラットフォーム

MaximのPocket IOは、開発プラットフォームとリファレンス設計の両方として機能します(図1)。 特に、リファレンス設計としては、高度に統合されたICを使用して、次のような各種のIOセットをサポートする方法を示しています。

  • 高度に統合されたMAX11254 24ビットA/Dコンバータ(ADC)を搭載した、4つのアナログ入力
  • MAX5216 16ビットD/Aコンバータ(DAC)を使用した、1つのアナログ出力
  • MAX31913オクタルスイッチ/ドライバをベースとした、8つのデジタル入力
  • MAX14913オクタルデジタル入力デバイスをベースとした、8つのデジタル出力
  • MAX14783E半二重RS-485/422トランシーバを使用した、2つのProfibus対応RS-485インターフェース
  • 別々のMAX14824 IO-LinkマスタートランシーバICをベースとした、4つのIO-Linkマスターチャンネル
  • それぞれがMAX14890エンコーダレシーバICとMAX14870モータドライバICで構成される、3つのモータエンコーダ/制御チャンネル

Maxim Integrated Pocket IOプラットフォームの図

図1:Maxim IntegratedのPocket IOプラットフォームは、Maxim IOデバイスの高度な統合により、広範なIO機能を提供します。 (画像提供:Maxim Integrated)

Pocket IOプラットフォームは、絶縁された低ノイズの15Vおよび3.6V電力レールに加えて、3.0VのDAC用基準電圧と、1.5VのADC用基準電圧も提供します。 この設計には、Intel EdisonやSTMicroelectronics STM32 MCUのペアなど、高性能なプロセッサのペアも含まれています。 Intel Edisonモジュールは、Pocket IOデバイスの総合的な制御を行う制御ソフトウェアをホストし、これらのデバイスはすべてSPIインターフェースをサポートします。 専用のSTM32F103RET6 MCUが、モータ制御ルーチンを実行し、MAX14890エンコーダおよびMAX14870モータドライバICを制御します。 別の専用STM32F103RET6 MCUはIO-Linkスタックを実行し、マスタートランシーバデバイスを管理します。 一連のデジタルアイソレータにより、プロセッサのIOチャンネルが保護されます。

Pocket IO(シャツのポケットに収まるサイズなので、こう名付けられました)の容積は10立方インチ未満で、バッテリで動作し、ファンを必要とせず、多くのペリフェラルチャンネルについて高いスループットを実現します。 ICは2つの小型の基板(MAXREFDES150MAIN#およびMAXREFDES150LED#と名付けられています)に搭載され、Pocket IOのケースに内蔵されています。

Intel Edisonモジュールと、部品の大部分はMAXREFDES150MAIN#基板に実装されています。 MAXREFDES150LED#基板にはDCモータドライバ回路と、それを制御するSTM32F103RET6 MCUに加えて、IO-Link回路と、それを制御するSTM32F103RET6 MCUが搭載されています。 第3の基板には外部コネクタが搭載され、2つの40ピンケーブルアセンブリによってPocket IOケース内の基板と接続されます。 工場用途のソフトウェアは、Pocket IOのUSBインターフェース、またはIntel EdisonモジュールのBluetoothまたはWi-Fiコネクティビティオプションにより接続できます。

開発用には、技術者はIntel EdisonとArduino IDEで実行されるソフトウェアを作成し、Pocket IOソフトウェアパッケージで提供される包括的なライブラリとルーチンを使用できます。 Maxim Integratedは、各IOサブシステム用に詳細な回路図を提供し、関連するソフトウェアルーチンを開発するためのアプリケーションプログラミングインターフェース(API)も提供しています。

リファレンス設計

Pocket IOに使用されるMAX31913やMAX14913などのデジタルIOデバイスは、ホストのEdisonプロセッサへのSPI接続以外に追加回路をほとんど必要としません。 これに対して、アナログIOデバイスには、バッファや他の追加信号コンディショニング用に補完回路が必要です。

たとえば、DAC出力機能のリファレンス設計の回路図では、Maxim Integrated製のMAX9632オペアンプを使用して、MAX5216の出力をバッファしています(図2)。

Maxim Pocket IOリファレンス設計の回路図

図2:Pocket IOリファレンス設計の回路図は、信号コンディショニング回路を入力チャンネル、およびこの図に示すデジタル/アナログチャンネルなどの出力のバッファに対して使用する方法を示しています。 (画像提供:Maxim Integrated)

リファレンス設計には、さらにMAX11254をベースとするPocket IOのアナログ入力機能の回路まで含まれています。 このサブシステムの回路図には、Pocket IOの独立した電圧および電流入力チャンネルをサポートする、詳細な信号コンディショニング回路が含まれています。

MAX11254には、プログラマブルゲインアンプ(PGA)、アナログフィルタ、24ビットのデルタ-シグマADC、デジタルフィルタを含む、完全な信号処理パスが組み込まれています。 さらに、アナログマルチプレクサがデバイスの6つの差動入力チャンネルをサポートし、デジタルシーケンサによってアナログチャンネルのスキャンやセンサの監視などの機能が自動化されます。 デバイスにはGPIOも含まれており、抵抗性センサで必要なセンサ励起のソースとして機能します。 デバイスのSPIシリアルインターフェースにより、ホストプロセッサ(この場合はPocket IOのEdisonプロセッサ)へのコネクティビティと制御が簡素化されます。

開発者にとって、高度に統合されたMAX11254デバイスは、わずかの追加部品だけで完全なセンサデータ収集システムを実装できます。 一般に、技術者は最小限の構成としてバッファ回路を含めるか、アプリケーションでの必要に応じて、より大規模な信号コンディショニング回路を提供します。 Pocket IOリファレンス設計では、2つの電圧入力および2つの電流入力チャンネルについて、独立のコンディショニング回路が提供されています。 それぞれのコンディショニング回路には、信号のバッファ処理とゲイン調整用のオペアンプのペアが含まれています。 電流入力チャンネルは、オペアンプを保護するために、MOSFETと過渡電圧抑制ダイオードによる入力の前処理も行います。

複雑なIOトランザクション用のコードを低レベルのSPIコマンドで開発するのは、順調に進んだとしても時間のかかる作業で、エラーも起きやすくなります。 このためMaximは、アナログデータ変換などの操作に付き物の複雑なシーケンスを簡単に抽象化できるよう、MAX11254 ADCを含む各IOデバイス用のC++クラスを開発者向けに提供しています。 アナログ入力を変換するには、開発者はクラスのインスタンスを作成します。

adc = new Max11254();

次に、デバイスをリセットするクラスメソッドを使用して、自己較正シーケンスを実行し、データをキャプチャします。

adc->reset();

adc->selfCal();

adc->singleConvert(channel, rate);

別のPocket IO C++ライブラリであるPioAiを使用すると、これらの詳細がさらに省かれ、PioAi.readcode()を呼び出すだけでアナログデータをサンプリングできます。 PioAiライブラリは、PioSpiライブラリで提供されるPioSpiクラスを使用して、IOトランザクションを、対応する一連のSPIコマンドシーケンスに変換します。

特定のデバイスサポート用ライブラリとともに、モータ制御などのIO操作の基本的な設計パターンを示すサンプルコードもMaximは提供しています(リスト1)。

#include <PioMtr.h>

PioMtr pioMtr;

uint8_t motor = M1;

void setup() {

  // セットアップコードはここに記述します。このコードは1回だけ実行されます

  pioMtr.writeEnable(motor, 1);

  pioMtr.writeDirection(motor, COUNTERCLOCKWISE);//

}

uint8_t spd = 0;

bool shouldDecrease = false;

void loop() {

  // メインコードはここに記述します。このコードは繰り返し実行されます

  if(spd == 255)

  {

    shouldDecrease = true;

  }

  else if(spd == 0)

  {

    shouldDecrease = false;

  }

  if(shouldDecrease)

  {

    spd--;

  }

  else{ spd++; }

  pioMtr.writeSpeed(motor, spd);

  delay(50);

}

コードリスト1:Pocket IOソフトウェアパッケージには、このスニペットのようなサンプルコードが、基本的なモータ制御操作を紹介するために含まれています。 (コード提供:Maxim Integrated)

コードについて:セットアップ後に無限ループを使用して、モータの速度を最小値と最大値の間で変化させます。 このスニペットで参照されるPioMtrライブラリには、writeSpeed()ルーチンが含まれており、このルーチンは低レベルのArduinoルーチンを使用して、適切なハードウェアレジスタを操作します。

開発者は、Arduino IDE、および各Pocket IO周辺機器用のAPIに含まれているクラスライブラリを使用して、Intel Edison用のArduinoスケッチを作成し、これらのコードスニペットを完全なアプリケーションへ拡張できます。 Maxim Integratedは、EdisonツールチェーンおよびIntel Edisonツールに加えて、Pocket IOライブラリスイート用のソフトウェアパッケージも提供しています。

結論

産業用オートメーションには、生産の各段階の詳細を監視および制御するセンサの詳細な測定が必要で、測定対象のセンサの数はますます増え続けています。 開発者は、より多様化する入力および出力デバイスに対応するため、小型で低消費電力な、コスト効果の高い、そして工場現場の過酷な環境に耐えられるソリューションを活用する必要があります。

Maxim Integrated Pocket IOプラットフォームは、完全なハードウェアとソフトウェアのリファレンス設計によりこれらの要件を満たしており、新たに出現する産業用オートメーションアプリケーション用に特化したコントローラの開発を迅速化するため役立ちます。

 
DigiKey logo

免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。

出版者について

DigiKeyの北米担当編集者