« ステッピングモータを「ゆっくり回す」 | トップページ | 8月3日は『TK-80』の発売日 »

2021年7月31日 (土)

16bit A/Dコンバータ LTC2460 サーミスタ103JTを使った温度測定で・・・

502ATサーミスタを使った温度計は基準電圧外付けの
LTC1864 16bit A/Dコンバータを使っていました。
その後、応答速度の速いサーミスタ「103JT」に対応
させようとしたところ、
A-DコンバータのVref値が精度に影響をという問題が
出てきたのです。

Vrefを下げたかった理由・・・サーミスタの自己発熱
による温度測定値への影響を少なくしたかったから。

103JTの熱放散定数=0.7mW/℃
形状の大きな103AT-11では3mW/℃
高精度品103APだと1.2mW/℃
と、103JTが圧倒的に発熱に敏感なんです。
   ※そのかわりに応答が早い。

2.5VだったVrefを1.25Vにすると、サーミスタの発熱
(電力消費)は1/4に。
直列抵抗を10kΩとして、基準電圧を変えた時の発熱を
グラフにしてみました。

Cap046
直列抵抗10kΩの値が25℃のサーミスタ抵抗値と同じに
なるんで、その時が電力消費のピーク。
25℃から離れると発熱は小さくなります。
5Vで使うなんてもってのほか
2.5Vでも0.2℃ほど発熱による積み上がりが発生します。
0.1℃内に押さえようとすると、Vref=1.25Vで使いたくな
るのです。
ところがA/Dコンバータが1.25Vでは言うことを聞いてくれ
ません。

そこで、1.25Vの基準電圧を内蔵した16bit A/Dコンバータ
LTC2460を試したのですが、今度は・・・
電源電圧を5Vで使うと誤差が大きくなる」という問題に
当たります。
データシートにはこんなグラフが出ていて、
  2.7Vなら誤差は大きくないぞ
っと、訴えています。

Ltc2460_err1

しかたなしに、この温度計、A/D部をこんな具合にしました。

Tt1

A/Dのために2.7V電源を作り、5Vで動くArduinoのATmega328Pと
のインターフェースのためにレベル変換ICを入れました。

サーミスタの直列抵抗Rsに0.1%品を使うことで、無調整
(Vrefの値に関係なく)A/D値からサーミスタの抵抗値を
計算できます。
抵抗値が分かればサーミスタの「温度-抵抗値表」から
温度を求められます。
これで、無調整でそこそこの精度が出ています。

しかし「2.7Vの別電源を用意する」というのが面白くあり
ません。
Vref=1.25Vで使える5V動作の「安いA/Dコンバータ」、
これがなかなか無いんです。

試しと、LTC2460を5Vで使って「補正を行ってみる」
という方法を試してみました。

これが電源電圧を変えた時の変動です。
Ltc2460
2.7Vなら「0を中心に5LSBくらい」なのが、
5Vにすると傾きが大きくなり、60LSBくらい。
60/65536はざっと1/1000。
これでは、16bit A/Dコンバータの値打ちがありません。

結論を出すには早いのですが、ざっと・・・
 ・2点キャリブレーションでは、ちょいと精度が不足。
 ・1kΩ:20kΩで合わせると、25℃に近いところの0.1℃桁
  はピッタリだが、60℃ほどのところで0.1℃ほど低くなる。
   ※温度が高くなるということは抵抗値が小さくなって
    A/D値の読みも小さくなる。
 ・サーミスタの精度を生かすためにも、抵抗値として0.1℃
  は合わせ込みたいけれど、ちょい能力不足か。

cal点を4点くらいにするか、無理に16bit A/Dを使うより、
素性の良い12bit A/Dを使う方が良いかもしれません。

※参
ピピちゃん温度計・ヒータ制御 (Arduino  103JT  Vref=1.1V)

・103JTサーミスタの抵抗値変化と16bit A/Dで取り込んだ
 時のA/D値の変化
2a
抵抗値は「対数グラフ」で右肩下がりに。
温度が上がるほど、A/D値のちょっとの変化が
温度の変化につながります。

25℃~26℃の1℃差だと
 「10000.00Ω~9629.63Ω」で 抵抗値差370Ω
 A/D値が「32768~32149」で 差は619

温度が上がって70℃~71℃だと
  抵抗値が「2224.00Ω~2159.31Ω」で 差は65Ω。
  A/D値が「11923~11638」で 差は285

25℃付近だと0.1℃変化するときのA/D値の変動は「60」くらい。
それが70℃あたりになると「28」ほどで0.1℃変化しちゃいます。
温度が高いほうがA/D値の変化に敏感になるわけです。

16bit A/Dですんで60だとフルスケールの0.1%ほど。
28だと0.04%。 なかなかシビアです。
  12bit A/Dの1LSBが0.024%ですんで。

|

« ステッピングモータを「ゆっくり回す」 | トップページ | 8月3日は『TK-80』の発売日 »

電子工作」カテゴリの記事

温度測定」カテゴリの記事

コメント

2016年02月12日:A-DコンバータのVref値が精度に影響を#2
http://act-ele.c.ooco.jp/blogroot/igarage/article/4361.html

投稿: 居酒屋ガレージ店主(JH3DBO) | 2021年8月 2日 (月) 09時50分

2021年8月4日:103JTサーミスタ対応温度計 ArduinoとLTC2460を使って ・・・完成形に
http://igarage.cocolog-nifty.com/blog/2021/08/post-63e0bc.html

投稿: 居酒屋ガレージ店主(JH3DBO) | 2021年8月 5日 (木) 16時43分

コメントを書く



(ウェブ上には掲載しません)




« ステッピングモータを「ゆっくり回す」 | トップページ | 8月3日は『TK-80』の発売日 »