宋揚(yáng) 朱江
摘要:該文對視頻遙控小車進(jìn)行了深入的研究,設(shè)計出了一套基于STC12C5A60S2單片機(jī)的視頻遙控小車系統(tǒng)。為了能夠遠(yuǎn)程控制小車的運(yùn)行狀態(tài),采用無線視頻發(fā)射與接收模塊將小車在現(xiàn)場采集到的視頻信號顯示在PC機(jī)上,以便控制室的人能夠觀察到小車現(xiàn)場的實(shí)時情況,利用無線數(shù)據(jù)傳輸模塊完成主控體對小車的控制及小車運(yùn)行狀態(tài)的反饋,最終實(shí)現(xiàn)了小車的遠(yuǎn)程實(shí)時控制。
關(guān)鍵詞:單片機(jī);遠(yuǎn)程控制;無線視頻發(fā)射與接收;無線數(shù)據(jù)傳輸
中圖分類號:TP23 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)01-0180-05
隨著電子技術(shù)的不斷發(fā)展,無線遙控技術(shù)已經(jīng)得到廣泛的應(yīng)用。無線遙控由于可以進(jìn)行遠(yuǎn)程控制,使工作在危險環(huán)境中的操作人員獲得更多的安全距離,而且抗干擾性強(qiáng)[1],已經(jīng)在很多領(lǐng)域得到了應(yīng)用。該文介紹了一套遙控小車系統(tǒng),根據(jù)小車在現(xiàn)場采集到的實(shí)時視頻信號,遠(yuǎn)程實(shí)時控制小車的運(yùn)行狀態(tài),該系統(tǒng)可以應(yīng)用在軍事、機(jī)器人和航空航天等領(lǐng)域。
1 系統(tǒng)設(shè)計方案
系統(tǒng)主要包括小車、主控體和上位機(jī)三部分,其中小車部分的結(jié)構(gòu)圖如圖1所示。
小車部分由主控芯片STC12C5A60S2單片機(jī)[2]、無線數(shù)據(jù)傳輸模塊、主電機(jī)驅(qū)動模塊、舵機(jī)轉(zhuǎn)向控制模塊、無線視頻發(fā)射模塊及模擬攝像頭構(gòu)成。單片機(jī)作為小車部分的核心,控制無線數(shù)據(jù)傳輸模塊、主電機(jī)驅(qū)動模塊和舵機(jī)轉(zhuǎn)向控制模塊;主電機(jī)驅(qū)動模塊用于控制小車后輪的前進(jìn)與后退;無線數(shù)據(jù)傳輸模塊用于小車與主控體之單的通信;舵機(jī)轉(zhuǎn)向控制模塊用于小車前輪的左右轉(zhuǎn)向;無線視頻發(fā)射模塊將模擬攝像頭將其采集到的模擬圖像視頻信號發(fā)送給上位機(jī)的無線視頻接收模塊。
主控體部分的結(jié)構(gòu)圖如圖2。主控體部分由主控芯片STC12C5A60S2單片機(jī)、無線數(shù)據(jù)傳輸模塊、速度與轉(zhuǎn)向控制模塊和顯示模塊構(gòu)成。主控單片機(jī)對無線數(shù)據(jù)傳輸模塊、速度與轉(zhuǎn)向控制模塊和顯示模塊進(jìn)行控制;無線數(shù)據(jù)傳輸模塊用于完成主控體與小車間的數(shù)據(jù)通信;速度與轉(zhuǎn)向控制模塊用于輸入對小車速度與轉(zhuǎn)向的控制信號;顯示模塊用于顯示小車當(dāng)前的運(yùn)行狀況。
上位機(jī)部分的結(jié)構(gòu)圖如圖3。上位機(jī)部分由無線視頻接收模塊、USB視頻采集模塊和PC機(jī)構(gòu)成。無線視頻接收模塊用于接收小車中的無線視頻發(fā)射模塊所發(fā)射過來的模擬視頻信號;USB視頻采集模塊用于視頻圖像的拍攝與記錄;PC機(jī)中實(shí)時顯示出視頻信息以便控制中心及時調(diào)整小車的行駛路線。
2 系統(tǒng)的硬件電路
2.1 硬件電路主要器件的選擇
1) STC12C5A60S2單片機(jī):該單片機(jī)內(nèi)部具有8通道10位A/D,主要用于將兩個電位器的模擬值轉(zhuǎn)換為0~255的數(shù)字量,并通過無線數(shù)據(jù)傳輸模塊傳輸?shù)叫≤?,同時具有2路PWM,用于控制小車的前后輪電機(jī)驅(qū)動。
2) RF-905無線數(shù)據(jù)傳輸模塊[3]:RF905單片無線收發(fā)器工作在433/868/915MHZ的ISM頻段由一個完全集成的頻率調(diào)制器、一個帶解調(diào)器的接收器、一個功率放大器、一個晶體振蕩器和一個調(diào)節(jié)器組成。其供電電壓為+3.3V,根據(jù)實(shí)際需要,需要將5V轉(zhuǎn)換成3.3V,其轉(zhuǎn)換電路如圖4。
3) 舵機(jī)驅(qū)動模塊[4]:采用國產(chǎn)仿制S3010型舵機(jī)作為小車前輪的方向控制部件。舵機(jī)有電源、地及脈沖三條控制線,其中電源線與地線能夠?yàn)橹绷黢R達(dá)及控制線路提供所需的能源;控制線可直接與單片機(jī)的PWM輸出口進(jìn)行連接。
4) 直流電機(jī)驅(qū)動模塊[5]:使用ST公司的L298N驅(qū)動芯片作為直流電機(jī)驅(qū)動模塊的主要芯片,L298N是ST公司生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動芯片。
5) 無線視頻發(fā)射模塊:本模塊屬于2400~2483.5MHZ頻段內(nèi)的無線電通信設(shè)備,采用低功耗設(shè)計,模塊體積更?。徊捎脝伟逍⌒头庋b,方便用戶小型化應(yīng)用。本模塊的使用只需要連接電源,左右聲道音頻線,視頻線。其應(yīng)用電路及引腳功能圖如圖5。
6) 無線視頻接收模塊:無線視頻接收模塊RX2188工作在2400~2480MHZISM頻段內(nèi)的FM音視頻接收解調(diào)模塊。本模塊的應(yīng)用只需簡單連接電源,單/雙音頻線,視頻線,接上天線就可接收音樂、圖像信號。應(yīng)用電路圖和引腳圖如圖6。
7) 電位器:轉(zhuǎn)向電位器的每一個位置對應(yīng)小車上舵機(jī)的一個轉(zhuǎn)角,可以實(shí)現(xiàn)“方向盤”的功能。速度電位器的每個位置對應(yīng)智能車的車速,可以實(shí)現(xiàn)“油門”的功能。
2.2 系統(tǒng)的硬件電路設(shè)計
系統(tǒng)的硬件分為小車硬件電路、主控體的硬件電路和上位機(jī)硬件電路三部分。其中小車的硬件電路和主控體的硬件電路分別如圖7、圖8所示。
1) 小車硬件電路:無線數(shù)據(jù)傳輸模塊將接收到主控體發(fā)送過來的小車行駛命令送到單片機(jī)內(nèi)部,單片機(jī)根據(jù)主控體發(fā)送過來的命令配置相關(guān)寄存器,使引腳輸出占空比不同的PWM信號[6],控制小車后輪的驅(qū)動電機(jī)和前輪的轉(zhuǎn)向舵機(jī),從而使小車按主控體發(fā)送過來的命令行駛。
2) 主控體硬件電路:兩個電位器分別作為速度控制和轉(zhuǎn)向控制,通過具有A/D轉(zhuǎn)換功能的單片機(jī)引腳,將模擬輸入量在單片機(jī)內(nèi)部轉(zhuǎn)換成數(shù)字量,單片機(jī)對轉(zhuǎn)換成數(shù)字量的輸入的控制信號進(jìn)行處理,然后將其通過無線數(shù)據(jù)傳輸模塊發(fā)送給小車,同時,無線數(shù)據(jù)傳輸模塊時時接收小車發(fā)送過來的小車運(yùn)行狀態(tài)信號。小車前進(jìn),單片機(jī)點(diǎn)亮LED1;后退,點(diǎn)亮LED2;小車左轉(zhuǎn),單片機(jī)點(diǎn)亮LED3;小車右轉(zhuǎn),點(diǎn)亮LED4。
3) 上位機(jī)硬件電路:上位機(jī)硬件電路非常簡單,只需要提供電源,將USB視頻采集卡的USB與PC機(jī)的USB串口相連接,并且無線視頻接收模塊的視頻和音頻線與USB視頻卡相應(yīng)的信號線相連接即可。只要為小車上的無線視頻發(fā)送模塊和模擬攝像頭提供電源即可。
3 系統(tǒng)軟件的設(shè)計
系統(tǒng)的軟件包括小車部分的軟件設(shè)計和主控體部分的軟件設(shè)計。小車與主控體的軟件流程圖分別如圖9,圖10。
小車的軟件設(shè)計:上電后,通過無線數(shù)據(jù)傳輸模塊向主控體反饋小車的當(dāng)前運(yùn)行狀態(tài),然后判斷是否有主控體發(fā)送過來的控制命令,如果有,則小車按照接收到的控制命令進(jìn)行行駛,否則繼續(xù)開始反饋小車的當(dāng)前的運(yùn)行狀態(tài)。
主控體的軟件設(shè)計:根據(jù)PC機(jī)顯示出的現(xiàn)場實(shí)時視頻信號對小車的運(yùn)行狀態(tài)進(jìn)行調(diào)整控制,向小車發(fā)送控制命令,接下來再判斷是否接收到小車發(fā)送過來的小車運(yùn)行狀態(tài)反饋信號,如果有,則顯示小車的相應(yīng)運(yùn)行狀態(tài),否則繼續(xù)根據(jù)上位機(jī)中的視頻向小車發(fā)送相應(yīng)的控制命令。
系統(tǒng)的整體軟件包括無線數(shù)據(jù)傳輸模塊的程序、A/D轉(zhuǎn)換程序、電機(jī)驅(qū)動程序和指示燈顯示程序。下面簡單地介紹一下小車和主控體均具有的無線數(shù)據(jù)傳輸程序的一部分。
void SetTxMode(void) //發(fā)送模式初始化//
{TXEN=1; //發(fā)射模式
TRX_CE=0; //這里設(shè)置TRX_CE=0,在TxPacket中將TRX_CE=1//
nrf905_Delay(1); // nrf905_Delay for mode change(>=650us)
}
void SetRxMode(void) //接收模式初始化//
{TXEN=0; //接收模式
TRX_CE=1; //這里設(shè)置TRX_CE=1,在TxPacket中將TRX_CE=0//
nrf905_Delay(1); // nrf905_Delay for mode change(>=650us)
}
4 結(jié)論
本文設(shè)計出一套基于STC12系列單片機(jī)的視頻遙控小車系統(tǒng)方案,搭建出了系統(tǒng)的硬件平臺,并實(shí)現(xiàn)系統(tǒng)軟件的功能。系統(tǒng)一共分為小車部分、主控體部分和上位機(jī)部分,三部分相互配合,最終實(shí)現(xiàn)了小車的遠(yuǎn)程視頻控制。該系統(tǒng)簡易、可控性好、可擴(kuò)展性強(qiáng)并且價格低,因此在更多的領(lǐng)域會有廣闊的發(fā)展前景。
參考文獻(xiàn):
[1] 任政諫,蘆利斌.利用單片機(jī)實(shí)現(xiàn)的無線遙控技術(shù)[J].山西電子技術(shù),2008(6):23-24.
[2] 邊樹海,馬斌,王長濤,韓中華,孟慶斌.基于單片機(jī)的數(shù)字圖像采集系統(tǒng)設(shè)計[J].現(xiàn)代建筑電氣,2011(11):1-4.
[3] 肖坤,張崇巍,鄭昌瑜.基于MSP430和nRF905的無線系統(tǒng)設(shè)計[J].儀器儀表用戶,2007,14(5):27-29.
[4] 李世民,王新平.電動舵機(jī)控制系統(tǒng)設(shè)計[J].機(jī)械與電子,2011(11):60-63.
[5] 任志敏.基于AVR單片機(jī)的舵機(jī)驅(qū)動電路研究[J].自動化技術(shù)與應(yīng)用,2008,27(6):85-87.
[6] 王妍瑋,于惠力,崔龍磊.基于12C5A的無線引導(dǎo)車設(shè)計[J].林業(yè)機(jī)械與木工設(shè)備,2011,39(2):47-48.