1 控制面板硬件電路設計
圖1為控制面板硬件電路圖。單片機ATmega32識別每個鍵動作,將矩陣按鍵的每個鍵動作編成碼(0x01~0x90),并將編碼信息輸給PLC。由于編碼信息為0 V,5 V,而PLC能識別的電平信號為0 V,24 V,所以用OC門7407芯片將編碼信息(0 V,5 V)轉換為PLC能識別的信號(0 V,24 V),PLC讀取編碼信息,執(zhí)行剝皮、扭線、裁線等相關動作,并將自動裁線剝皮扭線機工作狀態(tài)信息(0000~1111,每個編碼對應一種工作狀態(tài)信息)上傳到ATmega32。根據(jù)PLC輸出口內部電路結構的特點如圖2所示,PLC輸出口是集電極開路電路,必須外接上拉電阻才能有高電平輸出,否則ATmega32無法檢測到PLC輸出口信息(高、低電平)的變化情況。SSC2AC40液晶在ATmega32控制下顯示編碼控制電路上的人工干預信息、錯誤提示信息、自動裁線剝皮扭線機工作狀態(tài)信息等,完成人機交互工作。
1.1 ATmega32單片機
ATmega32是基于增強型AVR RISC結構的低功耗8位CMOS微控制器,以Atmel公司的高密度非易失性存儲器技術生成,支持片內調試與編程,內核具有豐富的指令集和32個通用工作寄存器。所有寄存器都直接與運算邏輯單元(ALU)相連接,1條指令可以在1個時鐘周期內同時訪問2個獨立的寄存器,因此大大提高了指令操作碼效率,其數(shù)據(jù)吞吐率大約是普通CISC微控制器的10倍。8位RISC CPU與系統(tǒng)內可編程的FLASH集成在1個芯片內,使得ATmega32成為一個功能強大的單片機,為許多嵌入式控制應用提供了靈活而低成本的解決方案.
作為通用數(shù)字I/O使用時,所有AVR I/o端口都具有真正的讀一修改一寫功能。每個端口都有3個I/0存儲器地址(數(shù)據(jù)寄存器PORTx、數(shù)據(jù)方向寄存器DDRx和端口輸入引腳PINx)。PA口定義為輸出,DDRA=0xff,將指令信息、錯誤提示信息、自動裁線剝皮扭線機工作狀態(tài)信息等輸送到SSC2AC40液晶顯示屏數(shù)據(jù)口DB0~DB7,PB口定義為輸入,DDRB=0x00,讀取矩陣鍵盤動態(tài)信息。PC口高3位設為輸出,分別接SSC2AC40液晶顯示屏的RS,R/W,E,輸出正確的時序,使液晶屏有效顯示相關信息。
PD口的PDO~PD2設為輸入,DDRD=DDRD&0x07,接收PLC上傳的自動裁線剝皮扭線機工作狀態(tài)信息等。PD El的PD3~PI)6設為輸出,DDRD=DDRD&0x78,將矩陣鍵盤編碼信息發(fā)送給PLC。
掉電后有關數(shù)據(jù)信息保存在ATmega 32內部的1024 B E2PROM,下次再工作時,無需再另行輸入,直接調出原來的數(shù)據(jù)即可,大大節(jié)省調機時間。ATmega 32內部的1 024 B E2PROM數(shù)據(jù)存儲器是一個獨立的數(shù)據(jù)空間,可以按字節(jié)讀寫,訪問由地址寄存器、數(shù)據(jù)寄存器和控制寄存器決定,至少能擦除100 000次。
avr-libc對E2PROM存儲器讀寫API定義在eeprom.h中,包含形式如下:
這樣就可以實現(xiàn)掉電后設定好的相關參數(shù)得以保存,開機后顯示關機前設定的參數(shù)。
1.2 SSC2AC40液晶顯示器
SSC2AC40是40×2字符點陣式液晶顯示器,邏輯工作電壓4.5~5.5 V,驅動電壓3.O~5.0 V,工作電流(背光除外)2.5 mA,常溫下工作溫度O~50℃/寬溫下工作溫度一20~+70℃,典型的16腳接El、帶有LED邊光/底光,溫度范圍較廣,屬寬溫型,具有工作電壓低,微功耗,顯示信息量大和接El方便應用等優(yōu)點?,F(xiàn)在已被廣泛應用于工業(yè)控制面板顯示和數(shù)字式儀表等領域,成為測試結果顯示和人機交互的重要工具。
SSC2AC40數(shù)據(jù)El DB0~DB7接ATmega32的PA口,并行接收ATmega32發(fā)送的相關數(shù)據(jù)信息,RS,R/W,E分別接ATmega32的PC5~PC7,得到正確的時序,實時顯示有效信息,實現(xiàn)人機交互。
2 軟件設計
圖3為控制面板程序流程圖。開機后顯示上一次關機前的信息,ATmega32讀取矩陣鍵盤,判斷鍵動作信息,執(zhí)行相關參數(shù)設定;設定無誤,按開始鍵,剝線機執(zhí)行進行剝皮、扭線、裁線等工作;工作過程中PLC將信息上傳給ATmega32,通過SSC2AC40顯示。
編程語言以C為主,利用系統(tǒng)體積小,簡單易學,語法著色,多文檔,錯誤跟蹤好,界面友好的GCC的AVR c/c++編譯器和廣州天河雙龍電子有限公司的下載器SLISP作為開發(fā)工具,進行代碼生成、軟件測試和維護,開發(fā)一個操作方便、簡單易用、穩(wěn)定可靠且易于修改擴充的軟件系統(tǒng)。經(jīng)反復調試優(yōu)化,程序在樣機的使用中運行良好,顯示穩(wěn)定可靠,滿足系統(tǒng)要求。程序稍作修改便可移植到其他類型的單片機,有利于產(chǎn)品硬件更換,縮短產(chǎn)品開發(fā)周期。
3 調 試
(1)ATmega32 JTAG接口的TMS,TCK,TDO。TDl分別對應PC口的PC3~PC5;而在該設計中沒有用到JTAG接口,所以配置熔絲時要禁止使用JTAG接口功能,以免JTAG接口的TMS,TCK,TD0,TDI與PC3~PC5沖突。
(2)由于使用機械開關按鍵,在觸點閉合或斷開的瞬間會出現(xiàn)電壓抖動。為保證對鍵動作的準確識別,采用軟件延時緩沖按鍵動作時的抖動,待信號穩(wěn)定后再進行鍵掃描,延遲時間大于10~20 ms即可。
(3)液晶顯示屏置于控制面板上,工作環(huán)境的電磁干擾對顯示屏的工作有一定的影響,故該系統(tǒng)采取的主要抗干擾措施如下:設計LCD模塊的接口時,在VSS和VDD之間接入0.1μF的去耦電容,并接入10 μF或20μF的電源濾波電容,提高電源輸入的穩(wěn)定性。LCD模塊的工作電流僅為幾毫安,但其背光部分所需要的電流遠大于其工作電流,因此需將工作電源和背光電源分別布線。為避免其他可能的干擾源對液晶顯示過程的影響,采用軟件定時復位液晶屏,屏蔽異常顯示。
(4)在編碼信息與PLC之間的電平轉換電路中,PLC的電源與7407輸出端的上拉電源一定要共負極。否則由于參考電壓不同,PLC輸入端獲取的電平不正常,無法有效識別編碼信息。
4 結 語
該文研制的控制面板電路簡潔實用,編程靈活,成本低,抗干擾能力強,性能可靠,在反復測試中矩陣鍵盤工作正常;液晶屏有效屏蔽干擾源,顯示穩(wěn)定可靠,完成人機交互工作,適合用戶需求,具有廣泛的應用前景,對其他工業(yè)設備操作面板的研制有一定的參考價值。