基於 NI myRIO 的平衡車設計

摘要

本文設計了以 NI myRIO 作爲核心控制器,用 LabVIEW 編程語言開發的兩輪自平衡小車。根據加速度傳感器的測量數據以及編碼器的數據,通過PID算法,利用NI myRIO調節PWM從而獲得平衡車穩定的姿態,並結合系統本身設計了串聯PID 控制算法來實現兩輪車模型的直立平衡 , 討論了控制器參數的優化。測試數據表明,速度環與位置環在 PID 控制算法的參與下,兩輪車實現了穩定的直立平衡。

關鍵詞:

NI myRIO;LabVIEW;自平衡車;加速度傳感器;串聯 PID 控制

目錄

第一章 緒論
1.1課題提出的背景
1.2 LabView圖形化編程優勢
第二章 總體方案分析
2.1模塊方案比較與選擇
2.1.1控制系統模塊的論證與選擇
2.1.2電機驅動模塊的論證與選擇
2.1.3角速度測量模塊的論證與選擇
2.2總體方案論述
第三章 系統硬件設計
3.1系統硬件整體方案
3.2各硬件模塊選擇
3.2.1核心控制器myRIO
3.2.2電源管理模塊
3.2.3帶電磁 ( 霍爾)編碼器的直流減速電機
3.2.4 TB6612電機驅動電路
第四章 系統軟件設計
4.1控制算法的選擇
4.2程序流程圖
4.3程序設計
第五章 系統總調試
5.1 PID參數整定
5.2系統測試及結果分析
結論
參考文獻
致謝
附錄

第一章 緒論

1.1課題提出的背景

近年來,兩輪自平衡電動車以其行走靈活、便利、節能等特點得到了很大的發展,但其本身是一 種非線性、多變量和強耦合的類倒立擺系統,其控制難度大、算法複雜。兩輪車保持直立平衡的前 提是要通過傳感器獲得車體穩定精確的姿態,但由於陀螺儀和加速度計等慣性傳感器的固有特性,測量 的數值會隨時間產生不同程度的偏差和漂移,本文通過使用互補濾波算法融合兩者的數據解決這個問題。其次簡單有效、健壯的控制算法是兩輪車保持平衡的關鍵,本設計首先使用角度PD 控制器對車身 傾角進負反饋控制,實驗結果顯示單純使用該控制算法不能讓兩輪車維持很好的平衡,因此又引入速度 PI 控制器,通過讓車體保持速度爲零,從而增強平衡性能。

1.2 LabView圖形化編程優勢

當今全世界已進入智能時代的探索和發展,將生 活中能夠與芯片和電腦連接在一起的事物構建一種 控制聯繫方式,採用IOT(InternetofThings)技術來方 便人的生活。智能車輛的研究也在如火如荼的進行。2011年國際機器人展上推出的導盲犬機器人,採用車載3D圖像傳感器識別位置信息;也有低成本 STC單片機、紅外接近開關和超聲波傳感器的設計的小車平臺;在避障策略上相應的提出了羣集協調 算法,Leader-follower和Leader-Leader等最優化自動 規劃路徑算法。但是單片機、ARM等低端控制器,在功能上侷限性較大;同時避障策略不具有實時 性和自適應性,並且複雜度高和靈活性差。
LabVIEW 圖形化的編程環境和模塊化的軟件設計流程,非常符合工程思維,配合NI 的硬件平臺 myRIO 大大縮短了本設計的開發和調試周期。因此設計了基於NImyRIO和LabVIEW的智能系統。 結合了強大的FPGA編程能力、良好的兼容和用戶界面,爲低成本、多功能智能車應用發展提供新的決解方案。

第一章 總體方案分析

2.1模塊方案比較與選擇

2.1.1控制系統模塊的論證與選擇

