基于光电传感器的智能小车控制系统设计与实现 - 图文(6)

2019-02-17 16:57

当定时器通道配置成输出比较方式时,16位比较寄存器的值与定时器通道寄存器的值相比较,若两值相等,会在通道的引脚上输出预设的电平。若要产生一个硬件的定时中断,只要设置中断标志为(CnF=1),允许输出比较中断即可。

定时器计数寄存器TCNT是一个递增计数器,它对内部时钟信号进行计数,可以随时进行读取,但应按字节访问。如果分别访问高、低字节,可能会得到不同的结果。

定时器寄存器如下表4.1所列。

表 4.1 定时计数寄存器TCNT

TCNT Hi TCNT Lo Read Write Read Write Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit9 Bit8 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 定时器模块控制寄存器控制定时器的中断使能、定时器的复位允许、和预分频选择。预分频在本设计中主要用来控制计数器溢出次数,使其尽可能降低。

预分频系数如表4.2。

表 4.2 预分频系数选择

PR2~PR0 预分频系数 000 1 001 2 010 4 011 8 100 16 101 32 110 64 111 128 定时器的预分频系数选择128,这时,由于总线时钟为16MHz,分频后为131072Hz,计数溢出的时间为65536131072Hz=0.5s,使得超声波发送与接收时间不会超出TCNT两个计数周期。 4.2.3 PWM初始化

PWM(Pulse Width Modulate)即脉宽调制[42],是工业控制和新型消费机

26

电产品(例如智能空调,节能冰箱,电动车等)中最常用的技术。脉宽调制是一种可以用程序来控制波形占空比、周期、相位的方法。非常广泛的用在直流电机、D/A转换器等场合。MC9S12XS128芯片的PWM模块具有如下特点:

(1)8个可编程控制周期和占空比的8位PWM通道; (2)每个PWM通道具有专用的计数器; (3)软件选择脉冲极性; (4)周期和占控比的值双缓冲; (5)高电平边沿或中心对称方式; (6)8个8位通道,或是4个16位通道; (7)4个可编程选择的时钟源; (8)紧急关闭;

(9)输出频率可与总线时钟频率相同;

(1)占空比的可调范围为0~100%,最高分辨率为0.15%。 PWM模块的初始化过程流程图可以表示成图4.4。

开始PWM信号禁止PWM信号时钟频率设定PWM信号对齐方式、极性的设定PWM信号周期、占空比设定PWM计数器初始计数值设定PWM端口输出使能PWM信号使能结束 图4.4 PWM初始化流程图

27

PWM信号要完成电机的控制。电机要求的极限频率为10KHz,占空比要求从0~100%变化,舵机要求的频率为50Hz,占空比要求从5~10%,为了使所有的控制在一个字节内可以完成,要仔细考虑分频系数的选择。

对于电机控制,可以选择分频系数为2800,这样电机控制信号的频率就约是8571Hz,小于极限频率。

这里PWM模块采用左对齐方式,在该方式下,脉冲计数器为循环递增计数,计数初值为0 。当PWM使能后,计数器PWMCNT从0开始对时钟信号递增计数,开始一个输出周期。当计数值与占空比常数寄存器PWMDTY相等时,比较器1输出有效,将触发器置位,而PWMCNT继续计数;当计数值与周期常数寄存器PWMPER相等时,比较器2输出有效,将触发器复位,同时PWMCNT也复位,结束一个输出周期。如图4.5所示。

PWMDTYxPPOLx=0Period=PWMPREx

图4.5 PWM左对齐方式

左对齐方式下周期计算方法:

输出周期 = 通道周期 PWMPERx (4.2)

左对齐方式下脉宽计算方法:

占空比 = [ (PWMPERx —PWMDTYx) / PWMPERx ] 100% (4.3) PWM初始化程序及说明如下: void PWMready(void){

PWMPOL=0XFF; //通道0输出波形开始极性为1 PWMCAE=0x00; //左对齐输出方式 PWMCLK=0XFF; //时钟选择ClockSA PWMSCLA=0x08; //时钟SA为1MHz/128/2

28

PWMSCLB=0x08; //同上 PWMCTL=0XF0; //通道级联 PWMPER01=4000; PWMDTY01=0; PWMPER23=4000; PWMPER45=4000; PWMDTY45=0;

PWME=0X3f; } //使能

4.3 速度闭环控制程序

本设计重点是基于数字PID算法的速度控制程序设计。 4.3.1 PID控制原理

在模拟控制系统中,控制器最常用的控制规律是PID控制[46]。PID控制器是一种线性控制器,它根据给定值r(t)与实际输出值c(t)构成控制偏差。、积分(I)和微分(D)通过线性组合构e(t)=r(t)-c(t)。将偏差的比例(P)

成控制量,对被控对象进行控制,故称PID控制。其控制框图[6]如图4.6所示。

KPr?e?1KIs???uG(s)yKDs 图4.6 PID控制框图

其控制规律为:

u(t)?KP[e(t)?1TI?t0e(t)dt?TDde(t)] (4.4) dt29

传递函数表达形式为G(S)?U(S)1?KP[1??TDS] E(S)TIS式中KP、TI、TD分别为比例系数、积分时间常数、微分时间常数。PID控制器三个校正环节,比例环节能及时成比例地反映控制系统的偏差信号

e(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差。比例控制不

能消除稳态误差,KP的加大,会引起系统的不稳定;积分环节主要用于消除静态误差,提高系统的无差度。只要系统存在误差,积分控制作用就不断的积累,输出控制量以消除误差。比例环节的作用是对信号的偏差瞬间做出反应,KP越大,控制作用越强,但过大的KP会导致系统振荡,破坏系统的稳定性。积分环节的作用虽然可以消除静态误差,但也会降低系统的响应速度,增加系统的超调量,甚至使系统出现等幅振荡,减小KI可以降低系统的超调量,但会减慢系统的响应过程。微分环节的作用是阻止偏差的变化,有助于减小超调量,克服振荡,使系统趋于稳定,但其对干扰敏感,不利于系统的鲁棒性。

4.3.2 数字PID控制算法

计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此式4.4中的积分和微分项不能直接使用,需要进行离散化处理。当采样周期T足够短时,用求和代替积分、用向后差分代替微分,则有下式成立:

tk?e(t)dt?T?e(i) (4.5)

0i?0

de(t)e(k)?e(k?1)? (4.6) dtT将上式代入到公式4.4可得到离散的PID控制表达式:

Tke(k)?e(k?1)u(k)?KP[e(k)??e(i)?TD] (4.7)

TIi?0T ?KPe(k)?KI?e(i)?KD[e(k)?e(k?1)] (4.8)

i?0k式中Kp、KI(KI= KpT∕TI )、KD(KD=KpTD∕T)分别为比例系数,积分系数,

微分系数。

30


基于光电传感器的智能小车控制系统设计与实现 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:毛概论文-关于大学生自我意识成长的问卷调查及分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: