林 巍,馬雙寶,董玉婕
基于Arduino UNO兩輪平衡車的研制
林 巍,馬雙寶*,董玉婕
(武漢紡織大學 機械工程與自動化學院,湖北 武漢 430200)
隨著電子技術的發展和提高,移動機器人作為新興技術的體現,在生產和生活中的應用越來越普遍。為了達到手動無線操控小車運動的目的,本課題組研制出基于Arduino UNO兩輪平衡車,該系統以Arduino UNO為主控制器,通過紅外遙控實現人機通信。遙控器向控制器發送命令,接到命令后,控制器執行相關程序,控制車輛處于前、后、左、右不同狀態,始終保持車輛的平衡。硬件包括紅外遙控模塊、陀螺儀模塊、電源模塊、驅動模塊、測速模塊、顯示模塊、Arduino uno主板模塊。軟件部分對各個模塊進行了編程和相關功能的實現后,再進行了調試,最后完成了各個小車狀態的控制。
Arduino UNO;兩輪自平衡機器人;智能制造;輪式移動機器人
二輪平衡小車擁有得天獨厚的外形優勢和使用特點,使其具有很高的研究價值[1]。隨著社會的發展以及智能制造水平的提高。近年來,兩輪平衡車的研發速度逐步加快,涵蓋了很多領域,與此同時,由于平衡小車通常執行較為復雜的任務,所以對其適應環境的能力要求逐漸提高。例如,在條件惡劣的地方,車流量巨大,交通無法正常通行的情形,或者彎道較多的場所,小車如何能在較短時間內獲取有效正確的信息并能夠獨立處理執行任務已經成為當下的研究熱點。兩輪平衡小車概念的提出,迎合了當前的研究熱點,可以完美解決在復雜環境下小車所遇到的問題,再加上紅外遙控技術以及無線通信技術,可以精準的遠程遙控小車的運動姿態,未來在交通管控、抗險救災、醫療衛生甚至執行軍事行動上都會有非常廣泛的發展空間。
本文通過對小車驅動設計、紅外遙控系統的設計、Arduino uno主板模塊設計、機械結構框架的設計完成了基于Arduino uno的兩輪平衡小車的研制[2]。本系統采用Arduino uno主板微控制器作為系統的主控制芯片,以MPU6050作為車體姿態的傳感器并輸出車體的加速度及角速度,經過大量的PID計算和實驗調試獲得了使車體穩定運行的角速度和加速度。利用TB6612FNG驅動系統控制H橋不同輸入的切換,可改變小車的運動方向達到前后左右旋轉及剎車,使用無線遙控器與小車系統通信控制直立行走及轉彎[3]。以下就是平衡小車主要的一些方向和總體設計,以及流程完成所需要的步驟。流程及步驟如圖1所示。

圖1 流程及步驟圖
Arduino uno是一個開源的硬件平臺。它可以用來開發交互式產品。可以讀取大量開關信號和傳感器來控制物理設備,如各種照明設備、顯示器和電機。相對于傳統的Arduino Duemilanove和Arduino Mega1280,Arduino UNO將USB轉換為串行端口組件,并用ATMega8U2微控制器取代原來的USB到串行端口芯片FT232RL3232[4],這使得下載速度更快,更穩定。
紅外遙控平衡小車[5],編程完成后小車能夠實現以下功能:(1)能夠接受紅外信號并可以通過遠程控制進行認證;(2)具有避障功能,當紅外探測儀探測到前方有障礙物時能夠及時避開并能夠重新規劃路線;(3)能夠手動控制實現前進、后退、停止、左轉、右轉等功能。
紅外遙控平衡小車能夠實現循跡避障功能主要由紅外遙控器,L298 驅動電機以及充電鋰電池三部分來實現。其紅外遙控系統的硬件部分由一個發射遙控器、接收器、單片機組成。其中,紅外遙控發射器的內部包括了載波發射器、指令編碼電路、調制電路、驅動電路、紅外發射器電路五個部分[6]。本次選擇紅外遙控裝置來實現功能,是因為紅外遙控技術成本低,功耗低,抗干擾能力強,具有穩定的信息傳輸能力等優點。
陀螺儀的工作原理就是一個物體在運動或者靜止過程中,不管外部有沒有對其施加作用力,該物體的運動方向依然保持不變。有很多地方需要一直保持運動的方向不變,并且將數據信號傳給控制系統,通過運用這個方法可以保持方向恒定[7]。陀螺儀的組成部件包括了內外框架、力矩馬達、信號傳感器、同步電機、三相交流電機。它的主要特性是它的穩定性和進動性,在高速旋轉過程中不但可保持平衡,豎直不倒,而且還會旋轉勻速,繞定點運動反映出陀螺的穩定性和進動性,如圖2示出了陀螺儀的模型圖,每個陀螺儀負責檢測相應的軸線,也就是轉速,檢測繞各軸的旋轉速度。

