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

?

基于STM32的水面無人艇控制系統(tǒng)設(shè)計(jì)

2024-07-10 00:00:00占曉煌李浩華肖健王志遠(yuǎn)李梓維
消費(fèi)電子 2024年6期
關(guān)鍵詞:算法

【關(guān)鍵詞】STM32;水面無人艇;PS2 無線手柄;增量式PID 算法

引言

隨著無人車和無人機(jī)技術(shù)的成熟,越來越多的機(jī)構(gòu),包括研究所、院校和企業(yè)等,開始研究和應(yīng)用水面無人艇[1]。水面無人艇是一種能夠在海洋、河流等水域環(huán)境中執(zhí)行一些復(fù)雜或危險(xiǎn)任務(wù)的平臺(tái),如水質(zhì)檢測(cè)、事故搜尋救助等,與載人船舶和浮動(dòng)平臺(tái)等設(shè)備相比,無人艇具備操縱性強(qiáng)、部署方便、覆蓋范圍廣且成本較低的優(yōu)點(diǎn),這使得無人艇具有廣闊的應(yīng)用前景[2]。

本文設(shè)計(jì)的水面無人艇控制系統(tǒng)是其核心部件,可通過PS2無線手柄或遙控實(shí)現(xiàn)多種航行模式,包括前進(jìn)后退、轉(zhuǎn)向及固定軌跡航行,確保了方向和速度的精確控制。系統(tǒng)采用增量式PID算法結(jié)合霍爾編碼器測(cè)量的速度,實(shí)現(xiàn)對(duì)推進(jìn)器轉(zhuǎn)速的閉環(huán)控制,提高了航行效率。同時(shí),集成避障模塊以提高安全性,使無人艇能靈活、安全執(zhí)行任務(wù)。

一、系統(tǒng)總體設(shè)計(jì)方案

本文設(shè)計(jì)了一種基于STM32單片機(jī)的水面無人艇控制系統(tǒng),包括方向控制、無線通信和緊急制動(dòng)功能。如圖1所示,系統(tǒng)由STM32單片機(jī)、電源、PS2無線遙控、避障模塊、無刷電調(diào)和裝有霍爾編碼器的水下推進(jìn)器組成。采用STM32F103ZET6單片機(jī)作為主控制核心,利用霍爾編碼器實(shí)時(shí)監(jiān)測(cè)轉(zhuǎn)速,并通過增量式PID算法對(duì)無刷電調(diào)的PWM值進(jìn)行精確調(diào)整,以穩(wěn)定推進(jìn)器速度。PS2無線手柄用于航行模式控制,紅外避障傳感器實(shí)現(xiàn)緊急制動(dòng),提升系統(tǒng)安全性能。

二、系統(tǒng)硬件電路設(shè)計(jì)

該系統(tǒng)主要硬件包括主控芯片、PS2無線手柄、電源模塊、避障模塊以及驅(qū)動(dòng)模塊。如圖2所示,這些模塊之間的電路連接,構(gòu)成了整個(gè)系統(tǒng)的硬件架構(gòu)。以下針對(duì)各模塊進(jìn)行說明:

1.主控芯片:采用STM32F103ZET6單片機(jī),具有高性能、低功耗,支持多種控制指令,易實(shí)現(xiàn)精確控制。配備電源模塊和RTC晶振電路,確保系統(tǒng)穩(wěn)定運(yùn)行和時(shí)鐘準(zhǔn)確性[3-4]。

2.無線手柄:PS2無線手柄的信號(hào)接收器有9個(gè)引腳,其中DI/DAT和DO/CMD用于全雙工數(shù)據(jù)通信,CS/SEL用于控制通信狀態(tài),GND和VDD提供電源。通信啟動(dòng)時(shí),CS/SEL引腳接收低電平,通信結(jié)束后返回高電平[5]。通信初始階段,STM32單片機(jī)向手柄發(fā)送“0x01”命令請(qǐng)求ID信息,手柄回復(fù)“0x41”(綠燈)或“0x73”(紅燈)以確認(rèn)模式。隨后,控制板發(fā)送“0x42”命令獲取數(shù)據(jù),手柄以“0x5A”響應(yīng)[6]。

3.電源模塊:本文選擇+12V的鋰電池作為系統(tǒng)的主電源,為無刷雙向電調(diào)供電的同時(shí),通過直流穩(wěn)壓電源轉(zhuǎn)化器將+12V電壓轉(zhuǎn)換為+5V為STM32單片機(jī)供電。

