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