[LabVIEW]使用DS18B20以及myRIO於LabVIEW上量測人體溫度



由於實驗需要,因此在眾多溫度計中尋尋覓覓,希望找到一款可以防水又可以量測人體溫度的溫度計。


一開始是買了ZyTemp的紅外線溫度槍,但是因為之後進到水裡量測,且希望能夠利用程式來自動記錄溫度數值,不用人工盯著溫度計一度一度的量測,於是展開了尋找理想溫度計之旅。








圖(一)紅外線溫度槍




(紅外線溫度槍的價格差異很大,建議購買NT 300元左右的就好了,另外有的型號可以選擇把瞄準用的雷射關掉,對於一些會用到光量測的實驗有很大的幫助。其實我很想要找到有人賣紅外線溫度槍的模組,這樣對我來說最方便最好用也最快速,只要封裝起來就可以防水了。)


要防水,那麼想到的就是去水族館找溫度計,但是其溫度感測範圍太小,本次實驗所需要的是-10°C~50°C,因此水族箱的溫度計不考慮。


再來,是購買myRIO的溫度感測套件,打給業務時他還說台灣沒有人買這組,所以要調貨等一個禮拜。結果最後到貨了,發現它根本就不能用。他的溫度感測器是包含在 NI myRIO Embedded Kit 的套件組裡,型號是 PmodTMP3 。這款溫度感測器感測溫度的位置居然是做在電路板上,而且還是在一個很尷尬的位置,根本就無法將其放在需要量測的物品上進行量測,頂多就是放著量室溫,當然更別說要進到水裡量測了。


雖然花了五千多塊買了這個套件最後發現不能用有點浪費,但是這個套件裡面的其他模組感覺還滿實用的,等日後有機會用到再來分享心得。


最後甚至放棄要利用冰水來降溫的方式,要使用熱電制冷晶片來達到組織降溫的效果,但是其不全面,無法滿足實驗的要求。


然而熱敏電阻,似乎是最有希望的感測器了,只要把接腳用熱融膠之類的封起來,就不怕進到水裡有故障等問題,但是他難在的就是要先把它的電阻對應溫度給計算出來,而且又要加上相關的電路設計,會讓實驗的複雜度又提升不少。






圖(二)熱敏電阻




最後在同學的介紹下,找到了DS18B20這款溫度感測器,而且其有封裝好可以直接放入水裡使用的模組,再加上他的接線非常的少,因此就決定是他了。









圖(三)DS18B20量測模組




在網路上訂了5條來試用,一條的價格也才NT 75元左右,沒有學長帶真的會走很多冤枉路花很多冤枉錢。


圖(三)中,黑色以及紅色的線分別是GND以及VDD,這兩條在Parasite Mode 下可以直接接在一起,而黃色是Data現,可以透過+5V接上4.7K的電阻後來使用。

(詳細電路可以參考:http://faculty.stust.edu.tw/~wjshieh/ds18b20.html


然而DS18B20最特別的就在於,首先它不僅感測溫度,還會將資料數位化,這麼一來,即使DS18B20與myRIO或是任何的DAQ Card離很遠,也不會影響準確度。


第二,它使用1-Wire(One-Wire)資料傳輸協定,顧名思義,資料傳輸只需一條線即可,所以在一般狀況下,需要三個腳位(電源、資料、接地),但不僅如此,1-Wire裝置裡含有電容,可經由資料線充電,所以僅需兩個腳位即可(資料+電源、接地)。前者稱為normal mode或powered mode,後者稱為parasite mode。不過既然只使用一條線進行傳輸,其中必定有複雜的技術,還好,別人已經寫好方便易用的程式庫了(沒有myRIO)。

第三,每個1-Wire裝置擁有一個獨一無二的序號,所以在同一條線(匯流排)上連接多個1-Wire仍可分別彼此。

第四,溫度感測範圍-55°C到+125°C,正好符合本次實驗所需要的溫度範圍。


(參考網站:http://yehnan.blogspot.tw/2013/01/arduinods18b20.html


然而遇到最大的困難就是要將其與myRIO搭配使用並不是想像中的那麼簡單,本來我的裝置都是建立在myRIO Project 下的一個VI而已,後來在網路上找到的範例myRIO Aquaponics中是利用了FPGA的架構來撰寫,我無法簡單的透過簡簡貼貼以及改一下I/O位置就能夠使用它所設計好的程式,再加上之前提到他已經將資料數位化,因此必須要透過one-wire的解碼方式才能夠讀取其溫度資料,不像一般的光檢測器是直接給予強度值。


然而最主要的原因還是因為我沒有上過相關的課程也沒有學長可以帶我,我只能夠自己摸索自己翻書,因此碰壁了滿多次,只能夠在一次又一次的錯誤中學習(拭淚)。


1-Wire Interface for cRIO and sbRIO - DS18B20 or DS18S20

中有給範例。



留言

張貼留言

熱門文章