国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于BDS的水質(zhì)檢測仿生魚控制系統(tǒng)設(shè)計

2020-11-18 06:06崔秀芳李培培石福孝王宏宇陳剛
全球定位系統(tǒng) 2020年5期
關(guān)鍵詞:舵機上位報文

崔秀芳,李培培,石福孝,王宏宇,陳剛

(上海海洋大學(xué) 工程學(xué)院,上海 201306)

0 引 言

北斗衛(wèi)星導(dǎo)航系統(tǒng)(BDS)是我國自主建設(shè)、獨立運行的全球衛(wèi)星導(dǎo)航系統(tǒng)(GNSS),2019年11月5日01時43分第四十九顆北斗導(dǎo)航衛(wèi)星的成功發(fā)射,標(biāo)志著BDS全球組網(wǎng)新時代的開啟.BDS以它特有的雙向短報文通信功能的優(yōu)勢逐漸廣泛應(yīng)用在不同領(lǐng)域[1].

仿生機器魚在水下具有與其他推進器的水下機器人更加優(yōu)良的游動能力和強大的環(huán)境適應(yīng)能力[2],針對水下作業(yè),仿生機器魚成為研究熱點[3].現(xiàn)在水環(huán)境保護問題日益受到重視,環(huán)境保護關(guān)鍵要對水環(huán)境狀況做評估.傳統(tǒng)水質(zhì)檢測主要有通過人親自到目的地采集水質(zhì)樣本進行檢測[4]和通過遠程監(jiān)控中心和串行通信方式進行檢測的方式,以上方式存在布線困難、投入成本較高、水下采集的數(shù)據(jù)難以實時上傳到上位機等缺點[5].

本文基于BDS設(shè)計了一種可用于水質(zhì)檢測的仿生魚控制系統(tǒng),基于BDS特有的短報文通信功能來實現(xiàn)遠程實時監(jiān)測水質(zhì)的目的.該系統(tǒng)有實時性好、便攜、投入成本低、節(jié)省人力等優(yōu)點.

1系統(tǒng)總體設(shè)計

1.1 控制系統(tǒng)功能

基于BDS的水質(zhì)監(jiān)測仿生魚由于要對不同采樣點和不同深度的水樣進行采集,所以需要其可以完成水下自由游動,能夠準(zhǔn)確地控制行進速度和轉(zhuǎn)向角度,實現(xiàn)安全避障和定深作業(yè).然后采集水質(zhì)信息并將水質(zhì)檢測的數(shù)據(jù)和采樣點位置和采集時間信息通過BDS傳送給上位機顯示,以供工作人員查看.

1.2 控制系統(tǒng)總體設(shè)計

仿生魚控制系統(tǒng)總體結(jié)構(gòu)如圖1所示,控制系統(tǒng)主要由主控制器、數(shù)據(jù)信息采集模塊、BDS用戶端機、舵機控制模塊、電源模塊組成.整個系統(tǒng)的核心部分為STM32主控制器,處理采集到的障礙物和深度信息用于自身的運動控制,處理采集到的水質(zhì)信息通過RS232串口線傳送給BDS模塊,在仿生魚上浮露出水面時,BDS模塊將水質(zhì)檢測數(shù)據(jù)和時間位置信息一并通過BDS衛(wèi)星傳輸?shù)竭h程監(jiān)控中心進行顯示.

圖1 系統(tǒng)總體結(jié)構(gòu)圖

2 系統(tǒng)硬件設(shè)計

根據(jù)功能需求,設(shè)計仿生魚控制系統(tǒng)的硬件部分,該系統(tǒng)主要是由ARM微處理器、水質(zhì)檢測模塊、BDS模塊、紅外測距傳感器、深度傳感器、舵機模塊、電源等組成,硬件設(shè)計的模塊組成框圖如圖2所示.

圖2 仿生魚硬件組成框圖

2.1 ARM處理器

該系統(tǒng)主控制器選用ALIENTEK探索者STM32F4開發(fā)板,如圖3所示.該開發(fā)板是基于ARM Cortex-M4內(nèi)核的STM32F407ZGT6處理器,該芯片有112個通用I/O口,由P2和P12端口的6個排針組成的多功能端口可以實現(xiàn)ADC采集、DAC輸出和PWM DAC輸出,可以滿足系統(tǒng)使用.自帶的RS232可以連接BDS模塊進行串口通信.

圖3 STM32F4開發(fā)板

2.2 BDS通信模塊