4.避障模塊:紅外避障傳感器用于檢測(cè)物體并觸發(fā)相應(yīng)的操作信號(hào)[7]。傳感器有3個(gè)引腳:VCC、GND、OUT,其中OUT連接到單片機(jī)的I/O口。模塊安裝于無人艇前后端,采用交叉檢測(cè)方式。當(dāng)檢測(cè)到前方障礙物時(shí),綠色指示燈點(diǎn)亮,同時(shí)OUT端口輸出低電平信號(hào)[8]。STM32單片機(jī)接收到信號(hào)后執(zhí)行緊急制動(dòng)程序,水下推進(jìn)器反向運(yùn)行,提供相反推力,確保安全。

5.驅(qū)動(dòng)模塊:無刷雙向電調(diào)是專為控制無刷電機(jī)而設(shè)計(jì)的裝置,可實(shí)現(xiàn)雙向控制功能,調(diào)節(jié)電機(jī)的轉(zhuǎn)速和運(yùn)行方向。通過STM32單片機(jī)輸入的PWM控制信號(hào)實(shí)現(xiàn),具有高效率、低噪音和精準(zhǔn)控制等特點(diǎn),并提供多項(xiàng)保護(hù)功能確保系統(tǒng)安全。

三、增量式PID控制算法實(shí)現(xiàn)

(一)增量式PID控制算法

增量式PID控制算法是基于比例-積分-微分控制器的閉環(huán)控制算法,通過計(jì)算當(dāng)前采樣時(shí)刻的誤差值與上一采樣時(shí)刻的誤差值之差,來得到控制器的輸出增量[9]。該增量會(huì)被加到前一時(shí)刻的控制器輸出上,產(chǎn)生新的控制器輸出。計(jì)算公式如下[10]:

(1)式中:ΔU(k)表示當(dāng)前時(shí)刻的控制器輸出增量,Kp、Ki和Kd分別代表比例、積分和微分增益,e(k)表示當(dāng)前時(shí)刻的誤差值,e(k-1)表示前一時(shí)刻的誤差值,e(k-2)表示前兩個(gè)時(shí)刻的誤差值。

增量式PID控制算法相較傳統(tǒng)PID算法,具有更高精度和響應(yīng)速度,能更快、更準(zhǔn)確地響應(yīng)系統(tǒng)變化,實(shí)現(xiàn)更穩(wěn)定可靠的控制效果。

(二)仿真實(shí)驗(yàn)分析

在MATLAB中進(jìn)行增量式PID控制算法仿真,分為未施加干擾和施加干擾情況下的對(duì)比。圖3為增量式PID跟蹤響應(yīng)曲線,描述了系統(tǒng)經(jīng)過增量式PID控制調(diào)節(jié)后實(shí)際位置與理想位置之間的變化情況。圖4為增量式PID跟蹤誤差曲線,反映了系統(tǒng)在增量式PID控制調(diào)節(jié)后產(chǎn)生的誤差變化情況。

從圖3和圖4可以看出,在時(shí)長(zhǎng)為1s的仿真情景下,當(dāng)在0.1s施加的干擾信號(hào)出現(xiàn)時(shí),系統(tǒng)的位置會(huì)受到一定影響,但整體上能夠較好地追蹤理想位置。圖4顯示系統(tǒng)加入干擾信號(hào)時(shí),誤差會(huì)有所增加,但經(jīng)過PID控制算法調(diào)節(jié),其誤差逐漸減小,最終趨于穩(wěn)定。綜合來看,該控制系統(tǒng)不管在面對(duì)干擾信號(hào)時(shí),能夠較好地追蹤理想位置,調(diào)節(jié)速度快,并且具有較小的誤差。

四、控制系統(tǒng)程序設(shè)計(jì)與實(shí)現(xiàn)

控制系統(tǒng)采用模塊化編程,將系統(tǒng)初始化、驅(qū)動(dòng)、PS2無線遙控、避障等功能分解為獨(dú)立可復(fù)用的模塊,每個(gè)模塊專注于特定任務(wù)或功能,并通過明確定義的通信方式進(jìn)行交互。

(一)主程序設(shè)計(jì)

系統(tǒng)上電后進(jìn)行初始化工作,包括對(duì)時(shí)鐘、延時(shí)函數(shù)、定時(shí)器等進(jìn)行設(shè)置。系統(tǒng)主程序流程如圖5所示,初始化完成后,系統(tǒng)進(jìn)入等待命令狀態(tài)。當(dāng)收到無線遙控手柄指令時(shí),執(zhí)行相應(yīng)程序,完成航行方式,并實(shí)時(shí)檢測(cè)是否有障礙物。如果檢測(cè)到障礙物,則立即調(diào)用避障模塊進(jìn)行制動(dòng)。如果沒有障礙物,則繼續(xù)執(zhí)行無線遙控指令,直到任務(wù)結(jié)束。

