自動加料機控制系統的設計
摘 要:本文介紹了基于AT89C51的自動加料機控制系統的硬件和軟件設計,并給出了AT24C01A和MAX813L等芯片接口方法,分析了控制系統的抗干擾措施。
關鍵詞:AT89C51單片機;自動加料機;控制系統
自動加料機的工作原理
本文設計的由單片機控制的自動加料系統是與料斗式干燥機配套的加料系統。根據加料工藝要求,其工作原理是:先將真空管關閉,啟動電機,用低真空氣流將塑料樹脂粒子送入真空管,電機停轉,再將粒子排入料斗,如此循環。在設計的控制系統中,可用一個電機控制兩個加料生產線,由方向閥切換。兩個生產線既可單獨運行,也可同時運行。假如兩者同時運行,當一生產線輸送結束后,判斷到另一個生產線排料已經結束,那么,電機不停轉而方向閥換向,從而為另一個生產線送料。這樣可以發揮控制系統和電機的效率,從而實現供料自動化。
控制系統的控制器由單片機89C51和擴展電路組成。單片機控制繼電器,繼電器控制交流接觸器,又由接觸器控制電機等執行機構的運動。本控制系統可以根據送料工藝的需要,設置兩條生產線的輸送、排料、滿料、空料等參數值,也可裝載系統前次工藝參數值。
硬件電路設計
硬件框圖如圖1所示。由于AT89C51內含4KB容量,因此本設計中不需要外擴ROM。硬件電路主要有LED顯示電路、鍵盤接收電路、繼電器控制電路、EEPROM外部存儲器擴展電路AT24C01A,以及看門狗電路MAX813L等組成。
外部存儲器擴展電路
自動加料機存在兩條生產線的輸送、排料、滿料、空料,共8個設置的重要數據需要讀/寫,并且能夠提供掉電保護。如果擴展外部RAM,則需要外加電源維護,這就增加了電路設計的復雜性。為此采用了Atmel公司的具有掉電保護功能的24C01A。24C01A串行EEPROM遵守I2C總線標準,容量為128B。本系統24C01A的CLK接89C51的RXD,SDA 接TXD端。
本設計按24C01A頁寫入方式幀格式編程寫入數據,先發送啟動位,接著是器件地址(#0A0H)、應答位、EEPROM存儲單元首地址、應答位,然后再發送數據。每兩個數據位之間發一個應答位,最后發送停止位。讀出數據時,格式和寫入類似,器件地址是#0A1H。
LED顯示電路
加料機在運行時要顯示輸送、排料、滿料、空料時間,由時間切換鍵和標志哪條生產線的發光二極管表示。LED顯示電路采用74LS377驅動器和MC14511B譯碼器控制LED數碼管。74LS377的片選端接74LS138的輸出Y0。兩個LED顯示一條生產線一個工作過程的秒數。兩片MC14511B把P0口的高四位和低四位譯碼成十進制數控制LED顯示。電路如圖2所示。
8255控制電路
自動加料系統有8個按鍵:啟動兩條生產線的“啟動1”鍵和“啟動2”鍵、分秒選擇鍵、時間設置加、時間設置減、顯示生產線狀態的切換鍵、時間設置(SET)鍵、時間切換鍵。另外,還有8個用于顯示控制狀態的發光二極管。由于單片機的并行口有限,本系統采用8255A擴展并行口。
8255A是通用可編程并行接口芯片,包含三個8位并行口PA、PB、PC和一個控制寄存器,并具有三種操作方式。本系統PA接8個按鍵,PB接8個發光二極管, /CS接74LS138的輸出腳Y1。采用方式0基本I/O方式,PA輸入、PB輸出,此時8255A的控制字為98H。
繼電器控制電路
自動加料機把塑料粒子送到一個真空管,在輸送時真空管閉合,排料時真空管需要打開,將粒子送到排料漏斗。本設計共需4個繼電器控制交流接觸器,經考慮采用4123無極12V直流控制24V的交流繼電器,并利用光耦合器件P521和MCU隔開。電路如圖3(只畫出一個繼電器控制電路)所示。
89C51的P1初始值為0FFH,所以加一個74LS04反相器使得繼電器初始不產生閉合。圖3中MC1413是無源驅動器,IN4007組成繼電器的續流二極管。MC1413的COM腳接外部模擬地,P521的腳2接數字地。
看門狗MAX813L電路
自動加料機工作在生產現場,要通過繼電器控制交流接觸器,由于干擾較大,可能出現死機現象。為此采用了MAXIM公司的MAX813L芯片,它能在單片機上電時可靠復位,下電時能防止程序跑飛而導致24C01A中數據被修改。MAX813L的WDI端接89C51的P2.0端,RST端接89C51的RESET端,程序設計時,規定時間間隔1.2s定時中斷0中P1.7發出脈沖信號。如果外部干擾使單片機進入死循環,P1.7無脈沖發出,這時RST端產生復位信號復位89C51。另外,本系統也加了手動復位電路,以防止MAX813L由于某種原因不能可靠復位。
系統的抗干擾及可靠性
單片機系統供電線路是干擾的主要來源,電源采用隔離變壓器接入電網,隔離變壓器在初級和次級之間加了一層屏蔽層。交流接觸器是繼電器控制的,在緊靠交流接觸器的輸入端口并上一個電阻和電容串聯的電路濾去高次諧波。每個集成電路芯片的電源和地之間要并上0.1mF的陶瓷電容。在輸入輸出通道上要加光藕P521。除了在繼電器通道上外,兩個滿料信號也要經過P521光藕才送至INT0、INT1。另外,數字地和模擬地要分開,數字地線要粗而短。
軟件抗干擾方面,本系統采用指令冗余和軟件陷阱。當CPU受到干擾后,會把一些操作數當作指令碼來執行,引起程序混亂。由于當PC指針飛到單字節指令上時,會自動步入正軌。因此我們在程序中人為地在RET、RETI、LCALL、LJMP、AJMP、DJZE、JZ、CJNE等處插入一些單字節指令(NOP)。并在繼電器開閉指令SET、CLR前插入兩條NOP指令。同時,當程序飛到ROM中未使用的非程序區時,非程序區要能捕獲PC指針并強行拉到處理故障程序中。所以非程序區要每隔一段設置一個軟件陷阱。軟件陷阱由三條指令構成:
NOP
NOP
LJMP ERROR
ERROR處理過程放在0030H開始處。
軟件設計
程序設計包括主程序、中斷程序、故障處理程序、AT24C01A發送接收數據程序等。我們用到兩個定時器中斷:定時器0每隔1.2s使P1.7產生脈沖信號;定時器1產生1s的定時,使LED顯示遞減。故障處理程序使PC指針跳回到原來起動的相應程序段;AT24C01A發送接收程序按照時序要求和讀寫幀格式;主程序完成內部RAM數據區初始化、8255初始化,并根據按鍵信號跳轉到相應程序段。按鍵“啟動1”的程序框圖如圖4所示,其余7個按鍵對應的程序框圖從略。
結語
本文設計的基于AT89C51的自動加料系統沒有外擴ROM和RAM,程序直接放在AT89C51內部閃存中。設定數據通過串行口存入AT24C01A內,另外,系統從硬件和軟件方面采取了抗干擾措施。本控制系統已成功運用于工廠的實際生產中。■
參考文獻
1 何立民. 單片機應用技術選編. 北京航空航天大學出版社, 1999. 8
2 陳光東. 單片微型計算機原理與接口技術(第二版). 華中理工大學出版社,1999. 4
3 蔣敏蘭、胡生清. AT24C01A串行EEPROM及其在灌膠機中的應用. 國外電子測量技術. 2002.5
評論