新闻中心

EEPW首页 > 元件/连接器 > 设计应用 > 基于单片机的智能车速度控制系统

基于单片机的智能车速度控制系统

作者:陶佳时间:2017-08-29来源:电子产品世界
编者按:本文重点介绍了基于光电自动寻线智能车的速度控制系统的设计,包含直流电机的驱动模块、速度检测模块、速度控制策略、速度控制周期等部分。采用两片MC33886芯片来驱动电机运行,用反射式红外对管检测电机速度,实现对电机的闭环控制,通过大量的试验,最终速度控制策略采用了增量式PID控制和BangBang控制相结合的方法,并创新性地使用两个中断相结合的方法使得速度控制周期为等时的,从而对智能车过弯速度达到良好的控制。

作者/ 陶佳 广东省技师学院(广东 惠州 516100)

本文引用地址:http://www.eepw.com.cn/article/201708/363620.htm

陶佳(1986-),男,讲师,研究方向:智能控制工程,无线通信技术。

摘要:本文重点介绍了基于光电自动寻线智能车的系统的设计,包含直流电机的驱动模块、速度检测模块、策略、周期等部分。采用两片MC33886芯片来驱动电机运行,用反射式红外对管检测电机速度,实现对电机的闭环控制,通过大量的试验,最终速度控制策略采用了增量式PID控制和BangBang控制相结合的方法,并创新性地使用两个中断相结合的方法使得速度为等时的,从而对智能车过弯速度达到良好的控制。

引言

  在智能车制作中,利用ATmega16 单片机作为核心控制单元,以摄像头为路径识别传感器,分别设计控制系统,使得模型汽车能够自动准确地按照规定的椭圆路线行驶,速度控制是智能车控制系统最核心的部分之一,本文就如何设计智能车速度控制系统做了详细介绍。

  智能车速度控制系统包含电机驱动模块,速度检测模块,速度控制策略,速度等,如图1所示:

1 电机驱动模块

  系统所用电机是RS-380型号的直流电动机,其额定工作电压为7.2V,能输出0.9~40W的功率。使用两片MC33886芯片并联来驱动电机,其中MC33886为H桥式电源开关IC,该 IC结合内部控制逻辑、电荷泵、栅极驱动器、MOSFET输出电路,可工作在5~40V电压范围内。通过PWM信号调节输出,进而调节电机转速,PWM的控制频率为1KHz,PWM23可用于正转控制,PWM45可用于反转控制,OUT1和OUT2接于直流电机上,用来实现在直道时快速加速,弯道实现反转刹车来快速减速。电路图如图2所示。

2 速度检测模块

2.1 速度检测硬件

  直流电机的速度的检测方案是:用MATLAB自制黑白相间且均匀等分的编码盘,如图3(a)所示。将编码盘黏贴于圆盘上,当圆盘随着齿轮转动时,利用反射式红外对管ST188接收强弱交替变化的反射光,再通过I/O口将高低脉冲电平传给单片机的输入捕捉中断中进行计算。自制测速装配图和速度检测模块原理图分别如图3(b)和如图3(c)所示。

  该方案具有成本低廉、制作容易、负荷小的优点,配合单片机的输入捕捉功能可以实现高精度的速度采集。

2.2 速度的计算

  方案中的数字测速的计算方法是采用T法。T法是指在两个相邻的输入脉冲的间隔时间T内,用一个计数器对高频基准信号的脉冲数进行计数,由计数值来计算转速,原理图如图4所示。

  计算公式推导:设计码盘格数为40,旋转一周能产生20个脉冲。高频基准信号是通过对系统时钟128分频获得,实际频率f0=24M/128=187.5KHz。在T法测速中,测速时间T是用计数器所得的基准 信号脉冲个数M2来计算的,即T=M2/f0,对应后轮转速为:n=2/ZT=2f0/ZM2,经测量小车的后轮周长为17cm,所以小车速度的计算公式如式(1)所示:

(1)

3 速度控制策略

3.1 [2]

  本方案采用增量式PID来使智能车能够匀速稳定地行驶,增量式PID的速度检测信号M2高频基准信号T计算公式如式(2)所示:

(2)

  其中,un为当前输出增量;un-1为上一次输出增量;Kp为比例增益;为积分系数;为微分系数;T为采样周期;TI为积分周期;TD为微分周期;en为第n次偏差,en-1第n-1次偏差。