圖2 陀螺儀模型圖
平衡車既可以是鋰電池輸入接口,也可以是電源輸入,輸入電壓為12v。使用輸出電壓為12v的LM2596S作為開關穩壓器[8]。輸入電壓的范圍處于4.0v~40v之間,轉換頻率達到150KHz,輸出電流為1A,工作溫度在零下25攝氏度到125攝氏度之間。在負載調節的情況下都有很高的提升,穩定性強,抗干擾能力強,能夠滿足本次平衡小車的工作要求。
該驅動模塊具有強勁的驅動能力,發熱量很低,抗干擾能力強的特點,能夠使該系統正常工作。可以通過驅動電源部分去電工作,避免穩壓芯片損壞,使用外置5v,而且TB6612FNG使用大容量濾波電容,續流保護二極管,提高可靠性[9]。內部包含4通道邏輯驅動電路,一種二相和四相電機專用驅動器。接收標準TTL邏輯電平信號是二個H橋高電壓大電流驅動器。驅動程序使用TB6612FNG作為主芯片,電路圖如圖3所示。

圖3 電機驅動電路圖
本平衡小車選取了型號為GB37的 4.3KG/CM 大扭矩直流電機,該直流電機具體參數為:額定電壓12V;減速前轉速330rpm;空轉電流120ma;功率4.8kw;堵轉最大電流1.2A;減速箱長度22mm。
為了使小車能夠達到使用條件并且出色的完成工作任務,該平衡小車搭載了霍爾傳感器高精度測速碼盤,其包含了16線強磁碼盤。在A B雙相輸出共同作用下,通過實際測量及計算可得出車輪在完整的轉動一圈時,脈沖數能夠達到30*13*2=960個,單相可以達到480個,完全符合平衡小車的正常工作要求。電機及霍爾碼盤如圖4所示。

圖4 電機及霍爾碼盤
電機的工作原理:
電機的工作原理主要是依據電磁學,導體在閉合磁場中做切割磁感線的運動隨之會產生電磁力,導體在電磁力的作用下從而轉動。其運動學公式為:
F=B*i*l (1)
F為電磁力,B為磁場強度,i為電流,l為導體長度。
在電磁學理論中中,直流電機既可以用作電動機帶動著平衡小車車輪的轉動,同時帶電導體做切割磁感線的運動會產生電流,又可以成為一部發電機為小車持續不斷的提供用電。當然,讓此系統成為某種特殊設備,需要限定一定的條件。給系統輸入合適的直流電壓,此電壓將會加載電機的電刷之上。此過程涉及到能量之間的轉化,輸入的是電能而輸出的是機械能,機械能帶動設備運動[10]。反之,如若不給電機系統輸入一定的電壓,電刷在內部磁場做切割磁感線的運動產生電動勢,系統作為電源將電流輸出,作為發電機,產生電能。該過程稱之為可逆原理,可以為系統節約能源的損耗。原理如圖5所示。

