在煉焦生產(chǎn)過程中,多臺作業(yè)機車按照給定的生產(chǎn)計劃,相互配合進行工作,筆者設計了煉焦生產(chǎn)作業(yè)機車自動化控制系統(tǒng)。
為了幫助車上操作人員正確、準時進行操作,防止誤操作或各機車相互配合不當造成事故,煉焦控制系統(tǒng)中設計了一種工業(yè)顯示屏。顯示屏用數(shù)碼管和指示燈顯示:當前本車的生產(chǎn)任務,執(zhí)行任務的時間以及實際時間,當前其它相關作業(yè)機車的位置、工作狀態(tài)以及允許工作條件;顯示屏用語音進行作業(yè)提示、工作狀態(tài)通報、報警。圖1為工作中的顯示屏,數(shù)碼管用L表示,指示燈用D表示。
1 總體電路結(jié)構(gòu)
顯示屏總體電路框圖如圖2。單片機AT89C51作為電路核心,AT89C51串行口接收中央控制室主控計算機發(fā)來串行數(shù)據(jù),由此控制顯示的內(nèi)容和發(fā)出相應的語音。AT89C51內(nèi)部定時器Tl作為波特率發(fā)生器,TO用作定時。為了和車上PLC通信接口一致,顯示屏采用RS一485串行通信標準,用MAX485作為通信接口。
為了防止系統(tǒng)出現(xiàn)死機現(xiàn)象,采用MAX813芯片實現(xiàn)“看門狗”功能。MAX813第6腳WDI接至AT89C51的P2.4,程序中每隔一定的時間執(zhí)行一條CPL,P2.4指令,即不斷地向MAX8l3的WDI腳發(fā)出脈沖信號進行“喂食”,一旦AT89C51出現(xiàn)“死鎖”時,不可能再執(zhí)行CPL P2.4,MAX813的計數(shù)器溢出,控制RESET引腳向AT89C51輸出一個復位信號,使AT89C51復位。
2 顯示電路設計
顯示電路設計采用SPI接口的顯示驅(qū)動電路芯片MCl4489。SPI總線是一個同步串行外設接口,只需3~4根數(shù)據(jù)線和控制線即可實現(xiàn)與具有SPI總線接口功能的I/O器件進行接口,因此,可以簡化電路設計,節(jié)省器件。
2.1 MCl4489介紹
MCl4489是Motorola公司生產(chǎn)的一種高集成度的顯示驅(qū)動器,集鎖存、譯碼、驅(qū)動、掃描、時鐘于一體,采用動態(tài)掃描方式驅(qū)動共陰極LED數(shù)碼管或獨立的LED指示燈,且亮度可程控為全亮或半亮。一片MCl4489可直接驅(qū)動5個顯示單元,1個顯示單元可以是1個數(shù)碼管或4個獨立的LED指示燈。
(1)MCl4489引腳功能
MCl4489其引腳排列如圖3,引腳功能如下。
Bl~B5(BANKl~5):顯示位驅(qū)動端,低電平有效。MCl4489采用B1~B5依次有效的動態(tài)掃描方式驅(qū)動5個顯示單元,B5為最高位驅(qū)動端。
a~h:數(shù)碼管顯示段驅(qū)動端。驅(qū)動數(shù)碼管時,a~g分別驅(qū)動數(shù)碼管的a~g字段,h驅(qū)動小數(shù)點。驅(qū)動指示燈時,a、b、c、d直接控制4個指示燈,e、f、g處于低電平。一片MCl4489最多可控制5個數(shù)碼管或20個獨立的指示燈。
EN:串行輸入使能端,為低電平有效。
DI(DATA IN):串行數(shù)據(jù)輸入端。EN有效期間,串行數(shù)據(jù)在CLOCX上升沿由DI端移入內(nèi)部移位寄存器,高位在前。
D0(DATA OUT):串行數(shù)據(jù)輸出端。在時鐘脈沖CLOCK下降沿移出數(shù)據(jù),可用于芯片間級聯(lián),前級D0接后級DI。
CLOCK:串行數(shù)據(jù)時鐘輸入端。
Rx:外部電流設置電阻,要求Rx≥700Ω,其值決定驅(qū)動電流大小,選擇Rx阻值調(diào)節(jié)顯示亮度。
VDD、VSS:電源端、地線。
(2)MCl4489顯示控制[!--empirenews.page--]
①顯示譯碼方式
MCl4489有3種顯示譯碼方式,如表1。
②“配置字”和“顯示字”
輸入到MCl4489的數(shù)據(jù)分為兩類:“配置字”和“顯示字”,一片MCl4489需要1字節(jié)的“配置字”,3字節(jié)的“顯示字”。MCl4489的“配置字”、“顯示字”分別在不同的有效期間輸入。
“配置字”確定顯示代碼的譯碼方式,見表2。
“顯示字”是各顯示單元的顯示代碼,并控制小數(shù)點位置和顯示亮度。3字節(jié)共有24位D23~DO。D23~D20是控制用高半字節(jié),D23是控制顯示亮度,D23=0,控制顯示為半亮狀態(tài),D23=1,控制顯示為全亮狀態(tài);D22~D20是控制小數(shù)點的位置,見表3。D19~D16、D15~D12、D11~D8、D7~D4、D3~DO分別是B5、B4、B3、B2、B1的顯示代碼。
[!--empirenews.page--]
圖l下面的數(shù)碼管、指示燈L13~L24、D11~D35顯示由4片MCl4489驅(qū)動,級聯(lián)構(gòu)成第二串顯示電路。第二串顯示電路每一片MCl4489的B1~B3驅(qū)動3個數(shù)碼管,B4驅(qū)動驅(qū)動4個LED指示燈,B5驅(qū)動2個LED指示燈。4片MCl4489的配置字都是00110001B,即Bl~B3采取16進制譯碼,B4、B5不譯碼。根據(jù)MCl4489輸入規(guī)定,4片級聯(lián)需要輸入12字節(jié)的配置字,輸入14字節(jié)的顯示字,輸入格式見表4。
AT89C5l采用軟件模擬MCl4489串行接口時序進行接口,P2.0、P2.1、P2.2作為第一串顯示電路的EN、CLOCK、DI,P2.5、P2.6、P2.7作為第二串顯示電路的麗、CLOCK、DI。
[!--empirenews.page--]
第一串顯示電路輸入程序如下。
3 語音電路設計
顯示屏中需要講的話在VP880系統(tǒng)下進行錄音、并分割成語音段存放在存儲器中。語音的采樣頻率較高能產(chǎn)生更好的音質(zhì),但造成容量增大,一般采樣頻率取32kps速率。顯示屏應用VPl606語音處理芯片設計語音電路。
3.1 語音處理芯片V1606
VPl606是可用于多段語音再生的語音處理芯片。當與外圍語音存儲器相連后,可根據(jù)相應的控制信號再生多達64段的語音信息。64段語音數(shù)字信號分別存儲在存儲器中4個堆,在每個堆能存放16段語音。在外部控制信號作用下,VPl606從存儲器中取出相應的語音信號,經(jīng)解調(diào)譯碼后,輸出模擬語音信號。
VPl606為48腳DIP封裝,其各引腳的有關功能及說明如下。
AO~A19:地址總線,輸出。
DO~D7:數(shù)據(jù)總線,輸入。
ANG、ANG:模擬語音信號差分輸出端,與放大器連接。
ANGD:模擬語音信號反饋輸入端。
EVN:包絡信號輸入端。此引腳連接一個反饋電阻到INT引腳。
INT:綜合輸出端,連接一個外部RC電路。
INA~IND:二進制段代碼輸入端,INA為低位。
INE、INF:二進制堆代碼輸入端,INE為低位。
SE、SF:二進制堆代碼輸出端,與EPROMi奎接,將
INE、INF輸入的堆代碼輸出到存儲器,選擇相應的堆。
I/O:控制輸入/忙輸出端,低電平有效,作為輸入是控制信號,當段代碼、堆代碼輸入到INA~INF后,在此引腳輸入一個低電平脈沖才能觸發(fā)相應語音段;作為輸出是“忙”信號,在語音播放時,此引腳變?yōu)榈碗娖捷敵?,表示正在播放?br /> OSC1、OSC2:內(nèi)部振蕩器連接外部RC元件引腳,如果采用外部時鐘脈沖,則外部時鐘脈沖從OSC2引腳輸入。
RESET:復位輸入端,低電平有效。
VDD、VDS、VAS:電源端、數(shù)字地、模擬地。
3.2 語音電路及工作原理
設計的語音電路如圖6所示。電路中,R1、R2、R3分別為3KΩ、630KΩ、240Ω;VRl為200KΩ;Cl、C2均為1uF。VPl606的A18~A19懸空未用。從LM324輸出的模擬語音信號,還要經(jīng)過低通濾波電路進行濾波,再經(jīng)功率放大電路后送揚聲器輸出。調(diào)節(jié)VRl,可以調(diào)節(jié)語速。
[!--empirenews.page--]
電路中采用14Mbit E2PROM一29C040作為存儲器件。需要講的24句話分割成24個語音段,按2個堆存放在29C020中。AT89C5l的P1用于控制語音,當需要控制講話時,先從P1.7偵測是否有“忙”信號,正在播放時,試圖控制發(fā)出另一段語音是徒勞的;當無“忙”信號時,P1.0~P1.3輸出段代碼,P1.4輸出堆代碼,P1.6輸出低電平脈沖控制講話開始。如果存儲器件改為8Mbit的29F080,則VP606的SF連接29F080的A19,可控制4個堆64段語音。
4 顯示屏相關軟件設計思想
4.1 自檢程序
為了檢查顯示屏硬件電路是否正常,設計了自檢程序。每次上電復位后先運行自檢程序,各位數(shù)碼管按順序顯示全O、全1、……全9各1秒鐘;各指示燈在數(shù)碼管顯示奇數(shù)時滅,顯示偶數(shù)時亮。并按語音編號順序發(fā)出所有的語音。
4.2 顯示、語音處理
顯示屏是根據(jù)接收的串行數(shù)據(jù),控制顯示的內(nèi)容和發(fā)出相應的語音。中央控制室主控計算機在通信報文中給出了:①數(shù)碼管顯示的二進制數(shù)據(jù);②28位“l(fā)”/“0”表示28個LED指示燈亮滅,D5~D10的亮滅不由通信報文給出;③語音編號。
顯示屏接收到正確報文后,根據(jù)接收報文更新顯示數(shù)據(jù)區(qū),并設置某段語音標志。軟件中每一次循環(huán)顯示,將顯示數(shù)據(jù)區(qū)數(shù)碼管顯示數(shù)據(jù)化為BCD碼,連同指示燈數(shù)據(jù),按MCl4489顯示字格式更新第一串、第二串顯示緩沖區(qū)。
作業(yè)機車在檢修期間常開出工作區(qū)域,顯示屏與主控計算機通信中斷。利用AT89C51內(nèi)部定時器,可以解決實際時間保持不變的問題。在顯示數(shù)據(jù)區(qū)的實際時間的時字節(jié)、分字節(jié)基礎上,增設秒字節(jié)、0.1秒字節(jié),AT89C51內(nèi)部定時器T0每隔100mS中斷一次,在中斷程序中,0.1秒字節(jié)數(shù)據(jù)+1,根據(jù)0.1秒字節(jié)數(shù)據(jù)更新秒字節(jié)數(shù)據(jù),并依次更新分字節(jié)數(shù)據(jù)、時字節(jié)數(shù)據(jù),保證通信中斷時仍顯示正確的實際時間。正常通信時,每正確接收一次通信報文,改寫時字節(jié)、分字節(jié)數(shù)據(jù)的同時,對秒字節(jié)清0。根據(jù)0.1秒字節(jié)數(shù)據(jù),AT89C51控制D5~D10每隔一秒鐘閃爍一次。
約定語音編號為0表示不講話,若接收通信報文中語音編號發(fā)生了變化,且不為0,則設置該編號語音標志,顯然,重復相同的語音,必須中間插入0編號。軟件中,按照優(yōu)先級別查詢語音標志,在出現(xiàn)多個語音標志時,優(yōu)先發(fā)出重要的語音。
包括工業(yè)顯示屏的煉焦生產(chǎn)機車自動化控制系統(tǒng)已經(jīng)多個工業(yè)現(xiàn)場使用,實現(xiàn)了計算機對煉焦生產(chǎn)過程作業(yè)機車集中管理控制,達到了作業(yè)機車全程自動定位。