SPI制御のK熱電対モジュールを使用した温度測定方法
室温から300℃くらいまでの温度測定を行なう目的で、Kタイプの熱電対(クロメル-アルメル)とSPI制御の熱電対モジュールを使用して、コンピュータから温度を読み取りすることを検討しました。
Amazonにて熱電対モジュール(ASIN:B098C2K9YG、熱電対ボードKタイプ熱電対温度センサー)を見つけたので入手しました。また、SPI通信を制御するためのUSB-SPIボードモジュールを検討して、いろいろ試した末に、今回はUSB-SPI Click Board(MCP2210チップを使用)というモジュールを、この熱電対モジュールと組み合わせて使用しました。
そして、熱電対モジュールのチップがMAX31855であるので、MCP2210に附属していたサンプルコードとMAX31855データシートのメモリマップを参照して、温度データを読取り、数値に変換するプログラムをVisualBasic.NETで作成しました。
Kタイプの熱電対を接続し、Windows10のPCからUSBで制御していますが、特に問題なく動作しています。
温度の分解能は0.25℃であって精密測定にはやや不充分なところもありますが、通常の計測には問題はなかったです。
Amazonのレビューを見ると、実際の温度の2倍が出るというような記述がありましたが、今回はそのようなことはなく、問題はありませんでした。
(SPIのモード設定とビット計測のタイミングによっては、実際の温度の2倍とか1/2とかの数値がでるのかもしれません。MAX31855データシートのメモリマップを見ると、ビットシフトでそのような現象が起こる可能性も考えられます。)
作成したテスト用ソフトウェアの関連資料を、備忘録としてここに残しておきます。
・USB-SPI変換ボード[CLICK-SPI] 簡単ガイド
・MCP2210 USB-to-SPI Protocol Converter with GPIO (Master Mode)
・MCP2210データシート
・MAX31855 冷接点補償付き熱電対-デジタルコンバータ
・MAX31855データシート
・今回のテスト用ソフトのプロジェクトファイル
(PWは管理者までご連絡下さい)
(2024-4-20) usbspi
■ 以前の記事
→ 「電子回路」に関する以前の記事は、こちらをごらん下さい。
・4チャンネルUSBリレーをVisualBasic.NETで動作させる方法