catch-img

CONEXIOBlackBearでDI/DO(デジタル入出力インターフェース)を操作してみる

こんにちは。コネクシオIoTブログ 技術記事担当のHです。

さて、今回はCONEXIOBlackBearのDI/DO(デジタル入出力インターフェース)の操作について取り上げます。

CONEXIOBlackBear は、無線通信としてLTE・Wi-Fi・Bluetooth・GNSS、有線通信としてEthernet・USB・CAN・Serial(RS-232,485)など多種多様なインターフェースを備えています。これらを活用することで、周辺機器やクラウドサーバとのデータ通信による幅広いIoTシステムのニーズに適用可能です。

しかし、一般的でない独自のインターフェースを持つ機器や、単純なスイッチやLEDだけ、あるいは何らかの2値の電圧信号を出力する回路を接続したいといったニーズもあるかと思います。そのような場合に便利なのがDI/DOインターフェースです。

実は、私は今までCONEXIOBlackBear向けのソフト開発で、一度もDI/DOを触っていませんでした。なので、私自身試しに使ってみた結果を今回記事にしようと思います。


1. DI/DOの特徴を調べる

CONEXIOBlackBearのDI/DOポートは、取扱説明書(V1.1.7)4.7節を見ると、入力、出力とも4系統が備えられています。

具体的には、取扱説明書に詳しく書かれていますが、それぞれが、ソフトウェアで使用可否を決められます。


さらに、無電圧接点、pullupという設定項目の記載があります。

無電圧接点は、CONEXIOBlackBearとは動作電圧の異なるハードウェアを接続する場合に使用を想定したものといえます。

DOで考えると、いわゆるオープンコレクタ接続です。CONEXIOBlackBearから電圧を供給せず、CONEXIOBlackBear側端子の電流吸い込み有無によって接続先が制御される接続方法です。

入力の場合では、端子に印加する電圧が、単純にCONEXIOBlackBearでLOW/HIGH判定されます。

pullupは、無電圧設定とは逆に接続機器側(=CONEXIOBlackBear)から接続先に電圧を供給する接続方法といえます。電圧を供給した状態において動作する回路の使用を想定します。

DO側は、出力値の設定により、CONEXIOBlackBearから電源電圧(=12V)または0Vが供給されました。

DI側は、設定により、約4.3V/約0Vが出力されていました。

ただし、DI/DOはあくまで信号伝達、通信のための端子であり、電源ではないので、回路構成上あまり大きな電流供給または電流吸い込みはできません。大きな電流を取り出そうとすると、供給電圧が下がって(上がって)しまいます。したがって、上記の電圧値と電流供給能力を考慮して接続先を選ぶ必要があります。

私が使ってみた結果、以下のようになりました。

※下記の電圧の値は、本記事における実験値であり、保証値ではありません。

1.1 入力

  • プルアップモード
    • DIとGND間に抵抗を接続、値を入れ替えて実験
    • 端子電圧が約0.7V未満のとき 1になる
    • 端子電圧が約0.7V以上のとき 0になる
  • 無電圧接点モード
    • DIに外部から電圧を印加
    • 端子電圧が約0.7V未満のとき 1になる
    • 端子電圧が約0.7V以上のとき 0になる


1.2 出力

  • プルアップモード
    • 1のとき LOW(0V)を出力(無負荷)
    • 0のとき HIGH(電源電圧)を出力(無負荷)
  • 無電圧接点モード
    • 1のとき 電流吸い込みあり
    • 0のとき 電流吸い込みなし




2.DIでスイッチ読み取り

DIの簡単な使用方法として、物理的なプッシュスイッチを接続してみます。

スイッチ単体は、自身で電源をもたないため、pullupによる接続が適しています。以下のような接続になります。


また、無電圧接点モードでもやってみましょう。接続先がCONEXIOBlackBearと独立にプルアップ電圧を供給している場合などに適します。以下は3.3Vの回路の例です。



コード(シェルスクリプトの例)は、以下のようになります。

#!/bin/bash

# ポート有効化
echo 9 > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio9/direction

# プルアップ設定 -----------------------------
echo 2 > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio2/direction 
# 無電圧接点の場合
echo 0 > /sys/class/gpio/gpio2/value 
# pullupの場合
echo 1 > /sys/class/gpio/gpio2/value 

