Arduino: Analog Input NTC Thermistor 用熱敏電阻量度溫度
上次簡單介紹了熱敏電阻的原理,
這次測試透過Arduino利用熱敏電阻量度溫度。
這次測試的程序可以在http://playground.arduino.cc//ComponentLib/Thermistor2找到,
我是使用The Elaborate Code (cleaned up a bit)的版本作測試的。
程序的原理是使用下列公式(Steinhart-Hart Thermistor Equation),
A,B,C 的函數值是固定的,不用更改。
Temperature in Kelvin = 1 / {A + B[ln(R)] + C[ln(R)]3}
where A = 0.001129148, B = 0.000234125 and C = 8.76741E-08
Arduino的Analog Input是DC0-5V的量度範圍,
因此電路也是接上DC5V作供電。
再接好電路。
一如過往把程序下載到Arduino,
我在float pad = 9850;中把對照用的電阻值設定為10000,
即10kR的電阻,因為我是使用1%的電阻,萬用錶量度的數值亦為10kR。
程序中已包括了利用Serial Port把數據每五秒回傳一次至電腦,
下載了以後只開啟Serial Monitor就能獲得數據,
注意要把Buad Rate設定為115200,
回傳的溫度不斷上升是因為我把熱敏電阻握在手中以提升其溫度。
這次測試透過Arduino利用熱敏電阻量度溫度。
這次測試的程序可以在http://playground.arduino.cc//ComponentLib/Thermistor2找到,
我是使用The Elaborate Code (cleaned up a bit)的版本作測試的。
程序的原理是使用下列公式(Steinhart-Hart Thermistor Equation),
A,B,C 的函數值是固定的,不用更改。
Temperature in Kelvin = 1 / {A + B[ln(R)] + C[ln(R)]3}
where A = 0.001129148, B = 0.000234125 and C = 8.76741E-08
Arduino的Analog Input是DC0-5V的量度範圍,
因此電路也是接上DC5V作供電。
再接好電路。
一如過往把程序下載到Arduino,
我在float pad = 9850;中把對照用的電阻值設定為10000,
即10kR的電阻,因為我是使用1%的電阻,萬用錶量度的數值亦為10kR。
程序中已包括了利用Serial Port把數據每五秒回傳一次至電腦,
下載了以後只開啟Serial Monitor就能獲得數據,
注意要把Buad Rate設定為115200,
回傳的溫度不斷上升是因為我把熱敏電阻握在手中以提升其溫度。
留言
張貼留言