
MPINO Series
MPINO-16A8R
MPINO-16A8R 産業用Arduinoコントローラ
MPINO-16A8RはATmega2560ベースの産業用Arduino互換PLCコントローラで、絶縁デジタル入力16点とリレー出力8点を備えます。RS-232, RS-485, UART, I²C通信およびModbus RTUに対応し、Arduino IDEでプログラミングできます。DINレール取付対応で、自動化・試験・HMI連携・組込制御に適しています。


海外配送 (EMS) — ご購入時に配送先・重量に応じて算出
配送計算重量 300 g(製品1個あたり)
翌営業日に発送(ご注文時間を問わず)
大量注文の場合、発送が1日長くかかることがあります
発送前の注文キャンセル · 受取後の返品/交換のご依頼が可能
主な特長
/ FEATURES- ATmega2560 コア、Arduino IDE および MPINO STUDIO2 でプログラミング
- フォトカプラ絶縁デジタル入力 16点(NPN/PNP、最大40V対応)
- AC/DC無電圧接点スイッチング用リレー出力 8点
- アナログ入力 4点(0–5V / 4–20mA / 0–10V レンジ)
- 産業用通信: RS-485, RS-232, UART, I²C · Modbus RTU
- DINレール35mm取付、産業現場向け絶縁I/O
仕様
/ SPEC| MCU | ATmega2560 |
|---|---|
| 電源入力 | DC 9V ~ 12V |
| デジタル入力 | 16 |
| リレー出力 | 8 |
| アナログ入力 | 4 |
| RS-232 | 1ch |
| RS-485 | 1ch |
| UART | 1ch |
| I²C | 1ch |
| Modbus RTU | はい |
| LS Cnet | はい |
| Mitsubishi MC | はい |
| Arduino IDE 対応 | はい |
ソフトウェア
Arduino IDE / MPINO Studio 2