BDS模塊選用深圳市容輝信息科技有限公司研發(fā)和設(shè)計的BDS短報文開發(fā)板,該BDS核心板帶RD模塊和定位模塊,RD模塊性能高短報文的通信成功率高,定位模塊集成了UBLOX8代芯片、SAW、LNA,定位精度高,不僅支持BDS定位,還支持GPS和GLONASS定位.而且該BDS模塊具備 TVS 防護的電源輸入和ESD防護卡座接口,安全性高.使用時,BDS模塊的RX和TX輸入輸出接口,與主控制器采用RS232串口通信,波特率默認為115200,將天線的RX與BDS模塊的RX相連,天線的TX與BDS模塊的TX相連天線的RNSS電纜連接BDS模塊的RNSS引腳即可,圖4所示為BDS模塊核心板和BDS天線.RD 模塊遵循 RDSS 2.1協(xié)議[6].

圖4 BDS模塊核心板(左)和天線(右)

2.3 水質(zhì)檢測模塊

水質(zhì)檢測模塊包括溫度傳感器和pH值檢測傳感器.pH值檢測傳感器模塊實物圖如圖5所示,工作電壓為5 V,檢測范圍為pH0~pH14,pH值檢測傳感器模塊的串口輸出RX、TX可直接與主控制器自帶USB串口連接進行通信.BNC接口用來連接pH值電極,帶有DS18B20溫度控制器接口.DS18B20工作電壓為3~5.5 V,測溫范圍:-55℃~125℃.

圖5 pH值檢測傳感器模塊

2.4 外圍設(shè)備

紅外測距傳感器模塊采用紅外測距傳感器GP2Y0A21YK0,引腳VCC接主控制器5 V電壓輸出,引腳GND接地線,Vout模擬電壓輸出引腳接主控制器A/D轉(zhuǎn)換通道的引腳.

深度傳感器選用MEAS瑞士分公司生產(chǎn)的MS5803-14BA微型壓力傳感器,本系統(tǒng)采用IIC通信方式與主控制器進行通信.

選擇LSC系列控制提供多路PWM信號輸出控制舵機轉(zhuǎn)動,控制板采用串口通信,通信波特率為9600,3.3 V供電.舵機選用為9 g舵機,工作電壓為4.8 V[7].

3 系統(tǒng)軟件設(shè)計

3.1 下位機設(shè)計

本系統(tǒng)軟件設(shè)計在Keil μVision軟件中使用C語言對STM32控制器進行編程[8],通過USB串口將程序下載到STM32控制器里.首先進行系統(tǒng)初始化,包括和各個模塊初始化,然后配置主控制器各個端口各個模塊.通過控制PWM占空比使舵機轉(zhuǎn)動控制仿生魚的前進、轉(zhuǎn)向、下潛等動作,到達指定地點利用深度水質(zhì)檢測模塊并采集數(shù)據(jù),采集結(jié)束仿生魚上浮露出水面,BDS模塊與上位機進行通信,圖6是下位機的程序流程圖.

圖6 下位機的程序流程圖

系統(tǒng)設(shè)計采用模塊化編程,各模塊程序編寫完成后,在main函數(shù)中調(diào)用即可.以舵機模塊為例,使用C語言編寫包括程序初始化、舵機ID寫入和舵機轉(zhuǎn)動等程序,以下是舵機控制部分程序:

