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