引 言
在煉焦生產(chǎn)中,推焦時間、平煤時間、推焦電流等數(shù)據(jù)是反映焦?fàn)t實(shí)際操作情況的重要指標(biāo)。由于推焦車是室外移動裝置,而采集好的數(shù)據(jù)需及時傳送到中心主控室的計算機(jī)中完成數(shù)據(jù)的分析、處理和記錄,因此為了實(shí)現(xiàn)推焦過程的有效監(jiān)測,需要解決數(shù)據(jù)采集和數(shù)據(jù)通信這兩大問題。
1 監(jiān)控系統(tǒng)的基本結(jié)構(gòu)
按項(xiàng)目要求,中心主控站能對2個移動距離達(dá)200 m的推焦車上的電流信號進(jìn)行數(shù)據(jù)采集,所以采用無線數(shù)據(jù)傳輸?shù)哪J?,通過無線數(shù)傳電臺控制推焦車上的從站接收主控站的命令,并接收從站發(fā)出的推焦電流等模擬量以及爐號等數(shù)字量信息。系統(tǒng)的基本結(jié)構(gòu)如圖l所示,其中上位機(jī)(主站)由1個PC終端和D2lDL無線數(shù)傳模塊(含天線)組成,二者之間通過串口通信。
鑒于數(shù)據(jù)庫技術(shù)已經(jīng)相當(dāng)成熟,中心主控站的數(shù)據(jù)管理可以較容易地實(shí)現(xiàn),所以關(guān)鍵技術(shù)就在于下位機(jī)對現(xiàn)場數(shù)據(jù)的實(shí)時采集,以及下位機(jī)與上位機(jī)之間可靠的無線數(shù)據(jù)傳輸。
2 下位機(jī)的硬件組成
下位機(jī)以ARM7微控制器為核心,利用ARM7內(nèi)核對外圍設(shè)備,包括無線數(shù)傳模塊、LCD顯示模塊、模擬/數(shù)字信號輸入、鍵盤掃描,進(jìn)行控制和管理,基本框架如圖2所示。
?。?)ARM控制板
控制板是下位機(jī)的核心,控制系統(tǒng)的各個功能模塊。控制板的MCU采用Atmel公司的 AT91SAM7S64芯片,它有64 KB高速Flash和16 KB的SRAM,片內(nèi)主要有存儲器控制器、復(fù)位控制器、時鐘發(fā)生器、電源管理控制器、先進(jìn)中斷控制器、周期性間隔定時器、時間窗看門狗、實(shí)時定時器、并行輸入/輸出控制器、外設(shè)數(shù)據(jù)控制器、USB2.O全速設(shè)備接口、同步串行控制器、通用同步/異步收發(fā)器、主從串行外設(shè)接口、3通道16位定時器/計數(shù)器、4通道16位PWM控制器、兩線接口、8通道10位A/D。控制板的外圍電路主要包括電壓轉(zhuǎn)換電路、串口輸入/輸出控制電路、JTAG電路、模擬量數(shù)字量輸入/輸出電路、時鐘芯片控制電路、USB接口電路、EEPROM電路等。
(2)液晶顯示模塊
下位機(jī)的本地顯示功能通過控制帶有SEDl335控制器的液晶顯示模塊實(shí)現(xiàn)。SEDl335是日本Seiko Epson公司生產(chǎn)的液晶顯示控制器。它的輸入/輸出緩沖器功能較強(qiáng),指令功能豐富,并行發(fā)送4位數(shù)據(jù),最大驅(qū)動能力為640×256點(diǎn)陣。SEDl335硬件結(jié)構(gòu)由MCU接口、內(nèi)部控制和驅(qū)動LCM組成。
?。?)無線數(shù)傳模塊
由于推焦車要在較大范圍移動,因而采用無線數(shù)據(jù)傳輸是一種較好的選擇。北京捷麥公司生產(chǎn)的SA68D21DL無線數(shù)據(jù)收發(fā)模塊是一種可在微機(jī)與微機(jī)之間或微機(jī)與單片機(jī)之間進(jìn)行全雙工遠(yuǎn)距離無線通信的收發(fā)模塊,它還可以脫離微機(jī)組成多點(diǎn)報警、遙控系統(tǒng)。其主要特點(diǎn)為:串口具有TTL、RS232、RS485等多種電平接口;內(nèi)含EE—PROM看門狗電路,可掉電記憶設(shè)置參數(shù);發(fā)送/接收距離為1~3 km。
(4)電流變送器模塊
在電力電子產(chǎn)品中,對大電流進(jìn)行精確的檢測和控制是產(chǎn)品安全可靠運(yùn)行的根本保證。推焦車設(shè)備中,最大電流可達(dá)400 A。經(jīng)多方調(diào)研比較,采用北京森社公司生產(chǎn)的霍爾電流變送器模塊,其主要特點(diǎn)為:工作區(qū)內(nèi)精度高于1%;動態(tài)性能響應(yīng)時間小于lms,跟蹤速度高于50 A/ms;平均無故障工作時間>50 000小時;易于安裝。
?。?)鍵盤控制模塊
傳統(tǒng)的行列式編碼數(shù)字鍵盤要占用很多I/O引腳,而基于A/D轉(zhuǎn)換器的鍵盤一般只用一個I/O引腳就能讀取多個按鍵。其工作原理為:鍵盤由一系列分壓電阻和按鍵組成,不同的按鍵對應(yīng)著不同的分壓電阻,從而得到不同的分壓及不同的A/D轉(zhuǎn)換數(shù)值。這種鍵盤只能識別單個按鍵按下的情況,本鍵盤只有12個按鍵,現(xiàn)場操作人員只需輸入爐號1~10以及“確認(rèn)”、“取消”鍵,因此完全滿足要求。
3 下位機(jī)的軟件設(shè)計
軟件模塊包括串口控制程序、A/D數(shù)據(jù)采集、無線模塊收發(fā)控制、LCD更新顯示控制、定時器控制和按鍵掃描輸入控制部分。
由于下位機(jī)工作模式簡單,出于精簡代碼量以及程序穩(wěn)定性的考慮,未在控制器中使用操作系統(tǒng)等復(fù)雜的進(jìn)程調(diào)度機(jī)制。下位機(jī)上電后直接運(yùn)行主程序,完成初始化過程之后進(jìn)入主循環(huán),接收上位機(jī)發(fā)送的命令并據(jù)此進(jìn)行相關(guān)操作。對于實(shí)時性要求較高的數(shù)據(jù)采集、LCD屏顯示更新和鍵盤掃描任務(wù),則在定時器中斷服務(wù)程序中完成。
主程序主要包括系統(tǒng)初始化(初始化MCU、總線、I/O端口、LCD、A/D、參數(shù)、串口等)、無線數(shù)傳模塊設(shè)置(讀取并設(shè)置地址和身份碼)、顯示開機(jī)畫面、開定時器中斷、接收串口數(shù)據(jù)、數(shù)據(jù)校驗(yàn)和發(fā)送數(shù)據(jù)。中斷控制程序包括鍵盤掃描、判斷鍵值響應(yīng)按鍵、模擬量和數(shù)字量采樣以及按照協(xié)議將數(shù)據(jù)填充到發(fā)送數(shù)組。
3.1 對LCD顯示屏的控制
ARM系統(tǒng)使用12個I/0端口控制內(nèi)置SED1335控制器的顯示屏。其中4個端口為控制命令端口,8個端口為數(shù)據(jù)端口,端口控制信號圖如圖3所示。
AT91SAM7S64并行輸入輸出控制器(PIO)管理多達(dá)32個全可編程I/O線。對于LCD顯示屏的控制,實(shí)際上是根據(jù)SED1335控制器的時序進(jìn)行操作,即通過PIO控制器控制并行數(shù)據(jù)輸出。
程序的具體實(shí)現(xiàn)就是先總線初始化,配置控制LCD的8條數(shù)據(jù)總線和4條命令總線,設(shè)置外圍設(shè)備時鐘使能寄存器(PCER)、上拉禁止寄存器(PPUDR)、多驅(qū)動禁止寄存器(MDDR)、輸入濾波禁止寄存器(IF—DR)、輸出寫使能寄存器(0WER)、PIO使能寄存器(PER)、輸出使能寄存器(OER)和輸出數(shù)據(jù)寄存器(S0一DR)。
3.2 對無線數(shù)傳電臺模塊的控制
AT91SAM7S64的USART,支持與使能由發(fā)送器到接收器的數(shù)據(jù)傳輸?shù)耐庠O(shè)數(shù)據(jù)控制器的連接,可管理多類型串行同步或異步通信。推焦車上的下位機(jī)通過USART口同無線數(shù)傳電臺模塊通信,控制電臺接收和發(fā)送數(shù)據(jù),相關(guān)接口的核心芯片是MAX3232EEA,具體電路如圖4所示。
串口的初始化包括初始化外設(shè)I/0,使能時鐘,配置串口工作模式(如波特率)等,使能串口;串口接收采用超時接收,其含義是:當(dāng)串口收到1字節(jié)的數(shù)據(jù)后,若在一定時間間隔內(nèi)收到另外1字節(jié)數(shù)據(jù),則可認(rèn)為后1字節(jié)同前1字節(jié)為同一包數(shù)據(jù)中的內(nèi)容,若在一定時間間隔內(nèi)未收到數(shù)據(jù),則認(rèn)為此包數(shù)據(jù)接收結(jié)束。這時,串口狀態(tài)寄存器的相應(yīng)位置1,通過查詢狀態(tài)寄存器該狀態(tài)位的值可判斷是否接收結(jié)束。串口數(shù)據(jù)發(fā)送只要設(shè)置好發(fā)送數(shù)據(jù)寄存器和發(fā)送數(shù)據(jù)計數(shù)器,即可開始發(fā)送。
3.3 系統(tǒng)中定時器的作用
本系統(tǒng)通過AT91SAM7S64的定時器/計數(shù)器模塊控制數(shù)據(jù)采集周期、按鍵掃描和LCD更新。AT91SAM7S64定時器/計數(shù)器(TC)包括3個相同但相互獨(dú)立的16位定時器/計數(shù)器通道。
每個通道有3個外部時鐘輸入,5個內(nèi)部時鐘輸入及2個可由用戶配置的多功能輸入/輸出信號。每個通道驅(qū)動一個可編程內(nèi)部中斷信號來產(chǎn)生處理器中斷。定時器/計數(shù)器有2個作用于這3個通道的全局寄存器。塊控制寄存器允許使用同樣的指令同時啟動3個通道。塊模式寄存器為每個通道定義外部時鐘輸入,允許將它們連接。另外,每個通道有一個16位寄存器,寄存器值在所選時鐘每個上升沿處自減,當(dāng)計數(shù)器達(dá)到0xFFFF并轉(zhuǎn)為0x0000時,表明發(fā)生溢出,TC_SR(狀態(tài)寄存器)中COVFS位置1。
定時器初始化包括設(shè)置定時器時鐘,配置模式寄存器,設(shè)置定時器中斷等。
定時器中斷25 ms進(jìn)行一次A/D轉(zhuǎn)換,控制采集A11、A12模擬信號輸入,以及鍵盤信號的掃描。由于AI模擬信號每250 ms采集一組,所以每進(jìn)入10次中斷將最近5次采集到的AI信號進(jìn)行去極值求平均數(shù)操作,并裝入發(fā)送數(shù)組通過串口發(fā)往無線數(shù)傳模塊;而鍵盤按鍵信號由于要求較高的實(shí)時性,所以每25ms判斷一次。之所以把AI數(shù)據(jù)采集和鍵盤掃描放在同一個定時器中,是因?yàn)檫@兩個功能模塊均用到了ADC控制器;若放在兩個定時器中斷中分別對ADC控制器進(jìn)行操作,則會造成資源訪問沖突,導(dǎo)致程序跑飛和系統(tǒng)癱瘓。當(dāng)判斷按鍵輸入部分結(jié)束,對按鍵將作出實(shí)時響應(yīng),主要體現(xiàn)在LCD的顯示內(nèi)容上。每250 ms采集一組AI信號時,同樣也會將采集到的數(shù)據(jù)轉(zhuǎn)換為工程量通過LCD顯示出來,實(shí)現(xiàn)數(shù)據(jù)的本地實(shí)時顯示。
3.4 系統(tǒng)中A/D的使用
A/D是一個數(shù)據(jù)采集系統(tǒng)的基礎(chǔ),其信號采集精度和采集周期直接決定了系統(tǒng)的準(zhǔn)確性和實(shí)時性。在AT91SAM7S64芯片內(nèi),8路模擬量通過1個八選一復(fù)用開關(guān)后進(jìn)行A/D轉(zhuǎn)換,相應(yīng)的轉(zhuǎn)換結(jié)果送入一個所有通道可用的通用寄存器,即通道專用寄存器中,可配置為軟件觸發(fā)、外部觸發(fā)ADTRG引腳上升沿或內(nèi)部觸發(fā)定時器/計數(shù)器輸出。ADC支持8位或10位的分辨率,默認(rèn)情況為10位分辨率;對于所有通道只需要一個啟動命令來初始化轉(zhuǎn)換序列。ADC硬件邏輯對工作通道自動執(zhí)行轉(zhuǎn)換,然后等待新請求;當(dāng)轉(zhuǎn)換完成后,10位數(shù)字結(jié)果存于當(dāng)前通道的通道數(shù)據(jù)寄存器(ADC_CDR)及ADC最后轉(zhuǎn)換數(shù)據(jù)寄存器(ADC_LCDR)中。
本系統(tǒng)中,用AT91SAM7S64芯片的ADC控制器定時對相應(yīng)通道的模擬量進(jìn)行采集。另外,系統(tǒng)還通過A/D讀取鍵盤數(shù)據(jù),根據(jù)ADC轉(zhuǎn)換值的不同判斷按鍵。ADC的初始化包括初始化時鐘、復(fù)位ADC、配置模式寄存器、設(shè)置A/D通道等。在本系統(tǒng)中,程序使能4路A/D通道,2路用于對反映推焦參數(shù)的模擬信號進(jìn)行數(shù)據(jù)采集,另外兩路用于對鍵盤按鍵信號進(jìn)行判斷控制。相關(guān)程序如下:
對于所采集的數(shù)據(jù),需要進(jìn)行數(shù)字濾波以減少外界干擾的影響。綜合考慮電磁環(huán)境以及算法復(fù)雜度等因素,采用去極值的平均濾波算法,即對短時間內(nèi)采集到的數(shù)據(jù),去除最大值和最小值,把其余值的平均數(shù)作為一次數(shù)據(jù)采集的信號量。
對于鍵盤按鍵信號,每個按鍵按下產(chǎn)生的模擬量值都在一個特定的區(qū)間范圍內(nèi)。從軟件上看,只需要判斷采集按鍵信號的2路A/D轉(zhuǎn)換值處在哪個區(qū)間內(nèi),即可判斷出哪個鍵被按下,并且增加相關(guān)保護(hù)程序,使按鍵長時間按下不會重復(fù)響應(yīng),以防止誤操作。
結(jié) 語
與現(xiàn)有的推焦數(shù)據(jù)采集系統(tǒng)相比,本系統(tǒng)有以下幾個特點(diǎn):將通過A/D采集到的模擬量經(jīng)過工程量轉(zhuǎn)換后,在LCD顯示屏上實(shí)時顯示,便于推焦車操作及維護(hù)人員直觀監(jiān)測數(shù)據(jù)的變化情況并作相應(yīng)調(diào)整;上位機(jī)發(fā)送過來的爐號信息和時間信息也在LCD顯示屏顯示,增強(qiáng)了控制命令的可視性,降低了誤操作的可能;采用無線數(shù)傳模塊實(shí)現(xiàn)上位機(jī)與下位機(jī)之間的數(shù)據(jù)通信,并通過軟件校驗(yàn)的方式使傳輸?shù)恼`碼率降低到系統(tǒng)允許的范圍。
此推焦數(shù)據(jù)監(jiān)控系統(tǒng)已經(jīng)交付貴州、山西和山東等地的一些焦化廠使用,達(dá)到了預(yù)期的運(yùn)行效果。