【Seeeduino xiao】TGS2450においセンサを使用する方法

xiao-tsg-top Seeeduino xiao

本記事の内容

Seeeduino xiao RP2040とTGS2450匂いセンサを用いて、空気中のにおい度合いを測定する方法をまとめました。

MicroPythonのコードは前回の記事(Raspberry Pi Pico)で紹介したものと同一ですが、配線をより分かりやすくシンプルにしたので、本記事で再掲します。

必要なもの

TGS2450においセンサは秋月電子にて購入しました。(秋月電子の購入サイト

その他、抵抗とトランジスタ(TTA008B 80V2A)も必要になります。(秋月電子の購入サイト

TGS2450においセンサの動作原理

秋月電子の購入サイトから取得したサンプル回路をベースに、TGS2450においセンサの動作原理をまとめました。

pico-tsg-method
Seeeduino xiaoでは、GP16⇒P1、GP28⇒P0になります。

TGS2450においセンサは、以下のように5msのセンサ信号取得と8msの感ガス素子部の加熱を250ms間隔(4Hz)で繰り返すことで動作させます。

  • 信号無し:237ms
    PinHeater.value(0),PinSensor.value(0)
  • センサ信号の取得:5ms
    PinHeater.value(0),PinSensor.value(1)
  • 感ガス素子部の加熱:8ms
    PinHeater.value(1),PinSensor.value(0)

Seeeduino xiao RP2040では、PinSensorがP0、PinHeaterがP1となります。PinSensor.value(1)のときにP26のアナログ電圧値を取得することで、においの度合いを測定します。

センサ抵抗値は5.62kΩ~56.2kΩで臭い分子が多いほど抵抗値が小さくなるので、上記配線にて理論上は、GP26の分圧値はにおいに応じて以下のように変化します。

匂いセンサ抵抗値P26分圧値
臭い5.62kΩ1.18V
臭くない56.2kΩ2.80V

※測定誤差の影響を小さくするため、以下ではP0とP26の間に挟む抵抗を10kΩに代えて配線しました。

配線

Seeeduino xiao RP2040とTGS2450においセンサの配線は以下の通りです。Raspberry Pi Picoの時と比べて、Fritizingの配線も奇麗にまとまりました。

TGS2450においセンサは裏から見て、時計回りに1~4ピンとなります。(2ピンはオープンなので、曲げています。)

プログラムコード

Raspberry Pi Picoの時と同じくMicroPythonなので、プログラムコードに関しては大きな変更点はありません。

import machine
import utime

# ヒーター:P1 センサー:P0 に割り当て
PinHeater = machine.Pin(1, machine.Pin.OUT)
PinSensor = machine.Pin(0, machine.Pin.OUT)

# A/D 変換 初期化
PinOutput = machine.ADC(26)
conversionFactor = 3.3/65535

PinHeater.value(0)    # Heater OFF
PinSensor.value(0)    # Sencor Pullup OFF

# メインルーチン
while True:
    utime.sleep(0.237)
    PinSensor.value(1)    # センサーへ給電
    utime.sleep(0.003)    # 250ms 中 3ms ON

    # センサーの電圧値を取得
    voltage = PinOutput.read_u16() *  conversionFactor

    utime.sleep(0.002)    # 2ms ON (合計 5ms ON)
    PinSensor.value(0)    # センサー OFF

    PinHeater.value(1)    # 8ms ヒーター ON
    utime.sleep(0.008)
    PinHeater.value(0)    # ヒーター OFF

    print('voltage: ', voltage) # shell へ印字

TGS2450においセンサ初回使用時は、P26の分圧値が安定するまで10~20分ほどの時間を要します。徐々に上がっていきますので、上記配線では2V前後に落ち着いたら、準備完了です。

測定結果(まとめに代えて)

本TGS2450においセンサは2回目の使用でしたが、季節が冬ということもあってヒーターの暖まりが悪いのか、安定化まで10分ほどを要しました。P26の分圧値が2V以上になったら測定開始です。

マーカーペンを近づけると

TGS2450においセンサにおける、最も簡便なテスト方法です。油性インクの有機溶剤(ケトン、 アルコール、 酢酸エチル他)を測定しています。

アルコールウエットティッシュを近づけると

ウエットティッシュのエタノールを検知しているようです。マーカーペンのように点で近づけられないので、においの指向性が少々難点です。

納豆を近づけると

最後に日本の臭い代表格、納豆を近づけてみました。どのにおい分子を検知したのかは分かりませんが、確かに臭さは検知できています。

コメント