圖5 直流電機原理圖
對于這個兩輪自平衡機器人,為了能夠更為直觀的看到小車的剩余電量、時間、速度以及轉向,我們給平衡小車搭載了LCD 1602顯示屏。LCD驅動器通過微處理器的實時控制驅動輸出接口重構圖像數據,然后將圖像數據轉換為“0”和“1”編碼序列,可直接用于LCD掃描信息,根據顯示屏驅動芯片ht1621的時序,將編碼序列發送到顯示屏進行顯示。
為了使顯示模塊正常工作,其內部的設置流程主要包括 LCD 初始化、控制時鐘及控制寄存器設置、數據緩沖幀設置、編碼信號與時序處理、分辨率像素等。
實際上平衡小車就是通過控制兩個車輪的不斷快速轉動使其處于相對動態平衡而不會倒下的智能小車,它在兩個車輪的協同作用下保持直立并能夠接受指令進行前進及后退等一系列操作。
平衡機器人的工作原理也是如此,系統通過MPU6050的反饋實現調整并平衡。這是相對簡單的保持直立,因為汽車有兩個輪子在地板上,車身只會向傾斜一方的車輪進行滾動。通過控制車輪的轉動來消除掉小車將要傾斜的姿態,就可以使小車在一個維度中保持平衡[11]。智能平衡小車的倒立擺水平圖如圖6所示。

圖6 倒立擺水平圖
當沒有對平衡小車進行控制時,無論車身是有向前或者向后的傾倒趨勢時,兩個車輪都是保持靜止狀態不動的,可以理解為兩個車輪的轉動和車身的傾斜是分別獨立,互不干擾的。當平衡小車處于控制狀態時,我們在直立狀態下釋放小車,小車這個時候就可能會存在三種運動狀態的其中一種,當內部編程算法完全正確時,小車就會保持平衡直立狀態[12]。小車三種運動狀態圖如圖7所示。

圖7 小車三種運動狀態圖
三種類型的運動狀態下及其控制策略如下:
(1)在停止狀態時,當平衡小車的重心直接位于電機軸線的垂直上方時,小車將保持平衡直立,不受任何控制,如圖7(a)所示。
(2)在前進狀態時,當小車的重心直接位于電機軸線的前方時,車輪向前滾動,使車體保持平衡,如圖7(b)所示。
(3)在后退狀態時,當小車的重心直接位于電機軸線的后方時,車輪向后滾動,使車體保持平衡,如圖7(c)所示。
因此,小車能夠保持平衡的方法就是通過傳感器測量來得到平衡小車車身與豎直垂直的相對角度,將相對角度這個數據傳輸到單片機,然后通過單片機計算處理后,向電機控制電路發出指令信號,控制電機的轉速和轉向來帶動車輪的轉動,使車身保持動態平衡。
所以依照上文所得出的結論,控制小車達到動態平衡的關鍵技術就在于測得小車的傾角和傾角速度。經過多次選型與實驗,最終我們采用集成傳感器陀螺儀- MPU6050來測量小車運動過程中的傾斜角度和傾斜速度[12]。
由于SolidWorks具有優越的操作性和應用廣泛性,所以我們采用它作為本小車車身整體結構設計的繪制工具。采用SolidWorks建模首先要從整體出發,計算該模型需要哪些零部件,隨后研究分析各個零件的建模,分析各個零件所具有的特性以及加工要求,明確不同特征之間裝配關系,確定了創造秩序的特點后,在該整體模型的基礎上,增加工程的特點。利用二維平面繪制的草圖來進行旋轉、拉伸、掃描、混合等一系列方法從而建立整體三維物理模型。最后將各個完整的零件模型經過計算之后,進行整體裝配整合得到我們最終所需要的平衡小車三維立體模型。
在設計小車的整體結構之前,研究了近年來國內外各個平衡機器人的結構特點,并總結成了下面的表1。

表1 結構特點特性總結表
綜合以上的研究和考量,為了使平衡小車能夠正常的工作,最終設計出了結構質心位置可變,倒立擺式的車身機械結構,通過測量車身傾斜角度隨之做出平衡調整。具體機械結構如圖8所示。
由于本小車是為了進行負載工作的,考慮到小車自身的重量以及到時候所要負載的一些重量,我們要根據情況來選擇合適的電機,綜合考慮我們選用了型號為GB37的4.3kg/cm大扭矩直流電機,電

