趙 亮
(陜西理工學(xué)院機(jī)械工程學(xué)院,陜西 漢中 723003)
CAN總線技術(shù)具有通信速度快、誤碼率低、開發(fā)設(shè)計(jì)簡(jiǎn)單及網(wǎng)絡(luò)使用維護(hù)方便等特點(diǎn),是實(shí)現(xiàn)網(wǎng)絡(luò)化現(xiàn)場(chǎng)測(cè)量與控制技術(shù)的一個(gè)發(fā)展方向。在魔芋烘干的過(guò)程中,振動(dòng)流化床內(nèi)的溫度對(duì)魔芋烘干的質(zhì)量影響很大,為了對(duì)魔芋在烘干的過(guò)程中流化床內(nèi)的溫度值進(jìn)行實(shí)時(shí)的檢測(cè),采用了CAN總線技術(shù),實(shí)現(xiàn)多點(diǎn)溫度的檢測(cè),用LabWindows/CVI軟件,開發(fā)了可以對(duì)檢測(cè)的溫度值進(jìn)行實(shí)時(shí)顯示和保存的交互界面。
檢測(cè)系統(tǒng)總體設(shè)計(jì),如圖1所示,每6個(gè)溫度點(diǎn)為一個(gè)檢測(cè)單元,可以對(duì)24個(gè)點(diǎn)進(jìn)行溫度檢測(cè)。在檢測(cè)電路板和工控設(shè)備之間選擇CAN總線的通信方式,本檢測(cè)系統(tǒng)選用NI公司的Lab Windows/CVI軟件進(jìn)行上位機(jī)界面的開發(fā),能夠?qū)Σ杉瘻囟戎颠M(jìn)行保存,并且能看溫度的變化曲線[1,2]。
圖1 系統(tǒng)總體設(shè)計(jì)
溫度檢測(cè)的過(guò)程為:先每個(gè)溫度檢測(cè)模塊實(shí)時(shí)檢測(cè)每個(gè)單元的溫度值,通過(guò)CAN總線網(wǎng)絡(luò)發(fā)到工控設(shè)備,然后在工控設(shè)備上進(jìn)行溫度值的顯示,根據(jù)用戶的要求進(jìn)行數(shù)據(jù)的保存和溫度曲線的顯示。
微處理器選用Silicon Lab公司生產(chǎn)的C8051F041單片機(jī),C8051F041處理器是完全集成的混合信號(hào)片上系統(tǒng)型MCU,具有高速、流水結(jié)構(gòu)8051兼容的CIP-51內(nèi)核。12位8通道ADC,并且片內(nèi)集成了一個(gè)CAN2.0控制器,可以方便組建CAN總線網(wǎng)絡(luò);MCU內(nèi)部有JTAG接口和調(diào)試電路,可以通過(guò)JTAG接口使用安裝在最終應(yīng)用系統(tǒng)上的產(chǎn)品MCU進(jìn)行非侵入式、全速、在系統(tǒng)調(diào)試。
溫度傳感器選用熱電阻PT100,PT100是一種穩(wěn)定性和線性比較好的鉑絲熱電阻傳感器,可以工作在-200~600°C之間,而生產(chǎn)線流化床內(nèi)的溫度是80~120°C的范圍。在用熱電阻PT100進(jìn)行溫度測(cè)量時(shí),用溫度變送器將溫度信號(hào)轉(zhuǎn)變成4~20 mA的電流信號(hào),經(jīng)調(diào)理電路到處理器C8051F041的A/D轉(zhuǎn)換的輸入端,將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),以方便計(jì)算機(jī)的處理。其電路圖,如圖2所示。
圖2 溫度檢測(cè)電路
C8051F041微處理器具有CAN控制器,用CAN協(xié)議進(jìn)行串行通信,CAN控制器符合Bosch規(guī)范2.0A。CAN控制器包含一個(gè)CAN核、消息RAM、消息處理狀態(tài)機(jī)和控制寄存器。CAN是一個(gè)協(xié)議控制器,不提供物理層驅(qū)動(dòng)器。在本系統(tǒng)選用PCA82C250作為CAN通信的收發(fā)器,其電路圖,如圖3所示[3]。
圖3 通信電路
按照前面硬件電路的設(shè)計(jì),實(shí)現(xiàn)對(duì)溫度的采集、處理和顯示等功能,軟件設(shè)計(jì)可分為上位機(jī)程序的設(shè)計(jì)和下位機(jī)程序的設(shè)計(jì)。上位機(jī)程序主要完成溫度值的顯示、保存和曲線的顯示等功能;下位機(jī)程序完成對(duì)溫度的采集的功能。
選用NI公司的Lab Windows/CVI交互式C語(yǔ)言開發(fā)平臺(tái),該平臺(tái)將C語(yǔ)言與用于數(shù)據(jù)采集分析和顯示的測(cè)控專業(yè)工具有機(jī)地結(jié)合起來(lái),開發(fā)程序效率較高、可靠性好;軟件帶有豐富的數(shù)字信號(hào)處理庫(kù)函數(shù),界面設(shè)計(jì)方便靈活,能夠滿足系統(tǒng)的設(shè)計(jì)要求。對(duì)整個(gè)系統(tǒng)的軟件進(jìn)行模塊化設(shè)計(jì),將功能劃分為系統(tǒng)的初始化、數(shù)據(jù)采集、數(shù)值的保存和結(jié)果的顯示等部分。其界面如圖4所示。
圖4 上位機(jī)界面
上位機(jī)操作界面可以對(duì)采集的24點(diǎn)的溫度值進(jìn)行實(shí)時(shí)的顯示,且具有保存功能,保存路徑為軟件的安裝位置,可以定時(shí)自動(dòng)保存和也可以單次保存,方便了操作者觀察歷史溫度值。另外還具有對(duì)溫度值進(jìn)行實(shí)時(shí)曲線顯示,觀察溫度的變化情況。
1)溫度檢測(cè)程序。C8051F041單片機(jī)的ADC0子系統(tǒng)包括可編程模擬多路選擇器、可編程增益放大器和逐次逼近寄存器型ADC,集成了跟蹤保持電路和可編程窗口檢測(cè)器。通過(guò)設(shè)置特殊功能寄存器來(lái)來(lái)選擇輸入通道、基準(zhǔn)電壓、放大倍數(shù)和數(shù)據(jù)轉(zhuǎn)換方式[3]。其溫度檢測(cè)程序流程圖,如圖5所示。
2)通信程序設(shè)計(jì)。CAN通信程序包括初始化程序、發(fā)送程序和接受程序,初始化程序主要對(duì)消息對(duì)象進(jìn)行初始化、CAN控制寄存器初始化、位定時(shí)寄存器的初始化以及發(fā)送對(duì)象和接收對(duì)象的初始化[4]。
采用CAN總線技術(shù),提高了檢測(cè)系統(tǒng)數(shù)據(jù)傳輸?shù)目煽啃?。用Lab Win?dows/CVI軟件開發(fā)平臺(tái),開發(fā)了上位機(jī)操作界面,具有可以對(duì)24點(diǎn)溫度進(jìn)行采集和實(shí)時(shí)顯示的功能,且界面的交互性比較友好。
圖5 溫度檢測(cè)程序流程圖
[1] 劉春華,高繼森.基于組態(tài)軟件與單片機(jī)的多點(diǎn)溫度監(jiān)控系統(tǒng)總體設(shè)計(jì)[J].宜春學(xué)院學(xué)報(bào),2008,30(4):51-52.
[2] 郝迎吉,馬德平.一種基于單片機(jī)的組態(tài)王溫度監(jiān)控系統(tǒng)[J].西安科技大學(xué)學(xué)報(bào),2005,25(2):201-203.
[3] 田奕,劉秀紅.基于C8051F040的CAN總線通訊系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2006(15):29-31.
[4] 熊善清.基單片機(jī)C8051F040的CAN通訊程序設(shè)計(jì)[J].通信電源技術(shù),2005,22(4):36-38.