# 1秒ごとに読み取り
while true;
do
    cat /sys/class/gpio/gpio9/value
    sleep 1
done


3.DOでLED点灯

DOに、無電圧接点モードでLEDを接続してみます。接続先のほうでLEDへ電流を供給できる場合に適します。以下は3.3Vの電源を持つ回路を接続した例です。


一方、pullupモードでは、内部のプルアップ抵抗の大きさから、最大で1mA強程度しか取り出すことができない(私の実験値です)ので、LEDの直接駆動は明るさが許せば使えます。

#!/bin/bash

# ポート有効化
echo 167 > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio167/direction

# 無電圧接点 --------------------------------------
echo 5 > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio5/direction
echo 0 > /sys/class/gpio/gpio5/value

# 点滅
while true;
do
    echo 0 > /sys/class/gpio/gpio167/value
    sleep 0.5
    echo 1 > /sys/class/gpio/gpio167/value
    sleep 0.5
done


4.DI/DOのスイッチング速度

時間精度には目をつぶって、シェルスクリプトでずっとHIGH/LOWを繰り返したところ、最速で7msec程度の周期でスイッチングできました。(※あくまでシェルスクリプトによる呼び出しのみを試していますので他の方法での速度については試していません。)無電圧接点モードの出力で、3.3Vの電源とDO端子の間に負荷として2kΩの抵抗を接続しています。

実際には、接続する回路によって使用できる周波数範囲は大きく変わりますが、一般的でないインターフェースについても、DI/DOへの接続で通信に対応できるかもしれませんので検討していただくとよいと思います。



まとめ

CONEXIOBlackBearのDI/DO(デジタル入出力インターフェース)の操作について取り上げました。一般的でない規格を持つ機器や、単純なスイッチなども接続したいと思ったら、DI/DOの使用をご検討ください。

当ブログは担当書き手の個人的感想を述べるもので、コネクシオ株式会社を代表する意思表示をするものでは有りません。

5分で理解できる!
Smart Ready IoTソリューションセット
ご質問やご要望はこちらから
お気軽にお問い合わせください

工場内の古い機械もIoT化できる? 導入の効果や方法を解説

2021-09-22

デジタル技術の発展により、さまざまなモノがインターネットとつながるIoT化が進んでいます。工場の設備・機械にIoTを活用しようと思いつつも、「どのようにIoT化を進めていけばよいのか具体的な取り組みが分からない」という方もいらっしゃるのではないでしょうか。今回は、製造現場におけるIoTの導入状況を踏まえつつ、機械をIoT化する効果や方法などを解説します。

工場の巡回・点検業務を効率化して負荷を軽減する方法

2021-09-22

企業の人手不足が深刻化するなか、自社の工場内で設備・機械の点検業務に多くの労力を要している現場もあるのではないでしょうか。なかでも、アナログメーターの場合は人の目による読み取りが必要になるため、点検者の負荷も大きくなります。この記事では、人手による巡回・点検業務の課題や効率化方法について解説します。

予防保全とは? 事後保全との違いとIoT活用による予知保全を解説

2021-09-22

製造現場で日々稼働している設備や機械を管理して安定した稼働を実現するには、適切な保全活動が欠かせません。保全活動には予防保全・事後保全などがありますが、近年はIoTを活用した“予知保全”も取り入れられています。この記事では、製造現場の設備・機械を適切に管理するための予防保全と事後保全の違い、IoTを活用した予知保全について解説します。

予知保全にAI技術を導入するメリットと活用法

2021-08-30

生産工程で発生するさまざまなデータを蓄積して、AIが持つ学習技術・解析機能を活用することで、設備保全体制の強化につながると期待されています。この記事では、製造現場における予知保全の目的を踏まえ、AI技術の活用方法やメリットなどを解説します。

製造現場の予知保全CBMとは? TBMとの違いやメリットを解説

2021-08-30

モノづくりを行う製造現場では、IoT技術を取り入れた次世代の予知保全であるCBMが登場しています。従来のTBMに比べて、より効率的な設備保全ができると期待されています。本記事では、CBMの基礎知識をはじめ、従来のTBMとの違い、CBM導入のメリットなどをまとめて解説します。