于PC104與C8051F120的水下機器人環(huán)境監測系統設計
摘要:為了實(shí)現對水下機器人周?chē)h(huán)境的監測,提出了一種基于PC104與C8051F120的水下機器人環(huán)境監測系統設計方案,并完成系統的軟硬件設計。該系統的硬件部分主要是采集下潛深度傳感器、姿態(tài)傳感器、溫濕度傳感器的數據,軟件部分采用用Visual C++6.0設計了監控界面。該系統能夠實(shí)時(shí)顯示視頻和各傳感器數據。實(shí)際測試表明,該系統具有穩定性高、準確性高的特點(diǎn),達到了設計要求。
本文引用地址:http://dyxdggzs.com/article/201610/309078.htm水下機器人具有重大需求和巨大的市場(chǎng)價(jià)值,如:用于泵站流道和葉輪葉片、壩體、橋墩、排沙口、攔污柵、病險水庫等的水下檢查和評估。用于市政飲用水系統中水管、水庫檢查;用于城市排污/排澇管道、下水道檢查;用于科學(xué)研究、教學(xué)目的的水環(huán)境、水下生物的觀(guān)測、研究和教學(xué);用于海洋考察、冰下觀(guān)察;還有,隨著(zhù)當前全球化的安全局勢的惡化,水下機器人可以廣泛應用于安全部門(mén),如:檢查大壩、橋墩上是否安裝爆炸物,船側、船底是否有炸彈等。這些功能得實(shí)現都是基于水下機器人對于周?chē)h(huán)境的監測,所以采用一種高效、實(shí)時(shí)、簡(jiǎn)單的系統來(lái)完成環(huán)境監測的功能是十分必要的。在做了多種系統的比較后,提出并設計了基于PC104與C8051F120的水下機器人環(huán)境監測系統設計方案,該系統能夠完成對環(huán)境的監測功能。
1 總體設計
圖1是系統總體結構圖,岸上由微型計算機組成,實(shí)時(shí)顯示視頻圖像和各傳感器數據;水下由PC104、C8051F120、視頻采集卡、模擬攝像頭、溫濕度傳感器、姿態(tài)傳感器、下潛深度傳感器組成。PC104通過(guò)視頻采集卡采集模擬攝像頭的信號,C8051F120采集各傳感器的數據,通過(guò)串口傳輸給PC104,PC104通過(guò)臍纜把視頻信號和各傳感器數據送給岸上的微型計算機,微型計算機進(jìn)行實(shí)時(shí)地顯示。

2 硬件設計
C8051F120是完全集成的混合信號片上系統型MCU芯片,全速、非侵入式的在系統調試接口,高速、流水線(xiàn)結構的8051兼容的CIP-51內核,真正8位500 ksps的ADC,兩個(gè)12位DAC,具有可編程數據更新方式,帶PGA和8通道模擬多路開(kāi)關(guān),2周期的16 x 16乘法和累加引擎,128 KK或64KB可在系統編程的FLASH存儲器,8448(8K+256)字節的片內RAM,可尋址64KB地址空間的外部數據存儲器接口,硬件實(shí)現的SPI、SMBus /I2C和兩個(gè)UART串行接口,5個(gè)通用的16位定時(shí)器,具有6個(gè)捕捉/比較模塊的可編程計數器/定時(shí)器陣列,片內看門(mén)狗定時(shí)器、VDD監視器和溫度傳感器。
在本設計中PC104采用的是Em104P—i2909,溫濕度傳感器采用的是DHT11單總線(xiàn)傳感器,姿態(tài)傳感器采用的是SCA100T—D01。下潛深度傳感器采用GB-2100A投入式壓力傳感器。電路使用了芯片內部自帶的12位AD轉換器、多路模擬選擇開(kāi)關(guān)和基準電壓電路,使電路變得更簡(jiǎn)潔實(shí)用,并外接22.118 4 MHz晶振,經(jīng)過(guò)9/4倍頻得到50 MHz。由于溫濕度傳感器和姿態(tài)傳感器都只需接在I/O口,下潛深度傳感器接在模擬量輸入口,故之介紹電路板的電源電路和串口電路。圖2是電源電路原理圖,圖3是串口電路原理圖。

3 軟件設計
3.1 系統流程圖
單片機程序軟件采用的是Keil uVision4,并使用C語(yǔ)言編寫(xiě)程序。程序采用模塊化的設計,分為AD轉換程序、定時(shí)器中斷程序、串口程序等。系統先對各個(gè)模塊進(jìn)行初始化,等到初始化完成后,系統進(jìn)入主程序,等待中斷,完成各個(gè)模塊的程序。圖4是主程序流程圖。

