吳信衡 雷才淼
筆者所在分中心負(fù)責(zé)村村通工程宜州點(diǎn)的發(fā)射設(shè)備維護(hù)以來,就發(fā)現(xiàn)機(jī)房設(shè)備存在一定的技術(shù)缺陷。一是吉兆“3+1”300W調(diào)頻發(fā)射機(jī)系統(tǒng),當(dāng)主機(jī)發(fā)生故障時,不能自動倒換備機(jī)播出。二是吉兆的1KW電視發(fā)射機(jī)不能通過自身軟件實(shí)現(xiàn)自動開/關(guān)機(jī)。三是機(jī)房的排氣風(fēng)扇不能根據(jù)機(jī)房溫度的變化而啟動或關(guān)閉。筆者針對以上問題,設(shè)計了一套多功能自動控制系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了以下功能。
1.在播出時間內(nèi),供電正常,并且備機(jī)空閑的情況下,當(dāng)300W調(diào)頻主機(jī)發(fā)生故障時,自動完成倒換備機(jī)的一系列動作。包括關(guān)閉故障主機(jī),啟動備機(jī),音頻切換,改頻率,升功率。倒備機(jī)后,單片機(jī)自動記下備機(jī)已經(jīng)啟動。沒有按下復(fù)位鍵的情況下,單片機(jī)不會再執(zhí)行倒備機(jī)程序。
2.通過吉兆1KW電視發(fā)射機(jī)本控開/關(guān)機(jī)按鍵,在規(guī)定的時間正常啟動/關(guān)閉發(fā)射機(jī)。取消了原來依靠一個繼電器控制電源的通斷來實(shí)現(xiàn)發(fā)射機(jī)的啟動或關(guān)閉的做法。
3.使機(jī)房的排氣風(fēng)扇能根據(jù)機(jī)房溫度的變化而啟動或關(guān)閉。為了避免風(fēng)扇在某個溫度點(diǎn)頻繁地啟動或關(guān)閉,筆者采用溫度范圍自動控制的方法控制機(jī)房的排氣風(fēng)扇。
圖1
系統(tǒng)設(shè)計的總框圖如圖1所示。
(一)溫度檢測與時間獲取電路
溫度檢測電路主要由單片機(jī)與數(shù)字溫度傳感器DS18B20通訊完成。DS18B20為獨(dú)特的單線接口方式,在與單片機(jī)連接時僅需要一條口線即可實(shí)現(xiàn)單片機(jī)與DS18B20的雙向通訊。測試溫度范圍為-55℃~125℃。實(shí)際電路中,DS18B20的數(shù)據(jù)線與單片機(jī)的P1.3口連接,中間加4.7K的上拉電阻。時間獲取電路主要由單片機(jī)與DS1302通訊完成。DS1302采用三線接口與單片機(jī)進(jìn)行雙向通訊,具有主電源/備電源雙電源引腳,同時提供了對備電源進(jìn)行涓細(xì)電流充電的能力。它可以對年、月、日、周日、時、分、秒進(jìn)行計時,且具有閏年補(bǔ)償?shù)榷喾N功能。實(shí)際電路中,DS1302的RST、I/O、SCLK引腳分別接單片機(jī)的P1.2、P1.1、P1.0口。連線間加10K的上拉電阻。
圖2
(二)功率檢測與音頻檢測電路
功率檢測電路主要由LM339組成的3個運(yùn)放比較器組成。3個運(yùn)放比較器的“+”輸入端分別接到3臺調(diào)頻主機(jī)的功率檢測板上,輸出端分別接到單片機(jī)的P1.4~P1.6口。當(dāng)某臺300W調(diào)頻主機(jī)無功率輸出時,其功率檢測板會有一個電壓信號輸出到對應(yīng)的比較器的“+”端,比較器就會有一個高電平輸出。單片機(jī)則循環(huán)檢測P1.4、P1.5、P1.6口的電平的情況,當(dāng)檢測到某個口為高電平時,單片機(jī)就知道了對應(yīng)的300W調(diào)頻主機(jī)出現(xiàn)故障了。音頻檢測電路主要是檢測音頻切換器的哪路信號送到備機(jī),從而讓單片機(jī)能準(zhǔn)確地把故障主機(jī)的那路信號送到備機(jī)。音頻切換器有4個通道(其中一個沒使用),對應(yīng)4個指示燈。哪路信號送到備機(jī),對應(yīng)的指示燈亮,指示燈正極就會有2.3V~2.6V的電壓。針對這個特點(diǎn),筆者設(shè)計的音頻檢測電路主要由LM339組成的3個運(yùn)放比較器組成。3個運(yùn)放的“+”端分別接到音頻切換器的3個指示燈的正極。3個比較器的輸出端分別接到單片機(jī)的P0.5~P0.7口。當(dāng)某通道的信號送到備機(jī)時,對應(yīng)的指示燈亮,從而使得對應(yīng)的比較器有一個高電平輸出。單片機(jī)則循環(huán)檢測P0.5~P0.7口的電平的情況,當(dāng)檢測到某個口為高電平時,單片機(jī)就知道了哪路信號送到備機(jī)了。
(三)數(shù)據(jù)顯示電路
數(shù)據(jù)顯示電路采用動態(tài)掃描顯示方式,主要完成當(dāng)前時間,當(dāng)前環(huán)境溫度,當(dāng)前備機(jī)頻率3個數(shù)據(jù)的顯示。3個數(shù)據(jù)循環(huán)顯示,每個數(shù)據(jù)顯示3秒鐘后,顯示下個數(shù)據(jù)。由于單片機(jī)的IO口有限。為了節(jié)約單片機(jī)IO口,只用了單片機(jī)的5個IO口來完成6位共陰極LED數(shù)碼管的驅(qū)動和數(shù)據(jù)顯示。數(shù)據(jù)顯示電路框圖如圖2所示。
數(shù)據(jù)顯示電路主要由一片CD4511、一片CD4017、一片ULN2803H和6只數(shù)碼管組成。由于采用動態(tài)掃描,不需要CD4511對數(shù)據(jù)進(jìn)行鎖存,所以芯片CD4511的第5腳,即數(shù)據(jù)鎖存輸入使能端常接地。芯片CD4017其實(shí)是一個10進(jìn)制計數(shù)器。當(dāng)有連續(xù)的脈沖輸出到CD4017的14引腳,對應(yīng)的輸出端依次輸出高電平。實(shí)際電路中將其引腳15(進(jìn)位輸出端)接到引腳5(Y6輸出端),使CD4017組成一個6進(jìn)制計數(shù)器。單片機(jī)從P0.1~P0.4口輸出BCD碼到譯碼芯片CD4511的數(shù)據(jù)輸入口,連接數(shù)據(jù)線加10K上拉電阻。CD4511將BCD碼譯成七段碼后送到LED數(shù)碼管。單片機(jī)P0.0接到CD4017的14引腳,中間加10K上拉電阻,當(dāng)P0.0口輸出連續(xù)的脈沖時,對應(yīng)的數(shù)碼管依次被選中,被選中的數(shù)碼管就能顯示要顯示的數(shù)據(jù)了。6只數(shù)碼管循環(huán)顯示數(shù)據(jù)如表1所示。
(四)驅(qū)動控制電路
驅(qū)動控制電路主要由單片機(jī)通過達(dá)林頓管ULN2803控制繼電器的斷開/閉合。主要執(zhí)行300W調(diào)頻系統(tǒng)倒換備機(jī)的一系列動作,執(zhí)行1KW吉兆電視發(fā)射機(jī)的開/關(guān)機(jī)動作,執(zhí)行機(jī)房排氣扇的開/關(guān)動作。
1.300 W調(diào)頻系統(tǒng)倒換備機(jī)
當(dāng)在播出時間,供電正常,并且備機(jī)空閑,沒有啟動的情況下,單片機(jī)檢測到某臺調(diào)頻主機(jī)沒有功率輸出時,則啟動倒備機(jī)程序。如果不在播出時間,或者供電不正常,或者備機(jī)已經(jīng)啟動的情況下,單片機(jī)是不會執(zhí)行倒備機(jī)程序的。單片機(jī)要執(zhí)行倒備機(jī)程序,首先通過繼電器J8~J10,將故障主機(jī)關(guān)閉。再通過繼電器J11啟動備機(jī)。備機(jī)啟動的默認(rèn)播出頻率為96.5MHz,功率為0W。然后通過音頻切換器將故障主機(jī)的信號送到備機(jī)。音頻切換器上有一個4選1音頻切換器輸出通道選擇按鍵,按下一次,切換器則將下一路信號送到備機(jī),4通道循環(huán)被選中。筆者將繼電器J4并接到該按鍵上。單片機(jī)檢測到當(dāng)前送到備機(jī)的信號不是故障主機(jī)的信號,則使繼電器動作一次,直到檢測到送到備機(jī)的信號是故障主機(jī)的信號為止。
表1
最后是修改備機(jī)的發(fā)射頻率和功率。備機(jī)板面上有幾個按鍵:頻率上調(diào)鍵,頻率下調(diào)鍵,功率上調(diào)鍵,功率下調(diào)鍵和確認(rèn)鍵。按一次頻率上調(diào)/下調(diào)鍵,發(fā)射機(jī)工作頻率提高/降低10KHz。按一次功率上調(diào)/下調(diào)鍵,發(fā)射機(jī)工作功率提高/降低約10W。按確定鍵是保存修改后的數(shù)據(jù)。筆者分別在這些按鍵上并接繼電器J12~J15,通過這些繼電器把備機(jī)工作頻率改到故障主機(jī)的工作頻率,并把備機(jī)功率提升到約280W播出。
2.吉兆1KW電視發(fā)射機(jī)的正常開/關(guān)
吉兆1KW電視的板面上有本控的開/關(guān)機(jī)鍵。筆者分別用繼電器J2、J3分別并接到其本控的開/關(guān)機(jī)鍵上。當(dāng)單片機(jī)檢測到開機(jī)時間時,則使繼電器J2動作,使發(fā)射機(jī)啟動。當(dāng)發(fā)射機(jī)檢測到關(guān)機(jī)時間時,則使繼電器J3動作,使發(fā)射機(jī)關(guān)閉。
3.機(jī)房排氣扇的溫度范圍控制
機(jī)房的排氣風(fēng)扇有3個。一個是排風(fēng)到油機(jī)房的供暖風(fēng)扇,主要是在氣溫冷的時候,將發(fā)射機(jī)產(chǎn)生的暖氣供到油機(jī)房,避免油機(jī)因?yàn)闅鉁剡^冷而無法啟動的問題;一個是機(jī)房的排氣風(fēng)扇,主要是將發(fā)射機(jī)房的熱氣排到機(jī)房外面;一個是300調(diào)頻發(fā)射機(jī)的直吹風(fēng)扇,主要是用在氣溫過高時,啟動來直接吹調(diào)頻發(fā)射機(jī),可以起到很好的降溫效果。單片機(jī)則根據(jù)檢測到的環(huán)境溫度,來啟動或者關(guān)閉這3臺機(jī)房的風(fēng)扇。這3臺風(fēng)扇的啟動或關(guān)閉的溫度值如表2所示。
(五)鍵盤檢測與外電檢測電路
圖3
鍵盤檢測電路主要是用來修改系統(tǒng)時間用的。主要由時間上調(diào)鍵、時間下調(diào)鍵、確定鍵組成。當(dāng)按下一次確定鍵,數(shù)據(jù)不再循環(huán)顯示,只顯示時間。此時可以通過上調(diào)/下調(diào)鍵來修改時間分的值,再按一次確定鍵,則可以通過上調(diào)/下調(diào)鍵來修改時間小時的值,再按一次確定鍵,則退出時間的修改程序,數(shù)據(jù)繼續(xù)循環(huán)顯示。當(dāng)沒有按下確定鍵,而按上調(diào)或下調(diào)鍵,可以使得數(shù)據(jù)不再循環(huán)顯示,而只顯現(xiàn)某一數(shù)據(jù)。顯示什么數(shù)據(jù),主要看按上調(diào)或下調(diào)鍵的時候,顯示的是什么數(shù)據(jù)。再按一次上調(diào)或下調(diào)鍵,則數(shù)據(jù)繼續(xù)循環(huán)顯示。外電檢測電路主要為單片機(jī)提供調(diào)頻發(fā)射機(jī)的供電情況。當(dāng)調(diào)頻發(fā)射機(jī)啟動時,繼電器線包得電,其觸點(diǎn)閉合,單片機(jī)P2.5口電平被拉低,單片機(jī)就知道了調(diào)頻發(fā)射機(jī)供電正常。
表2
在軟件開發(fā)過程中,源程序采用匯編語言編寫,可通過51單片機(jī)集成開發(fā)環(huán)境KeiluVision進(jìn)行開發(fā)和編譯,編譯成的*.hex格式文件,可用編程器將其燒錄到單片機(jī)STC89S52中。主程序流程圖如圖3所示。
主程序主要是對數(shù)字溫度傳感器DS18B20和時間芯片DS1302進(jìn)行讀操作,循環(huán)檢測單片機(jī)的P2.4~P2.7,P1.4~P1.6,P0.5~P0.7口。然后根據(jù)檢測的結(jié)果,從單片機(jī)的P1.7,P3.0~P3.7,P2.0~P2.4輸出控制信號。定時器中斷服務(wù)程序主要完成數(shù)據(jù)的循環(huán)顯示。限于篇幅,源程序代碼不在本文中列出。
該系統(tǒng)經(jīng)過一段時間的運(yùn)行,能夠很好地實(shí)現(xiàn)前面所述的所有功能,運(yùn)行穩(wěn)定,而整個系統(tǒng)的造價低廉,實(shí)用性高。有些功能通用性強(qiáng),比如機(jī)房風(fēng)機(jī)根據(jù)機(jī)房溫度的變化而自動關(guān)閉或啟動,在節(jié)約用電方面,能起到很好的效果,便于推廣和應(yīng)用。
1. 吳金戌、沈慶陽、郭庭吉:《8051單片機(jī)實(shí)踐與應(yīng)用》[M],北京:清華大學(xué)出版社,2004年。