眾所周知,我國是一個煙草大國,煙草行業(yè)在國民經(jīng)濟中占有十分重要的地位。
煙草行業(yè)涵蓋煙葉種植、煙葉烘烤、煙葉發(fā)酵、卷煙生產(chǎn)及銷售等環(huán)節(jié),各環(huán)節(jié)的生產(chǎn)過程、管理水平、生產(chǎn)能力和生產(chǎn)質量都將直接影響到最終產(chǎn)品的質量和經(jīng)濟社會效益。在整個煙草生產(chǎn)過程中,煙葉烘烤的質量起到了至關重要的作用,然而令人遺憾的是,目前貴州省乃至全國煙農(nóng)多數(shù)使用人工作坊式進行煙葉的烘烤,烤房內的溫度、濕度等對煙葉質量有影響的環(huán)境參數(shù)只能靠人工方式進行測量和控制,因而無法保證烤煙的質量,使得農(nóng)民的收入沒有得到明顯提高。為了保證烤煙質量,必須采取先進的控制手段來對環(huán)境溫度和濕度以及持續(xù)時間進行有效控制,自動控制技術、通信技術和計算機技術的不斷發(fā)展給烤煙環(huán)境的精確控制帶來了可能。
本系統(tǒng)結合現(xiàn)場總線和單片機控制技術,構建了分布烤煙控制系統(tǒng),實現(xiàn)了對分散在不同位置的烤房進行實時遠程監(jiān)控。
1 CAN總線概述
當今計算機控制系統(tǒng)正迅速向分散的現(xiàn)場總線控制系統(tǒng)(FCS)方向發(fā)展,現(xiàn)場總線的使用,使得包含工業(yè)控制系統(tǒng)在內的各類控制系統(tǒng)的控制功能徹底下放到控制現(xiàn)場,系統(tǒng)的性能進一步提高。
在眾多的現(xiàn)場總線中,CAN(Control Area Network)以其獨特的優(yōu)勢在各類控制系統(tǒng)的應用日益廣泛。CAN總線協(xié)議簡單、實現(xiàn)容易、成本低,能方便與微控制器接口,特別適合中小型控制系統(tǒng)中。因此,考慮到行業(yè)特點及控制要求,在方案中我們選擇了CAN總線作為整個系統(tǒng)的數(shù)據(jù)通信系統(tǒng)。
2 控制系統(tǒng)方案
本系統(tǒng)基于CAN總線構建,將CAN總線接口內置于烤煙控制器中,并使用雙絞線作為總線連接至監(jiān)控計算機的CAN總線適配器,形成分布式控制系統(tǒng),如圖1所示。
500)this.style.width=500;" border=0>
圖1 控制系統(tǒng)結構
2.1烤煙控制器
內置單片微控制器(AT89C52)的烤煙控制器對烤煙環(huán)境的溫度及濕度進行采樣,依據(jù)一定的控制規(guī)律(烤煙環(huán)境的溫度和濕度控制規(guī)律)產(chǎn)生控制信號對溫度及濕度進行控制,并接收監(jiān)控計算機發(fā)送來的命令完成控制參數(shù)的修改或上傳檢測到的溫度和濕度。
由于烤煙過程對環(huán)境的要求并不是非常高,為簡化控制系統(tǒng)結構,降低成本,使用了如下方案進行設計。
溫度的采樣采用全數(shù)字溫度傳感器DS18B20(DALLAS公司生產(chǎn)),該傳感器使用串行接口(1-Wire總線)與微控制器連接,測量溫度最高達125℃,精度可達0.005℃,完全可滿足烤煙溫度檢測的需要;而溫度的調節(jié)直接通過直流電機驅動火門控制進風量進行。
環(huán)境的濕度可間接從采樣到的濕球溫度計算得到,從而避免使用昂貴的濕度傳感器;而濕度通過直流電機控制窗戶的開啟大小來控制。
CAN總線接口使用菲利浦公司的SJA1000協(xié)議接口芯片、6N137光電隔離器和82C250總線收發(fā)器構成。
2.2 監(jiān)控計算機
利用CAN總線適配器(USB接口)實現(xiàn)計算機控制信息和CAN總線協(xié)議數(shù)據(jù)的相互轉換,完成對現(xiàn)場控制節(jié)點的集中管理。
監(jiān)控軟件采用Visual Basic平臺進行開發(fā),完成對控制節(jié)點的實時監(jiān)控。
3 烤煙控制節(jié)點設計
依據(jù)上述控制功能要求,烤煙控制節(jié)點包含AT89C52、LCD顯示器、CAN總線接口電路、兩片DS18B20、兩套直流電機控制電路,如圖2所示。
500)this.style.width=500;" border=0>
3.1 硬件組成
AT89C52是烤煙控制器的核心,完成溫度和濕度的采樣與控制、控制算法運算、鍵盤掃描、LCD顯示、數(shù)據(jù)通信等功能。
LCD顯示器用于現(xiàn)場顯示采樣的溫度及濕度、控制參數(shù)設定值等,由于需要顯示的內容較少,選用段式顯示器;而鍵盤用于在現(xiàn)場設置控制參數(shù),為了簡化接口電路,采用獨立式鍵盤電路,即每個按鍵占用AT89C52的一位開關量輸入。
DS18B20和直流電機控制電路組成溫濕度采樣與控制電路。DS18B20的控制程序按其規(guī)定的時序進行編寫,通過單片機執(zhí)行SETB P1.7(或P1.6)和CLR P1.7(P1.6)即可產(chǎn)生所需要的軟件脈沖,從而實現(xiàn)對溫濕度的數(shù)字化輸入;而直流電機的控制通過對P1.5(P1.4)進行控制產(chǎn)生高低電平,再送由三極管和直流繼電器組成的電機驅動電路,即可實現(xiàn)對電機的正反轉控制,通過傳動機構帶動火門(或窗門)移動對溫度和濕度進行調節(jié)。
烤煙控制器CAN總線接口由SJA1000、6N137和82C250組成,如圖3所示。SJA1000以并行接口芯片和中斷形式與AT89C52連接,AT89C52對映射到存儲器的SJA1000有關寄存器進行讀寫,即可實現(xiàn)SJA1000初始化設置、數(shù)據(jù)收發(fā)、數(shù)據(jù)校驗等操作;6N137組成光電隔離電路以提高系統(tǒng)的抗干擾能力;82C250則提高總線驅動能力。
500)this.style.width=500;" border=0>
3.2 程序設計
烤煙控制器程序除了完成定時對溫濕度的采樣與閉環(huán)控制和實現(xiàn)人機接口外,還要對監(jiān)控計算機通過CAN總線發(fā)送來的遠程命令進行響應,以便執(zhí)行特定的功能。由于系統(tǒng)采用中斷方式實現(xiàn)溫濕度的定時采樣和CAN總線的通信,因此程序包括主程序和中斷服務程序兩部分,其中定時中斷程序較為簡單,在此不再詳細介紹。
3.2.1 主程序
主程序完成對定時器和CAN總線的初始化,并循環(huán)掃描鍵盤和控制LCD顯示。
對CAN總線的初始化主要是對SJA1000的工作方式、接收濾波方式、接收屏蔽寄存器(AMR)、接收代碼寄存器(ACR)、波特率參數(shù)和中斷允許寄存器進行設置,在初始化前必須使SJA1000進行復位模式,當初始化設置完成后,須使SJA1000回到正常工作模式,才能實現(xiàn)正常工作。為增強程序的可讀性,在程序執(zhí)行代碼前使用EQU偽指令將SJA1000各寄存器所對應的存儲器地址定義成特定的符號。
MOV DPTR,#MOD ;方式寄存器
MOV A,#09H
MOVX @DPTR,A ;使SJA1000進入復位模式
…… ;其他寄存器設置
MOV DPTR,#MOD ;方式寄存器
MOV A,#08H
MOVX @DPTR,A ;使SJA1000進入工作模式
……
3.2.2 中斷服務程序
當監(jiān)控計算機通過CAN總線向控制節(jié)點發(fā)送數(shù)據(jù)時,一旦CAN數(shù)據(jù)幀內的接收方地址與初始化程序中設置的地址匹配時,SJA1000即通過INT1(外部中斷)向AT89C52發(fā)送中斷請求,當AT89C52響應中斷請求后立即轉向中斷服務程序執(zhí)行,在中斷服務程序內進行信息的解釋,并進行相應的控制,如傳送溫濕度數(shù)據(jù)、修改控制參數(shù)等。在對SJA1000接收的信息進行處理前,還需要對總線脫離、錯誤報警、接收溢出等進行處理。
MOV DPTR,#SR ;狀態(tài)寄存器地址
MOVX A,@DPTR
ANL A,#0C3H ;讀取總線脫離、錯誤報警、接收溢出、有數(shù)據(jù)等位
JNZ ERRPROG ;轉錯誤處理程序
…… ;正常處理程序
4 監(jiān)控軟件開發(fā)
監(jiān)控管理計算機完成對各烤房的實時監(jiān)控,為實現(xiàn)完整的信息管理功能,需要構建數(shù)據(jù)管理系統(tǒng)。系統(tǒng)中基于MS-Access構建數(shù)據(jù)庫平臺,利用VB開發(fā)監(jiān)控軟件實現(xiàn)與烤煙控制器的通信并訪問數(shù)據(jù)庫。
監(jiān)控軟件功能主要包含定時循環(huán)數(shù)據(jù)采樣(循環(huán)依此采樣各烤房數(shù)據(jù))、實時數(shù)據(jù)采集、溫濕度曲線顯示(打?。?、數(shù)據(jù)統(tǒng)計報表(打?。┑取?br />
5 結束語
CAN總線是目前廣泛采用的現(xiàn)場總線標準,其協(xié)議簡單,容易實現(xiàn),能方便與各種微處理器接口,本文研究的CAN總線應用系統(tǒng)目前已投入實際生產(chǎn)運行,并取得了良好的控制效果。
本文工作只是在現(xiàn)場總線方面作了一些應用研究工作,對更深入的應用研究還有待進一步深入。