小车运动及速度控制设计

单片机实验

27人已加入

描述

小车运动及速度控制
一、实验目的
小车在运动中,控制小车的控制速度是必要,通过控制小车驱动电机的电流可以实现
对电机速度的控制。采用PWM 脉冲可以方便的实现电机的速度控制。P89V51RD2 单片
机具有PCA 阵列,可以通过编程输出5 路PWM 脉冲。本实验通过编程产生PWM 脉冲控
制电机速度,从而控制小车实现各种动作。知识要点:
1.掌握使用P89V51RD2 单片机产生PWM 脉冲,实现电机速度控制的方法。
2.小车运动控制方法。
二、预备知识
1.P89V51RD2 单片机的PCA 模块和PWM 功能
PWM 脉冲叫脉宽可调脉冲,这种脉冲的高电平时间和低电平时间的比例可以调整。
脉冲的高电平时间于脉冲周期的比值叫做占空比。PWM 脉冲在电机调速领域应用较多。
在小车上,可以用于调整小车的驱动电机的转速,从而调整运行速度。
P89V51RD2 单片机的PCA 阵列由脉冲信号源选择、PCA 计数器、和5 个捕捉/比较模
块组成,其结构如图3-14 所示。

小车

当比较/捕捉模块工作与比较模式时,可以用于产生PWM 脉冲,它包含了5 个比较/
捕捉模块,可以用于产生5 路PWM 脉冲,5 路PWM 脉冲的输出端是P1.3~P1.7。小车电
路中使用了P1.4~P1.7,具体功能入下表:
表3-4 驱动电路端口定义
引脚 功能
P1.4 右电机反转驱动脉冲输出端,使用比较/捕捉模块1(CEX1)
P1.5 右电机正转驱动脉冲输出端,使用比较/捕捉模块2(CEX2)
P1.6 左电机反转驱动脉冲输出端,使用比较/捕捉模块3(CEX3)
P1.7 左电机正转驱动脉冲输出端,使用比较/捕捉模块4(CEX4)

在小车控制电路中,由于以上4 路脉冲经过非门后作用于电机驱动电路,因此电机的
转速与脉冲的占空比成反比。在使用时要注意这一点。
PWM 脉冲的频率由脉冲源和PCA 计数器决定。脉冲源有三种选择,分别是内部时钟
脉冲、外部脉冲和定时器T0 溢出脉冲。内部时钟频率固定,等于振荡频率的六分之一即:
fOSC/6。在实验用小车控制板上,该内部时钟脉冲频率2MHz。T0 溢出脉冲是T0 计数器每
次累加到0FFFFH(或1FFFH 或0FFH)后溢出而产生的脉冲,由T0 的工作方式和初值
决定,可以通过编程修改。外部脉冲从单片机的P1.2 输入,其频率由输入脉冲信号源决定。
PCA 计数器实际上是一个8 位的计数器,在运行过程中其数值从初值到255 循环计
数,如果初值为0,则其数值为0~255 循环。在小车控制板上,如果选择内部时钟脉冲,
则PWM 脉冲的最低频率为7812.5Hz。在要求脉冲频率较低时就必须采用定时器T0 和外
部信号作为脉冲源。
各捕捉/比较模块中的寄存器的数值与PCA 计数器的内容比较,如果该寄存器中的数
值比PCA 计数器的数值大则对应的I/O 为低电平,否则为高电平。修改捕捉/比较模块中
寄存器的值就可以改变脉冲宽度,各模块中该寄存器的符号分别为:CCAP0H、CCAP1H、
CCAP2H、CCAP3H 和CCAP4H。
在直流电机调速中,PWM 脉冲的频率要根据电机的参数选择。如果脉冲频率过低会
造成电机抖动,运转不良。如果脉冲频率过高则会造成失控。对小车上的电机调速时,PWM
脉冲频率选择20Hz 为宜。编程时可以选择定时器T0 作为信号源。
2.PWM 脉冲的编程方法,及直流电机的调速。
要产生PWM 脉冲,需对相关控制寄存器进行设置,下面是一个从P1.7 和P1.5 输出
PWM 脉冲的程序:
……
MOV TMOD ,#02H ;设定T0 的工作方式为方式2
MOV TL0 ,#0EFH ;设定T0 初值,该值决定PWM 脉冲的频率
MOV TH0 ,#0EFH
MOV CMOD ,#04H ;脉冲选择,使用T0 作为PCA 的计数时钟源
MOV CCAPM4 ,#42H ;使能CEX4 的PWM 功能,从P1.7 输出PWM 脉冲
MOV CCAPM2 ,#42H ;使能CEX2 的PWM 功能,从P1.5 输出PWM 脉冲
MOV CCON ,#40H ;启动PCA 计数器工作
SETB TR0 ;启动定时器T0
MOV CCAP4H ,#64H ;设定P1.7 输出脉冲宽度为100/256
MOV CCAP2H ,#64H ;设定P1.5 输出脉冲宽度为100/256
……
思考:如果要从P1.6、P1.4 或其他I/O 输出PWM 脉冲应如何修改以上程序?
程序中T0 工作于方式2,初值为0EFH,因此由T0 溢出而产生的脉冲频率为:125KHz,
PCA 计数器的初值为0,则输出PWM 的频率为488.3Hz。脉冲宽度由CCAP4H 和CCAP2H
的值决定,输出脉冲的脉宽与其数值成正比。由于小车控制电路中各PWM 脉冲通过非门
后加入驱动电路中,因此电机的速度与脉冲宽度成反比关系。
思考:如果要使输出的PWM 脉冲频率低一些,应如何修改以上程序?怎样计算?

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分