ホーム > カテゴリ > ロボット・電子工作・マイコン >

においセンサー(TGS2450)の実験 [Arduino]

食品/薬品、口臭などの「におい」を検知する事ができるセンサーです。

実行結果をArduino IDEの「シリアルプロッタ」で表示

においの元である「被測定物」をセンサーに近づける際には10秒ぐらい近づけてから離すとグラフに現れやすいです。

このセンサーを使用する際には「出力」を安定させる為に「数時間の慣らし運転」が必要です。(時間は後述するRL抵抗の抵抗値に比例)

使用部品・材料

総額で約790円です。(Arduino本体の値段を除く)

部品/材料値段備考
ブレッドボード¥270秋月電子の通販コード(P-00315)
においセンサ TGS2450¥300秋月電子の通販コード(P-00989)
ブレッドボード・ジャンパーコード(オス-メス) 15cm(青) (10本入)¥220お好きな色でも良いです。

秋月電子の通販コード(C-08934)
カーボン抵抗器数円33Ω(2個)を使用。

33Ωが手元にない場合は100Ωを3つ並列にすると33Ωになります。

33Ω = 1 / (1/100Ω + 1/100Ω + 1/100Ω)

※ブレッドボード・ジャンパーコード(オス-メス) は必ずしも必要ではありませんが、あると便利です。

配線図

デジタル3/4ピンを使用して数ms単位で電圧を印加します。

3ピンのR2(RL抵抗)を1kΩにすると、確実に「数時間の慣らし運転」が必要です。33Ωを使用した方が比較的早く「慣らし運転」が終わります。

データシートにあるピン配置図は次のように裏面です。

スケッチ(プログラム)

シリアルプロッタに測定結果をグラフで表示します。

※シリアルプロッタはArduino IDEのメニューの[ツール]から表示できます。

void setup() {
 pinMode(3,OUTPUT);
 pinMode(4,OUTPUT);

 // 両方の電源をオフにする
 digitalWrite(3,LOW); // センサー
 digitalWrite(4,LOW); // ヒーター

 Serial.begin(9600);
}
void loop() {
 int val = 0;

 // --- 250ms周期 ---
 // センサーの印加電圧は「ON : 5ms OFF : 245ms」
 // ヒーターの印加電圧は「ON : 8ms OFF : 242ms」

 delay(237);
 
 // センサーの電源をオン(5ms)
 digitalWrite(3,HIGH); 
   delay(3);
   // アナログ入力
   val = analogRead(A0); 
   delay(2);
 digitalWrite(3,LOW); 

 // ヒーターの電源をオン(8ms)
 digitalWrite(4,HIGH); 
   delay(8);
 digitalWrite(4,LOW);  

 Serial.println(val);
  
}

このスケッチは秋月電子のサンプルコードをわかりやすくしたものです。

TGS2450の回路図

※公式データシートより引用(tgs2450_data.pdf)

センサー側の回路(3ピン)

データシートにある回路図のRS抵抗は可変抵抗です。RL抵抗を加えて抵抗分圧回路になっています。センサー側は恐らく「回路電圧」ですので、標準回路条件は「Ps <= 15mW」となっています。

このPsを計算するには次の公式を使用します。

※公式データシートより引用(tgs2450_data.pdf)

[RL抵抗値が1kΩの場合]

センサーの値は415前後(電圧換算だと「415 / 1024 x 5 = 2V」)でした。

Rs = (Vc - Vout) / Vout x RL
1500Ω = (5 - 2) / 2 x 1000

Ps = (Vc - Vout) x (Vc - Vout) / Rs
0.006W = (3 x 3) / 1500
6mW = 0.006W x 1000

[RL抵抗値が33Ωの場合]

センサーの値は870前後(電圧換算だ「870 / 1024 x 5= 4.24V」)でした。

Rs = (Vc - Vout) / Vout x RL
5.92Ω = (5 - 4.24) / 4.24 x 33

Ps = (Vc - Vout) x (Vc - Vout) / Rs
0.09756W = (0.76 x 0.76) / 5.92
97.56mW = 0.09756W x 1000

標準回路条件は「Ps <= 15mW」に対して、1kΩの場合は「6mW」で33Ωは「97.56mW」です。1kΩの場合は標準回路条件以内の数値ですが、手元にあるマジックの臭いには残念ながら無反応です。33Ωですと、次のように敏感に反応してくれます。

これらの事から「においの感度」を上げる為には3ピンのRL抵抗値を下げると良い事がわかります。そもそも、標準回路条件なのでオーバーしても問題ないのかも知れません。

ヒーター側の回路(4ピン)

ヒーター側では5Vに33Ωを使用しているので電流は151mAです。

151mA = 5V / 33Ω

データシートの標準回路条件には電圧が「1.6V」と記述されています。これが絶対最大定格なのか不明です。

次に4ピンには内部抵抗のRH抵抗(8.5-10.5Ω)があります。

このRH抵抗は回路図では直列に見えますが、並列の場合は「抵抗分圧の計算」でVin=5V R1=33Ω、R2=9.5ΩとするとVoutの電圧は約1.12Vになります。直列の場合ですと「33Ω + 9.5Ω = 42.5Ω」 で電圧5V、電流117mAとなります。

直列5V117mA
並列1.12V151mA

絶対最大定格が1.6Vで直列の場合は、この記事で紹介している手法ですとTGS2450が壊れる可能性がありますのでご注意ください。

※不安な方は分圧またはレギュレーターで電圧を1.6V以内にして下さい。

最後に

今回は「においセンサー」(TGS2450)の実験です。秋月電子の参考回路やネット情報で必ず使用されている「トランジスタ」は使用しておりません。

また、公式データシートには標準回路条件は記載されていますが、絶対最大定格の情報は一切ありません。ですので、今回は「使い方」ではなく「実験扱い」とさせて頂きます。





掲示板

ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。

関連記事



公開日:2017年06月26日
記事NO:02441