基于C8051F020和Atmegal6 的無線溫度測(cè)量系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
O 引言
目前,溫度測(cè)量已被廣泛應(yīng)用于鋼鐵、冶金、工業(yè)焊接、波峰焊、回流焊等各個(gè)領(lǐng)域。這些應(yīng)用的待測(cè)溫度很高,測(cè)量環(huán)境非常惡劣。傳統(tǒng)的有線測(cè)溫裝置,在這種測(cè)溫環(huán)境下,或無法應(yīng)用,或受到很多限制。這就要求研發(fā)無線的測(cè)溫系統(tǒng)。這種系統(tǒng)要能夠耐受惡劣的環(huán)境,還要具有高的測(cè)量精度和溫度采集速度,并能在遠(yuǎn)距離由上位機(jī)接收。
根據(jù)上述工業(yè)生產(chǎn)的需要,本文研發(fā)出了一種無線測(cè)溫系統(tǒng)。該系統(tǒng)使用K型熱電偶作為感溫原件,測(cè)溫范圍大,適用于波峰焊、回流焊等高溫領(lǐng)域。而且本系統(tǒng)具有獨(dú)立的溫度補(bǔ)償電路,從而解決了某些集成溫度補(bǔ)償芯片溫度采集速度慢的問題,提高了溫度測(cè)量的靈敏度。由于本系統(tǒng)是無線收發(fā),使用CCl000作為無線通訊芯片,故可以在一定距離由上位機(jī)接收數(shù)據(jù)并實(shí)時(shí)監(jiān)控。另外,本系統(tǒng)還有實(shí)時(shí)記錄數(shù)據(jù)的功能,并可在無線通訊出現(xiàn)障礙時(shí),把數(shù)據(jù)保存下來,而后等溫度采集結(jié)束后,由上位機(jī)軟件讀出。
1 系統(tǒng)硬件設(shè)計(jì)
本系統(tǒng)采用SOC芯片C805lF020作為主控制芯片。這款單片機(jī)采用25MIPS 8051 CPU流水線指令結(jié)構(gòu),具備片內(nèi)64 KB Flash程序存儲(chǔ)器、256 KB+4 KB片內(nèi)RAM及兩個(gè)外部RAM擴(kuò)展接口、5個(gè)16位定時(shí)器和JTAG非侵入式在系統(tǒng)調(diào)試等特性。C8051F020作為一個(gè)片上系統(tǒng),具有豐富而強(qiáng)大的外設(shè),其AD轉(zhuǎn)換器具有12位,可以有效提高熱電偶的輸入采集精度。
另外,采用Atmegal6相配合的目的是為了提高系統(tǒng)的采集速度,進(jìn)而提高溫度測(cè)量的靈敏度。通過CCl000完成短距離無線通信。FLASH芯片可對(duì)溫度數(shù)據(jù)進(jìn)行存儲(chǔ),以在無線通信故障時(shí)讀取。C8051F020通過CP2102的轉(zhuǎn)換后,可用USB端口與上位機(jī)通信。本系統(tǒng)的硬件結(jié)構(gòu)框圖如圖1所示。
1.1 以C8051F020為中心的系統(tǒng)控制模塊
本模塊包含C805lF020控制模塊、FLASH存儲(chǔ)模塊、CP2102通信模塊。當(dāng)系統(tǒng)處于發(fā)送狀態(tài)時(shí),C805lF020用于對(duì)熱電偶的輸入模擬信號(hào)進(jìn)行采集,并將采集信號(hào)經(jīng)12位AD轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號(hào),然后由C805lF020對(duì)數(shù)據(jù)進(jìn)行查表,再將其轉(zhuǎn)換為溫度數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行處理、打包。最后將數(shù)據(jù)寫入FLASH芯片,并通過串口發(fā)送給Atmegal6。
當(dāng)系統(tǒng)處于等待狀態(tài)時(shí),它將與上位機(jī)通過IJSB接口進(jìn)行通信。CP2102可完成串口與USB接口的轉(zhuǎn)換。如果系統(tǒng)接到上位機(jī)的命令,要求讀取數(shù)據(jù),則C805lF020將從FLASH芯片將數(shù)據(jù)讀出,然后通過串口發(fā)送出去,再經(jīng)CP2102,由USB接口輸入上位機(jī)。
1.2 以CCl000為中心的無線發(fā)射模塊
無線發(fā)射模塊包括CCl000、Atmegal6和天線。其中CCl000是根據(jù)Chipcon公司的SmartRF技術(shù),在0.35μm CMOS工藝下制造的一種理想超高頻單片收發(fā)通信芯片。CCl000的工作頻帶在315、433、868及915 MHz。而且很容易通過編程使其工作在300~1000 MHz范圍內(nèi)。AVR單片機(jī)Atmegal6可用于完成對(duì)CCl000的初始化,以及和CCl000的通信,同時(shí)也和主控芯片C805lF020保持通信。當(dāng)系統(tǒng)處于發(fā)送狀態(tài)時(shí),Atmegal6接收到C8051F020發(fā)來的數(shù)據(jù)包后,便通過CC1000向外發(fā)送。
1. 3 以熱電偶為中心的溫度采集模塊
本模塊包括電壓式溫度傳感器TMP35和K型熱電偶。其中熱電偶的工作原理是根據(jù)熱端和冷端的溫度差而產(chǎn)生電勢(shì)差。由于實(shí)際測(cè)量時(shí),冷端的溫度往往不是O℃,所以要對(duì)熱電偶進(jìn)行溫度補(bǔ)償。熱電偶溫度補(bǔ)償公式如下:
E(t,0)=E(t,t0)+E(t0,0)
其中,E(t0,0)是實(shí)際測(cè)量的電動(dòng)勢(shì),t代表熱端溫度,t0代表冷端溫度,0代表O℃。在現(xiàn)場(chǎng)溫度測(cè)量中,由于熱電偶冷端溫度一般不為O℃,而是在一定范圍內(nèi)變化著,因此測(cè)得的熱電勢(shì)為E(t,t0)。如果要測(cè)得真實(shí)的被測(cè)溫度所對(duì)應(yīng)的熱電勢(shì)E(t,0),就必須補(bǔ)償冷端不是0℃所需的補(bǔ)償電勢(shì)E(t0,0),而且,該補(bǔ)償電勢(shì)隨冷端溫度變化的特性必須與熱電偶的熱電特性相一致,這樣才能獲得最佳補(bǔ)償效果。
圖2所示是一個(gè)溫度補(bǔ)償電路的原理圖。圖中,溫度傳感器TMP35很好的完成了溫度補(bǔ)償工作,TMP35輸出的電壓先經(jīng)電阻分壓,再經(jīng)放大器放大,就是K型熱電偶對(duì)應(yīng)的E(t0,O)。
2 系統(tǒng)軟件設(shè)計(jì)
發(fā)射板的軟件設(shè)計(jì)主要包括以C8051F020的主控制模塊程序和以Atmegal6為中心的無線發(fā)射模塊程序。主控程序模塊主要完成溫度采集、數(shù)據(jù)處理、向無線發(fā)射模塊發(fā)送數(shù)據(jù)以及測(cè)試溫度數(shù)據(jù)的保存、和上位機(jī)的通訊等。無線發(fā)射程序模塊主要負(fù)責(zé)對(duì)CC1000的初始化,在等待狀態(tài)時(shí)接收C805lF020的數(shù)據(jù)包,并通過CC1000發(fā)送。
2.1 主控制模塊程序設(shè)計(jì)
主控制模塊程序主要完成的功能是對(duì)熱電偶的輸入模擬信號(hào)進(jìn)行采樣,然后進(jìn)行查表,以將查表數(shù)據(jù)轉(zhuǎn)換成溫度數(shù)據(jù)并打包。當(dāng)發(fā)送標(biāo)志允許時(shí),寫入FLASH保存,同時(shí)通過串口發(fā)送給Atmegal6。其系統(tǒng)軟件模塊流程圖如圖3所示。
本系統(tǒng)在上電復(fù)位后,應(yīng)首先對(duì)C8051F020的各功能模塊進(jìn)行初始化。包括串口0、串口1、AD轉(zhuǎn)換器、計(jì)數(shù)器TO、Tl、T2和中斷程序等。系統(tǒng)每50 ms通過12位AD轉(zhuǎn)換器對(duì)輸入信號(hào)進(jìn)行一次采樣,并將采樣信號(hào)查表轉(zhuǎn)換成溫度數(shù)據(jù)。然后對(duì)數(shù)據(jù)加上幀頭,幀尾和校驗(yàn)位。最后將幾幀數(shù)據(jù)打成一個(gè)數(shù)據(jù)包。
當(dāng)發(fā)送標(biāo)志允許時(shí),C805lF020每50 ms將數(shù)據(jù)包寫入FLASH芯片AT45DB041D。同時(shí)將數(shù)據(jù)包通過串口發(fā)送給Atmegal6。
2.2 無線發(fā)射模塊程序設(shè)計(jì)
無線發(fā)射程序的主要功能是通過Atmegal6完成對(duì)CCl000的初始化,從C805lF020接收數(shù)據(jù),并由CCl000發(fā)送出去。無線發(fā)射程序的流程如圖3 (b)所示。
在設(shè)計(jì)無線發(fā)射模塊的程序時(shí),首先應(yīng)通過Atmegal6完成端口初始化,以及TO和T1的初始化,同時(shí)還有串口初始化和中斷程序,并對(duì)CC1000進(jìn)行初始化編程。然后,Atmegal6進(jìn)入循環(huán)等待。當(dāng)確認(rèn)接收到數(shù)據(jù)時(shí),先確認(rèn)數(shù)據(jù)有效,然后喚醒CC1000并將數(shù)據(jù)包發(fā)送出去。
3 系統(tǒng)性能分析
本測(cè)溫系統(tǒng)的特點(diǎn)在于使用了雙CPU和獨(dú)立的溫度補(bǔ)償電路,其意義在于有效提高了溫度采集的速度,進(jìn)而提高測(cè)量溫度變化的靈敏度。實(shí)際測(cè)試表明,本系統(tǒng)的測(cè)量精度為O.5%,溫度采集速度為50 ms。
本系統(tǒng)采用的獨(dú)立溫度補(bǔ)償電路是以電壓式溫度傳感器TMP35為溫度補(bǔ)償原件。熱電偶的輸入電動(dòng)勢(shì)經(jīng)溫度補(bǔ)償之后,經(jīng)精密軌對(duì)軌運(yùn)放OP747進(jìn)一步放大,再輸入到C8051F020的AD轉(zhuǎn)換器。這樣可避免使用某些集成熱電偶溫度補(bǔ)償芯片所帶來的速度受限問題。
本系統(tǒng)采用C8051F020作為新一代的SOC芯片,具有豐富而強(qiáng)大的外設(shè),它具有2個(gè)AD轉(zhuǎn)換器,其中ADO具有12位精度,故可有效保證溫度信號(hào)的精確采集。
而采用雙CPU結(jié)構(gòu)C805lF020和Atmegal6,則可確保系統(tǒng)50 ms的采集時(shí)間。因?yàn)闊o線發(fā)射和寫FLASH往往要占用大多數(shù)時(shí)間,而采用雙CPU就可以將兩者分開,這樣就有效的保證了系統(tǒng)的速度和穩(wěn)定性。
采用FLASH芯片AT45DB041D則可在溫度采集時(shí)實(shí)時(shí)將數(shù)據(jù)寫入FLASH,以便在無線發(fā)射出現(xiàn)障礙時(shí)仍可有效保存數(shù)據(jù)。測(cè)試系統(tǒng)保存的數(shù)據(jù)可由上位機(jī)通過USB接口讀取。
4 結(jié)束語
與國(guó)內(nèi)外目前的主流無線溫度測(cè)量系統(tǒng)相比,本系統(tǒng)在測(cè)溫精度上達(dá)到了較高的水平。而在溫度采集速度上,由于使用了獨(dú)立的溫度補(bǔ)償電路,同時(shí)采用了雙CPU的系統(tǒng)結(jié)構(gòu),因而有效的提高了溫度測(cè)量的靈敏度和系統(tǒng)穩(wěn)定性。另外,由于使用了FLASH芯片,可以保存實(shí)時(shí)數(shù)據(jù),也提高了系統(tǒng)的可靠性和實(shí)用性。