先日、温度がずれているのでAD変換の電圧範囲を変えて無理やり合わせた、と書きましたが、温度センサMCP9700Aのオフセット電圧(0℃の時の出力電圧)を間違えていたのに気付きました。0.5Vが正しいのですが、0.4Vで計算していました。
また、ESP32のAD変換のキャリブレーション値による補正ですが、analogReadMilliVolts()で取得すれば補正後の電圧がミリボルト単位で取得できるということで試してみました。室温は手元にあった温度計と比較してほぼ近い温度が表示されています。28.0℃と28.2℃は温度センサの個体差でしょう。ちなみにAD変換は100回測定した平均値を使っています。
次に
熱湯と
氷水で確認してみます。
温度計はオーブン料理や低温調理のときに肉の塊などに挿して中の温度を測れるもので測定範囲が-50℃~300℃です。先端が尖っています。マグカップはサーモスの
真空断熱カップ。2つの液晶表示を同時に撮るためにブレッドボードはティッシュの箱に載せています。室温ではほぼ同じ温度を示しています。
以下、アマゾンのリンクです。
真空断熱マグカップは夏場にアイスコーヒーなどの冷たい飲み物を入れも結露しないので重宝しています。
熱湯を注ぎました。温度ロガーはセンサ部がガラス管のジャケットに包まれているため、温度上昇がゆっくりでしたが、最終的にはほぼ同じ温度を示しています。当初90℃以上ありましたが、ロガーの温度が落ち着くまで少し冷めました。
最後に氷水です。こちらも温度ロガーはゆっくり下がっていきますがほぼ同じ温度でおちつきました。
1秒毎に記録した温度変化のログです。センサ1がマグカップに入れた方、センサ2は室温です。センサ1は冷たいマグカップに入れたので最初は温度が若干下がっています。熱湯は少しづつ注いだので温度変化が一定ではありません。また、センサをお湯から出したときも放置ではなく触ったりしていたので一定ではありません。触った理由は後述。
正確度はあまりないかも知れませんが、自分の用途には十分です。
熱湯を注いだときにピキッという音がして、お湯から出すときに確認したらガラス管のジャケットが割れていました。急激な温度変化はストレスになるかと思い、ゆっくり注いだのですがダメでした。レジンで防水されているので一応は絶縁されていますが、若干不安なのでもう一度レジンで固めるつもり。
一応、必要なものができました。ケースに入れるかは未定。当面このまま使うかも。