移転しました。
カレンダー
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 |
フリーエリア
最新トラックバック
ブログ内検索
アクセス解析
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
それもこれも、教本にデータシート載せないからだよ… 最低限、付録に関する必要な資料は載せてよ。。。
既存の温度計のセンサ部分と、評価ボード極力接近させ、その状態でポリ袋に入れてお湯に投入!
10分ほど待ち、安定してから5分間隔で温度計の値と、AD変換の値をメモります。
グラフにするとこんな感じ。気温以下を作るために途中で氷を投入したりしたので、観測時間間隔は一定だが、観測値は定間隔になってないです。
搭載されているADコンバータは10bitなので、観測値の値域は0-1023です。
グラフの傾きを適当に補完すると、約-30℃から約80℃程度まで計測できそうですね。
若干曲線の様に見える。だが、測定誤差もあるので厳密に計算したとしても結局誤差に埋もれる程度の補正しか望めないので今回は線形であると決めうち。変換式は適当に y=(740-x)/10 という事にした。
AD_Start()関数を呼び出すと、unsigned shortなaddatにAD変換結果が入ります…が、結果が入る前にAD_Start()は帰ってくるのでその後のwhileで変換を待ちます。
あとは度数表示に変換して出力しています。残念ながら簡易な出力関数なのでintのみ対応。一生懸命変換して小数点以下第1位まで表示します。
そしてこんな感じになりましたー。
参考にした温度計とほぼ同様な値が取れています。
これを数分おきに記録するようにしたら、温度のデータロガーになりますなぁ。 要らないけど。
既存の温度計のセンサ部分と、評価ボード極力接近させ、その状態でポリ袋に入れてお湯に投入!
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 |
グラフにするとこんな感じ。気温以下を作るために途中で氷を投入したりしたので、観測時間間隔は一定だが、観測値は定間隔になってないです。
搭載されているADコンバータは10bitなので、観測値の値域は0-1023です。
グラフの傾きを適当に補完すると、約-30℃から約80℃程度まで計測できそうですね。
若干曲線の様に見える。だが、測定誤差もあるので厳密に計算したとしても結局誤差に埋もれる程度の補正しか望めないので今回は線形であると決めうち。変換式は適当に y=(740-x)/10 という事にした。
addat=0; AD_Start(ADChannel1); addat = 740-addat; |
AD_Start()関数を呼び出すと、unsigned shortなaddatにAD変換結果が入ります…が、結果が入る前にAD_Start()は帰ってくるのでその後のwhileで変換を待ちます。
あとは度数表示に変換して出力しています。残念ながら簡易な出力関数なのでintのみ対応。一生懸命変換して小数点以下第1位まで表示します。
そしてこんな感じになりましたー。
参考にした温度計とほぼ同様な値が取れています。
これを数分おきに記録するようにしたら、温度のデータロガーになりますなぁ。 要らないけど。
PR
この記事にコメントする