UECS Piに接続できるセンサー入門①
UECS Piに接続できるセンサーを何回かに分けてご紹介します。あくまで入門編ですので詳細部分はご容赦ください。Raspberry pi、Arduino初心者の方にも参考になると思います。
1回目として、空気の環境を測定するのに一般的な温度、湿度、CO2センサーについて。。(と思いましたが、今回は前提知識の接続方法について)
センサーの例
デジタルとアナログ 接続方式について
Raspberry Pi(以下Raspi)などのマイコンとセンサー類を接続するとき、理解しておきたいのはデジタルとアナログの違いです。温湿度センサーとかCO2センサーとかは、ネット通販で安く手に入るものが多いです。しかし接続方法を確認しないと結局つながらないことになります。
デジタルセンサーは。。
I2CやUART、1-Wireなどの決まった通信プロトコルがありセンサー側にもそういった通信機能が組み込まれているものです。Raspi側にも通信を行うプログラムが必要になります。UECS Piにはあらかじめプログラムが組み込まれていますが、コマンドやデータ形式はセンサーによって違いますので、そのセンサーをサポートしているかを確認する必要があります。
端子の配置とコマンドの例 SHT-31データシートより
https://akizukidenshi.com/download/ds/sensirion/Sensirion_Humidity_Sensors_SHT3x_DIS_Datasheet_V3_J.pdf
とりあえず中身を理解する必要はありませんが、こんな通信を行うプログラムを書かないといけないということを知っておいてください。通信方式によってRaspi側の接続するピンが変わります。とりあえず通信方式の名前と接続するピンがわかれば自作しやすくなるでしょう。
UARTは、TXとRXという2本の通信線と電源とグランドの4本で接続します。注意しないといけないのは、TXが送信側、RXが受信側になっていて、RaspiのTXとセンサーのRXを接続するというようにクロスして配線する必要があります。UARTのデバイスはRaspiと1対1の接続になります。
1-Wireは、データ通信1本と電源、グランドの3本で接続します。(電源と信号線を兼ねて2本で接続できるデバイスもあります)信号線(DQ)とRaspiの7番ピン(UECS PiではGPIO7、Raspi標準ではGPIO4になっている)に接続します。1-Wireはデバイス毎にユニーク(世界で1つ)のアドレスを持っていて、初めて接続するときにアドレスを検索して設定する必要があります。(センサーを交換すると設定しなおしが必要になる)
他にRS-485という通信方式もありますが、これはUSBにさす変換器を使います。通信距離は1Km程度と長くできるのが特徴です。また、消費電力が数10~100mAとIoT機器としては大きくなります。供給電力には気をつけましょう。
通信距離は、I2C、UARTは明確な記載はないですが、ノイズ混入を考えると最大5mを考えていた方がよさそうです。1-Wireは長距離対応が特徴でデバイスによっては100mとか1000mの距離に対応すると書かれてますが、通信スピードやノイズ対策のレベルに影響されるようなので使う時は慎重に試した方がよいと思ってます。通信線を伸ばすと雷の影響でRaspi自体が壊れることも考えられます。雷対策も考慮したほうがいいです。
アナログセンサーは、AD変換器が必要
計測した値を電圧で出力するのがアナログセンサーです。アナログの電圧値をAD変換器(A/Dコンバーター、以下ADC)でデジタル信号に変換してRaspiに送ります。
ADCの代表的なものとしては、MCP3208とMCP3424があります。1個400円ぐらいの安価なものです。(以前は300円ぐらいだった)1つのチップで8チャネル接続できます。
2つは同じメーカー(Microchip Technology)のものですが、MCP3208はSPIという通信方式でDin - MOSI、Dout - MOSO、CLK - SCLSK (どれも後ろがRaspi側のピン)の3本の通信線と電源、グランドの線で接続します。MCP3424はI2C通信で接続します。
MCP3424の方が高機能なのですが、基板に表面実装する形式で、自作ではんだ付けするにはかなりの技術が必要なので、私はMCP3208を使用しています。MCP3208ならブレッドボードに直接刺すことができますので自作向きですね。MCP3424を使いたいときはモジュールを買った方が楽です。(ただし2000円ぐらいの値段になりますが)
アナログ接続のもう一つのデメリットとしては、デバイスが持っている機能を使えなくなることがあります。冒頭の写真のCO2センサーはデジタルでもアナログでも接続することができます。しかし、CO2測定値の校正機能を使用する場合はデジタルインターフェースの校正コマンドは使用できません。アナログの場合は単に「測定値を取るだけ」になります。
アナログのもう一つの方式として、電流値で値を出力するデバイスもあります。電流出力の方がノイズに強く、通信線を長くすることができるそうです。接続するためには、図のようにシャント抵抗器を使って電圧値に変換することができます。
シャント抵抗を使用して電流→電圧変換する計測方法
https://www.keyence.co.jp/ss/products/recorder/lab/4-20ma/measurement_s.jsp
*「UECS Pi」はアルスプラウト株式会社が提供する汎用DIY環境制御ソフトウェアです。https://www.arsprout.co.jp/products/others/uecs-pi/
*「UECS」は農業用のセンサー機器や制御機器用の通信・動作の共通仕様です。UECS研究会が公開しています。https://www.uecs.jp/outline/outline-index
関連リンク:EzITコンサルティング www.ezitc.dev
コメント
コメントを投稿