60歳からの電子工作ノート

生涯学習として取り組んでいます。

ペルチェ制御用ボードの試作(熱電対による温度測定)

概要

熱電対による温度測定を行い、PC(Windows)で収集するプログラムを作成しました。資料1*1 を参考にしています。

パソコン側の処理

Fig. 温度モニタ
Fig. 履歴データ


マイコン側で測定した温度(4チャンネル)と基準接点温度(cjt)を読み出します。
・操作
「Serial Port」ボタンで通信ポートをオープンします。
「Start」ボタンでモニタコマンドを2秒毎に送信します。(タイマ精度のため完全に2秒にはなりません。)
マイコン側から読み出されたデータは上側のグラフ領域に表示されます。また読み出したデータは常にメモリ上に保持されます。
「Save]ボタンで読み出したデータをファイルに保存します。(CSV形式)
「Clear」ボタンで過去の読み出しデータをクリアし、現時刻から読み出しデータをメモリ上に保持します。
「Open」ボタンで保存したファイルを開きます。下側のグラフ領域に表示されます。
「Message」ボタンによりウィンドウが開き、送受信データを表示します。
・プログラム
収集した温度はリストとしてメモリ上に保持しています。Saveしないとファイル上に保存されません。
グラフはScottPlotの散布図を使用しています。
送受信データの表示は別ウィドウです。WPFでのウィンドウ(WPF)の追加については、ConfSerialと同様です。
(https://vabc.hatenadiary.jp/entry/2021/11/21/085446)
送受信データはMainWindowクラスで定義し、別のCommLogクラスで表示しています。public static とすれば他のクラスからアクセスできるようです。

Fig. 送受信データの表示処理

GitHubへの登録(xaml,csと CSV)
https://github.com/vABCWork/WPF-trend

マイコン側の処理

A/D変換データから測定対象の温度を得る手順です。

Fig. 測定対象物の温度算出手順

CPU RX23E-Aには、ゲインアンプ付きのデルタシグマA/Dコンバータ(DSAD)を2ユニット(DSAD0とDSAD1)があり、DSAD0を熱電対(4チャンネル)に、DSAD1を測温抵抗体(RTD)に使用します。
測定する電圧は差動入力で入力します。差動入力については、資料2*2の「2.1.2 入力方式の選択」、また資料3*3の「2.4 差動信号入力端子」に説明があります。

①DSAD0 (熱電対用)

4チャンネルを順にスキャンして各チャンネルのA/D値を得ます。

Fig. DSAD0(熱電対用)

・ゲイン
熱電対入力のゲインは128です。このゲインでの入力電圧(熱起電力)範囲は-19.5[mV] ~19.5[mV] です。(資料2の「2.1.1 入力電圧範囲より)
またKタイプの熱電対の測定レンジは-270℃~1370℃で、その熱起電力は-6.458[mV]~54.886[mV]です。19.5[mV]は470℃であり100℃まで十分に測定できます。(熱起電力表(K-Type) 「JIS C1602:2015 熱電対」より)
・バイアス電圧
資料1では、バイアス電圧(Vbias)を入れていますが、本実験では入れていません。(バイアスを入れることで、電源電圧の1/2[V](VCC=5Vならば2.5[V],VCC=3.3Vならば1.65[V])を中心に差動信号が出力されDSAD内部でA/D変換される)
・ A/D値から熱起電力の計算
資料4*4の「34.3.5 DSAD への入力電圧とA/D 変換結果」に記載されています。

Fig. A/D変換データと入力電圧

AD変換データ形式が2の補数形式(-8388608~8388607)としているので、
測定対象温度 > 基準接点温度(CPUボードの熱電対端子部の温度)の場合、A/D値は正の値となり、
測定対象温度 < 基準接点温度の場合、A/D値は負の値となります。
・補足
熱電対を使用した測定については、テキサス・インスツルメンツの資料
資料5*5 と資料6*6も大変参考になります。

②DSAD1 (測温抵抗体用)

測温抵抗体(RTD)に電流を流してその電圧を測定します。リファレンス抵抗の電圧をA/Dコンバータのリファレンス電圧とすることで、電流の変動に影響されず測定します。

Fig. DSAD1(測温抵抗体用)(レシオメトリック測定)

・ゲイン
RTD入力のゲインは32となっています。外部リファレンス抵抗にかかる電圧をVrefとすると、Vref= 2.495[V] (=4.99 [KΩ] x 500[uA]) となります。
差動入力範囲はGain=32 の場合、-78~ 78 [mV] (2.495 / 32= 0.07796875 [V] = 78 [mV])
78[mV]は、RTDが156[Ω]となる温度です。 (78[mV]/500[uA] = 156[Ω」 )
156[Ω]は、140℃以上 になるので、CPUボード上の測定温度範囲0から50℃を満たしています。(「JIS C1604 測温抵抗体」より)

・レシオメトリック測定
リファレンス抵抗のにかかる電圧は、 Vref = IEXC0  \times  Rref ----- (a)
測温抵抗体の両端にかかる電圧(Vin)は、 Vin = IEXC0  \times  Rrtd ----- (b)
またAD値から測定電圧(Vin)は、  Vin =Vref \times  \dfrac {AD値}{ 2^{23} - 1} -------- (c)
(a)式と(b)式を(c)式に代入すると、  IEXC0  \times  Rrtd =  IEXC0  \times  Rref  \times  \dfrac {AD値}{ 2^{23} - 1}
  Rrtd =Rref \times  \dfrac {AD値}{ 2^{23} - 1} -------- (d)
IEXC0の影響を受けずに、Rrtdが得られます。


・参考 非レシオメトリック測定(直接測定)

Fig. RTDの電圧を直接測定(参考)

RTDの両端にかかる電圧(Vin)は、 Vin = IEXC0  \times  Rrtd
またAD値から測定電圧(Vin)は、  Vin =Vref \times  \dfrac {AD値}{ 2^{23} - 1}
  IEXC0  \times  Rrtd =  Vref \times  \dfrac {AD値}{ 2^{23} - 1}
  Rrtd = \dfrac{ Vref}{IEXC0} \times  \dfrac {AD値}{ 2^{23} - 1}
RTDの電圧を直接測定した場合、励起電流とVrefの影響を受けます。

③抵抗値から基準接点の温度 (Rrtd[Ω]→Trtd[℃])

得られた抵抗値(Rrtd)が「抵抗値と温度の対応表」のどの位置にあるか検索し、Rrtd前後の抵抗値と温度から、直線近似によりRrtdに相当する温度を求めます。
例えばRrtd=106.4[Ω]の場合、前後の抵抗と温度は対応表より

抵抗値[Ω]   温度[℃]
106.238 16
106.627 17
Fig.抵抗値と温度の対応表
Fig. 抵抗値から温度の計算例

基準(冷)接点の温度は、16.4℃になります。

④基準接点の温度から熱起電力(Trtd[℃]→Vcj)

「熱起電力と温度の対応表」より、基準接点温度(Trtd) 前後の熱起電力と温度から、直線近似によりTrtdに相当する熱起電力を求めます。
例えばTrtd=16.4[℃]の場合、前後の熱起電力と温度は対応表より

熱起電力[uV]   温度[℃]
637 16
667 17
Fig. 熱起電力(K-type)と温度の対応表
Fig. 温度から熱起電力の計算例
⑤熱起電力の加算

RTDで測定したCPUボード上の温度に相当する熱起電力と、熱電対による熱起電力を加算します。(基準接点補償)
Vact = Vtc + Vcj
例: Vtc = 650 [uV] , Vcj = 653[uV]
Vact = 650 + 653 = 1303 [uV]

⑥基準接点補償後の熱起電力から温度 ( Vact → Ttc )

熱起電力(Vact)が「熱起電力と温度の対応表」のどの位置にあるか検索して、Vact前後の熱起電力と温度から、直線近似によりVactに相当する温度を求めます。
例えばVact=1303[uV]の場合、前後の熱起電力と温度は対応表より

熱起電力[uV]   温度[℃]
1285 32
1326 33
Fig. 熱起電力から温度の計算例

測定対象物の温度(Ttc)は32.4[℃]となります。

マイコンの処理

・メイン

Fig. マイコン側 メインフロー図

・A/D変換

Fig. A/D変換タイミングと処理時間

・AFEとDSADの設定内容

Fig. AFEの設定
Fig. DSADの設定

・プログラム
 

Fig.ファイル

GitHubへの登録
https://github.com/vABCWork/moni_4ch
(登録ファイル: test1n.c, timer.c, timer.h, dsad.c, dsad.h, sci.c, sci.h, dma.c, dma.h thermocouple.c, thermocouyple.h)

熱電対の加工

熱電対はQIコネクタを使用してCPUボードの端子と接続します。このため購入後に加工が必要です。

Fig. 熱電対の加工

圧着が不安な箇所は「はんだ付け」しました。(つけ過ぎるとハウジングに入らなくなります。)

Fig. 部品表

*1:資料1「RX23E-Aグループ 熱電対を使用した温度計測例(R01AN4747JJ0110Rev.1.10)」

*2:資料2「RX23E-AグループAFE・DSADの使い方 (R01AN4799JJ0100 Rev.1.00) 」

*3:資料3「RX21A グループ ΔΣA/D コンバータ ユーザーズガイド (R01AN1437JJ0100 Rev.1.00) 」

*4:資料4「RX23E-Aグループ ユーザーズマニュアル ハードウェア編 ( R01UH0801JJ0110 Rev.1.10)」

*5:資料5「A Basic Guide to Thermocouple Measurements」SBAA274–September 2018

*6:資料6「内部温度センサCJC を搭載した2 チャネル、K タイプの熱電対測 定回路」JAJA649–January 2019