においセンサー(TGS2450)の実験 [Arduino]
食品/薬品、口臭などの「におい」を検知する事ができるセンサーです。
実行結果をArduino IDEの「シリアルプロッタ」で表示
においの元である「被測定物」をセンサーに近づける際には10秒ぐらい近づけてから離すとグラフに現れやすいです。
使用部品・材料
総額で約790円です。(Arduino本体の値段を除く)
部品/材料 | 値段 | 備考 |
---|---|---|
ブレッドボード | ¥270 | 秋月電子の通販コード(P-00315) |
においセンサ TGS2450 | ¥300 | 秋月電子の通販コード(P-00989) |
ブレッドボード・ジャンパーコード(オス-メス) 15cm(青) (10本入) | ¥220 | お好きな色でも良いです。 秋月電子の通販コード(C-08934) |
カーボン抵抗器 | 数円 | 33Ω(2個)を使用。 |
33Ωが手元にない場合は100Ωを3つ並列にすると33Ωになります。
※ブレッドボード・ジャンパーコード(オス-メス) は必ずしも必要ではありませんが、あると便利です。
配線図
デジタル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」)でした。
1500Ω = (5 - 2) / 2 x 1000
0.006W = (3 x 3) / 1500
6mW = 0.006W x 1000
[RL抵抗値が33Ωの場合]
センサーの値は870前後(電圧換算だ「870 / 1024 x 5= 4.24V」)でした。
5.92Ω = (5 - 4.24) / 4.24 x 33
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です。
データシートの標準回路条件には電圧が「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となります。
直列 | 5V | 117mA |
並列 | 1.12V | 151mA |
絶対最大定格が1.6Vで直列の場合は、この記事で紹介している手法ですとTGS2450が壊れる可能性がありますのでご注意ください。
※不安な方は分圧またはレギュレーターで電圧を1.6V以内にして下さい。
最後に
今回は「においセンサー」(TGS2450)の実験です。秋月電子の参考回路やネット情報で必ず使用されている「トランジスタ」は使用しておりません。
また、公式データシートには標準回路条件は記載されていますが、絶対最大定格の情報は一切ありません。ですので、今回は「使い方」ではなく「実験扱い」とさせて頂きます。
掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。