于PC104與C8051F120的水下機(jī)器人環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為了實(shí)現(xiàn)對(duì)水下機(jī)器人周圍環(huán)境的監(jiān)測(cè),提出了一種基于PC104與C8051F120的水下機(jī)器人環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)方案,并完成系統(tǒng)的軟硬件設(shè)計(jì)。該系統(tǒng)的硬件部分主要是采集下潛深度傳感器、姿態(tài)傳感器、溫濕度傳感器的數(shù)據(jù),軟件部分采用用Visual C++6.0設(shè)計(jì)了監(jiān)控界面。該系統(tǒng)能夠?qū)崟r(shí)顯示視頻和各傳感器數(shù)據(jù)。實(shí)際測(cè)試表明,該系統(tǒng)具有穩(wěn)定性高、準(zhǔn)確性高的特點(diǎn),達(dá)到了設(shè)計(jì)要求。
水下機(jī)器人具有重大需求和巨大的市場(chǎng)價(jià)值,如:用于泵站流道和葉輪葉片、壩體、橋墩、排沙口、攔污柵、病險(xiǎn)水庫(kù)等的水下檢查和評(píng)估。用于市政飲用水系統(tǒng)中水管、水庫(kù)檢查;用于城市排污/排澇管道、下水道檢查;用于科學(xué)研究、教學(xué)目的的水環(huán)境、水下生物的觀測(cè)、研究和教學(xué);用于海洋考察、冰下觀察;還有,隨著當(dāng)前全球化的安全局勢(shì)的惡化,水下機(jī)器人可以廣泛應(yīng)用于安全部門,如:檢查大壩、橋墩上是否安裝爆炸物,船側(cè)、船底是否有炸彈等。這些功能得實(shí)現(xiàn)都是基于水下機(jī)器人對(duì)于周圍環(huán)境的監(jiān)測(cè),所以采用一種高效、實(shí)時(shí)、簡(jiǎn)單的系統(tǒng)來(lái)完成環(huán)境監(jiān)測(cè)的功能是十分必要的。在做了多種系統(tǒng)的比較后,提出并設(shè)計(jì)了基于PC104與C8051F120的水下機(jī)器人環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)方案,該系統(tǒng)能夠完成對(duì)環(huán)境的監(jiān)測(cè)功能。
1 總體設(shè)計(jì)
圖1是系統(tǒng)總體結(jié)構(gòu)圖,岸上由微型計(jì)算機(jī)組成,實(shí)時(shí)顯示視頻圖像和各傳感器數(shù)據(jù);水下由PC104、C8051F120、視頻采集卡、模擬攝像頭、溫濕度傳感器、姿態(tài)傳感器、下潛深度傳感器組成。PC104通過(guò)視頻采集卡采集模擬攝像頭的信號(hào),C8051F120采集各傳感器的數(shù)據(jù),通過(guò)串口傳輸給PC104,PC104通過(guò)臍纜把視頻信號(hào)和各傳感器數(shù)據(jù)送給岸上的微型計(jì)算機(jī),微型計(jì)算機(jī)進(jìn)行實(shí)時(shí)地顯示。
2 硬件設(shè)計(jì)
C8051F120是完全集成的混合信號(hào)片上系統(tǒng)型MCU芯片,全速、非侵入式的在系統(tǒng)調(diào)試接口,高速、流水線結(jié)構(gòu)的8051兼容的CIP-51內(nèi)核,真正8位500 ksps的ADC,兩個(gè)12位DAC,具有可編程數(shù)據(jù)更新方式,帶PGA和8通道模擬多路開關(guān),2周期的16 x 16乘法和累加引擎,128 KK或64KB可在系統(tǒng)編程的FLASH存儲(chǔ)器,8448(8K+256)字節(jié)的片內(nèi)RAM,可尋址64KB地址空間的外部數(shù)據(jù)存儲(chǔ)器接口,硬件實(shí)現(xiàn)的SPI、SMBus /I2C和兩個(gè)UART串行接口,5個(gè)通用的16位定時(shí)器,具有6個(gè)捕捉/比較模塊的可編程計(jì)數(shù)器/定時(shí)器陣列,片內(nèi)看門狗定時(shí)器、VDD監(jiān)視器和溫度傳感器。
在本設(shè)計(jì)中PC104采用的是Em104P—i2909,溫濕度傳感器采用的是DHT11單總線傳感器,姿態(tài)傳感器采用的是SCA100T—D01。下潛深度傳感器采用GB-2100A投入式壓力傳感器。電路使用了芯片內(nèi)部自帶的12位AD轉(zhuǎn)換器、多路模擬選擇開關(guān)和基準(zhǔn)電壓電路,使電路變得更簡(jiǎn)潔實(shí)用,并外接22.118 4 MHz晶振,經(jīng)過(guò)9/4倍頻得到50 MHz。由于溫濕度傳感器和姿態(tài)傳感器都只需接在I/O口,下潛深度傳感器接在模擬量輸入口,故之介紹電路板的電源電路和串口電路。圖2是電源電路原理圖,圖3是串口電路原理圖。
3 軟件設(shè)計(jì)
3.1 系統(tǒng)流程圖
單片機(jī)程序軟件采用的是Keil uVision4,并使用C語(yǔ)言編寫程序。程序采用模塊化的設(shè)計(jì),分為AD轉(zhuǎn)換程序、定時(shí)器中斷程序、串口程序等。系統(tǒng)先對(duì)各個(gè)模塊進(jìn)行初始化,等到初始化完成后,系統(tǒng)進(jìn)入主程序,等待中斷,完成各個(gè)模塊的程序。圖4是主程序流程圖。
3.2 傳感器測(cè)量模塊
艙內(nèi)主要測(cè)量溫度、濕度和水下機(jī)器人的姿態(tài)。對(duì)于溫濕度傳感器通過(guò)單片機(jī)的I/O口模擬時(shí)鐘信號(hào)來(lái)進(jìn)行讀取數(shù)據(jù),對(duì)于姿態(tài)傳感器通過(guò)單片機(jī)的I/O口模擬SPI信號(hào)來(lái)進(jìn)行讀取數(shù)據(jù)。艙外主要測(cè)量水下機(jī)器人下潛的深度。通過(guò)C8051F120自帶的12位ADC轉(zhuǎn)換器,并選擇模擬通道1進(jìn)行下潛深度傳感器的采集,把采集到的模擬量信號(hào)轉(zhuǎn)換成數(shù)字量。AD轉(zhuǎn)換器有4種轉(zhuǎn)換啟動(dòng)方式,由ADCOCN中的ADC0啟動(dòng)轉(zhuǎn)換方式位(ADOCM1,ADOCM0)的狀態(tài)決定。轉(zhuǎn)換觸發(fā)源有:
1)向ADCOCN的ADOBUSY位寫1;
2)定時(shí)器3溢出(即定時(shí)的連續(xù)轉(zhuǎn)換);
3)外部ADC轉(zhuǎn)換啟動(dòng)信號(hào)的上升沿,CNVSTR0;
4)定時(shí)器2溢出(即定時(shí)的連續(xù)轉(zhuǎn)換)。
本程序采用向ADCOCN的ADOBUSY位寫1作為啟動(dòng)方式。當(dāng)通過(guò)向ADOBUSY寫‘1’啟動(dòng)數(shù)據(jù)轉(zhuǎn)換時(shí),查詢ADOINT位以確定轉(zhuǎn)換是否結(jié)束,當(dāng)轉(zhuǎn)換結(jié)束后讀出轉(zhuǎn)換后的數(shù)據(jù)并處理。串口初始化和轉(zhuǎn)換程序如下。
3.3 定時(shí)器中斷模塊
為了使系統(tǒng)達(dá)到低功耗的要求,采用定時(shí)器中斷來(lái)使能各傳感器,并對(duì)各傳感器數(shù)據(jù)進(jìn)行采集和處理。當(dāng)100 ms定時(shí)器中斷到來(lái)時(shí),首先對(duì)賦予數(shù)據(jù)包的起始位,然后使能ADC,進(jìn)行下潛深度傳感器數(shù)據(jù)的采集;接著使能姿態(tài)傳感器,讀取姿態(tài)傳感器數(shù)據(jù),并對(duì)姿態(tài)傳感器的X軸,Y軸數(shù)據(jù)進(jìn)行正負(fù)的判別;最后使能溫濕度傳感器,進(jìn)行溫濕度傳感器數(shù)據(jù)的采集并賦予數(shù)據(jù)包結(jié)束符。圖5是定時(shí)器中斷流程圖。
定時(shí)器中斷程序如下。
3.4 串口通信模塊
串口通信模塊主要是負(fù)責(zé)和工控機(jī)進(jìn)行通信,當(dāng)PC104需要傳感器數(shù)據(jù)的時(shí)候,單片機(jī)就通過(guò)串口把數(shù)據(jù)發(fā)給PC104,PC104在把信息發(fā)送給岸上的微型計(jì)算機(jī),供用戶進(jìn)行顯示。圖6是串口中斷程序流程圖。
串口中斷程序如下。
4 視頻圖像的采集和傳輸
H264采用“回歸基本”的簡(jiǎn)潔設(shè)計(jì),不用眾多的選項(xiàng),獲得比MPEG-4好得多的壓縮性能;H.264加強(qiáng)了對(duì)各種信道的適應(yīng)能力,采用“網(wǎng)絡(luò)友好”的結(jié)構(gòu)和語(yǔ)法,有利于對(duì)誤傳和丟包的處理;H.264應(yīng)用目標(biāo)范圍較寬,可以滿足不同速率、不同解析度以及不同傳輸(存儲(chǔ))場(chǎng)合的需求。
RTP是一種網(wǎng)絡(luò)傳輸協(xié)議,RTP協(xié)議不要求底層網(wǎng)絡(luò)提供可靠的數(shù)據(jù)傳輸服務(wù),它自身也不對(duì)報(bào)文丟失、重復(fù)和次序顛倒等差錯(cuò)進(jìn)行處理。應(yīng)用程序可以通過(guò)檢測(cè)RTP報(bào)文固定頭中的次序號(hào)發(fā)現(xiàn)傳輸過(guò)程中的差錯(cuò)。RTP具有較好的實(shí)時(shí)性,對(duì)于低帶寬實(shí)時(shí)性要求高的場(chǎng)合很實(shí)用。
圖7是視頻結(jié)構(gòu)圖。PC104和微型計(jì)算機(jī)之間采用的是C/S模式。模擬攝像頭的信號(hào)通過(guò)視頻采集卡送入到PC104中,PC104通過(guò)H264壓縮后,然后通過(guò)RTP傳輸給微型計(jì)算機(jī),微型計(jì)算機(jī)接受到視頻數(shù)據(jù)后進(jìn)行解壓顯示。
5 實(shí)驗(yàn)應(yīng)用
該系統(tǒng)用于水下機(jī)器人周圍環(huán)境的測(cè)試。在進(jìn)行測(cè)試時(shí),通過(guò)按操作員控制器上面的相應(yīng)按鈕來(lái)實(shí)現(xiàn)相應(yīng)的功能。當(dāng)點(diǎn)擊視頻采集按鈕時(shí),視頻圖像數(shù)據(jù)會(huì)顯示;當(dāng)點(diǎn)擊傳感器數(shù)據(jù)采集按鈕時(shí),傳感器數(shù)據(jù)會(huì)顯示。測(cè)試界面如圖8所示,圖中的視頻圖像是水下橋墩的墻壁。當(dāng)發(fā)現(xiàn)數(shù)據(jù)不對(duì)時(shí),需要修改相應(yīng)的電路或者程序。通過(guò)實(shí)際應(yīng)用發(fā)現(xiàn),該測(cè)試系統(tǒng)測(cè)試結(jié)果準(zhǔn)確并且穩(wěn)定可靠。
6 結(jié)論
經(jīng)過(guò)試驗(yàn)測(cè)試得知,對(duì)于水下機(jī)器人艙體和艙內(nèi)的基本環(huán)境監(jiān)測(cè)問(wèn)題,如水下機(jī)器人的姿態(tài)、艙內(nèi)的溫濕度、下潛深度和水下景象,傳感器數(shù)據(jù)和視頻數(shù)據(jù)都能夠?qū)崟r(shí)地采集,PC104與微型計(jì)算機(jī)之間的通信能夠準(zhǔn)確無(wú)誤地傳輸,對(duì)于水下機(jī)器人周圍環(huán)境的監(jiān)測(cè)起到了實(shí)時(shí)監(jiān)控的效果,為將來(lái)水下機(jī)器人的自主導(dǎo)航提供了有利的條件。