王 杨(长安大学电子与控制工程学院,陕西 西安 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-)女,就读于长安大学电子与控制工程学院。专业:控制工程与控制理论。