3.2 傳感器測量模塊
艙內主要測量溫度、濕度和水下機器人的姿態(tài)。對于溫濕度傳感器通過(guò)單片機的I/O口模擬時(shí)鐘信號來(lái)進(jìn)行讀取數據,對于姿態(tài)傳感器通過(guò)單片機的I/O口模擬SPI信號來(lái)進(jìn)行讀取數據。艙外主要測量水下機器人下潛的深度。通過(guò)C8051F120自帶的12位ADC轉換器,并選擇模擬通道1進(jìn)行下潛深度傳感器的采集,把采集到的模擬量信號轉換成數字量。AD轉換器有4種轉換啟動(dòng)方式,由ADCOCN中的ADC0啟動(dòng)轉換方式位(ADOCM1,ADOCM0)的狀態(tài)決定。轉換觸發(fā)源有:
1)向ADCOCN的ADOBUSY位寫(xiě)1;
2)定時(shí)器3溢出(即定時(shí)的連續轉換);
3)外部ADC轉換啟動(dòng)信號的上升沿,CNVSTR0;
4)定時(shí)器2溢出(即定時(shí)的連續轉換)。
本程序采用向ADCOCN的ADOBUSY位寫(xiě)1作為啟動(dòng)方式。當通過(guò)向ADOBUSY寫(xiě)‘1’啟動(dòng)數據轉換時(shí),查詢(xún)ADOINT位以確定轉換是否結束,當轉換結束后讀出轉換后的數據并處理。串口初始化和轉換程序如下。

3.3 定時(shí)器中斷模塊
為了使系統達到低功耗的要求,采用定時(shí)器中斷來(lái)使能各傳感器,并對各傳感器數據進(jìn)行采集和處理。當100 ms定時(shí)器中斷到來(lái)時(shí),首先對賦予數據包的起始位,然后使能ADC,進(jìn)行下潛深度傳感器數據的采集;接著(zhù)使能姿態(tài)傳感器,讀取姿態(tài)傳感器數據,并對姿態(tài)傳感器的X軸,Y軸數據進(jìn)行正負的判別;最后使能溫濕度傳感器,進(jìn)行溫濕度傳感器數據的采集并賦予數據包結束符。圖5是定時(shí)器中斷流程圖。

定時(shí)器中斷程序如下。

3.4 串口通信模塊
串口通信模塊主要是負責和工控機進(jìn)行通信,當PC104需要傳感器數據的時(shí)候,單片機就通過(guò)串口把數據發(fā)給PC104,PC104在把信息發(fā)送給岸上的微型計算機,供用戶(hù)進(jìn)行顯示。圖6是串口中斷程序流程圖。

串口中斷程序如下。

4 視頻圖像的采集和傳輸
H264采用“回歸基本”的簡(jiǎn)潔設計,不用眾多的選項,獲得比MPEG-4好得多的壓縮性能;H.264加強了對各種信道的適應能力,采用“網(wǎng)絡(luò )友好”的結構和語(yǔ)法,有利于對誤傳和丟包的處理;H.264應用目標范圍較寬,可以滿(mǎn)足不同速率、不同解析度以及不同傳輸(存儲)場(chǎng)合的需求。
RTP是一種網(wǎng)絡(luò )傳輸協(xié)議,RTP協(xié)議不要求底層網(wǎng)絡(luò )提供可靠的數據傳輸服務(wù),它自身也不對報文丟失、重復和次序顛倒等差錯進(jìn)行處理。應用程序可以通過(guò)檢測RTP報文固定頭中的次序號發(fā)現傳輸過(guò)程中的差錯。RTP具有較好的實(shí)時(shí)性,對于低帶寬實(shí)時(shí)性要求高的場(chǎng)合很實(shí)用。

圖7是視頻結構圖。PC104和微型計算機之間采用的是C/S模式。模擬攝像頭的信號通過(guò)視頻采集卡送入到PC104中,PC104通過(guò)H264壓縮后,然后通過(guò)RTP傳輸給微型計算機,微型計算機接受到視頻數據后進(jìn)行解壓顯示。
5 實(shí)驗應用
該系統用于水下機器人周?chē)h(huán)境的測試。在進(jìn)行測試時(shí),通過(guò)按操作員控制器上面的相應按鈕來(lái)實(shí)現相應的功能。當點(diǎn)擊視頻采集按鈕時(shí),視頻圖像數據會(huì )顯示;當點(diǎn)擊傳感器數據采集按鈕時(shí),傳感器數據會(huì )顯示。測試界面如圖8所示,圖中的視頻圖像是水下橋墩的墻壁。當發(fā)現數據不對時(shí),需要修改相應的電路或者程序。通過(guò)實(shí)際應用發(fā)現,該測試系統測試結果準確并且穩定可靠。

6 結論
經(jīng)過(guò)試驗測試得知,對于水下機器人艙體和艙內的基本環(huán)境監測問(wèn)題,如水下機器人的姿態(tài)、艙內的溫濕度、下潛深度和水下景象,傳感器數據和視頻數據都能夠實(shí)時(shí)地采集,PC104與微型計算機之間的通信能夠準確無(wú)誤地傳輸,對于水下機器人周?chē)h(huán)境的監測起到了實(shí)時(shí)監控的效果,為將來(lái)水下機器人的自主導航提供了有利的條件。
評論