基于arduino的分揀小車設計【小型物流分揀運輸含SW三維及仿真】
【需要咨詢購買全套設計請加QQ1459919609】圖紙預覽詳情如下:
充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙I基于 arduino 的小型物流分揀運輸小車設計摘 要本論文主要介紹基于 Arduino 平臺設計的能夠用于小型物流分揀運輸且可以和手機設備進行藍牙通訊的小車的設計過程。在論文中先后闡述了該設計的背景和在國內外的研究狀況,通過系統(tǒng)思路設定,經分析當前主流控制板的優(yōu)缺點后決定使用Arduino UNO控制板對系統(tǒng)進行控制,運用 Solidworks軟件完成分揀小車的三維建模及各零件的裝配過程。為了實現分揀小車的預期功能,選擇超聲波傳感器作為距離判斷的元件,通過 L298N電機驅動模塊控制小車的轉向和轉速,依據電阻電橋的特性且結合 HX711 A/D轉換芯片完成電子秤的設計,對分揀小車上承載物件的信息通過LCD12864顯示屏呈現。此外根據 Arduino平臺和 Android平臺耦合性強的特性,選用藍牙模塊實現 Android手機設備和搭載 Arduino控制板的分揀小車之間的通信。完成電路連接后初步編寫程序流程框圖后用 IDE實現對分揀小車的軟件控制,經過程序編譯、上傳,利用 IDE串口監(jiān)視器的便利性和分揀小車的實物模型完成整體程序的調試后,本論文設計的分揀小車能夠實現自動搬運、稱重、顯示、尋軌跡等預期功能。關鍵詞:分揀;Arduino;藍牙通信;循跡充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙IIABSTRACTThis dissertation mainly introduces the design process of a car designed based on the Arduino platform that can be used for small-scale logistics sorting and transportation and can communicate with mobile devices via Bluetooth. In the thesis, the background of the design and the research status at home and abroad were explained successively. After the analysis of the current advantages and disadvantages of the mainstream control, the design of the system was controlled using the Arduino UNO control board and the sorting was performed using Solidworks software. The three-dimensional modeling of the car and the assembly process of each part. In order to achieve the desired function of sorting trolleys, ultrasonic sensors are selected as distance-determining components. The L298N motor drive module is used to control the steering and rotation speed of the car, and the electronic scale is designed based on the characteristics of the resistance bridge and combined with the HX711 A/D conversion chip. The information on the carrying objects on the sorting cart is presented through the LCD12864 display. In addition, according to the strong coupling between the Arduino platform and the Android platform, the Bluetooth module is used to implement communication between the Android mobile device and the sorting cart equipped with the Arduino control panel. After the circuit connection is completed, the program flow diagram is preliminarily written to use the IDE to implement software control of the sorting cart. After the program is compiled and uploaded, the convenience of the IDE serial monitor and the physical model of the sorting cart are used to complete debugging of the entire program. The sorting cart designed by the dissertation can realize the expected functions such as automatic handling, weighing, display, and tracking.Keywords: Sorting; Arduino; Bluetooth communication; tracking充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙III目 錄摘 要 ...........................................................IABSTRACT........................................................II1 緒論 ..........................................................11.1 設計研究的背景及意義 ............................................................................11.2 國內外發(fā)展狀況 ........................................................................................12 系統(tǒng)整體設計 ..................................................42.1 系統(tǒng)思路設計 ............................................................................................42.2 控制芯片的選擇 ........................................................................................42.3 Arduino 相關介紹及型號選擇 .................................................................52.4 分揀小車的三維建模 ................................................................................63 小車硬件介紹 .................................................103.1 Arduino UNO...........................................................................................103.2 超聲波模塊 ..............................................................................................113.3 電機驅動模塊(L293N) ......................................................................123.4 5KG 壓力傳感器和 HX711 模塊 ...........................................................133.5 LCD 12864 顯示屏 ..................................................................................173.6 藍牙模塊 .................................................................................................193.7 擺臂舵機 ..................................................................................................204 分揀小車程序編寫 .............................................214.1 分揀小車整體控制流程 ..........................................................................214.2 避障功能的流程框圖 ..............................................................................214.3 循跡功能的流程框圖 ..............................................................................224.4 稱重功能的流程框圖 ..............................................................................234.5 LCD 屏顯示功能的流程框圖 .................................................................244.6 藍牙通信功能的流程框圖 ......................................................................254.7 舵機擺臂功能的流程框圖 ......................................................................255 系統(tǒng)調試 .....................................................265.1 串口監(jiān)視器使用 ......................................................................................26充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙IV5.2 藍牙模塊 AT 設置 .................................................................................265.3 調試中遇到的問題 ..................................................................................276 總結 .........................................................28參考文獻 ........................................................29致 謝 ..........................................................30附錄 1:外文譯文 ................................................31附錄 2:外文原文 ................................................36附錄 3:系統(tǒng)程序 ................................................41充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙11 緒論1.1 設計研究的背景及意義自動分揀設備和系統(tǒng)的概念首先是從美國、日本等發(fā)達國家在二戰(zhàn)后出現的,之后在國外各大物流中心被廣泛運用。自動分揀系統(tǒng)的作業(yè)過程可以簡單地描述如下:物流中心每天需要接收成百上千家供應商或貨主通過各種運輸工具送來的成千上萬種商品,在在最短的時間內將這些商品卸下并按商品品種、貨主、儲位或發(fā)送地點進行快速準確的分類,將這些商品運送到指定地點(如指定的貨架、加工區(qū)域、出貨站臺等),同時,當供應商或貨主通知物流中心按配送指示發(fā)貨時,自動分揀系統(tǒng)在最短時間內從龐大的高層貨架存儲系統(tǒng)中準確找到要出庫的商品所在位置,并按所需數量出庫,將從不同儲位上取出的不同數量的商品按配送進點的不同運送到不同的理貨區(qū)域或配送站臺集中,以便裝車配送 [1]。2016 年以來,我國的快遞市場迅猛發(fā)展,每天各快遞公司需要接收和分揀的郵件數量不計其數。尤其是當各大購物網站促銷時,更大大增加了對物流行業(yè)能力的考驗。一方面是用工慌的問題依然沒有得到解決,面對郵件多工作人員少的情況,依舊在采用著傳統(tǒng)的物流分揀方案。第二方面是郵件數量多且繁雜的問題,導致分揀效率低且容易丟失貨物。如今物流行業(yè)一般采用三種分揀方案,第一種是采用全自動化設備進行分揀,雖然效率極高,但同時企業(yè)成本也大大提高,不能適用于全部的物流分揀中心。第二種是采用傳送膠帶機的方式,不僅分揀線長且效率較低,但是具有柔性強,占用場地小等有點。其次是純人工進行分揀,這種方案效率極低,所以運用的場合較少。降低物流成本是物流分揀、運輸、包裝中的核心問題,只有降低物流總成本,才能提高企業(yè)和社會經濟效益的目的。改變傳統(tǒng)的物流分揀方式,引進全新的分揀設備,加快分揀效率的同時降低分揀失誤的概率。設計一套自動化程度高、成本適中且效率高的分揀設備和系統(tǒng)來提高作業(yè)設備的柔性,能符合不同規(guī)模的分揀中心的需求,這是一件迫在眉睫的事情。1.2 國內外發(fā)展狀況從國內外近幾年物流自動分揀系統(tǒng)的發(fā)展狀況來看,國內采用自動化分揀設備的時間相對于國外較晚且設備的自動化程度不及國外高,但是其運用的方面還是比較廣泛。在國外自動化分揀系統(tǒng)出現在各個領域,大大提高了整個物流行業(yè)的發(fā)展水平。尤其是美國、日本和一些歐洲地區(qū)的發(fā)達國家,自動化分揀設備的自動化程度越來越高,因為每個國家的貨物都要進行運送,包括國內貿易和進出口貿易。物流運輸的效充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙2率也決定著一個國家的經濟發(fā)展狀況,所以物流自動分揀系統(tǒng)已經是國家不可缺少的一部分。現如今的自動分揀系統(tǒng)主要運用在各大中型物流集散地、貨物中心、流通中心、郵局分揀等場所,其系統(tǒng)都會隨著交流自動控制技術的發(fā)展而進行技術更新,特別是在電子技術迅猛發(fā)展和計算機被廣泛使用的時代。自動化分揀系統(tǒng)的概念雖然出現的早,但在 20世紀 70年代才被引入中國,最初運用在郵政系統(tǒng)方面。之后被用于其他運輸領域并在長期的實踐中不斷技術創(chuàng)新。例如,郵電部相關部門相繼開發(fā)和研制出具國際水平的 CORE-NT物料自動分揀系統(tǒng),性價比很高的扁平郵件高速物料自動分揀系統(tǒng);上海郵政通用技術公司研制成功了速遞郵件網絡化物料自動分揀系統(tǒng)等。1.2.1 國內發(fā)展狀況在物流中心分揀系統(tǒng)的研究中,主要有三方面內容。一方面是物流分揀設備和控制技術的研究,如用于郵政系統(tǒng)的交叉帶式分揀機研究、應用于煙草行業(yè)的通道式分揀機研究等等。第二方面是對物流中心存儲策略和分揀路徑優(yōu)化的研究,如用 BOM表進行倉儲位置優(yōu)化的研究,用蟻群算法實現分揀路徑的優(yōu)化等等。第三方面是對分揀作業(yè)數據信息與分析決策問題,華南理工大學、中國人民大學、華中科技大學、浙江大學等國內高等院校的學者都進行了定性與定量的研究。如馬士華、文堅的分批策略根據時間延遲思想,綜合考慮了揀貨作業(yè)環(huán)節(jié)和分揀包裝環(huán)節(jié)的工作效率,提出了一種消除因時窗分批不平衡而導致的等待時問和閑忙不均的動態(tài)時窗設計與判斷方法,從而保證分揀系統(tǒng)的連續(xù)性和均衡性。李凱就卷煙分揀的幾種優(yōu)化模型展開了較深入的探討,并以仿真的手段進行了驗證。朱巖就卷煙分揀機的控制策略和不同設備參數下的分揀系統(tǒng)整體性能進行了研究,并通過仿真程序模擬驗 [2]。 如今,國際競爭日益加劇,為了發(fā)展我國物流業(yè),國內的許多企業(yè)和政府部門也在做更大的努力,也已取得了一定的成效。例如,郵電部相關部門相繼開發(fā)和研制出具國際水平的 CORE-NT物料自動分揀系統(tǒng),性價比很高的扁平郵件高速物料自動分揀系統(tǒng);上海郵政通用技術設備公司研制成功了速遞郵件網絡化物料自動分揀系統(tǒng)等。郵政系統(tǒng)還推出了新的信封標準以更好的配合自動化的信件物料自動分揀系統(tǒng)。太原剛玉倉儲設備公司和貴陽普天通信機械廠已設計生產貨架電子標簽揀選系統(tǒng)、小車式數字顯示揀選系統(tǒng)、郵件自動分揀系統(tǒng)等;珠海普天慧科信息技術有限公司研發(fā)出 PTL(Pick-to- light&Put-to-1ight)電子標簽揀選系統(tǒng),除具備電子標簽揀選系統(tǒng)的一般優(yōu)點之外,還具有彈性控制揀貨作業(yè)流程、即時現場監(jiān)控緊急訂單處理和缺貨通知等強大的功能。雖然在郵政系統(tǒng)外的其它行業(yè),國內對物料自動分揀系統(tǒng)的使用還非常少,但有關部門和企業(yè)正在為此做出不懈的努力??梢钥隙?隨著物流大壞境的逐步改善物料自動分揀系統(tǒng)在我國流通領域一定會大有用武之地。充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙31.2.2 國外發(fā)展狀況以美國、日本及歐洲為代表的發(fā)達國家,在分揀系統(tǒng)的應用上呈現出自動化程度越來越高的特點。自動分揀系統(tǒng)已成為發(fā)達國家大中型物流中心、配送中心或流通中心不可缺少的一部分。在分揀系統(tǒng)等物流中心子系統(tǒng)規(guī)劃設計中,各發(fā)達國家的規(guī)劃原則有很大的差異。日本的物流中心大都規(guī)模適中,采用先進的自動分揀系統(tǒng)和無線通訊設備,美國主要采用立體倉庫以節(jié)約地價支出,但分揀等設備大都采用機械化或半自動化,不盲目采用全自動設備。他們共同的特點是均實現較成熟的電腦網絡化管理,保證了配送的及時準確性,節(jié)約勞動力成本。國外的學者專家如 Goetschalckx和 Ratliff 提出利用動態(tài)規(guī)劃法來求解寬通道內的揀貨路徑問題, Roodbergen 和 Koster 研究在多橫向通道倉儲系統(tǒng)環(huán)境下,針對各種分揀策略比較在不同通道數目、不同貨物品項及不同通道寬度的揀貨路徑的問題, ElizabethJewkes 等對商品儲存位置等對分揀的影響展開研究, Loon c.Tang 等論述了分批與存儲分配策略對分揀的影響,RichardL. Daniels等對倉庫訂單分揀的研究,M.I. Johansson對貨物存儲位置的分配對減少分揀時間的作用進行了研究,美國麻省理工院 Dimitr1s. Bertsimas和 Robert.M. Freund及 W.L.Winston,Jeremy.Shapiro,Lacksonen T).Whitley等學者也做了相關的研究工作 [2]。就目前來講,國外的自動分揀系統(tǒng)發(fā)展極為迅速。如: Auchan,Mark 將分揀系統(tǒng)歸納為 5個子系統(tǒng):訂單挑選、感應、合并前聚集、合并、搬運分揀,以此使訂單與不同傳送帶有機地的結合起來,形成一個高效的物料分揀系統(tǒng)。Mase1D.T 研究了如今關于評估環(huán)形物料分揀系統(tǒng)的分揀時間的解析公式,這個類型的分揀系統(tǒng)主要是用來分揀固定形狀的貨物; Norman Saene jr 從配送中心里物料搬運這個方面研究了如何構建物料分揀系統(tǒng)傳送帶、如何搭配傳送帶以及如何構建一個良好的物流分揀搬運系統(tǒng)。充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙42 系統(tǒng)整體設計2.1 系統(tǒng)思路設計本設計題目為基于 Arduino的分揀小車設計,目的在于通過藍牙通串口方式連接Arduino和 Android兩平臺之間的通信。操作者只需將手機和小車上的藍牙接通,即可在 Android手機上操控小車。每一個物流集散地都對應著一個數字,例如小型物件的目的地為北京,而在系統(tǒng)程序中北京對應的串口數字為 2,操作者將物件放至小車上并在手機上按下“2”后,小車會自動稱重,在 LCD屏幕上顯示出物件的重量和運輸的費用及所要到達的集散地。稱重結束后小車會自動按照運輸路徑將物件送至對應貨箱中,再原路返回。在運輸過程中可能會遇上其他小車或著障礙物出現在前方,這時小車需停止運輸直至前方檢測不到障礙物,這就是系統(tǒng)設計中一套完整的運輸過程和小車運行狀態(tài),分揀小車的整體設計框架如下所示。2.2 控制芯片的選擇如今在簡單的軟件編程方面,一般主流的有 Arduino、樹莓派等軟硬件開源的控制芯片,另外就是以 C51和 STM32為代表的控制芯片。這幾類單片機都會經常用在不同的場合,每一款都有各自的優(yōu)缺點,下面將簡單介紹一下。Arduino是一款比較容易上手的控制芯片,備受電子愛好初學者的青睞。由于軟硬件開源的原因,經常被用來做一些有創(chuàng)意的物品,比如智能澆花系統(tǒng)、藍牙小車、避障小車等。在軟件編程方面,只需將現成的庫文件放在 Arduino的 Libraries文件夾中即可,編程時只需調用即可,無需了解庫文件是怎么寫的。因此 Arduino適合電子知識功底比較薄弱的學者使用,編寫程序的過程也比較簡單且能快速學會使用編程軟件。控制板超聲波傳感器藍牙模塊稱重芯片電機驅動顯示屏舵機電機充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙5樹莓派是一款比 Arduino性能更強大的控制板,同樣它的許多軟硬件都是開源的。它存儲數據的空間較大,且運算速度比較快,性能比較優(yōu)越。但是它的價格比較昂貴,開發(fā)成本比較高,讓一些想接觸它的初學者望而卻步。C51和 STM32這一類的單片機較 Arduino和樹莓派開源程度沒那么高,許多工程文件和驅動代碼需要自己寫,甚至有些時候使用時需要把驅動代碼從集成的工程文件中剝離出來,并且在硬件方面需要自己選型、設計 PCB板、焊接、調試硬件。但此類單片機的開發(fā)成本是最低的雖然對開發(fā)者的要求高于前二者。因此,在考慮開發(fā)成本和難易程度及對設計內容的匹配程度來看,Arduino 是最合適選擇。2.3 Arduino 相關介紹及型號選擇Arduino起初是 2005年由意大利的一位老師老師 Massimo Banzi和到西班牙的芯片工程師 David Cuartielles共同創(chuàng)作出的項目,之后國外運用它的人越來越多。此外還得益于 Arduino的開放性、易用性、交流性等幾大特點,電子愛好者可以在網上找到其他作者作品的開源硬件及軟件,并且可以隨意修改使用,在國內還有專門的交流網站“Arduino 中文社區(qū)”。Arduino是一個以 ATmega單片機為基礎的控制板,整體還包括穩(wěn)壓電路、A/D 轉換器、I/O 等。和其他控制平臺一樣,Arduino 有許多的型號,每一個都有不同的 I/O口和其他接口,對應著不同的功能和場合。其中運用最廣泛的就是 Arduino UNO(如圖2.1)。圖 2.1 UNO控制板 充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙6其次是比 UNO接口多,體積大且價格較高的 Mega2560(如圖 2.2)圖 2.2 Mega2560控制板還有有兩款比 UNO體積小,但接口沒有那么多的 Mini(如圖 2.3)和 Nano(如圖2.4)圖 2.3 Mini控制板 圖 2.4 Nano 控制板 Arduino UNO 相對于其他 Arduino控制板價格較為便宜,且 I/O口的個數適中,所以 UNO是用來做搭載本設計的最好選擇。系統(tǒng)整體除了需要 Arduino UNO芯片控制以外,還需要其他的硬件來支撐分揀小車的完成。其中藍牙藍牙模塊是用來連接手機和小車之間的通訊橋梁,在稱重環(huán)節(jié)需要壓力傳感器和 HX711芯片組成的稱重模塊對物件的重量進行測量,測量出的結果需要 LCD屏幕將信息顯示出來。驅動電機則要靠驅動模塊來完成,在小車行走中依靠超聲波傳感器進行避障,在小車到達目的地需要把物件揚起時用舵機來執(zhí)行此動作。充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙72.4 分揀小車的三維建模(1)設計底盤尺寸,預留減速電機支座孔位、車身框架孔位、平行梁安裝孔位、控制板和電機驅動板安裝孔位及走線孔等如圖 2.5。圖 2.5 小車底盤(2)安裝電機、電機支架及平行梁如圖 2.6 。圖 2.6 安裝底盤后效果(3)設計小車整體框架如圖 2.7充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙8圖 2.7 小車框架(4)設計小車包圍如圖 2.8、2.9、2.10、2.11圖 2.8 車前板 圖 2.9 小車后板圖 2.10 小車左板 圖 2.11 小車右板(5)設計顯示屏支架(如圖 2.12)、舵機支架(如圖 2.13)和小車卸貨翻板(如圖 2.14)圖 2.12 顯示屏支架 圖 2.13 舵機支架充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙9圖 2.14 小車卸貨翻板(6)對小車進行整體三維裝配,效果圖如圖 2.15、2.16圖 2.15 小車前側效果圖 圖 2.16 小車后側效果圖(7)安裝舵機,確定舵機擺臂的長度(如圖 2.17)圖 2.17 舵機安裝示意圖根據測量數據,將擺臂的長度設計為 67mm并進行安裝如圖 2.18。充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙10圖 2.18 舵機擺臂安裝充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙113 小車硬件介紹3.1 Arduino UNOArduino控制板是以 ATmega AVR單片機為最小系統(tǒng)開發(fā)的,而 ATmega單片機又分為很多種類,但它們的特性都有以下幾條:(1)內置閃存,用于存放代碼(2)靜態(tài)隨機訪問存儲器(SRAM)用于儲存運行時的數據,斷電丟失(3)可擦除只讀存儲器(EEPROM)用于長期保存數據,斷電不丟失(4)有數字 I/O口(5)A/D 轉換器(ADC),可把模擬輸入信號轉變?yōu)閿底州斎胄盘柖?UNO采用的是 ATmega328微控制器,閃存(Flash)為 32KB,SRAM 為2KB,EEPROM為 1KB,雖然存儲空間比較小,但應付簡單的程序存儲還是足夠的。UNO 有14個數字 I/O口(D0~D13),用于數字信號的輸入輸出,其中有 6個 PWM口,可輸出模擬信號,調節(jié)電機轉速等;另外有 6個模擬信號輸入口(A0~A5),也可以做數字信號的輸入輸出。在 6個模擬信號輸入口中有兩個接口為 IIC通信的接口(SCL、SDA),分別對應著 A5和 A4,控制板的接口位置可見圖 3.1。圖 3.1 Arduino UNO 控制板接口分布充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙123.2 超聲波模塊超聲波傳感器模塊上面通常有兩個超聲波元器件,一個用于發(fā)射,一個用于接收,如圖 3.2 。圖 3.2 超聲波模塊一般常見的超聲波模塊是收、發(fā)分離的超聲波模塊,電路板上有四個引腳,分別是 VCC(正電源)、Trig(觸法)、Echo(回應)和 GND(接地)。根據廠商提供的技術文檔指出,此模塊的主要參數如下。(1)工作電壓與電流:5V、15mA(2)感應距離:2-400cm(3)感應角度:不大于 15°(4)被測物的面積不要小于 500cm2并且盡量平整在超聲波模塊的觸發(fā)腳位輸入 10微秒以上的高電位,即可發(fā)射超聲波,發(fā)射超聲波之后,與接收到回傳的超聲波之前,響應腳位將呈現高電位,觸發(fā)腳和接收腳的電位變化可見圖 3.3。因此,程序可從“響應”腳位的高電位脈沖持續(xù)時間,換算出被測物體的距離。圖 3.3 觸發(fā)腳與接受腳電位變化充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙133.3 電機驅動模塊(L293N)3.3.1 電機驅動選擇由于 Arduino的微處理輸出功率有限,無法直接驅動電機等大型負載,所以需要其他的驅動裝置進行驅動。其中晶體管就是最基本的驅動元件,但它只能通過 PWM調節(jié)電機轉速,若需調節(jié)電機轉向則需要其他的電機驅動模塊。如ULN2003A、754410、L293D、L298N 等,L293D 和 L298N相對于其他驅動使用較為簡便,且容易買到,但 L293D是兼容 Arduino開發(fā)的,會占用許多 I/O口,因此本設計采用L298N進行實驗。3.3.2 H橋式電機控制電路介紹電機驅動模塊中都有若干個 H橋電路,可以控制電機的正轉與反轉,電路中有 4個三極管,其作用類似于開關。它連接著一路電機的 A、B 兩個輸入口,只有當 A、B兩個輸入呈相反電位時電機才會轉動,兩輸入口電位顛倒,引起電流方向變化,電機又進行反轉,簡單的電路示意圖可見圖 3.4 。圖 3.4 H橋電路示意圖3.3.3 L298N電機驅動介紹L298N電機驅動模塊中內置 2個 H橋控制電路,可以控制兩路直流電機的轉速及轉向,其引腳說明如圖 3.5。充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙14圖 3.5 L298N 引腳圖L298N電機驅動模塊有兩種供電方式,一種是從 Arduino控制板上取電,需要正向給電壓的腳與控制板上的 vin口相連接,輸入的電壓為 5V;而另外一種可以采用干電池或鋰電池等外部電源對驅動板進行供電,但最大的供電電壓不要超過 24V。這兩種方式都能驅動電機,但輸出的功率有所不同,外部電壓供電的方式可以帶動更大的電機負載。在編程時若想控制一路直流電機的正反轉和轉速,需對電機驅動的 3個引腳進行狀態(tài)控制,引腳輸入 A和輸入可以控制電機的轉向,而使能 EN引腳只能控制電機轉速。三個狀態(tài)參數決定著電機的運行狀況,參數及電機運行狀況如下表 1表 1 電機轉向與 3個引腳電位關系使能 輸入 A 輸入 B 電機運行狀況高 高 低 正轉高 低 高 反轉高 高 高 電機停止高 低 低 電機停止低 電機不轉所以只有當在電機驅動模塊使能腳上輸入高電位,且兩個輸入引腳存在高低電位差時,電機才能轉動。當兩個輸入引腳的高低電位交換時,導致驅動中的電流方向變換,使電機反向轉動。3.4 5KG 壓力傳感器和 HX711 模塊設計中采用 5KG壓力傳感器和 HX711 24bit A/D芯片的組合來測量物件的重量。3.4.1 壓力傳感器原理充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙15壓力傳感器就是《工程測試技術》中提及的電阻直流電橋應用的實例,所謂電橋就是將電阻、電感、電容等物理量很小的數值變化量變換為電壓或電流等容易測量且直觀的數值變化量,再將其數據信息放大后可直接測量出對應的數值。在設計中感知物體重量的元件為平行梁稱重傳感器(如圖 3.6),由于它測量精準,在制作生產中較為容易,抗壓能力比其他傳感器強,所以通常用來作為測量重物的傳感器。圖 3.6 平行梁稱重傳感器平行梁上下各貼有兩個電阻應變片,阻值分別為 R1=R2=R3=R4=1KΩ,傳感器受力時各應變片工作狀態(tài)如圖 3.7。圖 3.7 傳感器受力時各應變片狀態(tài) 電阻應變片的阻值隨著彈性元件上壓力的變化而變化,當平行梁受壓力時梁上兩個應變片受拉力,梁下兩個應變片受壓力。根據電阻的計算公式可知,當材料的的長度及橫截面積發(fā)生變化時,阻值也產生變化,所以輸出的電壓也是變化的(電橋中的連線可見圖 3.8)。因此可以根據電壓的變化來計算出阻值變化,進一步推算出平行梁上施加的力。 充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙16圖 3.8 傳感器電橋3.4.2 HX711模塊介紹依據電阻橋的特點,電阻的變化和輸出電壓的關系,而輸出電壓=輸入電壓×靈敏度。輸入電壓為 5V,靈敏度為 1mV/V,則滿量程時輸出電壓為 5mV。這就說明當測量5Kg的重物時,輸出的電壓為 5mV。由于輸出的電壓太小,用普通的方法是難以測出來的,所以需要用能測量傳感器輸出電壓值的 HX711芯片(如圖 3.9),芯片內包含著一個可以放大電壓信號的電路和一個進行數模轉換的電路,它可以把微小電壓值轉換為數字量。圖 3.9 HX711芯片HX711是一塊高精度的 24位 A/D轉換的芯片,它內部包含了穩(wěn)壓電路,時針振蕩器電路等,可以抵抗外部的干擾,對系統(tǒng)輸入的數據處理速度比較快。就是因為芯片體積小且把許多電路都集成在上面,降低了在制造方面的成本,提高了系統(tǒng)的穩(wěn)定性和可靠性。在控制方面也十分簡便,只需要控制板發(fā)出信號控制芯片的管腳即可實現對芯片的整體控制,無需按照通常對其他芯片一樣地對寄存器進行編程操作。HX711 芯片在選充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙17擇數據輸入通道時有兩通道可選擇,一個為 A通道,一個為 B通道。其中選擇 A通道時數據的增益為 128或 64,當增益為 128時對應的輸入電壓為±20mV,選擇 64增益時所輸入的電壓為±40mV。而選擇 B通道時數據的增益為 32,對應的輸入電壓為±80mV,一般情況下用它對系統(tǒng)的參數進行檢測工作。如果在編程時選擇了 A通道作為數據輸入口且數據的增益為 128,那么芯片電路中對應的最大輸入電壓為±20mV,經過 128增益后變?yōu)椤?.56V,再通過 24bit A/D轉換器轉換為相對應的數字量,其內部圖如圖 3.10和引腳說明如圖 3.11 。圖 3.10 HX711內部電路圖 3.11 HX711 芯片引腳雖然 HX711芯片的引腳數較多,但芯片與控制板進行連接時只接出了 4個引腳,分別為 GND、VCC、DOUT 和 SCK引腳。說明若要連接 Arduino與芯片之間的通訊不用考慮其他引腳的控制方法,只需通過控制 DOUT、SCK 引腳的高低電平狀態(tài)即可輸入和輸出數據,決定輸入通道和增益。充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙18當引腳 PD_SCK的狀態(tài)一直為低電平,而 DOUT引腳的狀態(tài)一直為高電平時,意味著芯片中 A/D轉換器還沒有為數據轉換做好準備。當引腳 DOUT的狀態(tài)改變時,說明A/D轉換器已經可以開始進行數據轉換的工作, PD_SCK先輸入 24個脈沖信號,相對應著向 DOUT引腳輸出 24位數據。24 個脈沖信號結束,意味著 HX711把 24位 ADC值全部輸出。之后 PD_SCK又輸入 1-3個脈沖信號,也就是第 25-27個時針脈沖,來選擇下一次 ADC轉換的通道和增益(可見表 2)。由此可說明 PD_SCK引腳需要輸入 25-27個時針脈沖信號。需要說明的是,在芯片斷電復位后默認選擇 A通道及增益為 128,此后的通道及增益選擇由 PD_SCK引腳輸入第 25-27個時針脈沖決定。表 2 第 25-27個脈沖與通道、增益的關系PD_SCK時針脈沖數 輸入通道 增益選擇25 A 12826 B 3227 A 643.4.3 A/D轉換過程:(1)計算芯片提供電壓:芯片與壓力傳感器連接時需連接 4個引腳,其中兩個為 A通道的正負端,另外兩個為 E+和 E-。傳感器中電橋的輸入的電壓由 E+和 E-兩端的電壓決定,稱為 。??????????的數值可通過 (R1+R2)/R2 公式計算得出??芍?=1.25V(模塊基?????????? ??????????=?????? ??????準電壓),其中 R1、R2 為芯片電路中的分壓電阻,阻值分別為 20KΩ 和 8.2KΩ,所以通過計算 。??????????=4.3??(2)計算 AD輸出最大值:在 5KG傳感器電路中可輸出的最大電壓=4.3×1mV=4.3mV,經過芯片 128增益放大后=550.4mV。再由 24bitA/D轉化器進行轉換后最大數值=550.4× /4.3=2147483。此224數據過于太大,存放在 long數據類型中較占空間,所以將數據進一步處理除以 100后存放在 int 數據類型中,因此最大的 AD數值為 21474。(3)將重力值轉換為 AD數值:假設物體為 A Kg,輸出的 AD數值為 y由于物體的重量與輸出的電壓具有正比的關系,所以測量 A Kg的重物時電橋所產生的電壓=A×4.3/5mV=0.86AmV。經 128增益后輸出電壓=0.86A×128=110.08mV輸出電壓經過 24bit A/D轉換器進行轉換后輸出數值=110.08× /4.3=429496.7296A224充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙19所以 y=429496.7296AA=y/429.4967296 g3.5 LCD 12864 顯示屏由于普通的 LCD屏與 Arduino控制板的接口需要 6個接口且 Arduino UNO 的數字信號 I/O口的數量有限,大部分 I/O口還得分配給其他硬件連接使用。所以設計實驗中采用帶 IIC通信的 LCD12864顯示屏顯示稱重的數據(如圖 3.12),它不僅使用方便,只需 3根接線就可與控制板的模擬信號輸入口連接,其余的引腳可以不用連接,不占用字信號 I/O口(引腳說明見表 3)圖 3.12 LCD顯示屏及引腳示意圖表 3 LCD12864引腳說明序號 符號 說明1 A0 IIC 地址信號 A02 A1 IIC 地址信號 A13 BUSY 忙信號,高電位為忙,低電位為閑,忙狀態(tài)下不接收指令4 SDA IIC 數據信號5 SCL IIC 時針信號6 RST 復位信號,低電平有效7 VDD 電壓正充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙208 GND 電源地各引腳與 Arduino模擬信號口連接方式:BUSY--------------A3SDA---------------A4(SDA)SCL---------------A5(SCL)VDD---------------5VGND---------------GND3.6 藍牙模塊HC-05藍牙模塊是一個即能發(fā)送數據也能接收數據的通訊模塊(見圖 3.13),HC-05的使用方法比較簡單,這就意味著當藍牙模塊與藍牙設備連接成功后無需考慮內部的通信方式,直接把藍牙當做串口來使用。當藍牙模塊與手機設備連接成功時可共用一個數據傳輸串口通道,這就說明手機從藍牙串口通道發(fā)送數據后,藍牙模塊可從通道中接收手機設備發(fā)出的數據。圖 3.13 HC-05藍牙模塊藍牙模塊上雖然有六個引腳,但配對和傳輸數據時只需將其中的 4個引腳與Arduino控制板連接。4 個引腳與 Arduino控制板的接口連線如下:RXD---------------TX(D1)TXD---------------RX(D0)VCC---------------5V充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙21GND---------------GNDHC-05模塊參數:(1)輸入電壓:3.7V-6V,禁止超過 7V(2)接口電平 3.3V,可以直接連接各種單片機(3)可以通過 AT命令切換主機和從機模式(4)空曠地帶有效傳輸距離 10米3.7 擺臂舵機為了實現小車自動揚起卸貨板進行卸貨的功能,需安裝一個舵機來完成此動作,小車的卸貨能力與使用的舵機力矩有關。設計實驗中用到的是可 180度轉動的 MG996R模擬舵機(如圖 3.14),可提供 13Kg·cm的力矩,轉動范圍為 0度到 180度,其角度可以通過 PWM(脈沖寬度調制)的方法來進行調節(jié)。圖 3.14 MG996R模擬舵機舵機內包括小型電機、減速齒輪和位置反饋電路,因此舵機也屬于伺服電機的范疇。舵機會隨著脈沖持續(xù)的時間來轉動,不同的脈沖時間對應著不同的角度,比如說1ms的脈沖可以是舵機轉到一個極端,而 2ms可以使舵機轉到另外一個極端??刂埔粋€舵機需要大約 20ms的時鐘脈沖,而在全部的時鐘脈沖中只需一小部分的高電平就可控制舵機的旋轉角度,這個高電平的持續(xù)時間為 0.5ms-2.5ms。設計中所用到的舵機轉動時的脈沖寬度變化及對應的角度如圖 3.15充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙22圖 3.15 脈沖寬度與舵機角度4 分揀小車程序編寫4.1 分揀小車整體控制流程根據小車系統(tǒng)整體設計,將控制板與各硬件相連接,從手機設備到每個執(zhí)行元件之間的控制流程如下所示:發(fā)送 感知距離數據讀取數據發(fā)送指令 控制AD值 轉化為重 量 顯示信息感知電壓變化控制板手機設備藍牙模塊HX711模塊壓力傳感器電機驅動顯示屏超聲波模塊減速電機充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙234.2 避障功能的流程框圖避障過程中采用超聲波傳感器來檢測距離,若檢測到分揀小車前方有障礙物并且距離小于 30cm,小車就執(zhí)行停車程序。在程序中使用定時中斷函數每隔 100ms調用距離判斷函數,框圖如下:4.3 循跡功能的流程框圖簡單地可以把路徑簡化為直走、轉彎、直走、停、掉頭、直走、轉彎、直走等,每條路徑都是在執(zhí)行直走、轉彎的過程,只是對應動作的時間不同。但執(zhí)行一條路徑時就要具體到控制每一路電機的高低電平差和使能量及動作持續(xù)時間。具體路徑控制流程圖如下:超聲波模塊觸發(fā)腳高電平持續(xù) 5微秒超聲波模塊接收腳寫入低電平讀出接收腳高電位的時間用時間等效換算為障礙物距離將距離存儲在變量中進行判斷若距離小于 30厘米則分揀小車停止 2秒每隔 100毫秒調用距離判斷程序定義變量 distance直走動作執(zhí)行 2秒左路電機輸入腳 A寫入高電平,左路電機輸入腳 B寫入低電平右路電機輸入腳 A寫入高電平,右路電機輸入腳 B寫入低電平左路電機使能腳輸入速度值,右路電機使能腳輸入速度值右轉動作執(zhí)行 700 毫秒(右路電機輸入 A、B 腳電位顛倒)直走動作執(zhí)行 2 秒充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙244.4 稱重功能的流程框圖HX711芯片是 24bit A/D轉換的,所以需要從高到低地將數據輸出,然后將 AD值等比轉化為重量值即可,具體轉化過程可見以下流程圖。停車 5 秒(兩路電機輸入腳輸入相同電位,使能輸入為 0)掉頭(等效于右轉動作持續(xù)1400 毫秒)直 走左轉動作執(zhí)行 700 毫秒(左路路電機輸入 A、B 腳電位顛倒)直走回到起始位置定義變量 count 并賦初始值DOUT 引腳寫入高電平(表示 A/D 轉換器未做好準備)SCK 引腳寫入低電位讀取 DOUT 電位變化(為低則開始轉換)計數器開始計數SCK 引腳寫入高電位開始輸入數據,SCK 引腳寫入低電位結束數據輸入,將 DOUT 引腳輸出的數據存儲在 count 變量中充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙254.5 LCD 屏顯示功能的流程框圖需在 LCD12864顯示屏上顯示出稱重物件的重量,并按照路徑對應的單價計算出相應的運費,并顯示出貨物所到達的城市。通過流程圖來說明一件貨物的重量、運費、目的地顯示的過程:計數器滿 24 停止輸入數據提取出前 24 位數據再次輸入第 25 個脈沖決定下一次通道和增益返回 count 變量中的 24 位 A/D 數值利用公式計算承載的重量創(chuàng)建第一個數組名并定義其數組中數據個數利用 dtostrf()函數將重量值存儲在數組中在顯示屏右側第一行顯示重量,并在后面顯示”Kg ”單位創(chuàng)建第二個數組名并定義其數組中數據個數充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙264.6 藍牙通信功能的流程框圖4.7 舵機擺臂功能的流程框圖在分揀小車到達目的地時,舵機轉動一定角度,將載物板揚起,物件順勢滑落至集裝箱中。舵機擺動的指令可見下面流程框圖說明:利用 dtostrf()函數將金額數存儲在數組中重量值乘單價所得到的值存在“money”變量中在顯示屏右側第二行顯示重量,并在后面顯示”yuan”單位在顯示屏右側第三行顯示目的地讀取藍牙串口的數據將讀取數據存儲在變量“c”中判斷變量中的數是否等于程序中的數若等于則執(zhí)行相對應的程序 若不等于則分揀小車停止不動充 值 購 買 -下 載 設 計 文 檔 后 , 加 Q--1459919609 免 費 領 取 圖 紙275 系統(tǒng)調試5.1 串口監(jiān)視器使用在 Arduino 控制板與電腦連接的狀態(tài)下打開 IDE 的菜單欄“工具”列表中的“串口監(jiān)視器”。 在程序調試的過程中,可以把程序分幾部分上傳到控制板后進行分步測試。比