忍者ブログ
 
移転しました。
2024.11│ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
フリーエリア


最新コメント
[11/07 kojima]
[07/21 ゆ〜すけ]
[06/19 ゆ〜すけ]
最新トラックバック
プロフィール
HN:
wbb
HP:
性別:
非公開
職業:
電話当番
ブログ内検索
アクセス解析
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

MA330546.JPG



評価ボードに搭載されているサーミスタの温度特性を調べます。





それもこれも、教本にデータシート載せないからだよ… 最低限、付録に関する必要な資料は載せてよ。。。


既存の温度計のセンサ部分と、評価ボード極力接近させ、その状態でポリ袋に入れてお湯に投入!
10分ほど待ち、安定してから5分間隔で温度計の値と、AD変換の値をメモります。

温度計値 観測値
65.5 166
61.7 186
57.7 208
54.0 232
51.0 252
48.4 270
46.3 287
44.5 302
42.9 315
41.6 325
40.0 341
36.8 369
33.0 406
28.2 451
26.3 473
24.1 501
21.8 529
19.3 557
17.2 577
12.0 653
10.5 675
6.5 705
3.5 737

cdbe0625.jpeg
グラフにするとこんな感じ。気温以下を作るために途中で氷を投入したりしたので、観測時間間隔は一定だが、観測値は定間隔になってないです。

搭載されているADコンバータは10bitなので、観測値の値域は0-1023です。
グラフの傾きを適当に補完すると、約-30℃から約80℃程度まで計測できそうですね。

若干曲線の様に見える。だが、測定誤差もあるので厳密に計算したとしても結局誤差に埋もれる程度の補正しか望めないので今回は線形であると決めうち。変換式は適当に y=(740-x)/10 という事にした。

        addat=0; AD_Start(ADChannel1);
        while(!addat){ ; }

        addat = 740-addat;
        i=addat/10;
        f=addat-i*10;
        print("%d.%d degC\n",i,f);


AD_Start()関数を呼び出すと、unsigned shortなaddatにAD変換結果が入ります…が、結果が入る前にAD_Start()は帰ってくるのでその後のwhileで変換を待ちます。
あとは度数表示に変換して出力しています。残念ながら簡易な出力関数なのでintのみ対応。一生懸命変換して小数点以下第1位まで表示します。

MA330547.JPG
そしてこんな感じになりましたー。

参考にした温度計とほぼ同様な値が取れています。




これを数分おきに記録するようにしたら、温度のデータロガーになりますなぁ。 要らないけど。
 
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
←No.18No.17No.16No.15No.14No.13No.12No.11No.10No.9No.8