STM32自動搬貨機的設(shè)計與實現(xiàn)_第1頁
STM32自動搬貨機的設(shè)計與實現(xiàn)_第2頁
STM32自動搬貨機的設(shè)計與實現(xiàn)_第3頁
STM32自動搬貨機的設(shè)計與實現(xiàn)_第4頁
STM32自動搬貨機的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄TOC\o"1-3"\u摘要 IAbstract II第1章 引言 11.1 選題背景與意義 11.2 國內(nèi)外研究現(xiàn)狀和相關(guān)工作 21.3 本文的研究內(nèi)容與主要工作 21.4 本文的論文結(jié)構(gòu)與章節(jié)安排 3第2章 STM32自動搬貨機總體設(shè)計方案 42.1 Keil5開發(fā)環(huán)境 42.2 系統(tǒng)架構(gòu)設(shè)計 52.3 本章小結(jié) 6第3章 STM32自動搬貨機硬件設(shè)計 73.1 單片機最小系統(tǒng)電路設(shè)計 73.2 Wi-Fi模塊電路設(shè)計 83.3 藍牙模塊 93.4 TCS34725顏色識別傳感器 103.5 OLED顯示模塊 113.6 舵機模塊 123.7 按鍵 153.8 系統(tǒng)硬件整體設(shè)計 153.9 本章小結(jié) 18第4章 STM32自動搬貨機軟件程序設(shè)計 194.1 機械臂軟件總體結(jié)構(gòu)設(shè)計 194.2 機械臂自動化模式軟件構(gòu)造設(shè)計 214.3 機械臂藍牙模式軟件構(gòu)造設(shè)計 214.4 8266Wi-Fi模塊程序設(shè)計 224.5 HC-05藍牙模塊程序設(shè)計 244.6 TCS34725顏色識別傳感器程序設(shè)計 254.7 舵機模塊程序設(shè)計 274.8 本章小結(jié) 28第5章 系統(tǒng)功能測試 295.1 通信模塊測試 295.2 機械臂角度測試 345.3 本章小結(jié) 36第6章 總結(jié)與期望 376.1 工作總結(jié) 376.2 研究展望 38參考文獻 39本章節(jié)重點介紹了STM32自動搬貨機系統(tǒng)設(shè)計的背景和意義,通過對國內(nèi)外相關(guān)研究現(xiàn)狀的分析,詳細描述了主要工作內(nèi)容和章節(jié)布局安排。自古以來,人們就已經(jīng)開始研發(fā)機器人,旨在減輕人類的勞動負擔(dān)。歷來,人們一直致力于簡化生活方式。隨著科技與生活方式的不斷變化,無論是在工業(yè)制造領(lǐng)域還是民用領(lǐng)域,各類自動化,準(zhǔn)智能化的產(chǎn)品層出不窮。近幾年,使用智能機械臂的設(shè)備和企業(yè)正在快速增加,特別是大中及沿海城市,隨處可見的智能機械臂。因為世界科學(xué)技術(shù)和人類文明的不斷日益進步和創(chuàng)新已逐漸躋身成為當(dāng)前社會舞臺上至關(guān)重要的主導(dǎo)力量之一,積極地推進并逐步優(yōu)化我們的日常生活方式[1]。機械臂乃綜合多領(lǐng)域先進科技所鑄就之代表,融合了傳統(tǒng)機械構(gòu)造學(xué),以及現(xiàn)代電子、電機、計算機、控制、信息及傳感等尖端技術(shù)于一體。機械臂具備一種獨特且先進的仿生結(jié)構(gòu)設(shè)計理念、靈活自如、具備高性能的重復(fù)操作及精確的機電一體化控制特性,它能夠模擬人手的動作,根據(jù)指定的程序、軌跡和需求實現(xiàn)自動抓取和搬運任務(wù)。在實際生產(chǎn)中,機械臂的運用可以提升生產(chǎn)自動化水平和效率,降低工人的工作負擔(dān),保證產(chǎn)品品質(zhì)的穩(wěn)定性,更能有效推動安全生產(chǎn)理念的落實。在較為嚴(yán)峻的環(huán)境條件下,例如面對高熱、高壓、低溫和低壓、粉塵飛揚、易燃易爆以及存在有毒氣體或輻射源的工作場所,機械臂以其出色的功能表現(xiàn),可以代替我們?nèi)祟愅瓿烧5墓ぷ魅蝿?wù),從而將對人體健康構(gòu)成危害或者存在潛在風(fēng)險的生產(chǎn)操作過程解脫出來,因此具備了更大的價值和重要性[2]。全球機械臂市場規(guī)模已經(jīng)達到數(shù)十億美元,亞太地區(qū)占據(jù)了約40%的市場份額,而中國已成為全球第二大市場,市場規(guī)模超過10億美元。日系和歐洲系工業(yè)機器人公司是國際上的主要代表,例如ABB和KUKA,它們在全球市場上都擁有重要地位。雖然日本被譽為“機器人王國”,但中國在工業(yè)機器人領(lǐng)域取得了一系列重大突破,特別是在弧焊、點焊、噴漆和搬運等方面,并且自2010年以來,工業(yè)機器人裝機容量迅速增加,對整個機器人產(chǎn)業(yè)鏈進行全面發(fā)展。起步較晚的中國在80年代初進入工業(yè)機器人領(lǐng)域,整體技術(shù)水平相對較低。但是,經(jīng)過多年的發(fā)展和積累,國家科技部和相關(guān)部門將工業(yè)機器人納入科技研究計劃,推動了技術(shù)的快速發(fā)展。盡管市場需求量小和生產(chǎn)成本高等挑戰(zhàn)存在,但從2005年至2014年,中國工業(yè)機器人銷售額年均增長率高達32.9%,顯示出市場對該技術(shù)的強勁需求。從我國工業(yè)機械臂的供需來看,需求量遠遠大于產(chǎn)量,2023年我國工業(yè)機械臂的產(chǎn)量約為3.58萬臺,但需求量卻達到了11.7萬臺。對價格而言,國外機械臂的市場均價要高于國內(nèi)品牌,但隨著我國相關(guān)行業(yè)的發(fā)展,國外和國產(chǎn)品牌的價格逐漸接近。預(yù)計到2023年,國產(chǎn)品牌市場均價約為11.71萬元每臺,國外品牌約為14.32萬元每臺。此次研究中所策劃開發(fā)的這個項目旨在精簡并改進現(xiàn)有的機械手臂操作模式,無需再進行繁瑣費時的編程過程。機械手臂不僅可廣泛應(yīng)用于各類教學(xué)活動中,有效地替代人類完成簡單而繁復(fù)的搬運任務(wù),肩負起那些可能對人體健康造成損害甚至帶來安全隱患的重任[3]。研究內(nèi)容是關(guān)于自動搬運機器人技術(shù)的,主要包括機械臂系統(tǒng)設(shè)計和控制算法。同時,運用了現(xiàn)代化的技術(shù)手段,運用了8266無線模塊和藍牙模塊。這些模塊可以使機械臂系統(tǒng)與上位機或移動設(shè)備連接,從而實現(xiàn)遠程控制和實時監(jiān)測,提高了系統(tǒng)的可操作性和適應(yīng)性。我們還通過了顏色識別技術(shù)。通過相應(yīng)的傳感器模塊和圖像處理算法,機械臂可以準(zhǔn)確地識別不同顏色的目標(biāo)物體,實現(xiàn)智能化的搬運任務(wù)。除此之外,加入了攝像頭進行整個機械臂工作進行時刻監(jiān)視,保證整個工作過程的安全性[4]。本文共分為6章,章節(jié)內(nèi)容安排如下:第1章是引言,具體介紹了STM32自動搬貨機的研究背景及意義,分析了機械臂在國內(nèi)外研究現(xiàn)狀的綜述。第2章是系統(tǒng)總體設(shè)計方案,具體介紹了自動搬貨機的整體設(shè)計思路和方案,包括機械臂的基本架構(gòu)設(shè)計,通信技術(shù)的應(yīng)用以及傳感器的選擇與應(yīng)用第3章是硬件部分,具體介紹了自動搬運機的硬件設(shè)計,包括各個模塊的設(shè)計細節(jié)和原理,通過原理圖展示整個系統(tǒng)的連接方式。第4章是軟件部分,具體介紹了機械臂系統(tǒng)搭建過程,并通過流程圖展示了設(shè)計思路和實現(xiàn)方法。第5章是系統(tǒng)測試,具體介紹了通信模塊數(shù)據(jù)上傳的實現(xiàn)測試和舵機的角度測試,以及自動搬貨機的功能模塊實現(xiàn)流程。第6章是總結(jié)與展望,具體總結(jié)了整個機械臂項目的工作內(nèi)容,并指出了需要進一步改進的方向。本章描述自動搬貨機的整體結(jié)構(gòu)和各功能模塊的配合。在本項目中,我們主要采用了KeiluVision5軟件來進行代碼調(diào)試。它是專門為嵌入式系統(tǒng)開發(fā)而精心打造的。Keil為我們提供了一個極其高效且高度整合的開發(fā)環(huán)境,使得我們能更加輕松地對基于ARM架構(gòu)的微控制器程序進行編寫以及調(diào)試工作。并允許開發(fā)人員以高效的方式編寫、編譯和調(diào)試代碼。它還支持各種通信協(xié)議,如UART、SPI、I2C、CAN和USB。此外,IDE包括為常用函數(shù)預(yù)先構(gòu)建的代碼庫,從而減少了開發(fā)時間和工作量并提高效率。開發(fā)界面如下圖2-1所示:圖2-1KeilμVision5軟件開發(fā)界面系統(tǒng)架構(gòu)整體上就是各功能模塊與控制模塊進行連接,通過數(shù)據(jù)交互和控制指令的傳輸,實現(xiàn)自動搬貨機的全面控制和功能實現(xiàn)。2.2.1主控芯片STM32C8T6該項目采用STM32F103C8T6是一款性價比高、配備先進Cortex-M3內(nèi)核的微控制器芯片,具有低成本、低功耗和豐富的外圍設(shè)備,適用于各種應(yīng)用場景和夠容易新手操作[5]。配合各個傳感器能夠有效地支持搬貨機系統(tǒng)的設(shè)計和控制需求。2.2.2無線通信模塊無線通信模塊采用兩種芯片,一種是8266模塊有著無線互聯(lián)和遠程控制的能力,可通過將數(shù)據(jù)發(fā)送到串口來實現(xiàn)機械臂數(shù)據(jù)上傳云平臺,可實現(xiàn)遠程查看機械臂的工作參數(shù)。方便日后機械臂工作時發(fā)生角度誤差進行調(diào)整。另一種是藍牙是一種短距離無線通信技術(shù),是由藍牙模塊通過串口向單片機發(fā)送數(shù)據(jù),并單片機對機械臂執(zhí)行對應(yīng)的操作??赏ㄟ^手機app配合執(zhí)行模塊和攝像頭模塊實現(xiàn)遠程操控,操作簡單,給工作人員提供了便捷性。2.2.3顏色識別模塊選用顏色識別傳感器的原因是與傳統(tǒng)的機械臂相比,它更加智能和高效。顏色識別傳感器可以使機械臂系統(tǒng)實現(xiàn)自動化顏色識別和目標(biāo)定位,從而實現(xiàn)更精準(zhǔn)的操作和更高效的生產(chǎn)流程。通過當(dāng)光線照射到物體上時,物體會吸收部分光線并反射其他光線能夠準(zhǔn)確測量物體的顏色和光強度,得知物體的顏色。配合機械臂系統(tǒng)的執(zhí)行模塊對物體抓取到傳感器上面進行顏色識別。2.2.4執(zhí)行模塊舵機是一種關(guān)鍵的電子控制裝置,通過調(diào)節(jié)電壓來精確控制其旋轉(zhuǎn)角度。在機械臂中扮演著至關(guān)重要的角色,選擇合適的舵機直接決定了機械臂的性能和表現(xiàn)優(yōu)劣。它可以配合顏色識別模塊實行分揀功能,實現(xiàn)機械臂的運動控制和智能化功能。2.2.5攝像頭模塊采用的是7670攝像頭模塊,通過USB或其他接口與電子設(shè)備連接,實現(xiàn)實時視頻采集和傳輸??梢詴r刻觀察機械臂和各個模塊工作狀況,也同時保證了工作人員的安全性。本章節(jié)主要介紹STM32自動搬貨機總體設(shè)計方案的五個關(guān)鍵部分,開發(fā)環(huán)境包括軟件。本章主要介紹STM32自動搬貨機硬件搭建,詳述單片機最小系統(tǒng)電路和各個模塊電路。主控芯片相當(dāng)于系統(tǒng)工作的大腦,本設(shè)計選用的由意法半導(dǎo)體推出的STM32C8T6芯片,該芯片是一款高性能、低功耗的32位ARMCortex-M3微控制器的,它具有最高72MHz工作頻率,支持USB、SPI、I2C、串口通信、CAN等多種通信接口。STM32F103C8T6引腳圖如圖3-1所示。圖3-1STM32F103C8T6引腳圖基于STM32F103C8T6為主控芯片的最小系統(tǒng)只要包含五個部分,主控芯片引腳擴展,時鐘電路,復(fù)位電路,電源電路和USB下載電路。為單片機能獨立運行程序及控制外圍電路的最簡單電路。STM32單片機最小系統(tǒng)如圖3-2所示。圖3-2STM32單片機最小系統(tǒng)該項目Wi-Fi模塊采用的是樂鑫科技推出ESP8266-01s模塊。ESP8266模塊的RX和TX與單片機PA9和PA10端口交叉對應(yīng)連接,通過單片機的串口通信發(fā)送AT指令,模塊會執(zhí)行相應(yīng)的操作并控制ESP8266連接Wi-Fi網(wǎng)絡(luò)、發(fā)送數(shù)據(jù)即可成功在云平臺上顯示。ESP8266模塊引腳圖如圖3-3所示:圖3-3ESP8266模塊引腳圖在上云之前,根據(jù)手冊上面引腳介紹,將ESP8266的IO0端口接地進入下載模式,把MQTT協(xié)議固件燒錄進去,實現(xiàn)與MQTT服務(wù)器的連接,并使用MQTT協(xié)議在云平臺上進行消息的發(fā)布和訂閱。ESP8266-01S模塊引腳功能如表3-1所示。表3-1ESP8266-01S引腳功能表序號引腳名稱功能1RXDUART0_RXD/GPIO92IO0GPIO0;下載模式:外部拉低;運行模式:懸空或者外部拉高3GND接地43V33.3V供電5TXDUART0_TXD/GPIO10藍牙模塊選用的是HC-05藍牙模塊,支持藍牙2.0協(xié)議。該模塊可方便地與IT設(shè)備(如計算機),藍牙主控器及手機等終端設(shè)備連接并進行兼容通信。HC-05藍牙模塊引腳圖如圖3-4所示:圖3-4HC-05藍牙模塊引腳圖模塊與單片機的RX和TX接口交叉對應(yīng)連接進行異步串行通信,發(fā)送AT指令配置模塊。手機可以通過調(diào)試助手連接藍牙模塊,與單片機進行信息交互。HC-05藍牙模塊引腳功能如表3-2所示。表3-2HC-05藍牙模塊引腳功能表序號引腳名引腳說明1VCC5V供電2GND電源地3UART10_TXD串口輸出4UART9_RXD串口輸入該項目采用是一種高精度的TCS34725顏色識別傳感器,采用數(shù)字化RGB顏色和透明度測量技術(shù),通過當(dāng)光線照射到物體上時,物體會吸收部分光線并反射其他光線可檢測和識別各種顏色。TCS34725顏色識別傳感器引腳圖如圖3-5所示:圖3-5TCS34725顏色識別傳感器引腳圖TCS34725傳感器集成了紅、綠、藍三個光敏元件和一個透明度傳感器,能夠準(zhǔn)確地測量環(huán)境中的光強度和顏色。TCS34725傳感器通過單片機的PB10和PB11的I2C2接口與主控設(shè)備進行通信,應(yīng)用于對物體進行顏色的分類。TCS34725顏色識別傳感器引腳功能如表3-3所示。表3-3TCS34725顏色識別傳感器引腳功能表序號引腳名引腳說明1VCC5V供電2GND電源地3I2C_SDAI2C串行數(shù)據(jù)引腳4I2C_CLKI2C串行時鐘引腳OLED由于同時具備自發(fā)光,不需背光源,對比度高,厚度薄,視角廣等優(yōu)異之特性。因此,該項目選擇0.96寸OLED顯示模塊采用的是I2C接口進行通信,并搭載了驅(qū)動芯片SSD1306。本款顯示器分辨率達128*64,配置黃/藍、白及藍等多種顏色供選,用以呈現(xiàn)影像信息。OLED顯示屏模塊引腳圖如圖3-6所示。圖3-6OLED顯示屏模塊引腳圖根據(jù)模塊的數(shù)據(jù)手冊上面的指示,單片機使用IIC通信協(xié)議,可以向0.96寸OLED顯示屏發(fā)送命令和數(shù)據(jù),以控制其顯示內(nèi)容、亮度、對比度和顏色等參數(shù)。從而實現(xiàn)對OLED顯示屏的控制以及顯示的內(nèi)容。OLED顯示屏模塊引腳功能如表3-4所示。表3-4OLED顯示屏模塊引腳功能表序號引腳名引腳說明1VCC3.3V供電2GND電源地3I2C_SDAI2C串行數(shù)據(jù)引腳4I2C_CLKI2C串行時鐘引腳本設(shè)計采用了三款舵機:SG90,MG90和MG995。它們都屬于微型舵機,有著準(zhǔn)確的角度控制功能。它們工作電壓相同,但這些舵機的扭矩、速度和精度等方面有所不同[6]。舵機模塊引腳圖如圖3-7所示。圖3-7舵機模塊引腳圖SG90舵機最小,扭矩較小,速度較慢用于機械臂夾子。SG90舵機實物圖如圖3-7(a)所示。圖3-7(a)SG90舵機實物圖MG90舵機是高精度、高速的舵機,用于機械臂的轉(zhuǎn)臺。MG90舵機實物圖如圖3-7(b)所示。圖3-7(b)MG90舵機實物圖MG995舵機是一款高扭矩舵機,速度快,用于機械臂的小臂和大臂。SG90舵機實物圖如圖3-7(c)所示。圖3-7(c)MG995舵機實物圖根據(jù)舵機的數(shù)據(jù)手冊,本設(shè)計采用是定時器2里面的4個通道,通過PWM信號來控制,舵機在接收500到2500微秒的脈沖寬度范圍,對應(yīng)0到180度的角度范圍。舵機模塊引腳功能如表3-5所示。表3-5舵機模塊引腳功能表序號引腳名引腳說明1VCC5V供電2GND電源地3Signal接收脈沖信號按鍵作為重要的人機交互工具,在機械臂控制系統(tǒng)中扮演著至關(guān)重要的角色。按鍵實物圖如圖3-8所示。按鍵的設(shè)計旨在實現(xiàn)用戶友好的操作體驗,使用戶能夠方便地切換機械臂的工作模式。具體來說,按鍵的一端連接到單片機的引腳PB1,另一端連接到GND。通過按鍵,可以自由切換機械臂的自動化模式和藍牙模式的工作模式。實現(xiàn)自主操作和自動化控制、使機械臂更靈活、便捷的操作。圖3-8按鍵實物圖在模塊決定完成后,還要考慮到硬件模塊之間的協(xié)同工作以及與外部設(shè)備的接口和通信,以確保整個系統(tǒng)的高效運行和可靠性。3.8.1系統(tǒng)硬件結(jié)構(gòu)設(shè)計本文設(shè)計選擇的模塊有:STM32C8T6主控芯片、ESP8266-01S模塊、HC-05藍牙模塊,OLED顯示模塊,TCS34725顏色識別傳感器,SG-90舵機,OV7670攝像頭和按鍵。主控芯片負責(zé)系統(tǒng)控制和模塊協(xié)調(diào),WIFI通信模塊實現(xiàn)無線通信,藍牙模塊實現(xiàn)手機APP控制,顏色識別模塊識別貨物顏色,OLED顯示屏顯示狀態(tài)信息,按鍵模塊實現(xiàn)切換控制模式,舵機實現(xiàn)抓取和放置貨物動作,共同構(gòu)成了一個智能化、遠程可控的自動搬貨機系統(tǒng)。系統(tǒng)硬件結(jié)構(gòu)圖如圖3-9所示。圖3-9系統(tǒng)硬件結(jié)構(gòu)圖3.8.2系統(tǒng)硬件搭建一開始用面包板將各個模塊進行連接測試查看數(shù)據(jù),檢查模塊是否正常工作,以及模塊的引腳是否有沖突。用面包板的好處是方便電路測試過程中可以隨意調(diào)整和修改,可滿足不同的設(shè)計需求。在確認各模塊引腳連接和功能之后,通過嘉立創(chuàng)軟件在原理圖把各個模塊端口與主控芯片進行連接,然后對PCB進行連線布局,將這些連接轉(zhuǎn)化為實際的物理布局,并擺放均衡整齊。PCB布局圖如圖3-10所示。最后對電路板檢查是否存在虛焊,斷路,短路和PCB布線錯誤等情況。3D效果圖如圖3-11所示。圖3-10PCB布局圖圖3-113D效果圖對電路板完成焊接后,為了防止芯片給各模塊供電電壓不足的問題,外圍接一個電源模塊給各模塊提供穩(wěn)定的3.3v和5v。接著,組裝機械臂的3D打印零件即可完成自動搬貨機硬件部分。自動搬貨機實物圖如圖3-12所示。圖3-12自動搬貨機實物圖本節(jié)主要講述自動搬運機器的硬件設(shè)計方案。具體闡述各部分在項目中的角色并剖析其相應(yīng)的接口作用和連接圖表。本章節(jié)介紹STM32自動搬貨機的軟件程序設(shè)計,包括自動搬貨機軟件整體結(jié)構(gòu),終端程序流程,各模塊程序的設(shè)計。STM32自動搬貨機的控制方式有自動化控制和藍牙控制。這兩個模式可通過按鍵隨時切換自動模式和手動模式。機械臂軟件總體結(jié)構(gòu)圖如圖4-1所示。自動化模式由主控芯片控制四個舵機,實現(xiàn)物體抓取、TCS34725顏色識別和分類、物體放置等操作。數(shù)據(jù)通過主控芯片上傳至OLED顯示模塊、Wi-Fi模塊和云平臺,實現(xiàn)遠程監(jiān)控。通過將藍牙模式設(shè)定為STM32主控芯片與HC-05藍牙模塊的串口通訊方式,可以使用手機上的調(diào)試助手輕松實現(xiàn)單片機的信息交互,控制機械臂上的舵機執(zhí)行相應(yīng)操作。OV7670攝像頭模塊監(jiān)視??蓪崿F(xiàn)手動控制機械臂。圖4-2機械臂軟件設(shè)計流程圖。圖4-1機械臂軟件總體結(jié)構(gòu)圖圖4-2機械臂軟件設(shè)計流程圖自動化模式是通過STM32主控芯片控制四個舵機控制機械臂的動作。首先,先把物體進行抓取,放在TCS34725顏色識別傳感器上進行顏色識別,傳感器采集到的數(shù)據(jù)都匯集到單片機進行分析處理,對顏色進行分類操作,機械臂把物體放在對應(yīng)的位置上。在這個過程中機械臂的舵機角度以及識別的顏色會通過主控芯片給OLED顯示模塊和Wi-Fi模塊與云平臺建立通信,上傳數(shù)據(jù)??蓪崿F(xiàn)遠近距離實時查看機械臂工作狀態(tài),保證時刻觀察機械臂的精準(zhǔn)度。自動化模式軟件流程圖如圖4-3所示。圖4-3自動化模式軟件流程圖藍牙模式是STM32主控芯片通過異步串行通信接口與藍牙模塊進行通信,手機可以通過調(diào)試助手連接藍牙模塊,與單片機進行信息交互[7]。當(dāng)手機給它發(fā)送指令就會反饋回單片機,單片機將控制機械臂上面的舵機執(zhí)行相對應(yīng)的操作。在這個過程中OV7670攝像頭模塊會時刻監(jiān)視著機械臂的工作狀態(tài),可在機械臂出現(xiàn)任何意外時馬上發(fā)現(xiàn)并停止,保證了工作時候的安全性。藍牙模式軟件流程圖如圖4-4所示。圖4-4藍牙模式軟件流程圖Wi-Fi模塊程序采用ESP8266-01S作為通信模塊。首先對8266Wi-Fi模塊進行初始化,然后通過單片機的串口發(fā)送AT指令A(yù)T+CWJAP來連接到手機熱點。接著利用MQTT客戶端庫連接到阿里云IoT平臺的物聯(lián)網(wǎng)平臺,并設(shè)置好設(shè)備ID、密鑰和你期望的設(shè)備名字。然后等待通信連接成功后可把將數(shù)據(jù)上傳。最后在阿里云IoTStudio可視化開發(fā)工具中進行數(shù)據(jù)顯示。IoTStudio可視化開發(fā)工具如圖4-5所示。圖4-5IoTStudio可視化開發(fā)工具8266Wi-Fi模塊程序主要代碼如下:uint8_tesp8266_Init(void){ memset(RECS,0,sizeof(RECS)); printf("AT+RST\r\n");//重啟 Delay_ms(1500); memset(RECS,0,sizeof(RECS)); printf("ATE0\r\n");//關(guān)閉回顯 Delay_ms(10); if(strcmp(RECS,"OK")) return1; printf("AT+CWMODE=1\r\n");//Station模式 Delay_ms(1000); if(strcmp(RECS,"OK")) return2; memset(RECS,0,sizeof(RECS)); printf("AT+CWJAP=\"%s\",\"%s\"\r\n",WIFI,WIFIASSWORD);//連接熱點 Delay_ms(1500); if(strcmp(RECS,"OK")) return3; memset(RECS,0,sizeof(RECS)); printf("AT+MQTTUSERCFG=0,1,\"%s\",\"%s\",\"%s\",0,0,\"\"\r\n",ClintID,username,passwd);//用戶信息配置 Delay_ms(20); if(strcmp(RECS,"OK")) return4; memset(RECS,0,sizeof(RECS)); printf("AT+MQTTCONN=0,\"%s\",1883,1\r\n",Url);//連接服務(wù)器 Delay_ms(1000); if(strcmp(RECS,"OK")) return5; printf("AT+MQTTSUB=0,\"%s\",1\r\n",subtopic);//訂閱消息 Delay_ms(500); if(strcmp(RECS,"OK")) return6; memset(RECS,0,sizeof(RECS)); return0;}HC-05藍牙模塊是一種短距離無線通信技術(shù),首先將藍牙和MCU的波特率、奇偶校驗位和模式等配置的初始化,使用AT+ROLE指令將藍牙模塊設(shè)置為主機后,從而搜索其他藍牙設(shè)備并積極與其創(chuàng)建連接。當(dāng)我們設(shè)置好所有的藍牙參數(shù)之后,通過串口與主控芯片通信以實現(xiàn)數(shù)據(jù)傳輸。HC-05藍牙模塊程序流程圖如圖4-6所示。圖4-6HC-05藍牙模塊程序流程圖藍牙模塊程序主要代碼如下:voidUSART1_IRQHandler(void){ if(USART_GetITStatus(USART1,USART_IT_RXNE)==SET) { RxData=USART_ReceiveData(USART1); //接收數(shù)據(jù) RxFlag=1; //標(biāo)志位 USART_ClearITPendingBit(USART1,USART_IT_RXNE); //清除標(biāo)志位 }}本模塊是amsAG的TCS34725FN彩色光數(shù)字轉(zhuǎn)換器為核心的顏色傳感器,不像以前的傳感器是用過中斷的方式計數(shù)獲取數(shù)據(jù)。該模塊的支持I2C和串口的方式進行采集數(shù)據(jù)。.主要的流程有讀取設(shè)備識別號、設(shè)置集成時間、設(shè)置增益倍數(shù)、啟動傳感器和獲取采集數(shù)據(jù)。TCS34725顏色識別傳感器程序流程圖如圖4-7所示。圖4-6TCS34725顏色識別傳感器程序流程圖讀取設(shè)備識別號可以快速驗證接線和I2C驅(qū)動是否正常,根據(jù)查看手冊一般設(shè)備識別號的寄存器是0x12。不同的集成時間對應(yīng)的采集范圍和采樣時間不同,計算方式是:最大RGBC計數(shù)=(256-cycles)×1024,集成時間≈(256-255)×2.4ms,其中cycles是寫入0x01寄存器中的值。設(shè)置增益倍數(shù)作用是提高采集的敏感度,可以設(shè)置的增益倍數(shù)是:1、4、16、60[8]。采集數(shù)據(jù)為核心部分代碼如下:uint8_tget_tcs34725_rgbc(uint16_t*colour_r,uint16_t*colour_g,uint16_t*colour_b,uint16_t*colour_c){uint8_tRGB_err=0;RGB_err=tcs34725_read16(TCS34725_RDATAL,colour_r);RGB_err=tcs34725_read16(TCS34725_GDATAL,colour_g);RGB_err=tcs34725_read16(TCS34725_BDATAL,colour_b);RGB_err=tcs34725_read16(TCS34725_CDATAL,colour_c);returnRGB_err;}舵機是機械臂的靈魂,本設(shè)計采用四個不一樣的舵機,分別SG90,MG90和兩個MG995,都是通過主控芯片定時器2的4個通道產(chǎn)生脈沖寬度來控制精準(zhǔn)控制,脈沖寬度在0.5毫秒到2.5毫秒之間從而能精準(zhǔn)控制舵機角度。定時每20ms進入中斷控制對應(yīng)的舵機角度加1,這樣即可形成穩(wěn)定流暢一套動作流程[9]。舵機模塊程序流程圖如圖4-8所示。圖4-8舵機模塊程序流程圖舵機程序主要代碼如下:TIM_OCInitTypeDefTIM_OCInitStructure;TIM_OCStructInit(&TIM_OCInitStructure); TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;TIM_OCInitStructure.TIM_Pulse=1500; //CCRTIM_OC1Init(TIM2,&TIM_OCInitStructure); //初始化外設(shè)TIM2OC1TIM_OC2Init(TIM2,&TIM_OCInitStructure);//初始化外設(shè)TIM2OC2TIM_OC3Init(TIM2,&TIM_OCInitStructure);TIM_OC4Init(TIM2,&TIM_OCInitStructure);TIM_Cmd(TIM2,ENABLE);voidMearm_GetAngle(floatAngle,uint8_tSetComparex){ Angle=Angle/180*2000+500; if(SetComparex=='O') //夾子 TIM_SetCompare1(TIM2,Angle); elseif(SetComparex=='S'||SetComparex=='X')//上下 TIM_SetCompare2(TIM2,Angle); elseif(SetComparex=='A'||SetComparex=='B')//前后 TIM_SetCompare3(TIM2,Angle); elseif(SetComparex=='Z'||SetComparex=='Y')//左右 TIM_SetCompare4(TIM2,Angle); }本章主要介紹了STM32自動搬貨機的藍牙模式和自動化模式兩種控制方式,通過8266和藍牙模塊這兩種通信模塊的近距離和遠距離通信控制以及查看工作數(shù)據(jù),并且還介紹了搬貨機中采用的顏色識別模塊和舵機核心模塊的軟件設(shè)計。本章主要介紹兩個通信模塊數(shù)據(jù)上傳的實現(xiàn)測試和舵機的角度測試,以及自動搬貨機的功能模塊實現(xiàn)流程。由于藍牙模塊和8266共用串口1,為了避免藍牙模塊和8266的數(shù)據(jù)上傳沖突,可以通過按鍵切換兩個功能的工作狀態(tài)。當(dāng)藍牙模塊工作時,ESP8266停止上傳數(shù)據(jù);當(dāng)ESP8266工作時,藍牙模塊停止工作。這樣可以確保兩個功能不會同時上傳數(shù)據(jù),從而避免沖突。5.1.1阿里云平臺數(shù)據(jù)上傳測試一開始在連接WiFi時,ESP8266模塊需要穩(wěn)定的電壓供應(yīng)來正常工作。由于廠家建議的工作電壓是3.3V,電壓不穩(wěn)定會導(dǎo)致WiFi連接問題,連接上后立即斷開并重新連接,甚至可能導(dǎo)致通信數(shù)據(jù)出現(xiàn)亂碼。通信亂碼如圖5-1所示。經(jīng)過多次嘗試一度以為是芯片本身存在問題。之后經(jīng)過反復(fù)測試和網(wǎng)上查閱資料后,最終發(fā)現(xiàn)將ESP8266模塊接上5V穩(wěn)定電壓后,問題得到解決,WiFi連接穩(wěn)定,不再出現(xiàn)斷開和亂碼情況。圖5-1通信亂碼圖成功后通過阿里云IoT平臺提供的MQTT服務(wù)器,利用代碼通過串口通信配置好8266的Wi-Fi名稱密碼,設(shè)備ID和設(shè)備密鑰等相關(guān)參數(shù),連接上阿里云平臺。成功將數(shù)據(jù)上傳云端如圖5-2所示圖5-2數(shù)據(jù)上傳云端圖創(chuàng)建一個產(chǎn)品,在其中定義設(shè)備的屬性,包括各個舵機的角度和識別的顏色,并確保為它們指定合適的數(shù)據(jù)類型。通過這樣的設(shè)置,實現(xiàn)設(shè)備與平臺之間的數(shù)據(jù)交互,可以更好地管理和控制設(shè)備的舵機角度和顏色識別數(shù)據(jù)。成功實現(xiàn)舵機角度和顏色數(shù)據(jù)顯示如圖5-3所示圖5-3舵機角度和顏色數(shù)據(jù)顯示圖經(jīng)過對阿里云物聯(lián)網(wǎng)平臺的IoTStudio工具進行排查后,發(fā)現(xiàn)在上傳顏色數(shù)據(jù)時出現(xiàn)了問題。數(shù)據(jù)上傳失敗可視化圖表如圖5-4所示。經(jīng)過仔細檢查后發(fā)現(xiàn),上傳的顏色數(shù)據(jù)是以字符串格式進行傳輸?shù)模捎玫氖擎I值對的形式。最初的上傳函數(shù)使用了printf(\\\"%s\\\":%c\\)的方式,但由于顏色數(shù)據(jù)應(yīng)為字符串而非字符,導(dǎo)致上傳失敗。經(jīng)過修改為\\\"%s\\\":\\\"%s\\\"\\的格式后,成功解決了上傳顏色數(shù)據(jù)的問題。數(shù)據(jù)上傳測試表如表5-1所示,可以更輕松方便使用可視化圖表來展示設(shè)備數(shù)據(jù)。數(shù)據(jù)上傳成功可視化圖表如圖5-5所示。圖5-4數(shù)據(jù)上傳失敗圖可視化圖表圖5-5數(shù)據(jù)上傳成功可視化圖表表5-1上傳數(shù)據(jù)測試表時間測試項測試結(jié)果最終結(jié)果前期連接測試WiFi一會斷開一會連接,連接失敗未通過異常數(shù)據(jù)上傳測試上傳數(shù)據(jù)類型不一致,導(dǎo)致顯示是亂碼未通過上傳速度測試更新數(shù)據(jù)延遲稍微有點大未通過后期數(shù)據(jù)完整性測試數(shù)據(jù)準(zhǔn)確無誤通過5.1.2藍牙數(shù)據(jù)上傳測試藍牙模塊一般默認的波特率為9600,而8266的波特率必須是115200,由于共用端口的原因,會導(dǎo)致藍牙模塊和主控芯片之間的通信出現(xiàn)亂碼和數(shù)據(jù)接收錯誤等問題。藍牙連接測試數(shù)據(jù)表如表5-2所示。為了解決這個問題,通過AT指令將波特率修改為一樣??梢允褂檬謾C端的藍牙調(diào)試器app,對藍牙數(shù)據(jù)進行監(jiān)控。藍牙通信亂碼圖如圖5-6所示。圖5-6藍牙通信亂碼圖接下來,通過手機發(fā)送指令與單片機進行通信。可以利用手機向單片機發(fā)送指令,進而實現(xiàn)對舵機的精準(zhǔn)操作。另外,只需要在手機上點擊幾下,便可輕松實現(xiàn)對舵機的遠程控制。藍牙遠程控制圖如圖5-7所示。圖5-7藍牙遠程控制圖表5-2藍牙連接測試數(shù)據(jù)表時間測試項測試結(jié)果最終結(jié)果前期藍牙連接測試開啟藍牙,模塊與設(shè)備進行匹配通過數(shù)據(jù)傳輸測試接收的數(shù)據(jù)出現(xiàn)亂碼情況未通過后期數(shù)據(jù)完整性測試數(shù)據(jù)準(zhǔn)確無誤通過在購買機械臂材料之前,了解它的材料和結(jié)構(gòu)是否符合標(biāo)準(zhǔn)。最主要的是了解機械臂關(guān)節(jié)的可運動范圍以及各個關(guān)節(jié)之間的限制。在安裝舵機時,可以先設(shè)置一個統(tǒng)一的角度,作為初始角度。方便記錄和調(diào)整舵機角度。然后,通過逐漸增加舵機角度的方式進行測試,可得出機械臂各個關(guān)節(jié)的最大和最小角度。在進行測試時,必須記錄每個關(guān)節(jié)的角度,并觀察機械臂在不同角度下的運動情況[10]。角度測試數(shù)據(jù)表如表5-3所示。通過不斷調(diào)整舵機角度并觀察機械臂的運動,可以確定機械臂關(guān)節(jié)的可運動范圍[11]。進過不斷測試實現(xiàn)機械臂抓取物體圖如圖5-8所示。圖5-8機械臂抓取物體圖表5-3角度測試數(shù)據(jù)表時間角度參數(shù)測試項目測試結(jié)果前期0~180度通過藍牙遠程控制舵機角度測試控制失敗,角度響應(yīng)太快以及很不穩(wěn)定0~180度舵機角度上傳至云端測試只有顯示10~170之間角度數(shù)值,角度響應(yīng)延遲后期0~180度通過藍牙遠程控制舵機角度測試控制正常,舵機角度響應(yīng)及時0~180度舵機角度上傳至云端測試數(shù)據(jù)成功上傳至云端,可正常查看本章的主要目的是檢驗機械臂系統(tǒng)的可行性和可實現(xiàn)性,解決了兩個通信模塊的數(shù)據(jù)上傳問題。測試了機械臂的運動和角度控制等方面進行驗證,確定機械臂整個系統(tǒng)能夠達到預(yù)期的設(shè)計效果。本章是該項目設(shè)計進行工作工作總結(jié),更進一步研究和優(yōu)化系統(tǒng)性能的方向展望。工作總結(jié)本設(shè)計采用STM32C8T6芯片核心的,是關(guān)于一款自動搬貨機的設(shè)計。經(jīng)過一個多月的學(xué)習(xí)研究STM32主控芯片各種功能以及各種傳感器,在網(wǎng)上查閱了大量的資料和數(shù)據(jù)手冊,最后確認了自動搬貨機所需的相關(guān)的元件和模塊,并在面包板上進行對模塊的測試以及對電路的搭建。由于專業(yè)知識基礎(chǔ)還不夠鞏固,在進行畢設(shè)制作過程中,遇到了很多技術(shù)問題。舵機角度不受控制,顏色識別傳感器識別的顏色是錯誤的,攝像頭不工作各種問題,尤其是在與兩個通信模塊(8266和藍牙模塊)的連接方面。其中一個模塊在連接Wi-Fi后很快就會斷開,而另一個模塊則無法成功連接藍牙。是花費了最長時間解決這些問題,一度懷疑模塊本身出現(xiàn)故障。但通過不斷的測試和網(wǎng)上翻閱資料,最終發(fā)現(xiàn)實際上是由于電壓不穩(wěn)定導(dǎo)致的。在進行設(shè)計過程時,我通過查缺補漏來鞏固和應(yīng)用以往學(xué)習(xí)的知識。這次畢設(shè)的經(jīng)歷讓我學(xué)到了很多新的知識和技能。從單片機開始,逐步添加各種模塊并一一解決遇到的難題,最終完成整個系統(tǒng)的完成。感受到自己的努力和不斷進步,看到系統(tǒng)逐漸形成并順利運行。這種成就感是一種對自己能力的肯定,也是對自己積極奮斗的回報。它激勵著我繼續(xù)追求新的挑戰(zhàn)和取得更大的成就。研究展望在功能設(shè)計上自動搬貨機的自動化模式是無需人工干預(yù),減少人為的錯誤,但是由于經(jīng)驗的不足,該設(shè)計仍存在許多不足之處。機械臂工作的動作設(shè)計還不夠靈活,如果長時間工作,機械臂也容易出現(xiàn)精度誤差情況,當(dāng)換個地方工

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論