通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。
PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON>,要么完全无(OFF>。
电压或电流源是以一种通(ON>或断(OFF>的重复脉冲序列被加到模拟负载上去的。
通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。
只要带宽足够,任何模拟值都可以使用PWM进行编码。
多数负载(无论是电感性负载还是电容性负载>需要的调制频率高于10Hz,通常调制频率为1kHz到200kHz之间。
<2)调速原理
PWM是通过固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。
在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。
通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。
因此,PWM又被称为“开关驱动装置”。
如图2所示,在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。
只要按一定规律,改变通、断电机的平均速度得到控制。
设电机始终接通电源时,电机转速最大为Vmax,设占空比为D=t1/T,则电机的平均速度为Vd=Vmax*D.式中,Vd---电机的平均速度;Vmax---电机全通电时的速度<最大);D=t1/T---占空比。
由公式可见,当我们改变占空比D=t1/T时,就可以得到不同的电机平均速度Vd,从而达到调速的目的。
严格的讲,平均速度Vd与占空比D并不是严格的线性关系,在一般的应用中,可以将其近似地看成线性关系。
<3)实现方法
PWM信号的产生通常有两种方法:
一种是软件的方法;另一种是硬件的方法。
由于后一种方法较复杂,操作起来也麻烦。
所以我们采用以软件的方法来产生PWM信号,即使用单片机。
单片机AT89S52是具有两个定时器T0和T1。
通过控制定时器初值T0和T1,从而可以实现从89s52的任意输出口输出不同占空比的脉冲波形。
由于PWM信号软件实现的核心是单片机内部的定时器,而不同的单片机的定时器具有不同的特点,即使是同一台单片机由于选用的晶振不同,选择的定时器工作方式不同,其定时器的定时初值与定时时间的关系也不同。
因此,首先明确定时器的定时初值与定时时间的关系。
如果单片机的时钟频率为f,定时器/计数器为N
位,则定时器初值与定时时间的关系为:
式中,Tw----定时器定时初值;N----一个机器周期的时钟熟。
N随着机型的不同而不同。
在应用中,应根据具体的机型给出相应的值。
这样,我们可以通过设定不同的定时初值Tw,从而改变占空比D,进而达到控制电机转速的目的。
注:
占空比是高电平所占周期时间与整个周期时间的比值。
1.2电机转速控制元件选用及分析
<1)单片机
单片机选用AT89S52,其与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:
0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
功能特性描述
At89s52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8位微控制器8K字节在系统可编程FlashAT89S52。
<2)电机驱动芯片
L298是SGS(通标标准技术服务有限公司>公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部包含4通道逻辑驱动电路。
是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。
且其有控制精度高、稳定性好、响应速度快等优点。
其能很好满足电路设计要求。
如图为其内部结构图;
其基本工作原理为:
IN1、IN2配合可以控制电机的转向,ENA为使能端当设定好电机转向后,对ENA进行高频PWM调制输入,在电枢电感滤波的作用下,电机就可以得到低于电源电压的实际工作电压。
当ENA=1时,电机端电压U=Vs,当ENA=0时,电机通过主开关管的反并联二极管<图中未示出)虚流,实际相当于电机反转在电源两端,电机端电压U=Vs,因此,可以推出,当ENA的占空比为D时,电机实际获得的端电压值为:
U=<2D-1)*Vs。
<而实际上由于电机是消耗电能,因此D<0.5时是不能工作的)
即DC/DC降压电路的传函为:
Us=Vs*<2F(S>-1).
2、电机测速及显示
使用光电传感器GK105测电机速度,该传感器结构简单,使用方便,较廉价。
速度显示使用液晶YB12864.该液晶能显示汉英文字符及数字且实用,电机速度,及运转状态能直观大方显示出来。
3、电机闭环检测系统
闭环检测系统是检测输出、计算误差并用以纠正误差的控制系统,其输出会通过某种途径变换后反馈回输入端。
由于上述电机系统在开环状态下,电机系统存在稳态误差,为消除稳态误差,控制器中应包含积分项。
要求电机系统的超调量小,即要求有较大的相角裕度,设计要求超调量小,则控制器拟采用PL控制器,在S域进行控制系统的设计。
经过模拟仿真验证和实际操作,加入了PL调节器的闭环系统在消除了稳态误差,获得抗扰能力的同时,又具有较好的动态性能。
二、系统的软件设计
本系统编程部分工作采用KELI-C51语言完成,采用模块化的设计方法,与各子程序做为实现各部分功能和过程的入口,完成键盘输入、按键识别和功能、PWM脉宽控制和12864显示等部分的设计。
单片机资源分配如下表:
P0
显示模块接口
外部中断0
键盘中断
P2.7/2.6/2.5/2.4
键盘模块接口
P2.0/P2.1
PWM电机驱动接口
内部定时器0
系统时钟
系统主函数流程如图三:
4PWM脉宽控制:
本设计中采用软件延时方式对脉冲宽度进行控制,延时程序函数如下:
voiddelay(unsignedchardlylevel>{
inti=50*dlylevel。
while(--i>。
}
此函数为带参数DLYLEVEL,约产生DLYLEVEL*400us的延时,因此一个脉冲周期可以由高电平持续时间系数hlt和低电平持续时间系数llt组成,本设计中采用的脉冲频率为25Hz,可得hlt+llt=100,占空比为hlt/(hlt+llt>,因此要实现定频调宽的调速方式,只需通过程序改变全局变量hlt,llt的值,该子程序流程图如图四。
②键盘中断处理子程序:
采用中断方式,按下键,单片机P3.2脚产生一负跳沿,响应该中断处理程序,完成延时去抖动、键码识别、按键功能执行。
调速档、持续加/减速:
调速档通过<0-9)共10档固定占空比,即相应档位相应改变hlt,llt的值,以实现调速档位的实现。
而要实现按住加/减速键不放时恒加或恒减速直到放开停止,就需在判断是否松开该按键时,每进行一次增加/减少1%占空比<即hlt++/--。
llt--/++),其程序流程图如图五。
③显示子程序:
利用数组方式定义显示缓存区,缓存区有8位,分别存放各个LED管要显示的值。
显示子程序为一带参子程序,参数为显示缓存的数组名,通过for(i=0。
i<8。
i++>方式对每位加上位选码,送到P0口并进行一两毫秒延时。
该显示子程序只对各个LED管分别点亮一次,因此在运行过程中,每秒执行的次数不应低于每秒24次。
④定时中断处理程序:
采用定时方式1,因为单片机使用12M晶振,可产生最高约为65.5ms的延时。
对定时器置初值3CB0H可定时50ms,即系统时钟精度可达0.05s。
当50ms定时时间到,定时器溢出则响应该定时中断处理程序,完成对定时器的再次赋值,并对全局变量time加1,这样,通过变量time可计算出系统的运行时间。
对于一个数的显示,先应转成BCD码,即取出每一个位,分别送入显示缓存区,对于转BCD的算法,应对一个数循环除10取模,直至为0,程序如下:
do{dispbuff[bcd_p]=bechange%10。
//dispbuff为显示缓冲区数组
bcd_p++。
}while(bechange/=10>//disp_p为数组指针
软件设计中的特点:
1、对于电机的启停,在PWM控制上使用渐变的脉宽调整,即开启后由停止匀加速到默认速度,停止则由于当前速度逐渐降至零。
这样有利于保护电机,如电机运用于小车上,在启动上采用此方式也可加大启动速度,防止打滑。
2、对于运行时间的计算、显示。
配合传感器技术可用于计算距离,速度等重要的运行数据。
3、键盘处理上采用中断方式,不必使程序对键盘反复扫描,提高了程序的效率
利用AT89S52单片机产生的PWM信号,加入数字PID算法实现对电机速度的控制,提高了系统的控制精度,保证了电机转速的稳定性;电机的启动、停止、左右转和速度都由程序定义,调试时只需修改PWM信号占空比即可实现速度控制,改变输出口电平即可实现电机正反转,无须改变系统硬件电路,即可实现各种控制,能有效缩短开发周期,提高效率;结合了受限倍频单极性可逆PWM电机驱动电路,增强了系统的驱动能力,提高了系统的可靠性和性价比。
电路设计简单,电机控制方便,有利于广泛推广。
1、系统板电路原理图。
2、电机驱动板原理图。
申明:
所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。