PSoC ExpressとS-8100Bで温度を計測する

psoc_8100b_exp_01.gif
今回は温度センサー「S-8100B」とPSoCを利用して温度を計測する。プログラミングに利用するのはPSoC Express 2.2。このソフトは温度計測モジュールなどがそろっている。しかし残念ながら「S-8100B」は用意されていない。そのためソースコードを修正して「S-8100B」が利用できるようにする。

psoc_8100b_exp_02.gif
まずプロジェクトに温度計を追加する。「Edit」メニューから「Add Input」を選択する。

psoc_8100b_exp_03.gif
そして「Temperature」の「Integrated Circuit」にある「LM35 +2 to 150C」を選択する。今回利用する温度センサーは「S-8100B」であり「LM35」ではない。LM35用のソースコードをS-8100B用に修正して使う。

psoc_8100b_exp_04.gif
次に計測した温度を表示するための液晶モジュールを追加する。「Edit」メニューから「Add Output」を選択する。

psoc_8100b_exp_05.gif
そして「Display」の「LCD」にある「LCD Value」を選択する。このモジュールは文字通り数値(Value)を表示するためのものだ。

psoc_8100b_exp_06.gif
次に温度計の計測値が液晶モジュールに表示されるようにする。
液晶モジュールを示す「Output1」を右クリックして現れるメニューから「Transfer Function」を選択する。

psoc_8100b_exp_07.gif
今回はif命令で条件を指定できる「Priority Encoder」を利用する。

psoc_8100b_exp_08.gif
条件を指定できるものの特に条件は必要ないので「if」の次の欄に「1」を指定する。「then」の後ろの欄は温度センサーを示す「Input1」を指定する。

psoc_8100b_exp_09.gif
これで「Input1」と「Output1」がオレンジ色の線で結ばれた。

psoc_8100b_exp_10.gif
ここからの作業が今回の"肝"となる。PSoC Expressに備わっているLM35用のソースコードを修正する。ソースコードは
C:\Program Files\ Cypress MicroSystems\ PSoC Express\ CMXData\ CMXDRV\ CMX\ LM35\ LM35.c
に記述されている。このファイルを右クリックして「アプリケーションから開く」を選択する。

psoc_8100b_exp_11.gif
そして開くアプリケーションとして「Notepad」(メモ帳)を選択する。

psoc_8100b_exp_12.gif
これでLM35用のソースコードが開いた。このファイルの末尾に計測値出力用の関数「..._LM35_Value」が用意されている。

psoc_8100b_exp_13.gif
この部分を以下のように変更する。
計算式の詳細は前回の「PSoCとS-8100Bで温度を計測する」を参照してほしい。


int  CMX_LM35_GetValue(const CMX_LM35_ParameterBlock * thisBLK)
{
int n;
n = iGetChanMVolts(thisBLK->InPort);
n = (1508 - n) * 1.25 + 3000;
return n;
}




psoc_8100b_exp_14.gif
これでソースコードの修正も終わったので「Build」する。

psoc_8100b_exp_15.gif
PSoCデバイスは「CY8C29466」、「Sample Rate」を「8Hz」を指定した。

psoc_8100b_exp_16.gif
今回は配線の都合上、出力ポートを変えた。「Input1」をポート01に、LCDをポート2にする。

psoc_8100b_exp_17.gif
これでビルドできた。

_DSC9003.JPG
MiniProgでPSoCへ書き込みLCDとS-8100Bを接続して動作確認をする。今回はPSoCEval上で配線した。

_DSC9000.JPG
温度センサーの「S-8100B」は写真を見て左側の端子からOUT、GND、VCCとなる。それぞれポート01、GND、VCCに接続する。温度がきちんと計測できない(実際より高く表示される)ようであればOUTとVCCの間に1MΩ程度の抵抗を配置するといい。

_DSC9004.JPG
4桁で温度が表示された。30.07℃だ。暑い...


カテゴリー「電子工作」 のエントリー