{

SystemInit();

delay-init(72);

NVIC-PriorityGroupConfig(NVIC-PriorityGroup-2);

uartInit(115200);

while (1)

{

LobotSerialServoMove(ID1, 100, 500);

LobotSerialServoMove(ID2, 300, 500);

delay-ms(1000);

上述為初始化程序,包括系統(tǒng)時鐘初始化、延時初始化和串口初始化,以及優(yōu)先級設(shè)置和舵機轉(zhuǎn)動部分程序.

3.2 BDS通信模塊設(shè)計

仿生魚系統(tǒng)中BDS通信模塊流程圖如圖7所示,BDS模塊初始化為串口初始化,設(shè)置波特率,字長,奇偶校驗等參數(shù),調(diào)用函數(shù)USART-Init,命令符“USART-Init(USART1,&USART-InitStructrure)”來實現(xiàn)串口初始化.串口初始化后,主控制器STM32給RD模塊發(fā)送 “$CCDWA,0000000,V,1,L,,0,,,0*65 ” 指令請求定位,BDS短報文2.1協(xié)議規(guī)定收發(fā)語句皆以符號“$”開始,以英文字符“,”和“*”為分隔符,以回車換行符 結(jié)束.如果RD模塊成功執(zhí)行則給STM32回復(fù)指令“$BDFKI,DWA,Y,Y,0,0060*0A ”,如果失敗則回復(fù)“$BDFKI,DWA,N,N,0,0060*0A ”,隨后衛(wèi)星就會將定位數(shù)據(jù)傳送給RD模塊.

定位數(shù)據(jù)經(jīng)串口傳輸至主控制器,主控制器將水質(zhì)監(jiān)測模塊檢測到的數(shù)據(jù)和定位數(shù)據(jù)按照BDS短報文2.1協(xié)議處理,協(xié)議規(guī)定電文首字母固定為“A4”,英文用ASCII碼表示,漢字用unicode碼表示,發(fā)送語句“$CCTXA,上位機ID,1,2,A4電文內(nèi)容7*7F”給RD模塊,然后RD模塊會回復(fù)主控單元指令是否成功執(zhí)行,若成功回復(fù)“$BDFKI,TXA,Y,Y,0,0060*15 ”,失敗回復(fù)“$BDFKI,TXA,N,N,0,0060*15 ”.幾秒后,衛(wèi)星就會轉(zhuǎn)發(fā)信息至上位機的RD模塊.

圖7 BDS通信模塊軟件流程圖

3.3 上位機設(shè)計

根據(jù)系統(tǒng)需求,采用Lab VIEW軟件對系統(tǒng)上位機進行設(shè)計,Lab VIEW是主要用于儀器控制的編程軟件[9],采用Lab VIEW編程設(shè)計的上位機界面可以顯示BDS衛(wèi)星傳輸過來的仿生魚位置、水質(zhì)檢測的數(shù)據(jù)遠程監(jiān)控部分界面如圖8所示.先初始化,然后設(shè)置深度值,使得仿生魚可以到達指定深度作業(yè),設(shè)置仿生魚到達指定的深度后靜止的時間,該時間段仿生魚進行水質(zhì)檢測.設(shè)置好之后配置串口通信接收BDS模塊發(fā)來數(shù)據(jù),包括:時間、位置、深度、水樣溫度值和pH值.

圖8 遠程監(jiān)控部分界面

4 系統(tǒng)測試結(jié)果

為驗證該系統(tǒng)是否可以運行,選取上海海洋大學(xué)里湖泊某兩點位置2 m和5 m的深度進行試驗.打開Lab VIEW,系統(tǒng)上電,在監(jiān)控界面上可觀測到位置時間和水質(zhì)等信息如表1所示.由表中數(shù)據(jù)看信息與實際相符合,誤差在可接受范圍,系統(tǒng)運行穩(wěn)定.觀察仿生魚在指定地點下潛過程,由于水流速和自身抖動的影響,會出現(xiàn)與原始位置略微偏移現(xiàn)象,但是偏差程度不至于影響檢測結(jié)果.仿生魚上浮向上位機上傳數(shù)據(jù)時間與上位機接收到數(shù)據(jù)時間略有差距,是因為BDS通信有略微延遲.

表1 系統(tǒng)測試實驗數(shù)據(jù)

5 結(jié)束語

本文基于STM32和BDS模塊設(shè)計用來水質(zhì)檢測的仿生魚控制系統(tǒng),借助BDS系統(tǒng)實時定位和短報文通信功能實現(xiàn)仿生魚與遠程監(jiān)控端的通信,工作人員可以借助PC機或者智能手機等查看水質(zhì)信息.該系統(tǒng)具有方便攜帶、投入成本較低、水下采集的數(shù)據(jù)可以實時上傳到上位機等優(yōu)點,下一階段計劃在仿生魚控制系統(tǒng)上增設(shè)其他功能模塊,使其代替人在水中完成更多工作,具有良好的擴展性和實用性.

猜你喜歡
舵機上位報文
基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
以太網(wǎng)QoS技術(shù)研究及實踐
基于Python的汽車CAN總線報文格式轉(zhuǎn)換系統(tǒng)的設(shè)計與實現(xiàn)
基于報文類型的限速值動態(tài)調(diào)整
基于速度觀測的雙余度電液舵機系統(tǒng)容錯同步控制
一場史無前例的樂隊真人秀
超音速舵機保護器
基礎(chǔ)油“上位”
菜鳥看模型
舵機的應(yīng)用
大英县| 浦城县| 白水县| 花莲县| 澳门| 濮阳县| 诸城市| 玉山县| 潮州市| 井研县| 乐山市| 灵武市| 舞钢市| 盐亭县| 长顺县| 渝中区| 平安县| 荔浦县| 郴州市| 潍坊市| 文化| 工布江达县| 贺兰县| 巢湖市| 泾源县| 丰镇市| 新安县| 安康市| 镇宁| 石楼县| 天门市| 蓬安县| 久治县| 长武县| 手游| 股票| 红桥区| 安远县| 绥化市| 赤峰市| 英吉沙县|