吳雪琴
江蘇省聯合職業技術學院無錫交通分院,江蘇 無錫 214151
小麥作為世界三大糧食作物之一,工業化生產中加工面粉的小麥多來自糧庫儲糧,小麥在儲藏中的水分含量必須控制在儲藏安全水分(一般為11%~12%) ,此水分值低于要求的入磨小麥水分值(現代制粉工藝要求入磨小麥水分在14%~17%),故需對小麥進行實時在線著水。小麥著水控制的好壞將直接影響產品質量和企業效益[1]。
小麥著水即水分調節,是利用水、熱作用和一定的潤麥時間,使小麥的水分重新調整,達到適宜的入磨水分,提高出粉率,改善粉色,獲得更好的工藝效果。
以微波測量法為例,系統需要分別測量微波、溫度信號以及小麥的流速信號等,然后結合該批次小麥的硬度(品質)以及著水設備的具體情況(如容重等)進行相應的偏差補償,最后根據相應的控制算法得出所需著水量,實時進行檢測并精確加水。
目前布勒公司等一些國外公司研制的著水系統主要面向大型、精加工的面粉廠[2],其昂貴的價格讓眾多中小型面粉廠無力承受。國內一些科研人員也潛心研究[3-5],但控制器設計均以8位單片機為主控芯片。故,本文擬設計基于內置外設資源豐富、處理速度更快的ARM芯片來設計著水控制器。
基于對著水工藝的簡單說明,系統需要采集的數據量、控制量不少,另外還需顯示系統運行狀態、鍵盤輸入以及開關控制等等,因此所需要I/O口數量較大。若是選擇8位單片機[3],僅靠主控芯片本身的I/O口不可行,則必須擴展。除系統基本功能的實現外,決定濕度控制的效果還有賴于系統的處理速度,如數據采集速度及處理速度和控制執行器的速度等。本設計中選用了Atmel公司的AT91SAM7S系列ARM處理器作為主控芯片。主控芯片擬為內嵌開放源代碼的μc/OS-II操作系統,以實現實時快速的雙通道濕度測量并達到高效著水。
基于著水機工藝,控制器的總體結構如圖1所示。其中前道用來測量從倉庫中出來的原麥濕度,后道用來測量著水后濕麥的濕度,重力傳感器測量在絞籠中行進小麥的速度,控制輸出模塊則主要是通過D/A轉換器得到模擬電壓信號調節水閥門開度。

圖1 系統總體結構框圖
由圖1可知,硬件電路主要由前向通道、單片機系統、后向通道、數據通訊、輸入輸出及電源等組成。主控芯片具有32個可通過編程實現輸出管腳復用的通用I/O,此外,它擁有256 KB的高速FLASH和64kB的SRAM,Flash存儲器可以通過JTAG-ICE進行編程,或在貼裝前利用編程器并行接口進行編程,而它提供的調試串口可在系統運行后重新下載程序,在現場進行系統升級。它的復位控制器可以管理芯片的上電順序以及整個系統,BOD和看門狗則可以監控器件是否正確工作,多層次保證系統的穩定運行。除了擁有足夠數量的通用I/O外,ARM芯片還擁有豐富的內置外設資源,剛好可以滿足多個傳感信號處理的需求,本設計中選擇4個專用的AD轉換輸入pin3-pin6作為微波和流量信號的輸入引腳。其它如兩線接口TWI(芯片的TWD,TWCK引腳)則用來擴展EEPROM外接AT24C08以保存系統中的重要數據,傳感器以及內存芯片都可以直接與7S256芯片的引腳相連,使用非常方便。另外,片內自帶的3個16位定時器/計數器,擁有8個優先級、獨立可屏蔽、最多可處理32個中斷源的向量中斷控制器等都極大地方便了多任務的應用和處理。
本控制器中與主控芯片密切相關的硬件部分除上述內置A/D以及TWI以外還包括電源以及邏輯電平轉換、復位電路、串口電路以及D/A轉換輸出和顯示輸出等部分,以下內容針對其中部分電路設計進行介紹。
由于ARM芯片的工作電源為3.3V,而大部分外圍芯片工作電源為5V,在整個系統中就需要考慮兩個電源以供不同的芯片使用。在此設計中,3.3V電源選擇的是SPX1117M3-3.3芯片,它是一個低功耗正向電壓調節器,電路如圖2所示。