3.2

  的思想是:定义速度误差en为给定速度减去反馈速度,当en大于设定值 ek时,就强制输出一个最大值umax;反之,如果速度误差en小于设定值(-ek)时,就强制输出一个最小值umax,在速度误差较大时,Bang_Bang调节比PID调节响应速度更快、更及时。计算公式如式3所示。式中en为给定速度减去反馈速度的差值。

(3)

3.3 配合

  为了实现,在赛道曲率变化不大时且智能车高速匀速稳定行驶,采用增量式PID控制。在从直道行驶入弯道时,智能车能够很快地反转刹车,降低速度,从而良好通过弯道;在弯道进入直道时,智能车能够很快地提高速度,以高速在直道上行驶。我们采用的速度控制策略是配合 Bang_Bang 控制,当给定速度与反馈速度相差不大时,采用增量式 PID 控制,当给定速度与反馈速度相差较大时, 采用 Bang_Bang 控制,计算公式如式 4 所示:

(4)

4 速度

  采用的控制周期方案是:

  测速程序是通过单片机的输入捕捉中断来完成的,即车轮每转一周(0.17m),将产生 20 次中断,在这20次中断过程中,能运行20次的速度检测,如果按照平均车速 1.8m/s 计算的话,那么每一次输入捕捉中断的时间为:0.17/(18×20)=4.7ms,也就是每隔4.7ms得到一个反馈速度。

  速度控制程序是指单片机每隔一定时间(如10ms)根据给定的速度和反馈速度进行速度的闭环控制。反馈速度是通过上面的输入捕捉中断方式读取,给定速度通过查询方式获得。速度控制程序在定时中断程序中执行,而定时中断是通过模数递减计数器来实现的。

  这样程序在运行中存在两个中断,并且输入捕捉中断优先级高于模数递减计数器的定时中断。输入捕捉的频率为定时中断的两倍,这样,每执行一次定时中断,反馈速度有两个值,由于两个值的时间间隔比较短,取前一次的值代表当前速度,并且测速程序执行所占有的时间极短,因此输入捕捉中断对速度控制程序的影响不大。

  等时控制是指控制程序每隔一定时间执行一次,等距控制是指控制程序每隔一定的距离执行一 次,由于控制周期不受车速控制,所以等时控制优于等距控制。方案一采用自制的用反射式红外对管测速,价格便宜,但控制周期是等时的;方案二采用旋转编码器测速,价格昂贵,但测速精度相对高,控制周期是等时的。我们的方案用反射式红外对管测速,价格便宜,控制周期是等时的。电机速度控制的流程图如图5所示。

5 仿真结果

  图6为已制作完成的智能车实物照片,我们在自制的跑道上进行了实际测试,得出以下试验结果:获取了一组比较好的PID参数,KP=50,KI=3,KD=4,在该参数下,智能车能够得到较快、较好且平稳的速度。当速度误差en(给定速度减去反馈速度的差值)大于70cm/s时 ,电机驱动输出un为90%的占空比;当速度误差en(给定速度减去反馈速度的差值)小于-70cm/s时,电机驱动输出un为10%的占空比。在PID和BangBang 控制下速度变化范围较大,实现了快速加速,快速刹车。

6 结论

  经过大量的实验调试,智能车在基于两片MC33886并联组成的驱动上,能够实现良好的电机正转和反转控制。通过使用反射式红外管能够比较稳定和精确地检测速度,计算速度。用于测速的输入捕捉中断 和用于速度控制定时中断两个相结合能够很好地实现控制周期等时。使用的PID和BangBang的结合的控制策略,通过不断调试,选择合理的参数,实现了智能车根据路径识别来闭环调节速度,在赛道曲率变化不大时的匀速行驶,在赛道曲率突变时的速度急增急减的效果,并且智能够使智能车长时间的良好运行,印证了该方法的可靠和有效。

  参考文献:

  [1]卓晴,黄开胜,邵贝贝.学做智能车——挑战“飞思卡尔”杯[M].北京:北京航空航天大学出版社,2007.

  [2]邵贝贝.单片机嵌入式应用的在线开发方法[M].北京:清华大学出版社,2004.

  [3]王威.HCS12微控制器原理及应用[M].北京:北京航空航天大学出版社,2007.

  [4]马潮.AVR单片机嵌入式系统原理与应用实践[M].北京:北京航空航天大学出版社.2007.

  本文来源于《电子产品世界》2017年第9期第46页,欢迎您写论文时引用,并注明出处。



评论

技术专区

关闭