Texas Instruments MSP430 を使って温度計を作成しました。
LaunchPadで実装されているデモプログラムに手を入ただけのものですが、結構よい暇潰しになりました。
1年前は、デモプログラムの通信機能を中心に色々試してみましたが、今回はADCについて機能を検証しました。
1.ADC10コンフィグレーション
1)入力レンジの設定
・GND~Vcc 0V~3.3V
・GND~Vref 0V~(1.5V or 2.5V) ※デモプログラム設定
・その他
2)チャネル 選択
・A0~A7
・Temperature Sensor ※デモプログラム設定
3)参照電圧(Vref)選択 Reference-generator voltage
・1.5V ※デフォルト
・2.5V
4)参照電圧生成 Reference-generator
5)サンプリング周期設定 Sample and hold time
64xADC10CLKs
6)割り込み許可 Interrupt enable
7)ADC ON
2.ADC分解能
ADC分解能 = 1500mv ÷ 1024(10bit) = 1.4648mv/div
3.温度計算(内蔵温度センサ)
MSP430G2x52に内蔵された温度センサを利用した温度計
(ADC10 チャネル選択で温度センサ指定)
・温度センサ仕様 3.55mV/℃
ADC値(1単位)あたりの温度= 1.4648mv/div ÷ 3.55mV/℃ = 0.41263℃
0℃でのADC値 = 673
計測温度 = (ADC値 - 673) × 0.41263
4.温度計算(外装温度センサ LM61BIZ)
ADC10のチャネル A0に 温度センサを繋げた温度計
・温度センサ仕様 0℃での出力電圧 600mV、 10mV/℃
ADC値(1単位)あたりの温度. = 0.14648 ℃/div.
0℃でのADC値 = 600mV÷1.46484375mv/div = 409.6
計測温度(℃)=(ADC10の出力値 - 409.6)×0.14648
5.その他
ADCの出力値はサンプリング毎に結構ぶれるので、サンプルプログラムでは8回のサンプリングの移動平均をとり、この値から温度計算を行っています。
今回の温度表示は、MSP430内蔵温度センサと外装温度センサでは、最大で1.5℃のずれがありました。また、部屋にあった寒暖計とも2~5℃ずれていました。
2012年3月3日土曜日
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