步驟1:
我早期的設(shè)計采用NTC溫度探頭,采用表查找技術(shù)將電阻分壓器的輸入電壓轉(zhuǎn)換為溫度。由于ESP32能夠進行12位模擬輸入,并且由于我的設(shè)計是為了提高精度,因此我決定在電壓到溫度轉(zhuǎn)換的代碼中實現(xiàn)“Steinhart-Hart”方程。
首先由John S. Steinhart和Stanley R. Hart于1968年發(fā)表,Steinhart-Hart方程式定義了NTC溫度探頭的溫度關(guān)系阻力如下:
1/T = A +(B *(log(熱敏電阻)))+(C * log(熱敏電阻)* log(熱敏電阻)* log(熱敏電阻))
其中:
T是開氏度。
A,B,C是Steinhart-Hart系數(shù)(稍后會詳細介紹)。
熱敏電阻是當(dāng)前溫度下溫度探頭熱敏電阻的電阻值。
為什么這個看似復(fù)雜的Steinhart-Hart方程對于簡單的NTC溫度探頭來說是必不可少的數(shù)字溫度計? “理想的”NTC溫度探頭將提供實際溫度的線性電阻表示,因此涉及電壓輸入和縮放的簡單線性方程將導(dǎo)致精確的溫度呈現(xiàn)。但是,NTC溫度探頭不是線性的,當(dāng)與幾乎所有低成本單板處理器(如WiFi套件32)的非線性模擬輸入結(jié)合時,會產(chǎn)生非線性模擬輸入,從而產(chǎn)生不準確的溫度讀數(shù)。通過使用Steinhart-Hart等公式以及仔細校準,可以通過生成非常接近的實際溫度來獲得使用NTC溫度探頭和低成本單板處理器的高精度溫度讀數(shù)。
所以回到Steinhart-Hart方程式。該等式利用三個系數(shù)A,B和C來確定溫度作為熱敏電阻器的函數(shù)。這三個系數(shù)來自哪里?一些制造商使用NTC溫度探頭提供這些系數(shù),而其他制造商則沒有。此外,制造商提供的系數(shù)可能是也可能不是您可能購買的精確溫度探頭,并且很可能是代表他們在一段時間內(nèi)制造的所有溫度探頭的大樣本的系數(shù)。最后,我根本找不到本設(shè)計中使用的探針的系數(shù)。
沒有所需的系數(shù),我創(chuàng)建了Steinhart-Hart Spreadsheet,這是一個基于電子表格的計算器,可幫助生成NTC溫度探測所需的系數(shù)(我丟失了鏈接到我多年前使用的類似網(wǎng)絡(luò)計算器,所以我創(chuàng)造了這個)。為了確定溫度探頭的系數(shù),我首先用數(shù)字歐姆表測量分壓器中使用的33k電阻的值,然后將值輸入標有“電阻器”的電子表格的黃色區(qū)域。接下來,我將溫度探頭放在三個環(huán)境中;第一個室溫,第二個冰水和第三個沸水,以及一個已知的精確數(shù)字溫度計,并允許溫度計上的溫度和WiFi套件32顯示屏上出現(xiàn)的熱敏電阻輸入計數(shù)(稍后將詳細介紹)穩(wěn)定下來。當(dāng)溫度和熱敏電阻輸入計數(shù)穩(wěn)定后,我將已知準確溫度計指示的溫度和WiFi套件32顯示屏上顯示的熱敏電阻計數(shù)輸入電子表格的黃色區(qū)域,標記為“溫度計的度數(shù)F”和“AD分別來自三個環(huán)境中的WiFi套件32“。輸入所有測量值后,電子表格的綠色區(qū)域?qū)⑻峁㏒teinhart-Hart方程所需的A,B和C系數(shù),然后將其復(fù)制并粘貼到源代碼中。
如前所述Steinhart-Hart方程的輸出以開氏度為單位,此設(shè)計顯示華氏度。從開爾文度到華氏度的轉(zhuǎn)換如下:
首先,通過從Steinhart-Hart方程中減去273.15(開氏度)來將開爾文度轉(zhuǎn)換為攝氏度:
度C =(A +(B *(log(熱敏電阻)))+(C * log(熱敏電阻)* log(熱敏電阻)* log(熱敏電阻))) - 273.15
第二,將攝氏度轉(zhuǎn)換為華氏度,如下所示:
度數(shù)F =((度C * 9)/5)+ 32.
隨著Steinhart-Hart方程和系數(shù)完成后,需要第二個方程來讀取電阻分壓器輸出。本設(shè)計中使用的電阻分壓器型號為:
vRef 《---熱敏電阻《--- vOut 《---電阻《---接地
其中:
此設(shè)計中的vRef為3.3vdc。
熱敏電阻是用于電阻分壓器的NTC溫度探頭。
vOut是電阻分壓器的電壓輸出。
電阻是電阻分壓器中使用的33k電阻。
接地是好的。
v本設(shè)計中的電阻分壓器連接到WiFi套件32模擬輸入A0(引腳36),并且電阻分壓器的電壓輸出計算如下:
vOut = vRef *電阻/(電阻+熱敏電阻)
然而,正如Steinhart-Hart方程式中,熱敏電阻的電阻值是為了獲得溫度所必需的,而不是電阻分壓器的電壓輸出。因此,重新排列等式以輸出熱敏電阻值需要使用如下的小代數(shù):
將兩側(cè)乘以“(電阻+熱敏電阻)”,結(jié)果為:
vOut *(電阻+熱敏電阻)= vRef *電阻
將兩側(cè)除以“vOut”,結(jié)果為:
電阻+熱敏電阻=(vRef *電阻) )/vOut
從兩側(cè)減去“電阻”導(dǎo)致:
熱敏電阻=(vRef *電阻/電壓) - 電阻
最后,使用分配屬性,簡化:
熱敏電阻=電阻*((vRef/vOut) - 1)
代入WiFi套件32 A0模擬輸入計數(shù)為0通過4095表示vOut,并用4096的值代替vRef,提供Steinhart-Hart方程所需的熱敏電阻電阻值的電阻分壓器公式變?yōu)椋?/p>
熱敏電阻=電阻*((4096/模擬輸入計數(shù)) - 1)
因此,在數(shù)學(xué)背后,讓我們組裝一些電子設(shè)備。
第2步:組裝電子設(shè)備。
五條4英寸28awg電線(一條紅色,一條黑色,一條黃色和兩條綠色)。
One,Maverick“ET-72溫度探頭”探頭
一個33k歐姆1%1/8瓦電阻器。
一個,壓電蜂鳴器。如果選擇一個不同的壓電蜂鳴器確保它符合這個規(guī)格(方波驅(qū)動,《= ESP32的當(dāng)前輸出)。
為了組裝其他組件,我執(zhí)行了以下步驟:
完成所有布線后,我仔細檢查了我的工作。
剝離并鍍錫每個4“線長的末端,如圖所示。
將黃線的一端和33k歐姆電阻的一端焊接到手機連接器的“Tip”引腳。
將黑線的一端焊接到33k歐姆電阻的自由端,并修掉多余的電阻線。
在導(dǎo)線和電阻上施加熱縮管。
將紅線的一端焊接到手機連接器上的“套管”引腳。
將黃色線的自由端焊接到WiFi套件32上的引腳36.
將黑線的自由端焊接到WiFi套件32上的GND引腳。
將紅線的自由端焊接到WiFi套件32上的3V3引腳。
將一根綠線焊接到壓電蜂鳴器的一根引線上。
將剩余的綠線焊接到壓電蜂鳴器的剩余導(dǎo)線上
將其中一根綠色壓電線的自由端焊接到WiFi套件32上的針腳32上。
將剩余的綠色壓電線的自由端焊接到WiFi套件32上的GND引腳。
將溫度探頭插入電話連接器。
步驟3:安裝軟件。
文件“AnalogInput.ino”是一個包含設(shè)計軟件的Arduino環(huán)境文件。除此文件外,您還需要WiFi Kit32 OLED顯示屏的“U8g2lib”圖形庫(有關(guān)此庫的更多信息,請參閱https://github.com/olikraus/u8g2/wiki)。
在Arduino目錄中安裝U8g2lib圖形庫,并將“AnalogInput.ino”加載到Arduino環(huán)境中,編譯并將軟件下載到WiFi套件32中。一旦下載并運行,將在WiFi上顯示OLED顯示屏的頂線套件32應(yīng)顯示“溫度”,當(dāng)前溫度以大文本顯示在顯示屏中央。
觸摸中央按鈕(T5)顯示“設(shè)置報警溫度”顯示。按照簡介中的說明,按左按鈕(T4)或右按鈕(T6)調(diào)節(jié)報警溫度。要測試警報,請將警報溫度調(diào)整為等于或低于當(dāng)前溫度,并且應(yīng)發(fā)出警報。完成設(shè)置報警溫度后,觸摸中心按鈕返回溫度顯示。
軟件中的值dProbeA,dProbeB,dProbeC和dResistor是我在探頭校準過程中確定的值。這種設(shè)計應(yīng)該產(chǎn)生精確到幾度的溫度讀數(shù)。如果不是,或者如果需要更高的精度,則接下來進行校準。
步驟4:校準NTP溫度探測器。
校準溫度探頭需要以下項目:
一個數(shù)字歐姆表。
一種已知的精確數(shù)字溫度計,能夠在0到250華氏度之間。
一杯冰水。
一壺開水(非常非常小心?。?。
首先獲得實際的33k電阻值:
斷開WiFi Kit 32板的電源。
從手機連接器上取下溫度探頭(根據(jù)您的數(shù)字歐姆表,也可能需要從WiFi套件32中去除黑線。)
打開Steinhart-Hart電子表格。
使用數(shù)字歐姆表測量33k歐姆電阻的值,并將其輸入電子表格中的黃色“電阻”框,并輸入軟件中的變量“dResistor”。雖然這看起來似乎過多,但是33k歐姆的1%電阻確實會影響溫度顯示的準確性。
將溫度探頭插入手機連接器。
接下來獲取Steinhart-Hart系數(shù):
打開已知的準確度數(shù)字溫度計。
將USB電源插入WiFi套件32.
同時按住左(T4)和右(T6)按鈕,直到出現(xiàn)“Thermistor Counts”顯示。
允許數(shù)字溫度計和熱敏電阻計數(shù)顯示穩(wěn)定。
在“房間”行的黃色“溫度計的度數(shù)F”和“ESP32的AD計數(shù)”列中輸入溫度和熱敏電阻計數(shù)。
將數(shù)字溫度計和熱敏電阻探頭插入冰水中,使兩個顯示器都穩(wěn)定下來。
在“冷水”行中輸入黃色的“溫度計的度數(shù)F”和“ESP32的AD計數(shù)”列中的溫度和熱敏電阻計數(shù)。
將數(shù)字溫度計和熱敏電阻探頭插入沸水中,使兩個顯示器都穩(wěn)定下來。
在“沸水”行中輸入黃色的“溫度計的度數(shù)F”和“ESP32的AD計數(shù)”列中的溫度和熱敏電阻計數(shù)。
將綠色“A:”系數(shù)復(fù)制到源代碼中的變量“dProbeA”中。
將綠色“B:”系數(shù)復(fù)制到源代碼中的變量“dProbeB”中。
將綠色“C:”系數(shù)復(fù)制到源代碼中的變量“dProbeC”。
編譯并將軟件下載到WiFi Kit 32中。
步驟5:3D打印案例和最終裝配。
我打印了“Case,Top.stl”和“Case,Bottom.stl” .1mm層高,50%填充,沒有支撐。
打開外殼后,我按如下方式組裝了電子元件和外殼:
我從中拆除了電線三個孔塞,將孔塞壓入“Case,Top.stl”中的位置,然后將導(dǎo)線重新焊接到孔塞上,小心地注意左(T4),中心(T5)和右(T6)導(dǎo)線和各個按鈕。
使用附帶的螺母將手機連接器固定到“Case,Bottom.stl”中的圓孔。
將壓電蜂鳴器放在手機連接器旁邊的機殼底部組件中,并用雙面膠帶固定到位。
將WiFi套件32滑入機箱底部組件的位置,確保WiFi套件32上的USB端口與機箱底部的橢圓形孔對齊(請勿按壓OLED顯示屏以定位在底部組件的WiFi套件32,相信我這一個,只是不要這樣做?。?/p>
將表殼頂部組件壓在表殼底部組件上,并使用角落處的小點濃氰基丙烯酸酯膠固定到位。
步驟6:關(guān)于本軟件。
文件“AnalogInput.ino”是對我以前的Instructable“https://”文件“Buttons.ino”的修改。 www.instructables.com/id/ESP32-Capacitive-Touch-Buttons/”。我修改了原來的三個代碼段“setup()”,“l(fā)oop()”和“InterruptService()”以包含探測和報警的軟件,并且我添加了另外三個代碼段“Analog()” ,“按鈕()”和“顯示()”清理“循環(huán)()”并添加必要的探針和報警軟件。
“模擬()”包含讀取所需的代碼熱敏電阻計入一個數(shù)組,平均計數(shù)數(shù)組,使用分壓器生成熱敏電阻值,最后使用Steinhart-Hart方程和溫度轉(zhuǎn)換方程生成華氏度。
“按鈕() “包含處理按鈕和編輯報警溫度所需的代碼。
”Display()“包含在OLED顯示屏上顯示信息所需的代碼。
如果您對此代碼或此Instructable的任何其他方面有任何疑問或意見,請隨時提出,我會盡力回答。
我希望您喜歡它(和仍然清醒)!
第7步:“即將進行的項目”。
即將推出的項目“Intelligrill?Pro”是雙溫度探頭吸煙器監(jiān)測器,具有以下特點:
Steinhart-Hart溫度探頭計算(與“查找”表相對),以提高此Instructable中的精度。
探針1的預(yù)測完成時間,包括Steinhart-Hart計算得出的提高的準確度。
第二個探頭,探頭2,用于監(jiān)測吸煙者的溫度(限制在32到399度之間)。
電容式觸摸輸入控件(與之前的Instructable相同)。
基于WIFI的遠程監(jiān)控(使用固定的IP地址,可以在任何可以連接互聯(lián)網(wǎng)的地方監(jiān)控吸煙者的進度)。
擴展溫度范圍(32至399度)。
在Intelligrill?發(fā)射器和大多數(shù)支持WiFi的監(jiān)控設(shè)備上發(fā)出聲音完成警報。
溫度顯示為°F或°C。
時間格式為HH:MM:SS或HH:MM。電池顯示為伏特或%充電。
基于螺旋鉆的吸煙者的PID輸出。
“Intelligrill?Pro”仍在測試,以成為最準確,功能最強大,最可靠的基于HTML的Intelligrill?我有設(shè)計的。它仍然在測試中,但是在測試過程中它正在協(xié)助準備,我已經(jīng)獲得了超過幾磅。
-
溫度計
+關(guān)注
關(guān)注
6文章
406瀏覽量
79035
發(fā)布評論請先 登錄


溫度計使用注意事項 溫度計與濕度計的區(qū)別
什么是熱電偶溫度計?






探針式電子溫度計由什么組成
探針式電子溫度計用來測量什么的溫度
探針式溫度計使用的正確流程是
電阻式溫度計是利用什么原理

評論