吳雪琴
江蘇省聯(lián)合職業(yè)技術(shù)學(xué)院無(wú)錫交通分院,江蘇 無(wú)錫 214151
小麥作為世界三大糧食作物之一,工業(yè)化生產(chǎn)中加工面粉的小麥多來(lái)自糧庫(kù)儲(chǔ)糧,小麥在儲(chǔ)藏中的水分含量必須控制在儲(chǔ)藏安全水分(一般為11%~12%) ,此水分值低于要求的入磨小麥水分值(現(xiàn)代制粉工藝要求入磨小麥水分在14%~17%),故需對(duì)小麥進(jìn)行實(shí)時(shí)在線著水。小麥著水控制的好壞將直接影響產(chǎn)品質(zhì)量和企業(yè)效益[1]。
小麥著水即水分調(diào)節(jié),是利用水、熱作用和一定的潤(rùn)麥時(shí)間,使小麥的水分重新調(diào)整,達(dá)到適宜的入磨水分,提高出粉率,改善粉色,獲得更好的工藝效果。
以微波測(cè)量法為例,系統(tǒng)需要分別測(cè)量微波、溫度信號(hào)以及小麥的流速信號(hào)等,然后結(jié)合該批次小麥的硬度(品質(zhì))以及著水設(shè)備的具體情況(如容重等)進(jìn)行相應(yīng)的偏差補(bǔ)償,最后根據(jù)相應(yīng)的控制算法得出所需著水量,實(shí)時(shí)進(jìn)行檢測(cè)并精確加水。
目前布勒公司等一些國(guó)外公司研制的著水系統(tǒng)主要面向大型、精加工的面粉廠[2],其昂貴的價(jià)格讓眾多中小型面粉廠無(wú)力承受。國(guó)內(nèi)一些科研人員也潛心研究[3-5],但控制器設(shè)計(jì)均以8位單片機(jī)為主控芯片。故,本文擬設(shè)計(jì)基于內(nèi)置外設(shè)資源豐富、處理速度更快的ARM芯片來(lái)設(shè)計(jì)著水控制器。
基于對(duì)著水工藝的簡(jiǎn)單說(shuō)明,系統(tǒng)需要采集的數(shù)據(jù)量、控制量不少,另外還需顯示系統(tǒng)運(yùn)行狀態(tài)、鍵盤輸入以及開(kāi)關(guān)控制等等,因此所需要I/O口數(shù)量較大。若是選擇8位單片機(jī)[3],僅靠主控芯片本身的I/O口不可行,則必須擴(kuò)展。除系統(tǒng)基本功能的實(shí)現(xiàn)外,決定濕度控制的效果還有賴于系統(tǒng)的處理速度,如數(shù)據(jù)采集速度及處理速度和控制執(zhí)行器的速度等。本設(shè)計(jì)中選用了Atmel公司的AT91SAM7S系列ARM處理器作為主控芯片。主控芯片擬為內(nèi)嵌開(kāi)放源代碼的μc/OS-II操作系統(tǒng),以實(shí)現(xiàn)實(shí)時(shí)快速的雙通道濕度測(cè)量并達(dá)到高效著水。
基于著水機(jī)工藝,控制器的總體結(jié)構(gòu)如圖1所示。其中前道用來(lái)測(cè)量從倉(cāng)庫(kù)中出來(lái)的原麥濕度,后道用來(lái)測(cè)量著水后濕麥的濕度,重力傳感器測(cè)量在絞籠中行進(jìn)小麥的速度,控制輸出模塊則主要是通過(guò)D/A轉(zhuǎn)換器得到模擬電壓信號(hào)調(diào)節(jié)水閥門開(kāi)度。
圖1 系統(tǒng)總體結(jié)構(gòu)框圖
由圖1可知,硬件電路主要由前向通道、單片機(jī)系統(tǒng)、后向通道、數(shù)據(jù)通訊、輸入輸出及電源等組成。主控芯片具有32個(gè)可通過(guò)編程實(shí)現(xiàn)輸出管腳復(fù)用的通用I/O,此外,它擁有256 KB的高速FLASH和64kB的SRAM,F(xiàn)lash存儲(chǔ)器可以通過(guò)JTAG-ICE進(jìn)行編程,或在貼裝前利用編程器并行接口進(jìn)行編程,而它提供的調(diào)試串口可在系統(tǒng)運(yùn)行后重新下載程序,在現(xiàn)場(chǎng)進(jìn)行系統(tǒng)升級(jí)。它的復(fù)位控制器可以管理芯片的上電順序以及整個(gè)系統(tǒng),BOD和看門狗則可以監(jiān)控器件是否正確工作,多層次保證系統(tǒng)的穩(wěn)定運(yùn)行。除了擁有足夠數(shù)量的通用I/O外,ARM芯片還擁有豐富的內(nèi)置外設(shè)資源,剛好可以滿足多個(gè)傳感信號(hào)處理的需求,本設(shè)計(jì)中選擇4個(gè)專用的AD轉(zhuǎn)換輸入pin3-pin6作為微波和流量信號(hào)的輸入引腳。其它如兩線接口TWI(芯片的TWD,TWCK引腳)則用來(lái)擴(kuò)展EEPROM外接AT24C08以保存系統(tǒng)中的重要數(shù)據(jù),傳感器以及內(nèi)存芯片都可以直接與7S256芯片的引腳相連,使用非常方便。另外,片內(nèi)自帶的3個(gè)16位定時(shí)器/計(jì)數(shù)器,擁有8個(gè)優(yōu)先級(jí)、獨(dú)立可屏蔽、最多可處理32個(gè)中斷源的向量中斷控制器等都極大地方便了多任務(wù)的應(yīng)用和處理。
本控制器中與主控芯片密切相關(guān)的硬件部分除上述內(nèi)置A/D以及TWI以外還包括電源以及邏輯電平轉(zhuǎn)換、復(fù)位電路、串口電路以及D/A轉(zhuǎn)換輸出和顯示輸出等部分,以下內(nèi)容針對(duì)其中部分電路設(shè)計(jì)進(jìn)行介紹。
由于ARM芯片的工作電源為3.3V,而大部分外圍芯片工作電源為5V,在整個(gè)系統(tǒng)中就需要考慮兩個(gè)電源以供不同的芯片使用。在此設(shè)計(jì)中,3.3V電源選擇的是SPX1117M3-3.3芯片,它是一個(gè)低功耗正向電壓調(diào)節(jié)器,電路如圖2所示。
圖2 系統(tǒng)3.3V電源設(shè)計(jì)
5V電源則選擇較常見(jiàn)的LM2576產(chǎn)生。另外,考慮到ARM內(nèi)核的3.3V高電平和眾多外圍芯片的TTL邏輯電平信號(hào)不匹配,對(duì)主控芯片的某幾個(gè)專門用作輸出的GPIO引腳附加74LS系列的非門以得到TTL邏輯電平信號(hào)。
AT91SAM7S256具有調(diào)試及測(cè)試能力。JTAG/ICE(In-Circuit Emulator)用于標(biāo)準(zhǔn)的調(diào)試功能,如下載代碼,在程序里實(shí)現(xiàn)單步執(zhí)行等。調(diào)試單元還提供了一個(gè)兩線串口(DTXD和 DRXD),它可以將應(yīng)用程序上載到片內(nèi)SRAM,實(shí)現(xiàn)程序的現(xiàn)場(chǎng)升級(jí)。本模塊除了設(shè)計(jì)有一個(gè)JTAG調(diào)試口外,還將實(shí)現(xiàn)一個(gè)兩線調(diào)試串口的功能。
主控芯片內(nèi)置外設(shè)包含一個(gè)RS232串口和一個(gè)兼容RS485的串口,在本模塊中標(biāo)準(zhǔn)232串口和兼容RS485的串口,分別用來(lái)和上位機(jī)的監(jiān)控軟件以及現(xiàn)場(chǎng)多臺(tái)設(shè) 備進(jìn)行互聯(lián)。主控芯片上使用的引腳分別為:RS232使用串口0,分別為RXD0和TXD0接至串口芯片MAX3232;RS485則使用串口1,分別對(duì)應(yīng)(RXD1、TXD1以及一根控制線PA23接至芯片MAX487。鑒于串口使用普遍,在此不再贅述。
對(duì)于微波信號(hào)和流量信號(hào),本設(shè)計(jì)中直接將傳感器連接到主控芯片內(nèi)置AD的模擬輸入端AD4-AD7四個(gè)引腳,只需在軟件部分依據(jù)如下方式配置便可實(shí)現(xiàn)ADC功能:
此外,對(duì)于溫度信號(hào)的處理,則采用具有冷端補(bǔ)償?shù)膯纹琄型熱電偶放大器溫度處理芯片MAX6675,電路設(shè)計(jì)圖如圖3所示。
圖3 溫度處理芯片MAX6675的使用
由于它將熱電偶測(cè)溫應(yīng)用時(shí)復(fù)雜的線性化、冷端補(bǔ)償及數(shù)字化輸出等問(wèn)題集中在一個(gè)芯片上解決,簡(jiǎn)化了復(fù)雜的軟硬件設(shè)計(jì),減少了溫控中不穩(wěn)定性,提高了測(cè)量準(zhǔn)確性。
圖4 存儲(chǔ)模塊的硬件實(shí)現(xiàn)
為了擴(kuò)充ROM存儲(chǔ)空間,AT91SAM7S系列ARM芯片里類似于I2C總線的兩線接口TWI剛好可以實(shí)現(xiàn)此功能,使用方便又節(jié)省I/O口資源。兩線接口(TWI) 由一根時(shí)鐘線及一根傳輸速度達(dá)400Kb/s的數(shù)據(jù)線組成,以字節(jié)為單位傳輸。該電路如圖4所示。TWD,TWCK引腳,即PA3,PA4通過(guò)一個(gè)上拉電阻分別連接至AT24C08的SCL和SDA引腳即可。
要保證著水機(jī)對(duì)小麥進(jìn)行準(zhǔn)確著水達(dá)到要求濕度,可靠的硬件設(shè)計(jì)是基礎(chǔ),具體任務(wù)則需根據(jù)實(shí)際工藝來(lái)設(shè)計(jì)合理的軟件程序來(lái)完成。本控制器的軟件設(shè)計(jì)主要包括4部分,分別是編寫(xiě)控制器硬件的初始化代碼、移植操作系統(tǒng)、編寫(xiě)底層應(yīng)用程序以及完成上位機(jī)的監(jiān)控軟件設(shè)計(jì)。
這部分代碼完成硬件的初始化工作:1)存儲(chǔ)器重映射;2)設(shè)置并選擇PLLCK作為主機(jī)時(shí)鐘和處理器時(shí)鐘;3)將中斷向量表復(fù)制到系統(tǒng)RAM;4)為系統(tǒng)各個(gè)處理模式分配堆棧;5)將系統(tǒng)控制權(quán)交給C入口程序。
μC/OS-II具有可移植性,用戶可以自己添加所需的各種服務(wù)。在設(shè)計(jì)時(shí)主要代碼都是用ANSI C語(yǔ)言編寫(xiě)的,代碼移植時(shí)只需修改OS_CPU.H、OS_CPU_A.ASM和OS_CPU_C.C三個(gè)文件即可。移植后,先斷開(kāi)數(shù)據(jù)采集板的外圍芯片,僅在主函數(shù)中只添加OSInit()和OSStart()兩個(gè)函數(shù),讓內(nèi)核自己測(cè)試自己,以確保內(nèi)核代碼無(wú)誤。當(dāng)多任務(wù)調(diào)度運(yùn)行成功后再逐步添加應(yīng)用程序。
主控芯片通過(guò)實(shí)時(shí)采集前后兩個(gè)通道的水分(微波)和溫度數(shù)據(jù)并根據(jù)公式
在操作系統(tǒng)移植完畢,逐步往OSInit()中添加外圍芯片的初始化函數(shù)并保證逐步測(cè)試通過(guò)后,根據(jù)工藝要求利用任務(wù)創(chuàng)建函數(shù)OSTaskCreate()創(chuàng)建具體任務(wù),如串口通信程序、模擬量數(shù)據(jù)采集以及AD轉(zhuǎn)換程序、溫度采集程序以及控制輸出函數(shù)等等。
本著水控制器,采用了基于ARM7的AT91SAM7S256處理器,通過(guò)嵌入μc/OS-II操作系統(tǒng),實(shí)現(xiàn)了前后雙通道實(shí)時(shí)快速測(cè)量原麥以及濕麥的濕度并進(jìn)行可靠的著水控制。本設(shè)計(jì)創(chuàng)新點(diǎn)是:充分利用了ARM芯片豐富的內(nèi)置外設(shè)資源,設(shè)計(jì)出結(jié)構(gòu)緊湊、穩(wěn)定、高效運(yùn)行的控制器,通過(guò)多任務(wù)管理和調(diào)度實(shí)現(xiàn)著水機(jī)快速、準(zhǔn)確的著水使小麥達(dá)到最佳入磨濕度。
[1]顧堯臣.小麥粒度硬度水分調(diào)節(jié)和制粉性能[J].糧食與飼料工業(yè),2002,11:1-5.
[2]李永祥,武文斌.國(guó)外面粉加工設(shè)備的發(fā)展[J].輕工機(jī)械,2005,3:104-106.
[3]李蘭忖.全自動(dòng)智能小麥著水機(jī)控制系統(tǒng)研究[J].食品與機(jī)械,2005,22,4:38-40.
[4]蔣麗,郭永剛.基于模糊PID算法的自動(dòng)著水機(jī)研究[J].糧食與飼料工業(yè),2009,9:3-6.
[5]蔣麗,郭永剛,杜太行.自動(dòng)著水機(jī)可控執(zhí)行機(jī)構(gòu)的研究[J].糧油加工,2009,11:84-86.
[6]馬忠梅,等編著.AT91系列ARM核微控制器結(jié)構(gòu)與開(kāi)發(fā)[M].北京:北京航空航天大學(xué)出版社,2003.
[7]吳永忠,程文娟,鄭淑麗,徐海衛(wèi)編著.嵌入式實(shí)時(shí)操作系統(tǒng)μc/OS-II教程[M].西安:西安電子科技大學(xué)出版社,2007.
[8]Atmel 官方網(wǎng)站.AT91SAM7S64 Datasheet,2007.