ニックネーム: 居酒屋ガレージ店主
★ZAQのBlogari停止のため、あれこれ「データ吸い出し」対策しています。 新規記事はとりあえず停止。 コメント書き込みはまだ有効です。 (JH3DBO 下間憲行)
2015年06月11日(木)
サーミスタのB定数
「温度測定:サーミスタで」の続き。
探していたら、5℃ピッチの抵抗値表が出てきました。

で、この表から2点間の温度データを使って「B定数」を計算します。
pdfからピックアップしたのがこれ。
左側が温度、右の数字が抵抗値。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
# 502AT 温度-抵抗特性
#温度  抵抗値
#℃   Ω
-20   32440
-15   25660
-10   20480
-5   16430
0    13290
5    10800
10   8840
15   7267
20   6013
25   5000
30   4179
35   3508
40   2961
45   2509
50   2137
55   1826
60   1567
65   1350
70   1168
75   1014
80   883.5
85   772.2
90   677.1
95   596.1
100   526.5
105   465.4
110   412.8
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
# 103AT 温度-抵抗特性
#温度  抵抗値
#℃   Ω
-20   67770
-15   53410
-10   42470
-5   33900
0    27280
5    22050
10   17960
15   14690
20   12090
25   10000
30   8313
35   6940
40   5827
45   4911
50   4160
55   3536
60   3020
65   2588
70   2228
75   1924
80   1668
85   1451
90   1266
95   1108
100   973.1
105   857.2
110   757.6
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

この数字をファイルにし、次の「awk」スクリプトにかけて、
B定数を計算します。
  ※注:このブログでは半角スペースが詰まってし
     まうんで、スペース2つを全角スペースに変
     えています。

#####  サーミスタ抵抗値計算プログラム  #####
#    下間憲行  jh3dbo@jarl.com
#    10℃ごとの温度,抵抗値テーブルから
#    各温度範囲のB定数を計算
#    メモ awkのlogは自然対数

BEGIN{
#  定数指定
    K_273 = 273.15      # ケルビン温度

#  タイトル表示
  print("* サーミスタB定数計算 (2015-06-10)\n") > "/dev/stderr"
  nbr = 0           # 読み込みデータ数
}
#  「BEGIN」おわり  (以下、ファイル読み出し処理)

#####  温度,抵抗値テーブルを読み出す  #####
#  10℃ごとの温度と抵抗値を順に読む
{
  if( $0 ~/^#/ )  next      # 先頭文字が「#」ならコメント
#  数値入力
  temp[nbr] = $1      # 温度
  ohm[nbr] = $2      # 抵抗値
  printf("// %2d %6d℃ %8.1fΩ\n", nbr , temp[nbr], ohm[nbr])
  nbr++          # 配列 +1
}
#  ファイル処理おわり (以下、END処理)

#####  10℃ごとのB定数計算  #####
#     ※基準は25℃なので、20〜25〜30℃となっているので注意
END{
# B定数計算 10℃ごと
  if(nbr < 2) break  # データなし
  print("// B定数")
  print("//   Ω,   Bconst")
  for(i = 0; i < (nbr - 1); i++){
    t1 = temp[i]
    t2 = temp[i+1]
    r1 = ohm[i]
    r2 = ohm[i+1]
    B[i] = (log(r1 / r2)) / ((1 / (t1+K_273)) - (1 / (t2+K_273)))
    printf("  {%8.1f,%8.1f },   // %4d℃\n",r1, B[i], t1)
  }
}

処理されて出てきた数字を並べ替えたのがこれ。
温度と抵抗値(入力したのと同じ値)、そしてその温度と
次行の温度を使って求めたB定数です。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
# 502AT 温度-抵抗特性
#温度  抵抗値    B定数
-20   32440.0   3064.4
-15   25660.0   3063.5
-10   20480.0   3109.6
-5   16430.0   3107.0
 0   13290.0   3152.5
 5   10800.0   3154.4
10   8840.0   3197.4
15   7267.0   3200.1
20   6013.0   3224.9
25   5000.0   3242.4
30   4179.0   3270.0
35   3508.0   3271.6
40   2961.0   3300.6
45   2509.0   3299.8
50   2137.0   3335.5
55   1826.0   3344.5
60   1567.0   3358.4
65   1350.0   3360.7
70   1168.0   3378.3
75   1014.0   3387.7
80    883.5   3406.1
85    772.2   3418.7
90    677.1   3406.8
95    596.1   3411.2
100    526.5   3481.2
105    465.4   3475.4
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
# 103AT 温度-抵抗特性
#温度  抵抗値    B定数
-20   67770.0   3112.3
-15   53410.0   3114.0
-10   42470.0   3180.8
-5   33900.0   3182.7
 0   27280.0   3234.2
 5   22050.0   3231.7
10   17960.0   3279.6
15   14690.0   3290.8
20   12090.0   3317.7
25   10000.0   3340.0
30   8313.0   3372.7
35   6940.0   3373.5
40   5827.0   3407.8
45   4911.0   3412.5
50   4160.0   3446.8
55   3536.0   3448.9
60   3020.0   3478.1
65   2588.0   3476.0
70   2228.0   3505.1
75   1924.0   3511.0
80   1668.0   3525.6
85   1451.0   3547.9
90   1266.0   3564.4
95   1108.0   3566.9
100    973.1   3578.9
105    857.2   3579.2
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

サーミスタのデータは502ATと103ATの二つ。
入力ミスは無いはずなんですが、計算したB定数の変化、
単調な右肩上がりの線にならず、でこぼこしてるんです。
数字では分かりにくいんで、グラフにしてみました。

●502AT (クリックで拡大↓)


●103AT  (クリックで拡大↓)


502ATの80℃〜100℃、滑らかに右肩上がりじゃなく、
凹っています。
そして、502ATも103ATも、氷点下以下のところが
段々になっている感じです。
抵抗値の微妙な変化で、こんなことになるのかなぁ。




2015年6月11日 14時41分 | 記事へ | コメント(2) | トラックバック(0) |
| ・電子回路工作 |
トラックバックURL:http://blog.zaq.ne.jp/igarage/trackback/4150/
※ブログ管理者が承認するまで表示されません
2015年06月13日(土) 22:28 by 居酒屋ガレージ店主(JH3DBO)
2015年06月13日(土) 22:36 by 居酒屋ガレージ店主(JH3DBO)
「※勘所」に関する追記。

・1℃単位の測定なら8bit A/Dでもなんとか。
・でも、10bitのA/D(AVRやPICマイコン内蔵のA/D分解能)は欲しい。
・0.1℃となると12bitA/Dは必須。
・それでも、温度範囲は「人が居てれる」ところ。
・0.01℃となるの、サーミスタの精度だけじゃなく、
 測定環境が。
・人がアウトな高温、低温の環境となると、やっぱ「白金」か。
・熱電対だと、冷接点補償の「信用度」が問題に。

コメントを記入  
お名前(必須)
 
パスワード:
 
メール:
 
URL:
 
非公開:  クッキーに保存: 
※非公開にチェックを入れると、管理者のみにコメントが届きます。
ブログの画面には表示されません。
captcha


※画像に表示されている文字を入力してください(半角・大文字/小文字の区別なし)。
文字が読みづらい場合はこちらをクリックしてください。
小文字 太字 斜体 下線 取り消し線 左寄せ 中央揃え 右寄せ テキストカラー リンク