圖2 系統3.3V電源設計
5V電源則選擇較常見的LM2576產生。另外,考慮到ARM內核的3.3V高電平和眾多外圍芯片的TTL邏輯電平信號不匹配,對主控芯片的某幾個專門用作輸出的GPIO引腳附加74LS系列的非門以得到TTL邏輯電平信號。
AT91SAM7S256具有調試及測試能力。JTAG/ICE(In-Circuit Emulator)用于標準的調試功能,如下載代碼,在程序里實現單步執行等。調試單元還提供了一個兩線串口(DTXD和 DRXD),它可以將應用程序上載到片內SRAM,實現程序的現場升級。本模塊除了設計有一個JTAG調試口外,還將實現一個兩線調試串口的功能。
主控芯片內置外設包含一個RS232串口和一個兼容RS485的串口,在本模塊中標準232串口和兼容RS485的串口,分別用來和上位機的監控軟件以及現場多臺設 備進行互聯。主控芯片上使用的引腳分別為:RS232使用串口0,分別為RXD0和TXD0接至串口芯片MAX3232;RS485則使用串口1,分別對應(RXD1、TXD1以及一根控制線PA23接至芯片MAX487。鑒于串口使用普遍,在此不再贅述。
對于微波信號和流量信號,本設計中直接將傳感器連接到主控芯片內置AD的模擬輸入端AD4-AD7四個引腳,只需在軟件部分依據如下方式配置便可實現ADC功能:

此外,對于溫度信號的處理,則采用具有冷端補償的單片K型熱電偶放大器溫度處理芯片MAX6675,電路設計圖如圖3所示。

圖3 溫度處理芯片MAX6675的使用
由于它將熱電偶測溫應用時復雜的線性化、冷端補償及數字化輸出等問題集中在一個芯片上解決,簡化了復雜的軟硬件設計,減少了溫控中不穩定性,提高了測量準確性。

圖4 存儲模塊的硬件實現
為了擴充ROM存儲空間,AT91SAM7S系列ARM芯片里類似于I2C總線的兩線接口TWI剛好可以實現此功能,使用方便又節省I/O口資源。兩線接口(TWI) 由一根時鐘線及一根傳輸速度達400Kb/s的數據線組成,以字節為單位傳輸。該電路如圖4所示。TWD,TWCK引腳,即PA3,PA4通過一個上拉電阻分別連接至AT24C08的SCL和SDA引腳即可。
要保證著水機對小麥進行準確著水達到要求濕度,可靠的硬件設計是基礎,具體任務則需根據實際工藝來設計合理的軟件程序來完成。本控制器的軟件設計主要包括4部分,分別是編寫控制器硬件的初始化代碼、移植操作系統、編寫底層應用程序以及完成上位機的監控軟件設計。
這部分代碼完成硬件的初始化工作:1)存儲器重映射;2)設置并選擇PLLCK作為主機時鐘和處理器時鐘;3)將中斷向量表復制到系統RAM;4)為系統各個處理模式分配堆棧;5)將系統控制權交給C入口程序。
μC/OS-II具有可移植性,用戶可以自己添加所需的各種服務。在設計時主要代碼都是用ANSI C語言編寫的,代碼移植時只需修改OS_CPU.H、OS_CPU_A.ASM和OS_CPU_C.C三個文件即可。移植后,先斷開數據采集板的外圍芯片,僅在主函數中只添加OSInit()和OSStart()兩個函數,讓內核自己測試自己,以確保內核代碼無誤。當多任務調度運行成功后再逐步添加應用程序。
主控芯片通過實時采集前后兩個通道的水分(微波)和溫度數據并根據公式

在操作系統移植完畢,逐步往OSInit()中添加外圍芯片的初始化函數并保證逐步測試通過后,根據工藝要求利用任務創建函數OSTaskCreate()創建具體任務,如串口通信程序、模擬量數據采集以及AD轉換程序、溫度采集程序以及控制輸出函數等等。
本著水控制器,采用了基于ARM7的AT91SAM7S256處理器,通過嵌入μc/OS-II操作系統,實現了前后雙通道實時快速測量原麥以及濕麥的濕度并進行可靠的著水控制。本設計創新點是:充分利用了ARM芯片豐富的內置外設資源,設計出結構緊湊、穩定、高效運行的控制器,通過多任務管理和調度實現著水機快速、準確的著水使小麥達到最佳入磨濕度。
[1]顧堯臣.小麥粒度硬度水分調節和制粉性能[J].糧食與飼料工業,2002,11:1-5.
[2]李永祥,武文斌.國外面粉加工設備的發展[J].輕工機械,2005,3:104-106.
[3]李蘭忖.全自動智能小麥著水機控制系統研究[J].食品與機械,2005,22,4:38-40.
[4]蔣麗,郭永剛.基于模糊PID算法的自動著水機研究[J].糧食與飼料工業,2009,9:3-6.
[5]蔣麗,郭永剛,杜太行.自動著水機可控執行機構的研究[J].糧油加工,2009,11:84-86.
[6]馬忠梅,等編著.AT91系列ARM核微控制器結構與開發[M].北京:北京航空航天大學出版社,2003.
[7]吳永忠,程文娟,鄭淑麗,徐海衛編著.嵌入式實時操作系統μc/OS-II教程[M].西安:西安電子科技大學出版社,2007.
[8]Atmel 官方網站.AT91SAM7S64 Datasheet,2007.