《基于AVR單片機(jī)的云臺(tái)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于AVR單片機(jī)的云臺(tái)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(4頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、基于AVR單片機(jī)的云臺(tái)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
摘 要: 為了滿(mǎn)足監(jiān)控系統(tǒng)中云臺(tái)高速度以及高精度的要求,利用AVR單片機(jī)設(shè)計(jì)云臺(tái)控制系統(tǒng),并給出系統(tǒng)總體方案。根據(jù)云臺(tái)的功能需求,構(gòu)建以單片機(jī)ATmega128為核心的硬件系統(tǒng),設(shè)計(jì)系統(tǒng)的軟件程序,并通過(guò)RS 485總線實(shí)現(xiàn)串口與PC機(jī)通信,控制云臺(tái)的上下和垂直運(yùn)動(dòng)。通過(guò)對(duì)整個(gè)系統(tǒng)的研究發(fā)現(xiàn),其達(dá)到了預(yù)期的要求,具有良好的運(yùn)行效果。
關(guān)鍵詞: AVR單片機(jī); 云臺(tái)控制; 串行通信; ATmega128
中圖分類(lèi)號(hào): TN41?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)13?0160?03
Abstract:
2、In order to satisfy the requirements of PTZ (pan tilt zoom) high speed and high precision in monitoring system, the PTZ control system was designed with AVR microcontroller, and the overall system scheme was given. According to the function demand of PTZ, the hardware system taking ATmega128 as the
3、core was constructed, the system software program was designed, and the communication between serial port and PC was realized through RS 485 bus to control the horizontal movement and vertical movement of PTZ. The study of the whole system found that the system can achieve the expected requirements,
4、 and has good operating results.
Keywords: AVR microcontroller; PTZ control; serial communication; ATmega128
0 引 言
隨著時(shí)代的發(fā)展,人們的生活水平逐漸提高,對(duì)生活的安全性要求也越來(lái)越高。視頻監(jiān)控系統(tǒng)很好地滿(mǎn)足了人們的需求,能夠有效監(jiān)控不同情況的發(fā)生,提高生產(chǎn)和生活的安全系數(shù)。監(jiān)控系統(tǒng)一般由前端信息采取、傳輸以及控制三部分組成,其中云臺(tái)系統(tǒng)控制著攝像機(jī)不同方位的運(yùn)動(dòng),是監(jiān)控系統(tǒng)的核心部分。
云臺(tái)系統(tǒng)是攝像機(jī)和支撐物的中間部分,能夠通過(guò)自身的運(yùn)動(dòng)控制鏡頭水平和垂
5、直運(yùn)動(dòng),這就擴(kuò)大了監(jiān)控系統(tǒng)的范圍,提高其使用價(jià)值。傳統(tǒng)的云臺(tái)控制主要是人工操作的,這樣對(duì)監(jiān)控人員和地理位置就有很大限制,存在一些監(jiān)控的死角。因此,遠(yuǎn)程自動(dòng)控制的云臺(tái)逐漸成為監(jiān)控的新趨勢(shì)。自動(dòng)的云臺(tái)控制系統(tǒng)能夠根據(jù)控制器發(fā)出的信號(hào)來(lái)定位和監(jiān)控不同的區(qū)域,實(shí)現(xiàn)大范圍的掃描,提高監(jiān)控設(shè)備的自動(dòng)化管理。
目前市場(chǎng)上的云臺(tái)系統(tǒng)能夠?qū)崿F(xiàn):水平方向的360無(wú)限制旋轉(zhuǎn);0~90的垂直方向滑動(dòng);180的自動(dòng)翻轉(zhuǎn);能夠記憶多個(gè)預(yù)置位和軌跡;能夠?qū)崿F(xiàn)用戶(hù)設(shè)定的不同速度和不同角度的監(jiān)視。
綜合上面的性能,本文提出了一種基于AVR單片機(jī)的云臺(tái)控制系統(tǒng)方案,以單片機(jī)ATmega128為核心設(shè)計(jì)了硬件系統(tǒng),并完
6、成了軟件系統(tǒng)編程。經(jīng)過(guò)研究發(fā)現(xiàn),其穩(wěn)定性強(qiáng)、可靠性高,達(dá)到了設(shè)計(jì)的要求。
1 總體方案設(shè)計(jì)
云臺(tái)控制系統(tǒng)的主要功能是擴(kuò)大攝像機(jī)的監(jiān)控范圍和控制鏡頭的參數(shù),其系統(tǒng)的組成框圖如圖1所示。整個(gè)云臺(tái)控制系統(tǒng)利用計(jì)算機(jī)和解碼器進(jìn)行通信,在服務(wù)器和解碼器之間是通過(guò)RS 485串口連接的。所謂的解碼器就是接收計(jì)算機(jī)的控制命令,對(duì)編碼進(jìn)行解析,驅(qū)動(dòng)攝像機(jī)和云臺(tái)的轉(zhuǎn)動(dòng)??蛻?hù)機(jī)與服務(wù)器通過(guò)Internet連接,在客戶(hù)端根據(jù)功能的要求編寫(xiě)代碼,運(yùn)行TCP/IP協(xié)議發(fā)送到服務(wù)器上。
從功能上講,主要分為兩大模塊,分別是鏡頭模塊和運(yùn)動(dòng)模塊。其中鏡頭模塊主要控制鏡頭的參數(shù),運(yùn)動(dòng)模塊主要進(jìn)行上下、左右動(dòng)作
7、控制以及預(yù)置位的控制。另外,還有電源模塊為其他模塊提供電源,云臺(tái)系統(tǒng)功能圖如圖2所示。
2 系統(tǒng)硬件設(shè)計(jì)
云臺(tái)控制的硬件設(shè)計(jì)主要由主控制器設(shè)計(jì)、驅(qū)動(dòng)電路設(shè)計(jì)、通信電路設(shè)計(jì)、電源電路設(shè)計(jì)等組成。
2.1 主控制器設(shè)計(jì)
ATmega128型單片機(jī)是由ATMEL公司研發(fā)的,具有先進(jìn)的RISC結(jié)構(gòu),低功耗的8位處理器,擁有133條指令。在線編程FLASH存儲(chǔ)器可達(dá)到128 KB,4 KB的E2PROM存儲(chǔ)區(qū),可擴(kuò)展的外部存儲(chǔ)空間達(dá)到64 KB。它共有64個(gè)引腳,53個(gè)可以編程的輸入和輸出接口線,其中XTAL1,XTAL2是晶振接入引腳,AREF是A/D轉(zhuǎn)換器的參考電源,PEN是
8、串行下載的編程使能信號(hào)。
2.2 驅(qū)動(dòng)電路設(shè)計(jì)
為了實(shí)現(xiàn)云臺(tái)控制系統(tǒng)性能,并且綜合考慮了功能、結(jié)構(gòu)、體積等因素,選擇了兩相步進(jìn)電機(jī)。步進(jìn)電機(jī)的驅(qū)動(dòng)電路是由ULN2003A完成的,ULN2003A是高壓大電流的集成電路,內(nèi)部主要由NPN達(dá)林頓管構(gòu)成,能夠在5 V的工作環(huán)境下直接和TTL以及CMOS相連。較高的工作電壓和強(qiáng)大的負(fù)載能力使得它常用來(lái)驅(qū)動(dòng)大功率的系統(tǒng)。驅(qū)動(dòng)電路圖如圖3所示。
2.3 通信電路設(shè)計(jì)
由于云臺(tái)系統(tǒng)是遠(yuǎn)程控制的,串口通信的設(shè)計(jì)就顯得很重要。采用RS 485總線,這主要是其通信的速率高、傳輸距離遠(yuǎn)以及抗干擾的能力比較強(qiáng)。PC機(jī)上面配備的是RS 232串口
9、,因此要先實(shí)現(xiàn)電路的轉(zhuǎn)換,如圖4所示,然后是通信接口的設(shè)計(jì)。在設(shè)計(jì)轉(zhuǎn)換電路時(shí),運(yùn)用的是SN75LBC184芯片,該芯片能很好地保證數(shù)據(jù)接口的轉(zhuǎn)換。SN75LBC184是美國(guó)TI公司生產(chǎn)的一種RS 485接口芯片,可在總線上連接64個(gè)收發(fā)器。在上位機(jī)向下發(fā)送數(shù)據(jù)時(shí),對(duì)于分布式系統(tǒng)當(dāng)中的每個(gè)單片機(jī)系統(tǒng)的接收,應(yīng)該遵從一定的數(shù)據(jù)傳輸協(xié)議,以便有效分布上位機(jī)發(fā)送的數(shù)據(jù),單片機(jī)系統(tǒng)能可靠的接收,同時(shí)單片機(jī)系統(tǒng)采集的現(xiàn)場(chǎng)數(shù)據(jù)同樣也可以可靠的被上位機(jī)接收到?!?.4 電源電路設(shè)計(jì)
單片機(jī)需要的是5 V電源,而輸入的是9~12 V電源,所以需要穩(wěn)壓電路把9~12 V穩(wěn)壓到5 V,電源電路設(shè)計(jì)采用7805
10、線性穩(wěn)壓,電容起到濾波的作用,一個(gè)發(fā)光二極管作電源指示燈。
3 系統(tǒng)軟件設(shè)計(jì)
在完成硬件電路后,需要通過(guò)編程實(shí)現(xiàn)云臺(tái)的不同功能。云臺(tái)系統(tǒng)的控制分為主單片機(jī)和從單片機(jī),兩者之間是相互配合的。主從單片機(jī)的功能模塊并不相同。其中主單片機(jī)的功能主要是實(shí)現(xiàn)與鍵盤(pán)、從單片機(jī)的通信以及鏡頭的控制等;從單片機(jī)的功能主要是實(shí)現(xiàn)和主單片機(jī)通信、電機(jī)控制以及不同位置的記錄等。
選用C語(yǔ)言進(jìn)行編程,這主要是由于其自身存在很多優(yōu)點(diǎn)。在編程的時(shí)候,只需要對(duì)存儲(chǔ)結(jié)構(gòu)進(jìn)行設(shè)計(jì)即可。除此之外,軟件程序的設(shè)計(jì)模塊化方便了系統(tǒng)的維護(hù)和調(diào)試。強(qiáng)大的數(shù)據(jù)處理能力和便捷的編程方式為功能的實(shí)現(xiàn)提供了基礎(chǔ)。
整個(gè)云臺(tái)
11、控制系統(tǒng)分為初始化,鍵盤(pán)掃描,串口中斷,延時(shí)程序和步進(jìn)電機(jī)運(yùn)轉(zhuǎn)五部分。主函數(shù)通過(guò)調(diào)用各子程序?qū)崿F(xiàn)鍵盤(pán)掃描,串口中斷程序的調(diào)用實(shí)現(xiàn)了步進(jìn)電機(jī)的控制。系統(tǒng)流程圖如圖5所示。
3.1 初始化模塊和鍵盤(pán)模塊
初始化就是在應(yīng)用系統(tǒng)中對(duì)軟件進(jìn)行初始化設(shè)置,以滿(mǎn)足該系統(tǒng)的正常工作。初始化程序包括兩部分:定時(shí)器初始化和串口初始化。而這些都是通過(guò)設(shè)置相應(yīng)的特殊功能寄存器來(lái)實(shí)現(xiàn)的。定時(shí)器初始化包括定時(shí)/計(jì)數(shù)器選擇、定時(shí)/計(jì)數(shù)器工作方式、計(jì)數(shù)器設(shè)初值、打開(kāi)定時(shí)器;串口初始化包括串口工作方式設(shè)置、打開(kāi)串口、開(kāi)總中斷。
綜合考慮,本設(shè)計(jì)單片機(jī)I/O資源比較豐富,所以采用獨(dú)立式鍵盤(pán)。獨(dú)立式鍵盤(pán)的每一個(gè)按
12、鈕直接與單片機(jī)的P0相連接,當(dāng)其中有一個(gè)按鈕被按下時(shí),P0口的相應(yīng)位就被置為高電平,沒(méi)有按下則為低電平。所以單片機(jī)只需要識(shí)別P0的值就可以做出相應(yīng)的動(dòng)作。
3.2 延時(shí)模塊和串口中斷模塊
當(dāng)單片機(jī)通過(guò)串口向PC機(jī)發(fā)送遠(yuǎn)距離控制信號(hào)時(shí),一旦PC機(jī)發(fā)送控制信號(hào)后,單片機(jī)接收到信息產(chǎn)生中斷,通過(guò)中斷服務(wù)程序控制步進(jìn)電機(jī)動(dòng)作。由于串口中斷具有優(yōu)先級(jí)別高的特點(diǎn),所以不需要擔(dān)心鍵盤(pán)和串口信息發(fā)生沖突。
3.3 步進(jìn)電機(jī)模塊
在控制系統(tǒng)中,步進(jìn)電機(jī)的運(yùn)行方式選用的是單、雙8拍運(yùn)行方式,即按A?AB?B?BC?C?CD?D?DA?A或者相反順序通電。在編程中,將步進(jìn)電機(jī)通電相的正序、反
13、序分別放在兩個(gè)數(shù)組中,在電機(jī)動(dòng)作模塊中使用不同的數(shù)組,就能達(dá)到控制電機(jī)的正轉(zhuǎn)、反轉(zhuǎn),它們分別為moveup,movedown,moveleft,moveright。另外,還在系統(tǒng)中設(shè)置了自動(dòng)運(yùn)行方式,這種方式是通過(guò)循環(huán)調(diào)用moveup,movedown,moveleft和moveright函數(shù)實(shí)現(xiàn)自動(dòng)運(yùn)行的。
4 系統(tǒng)運(yùn)行測(cè)試
本系統(tǒng)使用AVR單片機(jī)控制步進(jìn)電機(jī)的運(yùn)動(dòng),通過(guò)鍵盤(pán)輸入步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)方向、速度。由單片機(jī)發(fā)出相應(yīng)的控制信號(hào),實(shí)時(shí)改變步進(jìn)電機(jī)的運(yùn)動(dòng) 。整個(gè)系統(tǒng)具有線路簡(jiǎn)潔、性能良好、成本低、可靠性高等特點(diǎn),具有一定的實(shí)用性。監(jiān)控畫(huà)面圖如圖6所示。
從圖6的監(jiān)控畫(huà)面可以
14、看到,云臺(tái)系統(tǒng)運(yùn)行穩(wěn)定并且是可靠的,能夠精確地控制云臺(tái)不同方位的轉(zhuǎn)動(dòng)、聚焦以及縮放,達(dá)到了預(yù)期目標(biāo)。
5 結(jié) 語(yǔ)
隨著人們安全意識(shí)的提高,監(jiān)控系統(tǒng)也逐漸發(fā)展起來(lái)。云臺(tái)系統(tǒng)作為監(jiān)控系統(tǒng)的核心部分,具有重要的意義。本文介紹了基于AVR單片機(jī)的云臺(tái)控制系統(tǒng),設(shè)計(jì)了總體的運(yùn)行方案。從主控制器設(shè)計(jì)、驅(qū)動(dòng)電路設(shè)計(jì)、通信電路設(shè)計(jì)、電源電路設(shè)計(jì)等方面闡述硬件設(shè)計(jì),從初始化,鍵盤(pán)掃描,串口中斷,延時(shí)程序和步進(jìn)電機(jī)運(yùn)轉(zhuǎn)等方面描述軟件系統(tǒng),整個(gè)云臺(tái)系統(tǒng)經(jīng)過(guò)測(cè)試,實(shí)現(xiàn)不同角度和距離的拍攝。整個(gè)系統(tǒng)達(dá)到了預(yù)期的設(shè)計(jì)目標(biāo),并具有良好的性能,具有一定的實(shí)用價(jià)值和市場(chǎng)前景。
參考文獻(xiàn)
【1】 耿德根,
15、宋建國(guó),馬潮,等.AVR高速嵌入式單片機(jī)原理與應(yīng)用.北京:北京航空航天大學(xué)出版社,2001.
【2】 尚青青,朱秀昌.高清視頻監(jiān)控中心的設(shè)計(jì)與實(shí)現(xiàn).電視技術(shù),2013,37(11):186?187.
【3】 吳益飛,李勝,蔡驊.基于MSP430單片機(jī)的云臺(tái)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).微計(jì)算機(jī)信息,2006,22(20):90?93.
【4】 張夢(mèng)娜,于鴻洋.基于C/S模式的遠(yuǎn)程云臺(tái)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).電視技術(shù),2014,38(13):145?148.
【5】 侍磊,韓寶玲,羅慶生,等.球形智能機(jī)器人云臺(tái)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).機(jī)械設(shè)計(jì)與制造,2011(3):148?150.
【6】 張剛.基于MSP430單片機(jī)的云臺(tái)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).電子制作,2013(6):29.
【7】 姬廣芹.一種通用的云臺(tái)控制框架設(shè)計(jì)與實(shí)現(xiàn).南京:南京郵電大學(xué),2010.
董蘊(yùn)華,魏輝.云臺(tái)鏡頭控制系統(tǒng)終端解碼器的設(shè)計(jì)與實(shí)現(xiàn).河南機(jī)電高等專(zhuān)科學(xué)校學(xué)報(bào),2005,13(2):54?55.
曹贏,程磊,方康玲.驅(qū)動(dòng)伺服一體化型機(jī)器人云臺(tái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).計(jì)算技術(shù)與自動(dòng)化,2008,27(4):31?34.
王煉.高速球型攝像機(jī)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).南京:南京理工大學(xué),2008.