單片機(jī)為核心接近360°全景式攝像機(jī)設(shè)計(jì)方案
0 引言
采用單片機(jī)為核心設(shè)計(jì)的云臺(tái)控制器在監(jiān)控場(chǎng)合能實(shí)現(xiàn)控制攝像機(jī)進(jìn)行大范圍、寬角度的移動(dòng),以使lcd液晶屏圖攝像機(jī)能夠達(dá)到接近360°全景式攝像,且其在經(jīng)濟(jì)性、靈活性、擴(kuò)展性和可維護(hù)性等方面都具有獨(dú)特的優(yōu)勢(shì)。
1 系統(tǒng)總體結(jié)構(gòu)
系統(tǒng)由以下幾部分構(gòu)成:①單片機(jī):設(shè)計(jì)的核心,在軟件的配合下實(shí)現(xiàn)對(duì)鍵盤(pán)所輸入信息的識(shí)別,根據(jù)輸入信息向云臺(tái)中的步進(jìn)電機(jī)發(fā)出指令,使其實(shí)現(xiàn)正/ 反轉(zhuǎn)、速度控制、程序控制等功能,并將步進(jìn)電機(jī)的轉(zhuǎn)速通過(guò)數(shù)碼管顯示出來(lái);②步進(jìn)電機(jī)及驅(qū)動(dòng):負(fù)責(zé)云臺(tái)系統(tǒng)在豎直和水平兩個(gè)方向上的轉(zhuǎn)動(dòng),是系統(tǒng)的執(zhí)行部件;③鍵盤(pán):外部信息的輸入器件,是控制人員指揮云臺(tái)系統(tǒng)工作的重要組成部分; ④顯示器件:將步進(jìn)電機(jī)的實(shí)時(shí)轉(zhuǎn)速顯示出來(lái),以便lcd液晶屏圖控制人員根據(jù)轉(zhuǎn)速來(lái)確定對(duì)云臺(tái)的控制策略。
2 系統(tǒng)硬件設(shè)計(jì)
硬件電路按系統(tǒng)功能劃分為步進(jìn)電機(jī)及其驅(qū)動(dòng)模塊、單片機(jī)及其外圍電路、鍵盤(pán)及顯示電路共三部分,系統(tǒng)硬件功能框圖如圖一所示。
2.1 步進(jìn)電機(jī)控制及驅(qū)動(dòng)模塊的選擇
驅(qū)動(dòng)器接收到脈沖信號(hào)之后,驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度,它的旋轉(zhuǎn)是以固定的角度一步步運(yùn)行的??赏ㄟ^(guò)控制脈沖個(gè)數(shù)來(lái)控制角位移量,達(dá)到準(zhǔn)確定位的目的;同時(shí)可通過(guò)控制脈沖頻率來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,達(dá)到調(diào)速的目的。所選步進(jìn)電機(jī)為兩臺(tái)混合式步進(jìn)電機(jī)57BYG250C,具有兩相/ 四相運(yùn)行能力,四拍工作時(shí)步距角為1.8°,八拍為0.9°。步進(jìn)電機(jī)驅(qū)動(dòng)模塊型號(hào)為HB202A,具備4/8 拍轉(zhuǎn)換控制信號(hào)、脫機(jī)(FREE)控制信號(hào)、輸入信號(hào)光電隔離等功能。設(shè)計(jì)中增加了一個(gè)脫機(jī)控制鍵,在出現(xiàn)故障或調(diào)試時(shí)將兩臺(tái)電機(jī)置于脫機(jī)狀態(tài),可手工調(diào)節(jié)步進(jìn)電機(jī)。脫機(jī)控制鍵直接與單片機(jī)INT0 相接,設(shè)INT0 為最高優(yōu)先級(jí),以便在故障時(shí)能迅速實(shí)現(xiàn)脫機(jī)控制。由于不經(jīng)過(guò)8279 而直接接在單片機(jī)上,則必須設(shè)置鍵盤(pán)去抖動(dòng)電路,以免使單片機(jī)產(chǎn)生誤操作。
2.2 鍵盤(pán)及顯示電路設(shè)計(jì)
lcd液晶屏圖鍵盤(pán)及顯示電路采用INTEL8279 來(lái)實(shí)現(xiàn)。鍵盤(pán)采用N鍵循回方式,顯示為8 位左端送入。8279 外接2*8 鍵盤(pán)和八位顯示器,采用編碼掃描方式。8279 的IRQ 和單片機(jī)的INT1相接,只要有鍵按下,就會(huì)申請(qǐng)中斷。當(dāng)單片機(jī)外接12M 晶振時(shí),ALE 為2M,而其與CLK 相連,所以其分頻命令字為34H。通過(guò)8279 所擴(kuò)展的按鍵共16 個(gè),8 個(gè)負(fù)責(zé)兩個(gè)方向上的步進(jìn)電機(jī)的正反轉(zhuǎn),8 個(gè)是功能鍵,分別負(fù)責(zé)步進(jìn)電機(jī)的加減速、程序控制、步進(jìn)電機(jī)的限位開(kāi)關(guān)。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)的軟件主要由初始化程序、鍵盤(pán)程序、速度控制程序、轉(zhuǎn)速檢測(cè)及顯示程序組成。除初始化程序外,其余程序均采用中斷工作方式,提高了CPU 的利用率。
3.1 系統(tǒng)初始化程序設(shè)計(jì)
先對(duì)單片機(jī)各中斷源進(jìn)行初始化,使用五個(gè)中斷源:INT0、INT1、T0、T1、T2,INT0、T0、T1 為高優(yōu)先級(jí),INT1、T2 為低優(yōu)先級(jí)。INT0 申請(qǐng)中斷,則程序立即使步進(jìn)電機(jī)進(jìn)入脫機(jī)控制程序,步進(jìn)電機(jī)不再受單片機(jī)的控制,且是電平觸發(fā),單片機(jī)始終執(zhí)行脫機(jī)程序,直至外部觸發(fā)信號(hào)由操作人員手工撤銷(xiāo),系統(tǒng)才恢復(fù)正常工作。后設(shè)置T0、T1、T2 的工作方式,并寫(xiě)入計(jì)數(shù)處置,開(kāi)啟這幾個(gè)中斷源的允許位,打開(kāi)CPU 中斷。
3.2 鍵盤(pán)程序的設(shè)計(jì)
鍵盤(pán)鍵按下后產(chǎn)生中斷申請(qǐng),lcd液晶屏圖單片機(jī)響應(yīng)中斷后,開(kāi)始執(zhí)行中斷程序。從8279 內(nèi)部將產(chǎn)生的鍵值讀出,并根據(jù)鍵值來(lái)執(zhí)行相應(yīng)的程序。CPU 接收到該信息后,并不立即動(dòng)作。為保證步進(jìn)電機(jī)速度控制的穩(wěn)定性,先保存該鍵值所對(duì)應(yīng)的命令,在T0/T1 到達(dá)所設(shè)定的計(jì)數(shù)值之后,按一定的速度需要輸出脈沖時(shí),再將該信息送至步進(jìn)電機(jī)。
3.3 步進(jìn)電機(jī)的速度控制軟件設(shè)計(jì)
改變驅(qū)動(dòng)模塊CP 信號(hào)的頻率來(lái)改變步進(jìn)電機(jī)的轉(zhuǎn)速,改變CP 信號(hào)的頻率可以通過(guò)定時(shí)/ 計(jì)數(shù)器來(lái)實(shí)現(xiàn)。先給定時(shí)/ 計(jì)數(shù)器裝載初置,后使其開(kāi)始運(yùn)行,到達(dá)規(guī)定的時(shí)間后執(zhí)行中斷程序,此時(shí)可將產(chǎn)生CP 信號(hào)的程序放在此中斷程序中,就達(dá)到了改變步進(jìn)電機(jī)轉(zhuǎn)速的目的。S52 內(nèi)部的T0 和T1 分別對(duì)應(yīng)了兩個(gè)步進(jìn)電機(jī)的速度控制,其工作過(guò)程如圖二所示。
3.4 轉(zhuǎn)速檢測(cè)及顯示軟件設(shè)計(jì)
采用定時(shí)計(jì)數(shù)法,在一定的時(shí)間內(nèi)對(duì)單片機(jī)發(fā)送給步進(jìn)電機(jī)的步進(jìn)脈沖進(jìn)行計(jì)數(shù)。設(shè)單片機(jī)每50ms 檢測(cè)一次向步進(jìn)電機(jī)所發(fā)出脈沖的個(gè)數(shù)N,N 與轉(zhuǎn)速之間有如下關(guān)系:
只要將檢測(cè)到的脈沖數(shù)N 乘以3,就可以得到每分鐘的轉(zhuǎn)速。50ms 的定時(shí)由S52 內(nèi)部的第三個(gè)定時(shí)/ 計(jì)數(shù)器T2 來(lái)實(shí)現(xiàn)。
4 結(jié)束語(yǔ)
單片機(jī)構(gòu)成的云臺(tái)控制器不僅具有控制精度高、控制方式靈活、程序編制簡(jiǎn)單、功耗低、可靠性高等特點(diǎn),且某些新型單片機(jī)更具有在線編程功能,不需把lcd液晶屏圖單片機(jī)從工作環(huán)境中剝離出來(lái)即可進(jìn)行程序更新,方便了軟件的維護(hù),并可根據(jù)需要,由預(yù)先編制的程序自動(dòng)對(duì)兩方向上的lcd液晶屏圖驅(qū)動(dòng)電機(jī)進(jìn)行協(xié)同控制。