
ちょっと温度 (特に何かの表面温度) をはかりたい場合には、例えば DMM に付いている熱電対を使うことができますが、 最大の欠点はこの DMM を使って電圧・電流の測定ができなくなってしまうことです。
そこで、DMM を別目的で使いつつ、ちょっと表面温度をはかりたいといった時のために、 MAX31855 ボード を使用した温度計を作成しました。
上の写真では熱電対をワニ口クリップ経由で接続していますが、熱電対は端子台に直接接続すべきです。 また上部にある白い小さなボードは DC-DC 昇圧 (5V) モジュールです。
AVR は 7-Segment LED ボードの下にあります。 トランジスター、抵抗等はチップ部品を使っています (基板裏についているので、写真では見えません)。
コンパイル方法
7セグメントの使用、USART 出力、温度補正有無はそれぞれ有効化/無効化できます。
デフォルトでは全て有効化されていますが、不要な場合は Makefile.settings の該当部分をコメントアウトして下さい。
温度補正については MAX31855の温度データーの補正 を参照して下さい。
MAX31855 ボードへ接続するピンは max31855-config.h で変更できます。
7セグメントボードへの接続は固定です。 ソースを変更することで違うピンも使用できますが、現在の実装は
-
セグメントの ON/OFF には一種類のポートの 8 ピン (「PB0 から PB7」とか「PC0 から PC7」とか) を使用し、
-
桁選択には一種類のポートの 0 から 3 (例えば PC0 から PC3) を使用する
という前提で書かれているため、それ以外で使用する場合にはソースの大幅な変更が必要となります。
このプログラムでは拙作
pAVRlib と
Library for Thermocouple based on NIST ITS-90 Database
を使用しています。
git submodule になっているので、下記のように --recursive を付けて git clone するか、
通常の git clone の後、 git submodule update -i として下さい。
具体的な手順は次の通りです。
-
git clone --recursivehttps://github.com/TPKato/max31855ctrl -
max31855-config.hを編集 -
Makefile.settingsを編集 (特にデヴァイスとライターの設定) -
make -
make flash
温度補正を使わない場合は avra でもアセンブルできます。
その場合は、上記の make の部分で、
make -f Makefile.avra
make flashとして下さい (make flash では -f Makefile.avra はあってもなくても OK)。
使い方
USE_USART を定義してコンパイルした場合 (デフォルト) は、シリアル経由で詳細情報が出力されます。
エラー発生時は以下のエラーコードが表示されます。
- 0
-
温度補正で範囲外になり NAN (not a number) が発生した
- 1–7
-
MAX31855 の LSB 3 ビットに対応
- D2
-
SCV Fault (熱電対が V$_\text{CC}$ に短絡している)
- D1
-
SCG Fault (熱電対が GND に短絡している)
- D0
-
OC Fault (熱電対がオープン (接続なし) になっている)
Repository
License
-
MIT License
References
-
Maxim Integrated, Cold-Junction Compensated Thermocouple-to-Digital Converter Data Sheet, 2015.
-
Maxim Integrated, 冷接点補償付き熱電対-デジタルコンバータ データシート, 2015.
