步驟1:您要做的事情ll Need
div我在一個通道上使用了市售的熱敏電阻探頭,因為我希望將熱敏電阻密封以便浸入液體中。對于第二個通道,我用一個熱敏電阻,一些26號線和一個3.5mm的耳機插頭制作了一個基本探頭。您可以自由使用任何所需的熱敏電阻,并且可以使用導熱環(huán)氧樹脂和塑料吸管/咖啡攪拌器制作自己的探頭。以下是我使用的內容-并非要成為說明性清單!
硬件
1 x 100K熱敏電阻探頭。型號Extech TP890。這些通??梢栽趀bay和Amazon上獲得。
2個2.5mm立體聲插孔,與Extech探頭上的2.5mm插頭匹配。我從一臺舊計算機上清理了3.5毫米插孔,因此我從Extech探針上拔下了插頭,并換成了3.5毫米插頭。您應該避免這種情況,只需使用2.5mm插孔,或使用現(xiàn)成的2.5mm至3.5mm立體聲適配器插頭即可。
如果要制作自己的探頭,則100K熱敏電阻珠加上26號規(guī)線和3.5mm立體聲插頭。如果沒有,請購買第二臺Extech探頭!
1 x淺藍豆(Punch Through Designs)。這是可作為Arduino開發(fā)板編程的藍牙模塊。該模塊有點貴,但消除了很多復雜性。他們正在為下一代設備開展Kickstarter活動,這可能值得考慮。
2 x 1/4W 100K電阻器,用于對熱敏電阻的參考電壓進行分壓。我使用了5%的電阻器,但公差更高的電阻器通常對溫度的敏感度較低,并且將提供更好的性能。為此,1%是一個很好的公差值。
烙鐵和焊料
剪線鉗和一些小長度的26或28號連接線。
軟件和固件
要編程Bean,您將需要Bean Loader應用程序。我使用過Windows,因此所有鏈接都將特定于Windows。您可以在LightBlueBean網(wǎng)站上找到使用Bean入門所需的一切,包括Arduino的具體信息。
此處提供了用于智能手機應用程序的EvoThings工作臺。所有“入門”文檔也都在那里。
步驟2:電路和電氣結構
熱敏電阻是與溫度相關的電阻。 Extech探頭的溫度系數(shù)為負,這意味著隨著溫度的升高,電阻會降低。電阻值是通過一個簡單的電路測量的,該電路創(chuàng)建一個分壓器,其中一個分支為熱敏電阻,另一個為固定的100K電阻。分壓后的電壓被饋送到Bean上的模擬輸入通道,并在固件中采樣。
要構建電路,我從一臺破舊的PC上清除了3.5毫米音頻插孔。使用萬用表確定PCB上與探頭的尖端和第一帶相對應的兩個點。如圖所示,將電線焊接到音頻插孔和Bean。使用雙面膠帶將音頻插孔粘貼到Bean的原型區(qū)域。我使用的膠帶是汽車級貼花膠帶,可在兩個零件之間形成非常牢固的粘結。
步驟3:探針系數(shù)
《與Extech探頭一樣普遍,斯坦因哈特系數(shù)并未在我能找到的任何地方發(fā)表。幸運的是,有一個在線計算器可以根據(jù)您提供的3個溫度測量值確定系數(shù)。
http://www.thinksrs.com/downloads/programs/Therm%2 。..
是我用來得出系數(shù)的基本過程。不會贏得任何積分,但是足以讓您說出+/- 1度的準確度(對我而言,這完全是指頭)。..。當然,這取決于參考溫度計和萬用表的準確性!我的萬用表是我多年前資金緊缺時購買的便宜的無名牌產品。資金仍然緊張,而且仍然有效!
要進行校準,我們需要從3個溫度中獲得3個電阻讀數(shù)。
將冰添加到一杯水中并攪拌直至溫度穩(wěn)定,將其凍結。穩(wěn)定后,使用萬用表記錄探頭的電阻,并使用參考溫度計記錄溫度。
現(xiàn)在將探頭放入室溫的一杯水中,使探頭平衡水溫,并在參考溫度計上記錄溫度,并在萬用表上記錄電阻讀數(shù)。
將探頭放入一杯熱水中并記錄電阻。溫度電阻
5.6218K
21.097.1K
38.643.2
整個過程有點麻煩,因為您需要一個已校準的溫度計記錄溫度,用校準的萬用表記錄電阻。這里的錯誤會導致您進行的溫度測量結果不準確,但出于我的目的,+/-1度超出了我的需要。
將這些記錄的值放入網(wǎng)絡計算器會產生以下結果:
將系數(shù)(A,B和C)插入Stenhart-Hart方程中,以從采樣的電阻值中確定溫度。該方程式定義為(來源:Wikipedia.com)
其中T =開氏溫度
A,B和C是我們要確定的Steinhart-Hart方程系數(shù)。 R是溫度T時的電阻
固件將執(zhí)行此計算。
步驟4:固件
采樣熱敏電阻電壓,將其轉換為溫度,并通過藍牙發(fā)送到智能手機上運行的EvoThings應用程序。
要將電壓轉換為Bean中的電阻值,使用了一個簡單的線性方程式。方程的推導作為圖像提供。由于ADC和輸入電壓均參考相同的電池電壓,因此無需將采樣值轉換為電壓,我們可以使用ADC值代替電壓。對于10位Bean ADC,滿電池電壓將導致ADC值為1023,因此我們將該值用作Vbat。分壓電阻的實際值是一個重要的考慮因素。測量100K分壓電阻器的實際值,并在公式中使用測量值,以避免由于電阻器容差而產生不必要的誤差源。
計算出電阻值后,將使用Steinhart-Hart方程將電阻值轉換為溫度。在Wikipedia上詳細描述了此等式。
由于我們有2個探針,因此將探針功能封裝到C ++類中是有意義的。
該類封裝了Steinhart-Hart方程系數(shù),標稱分壓器電阻值以及與熱敏電阻相連的模擬端口。單個方法temperature()將ADC值轉換為電阻值,然后使用Steinhart-Hart方程確定以開爾文為單位的溫度。返回值從計算出的溫度中減去絕對零(273.15K),以提供攝氏溫度值。
Lightblue Bean的強大之處在于,所有藍牙功能基本上都在1行中實現(xiàn)。將采樣的溫度值寫入藍牙存儲器上的暫存數(shù)據(jù)區(qū)域的代碼。
Bean.setScratchData(TEMPERATURE_SCRATCH_IDX, (uint8_t*)&temperature[0], 12);
每個采樣的溫度值都由一個浮點數(shù)表示,該浮點數(shù)占4字節(jié)。暫存數(shù)據(jù)區(qū)可以容納20個字節(jié)。我們僅使用其中的12個。有5個暫存數(shù)據(jù)區(qū)域,因此您可以使用暫存數(shù)據(jù)傳輸多達100個字節(jié)的數(shù)據(jù)。
事件的基本流程是:
檢查是否有藍牙連接
如果是這樣,請對溫度進行采樣并將其寫入暫存數(shù)據(jù)區(qū)域
睡眠200毫秒并重復該循環(huán)。
如果沒有連接后,固件會使ATMEGA328P芯片長時間休眠。睡眠周期對于節(jié)省電量很重要。 ATMEGA328P芯片進入低功耗模式,并保持在那里,直到被LBM313藍牙模塊中斷為止。 LBM313會在請求的睡眠時間結束時或與Bean建立藍牙連接時產生中斷以喚醒ATMEGA328P。通過在setup()期間顯式調用Bean.enableWakeOnConnect(true)來啟用WakeOnConnect功能。
請注意,該固件可與任何BLE客戶端應用程序一起使用,這一點很重要??蛻舳怂枰龅木褪菑呐R時數(shù)據(jù)庫中刪除溫度字節(jié),然后將它們重新組合為浮點數(shù)以進行顯示或處理。對我而言,最簡單的客戶端應用程序是使用EvoThings。
步驟5:智能手機應用程序
Evo Things示例應用程序非常實用幾乎不需要我的努力即可添加額外的顯示元素來完成3通道溫度測量設備。
EvoThings平臺的安裝和基本操作在Evo Things網(wǎng)站上有很好的記錄,因此在此重復進行沒有任何價值。我將在這里介紹的是我對其示例代碼所做的特定更改,以顯示從Bluetooth暫存數(shù)據(jù)區(qū)域提取的3個溫度信息通道。
在安裝EvoThings Workbench之后,您將在此處找到Lightblue Bean示例(在Windows 64位計算機上):
ThisPC Documents EvothingsStudio_Win64_1.XX Examples Lightblue-bean-basic app
您可以將 index.html 和 app.js 文件替換為附件中的文件這一步。對jacascript文件所做的更改將提取3個浮點溫度值,這些數(shù)據(jù)將形成臨時數(shù)據(jù)區(qū)域,以及HTML文件中創(chuàng)建的新元素的內部HTML。
function onDataReadSuccess(data) {
var temperatureData = new Float32Array(data);
var bytes = new Uint8Array(data);
var temperature = temperatureData[0]; }
步驟6:機箱
外殼是一個簡單的3D打印盒。我使用Cubify Design來創(chuàng)建設計,但是任何3D建模程序都足夠。隨附了STL文件,供您打印自己的文件。如果必須重新做,我將使墻比現(xiàn)在的壁厚一點,并更改將板固定到位的夾子設計。夾子很容易折斷,因為應力是在smae平面中作為3D打印層出現(xiàn)的,這是3D打印零件最弱的方向。墻壁很薄,因此按扣機制在薄弱的一面有點。我用透明的膠帶將盒子保持封閉狀態(tài),因為墻壁太脆弱了-不太優(yōu)雅,但是可以用!
步驟7:PC設置和藍牙配置
Bean的固件構建和上傳周期全部通過藍牙完成。一次只能有一個活動的藍牙連接??梢詮腤indows App Store中獲得Bean加載器
我用來配對和連接(以及在出現(xiàn)問題時進行修復和重新連接)的基本周期如下:從“控制面板”/藍牙設置中,應該會看到以下屏幕:
最終,窗口將報告“準備配對”。此時,您可以單擊Bean圖標,幾秒鐘后,Windows將提示您輸入密碼。 Bean的默認密碼是00000
如果密碼輸入正確,Windows將顯示設備已正確連接。您必須處于此狀態(tài)才能編程Bean。
一旦配對并連接,請使用Bean Loader將固件加載到Bean。我發(fā)現(xiàn)這種故障經常發(fā)生,并且似乎與靠近我的計算機有關。到處移動Bean,直到找到適合您的位置。有時候,什么都不起作用,并且Bean加載程序會建議重新配對設備。通常,再次執(zhí)行配對過程將恢復連接。重新配對之前,您必須“移除設備”。
Bean Loader操作非常簡單,并且在其站點上有據(jù)可查。在Bean Loader打開的情況下,選擇“程序”菜單項以打開一個對話框,以瀏覽到此說明的固件步驟中提供的Hex文件。
一旦加載了固件,請關閉Bean Loader,以便斷開Bean Loader與Bean硬件之間的連接。一次只能建立一個連接?,F(xiàn)在打開EvoThings工作臺,并在智能手機或平板電腦上啟動EvoThings客戶端。
單擊“運行”按鈕時,EvoThings客戶端將自動加載溫度計的html頁面。單擊“連接”按鈕以連接到Bean,您應該看到顯示的溫度。成功!
步驟8:結論
如果一切均已正確構建和配置,則您應該擁有一個可以運行的系統(tǒng)。您可以使用2個探針監(jiān)視溫度,也可以監(jiān)視Bean開發(fā)板上BMA250傳感器的溫度。 EvoThings可以做更多的事情-我剛剛摸過表面,所以我把這個實驗留給您!
責任編輯:wv
-
溫度計
+關注
關注
6文章
406瀏覽量
79047
發(fā)布評論請先 登錄


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






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

評論