APP下载

基于MATLAB/Simulink闭环小车控制系统设计

2016-11-14朱志强

现代计算机 2016年28期
关键词:闭环控制小车驱动

朱志强

(江阴职业技术学院,江阴 214400)

基于MATLAB/Simulink闭环小车控制系统设计

朱志强

(江阴职业技术学院,江阴214400)

针对小车运动过程中易受外界因素干扰,运动状态出现不确定性的问题,提出基于MATLAB/Simulink的闭环系统设计方法,系统使用Simulink自带的Arduino硬件目标库进行小车驱动电路、测速电路的设置及运动状态的闭环建模,将整定后的系统由MATLAB/Simulink环境下载至下位机Arduino后,小车能精准实现预设的运动状态。结果表明:将Arduino与Simulink有效结合后,开发灵活,成本低,对基于算法的运动控制系统研究有推广价值。

Arduino;Simulink;闭环系统;PID控制;智能小车

2016年江苏高校哲学社会科学研究课题(No.2016SJD79002)、2016年江阴职业技术学院科研项目(No.16-E-DZ-18)

0 引言

小车运动控制可分为开环和闭环两种模式。开环控制系统软硬件设计都较为简单,常用于小车机械部分的功能测试,但在实际运行过程中小车不能根据外在因素变化及时对小车的运行姿态进行调整。以走直线为例,小车会受到两侧车轮摩擦阻力、路面平整度、电机传动差异性等因素影响,使小车偏离直线车道。

闭环控制可以通过计算机编程来控制其行驶,可以按照预先设定的模式在一个特定的环境里自动地运行,无需人工干预便可以完成预期所要达到的目标,是一个集环境感知、规划决策、自动行驶等功能于一体的综合系统[1-4];它集中地运用了计算机、传感、信息、通信、导航、人工智能及自动控制等技术,是典型的高新技术综合体[5-6]。

本设计在传统小车驱动基础上增加了测速反馈装置,采用MATLAB/Simulink对小车驱动进行PID调节,小车的运动状态得以实时调整,使小车在运行中能有效减少外部因素的干扰。

1 系统整体设计

本系统设计分为上位机和下位机两部分,上位机由MATLAB/Simulink进行建模,下位机负责采集小车运行速度信号,并根据上位机的实时调节及时调整输出小车直流电机驱动模块的PWM控制信号。系统设计框图如图1所示。

图1 小车闭环控制系统框图

2 系统硬件设计

系统硬件主要包括Arduino核心板控制电路、小车电机驱动电路、车轮测速传感模块。这些模块安装于车体上,由7.2V大容量锂电池经各稳压模块向相应电路提供电源。

2.1核心控制电路

Arduino是一系列基于单片机的人机互动产品开发平台,它的硬件平台是开放的。Arduino的硬件平台包括基于AVR单片机的主控制电路板,以及大量的各式输入/输出电子模块。输入/输出模块包括开关输入模块、温度压力传感器输入模块、超声测距传感器输入模块、各类显示输出模块、电机控制模块等[7]。

系统开发时,使用Simulink来设计控制系统和小车运动的算法,通过与执行平台相连,程序可以在Arduino上运行。Arduino Mega 2560对MATLAB/Simulink支持较好,是Simulink的外接硬件目标库的成员之一,该板内置一个Atmel ATmega处理器,提供数字和模拟连接以及串口通信,方便检测电机转速,并及时调整输出PWM占空比以调节电机驱动速度。系统设计时可以在Arduino Mega上运行应用程序的交互式参数调整和信号监控,而这在Arduino Uno上是无法使用的。

2.2电机驱动电路

现代豫剧《香魂女》和《常香玉》带着强烈地创新使命和探索意识,有效地尝试并创造性地完成了戏曲现代戏在新时期的现代化创作,在创作中,也有意识地以局部形态向戏曲的现代性逼近。可以断言,戏曲现代戏未来的发展,仍然面临着这两个问题:戏曲现代戏的戏曲化和戏曲现代戏的现代性。

电机工作时电流高于核心板I/O口输出电流,使用时必须外接电机驱动电路。驱动电机可采用L298N双H桥电机驱动控制模块[8],其驱动部分端子的电压范围为:+5V~+35V,驱动电流峰值可达2A。L298N既可以用来驱动直流电机,实现直流电机的正反转控制及调速功能,还可以用来控制步进电机。本设计用L298N驱动小车左右两个轮子,实现小车的前进、后退及左右转弯,L298N用于直流电机驱动的引脚逻辑关系如表1所示。

表1 L298N驱动直流电机控制逻辑(以左轮为例)

2.3光电编码测速电路

要实现小车的闭环控制,必须对小车左右两侧车轮的转速实时跟踪检测,光电脉冲编码器凭借其在价格和性能方面的优势一直是转速检测的主要器件[9],测速时编码器码盘以透光区和不透光区来表示码的状态是1或0,电机转速的快慢和脉冲编码的频率成线性关系。光电编码信号经调理电路调理后输出至Arduino核心板。

3 系统闭环控制建模

Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。MATLAB/ Simulink2012版本后提供了对Arduino的全面支持,使用Simulink Support Package for Arduino Hardware库中的模块进行建模,然后在目标硬件Arduino上运行,可以非常方便地实现各类闭环控制。Arduino与Simulink的混合应用模式如图2所示。

图2 Arduino与Simulink混合应用模式

3.1电机控制

小车的运行动作有直行、转向、停止三种,Simulink建模时无法同时对两侧电机分别给出独立的速度控制信号,设计时可以将两侧车轮的驱动信号分解为速度信号和转弯信号,如图3所示。

图3 电机驱动信号的分解

