何曉峰,王建中,王再富
(杭州電子科技大學信息與控制研究所,浙江杭州310018)
熱電偶是將溫度量轉(zhuǎn)換成電勢量的溫度傳感器,K型熱電偶是目前工業(yè)生產(chǎn)過程中常用的溫度傳感器,它可直接測量0~+1 300℃范圍內(nèi)的液體蒸汽、氣體介質(zhì)和固體表面溫度。但是熱電偶輸出信號微弱,且在測溫范圍內(nèi)存在明顯的非線性、冷端補償?shù)葐栴}[1],這些信號需經(jīng)過放大、線性化以及模數(shù)轉(zhuǎn)換后才能與CPU通訊,造成溫度采集精度不理想,本文采用K型熱電偶模數(shù)轉(zhuǎn)換芯片(MAX6675)解決以上問題[2],系統(tǒng)通過控制器(STM32F103C8T6)對MAX6675和K型熱電偶控制進行多路溫度采集[3],并利用CC1110無線收發(fā)模塊進行點對點的傳輸。本文詳細給出系統(tǒng)簡介、系統(tǒng)軟件設計、溫度采集精度和無線傳輸性能的分析。
系統(tǒng)結(jié)構(gòu)圖如圖1所示,系統(tǒng)主要由無線收發(fā)模塊、控制器、AD轉(zhuǎn)換模塊、冷端補償、信號調(diào)理、溫度傳感器、計算機等構(gòu)成。圖1中,AD轉(zhuǎn)換模塊、冷端補償、信號調(diào)理3個部分采用MAX6675芯片,MAX6675是MAXIM公司的K型熱電偶模數(shù)轉(zhuǎn)換芯片,它能獨立完成信號放大、冷端補償、線性化、A/D轉(zhuǎn)換及SPI串口數(shù)字化輸出功能,大大簡化了熱電偶測量裝置的軟硬件設計。MAX6675主要特點:可將溫度信號轉(zhuǎn)換成12位數(shù)字量,具有0~+1 023.75℃的測溫范圍,溫度分辨率達0.25℃,在0~700℃的測量誤差為±2℃;工作溫度為-20~+85℃,內(nèi)部具有冷端補償電路,當冷端溫度波動時,MAX6675仍能精確檢測熱端的溫度變化。
無線收發(fā)模塊中的無線芯片采用CC1110,它是一款1GHz以下頻帶的低功耗射頻片上系統(tǒng),內(nèi)嵌增強型8051內(nèi)核,具有32KB Flash和4KB RAM,集成了21個可編程I/O引腳、8通道8~14bit A/D轉(zhuǎn)換器、定時器以及可編程看門狗計時器、2個USART接口、AES128協(xié)處理器和強大的DMA功能等。基于CC1110的高性能無線收發(fā)器工作范圍為300~348MHz、391~464MHz及782~928MHz,頻率穩(wěn)定性好、靈敏度高、數(shù)據(jù)傳輸?shù)淖畲笏俣瓤蛇_500kbit/s,最大輸出功率可達10dBm,采用低電壓供電(2.0~3.6V),在數(shù)據(jù)采集期間的發(fā)送電流為16mA,休眠時的電流僅為0.5μA,功耗非常低,工作溫度范圍為-40~+85℃,能適應惡劣環(huán)境,因此,特別適用于安防監(jiān)控、自動讀表、工業(yè)監(jiān)控以及智能樓宇等領(lǐng)域,能夠滿足電池使用低功耗、低成本的需求[4,5]。
圖1 系統(tǒng)結(jié)構(gòu)圖
系統(tǒng)以控制器(STM32F103C8T6)為核心,K型熱電偶將采集的模擬信號傳送給MAX6675,再由MAX6675轉(zhuǎn)化成數(shù)字信號傳入 STM32F103C8T6,STM32F103C8T6根據(jù) MAX6675芯片的時序控制MAX6675獲取數(shù)據(jù)并做相應處理,并將數(shù)據(jù)傳給無線發(fā)送模塊,無線接收模塊接收來自無線發(fā)送模塊的數(shù)據(jù)后,通過RS485方式將數(shù)據(jù)傳輸給上位機,最終上位機進行顯示等后續(xù)處理。
MAX6675的端口SO輸出16位的數(shù)據(jù),D15位為無用位,D14~D3位為溫度數(shù)據(jù),D2位為熱電偶斷線測試位,D1位為MAX6675標識符,D0位為三態(tài)。熱電偶溫度數(shù)據(jù)讀取過程圖如圖2所示,初始化完成后,延時時間T(0.22s)使芯片完成AD轉(zhuǎn)換,CS置0,先讀高8位,再讀低8位,16位數(shù)據(jù)右移3位,獲取D14~D3位的溫度數(shù)據(jù)。MAX6675與STM32F103C8T6之間通訊使用SPI方式,MAX6675數(shù)據(jù)讀取時序圖如圖3所示:當CS引腳由高電平變?yōu)榈碗娖綍r,MAX6675停止任何信號的AD轉(zhuǎn)換,并在時鐘SCK的作用下向外輸出已轉(zhuǎn)換的數(shù)據(jù),在SCK下降沿讀取溫度數(shù)據(jù);當CS引腳從低電平變到高電平時,MAX6675將進行下一輪數(shù)據(jù)的轉(zhuǎn)換,一個完整溫度數(shù)據(jù)的讀取需要16個時鐘周期。
圖2 熱電偶溫度數(shù)據(jù)讀取過程圖
圖3 MAX6675數(shù)據(jù)讀取時序圖
CC1110利用TI公司開源的專用低功耗RF協(xié)議——SimliciTI協(xié)議實現(xiàn)無線傳輸功能。SimpliciTI通訊協(xié)議非常小,只占了單片機閃存中的8K字節(jié),適用于無線傳感器網(wǎng)絡和短距離無線數(shù)據(jù)通訊,協(xié)議包括了網(wǎng)絡加入、網(wǎng)絡管理、無線跳頻等功能。
SimpliciTI網(wǎng)絡協(xié)議主要分為3層:應用層、網(wǎng)絡層和硬件邏輯層,加密在網(wǎng)絡層處理。硬件邏輯層包括射頻層和板級驅(qū)動包,數(shù)據(jù)直接從射頻層接收。極級驅(qū)動包提供了射頻層與網(wǎng)絡層的通信的SPI接口,包含LED、KEYS以及GPIO引腳的定義。網(wǎng)絡層管理射頻發(fā)送與接收,并指定目的地址,目的地址通過接口號指定,網(wǎng)絡層不做任何幀處理。端口號是地址概念的延伸,接口編號范圍為0x01~0x3F,其中0x01~0x1F為接口,0x20~0x3F為用戶定義。接口用于網(wǎng)絡層對自身網(wǎng)絡的管理,這些接口不能被用戶應用層應用。網(wǎng)絡層在連接過程中把接口號與地址關(guān)聯(lián)起來。應用層分為網(wǎng)絡應用層和用戶程序應用層。網(wǎng)絡應用層提供網(wǎng)絡層管理,除了提供外部PING訪問外,還提供了很多供用戶開發(fā)的接口。SimpliciTI支持2種基本網(wǎng)絡拓撲結(jié)構(gòu):星狀網(wǎng)絡拓撲和點對點對等網(wǎng)絡拓撲。本文設計了點對點的網(wǎng)絡傳輸功能。SimpliciTI將其網(wǎng)絡功能封裝為幾個API函數(shù),應用程序調(diào)用其API函數(shù)實現(xiàn)點對點的數(shù)據(jù)傳輸功能。SimpliciTI數(shù)據(jù)幀結(jié)構(gòu)如表1所示。數(shù)據(jù)幀大小:最小為22字節(jié),最大為74字節(jié),包含報頭、同步、長度、目的地址、源地址、端口、設備信息、交換紀錄、有效數(shù)據(jù)、校驗等,有效數(shù)據(jù)N的長度為0~52個字節(jié)。本文設計中,有效數(shù)據(jù)N:節(jié)點號(1個字節(jié))和溫度值(30個字節(jié))。數(shù)據(jù)幀總長度為53個字節(jié)。
表1 SimliciTI數(shù)據(jù)幀結(jié)構(gòu)
軟件設計主要包含兩部分,數(shù)據(jù)中心和節(jié)點設備。SimpliciTI網(wǎng)絡組網(wǎng)過程:數(shù)據(jù)中心先啟動,初始化協(xié)議棧后處于接收狀態(tài),等待節(jié)點設備加入網(wǎng)絡和接收數(shù)據(jù);節(jié)點設備啟動后,向數(shù)據(jù)中心發(fā)送建立網(wǎng)絡請求,然后一直處于請求建立網(wǎng)絡狀態(tài),直到建立正常的網(wǎng)絡連接為止。數(shù)據(jù)中心程序流程如圖4所示,數(shù)據(jù)中心不斷監(jiān)測是否有節(jié)點設備申請加入,并判斷是否能加入,若數(shù)據(jù)中心有空閑的端口號,則給節(jié)點設備分配端口號。判斷數(shù)據(jù)中心是否收到數(shù)據(jù),若收到符合格式的數(shù)據(jù),則上傳給計算機顯示。節(jié)點設備程序流程如圖5所示,初始化完成后,發(fā)送連接請求,申請加入數(shù)據(jù)中心,連接成功后,接收控制器輸出的溫度數(shù)據(jù),發(fā)送溫度數(shù)據(jù)到數(shù)據(jù)中心。
在系統(tǒng)采集的10路不同溫度值中,隨機抽取其中的任意1路溫度數(shù)據(jù),如圖6所示,圖6是某段時間內(nèi)4 000個數(shù)據(jù)的溫度分布圖,最高溫度為71℃,最低溫度為70℃,溫度的波動值為1℃。對通道1進行高溫測試,如圖7所示,實際溫度由溫度計測量得到,上位機溫度由計算機顯示,兩個溫度的差值在2℃之內(nèi),符合MAX6675在0~700℃的最大溫度誤差為2℃的要求。無線傳輸主要受周圍環(huán)境、發(fā)射功率大小、硬件設計等因素影響。在發(fā)射功率為10dBm時(即功耗為10mw)、通信頻率為433MHz、波特率為9 600、可視距離的情況下進行測試,無線測試結(jié)果如表2所示,在不同的傳輸距離下,均能保證低丟包率,具備較高的可靠性。在可視的范圍內(nèi),實現(xiàn)了100m距離的傳輸;并且實現(xiàn)了穿透4堵墻的無線傳輸功能,信號傳輸穩(wěn)定且實時性較好;在100m的距離時,從10路溫度數(shù)據(jù)采集到上位機顯示的時間間隔小于0.5s,能夠符合工業(yè)生產(chǎn)的基本要求。
表2 無線測試結(jié)果
系統(tǒng)以STM32F103C8T6單片機為核心,采用K型熱電偶結(jié)合MAX6675,進行多路溫度采集,利用基于SimpliciTI協(xié)議的CC1110無線傳輸模塊,實現(xiàn)了點對點之間的通訊,將溫度數(shù)據(jù)實時、準確、穩(wěn)定地傳輸給上位機,具有良好的性能、控制方便、可靠性高等優(yōu)點,具有廣泛的實際意義。
[1] 劉夫亮.熱電偶冷端補償?shù)膶嶒炁c研究[D].北京:華北電力大學,2009.
[2] 祖一康.基于K型熱電偶與MAX6675多路溫度采集系統(tǒng)[J].江西理工大學學報,2007,28(4):25-27.
[3] 鄧燕妮,定明劼.基于MAX6675的分布式高精度溫度采集系統(tǒng)[J].中國水運,2007,5(3):127-128.
[4] 秦川.基于CC1110的大棚溫度監(jiān)測網(wǎng)絡設計[J].蘇州市職業(yè)大學學報,2009,20(4):12-14.
[5] 彭建盛.基于CC1110單片機公交報站系統(tǒng)的設計與實現(xiàn)[J].電子設計工程,2010,18(12):131-134.