So-net無料ブログ作成

ファイルシステム搭載 H8マイコンボード MH8ALFAT05を使った温度ロガーの製作 [ALFAT]

マルツ電波で販売されているファイルシステムを搭載したH8/Tinyマイコンボード(MH8ALFAT05)を使って8チャンネル、表示単位は0.5度、温度範囲0℃~100℃(計測精度は0℃~50℃が±1度、それを超える範囲では最大±3℃)まで計測及び記録できる温度ロガーを製作しました。現物は16日から開催されるインターネプコンで展示される(様に今頑張っているところ)予定です。 このボードのハードウエアには、マイコンにはルネサス製のH8/3687F Tinyマイコンを使用しており、ファイルシステムにはFATファイルシステム専用のICを使用しています。 入出力要素として多数のポートを引き出せるようにし、またボード上にはキャラクタLCDインタフェース、4bitのタクトスイッチ、圧電スピーカー、RS232(EIA574)コネクタを用意してあります。 またファイルシステムなのでRTCを必要としますが、電池バックアップ可能なRTCも搭載可能です。 デバック用にはE8インタフェースコネクタを装備しています。 ソフトウエアには、フリーのμITRON4.0仕様OSのHOSを搭載し、タスク構成=機能分割とする事で基本設計を容易にし、全体的な開発工数の削減を行う事ができました。
温度センサーには低価格で入手性が良く、利用し易いサーミスタ(石塚電子製 103AT-2)を使用しています。このサーミスタはNTC、つまり負の温度係数を取る抵抗体で、温度が上がるほど抵抗値が減少します。 写真は、今回作成したセンサーケーブルとテスターに接続されたK型熱電対をいっしょにアルミ箔で包んだ状態です。実は部品手配に失敗して、8チャンネル計測できるところ、5チャンネル分のセンサーケーブルしか作製できていません。
しかしサーミスタは白金温度センサーやIC温度センサー等と異なり、温度に対する抵抗値の変化が直線とはならず、今回の作品は0℃~100℃までを計測範囲としていますが、特に高い方の温度ではH8の内臓している10bitのA/Dコンバーターでは分解精度が不足するので、MH8ALFAT05基板とは別にアナログ入力用の基板を製作し、そちらに12bitのA/Dコンバーターを搭載しています。 センサー及びセンサーケーブルは、ケーブルの抵抗値が誤差になる事を防ぐ目的で3線式ケーブルとなっていますので、容易にケーブル長を伸ばす事が可能です。また、ノイズの多い環境下で使用する時は、2芯シールドケーブルを使用する事でノイズ耐性を高める事が出来ます。 ※計測温度範囲は0℃~100℃としていますが、実際にセンサーケーブルの作製に使用したケーブルや熱収縮チューブは100℃まで耐えられる物を用意できなかったので、実質的な耐用温度は70℃程度となっています。
ちなみにサーミスタの温度/抵抗値の特性をエクセルにグラフを描かせると、こんな事になっています。縦軸が抵抗値で単位はΩ、横軸が温度で単位は℃。特に50℃を超える辺りから曲がりがきつくなり、分解能が直線的なA/Dコンバーターでは高い温度での精度が苦しくなる事が容易に想像できます。
このロガーには警報表示出力機能を持たせて有ります。基板下部のユニバーサル領域に赤と青のLEDをそれぞれ8個並べておりますが、予め設定された温度を超えると、このLEDは青色から赤色のLEDの点灯に切り替わります。勿論まだ沢山のポートが余っているので、リレーを搭載して、警報のリレー出力とする事も可能ですし、基板上の圧電スピーカーでピー!ピー!ピー!と鳴らす事も可能です。
表示メッセージですが、まあ16文字×2行という非常に少ない表示量で行わなければならないので、あまり親切な表示メッセージとは言い難いのですが、左上の"R"は”RUNNING”、つまり計測実行中を表し、その右は記録間隔(P=PERIOD:単位は分)を示しています。ちなみに表示の更新は1秒で行われます。 記録間隔の右隣は現在時刻を表しています。 下の行が計測温度を表示していて、”チャンネル番号:計測温度”のフォーマットとなっています。 画面が小さいので一度に表示できるチャンネルは2個となります。その為別のチャンネルを見るためには、タクトスイッチのUP/DOWNキーで表示チャンネルを切り替えます。
一応目標としていた50℃を超える範囲での最大3℃の誤差と言うのは、何とか入ったみたいです。 これはチャンネル1と2。
これはチャンネル3と4。
これはチャンネル5と6。 チャンネル6はセンサーケーブルが接続されておらず開放状態となっている為、抵抗ブリッジ回路での差分電圧が発生せず、25℃表示となっています。7、8チャンネルも同様になっています。
試験にはホットプレートを使用していますヽ (´ー`)┌ 。 まあ自宅でやっているので、揃えられる設備はこの辺が限界!。ただ熱容量が大きく、蓋をする事で狭い空間内の環境を維持し易いので、外乱を受け難い環境を構築はできます。
100℃に達した時点でホットプレートのスイッチを落としたのですが、ヒーターの余熱でこの後120℃まで上がってしまいました。危ない危ない。
ちなみに今回の試験で記録されたデータです。10分置きのデータとなっています。 画像をローカルに落としてから開くと、拡大して見る事ができます。
グラフ化しています。やはりローカルに落としてから見る事ができます。 常に温度が変化している状態なので、ややバラツキが見えます。 更なる精度を求めるなら、個々のセンサーの特性を取る必要が有るのかもしれません。


今回のサーミスタのB定数は3435K。25℃におけるゼロ負荷抵抗値は10KΩ。B定数、ゼロ負荷抵抗値共に1%精度です。計算上、今回の計測精度の範囲内ならそれ程影響はしないのですが、より高精度な計測を行うなら、個々のサーミスタのB定数や誤差を実測しておく必要が有るでしょう。
しかし今回の製作は参考出品用なのであまり予算をもらえず、時間もコストも掛ける事ができません。まあこんな物でしょう。
時間もコストも仕様の内ですから。

ちなみに例によってこんな変換テーブルを作って、マイコンのCPUパワーとかメモリとかのリソース消費を減らしています。

/* ------------------------------------------------------------------------ */
/* 0度から200度までのサーミスターの変換テーブル                             */
/*                                          designed by hamayan             */
/*                                          Copyright (C) 2007 - by hamayan */
/* ------------------------------------------------------------------------ */

const double thermister_table[] = 
{
	3814.812506,	/* 0.000000degrees 28736.182351ohm 3.730225vad */
	3790.432595,	/* 0.500000degrees 28082.720160ohm 3.706386vad */
	3765.913251,	/* 1.000000degrees 27446.421791ohm 3.682410vad */
	3741.259768,	/* 1.500000degrees 26826.780410ohm 3.658303vad */
	3716.477523,	/* 2.000000degrees 26223.305711ohm 3.634071vad */
	3691.571967,	/* 2.500000degrees 25635.523334ohm 3.609717vad */
	3666.548623,	/* 3.000000degrees 25062.974294ohm 3.585249vad */
	3641.413081,	/* 3.500000degrees 24505.214440ohm 3.560671vad */
	3616.170994,	/* 4.000000degrees 23961.813932ohm 3.535988vad */
	3590.828066,	/* 4.500000degrees 23432.356738ohm 3.511207vad */
	3565.390057,	/* 5.000000degrees 22916.440147ohm 3.486333vad */
	3539.862767,	/* 5.500000degrees 22413.674308ohm 3.461372vad */
	3514.252040,	/* 6.000000degrees 21923.681780ohm 3.436329vad */
	3488.563752,	/* 6.500000degrees 21446.097100ohm 3.411210vad */
	3462.803806,	/* 7.000000degrees 20980.566369ohm 3.386022vad */
	3436.978132,	/* 7.500000degrees 20526.746852ohm 3.360769vad */
	3411.092674,	/* 8.000000degrees 20084.306595ohm 3.335457vad */
	3385.153391,	/* 8.500000degrees 19652.924051ohm 3.310093vad */
	3359.166247,	/* 9.000000degrees 19232.287730ohm 3.284682vad */
	3333.137207,	/* 9.500000degrees 18822.095849ohm 3.259230vad */
	3307.072231,	/* 10.000000degrees 18422.056005ohm 3.233743vad */
               途中略
	2610.556308,	/* 23.500000degrees 10600.483972ohm 2.552671vad */
	2585.735838,	/* 24.000000degrees 10395.739108ohm 2.528401vad */
	2561.029615,	/* 24.500000degrees 10195.617212ohm 2.504243vad */
	2536.441486,	/* 25.000000degrees 10000.000000ohm 0.000000vad */
	2511.975188,	/* 25.500000degrees 9808.772554ohm 2.456276vad */
	2487.634342,	/* 26.000000degrees 9621.823212ohm 2.432475vad */
	2463.422459,	/* 26.500000degrees 9439.043467ohm 2.408800vad */
               途中略
	690.586576,	/* 90.000000degrees 1269.406379ohm 0.675274vad */
	684.793345,	/* 90.500000degrees 1252.990543ohm 0.669609vad */
	679.076411,	/* 91.000000degrees 1236.831221ohm 0.664019vad */
	673.434747,	/* 91.500000degrees 1220.923779ohm 0.658502vad */
	667.867340,	/* 92.000000degrees 1205.263674ohm 0.653058vad */
	662.373189,	/* 92.500000degrees 1189.846457ohm 0.647686vad */
	656.951304,	/* 93.000000degrees 1174.667768ohm 0.642384vad */
	651.600706,	/* 93.500000degrees 1159.723337ohm 0.637153vad */
	646.320428,	/* 94.000000degrees 1145.008980ohm 0.631989vad */
	641.109516,	/* 94.500000degrees 1130.520596ohm 0.626894vad */
	635.967025,	/* 95.000000degrees 1116.254167ohm 0.621865vad */
	630.892024,	/* 95.500000degrees 1102.205755ohm 0.616903vad */
	625.883591,	/* 96.000000degrees 1088.371503ohm 0.612006vad */
	620.940818,	/* 96.500000degrees 1074.747628ohm 0.607172vad */
	616.062805,	/* 97.000000degrees 1061.330425ohm 0.602403vad */
	611.248666,	/* 97.500000degrees 1048.116261ohm 0.597695vad */
	606.497525,	/* 98.000000degrees 1035.101576ohm 0.593049vad */
	601.808517,	/* 98.500000degrees 1022.282880ohm 0.588464vad */
	597.180787,	/* 99.000000degrees 1009.656752ohm 0.583939vad */
	592.613494,	/* 99.500000degrees 997.219837ohm 0.579473vad */
	588.105805,	/* 100.000000degrees 984.968850ohm 0.575066vad */
               以下略

nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。