由图3可看出,两侧车轮的输入信号为速度信号与转弯信号的正负叠加。直行时,无需转弯信号,两轮速度信号相同;转弯时,只需改变转弯信号的极性,便可实现左转或右转。由于后续还要进行PID调节控制,图3输出的速度信号还要经过比较器和PID控制器的计算及PWM饱和模块设置才能经Arduino生成相应的PWM波。与Arduino相连的L298N逻辑控制如图4所示。

图4 L298N的逻辑控制

3.2编码测速控制

设计中采用的光电编码器为100步数,故可得:

由式(2)可知,只要准确测出相邻两次脉冲的时间间隔便可推算出车轮转速,设计时先由Digital Clock模块来产生一个准确的时间,再在Simulink库中调用触发子系统既可实现该功能。

3.3PID调节

PID(Proportional,Integral and Differemial)控制器是一种的简单的反馈调节控制算法,常规PID控制系统原理框图如图5所示。

图5 PID控制器结构框图

本系统使用PID控制器可以使小车运动具有更快的时间响应和更小的稳态误差,即小车运行过程中可以最大程度的消除理想状态外的各种干扰因素。本设计的PID反馈控制如图6所示。

图6 小车闭环控制框图

4 小车运行分析

PID控制器由比例、积分、微分三个环节构成。在控制系统结构确定后、控制对象处于正常状态时,应适当调整控制器的参数使控制系统的运行达到最佳状态,实现最好的控制效果。由于具体的传递函数难以确定,所以系统设计时,PID参数整定采用试凑法。

4.1比例环节参数Kp的整定

偏差信号e(t)产生后,负反馈介入以修正偏差。理论上,比例系数Kp增大可提高系统的响应速度,但比例系数太大会产生有害振荡。将系统的积分和微分环节移除后,在比例环节单独作用下,通过改变Kp值并观察系统运行情况,考虑到设计中的被控量是小车车轮转速,系统是一阶系统,因此Kp可以适当放宽,经过试凑后,Kp值设为20。

4.2积分环节参数Ti的整定

在比例控制的基础上加入积分控制,是系统增加一阶,这可以使系统的稳态误差进一步得到改善。积分控制取决于积分时间Ti,整定时将微分控制移除,逐步对积分系数进行试凑,直至静差消除的速度满意。由于系统已经是二阶系统,过大的积分系数会降低系统稳定性,试凑后,1/Ti设为了0.005比较合适。

4.3微分环节参数Td整定

微分控制反映了偏差信号的变化速率,改控制是一种预见性控制,使得系统能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。对Td试凑时,最后选择的Td的值为4。

5 结语

将系统从Simulink环境写入Arduino Mega后,由于小车采用了PID闭环控制控制系统,很大程度上提高了小车运动的瞬态性能和稳态性能,使小车能更快响应测速信号的变化,更准确地按照给定的指令运转,在出现外界干扰时能够迅速调节回正常状态,小车运行稳定性得到了改善。利用MATLAB/Simulink可以实现PID控制器的离线设计和整定,将Simulink与开源硬件Arduino配合使用,可以推广到多种运动控制系统中,有较强的使用价值。

[1]李明.先进制造技术与应用前沿———机器人[M].上海:上海科学技术出版社,2012.

[2]王绍坤.基于ARMS的无线遥控车系统设计与实现[D].长春:吉林大学,2011.

[3]陈松,宋晓琳.基于DSP的智能小车路径跟随系统设计[J].工程设计学报,2012,19(4):312-317.

[4]李波,杨卫,张文栋,等.一种智能小车自主寻/循迹系统设计[J].计算机测量与控制,2012,20(10):2798-2801.

[5]朱思敏.自循迹智能小车控制系统的设计与实现[D].杭州:浙江工业大学,2013.

[6]宋永献,马娟丽,贺乃宝,等.基于TMS320F2812的智能循迹小车控制系统设计[J].计算机测量与控制,2011,19(9):2128-2130.

[7]杨继志,郭敬.Arduino的互动产品平台创新设计[J].单片机与嵌入式系统,2012,4:39-41.

[8]梁学修,陈志,赵博.基于FPGA的电机转速高精度测量技术研究[J].制造业自动化,2015,37(12):50-52.

[9]吕云芳,等.基于C51高级语言程序控制的智能循迹小车设计与实现[J].实验室研究与探索,2015,34(3):142-145.

Arduino;Simulink;Closed-Loop System;PID Control;Smart Vehicle

Design of Closed-Loop Control System for Vehicle Based on MATLAB/ Simulink

ZHU Zhi-qiang
(Jiangyin Polytechnic College,Jiangyin 214400)

Vehicle can be interfered by external factors,and motion appears uncertain state,to deal with these issues,proposes closed-loop system design based on MATLAB/Simulink,the system uses the target hardware library for Arduino by Simulink to drive the vehicle,speed measurement and modeling of the closed-loop system,the tuning system after downloading the MATLAB/Simulink environment to Arduino,the vehicle can achieve precise default state of motion.The result shows that:after the effective combination Arduino and Simulink,the development of flexible,low cost,motion control system based on the algorithm research has promotional value.

1007-1423(2016)28-0049-04

10.3969/j.issn.1007-1423.2016.28.014

朱志强(1981-),男,江苏靖江人,讲师,硕士,研究方向为电子通信及嵌入式系统

2016-07-28

2016-09-25

猜你喜欢

闭环控制小车驱动
基于LMI的过渡态主控回路闭环控制律优化设计
基于模糊PI控制的驱动防滑仿真系统分析
大车拉小车
屈宏斌:未来五年,双轮驱动,砥砺前行
自制小车来比赛
轨旁ATC系统门控柜接收/驱动板改造
适用于厚度在线测量的水压闭环控制系统
刘老师想开小车
智能车竞赛中的闭环控制算法应用分析
两轮自平衡小车的设计与实现