Arduino IDE 対応
既存のArduino開発環境とそのまま互換
MPINO STUDIO2 提供
Arduinoコーディングとラダーロジックを一つに
Arduino + ラダーロジック
使い慣れたラダーで制御ロジックを素早く構築
開発環境の準備
ARDUINO SDK をインストールすると、Arduino IDE に本製品のボード定義が追加され、産業用途で役立つ関数を内蔵命令として使用できます。ライブラリを別途追加する必要はなく、ARDUINO IDE の自動補完とともにご使用いただけます。
SDK のインストールで使える内蔵命令
- PLC タイマ・コールバックタイマIton · Itof · Itpl · Itmr · ItimerSet
- カウンタIctu · Ictd · Ictud · IgetCount
- スケール・PID 制御Iscale · Iscalef · IpidSet · IpidRun
- 先入れ先出し・後入れ先出しバッファFIFO · FILO
- 入力デバウンス・エッジ検出Ibounce · IdigitalRead · Iup · Idown · Ialt
- デバッグ・ウォッチドッグdebug · debugln · WDT_ENABLE · WDT
- Modbus RTU・LS Cnet・Mitsubishi MCImodbusRTU · ICnet · IMcProtocol
- アナログ入力・4~20mA 補正analogRead2 · IanalogRead · IanalogFilter · ntcRead
ARDUINO IDE を使用する場合は ARDUINO SDK(アイロジックス必須インストールファイル)を必ずインストールしてください。MPINO STUDIO2 を使用する場合はインストールせずにご使用いただけます。
本製品は ARDUINO SDK なしでも、ARDUINO IDE で MEGA2560 ボードを選択して使用できます。ただし当社提供の内蔵命令は使用できません。
デジタル入力Digital Input
16チャンネル デジタル入力 / フォトカプラ絶縁
16点のデジタル入力チャンネルを備え、外部スイッチやセンサーの信号を安定して検出します。
D22~D37 入力
合計16点のデジタル入力に対応
COM0 / COM1 コモン
独立した2つの入力グループ構成
フォトカプラ絶縁
外部ノイズから制御回路を保護
NPN / PNP 対応
さまざまなセンサー配線方式に対応
入力チャンネル構成
※ 外部スイッチまたはセンサーの接続例(NPN/PNP 共通)
フォトカプラ絶縁
デジタル入力は双方向フォトカプラ絶縁構造(逆並列LED)を採用し、NPN・PNP いずれの信号も安定して検出します。COM0 / COM1 を基準に16チャンネルの入力を確実に取り込みます。
サンプルコード — 入力の読み取り
void setup() {
// Input pins work as inputs with no pinMode() call (the pull-up / pull-down is on the board).
Serial.begin(9600);
}
void loop() {
if (digitalRead(22) == HIGH) {
Serial.println("I(22) ON");
}
delay(100);
}リレー出力Relay Output
8チャンネル リレー出力 / 1a1c リレー
8チャンネルのリレー出力を備え、AC・DCで動作する外部負荷を安定して制御できます。
D39~D46 出力
8点のリレー接点出力
1a1c リレー 8個
各出力はリレー接点で独立制御
4出力 1COM 構成
各COM端子が4点の出力を共有
電気的絶縁
制御部と出力部をリレーで分離して保護
出力チャンネル構成
※ 外部負荷の接続例(リレー接点出力方式)
リレー出力構造
各リレー出力は1a1cリレーで構成され、制御部と出力部を機械的に分離します。4点の出力が1つのCOM端子を共有する4出力1COM構成です。無電圧接点のためAC・DC いずれの負荷もスイッチングできます。
サンプルコード — リレー出力の制御
void setup() {
pinMode(39, OUTPUT);
}
void loop() {
digitalWrite(39, HIGH);
delay(1000);
digitalWrite(39, LOW);
delay(1000);
}アナログ入力Analog Input
4チャンネル アナログ入力 / 出荷時は DC 0~5V
A(0)~A(3) は下端の端子列の一部で、AGND と並び、電源端子台のすぐ左に配置されています。全チャンネル10ビットで、出荷時は DC 0~5V の電圧入力です。入力回路は 0~10V・0(4)~20mA・NTC 10kΩ サーミスタにも対応します。
A(0)~A(3) · 4チャンネル
10ビット分解能(0~1023)アナログ入力4点
出荷時 DC 0~5V
このレンジでの入力抵抗は 100MΩ
電圧・電流・NTC
0~10V、0(4)~20mA、NTC 10kΩ にも対応
外部基準電圧
AVCC 5V を AREF へ配線
アナログ入力端子の構成
※ シルク ANALOG IN の下端端子列の一部で、A(0) · A(1) · A(2) · A(3) · AGND の順に並びます。このボードにはレンジ選択のキャップやジャンパはなく、入力レンジは入力回路の抵抗構成で決まります。出荷時は DC 0~5V です。
入力レンジ
| 入力レンジ | 状態 | 入力抵抗 |
|---|---|---|
| DC 0~5V | 出荷時 | 100 MΩ |
| DC 0~10V | 抵抗構成 | 200 MΩ |
| 0(4)~20mA | 抵抗構成 | 250 Ω(1%) |
| NTC 10kΩ @25°C | 抵抗構成 | 10kΩ プルアップ(1%) |
4チャンネルすべて10ビット分解能(0~1023)です。本ボードは AVCC 5V が AREF へ配線されています。出荷時は DC 0~5V で、その他のレンジはチャンネルの入力抵抗構成によります。
サンプルコード — アナログ入力の読み取り
unsigned int ADC0;
void setup() {
Serial.begin(9600);
}
void loop() {
ADC0 = analogRead(A0); // 0-5V -> 0-1023
Serial.println(ADC0);
delay(500);
}外部割り込みInterrupt · Encoder
割り込み入力で高速パルスのカウントとエンコーダ入力を実現
SDA・SCL がこのボードの外部割り込み入力2点で、SDA が INT1、SCL が INT0 です。4.7kΩ のプルアップが内蔵されています。ISRを登録すればポーリングなしでエッジを数えられ、2相エンコーダを両方に配線すれば位相関係から回転方向が読み取れます。
割り込み入力2点
SDA(D20)· SCL(D21)
高速パルスカウント
ISRでエッジをカウント、ポーリング不要
ロータリーエンコーダ
A相 = SDA、B相 = SCL
4.7kΩ プルアップ
2点とも内蔵
割り込みピンの割り当て
| ピン | INT | 共有機能 |
|---|---|---|
| D20 | INT1 | I²C SDA · エンコーダA相 |
| D21 | INT0 | I²C SCL · エンコーダB相 |
動作電圧は DC 0~5V で、エンコーダ入力は 50kHz 以上に対応します。2点とも 4.7kΩ プルアップ内蔵です。本ボードで外部に引き出されている外部割り込みピンはこの2点のみです。実際に処理できる周波数はISRの長さとプログラム全体の負荷に左右されるため、固定値としては保証されません。
割り込み入力の用途
※ 左はパルス発生器の出力を SDA 端子に、GNDを電源端子台のGND極に接続し、ISRでエッジごとにカウントします。右のエンコーダは2相が90°ずれているため、SDA のエッジ時点の SCL のレベルがそのまま回転方向になります。
割り込み端子
※ 基板右端のシルク I2C の2極端子です。SDA = D20(INT1)、SCL = D21(INT0)で、いずれも 4.7kΩ プルアップが内蔵されています。この端子は信号2極のみのため、センサのGNDは電源端子台から取ってください。I²Cバスと同じピンのため、割り込みとして使用すると I²C 通信を併用できません。
ご使用前の確認
- 割り込み入力は DC 0~5V 専用です。5Vを超えるとMCUが破損します。24V信号は絶縁されたデジタル入力へ接続してください。
- SDA・SCL は I²C バスです。割り込みやエンコーダとして使用すると I²C 通信を併用できません。
- ISR内ではカウントの加算のみを行い、Serial・delay()・浮動小数点演算は使用しないでください。
- 本製品のカウントは attachInterrupt() のISR方式です。タイマ外部クロックによるハードウェアカウンタはありません。
サンプルコード — 外部割り込み
void setup() {
Serial.begin(9600);
// a rising edge on SCL (D21) calls onRising()
attachInterrupt(digitalPinToInterrupt(SCL), onRising, RISING);
}
void loop() {
}
void onRising() {
Serial.println("ok");
}サンプルコード — ロータリーエンコーダ
volatile long encoderValue = 0;
void setup() {
Serial.begin(115200);
// SDA(20) = phase A, SCL(21) = phase B
attachInterrupt(digitalPinToInterrupt(SDA), updateEncoder, FALLING);
}
void loop() {
Serial.print("Encoder Value: ");
Serial.println(encoderValue);
delay(500);
}
void updateEncoder() {
if (digitalRead(SCL) == LOW) { encoderValue++; }
else { encoderValue--; }
}通信RS-232 · RS-485 · UART · I²C
RS-232・RS-485・TTL UART・I²C の4通信チャンネル
RS-232 は Serial1、RS-485 は Serial2、TTL UART は Serial3 として、それぞれ専用の端子に引き出されています。I²C は Wire ライブラリで、プルアップ抵抗は内蔵済みです。すべての外部ポートで Modbus RTU のマスター・スレーブが使用できます。RS-485 は MAX13487 トランシーバが送受信を自動で切り替えるため、DE/RE 制御ピンは不要です。
RS-485 · 1チャンネル
Serial2 · 1:Nマルチドロップ · MAX13487 自動方向制御
RS-232 · 1チャンネル
Serial1 · TX / RX / GND 端子で1:1接続
UART(TTL)· 1チャンネル
Serial3 · TXD · RXD · GND 端子 · レベル変換なし
I²C · 1チャンネル
Wire · 4.7kΩプルアップ内蔵 · 1:N
Modbus RTU
すべての外部ポートでマスター・スレーブ対応
RS-232 · UART · I²C · USB コネクタ
※ 各コネクタはシルク表記どおりに描いています。I²Cコネクタは信号2ピンのみのため、I²C機器の電源は電源端子台の +5V・GND から取ってください。書き込みポートのシルクは UPLOAD です。
RS-485 の接続
※ RS-485はマルチドロップバスのため、485+ は各ノードの 485+ に、485− は各ノードの 485− に接続します。送受信の切り替えはトランシーバ側で行われ、スケッチから DE/RE 制御ピンを操作する必要はありません。
通信ポート
| ポート | ピン | 用途 |
|---|---|---|
| Serial | D1(TX0)· D0(RX0) | UPLOAD USBポートでの書き込みとデバッグ |
| Serial1 | D18(TX1)· D19(RX1) | TX / RX / GND 端子の RS-232 · 1:1 |
| Serial2 | D16(TX2)· D17(RX2) | 485+ / 485− 端子の RS-485 · 1:N |
| Serial3 | D14(TX3)· D15(RX3) | TXD · RXD · GND 端子の TTL UART |
| Wire(I²C) | SDA = D20 · SCL = D21 | 2ピンコネクタ · 4.7kΩプルアップ内蔵 |
4つの外部ポートすべてで Modbus RTU のマスター・スレーブが使用できます。UARTチャンネルはTTLレベルでラインドライバを持たないため、長距離配線ではなく近接モジュールとの接続に使用します。
ご使用前の確認
- I²Cコネクタは信号ピンのみです。機器の +5V・GND は電源端子台(最大100mAの電源出力)から取ってください。
- SDA・SCL を外部割り込みやエンコーダ入力として使用すると、I²C通信は併用できません。
- UARTチャンネルはTTLレベルで絶縁されていません。RS-232やRS-485の回線に直接接続しないでください。
- USB-UART ブリッジが基板に実装されているため、市販のUSBケーブルで書き込めます。初回書き込み前に CP210x ドライバをインストールしてください。
サンプルコード — シリアル送受信
void setup() {
Serial.begin(9600); // USB, for monitoring
Serial2.begin(9600); // RS-485
}
void loop() {
Serial2.println("Hello RS485");
while (Serial2.available()) {
char c = Serial2.read();
Serial.write(c);
}
delay(1000);
}7セグメント(FND)の接続FND · TM1637
4桁の7セグメント表示器を信号2線で — 最大 2 台
表示器モジュールには TM1637 が内蔵されているため、4桁の表示にクロック線とデータ線の2本しか必要ありません。本製品には表示器専用コネクタがなく、2本の信号は通常のねじ端子に接続します(推奨は CLK = A(2) · DIO = A(3))。+5V と GND はPOWER 端子台から取るので、配線は全部で4線です。
CLK・DIO の2線
TM1637内蔵の4桁モジュールはこれだけで動作
最大 2 台
1台につき1組の端子を使用
基板から給電
POWER 端子台の +5V・GND · 最大 100mA
内蔵命令
IsegDecimal・IsegHex で10進数と16進数を表示
表示器と接続端子
| 表示器 | 接続端子 | ピン |
|---|---|---|
| 1台目 | CLK = A(0) · DIO = A(1) | A0 · A1 |
| 2台目 | CLK = A(2) · DIO = A(3) | A2 · A3 |
| 電源 | +5V · GND | 基板出力 · 最大 100mA |
信号側の端子はアナログ入力と兼用です。表示器に使用している間、その端子は本来の用途には使えません。+5V 端子は本製品では出力として使用できるため、表示器に別電源は不要です。表示器モジュール本体は別売アクセサリです。
推奨する接続
※ 端子のシルクは A(2) · A(3) · +5V · GND です。基板上に CLK・DIO の表記はないため、各配線の役割を接続先に併記しています。A(2) = A2、A(3) = A3 です。表示器には小数点を表示できるタイプと時刻を表示できるタイプがあり、いずれも別売です。
複数台を接続する
※ 表示器1台につき CLK・DIO を1組使用し、+5V と GND は全台で共用します。下の端子名は基板の並び順(左から右)で、そのためクロック線が常に左側とは限りません。
ご使用前の確認
- 表示器に使用した端子をアナログ入力として同時に使うことはできません。
- 下のサンプルで使用している Iseg 系コマンドは ARDUINO SDK に内蔵されています。SDK をインストールすればそのまま使用でき、ライブラリの追加も #include も不要です。
- 本製品の +5V 端子を出力として使う場合の上限は 100mA です。同じ端子から他の負荷も取る場合は合計値をご確認ください。
- 7セグメントモジュールは別売アクセサリで、製品には含まれません。
サンプルコード — 7セグメント表示
// 4-digit 7-segment (TM1637) on the A(2) and A(3) terminals - CLK, DIO, +5V, GND
// Iseg* are ARDUINO SDK built-in commands: nothing to install, no #include to add.
void setup()
{
IsegBegin(A2, A3);
IsegBrightness(7); // 0-7 - required, nothing lights without it
IsegClear();
}
void loop()
{
IsegDecimal((millis() / 1000UL) % 10000UL, true);
delay(200);
}電源 · 停電保持Power · Backup
DC 9V ~ 12V 入力・5V 変換 — 停電してもデータを保持
本体は DC 9V ~ 12V を入力とし、内部でLM1117 レギュレータにより 5V に変換して使用します。電源容量は 12V 1A 以上を目安にしてください。
DC 9V ~ 12V
電源容量は 12V 1A 以上
内部 5V
LM1117 DC-DC 変換
+5V 出力 100mA
電源端子台の +5V 端子から
スーパーキャパシタ保持
+5V 端子に接続して約10秒
電源配線の前に
- EEPROMの書き込み寿命は約100,000回です。速く変化する値はRAMに置き、停電したときだけ保存してください(下の2つの方法を参照)。
- USB電源のみで動作させるとUSBの5Vがアナログ基準電圧になり、測定値が揺らぐことがあります。精密測定には外部電源をお使いください。
電源の流れ
* どちらの電源でも動作します。外部電源はレギュレータ経由、ダウンロードポートの5Vは直接です。スーパーキャパシタは同じ5Vノードにつながり、両方が失われたときに5Vを保ちます。
電源と停電保持
| 入力電圧 | DC 9V ~ 12V |
|---|---|
| 推奨電源容量 | 12V 1A 以上 |
| 内部変換 | LM1117 DC-DC で 5V |
| +5V 出力 | 電源端子台の +5V 端子から最大 100mA |
| USB電源動作 | ダウンロードポート経由でパソコンの5Vにより動作 |
| 不揮発メモリ | EEPROM 4 KB・書き込み約 100,000 回 |
| 停電時の保持 | +5V 端子のスーパーキャパシタで約10秒 |
| 保持できる停電回数 | 停電時のみ書き込むため 100,000 回以上 |
電源容量は 12V 1A 以上に、+5V 端子から供給する分(最大 100mA)を加えて選定してください。
停電時にデータを保持する2つの方法
値がどのくらいの頻度で変わるかで選びます。2つは組み合わせて使います。
EEPROM — たまに変わる値
内蔵EEPROMは電源が切れても 4 KB のデータを保持し、バイト単位で書き換えられます。ただし同じ領域あたりの書き込み寿命は約 100,000 回です。設定値・校正データ・機械設定のように「たまに変わる値」に適し、ループごとに更新される値には適しません。
スーパーキャパシタ — 常時変わる値
+5V 端子にスーパーキャパシタを接続すると、主電源が切れた後も内部5Vが約10秒間保たれます。主電源をデジタル入力に接続しておき、digitalRead() でその入力がOFFになった瞬間に値をEEPROMへ書き込みます。復電時は setup() でEEPROMに保存した値を読み出し、メモリへ書き戻します。EEPROMへの書き込みは停電の瞬間だけなので、100,000回以上の停電に耐えられます。
MPINO STUDIO2 — オプションで簡単に
MPINO STUDIO2 ではスーパーキャパシタを使った停電保持をオプションとして提供しており、上記の手順を自分でコーディングせずに設定で実現できます。
取り付け · DINレールDIN Rail
35mm DINレールにクリップで固定、またはPCBの取付穴で直接固定
制御盤内では 35mm DINレールにクリップで固定し、機械に組み込む場合はPCBの取付穴でねじ止めします。レールクリップを使用しない場合の外形は 116.80 × 100.00 mm、レールにクリップを締結した後の高さは 109.42~119.42 mm です。
35mm DINレール
制御盤のレールにクリップで固定
PCB直接取り付け
取付穴でねじ止め
116.80 × 100.00 mm
レールクリップなしのPCB外形
締結後 109.42~119.42 mm
クリップ開放時 114.68~124.68 mm、締結後 109.42~119.42 mm
取り付けと外形寸法
| 取り付け方式 | 35mm DINレール、またはPCB直接 |
|---|---|
| DINレール規格 | 35 mm |
| PCB単体(クリップなし) | 116.80 × 100.00 mm |
| 取付穴 | ピッチ 100.00 × 90.00 mm |
| クリップ開放(締結前) | 約 114.68~124.68 mm |
| クリップ締結後 | 約 109.42~119.42 mm |
DINレールを使用しない場合はPCBの取付穴でねじ止めし、レールに取り付ける場合は35mmのレールにクリップを締結して全体の高さは 109.42~119.42 mm になります。
35mm DINレールへの取り付け
※ 35mm DINレールにクリップを掛けて固定します。全体の高さはクリップ開放時 114.68~124.68 mm、締結後は 109.42~119.42 mm です。図はクリップ自体の形状ではなく取り付け方法を示したものです。
外形と取付穴
※ レールクリップを使用しない場合の外形と取付穴です。単位はmmです。
設置時の注意
- 屋内専用です。雨・粉じん・霜・直射日光・結露のある環境には設置できません。
- 引火性・爆発性ガスのある環境には設置しないでください。
- 振動や衝撃の多い場所には設置しないでください。
- 人命や財産に影響の大きい設備(原子力・医療・船舶・車両・航空など)に使用する場合は、必ず二重の安全装置を設けてください。
FAQ
MPINO-16A8RのI/O点数はどれくらいですか?▾
MPINO-16A8Rは絶縁デジタル入力16点とリレー出力8点を備え、RS-485, RS-232, UART, I²C通信を搭載しています。詳細は仕様表をご覧ください。
MPINO-16A8RはModbus RTUに対応していますか?▾
はい。MPINO-16A8RはシリアルインターフェースでModbus RTUに対応し、マスター・スレーブのいずれでも使用できます。



