王 楊(長安大學電子與控制工程學院,陜西 西安 710064)
?
基于模型設計的自平衡車樣機研發
王 楊
(長安大學電子與控制工程學院,陜西 西安 710064)
針對提高兩輪自平衡車開發效率以及降低開發成本,采用基于模型設計的方法開發兩輪自平衡車樣機。首先建立了兩輪自平衡車的本體模型和控制器模型,并通過仿真分析驗證了控制算法的有效性,接著搭建了兩輪自平衡車代碼模型和硬件平臺,進行自動代碼生成與實驗驗證。實車實驗結果表明兩輪自平衡車能夠實現自平衡功能,驗證了基于模型設計方法的可行性。
自平衡車;基于模型設計;代碼模型;自動代碼生成
10.16638/j.cnki.1671-7988.2016.08.035
CLC NO.: U469.72Document Code: AArticle ID: 1671-7988 (2016)08-113-02
兩輪自平衡車系統區別于傳統的輪式車輛,具有轉彎半徑為零、驅動功率小、適用于多種特殊場合、可反復充電使用、綠色環保等特點,有著廣泛的應用前景[1-3]。目前,兩輪自平衡機器人的研究在美國,日本,瑞士等國家得到迅速的發展。然而,自平衡車開發方案仍采用傳統的開發流程,設計階段就需要打造硬件平臺,前期資金投入多;測試階段只能在完成原型樣機之后才能進行,查錯與修正的費用巨大,造成潛在的市場風險;軟件編程采用傳統的手工編程方式,人員素質要求高、難度大、效率低、錯誤多[4]。因此針對提高兩輪自平衡車產品開發效率以及降低開發成本,結合當前主流V模式開發流程,本文采用基于模型設計的方法,開發兩輪自平衡車樣機,并通過搭建硬件實驗平臺,驗證了自平衡車樣機的自平衡功能,同時也驗證了基于模型設計方法的可行性。
誕生于20世紀90年代中期的基于模型的設計技術,經過10多年的發展逐步完善,已被廣泛接受[5]。基于模型的設計以TI公司和MathWorks公司聯合開發的Embed Coder工具箱為依托,為嵌入式開發開拓了新途徑。它可以將傳統開發流程中的四個相互割裂的階段有機的結合了起來,在可視化平臺上(如MATLAB),從需求分析階段就開始驗證與測試,讓工程師把精力主要投入到算法和測試用例的研究上,將嵌入式 C代碼的編程工作留給計算機去自動完成,有效的減小了人為引入錯誤的可能[4]。這樣不僅提高了代碼的可靠性與一致性,同時加快了軟硬件的開發速度,縮短了開發周期。
基于模型的設計流程主要包含需求分析,建模與仿真,代碼生成實現,在每個階段中都需要連續的測試與驗證[6]。(1)需求分析階段,開發者基于系統的需求分析,借助Matlab/Simulin和Stateflow將需求轉為一個系統模型。相對于傳統文檔,Stateflow建立的可執行文檔更加準確,可以使開發團隊更加無歧義的理解整個開發需求。(2)系統需求分析完成后,這時需要對系統進行更加細致的建模。一般來說,一個完整的模型包含環境模型,物理模型,算法模型三個方面,模型搭建越完善,仿真的可靠性越高[7]。(3)嵌入式代碼自動生成。通過分離出代碼模型,利用MathWorks的Real-time workshop Embedded Coder將代碼模型自動生成優化的、可移植的產品級C代碼。
2.1需求分析
根據基于模型設計的開發流程,首先進行自平衡車需求分析,兩輪自平衡車左右兩輪分別由兩個直流電動機獨立驅動,通過安裝在其上的姿態傳感器來判斷自身姿態,即車體法向與水平面法向的角度,稱之為平衡角,控制器根據平衡角實時計算控制量,驅動電機以保持自身平衡不傾倒,即使平衡角趨向于零,這是控制器的主要控制目標。據此可知兩輪自平衡車開發需求為:平衡車的自平衡,實現前進后退直線行駛的功能;平衡車的轉向控制,實現車輪間的差速。
2.2自平衡車控制器模型
根據自平衡車控制需求,在Matlab/Simulink環境下搭建了自平衡車控制器模型,如圖1所示,模型中采用PID控制算法對自平衡車進行傾角控制。
2.3仿真分析
通過仿真分析可以快速對PID參數進行整定,在整定后的PID參數下,給點自平衡車速度為0,轉向角速度也為0,該給定狀況下的左側電機電壓PWM占空比信號如圖2所示。從圖2,自平衡車起始階段出現輕微的擺動,但很快處于平衡狀態。
3.1代碼模型搭建
根據基于模型設計的開發流程,在完成仿真模型的設計驗證之后,需要結合實際底層硬件搭建代碼模型,本文采用TI的TMS320F2812芯片作為系統主控芯片。Embedded Coder工具箱是TI公司和MathWork公司聯合開發底層驅動模塊,結合底層驅動模塊搭建如圖3所示的代碼模型。
3.2自平衡車樣機硬件平臺搭建
本文使用MPU6050 芯片檢測車體傾角和傾斜角速度;使用光電碼盤和與之配合的光電管構成測速電路實現對車輪速度的測量;驅動電路全橋采用集成芯片L298N構成兩個H全橋。
通過仿真器連接計算機和F2812芯片,打開自平衡車代碼模型,點擊模型編譯按鈕,MATLAB/Simulink會自動對代碼模型進行編譯并且創建CCS工程文件,并將生成的.out文件自動載入目標板,斷開仿真器與F2812芯片之間的連接,并打開陀螺儀,驅動橋以及控制板的電源,靜止30S后,自平衡車狀態如圖4所示,可見兩輪自平衡車樣機能夠很好保持自平衡。
采用基于模型設計的方法開發兩輪自平衡車樣機,分析了自平衡車的數學模型,搭建了自平衡車仿真模型,并驗證了仿真模型的有效性,基于Embedded Coder工具箱搭建了代碼模型,并設計了自平衡車樣機硬件平臺,通過代碼自動生成,驗證了自平衡車樣機的自平衡功能和基于模型設計方法的有效性。
[1]胡建,顏鋼鋒.基于自抗擾控制算法的兩輪自平衡車分析[J].機電工程,2014,02:159-164.
[2]劉二林,姜香菊.基于PD算法的兩輪自平衡車直立控制[J].自動化與儀器儀表,2015,01:203-206.
[3]楊興明,段舉,朱建,等.基于模糊調節的兩輪自平衡車的終端滑模分解控制[J].合肥工業大學學報(自然科學版),2014,10:1187-1193.
[4]劉杰.基于模型的設計及其嵌入式實現[M].北京:北京航空航天大學出版社,2010.
[5]吳德軍.基于模型設計的永磁同步電機神經網絡PID控制系統研究[D].西安:長安大學,2015.
[6]李真芳,蘇濤,黃小寧.DSP程序開發—MATLAB調試及直接代碼生成[M].西安:西安電子科技大學出版社,2007.
[7]高闖.基于模型設計的永磁同步電機空間矢量控制系統的研究與實現[D].西安:長安大學,2014.
Design of self-balancing electric vehicle prototype based on MBD
Wang Yang
(School of Electronic and Control Engineering,Chang'an University,Shaanxi Xi'an 710064)
In order to improve development efficiency and reduce development costs for self-balancing vehicle,this paper adoptsthe method of model based design to designthe two-wheeled self balancing vehicle prototype.Firstly,this paper established the model of self-balancing vehicleand the controller model and verify the effectiveness of the control algorithm by simulation analysis,then,this paper builtthe code model and hardware platform for the self-balancing vehicle.By automatic code generation and experimental verification,real vehicle test results show that two-wheeled self balancing vehicle can achieve self-balance function,and verify the feasibility of model-based design method.
self-balancing electric vehicle; modelbased design;code model; automatic code generation
U469.72
A
1671-7988(2016)08-113-02
王楊,(1990.6-)女,就讀于長安大學電子與控制工程學院。專業:控制工程與控制理論。