圖8 整體結構圖
機根據功率和轉速選定,減速機根據減速比和功率選定。以下是電機載荷的計算方式。
電機載荷計算公式:
P=T*n/9550 (2)
公式中P為功率(kW) ,T為扭矩(N·m),n為轉速(r/min)。
減速比計算公式:
i=N1/N2 (3)
公式中i為減速比,N1為電機轉速,N2為輸出轉速。
電機尾部搭載雙通道霍爾效應編碼器,AB雙路輸出,單路每圈脈沖16CPR,雙路上下一共輸出64CPR,其減速比為30,車輪轉動一圈,那么編碼器也相應的轉動30圈,編碼器為16CPR時,則3016=480脈沖,輪子周長為65*pi=204mm,則精度204/480=0.425mm。如果把每一路脈沖的上沿和下沿都利用起來,相當于四倍頻16×4=64,此時精度為204/64/30=0.10625mm。已達到該系統所需精度,可以做到小車原地直立。通過實驗,該小車選取了GB37(帶16CPR霍爾效應編碼器)。
P=1.732UIcosφ (4)
電機功率計算公式:
P= F×v÷60÷η (5)
公式中P為功率(kW),F為牽引力(kN),v為速度(m/min),η為傳動機械的效率,一般在0.8左右。
P= F×v÷60÷η×k (6)
P=1.732*U*I*cosΦ (7)
功率P與視在功率S的比值稱為功率因數cosφ,即cosφ=P/S。所以,三相電源的線電壓為U,線電流為I,則有S=1.732*UI,I=S/(1.732U),S=P/cosφ,P=1500W/μ,故導線的最大電流I=1500W/ (1.732U* cosφ*μ) (單位:A)。
由于充分考慮到兩輪平衡小車采用的GB37直流電機的載重能力以及所需成本問題,所以在對車體框架的設計和實物制作時的選材排除了最初的鋼制型材和塑料型材,最后再結合實際情況選取了亞克力塑料玻璃板作為車身框架制作的原材料。該亞克力玻璃塑料板的優點是便宜、方便加工和拼裝,較輕便并且結實牢固。為了減輕小車的自重,使其車身架構更加緊湊并且保證其發生碰撞時的車身強度,整車不是包羅萬象的外殼,而是框架式結構。
機身的上下板則是由丙烯酸有機玻璃切割而成,確保車身較輕,易于處理且保證車身強度。另外,在下板的兩側設計了兩個小孔形通孔,用于將電機固定在狹窄的空間內。最終該平衡小車的整體尺寸為高25cm、寬8cm、高26cm。
首先將各個模塊進行獨立調試,確保每個模塊能夠正常工作,再將各個模塊進行組裝整合來聯合調試。上電之后,先觀察控制器是否可以控制點擊轉動,且點擊轉動與實際情況是否符合,隨后進行小車的動態調試。
當整車稍向前傾斜時,觀察到車輪有向前運動的趨勢;當整車向后傾斜時,觀察到車輪有向后運動的趨勢。串口屏幕實時顯示小車的傾斜角度。則表示控制器的控制邏輯與電機的實際運行狀況相同。隨后為了使小車能夠達到不同的運動狀態,需要調節PID的各個參數來完成。如圖9為小車正面實測圖,圖10為測試數據折線圖。

圖9 小車正面實測圖

