基于C8051和Atmega16的無線溫度測量系統設計
根據上述工業生產的需要,本文研發出了一種無線測溫系統。該系統使用K型熱電偶作為感溫原件,測溫范圍大,適用于波峰焊、回流焊等高溫領域。而且本系統具有獨立的溫度補償電路,從而解決了某些集成溫度補償芯片溫度采集速度慢的問題,提高了溫度測量的靈敏度。由于本系統是無線收發,使用CCl000作為無線通訊芯片,故可以在一定距離由上位機接收數據并實時監控。另外,本系統還有實時記錄數據的功能,并可在無線通訊出現障礙時,把數據保存下來,而后等溫度采集結束后,由上位機軟件讀出。
1 系統硬件設計
本系統采用SOC芯片C805lF020作為主控制芯片。這款單片機采用25MIPS8051 CPU流水線指令結構,具備片內64 KB Flash程序存儲器、256 KB+4 KB片內RAM及兩個外部RAM擴展接口、5個16位定時器和JTAG非侵入式在系統調試等特性。C8051F020作為一個片上系統,具有豐富而強大的外設,其AD轉換器具有12位,可以有效提高熱電偶的輸入采集精度。
另外,采用Atmegal6相配合的目的是為了提高系統的采集速度,進而提高溫度測量的靈敏度。通過CCl000完成短距離無線通信。FLASH芯片可對溫度數據進行存儲,以在無線通信故障時讀取。C8051F020通過CP2102的轉換后,可用USB端口與上位機通信。本系統的硬件結構框圖如圖1所示。

1.1 以C8051F020為中心的系統控制模塊
本模塊包含C805lF020控制模塊、FLASH存儲模塊、CP2102通信模塊。當系統處于發送狀態時,C805lF020用于對熱電偶的輸入模擬信號進行采集,并將采集信號經12位AD轉換器轉換為數字信號,然后由C805lF020對數據進行查表,再將其轉換為溫度數據,對數據進行處理、打包。最后將數據寫入FLASH芯片,并通過串口發送給Atmegal6。
當系統處于等待狀態時,它將與上位機通過IJSB接口進行通信。CP2102可完成串口與USB接口的轉換。如果系統接到上位機的命令,要求讀取數據,則C805lF020將從FLASH芯片將數據讀出,然后通過串口發送出去,再經CP2102,由USB接口輸入上位機。
1.2 以CCl000為中心的無線發射模塊
無線發射模塊包括CCl000、Atmegal6和天線。其中CCl000是根據Chipcon公司的SmartRF技術,在0.35μmCMOS工藝下制造的一種理想超高頻單片收發通信芯片。CCl000的工作頻帶在315、433、868及915 MHz。而且很容易通過編程使其工作在300"1000 MHz范圍內。AVR單片機Atmegal6可用于完成對CCl000的初始化,以及和CCl000的通信,同時也和主控芯片C805lF020保持通信。當系統處于發送狀態時,Atmegal6接收到C8051F020發來的數據包后,便通過CC1000向外發送。
1. 3 以熱電偶為中心的溫度采集模塊
本模塊包括電壓式溫度傳感器TMP35和K型熱電偶。其中熱電偶的工作原理是根據熱端和冷端的溫度差而產生電勢差。由于實際測量時,冷端的溫度往往不是O℃,所以要對熱電偶進行溫度補償。熱電偶溫度補償公式如下:
E(t,0)=E(t,t0)+E(t0,0)
其中,E(t0,0)是實際測量的電動勢,t代表熱端溫度,t0代表冷端溫度,0代表O℃。在現場溫度測量中,由于熱電偶冷端溫度一般不為O℃,而是在一定范圍內變化著,因此測得的熱電勢為E(t,t0)。如果要測得真實的被測溫度所對應的熱電勢E(t,0),就必須補償冷端不是0℃所需的補償電勢E(t0,0),而且,該補償電勢隨冷端溫度變化的特性必須與熱電偶的熱電特性相一致,這樣才能獲得最佳補償效果。
圖2所示是一個溫度補償電路的原理圖。圖中,溫度傳感器TMP35很好的完成了溫度補償工作,TMP35輸出的電壓先經電阻分壓,再經放大器放大,就是K型熱電偶對應的E(t0,O)。

2 系統軟件設計
發射板的軟件設計主要包括以C8051F020的主控制模塊程序和以Atmegal6為中心的無線發射模塊程序。主控程序模塊主要完成溫度采集、數據處理、向無線發射模塊發送數據以及測試溫度數據的保存、和上位機的通訊等。無線發射程序模塊主要負責對CC1000的初始化,在等待狀態時接收C805lF020的數據包,并通過CC1000發送。
評論