方案一:採用傳統的89C51芯片爲控制核心。具有4KB的程序存儲器,128KB的數據存儲器,64KB的片外存儲器尋址能力,64KB的片外數據存儲器尋址能力,32根輸入/輸出線,1個全雙工異步串行口,2個16位定時/計數器,5箇中斷源,2個優先級。但數學處理能力差,功能單一,運算速度慢,控制過程比較煩瑣。
方案二:採用採用NI myRIO。NI myRIO內嵌Xilinx Zynq芯片,使學生可以利用雙核ARM Cortex-A9的實時性能以及強大的計算功能,編程開發簡單,支持用LabVIEW進行編程,圖形編程,明瞭易懂,同時包含大量現成算法函數,方便快速調用。同時,myRIO自帶三軸加速度傳感器,可通過LabVIEW觀察波形,進行自平衡小車測量時非常方便。
綜合考慮採用方案二控制。

2.1.2電機驅動模塊的論證與選擇

方案一:採用步進電機爲驅動源,但步進電機並不能像普通的直流電機,交流電機在常規下使用。它必須由雙環形脈衝信號、功率驅動電路等組成控制系統方可使用。且速度不是很快,不好操作。
方案二:使用MOSFET構成H橋式驅動電路,利用PWM波形來控制電機的轉速,此電路驅動功率比較大耗能高,電機的轉速較快。
方案三:使用直流電機驅動芯片TB6612來驅動電機,4 種電機控制模式:正轉/ 反轉/ 制動/ 停止。myRIO 控制器將一定頻率、佔空比的 PWM 信號輸入到該模塊,改模塊繼而控制電機轉速和方向。
綜合考慮採用方案三。

2.1.3角速度測量模塊的論證與選擇

方案一:使用三軸加速度傳感器MMA7260Q可以測量小車加速度大小,選取最佳重心位置,將測量出的數據傳入控制系統。
方案二:MPU-60X0系列是全球首例9軸運動處理傳感器。它集成了3軸 MEMS陀螺儀 ,3軸MEMS加速度計, 以及一個可擴展的數字運動處理器 DMP(Digital Motion Processor)。能夠同時輸出x,y,z 三個軸上的加速度與角速度數字信號。但需要進行歐拉角度變換,算法較複雜。
方案三:使用myRIO自帶三軸加速度傳感器,由於是本身自帶,便於使用與測量。
綜合考慮採用方案三。

2.2總體方案論述

本系統主要包括控制系統模塊、電機驅動模塊、編碼器模塊和角速度測量模塊四個模塊,根據角加速度傳感器測量出的數據以及編碼器的數據,利用myRIO調節PWM佔空比,調節電機的轉速及方向,使小車能始終保持平衡。總方案框圖如圖2-2-1所示。

圖2-2-1 總方案框圖

第三章 系統硬件設計

3.1系統硬件整體方案

系統的硬件部部分主要包括核心控制器 myRIO、電源管理模塊、mpu6050 六軸傳感器、帶電磁(霍爾)編碼器的直流減速電機以及 TB6612 電機驅動模塊。系統硬件的整體框圖如圖3-1-1所示。

圖3-1-1 系統硬件框圖

3.2各硬件模塊選擇

3.2.1核心控制器myRIO

NI myRIO 是 NI(美國國家儀器有限公司)針對教學和學生創新應用而推出的嵌入式系統開發平臺,內嵌Xilinx Zynq 芯片,這款芯片集成了雙核ARM  Cortex-A9 處理器以及 Xilinx FPGA,LabVIEW 程 序可以自動編譯並在ARM實時處理器中執行。控制 器除了常見的模擬輸入、模擬輸出、數字I/O 之外,還包括I2C 總線、SPI 總線、PWM、編碼器、UART 等接口,是一款強大的嵌入式實時處理器。

3.2.2電源管理模塊

本模塊的核心是DC-DC 升壓電路,主要負責給各部分模塊提供穩定供電。該模塊輸入電壓爲11.1v,由3S 航模鋰電池提供;經過DC-DC升壓後輸出電壓爲12v,直接爲 myRIO 控制器和 TB6612 電機驅動模塊供電。

3.2.3帶電磁 ( 霍爾)編碼器的直流減速電機

