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