圖10 測試數據折線圖
通過觀察實驗數據的折線圖可以看出,隨著小車與地面之間傾角的增加,小車達到平衡狀態所需要的時間也在增加,當小車與地面的傾角在0°到±30°的范圍內時,小車最終將達到平衡狀態。
本次平衡小車的系統采用了Arduino UNO為主控制器,共包含了以下各個模塊:電源模塊為該系統提供了電能,保障著所有模塊能夠正常運行;控制器模塊是該系統的核心部分,通過對該系統發送指令及接收反饋,實現小車的實時控制使其維持正常工作;電機驅動模塊放大控制信號,驅動電機正常工作;陀螺儀模塊主要是使該系統無論在運動或者靜止過程中,即使有外力也不會對小車運動方向產生變化;顯示模塊用來顯示小車的傾斜角度及其車況;測速模塊用于測量車速,最終通過閉環反饋控制車速;紅外遙控模塊使小車和遙控器之間相互通信來操作小車達到不同的運行狀態,最終小車實現了在不同狀態下的自我平衡。
[1] 王鵬. 基于STM32的兩輪自平衡車控制系統設計與實現[J]. 中國科技縱橫, 2018, (18): 3.
[2] 林忠海. 基于單片機的兩輪自動平衡小車設計[J]. 科技創新與生產力, 2013, (2): 4.
[3] 劉靜, 肖家寶, 王曉, 等. 兩輪自平衡機器人控制系統設計與實現[J]. 電子技術與軟件工程, 2019, (17): 2.
[4] 丁倩雯, 徐紅紅. 基于Arduino UNO的平衡車設計[J]. 西安文理學院學報(自然科學版), 2019, 22(01): 53-57.
[5] 陳木桂, 張謙, 黃睿, 等. 一種光電平衡智能車設計[J].教育教學論壇, 2019, (39): 5.
[6] 李澍源, 馮奇杰, 蘭家祥, 等. 基于超聲波測距式的自平衡車控制系統[J]. 內燃機與配件, 2017, (2): 3.
[7] 王宇坤, 陳沃源. 基于PI控制器的兩輪平衡小車設計[J]. 信息記錄材料, 2018, 19(7): 2 .
[8] 熊躍軍, 史明政, 林金勇, 等. 一種兩輪自平衡小車的設計與實現[J]. 長沙大學學報, 2016, 30(2):4 .
[9] 楊柳. 兩輪自平衡小車控制系統探討與分析[J]. 中國新通信, 2018, 20(19):157.
[10] 夏鵬輝. 兩輪平衡車的強化學習控制算法研究[D]. 哈爾濱:哈爾濱工業大學, 2018.
[11] 柯國松, 陳陽, 許志文. 兩輪自平衡小車的研究與實現[J]. 工業控制計算機, 2014, (11): 3.
[12] 方雁峰. 雙輪直立機器人行走關鍵技術研究[D]. 杭州:浙江工業大學, 2014.
[13] 孫麗莉. 兩輪自平衡倒立擺式機器人系統設計與控制[D]. 大連:大連海事大學, 2016.
Development based on Arduino UNO Two-wheel Balancing Vehicle
LIN Wei, MA Shuang-bao, DONG Yu-jie
(School of Mechanical Engineering and Automation, Wuhan Textile University, Wuhan Hubei 430200, China)
With the development and improvement of electronic technology, mobile robots are more and more widely used in production and life, and have become the focus of emerging technologies. In order to achieve the purpose of manually and wirelessly controlling the movement of the car, a two-wheel balance car based on Arduino UNO is developed. The system takes Arduino UNO as the main controller and realizes man-machine communication through infrared remote control. The remote controller sends a command to the controller. After receiving the command, the controller executes relevant procedures to control the vehicle in different states of front, rear, left and right, and always maintain the balance of the vehicle. The hardware includes infrared remote control module, gyroscope module, power module, drive module, speed measurement module, display module and Arduino UNO motherboard module. In the software part, after the programming of each module and the realization of related functions, the debugging is carried out, and finally the control of each trolley state is completed.
arduino UNO; two-wheeled self-balancing robot; intelligent manufacturing; wheeled mobile robot
TP212
A
2095-414X(2022)04-0027-06
通訊作者:馬雙寶(1979-),男,副教授,博士,研究方向:智能檢測與控制.
紡織新材料與先進加工技術國家重點實驗室開放課題基金(FZ2020005).