直流減速電機爲雙輪平衡車提供動力,減速比爲 30:1,電機尾部自帶了 13 線的 AB 相增量式磁(霍爾)編碼器車輪轉一圈,電機可以輸出390 個脈衝,編碼器的額定工作電壓是5V, 集成了上拉電阻和比 較整形功能可以直接輸出方波,通過與 myRIO 的編碼器接口相連,便可以獲取平衡車的速度信息。

3.2.4 TB6612電機驅動電路

TB6612FNG 是東芝半導體公司生產的一款直流電機驅動器件,具有大電流 MOSFET-H 橋結構,雙通道電路輸出,每通道輸出最高1A 的連續驅動電流,4 種電機控制模式:正轉/ 反轉/ 制動/ 停止。myRIO 控制器將一定頻率、佔空比的 PWM 信號輸入到該模塊,改模塊繼而控制電機轉速和方向。

第四章 系統軟件設計

4.1控制算法的選擇

本系統的控制算法選用PID算法,PID調節器是指按偏差的比例、積分和微分進行控制的調節器,其調節實質是根據輸入的偏差值,按比例、積分、微分的函數關係進行運算,其運算結果用於輸出控制。在實際應用中,在多數情況下,根據具體情況,可以靈活地改變PID的結構,取其一部分進行控制。
PID控制器的輸入輸出關係爲:
在這裏插入圖片描述

PID控制有模擬和數字控制方式:模擬方式採用電子電路調節器,在調節器中,將被測信號與給定值比較,然後把比較出的差值經PID電路運算後送到執行 機構,改變給進量,達到調節之目的。數字方式用計算機進行PID運算,將計算結果轉換成模擬量,輸出去控制執行機構。數字PID算法爲用計算機實現,用數值逼近和連續信號離散化實現的PID控制規律。有兩種實現方式:位置性數字PID、增量型數字PID。
本系統採用labVIEW自帶的PID控制模塊,此模塊共包括六個輸入參數和兩個輸出參數。六個輸入參數分別是output range(輸出範圍)、setpoint(目標值)、process variable(輸入量)、PID gains(P、I、D參數輸入量)、dt(測量週期)、reinitialize(頻率值),兩個輸出參數分別是output(輸出值),dt out(輸出顯示週期)。
在這裏插入圖片描述

4.2程序流程圖

在這裏插入圖片描述

4.3程序設計

加速度傳感器模塊
在這裏插入圖片描述
PWM 模塊
在這裏插入圖片描述
數字輸出模塊
在這裏插入圖片描述
延時模塊
在這裏插入圖片描述
PID濾波器
在這裏插入圖片描述
詳細程序設計文件後續將上傳此博客!

第五章系統總調試

5.1 PID參數整定

本設計中存在兩個PID 控制環,但速度PI 控制器的引入僅僅是輔助角度PD 控制,增強系統的平衡性能。首先調節角度PD 控制器的參數,在實際調試中遵循先比例後微分的過程。調節式中的比例參數讓其一直增加,直到車體出現往復的低頻抖動,此時引入微分參數使其不斷增加,直到車體能夠保持平衡但有頻率較高的抖動出現,至此便確定了 P、D 參數的最大值,最終將每個係數乘以 0.6 得到理想的參數值。
由於機械結構的缺陷,經過測試發現無論怎樣調節角度PD 控制器的參數,系統始終不能達到一個理想的直立平衡效果,總是產生一定速度的前後搖擺。此時引入速度PI 控制器輔助直立平衡的控制,同樣遵循先比例後積分的原則,找到合適的Kp2 之後可把Ki2 的值設置爲Ki2=Kp2/200。實驗結果表明使用角度 PD 控制器配合速度 PI 控制器,本系統能夠很好的實現直立平衡,並且具有一定的抗干擾能力。

5.2系統測試及結果分析

