基于stm32單片機的河流垃圾清理潛水艇_第1頁
基于stm32單片機的河流垃圾清理潛水艇_第2頁
基于stm32單片機的河流垃圾清理潛水艇_第3頁
基于stm32單片機的河流垃圾清理潛水艇_第4頁
基于stm32單片機的河流垃圾清理潛水艇_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于stm32單片機的河流垃圾清理潛水艇

【摘要】基于STM32F103ZET6單片機設(shè)計了一款基于stm32單片機的河流垃圾清理潛水艇,該設(shè)備可以實現(xiàn)潛水功能并且攝像觀測水底情況來進行水底垃圾清理工作。該設(shè)備可以通過TFTLCD顯示屏在操作者手中顯示潛水艇上攝像頭拍攝的水底情況,并利用潛水艇的移動來將水底存在的垃圾收集到潛水艇中來帶到岸上處理,為了方便水下觀測,還可以用VL53L0X來檢測潛水艇離水底的實時距離。河流垃圾清理潛水艇的硬件部分主要由STM32F103ZET6主控板、OV7725攝像頭模塊、2.8寸TFTLCD顯示屏模塊、按鍵模塊、L298N電機驅(qū)動模塊以及電機、VL53L0X激光測距模塊組成,顯示屏可以用來顯示攝像頭拍攝內(nèi)容,也可以顯示VL53L0X實時測量的數(shù)據(jù)。按鍵控制潛水艇的水中運動包括前進、轉(zhuǎn)彎、上浮、下沉,單片機發(fā)出指令給L298N來控制電動機運動?!娟P(guān)鍵詞】:STM32F103ZET6單片機;OV7725攝像頭模塊;L298N電機驅(qū)動模塊;VL53L0X激光測距模塊。目錄TOC\o"1-2"\h\u一、引言……………1二、設(shè)計方案討論 2(一)設(shè)計思路 2(二)系統(tǒng)構(gòu)成 3(三)模塊介紹……………3三、系統(tǒng)的硬件設(shè)計……………..………………10(一)電源電路……………..11(二)按鍵控制電路……….12(三)ov7725模塊電路………..…………...12(四)LCD顯示電路……………13(五)VL53L0X激光測距模塊電路………14(六)L298N電機驅(qū)動模塊電路………….14四、系統(tǒng)的軟件設(shè)計 一、引言(一)課題研究背景塑料的發(fā)明,給人類的生產(chǎn)生活帶來了極大便利。與此同時,其污染問題也不容忽視。塑料從材料本身講并不能與污染物畫等號,塑料污染的本質(zhì)是塑料廢棄物不當管理造成的環(huán)境泄漏。其中微塑料進入食物鏈還可能會對人體健康帶來嚴重危害。城市河流是我國水環(huán)境的重要組成部分,也是城市居民生活、生產(chǎn)的重要水資源,與社會發(fā)展和人居環(huán)境的改善關(guān)系密切,具有自然和社會雙重屬性。塑料垃圾具有污染物的富集終態(tài)和污染源頭的雙重作用,直接或間接污染水體。我國河流垃圾狀況刻不容緩,因此設(shè)計出一款可以清理水滴垃圾的裝置就很有必要了。(二)國內(nèi)外研究現(xiàn)狀1、國外狀似駁船的“攔截者”(TheInterceptor)可以截留數(shù)千噸塑料,防止其進入海洋。這項技術(shù)由荷蘭非政府組織“海洋清理”(TheOceanCleanup)發(fā)明,其主體結(jié)構(gòu)上連接著一條以一定角度橫貫河流的屏障帶,可將漂浮的塑料引入駁船中。塑料進入船內(nèi)后沿著傳送帶進入“攔截者”的腹艙,在那里分類并準備回收。該裝置使用太陽能供電,每天可清除超過50噸的塑料垃圾,目前已經(jīng)在馬來西亞、印度尼西亞和多米尼加共和國的三條河流中投入使用,但發(fā)明者的目標更高:他們希望最終在全球污染最嚴重1000條河流上部署“攔截者”,總共攔截數(shù)百萬噸即將進入海洋的塑料。愛奇星(Ichthion)公司開發(fā)了一套名為阿祖爾(Azure)的裝置,其目的很明確:攔截厄瓜多爾兩條主要河流中的垃圾,防止其隨著洋流流到以生物多樣性著稱的加拉帕戈斯群島(GalapagosIslands)。這項發(fā)明也利用屏障將垃圾引至沿河的傳送帶,并存放在容器中。但阿祖爾的傳送帶系統(tǒng)還裝備有攝像頭,可以拍攝垃圾的圖像,隨后利用算法識別塑料的類型,從而幫助管理者了解如何最好地減少源頭浪費。阿祖爾目前處于試驗規(guī)模,但正式投入運營后預(yù)計每天將收集80噸垃圾。以上兩種發(fā)明雖然功能強大,清理的垃圾數(shù)量龐大,但是需要消耗的人力物力也是十分龐大的。2、國內(nèi)中國科學院合肥智能機械研究所納米材料與環(huán)境檢測研究室于2010年研發(fā)出“風光互補”自主式水面機器人。水面自動清潔機器人由水面漂浮物自動回收裝置和水面機器人組成,主要應(yīng)用于海洋、湖泊、河道、灘涂,景區(qū)內(nèi)的湖泊、池塘的固體垃圾、浮萍等清理以及危險區(qū)域進行遠程作業(yè)。相對于無人船,水面機器人的關(guān)鍵技術(shù)是動力系統(tǒng)、推進系統(tǒng)、自動控制和智能決策等。該 水面機器人采用風光互補動力,基本上不需要充電即可連續(xù)巡航。在此基礎(chǔ)上研發(fā)的垃圾清理無人船采用抓捕式垃圾清潔方式,各種水面漂浮物、藍藻等均可以清理,實用性更強,使用更方便。該發(fā)明雖然優(yōu)點眾多,但是致命缺點是生產(chǎn)費用太過于昂貴。2021年珠江水產(chǎn)研究所漁業(yè)環(huán)境保護研究室劉乾甫助理研究員等人完成的“一種漂浮式河流清潔裝置”獲得國家發(fā)明專利授權(quán),該發(fā)明裝置包括:搭臺和對稱安裝在搭臺底部的浮筒,搭臺的頂部固定連接有底盤,底盤的頂部設(shè)置有用于撥動河流表面垃圾的攪拌機構(gòu),浮筒的上方設(shè)置有用于遮擋河流表面垃圾的攔物裝置,搭臺的外側(cè)設(shè)置有用于清理河流表面垃圾的打撈裝置,搭臺的上方設(shè)置有用于清除打撈裝置的刮除裝置;本發(fā)明通過圓形套筒對飄浮在河流表面上的垃圾進行擋護,通過多個撥板在河流表面進行旋轉(zhuǎn)攪拌,使水面振動產(chǎn)生水波,并一圈一圈的向圓形套筒的內(nèi)壁四周擴散,河流表面上的垃圾也隨之起伏,便于對河流表面上的垃圾進行集中打撈,避免重復(fù)打撈多次才能將漂浮的垃圾清除干凈,實用性高,打撈效果好。該裝置可以協(xié)助清除河面雜物、垃圾和水草等,打造“河暢、水清、岸綠、景美”的宜居環(huán)境。缺點是續(xù)航時間較短,生產(chǎn)費用高。(三)課題研究意義設(shè)計一個底部帶有網(wǎng)兜的潛水艇,具備以下功能:1、對水底進行攝像并且將影像實時傳送到LCD屏幕上。2、水下照明。3、操控潛水艇基本運動(上浮、下沉、前進、轉(zhuǎn)彎)。4、測量潛水艇距離水底的距離。5、通過潛水艇的運動將水底垃圾裝入網(wǎng)兜中。該裝置可應(yīng)用在環(huán)境治理領(lǐng)域,也可應(yīng)用在水產(chǎn)養(yǎng)殖領(lǐng)域。對于環(huán)境治理領(lǐng)域來說,該裝置可以為改善城市河流環(huán)境出一份力,增加城市生活人們的幸福感;對于水產(chǎn)養(yǎng)殖領(lǐng)域來說,該裝置可以清理魚塘底部的塑料或者其他垃圾,不讓魚類誤食進入體內(nèi),從而危害食用者的身體健康。二、設(shè)計方案討論(一)設(shè)計思路本次設(shè)計的垃圾清理潛水艇主要由6個部分組成,分別是圖像采集部分,圖像顯示部分,距離測量部分,按鍵輸入部分,電機驅(qū)動部分和核心控制部分構(gòu)成。該系統(tǒng)使用了STM32F103ZET6單片機作為系統(tǒng)的主控核心。系統(tǒng)的圖像采集部分使用了ov7725攝像模塊來實現(xiàn),圖像顯示部分使用了ILI9341顯示模塊來實現(xiàn),距離測量部分使用了VL53L0X激光測距模塊來實現(xiàn),電機驅(qū)動部分使用了L298N電機驅(qū)動模塊和8.4~9.6V電機來實現(xiàn)。Ov7725攝像模塊將圖像數(shù)據(jù)傳輸?shù)絊TM32F103ZET6單片機后單片機處理完該數(shù)據(jù)將圖像數(shù)據(jù)用ILI9341顯示模塊顯示圖像。VL53L0X激光測距模塊將收集到的數(shù)據(jù)傳輸給單片機,單片機處理過后通關(guān)按鍵控制顯示模塊顯示Ov7725攝像圖像和VL53L0X激光測距模塊測量距離之間的顯示轉(zhuǎn)換。按鍵輸入指令“前進”,“左轉(zhuǎn)”,“右轉(zhuǎn)”,“上浮”,“下沉”指令給單片機,單片機將數(shù)據(jù)傳輸給L298N雙橋電機驅(qū)動模塊從而控制電機轉(zhuǎn)動。這樣的設(shè)計方案結(jié)構(gòu)簡單,增加了各個模塊的兼容性,減少了bug存在的概率,讓程序運行更加流暢。下圖2-1是系統(tǒng)結(jié)構(gòu)圖:STM32F103ZET6單片機STM32F103ZET6單片機Ov7725攝像頭模塊VL53L0X激光測距模塊按鍵輸入L298N雙橋電機驅(qū)動模塊ILI9341顯示模塊ILI9341顯示模塊圖2-1系統(tǒng)結(jié)構(gòu)圖(二)系統(tǒng)構(gòu)成在進行基于STM32單片機垃圾清理潛水艇的設(shè)計時,共分為2部分分別是硬件部分和軟件部分。硬件部分包括系統(tǒng)主控核心的選型、攝像頭模塊、LCD顯示屏模塊、測距模塊和電機驅(qū)動模塊的選型和一些電子元器件的選擇。在確定好各個模塊的元器件后,便可以進行該系統(tǒng)電子電路的設(shè)計,設(shè)計時應(yīng)確保電路走向正確路線通暢。完成電路圖的設(shè)計后,便可以基于STM32單片機進行垃圾清理潛水艇的焊接和拼接工作,將元器件組裝成一個完成的系統(tǒng)。系統(tǒng)的硬件部分設(shè)計完成后,接下來便開始進行系統(tǒng)軟件的設(shè)計,使系統(tǒng)各部件統(tǒng)一運行起來。系統(tǒng)程序的編寫需要用到KEIL軟件,該軟件內(nèi)部集成了各種調(diào)試和編譯的工具,還可以方便的進行程序的仿真調(diào)試。程序使用C語言來進行編寫,測試完成后即可將程序燒錄進STM32單片機內(nèi)。(三)模塊介紹1、STM32F103ZET6概述圖2-2STM32F103ZET6芯片引腳圖本次設(shè)計的垃圾清理潛水艇選用了STM32F103ZET6單片機,該型號單片機的特點是低功耗、高性能、高性價比、多核處理,是由STC公司研發(fā)的主要用于工業(yè)控制的單品機型號,可廣泛應(yīng)用于工業(yè)控制、智能家居、醫(yī)療設(shè)備、消費電子等領(lǐng)域。以下是STM32F103ZET6的一些主要特點和技術(shù)參數(shù)如表2-1。表2-1STM32F103ZET6主要特點和技術(shù)參數(shù)CPU內(nèi)核ARMCortex-M3,最高主頻72MHz存儲器Flash閃存128KB,SRAM20KB,EEPROM1KB通信接口10/100EthernetMAC,USB2.0,OTG,2個CAN,2個SPI,3個I2C,2個USARTADC/DAC12位ADC最大16個通道,12位DAC1個定時器3個16位基本定時器,2個高級定時器,1個SysTick定時器外設(shè)多達80個GPIO引腳,支持中斷、DMA傳輸?shù)裙δ躍TM32F103ZET6的優(yōu)勢包括:高性能:采用ARMCortex-M3內(nèi)核,最高主頻72MHz,能夠提供快速的運算和響應(yīng)能力。豐富的外設(shè):支持多種通信接口、ADC/DAC、定時器等,能夠滿足不同應(yīng)用場景的需求。低功耗:采用低功耗設(shè)計,最大功耗不超過100mA。易于開發(fā)和集成:ST提供完善的開發(fā)工具鏈和支持文檔,可以快速上手開發(fā),同時可輕易于開發(fā)和集成。ST提供完善的開發(fā)工具鏈和支持文檔,可以快速上手開發(fā),同時可輕松與其他硬件和軟件進行集成。2、Ov7725攝像頭模塊概述圖2-3ov7725實物圖鏡頭部件包含一個鏡頭座和一個可旋轉(zhuǎn)調(diào)節(jié)距離的凸透鏡,通過旋轉(zhuǎn)可以調(diào)節(jié)焦距,正常使用時,鏡頭座覆蓋在電路板上遮光,光線只能經(jīng)過鏡頭傳輸?shù)秸醒氲膱D像傳感器,它采集光線信號,采集得的數(shù)據(jù)被緩存到攝像頭背面的FIFO緩存中,然后外部器件通過下方的信號引腳獲取拍攝得到的圖像數(shù)據(jù)。若拆開攝像頭座,在攝像頭的正下方可看到PCB板上的一個方形器件,它是攝像頭的核心部件,型號為OV7725的CMOS類型數(shù)字圖像傳感器。該傳感器支持輸出最大為30萬像素的圖像(640x480分辨率),它的體積小,工作電壓低,支持使用VGA時序輸出圖像數(shù)據(jù),輸出圖像的數(shù)據(jù)格式支持YUV(422/420)、YCbCr422以及RGB565格式。下圖2-4是ov7725的驅(qū)動電路。圖2-4ov7725驅(qū)動電路SCLK和SDAT要接4.7K的上拉電阻,SCCB接口本質(zhì)是I2C接口,其輸出端是漏極開路或集電極開路,本身只能輸出低電平,所以在兩個接口處必須接上拉電阻。I2C接口通過從機的唯一地址識別訪問,可以實現(xiàn)對每一個器件的控制,這種傳輸方式,在標準模式下,可以達到100kbps,在快速模式下能達到400kbps,高速下能達到3.4Mbps。下圖2-5為ov7725引腳圖。圖2-5ov7725引腳圖下圖2-6內(nèi)部組成及外設(shè)引腳圖:圖2-6內(nèi)部組成及外設(shè)引腳圖引腳說明如表2-2所示:表2-2ov7725引腳功能XCLK工作時鐘輸入,由主控器產(chǎn)生,頻率為24MHzHREF行參考信號輸出PCLK像素時鐘輸出,由XCLK產(chǎn)生,用于控制器采樣圖像數(shù)據(jù)(時鐘速率<5ns,比如PCL84MHZ,30fps)VSYNC場同步信號輸出D[9:0]像素數(shù)據(jù)輸出RSTB復(fù)位輸入,低電平有效PWDN低功耗模式選擇輸入,正常工作期間需拉低SCLSCCB管理接口時鐘,最高頻率400KHzSDASCCB接口串行數(shù)據(jù)總線3、VL53L0X激光測距模塊概述VL53L0X是世界上體積最小的高精度激光測距傳感器,基于"飛行時間(TOF)"原理測距,最大測量距離可達到兩米。VL53L0X是ToF激光測距傳感器,利用飛行時間(ToF)原理,通過光子的飛行來回時間與光速的計算,實現(xiàn)測距應(yīng)用。VL53L0X傳感器的測距視場角(FOV)為25°,如下圖2-7所示:圖2-7測距視場角圖特性參數(shù)如表2-3。表2-3VL53L0X激光測距模塊特性參數(shù)列表接口特性3.3V/5V通訊接口IIC接口通訊速率400Khz(Max)測量精度±3%測量范圍3cm~200cm1響應(yīng)頻率20ms(Max)工作溫度-20℃-70℃存儲溫度-40℃-85℃模塊尺寸16mm*16mm電源電壓3.3V/5VIO口電平3.3V功耗12~20maATK-VL53L0X模塊實物圖如圖2-8所示:圖2-8ATK-VL53L0X模塊實物圖引腳說明如表2-4。表2-4ATK-VL53L0X引腳說明VCC3.3V/5V電源輸入GND地線IIC_SCLIIC通信時鐘線IIC_SDAIIC通信數(shù)據(jù)線VL_INT中斷輸出引腳VL_XSH片選使能4、2.8寸TFT-LCD顯示屏ili9341模塊概述TFT-LCD顯示屏ili9341模塊是一個支持分辨率為240RGBx320點陣的a-TFTLCD的262144色單片驅(qū)動器。這個單片驅(qū)動器包含了一個720通道的源極驅(qū)動器(sourcedriver),一個320通道的柵極驅(qū)動器,172800字節(jié)的GRAM用于顯示240RGBx320分辨率的圖片數(shù)據(jù),一套電源支持電路。下圖2-9為TFT-LCD顯示屏ili9341模塊實物圖:圖2-9TFT-LCD顯示屏ili9341模塊實物圖下圖2-10為TFT-LCD顯示屏ili9341模塊引腳圖:圖2-10TFT-LCD顯示屏ili9341模塊引腳圖TFTLCD接口說明如表2-5。表2-5TFTLCD接口DB1~DB8,DB10~DB17:總是按順序連接MCU的D0~D15LCD_CS:LCD片選信號LCD_WR:LCD寫信號LCD_RD:LCD讀信號DB[17:1]:16位雙向數(shù)據(jù)線。LCD_RST:硬復(fù)位LCD信號(與MCU復(fù)位引腳相連)LCD_RS:命令/數(shù)據(jù)標志BL_CTR:背光控制信號5、L298N電機驅(qū)動模塊概述下圖2-11為L298N電機驅(qū)動模塊實物圖:圖2-11L298N電機驅(qū)動模塊實物圖L298N是一種單H橋電機驅(qū)動芯片,其中每個H橋可以提供2A的電流,功率部分的供電電壓范圍是2.5-48v,邏輯部分5v供電,接受5vTTL電平。一般情況下,功率部分的電壓應(yīng)大于6V否則芯片可能不能正常工作。ENA、ENB為使能信號,高電平有效,可以接單片機PWM信號,控制轉(zhuǎn)速。IN1、IN2、IN3、IN4為電機旋轉(zhuǎn)方向控制信號,接單片機。OUT1、OUT2、OUT3、OUT4接在電機的兩端,隨IN1、IN2、IN3、IN4的變化而變化,從而可以控制電機方向。L298N電機驅(qū)動模塊參數(shù)如表2-6。表2-6L298N電機驅(qū)動模塊參數(shù)驅(qū)動芯片L298N雙H橋直流電機驅(qū)動芯片驅(qū)動部分端子供電范圍Vs+5V~+35V如需要板內(nèi)取電,則供電范圍驅(qū)動部分峰值電流2A邏輯部分端子供電范圍Vss+5V~+7V(可板內(nèi)取電+5V)邏輯部分工作電流范圍0~36mA控制信號輸入電壓范圍低電平:-0.3V≤Vin≤1.5V高電平:2.3V≤Vin≤Vss使能信號輸入電壓范圍低電平:-0.3≤Vin≤1.5V(控制信號無效)高電平:2.3V≤Vin≤Vss(控制信號有效)最大功耗20W(溫度T=75℃時)存儲溫度-25℃~+130℃驅(qū)動板尺寸48mm*43mm*33mm(帶固定銅柱和散熱片高度)三、系統(tǒng)的硬件設(shè)計本次基于STM32單片機設(shè)計的垃圾清理潛水艇由VL53L0X激光測距模塊、2.8寸TFT-LCD液晶顯示模塊、ov7725攝像頭模塊、按鍵電路、L298N電機驅(qū)動模塊、STM32F103ZET6單片機主控電路組成。VL53L0X主要是將光信號轉(zhuǎn)換成電信號從而實現(xiàn)距離數(shù)據(jù)的采集,ov7725攝像頭模塊通過鏡頭生成的光學圖像將景物投射到圖像傳感器表面上,然后轉(zhuǎn)為電信號,經(jīng)過A/D轉(zhuǎn)換后變?yōu)閿?shù)字圖像信號,從而實現(xiàn)圖像的采集;然后STM32單片機將采集到的距離數(shù)據(jù)和圖像數(shù)據(jù)進行處理并顯示在LCD液晶顯示屏上。L298N電機驅(qū)動模塊可處理STM32單片機發(fā)送的指令從而達到更多效控制電機的作用。下圖3-1為硬件模塊電路的總圖:圖3-1硬件模塊電路總圖(一)電源電路本次基于STM32單片機設(shè)計的垃圾清理潛水艇,系統(tǒng)使用了直流5V供電,電源模塊的硬件部分包括座子和開關(guān)兩部分,座子負責連接電源插頭,開關(guān)負責控制電路開關(guān)。電源接口U1接入電源,由MP2303A穩(wěn)壓芯片進行穩(wěn)壓控制,電源指示燈兩滅顯示電源連接情況;電源電路有兩種供電方式,一種是直接接入正負極電源供電,一種是使用USB供電。下圖3-2為電源電路:圖3-2電源電路(二)按鍵控制電路本次基于STM32單片機設(shè)計的垃圾清理潛水艇,設(shè)計有按鍵電路用于實現(xiàn)人機交互功能,該按鍵電路由幾個按鍵開關(guān)相互并聯(lián)組成,按鍵電路一端進行接地,另一端與STM32單片機的串口進行連接。當按鍵模塊未被按下時,引腳和地處于中斷狀態(tài),因此STM32單品機的引腳會處于高電平狀態(tài)。當按鍵模塊被按下時,引腳接地,此時STM32單品機的引腳會接收到低電平。通過對按鍵電路進行高低電平的掃描,即可判斷按鍵是否被按下。由于按鍵觸發(fā)采用的是物理原理,會產(chǎn)生抖動的現(xiàn)象,因此需要編寫程序進行去抖,以避免按鍵的誤識別。K1、K2、K3分別連接STM32單片機的PA0、PE4、PE3.下圖3-3為按鍵電路:圖3-3按鍵電路(三)ov7725模塊電路本次基于STM32單片機設(shè)計的垃圾清理潛水艇,主控板上設(shè)計的專門連接ov7725攝像模塊的電路,輸入電流為3.3V,通信方式為SPI通信,共有18個引腳。其中D0~D7引腳連接的STM32引腳為PC0~PC7。SCL和SDA引腳分別連接STM32引腳PD3和PG13。FIFO引腳從左到右RCLK,WEN,WRST,RRST,OE連接STM32引腳依次是PB4,PB3,PD6,PG14,PG15。VSYNC引腳連接STM32引腳PA8。圖3-4為ov7725模塊電路:圖3-4ov7725模塊電路(四)LCD顯示電路在進行本次基于STM32單片機設(shè)計的垃圾清理潛水艇設(shè)計時,使用了2.8寸TFTLCD液晶顯示模塊來實現(xiàn)攝像顯示,該顯示屏分辨率為240×320,有16位色顯示支持,驅(qū)動IC為ILI9341V,Pin腳為33。下圖3-5為TFT-LCD顯示電路:圖3-5TFT-LCD顯示電路(五)VL53L0X激光測距模塊電路本次設(shè)計的基于STM32的垃圾清理潛水艇,使用了VL53L0X激光測距模塊來實現(xiàn)測量潛水艇本身與水底的距離。該模塊體積十分小巧,價格也是非常的低廉。VL53L0X激光測距模塊運行時的電壓為3.3V,STM32單片機可以直接進行驅(qū)動。VL53L0X激光測距模塊將測量的數(shù)據(jù)發(fā)送給STM32單片機,單片機將數(shù)據(jù)處理完發(fā)送到LCD顯示屏顯示距離。XSH引腳連接STM32的PA15引腳,INT引腳連接STM32的PA4引腳,SDA引腳連接STM32的PB10引腳,SCL引腳連接STM32的PB11引腳,VCC引腳連接5V引腳。下圖3-6為VL53L0X激光測距模塊電路:圖3-6VL53L0X激光測距模塊電路(六)L298N電機驅(qū)動模塊電路本次設(shè)計的基于STM32的垃圾清理潛水艇,使用了L298N電機驅(qū)動模塊來實現(xiàn)電機驅(qū)動控制來實現(xiàn)潛水艇的前進、轉(zhuǎn)彎。L298N有六個輸入,分別是IN1、IN2控制電機1的正反轉(zhuǎn)(高低電平);IN3、IN4控制電機2的正反轉(zhuǎn)(高低電平);ENA控制電機1調(diào)速(pwm波);ENB控制電機2調(diào)速(pwm波)。共有四個輸出,分別是OUT1、OUT2接電機1;OUT3、OUT4接電機2。vss和vs分別接芯片的供電電壓和電機的額定電壓,用兩個電容是為了濾波D1—D8是八個續(xù)流二極管,起到保護作用。IN1、IN2分別連接STM32的PA1和PA2引腳,ENA連接STM32的PA3引腳,IN3、IN4分別連接STM32的PF1和PF2引腳,ENB連接STM32的PF3引腳。圖3-7為L298N電機驅(qū)動模塊電路:圖3-7L298N電機驅(qū)動模塊電路四、系統(tǒng)的軟件設(shè)計(一)軟件主程序當垃圾清理潛水艇系統(tǒng)硬件部分設(shè)計完畢后,即可進行系統(tǒng)軟件部分的設(shè)計。再進行系統(tǒng)程序的編寫前,應(yīng)先把整體的流程圖設(shè)計好,并根據(jù)先后順序完成程序的編寫任務(wù)。系統(tǒng)啟動后會先完成初始化,之后模塊都開始正常的運行。VL53L0X會將測量到的數(shù)據(jù)傳輸給STM32單片機,ov7726攝像模塊同樣會將數(shù)據(jù)傳輸給STM32單片機,單片機會將處理好的VL53L0X數(shù)據(jù)和ov7726攝取的圖像顯示在TFT-LCD液晶顯示模塊上,由按鍵控制VL53L0X數(shù)據(jù)和ov7726攝取的圖像的顯示轉(zhuǎn)換,按鍵按下,TFT-LCD顯示由VL53L0X數(shù)據(jù)轉(zhuǎn)變?yōu)閛v7726攝取的圖像的顯示,按鍵再按下,TFT-LCD顯示由ov7726攝取的圖像的顯示轉(zhuǎn)變?yōu)閂L53L0X數(shù)據(jù)顯示,以此類推。按鍵輸入指令給STM32單片機,單片機控制L298N電機驅(qū)動模塊控制電機實現(xiàn)潛水艇的前進和轉(zhuǎn)彎,單片機直接控制一小功率電機電路實現(xiàn)潛水艇的上浮和下沉。下圖4-1為程序的主流程圖:開始開始按鍵0是否按下測距LCD顯示距離圖像采集LCD顯示圖像按鍵輸入電機驅(qū)動否是圖4-1程序主流程圖(二)VL53L0X程序垃圾清理潛水艇上電后,VL53L0X激光測距模塊開始運行,按鍵按下,此時STM32單片機需要通過串口向VL53L0X激光測距模塊發(fā)送開始信號,VL53L0X激光測距模塊進行距離測量,再接收到信號后會向單品機傳輸采集到的距離數(shù)據(jù)。STM32單片機接收到VL53L0X激光測距模塊傳輸?shù)臄?shù)字信號會將距離數(shù)據(jù)顯示在LCD液晶顯示模塊上。下圖4-2為VL53L0X激光測距流程圖:開始開始啟動信號距離測量發(fā)送給STM32返回圖4-2VL53L0X激光測距流程圖(三)LCD液晶顯示模塊程序LCD液晶顯示模塊負責進行測距顯示、攝像顯示。系統(tǒng)上電后,顯示模塊會先執(zhí)行初始化程序、屏幕清空、內(nèi)部存儲清空。初始化完畢后顯示模塊會與STM32單片機維持雙向通信,STM32單品機會控制LCD液晶顯示模塊屏幕亮度及內(nèi)部,延遲一段時間后會持續(xù)的更新環(huán)境數(shù)據(jù)。下圖4-3為顯示模塊流程圖:子程序入口子程序入口LCD初始化LCD清屏STM32向LCD寫命令STM32向LCD寫數(shù)據(jù)顯示數(shù)據(jù)返回否是圖4-3顯示模塊流程圖(四)ov7725攝像程序垃圾清理潛水艇上電后,ov7725攝像頭模塊開始運行,按鍵松開,此時STM32單片機需要通過串口向ov7725攝像頭模塊發(fā)送開始信號,ov7725攝像頭模塊進行攝像,再接收到信號后會向單品機傳輸采集到的攝像數(shù)據(jù)。STM32單片機接收到ov7725攝像頭模塊傳輸?shù)臄?shù)字信號會將圖像數(shù)據(jù)顯示在LCD液晶顯示模塊上。下圖4-4為ov7725攝像頭模塊流程圖:開始開始啟動信號攝像發(fā)送給STM32返回圖4-4ov7725攝像頭模塊流程圖(五)按鍵子程序垃圾清理潛水艇共設(shè)計了5個按鍵,分別是顯示模式切換鍵、上浮鍵、下沉鍵、前進鍵、轉(zhuǎn)向鍵(上浮鍵、下沉鍵、前進鍵、轉(zhuǎn)向鍵統(tǒng)稱為“運動操控鍵”),顯示模式切換鍵按下為顯示模式1,即可在LCD顯示距離,顯示模式切換鍵松開為顯示模式2,LCD顯示圖像;點擊上浮鍵則潛水艇進行上浮運動;點擊下沉鍵則潛水艇進行下沉運動;點擊前進鍵則潛水艇進行前進運動,點擊轉(zhuǎn)向鍵則潛水艇進行轉(zhuǎn)向運動。按鍵點擊后會產(chǎn)生低電平,因此單品機只要掃描按鍵電路的高低電平狀態(tài)即可判斷按鍵是否被按下。下圖4-5為按鍵子程序流程圖:開始開始顯示模式切換鍵是否按下模式1模式2返回運動操控鍵是否按下電機轉(zhuǎn)動是否是圖4-5按鍵子程序流程圖(六)電機驅(qū)動程序按鍵輸入后,單片機將控制程序發(fā)送給L298N,L298N控制前進和轉(zhuǎn)向的電機,另由單片機直接控制另一個小功率的控制上浮下沉的電機。下圖4-6是電機驅(qū)動程序流程圖。子程序入口子程序入口電機驅(qū)動返回圖4-6電機驅(qū)動程序流程圖

