においセンサー
ヒーターの制御
ヒーターに1.6V/138mAでON:8ms/OFF:242msでパルス入力する。
- 1.6V/8.5Ω = 188mA
- 1.6V/10.5Ω = 152mA
138mAってどこからきたんだ??
5V/25Ω=200mA
5V/30Ω=166mA
5V/35Ω=142mA *
5V/40Ω=125mA
25Ω(100Ω*4本)+10Ω(ヒーター)でいいかな。
1/(1/100+1/100+1/100+1/100)=25
センサーから値を取得する
センサーににON:5ms/OFF:245msでパルス入力して抵抗値を計る。
臭いと抵抗値が下がる。
250msサイクル
0ms:ヒーターON
8ms:ヒータOFF
245ms:センサ電圧ON
247ms:センサ電圧計測
249ms:センサ電圧OFF
回路図
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
25Ωは100Ωを4本並列。
33Ωは100Ωを3本並列。
スケッチ
int ledPin = 13;
int sensorAnalogIn = 5; // ANALOG IN
int sensorOutPin = 3; // DIGITAL OUT
int heaterOutPin = 2; // DIGITAL OUT
int count = 0;
int val4 = 0;
#define REF_VOLTAGE 5.0 //1.1
void setup() {
analogReference(DEFAULT);
pinMode(ledPin, OUTPUT);
pinMode(sensorOutPin, OUTPUT);
pinMode(heaterOutPin, OUTPUT);
Serial.begin(19200);
}
void loop()
{
int val;
int i;
double volt;
double templ;
val = 0;
// <- 0ms.
digitalWrite(heaterOutPin, HIGH);
digitalWrite(ledPin, HIGH);
delay(8);
// <- 8ms.
digitalWrite(heaterOutPin, LOW);
digitalWrite(ledPin, LOW);
delay(235);
// <- 245ms.
digitalWrite(sensorOutPin, HIGH);
if(false){
delay(2);
// <- 247ms.
val += analogRead(sensorAnalogIn);
delay(2);
// <- 249ms.
}else{
delay(1);
// <- 246ms.
val += analogRead(sensorAnalogIn);
delay(1);
// <- 247ms.
val += analogRead(sensorAnalogIn);
delay(1);
// <- 248ms.
val += analogRead(sensorAnalogIn);
delay(1);
// <- 249ms.
val += analogRead(sensorAnalogIn);
val = val/4;
}
digitalWrite(sensorOutPin, LOW);
delay(1);
// <- 250ms.
val4 += val;
if(count%4==3){
volt = REF_VOLTAGE*val4/4/1024.0;
Serial.print(count); Serial.print(" : ");
Serial.print(volt); Serial.println("V.");
val4 = 0;
}
count++;
}
センサーの消費電力
33Ωを使った状態だと、
通常状態 : 3.93V
ラム(酒)を接近 : 1.65V
良い感じに反応してる!
トランジスタのエミッタの電圧 : 4.23V
で、33Ωとセンサーの変化する抵抗値で何mA流れてて消費電力は?
15mW以下に収まっていればOK。
5V -- 4.23V -- 3.93V -- 0V
33Ω
(4.23-3.93)/33=9mA
3.93V*0.009A = 0.035W *
センサ抵抗 : 3.93V/0.009A = 436.6Ω
5V -- 4.23V -- 1.65V -- 0V
33Ω
(4.23-1.65)/33=78mA
1.65V*0.078A = 0.128W *
センサ抵抗 : 1.65V/0.078A = 21.15Ω
だめじゃん。
5V -- 4.23V -- 2.74V -- 0V
100Ω
(4.23-2.74)/100=0.015A
2.74V*0.015A = 0.0411W
これでも多い。
Psの最大値15mWって平均値か最大値なのかがわからない。
ヒーターに与える電力を下げてみる?
温度が上がる→抵抗値が下がる
ということなので
ヒーターに与える電力を下げる→温度が下がる→抵抗値が上がる
としてみたら良いかもしれない。
25Ω(100Ω*4本)+10Ω(ヒーター)でいいかな。
5V --- 1.428V --- 0V
25Ω 10Ω
1.428V/10Ω=142mA ちょっと多い
電圧を下げる
センサーと直列の抵抗にかける電圧を下げてみたらPsも下がるはず。
可変型高精度ツェナー・シャント・レギュレータ TL431ACZ-AP 10個 100円
これでいいのかしら。2.5Vまでしか下がらないっぽいが。
最終更新:2009年03月17日 13:44