本系統基本功能爲能讓小車穩定不倒在原地3秒以上,經過幾天調試,本系統能夠成功實現基本功能,但是根據地麪條件的不同,相應的PID參數將會不同,例如,在砂紙上,由於摩擦力較大,所以P參數應相應減小,否則將會由於比例過大而使小車回量過大而翻倒;在略光滑的地板上,相應的P應加大,否則小車將沒有足夠的加速度而向前趴到。
由於本系統採用的是串聯PID調節,速度環和位置環相互協調,實現小車平衡不倒。首先調節速度環,在實驗室略光滑地板上,最終理想PID參數爲:P=18.6、I=0.005、D=0;在速度環穩定的基礎上,調節位置環,最終理想的PID參數爲:P=21.3、I=0、D=0.0001。

結論

文中首先設計了二輪平衡車的整個硬件系統,之後又講解了基於LabVIEW 2017 開發的軟件系統及其工作流程。針對加速度傳感器和編碼器輸出的數據,深入的研究了PID算法,從原理以及實現過程上都做了較爲詳細的講解。實驗數據直觀的展示了PID算法的有效性,它能爲位置環和速度環提供穩定、實時的控制信號。爲了實現系統的直立平衡,引入了角度 PD 控制器和速度 PI 控制器,在選擇了合適的參數後,實驗結果表明該系統實現了穩定的直立平衡。隨着兩輪平衡小車的普及,本文設計的串聯 PID 控制算法會有更廣的應用價值。
雙輪自平衡小車的運動方程具有多變量、非線性、強耦合、時變、參數不確定性等特點,是一種理想的控制理論和控制技術研究的實驗平臺。通過這次自平衡小車的設計,我學到了許多知識,特別是PID算法的運用。自己手動調節PID,更加深入瞭解了PID算法的控制作用,但是限於時間與精力,自平衡小車的平衡還欠佳,以後有空餘時間,我們一定會慢慢改進。

參考文獻

[1] 楊世勇,徐莉蘋,王培進 . 單級倒立擺的 PID 控制研究 [J]. 控制工程,2007(B05):23-24.
[2] 薛凡,孫京誥,嚴懷成 . 兩輪平衡車的建模與控制研究 [J]. 化工自動化及儀表, 2012,39(11):1450-1497.
[3] 傅忠雲,陳秋陽,劉文波 . 基於直接轉矩控制的兩輪自平衡車系統設計 [J]. 壓電與聲光, 2014, 36(6): 967-971
[4] 趙傑,王曉宇,秦勇,等.基於 UKF 的兩輪自平衡機器人姿態最優估計研究 [J].機器人,2006,28(6):605-609
[5] 王建羣,南金瑞,孫逢春,等 . 基於 LabVIEW 的數據採集系統的實現 [J]. 計算機工程與應用, 2003, 39(21): 122-125.
[6] 楊忠仁, 饒程, 鄒建,等 . 基於 LabVIEW 數據採集系統 [J]. 重慶大學學報(自然科學版), 2004, 27(2): 32-35.
[7] 茅穎 . 基於 myRIO 控制器的自平衡車的 PID 算法實現 [J]. 福建電腦,2016,32(12):107-109.
[8] 謝斌,張超,毛恩榮,等 . 基於 myRIO 的電動拖拉機驅動控制器設計與室內試驗 [J]. 農業工程學報,2015,31(18):55-62.

致謝

歷時三週的LabView課程設計即將結束,第一次接觸LabView 開發平臺,第一次接觸NI myRIO 。在課程設計過程中遇到無數的困難和障礙,在指導老師和同學的幫助下,順利度過。無論是平衡車的組裝問題還是硬件出現損壞問題以及程序編寫障礙,指導老師都耐心指導,幫助渡過難關。在此,我向指導和幫助過我的老師表示最衷心的感謝!
同時,我也要感謝本次課設所參考的各位學者的設計方案,如果沒有這些學者的研究成果的啓發和幫助,我將無法完成最終調試。至此,我也要感謝我的朋友和同學,他們在此次課設過程中提供了很多幫助!最後,再一次表達最衷心的感謝!

附錄

在這裏插入圖片描述

在這裏插入圖片描述

發佈了8 篇原創文章 · 獲贊 9 · 訪問量 6295
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章