(二)驅(qū)動(dòng)模塊程序設(shè)計(jì)

驅(qū)動(dòng)模塊子程序初始化后,根據(jù)電機(jī)期望轉(zhuǎn)速和狀態(tài)設(shè)置PWM值以控制電機(jī)速度和方向。使用霍爾式編碼器測(cè)量電機(jī)實(shí)際轉(zhuǎn)速,通過定時(shí)計(jì)數(shù)器捕獲脈沖信號(hào)數(shù)量,并利用增量式PID算法對(duì)速度偏差進(jìn)行補(bǔ)償,實(shí)現(xiàn)閉環(huán)控制,確保電機(jī)穩(wěn)定保持目標(biāo)速度,使無人艇運(yùn)動(dòng)更加平滑和精準(zhǔn)。

(三)避障模塊程序設(shè)計(jì)

避障模塊子程序初始化完成后,設(shè)置不同制動(dòng)函數(shù),其中包含不同的電機(jī)轉(zhuǎn)速方向和速度,避障模塊實(shí)時(shí)檢測(cè)是否有障礙物,當(dāng)檢測(cè)到障礙物時(shí),OUT端口輸出低電平信號(hào)并判斷航行方向,進(jìn)而調(diào)用相應(yīng)的制動(dòng)函數(shù),使水面無人艇得到相反的推力,克服慣性停止下來。

五、測(cè)試

本設(shè)計(jì)旨在實(shí)現(xiàn)一個(gè)具備運(yùn)動(dòng)控制和緊急制動(dòng)功能的水面無人艇,能夠根據(jù)PS2無線手柄傳輸?shù)目刂菩盘?hào)進(jìn)行運(yùn)動(dòng),并在遇到障礙物時(shí)自動(dòng)實(shí)施緊急制動(dòng)。為了驗(yàn)證設(shè)計(jì)目標(biāo),按照以下描述進(jìn)行測(cè)試:

1)進(jìn)行PS2無線手柄信號(hào)穩(wěn)定測(cè)試:使用手柄的搖桿、按鈕等進(jìn)行連續(xù)30分鐘的操作,驗(yàn)證無人艇能夠在可遙控距離內(nèi)穩(wěn)定受控。

2)進(jìn)行避障模塊檢測(cè)區(qū)域測(cè)試并進(jìn)行整體功能測(cè)試:確認(rèn)避障模塊安裝后可以檢測(cè)無人艇前后端的范圍,并結(jié)合PS2無線手柄控制和緊急制動(dòng)功能進(jìn)行整體功能測(cè)試。

經(jīng)過測(cè)試和調(diào)試,結(jié)果顯示避障模塊可檢測(cè)的范圍是無人艇前后端90°扇形區(qū)域。同時(shí),無線手柄的控制信號(hào)穩(wěn)定可靠,在30次遙控測(cè)試中,有28次能夠?qū)崿F(xiàn)緊急制動(dòng),成功率達(dá)到93%。圖6展示了無人艇水面測(cè)試的情況。

結(jié)束語

本文設(shè)計(jì)的以STM32單片機(jī)為核心處理器的水面無人艇,能夠通過PS2無線手柄進(jìn)行多種航行方式控制,結(jié)合增量式PID控制算法實(shí)現(xiàn)動(dòng)力系統(tǒng)的穩(wěn)定控制。此外,添加避障模塊和緊急制動(dòng)功能,提升航行安全性。該系統(tǒng)具備簡(jiǎn)單、低能耗和便捷操作等特點(diǎn),為水面無人艇的遙控控制和安全性提供了可行解決方案,具有應(yīng)用價(jià)值。

猜你喜歡
算法
基于MapReduce的改進(jìn)Eclat算法
Travellng thg World Full—time for Rree
進(jìn)位加法的兩種算法
算法初步兩點(diǎn)追蹤
基于增強(qiáng)隨機(jī)搜索的OECI-ELM算法
一種改進(jìn)的整周模糊度去相關(guān)算法
乐山市| 武平县| 和平区| 明溪县| 三明市| 江源县| 重庆市| 凤城市| 华容县| 青龙| 福清市| 桑日县| 平遥县| 青海省| 蓬溪县| 萨嘎县| 宜君县| 皮山县| 黄陵县| 图片| 米泉市| 土默特右旗| 伊川县| 理塘县| 黑水县| 松滋市| 康保县| 康乐县| 阳谷县| 泊头市| 钦州市| 鄂尔多斯市| 玛多县| 射洪县| 哈尔滨市| 崇信县| 吴江市| 监利县| 台山市| 靖西县| 中江县|