五、仿真和調(diào)試(一)焊接調(diào)試在完成垃圾清理潛水艇的硬件部分及軟件部分的設(shè)計后,下面開始進行元器件的焊接調(diào)試。首先準備好焊接工具及元器件。并根據(jù)原理圖進行單品機電路的焊接工作。元器件焊接的過程中需要注意焊點是否牢固避免虛焊,線路連接是否正確通暢。在完成硬件的焊接后,即可將程序燒錄至STM32單片機里進行功能測試。系統(tǒng)的初次上電前,應(yīng)注意觀察硬件情況避免出現(xiàn)過熱導(dǎo)致元器件損壞,當出現(xiàn)異?,F(xiàn)象時應(yīng)及時關(guān)閉電源,排查問題后再繼續(xù)通電測試。(二)功能調(diào)試下面開始對基于STM32單品機垃圾清理潛水艇進行功能調(diào)試,系統(tǒng)上電后會先執(zhí)行初始化,按鍵按下之后進入模式1,VL53L0X激光測距模塊開始測量距離數(shù)據(jù),并由STM32單片機顯示在LCD液晶顯示模塊上。圖5-1模式1顯示測量距離按鍵松開之后進入模式2,ov7725攝像頭模塊開始攝像,并由STM32單片機顯示在LCD液晶顯示模塊上。圖5-2模式2顯示影像潛水艇內(nèi)部放有獨立供電的照明燈,照明燈可以將潛水艇下方的視野照亮,從而讓攝像頭攝像更加清楚。圖5-3潛水艇底部照明燈潛水艇內(nèi)部置有控制潛水艇上浮下沉的裝置,電機正轉(zhuǎn),活塞向后運動,吸水,從而使?jié)撍鲁?;電機反轉(zhuǎn),活塞向前運動,排水,從而使?jié)撍细?。圖5-4控制潛水艇上浮,下沉裝置潛水艇外部放置螺旋槳1,電機正轉(zhuǎn),螺旋槳給予潛水艇推力,使?jié)撍斑M,側(cè)方位放置控制轉(zhuǎn)向的螺旋槳2,螺旋槳2正轉(zhuǎn),潛水艇向左轉(zhuǎn),螺旋槳2反轉(zhuǎn),潛水艇向右轉(zhuǎn)。圖5-5潛水艇推進器六、總結(jié)與展望(一)總結(jié)垃圾清理潛水艇的設(shè)計量非常龐大,首先是對于各個模塊進行選型,然后是進行電路圖的繪制,利用所學到的數(shù)字電路以及模擬電路的相關(guān)知識,有條不紊的完成了硬件部分的設(shè)計;接著是潛水艇的軟件設(shè)計,顯示對于各個模塊逐個進行編程,最后將所有程序進行整合優(yōu)化;然后按照原理圖進行焊接,調(diào)試,最后完成設(shè)計。該設(shè)計可以憑借水下運動以及攝像進行垃圾收集的一個潛水艇,具有一般潛水艇的上浮下沉,前進轉(zhuǎn)向的基本功能,還有攝像,測距,照明的輔助功能,這些功能組成了一個可以水下收集垃圾的潛水艇,具有水下持續(xù)工作,操作簡單的特點。(二)展望通過這次畢業(yè)設(shè)計使我明白了自己原來知識還比較欠缺。自己要學習的東西還很多,學習是一個長期積累的過程,在以后的工作、生活中都應(yīng)該不斷的學習,此系統(tǒng)還需要進一步研究和改進,這就需要我們不斷的學習專業(yè)知識和提高實踐操作能力,為在以后的工作中打下堅實的基礎(chǔ)。此系統(tǒng)還需要進一步研究和改進的是:1.在選擇核心器件過程中需要慎重考慮,盡量把硬件電路簡化一點

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論