PWM控制电机调速系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要:提出一个基于PWM控制的直流电机控制系统,从硬件电路和软件设计两方面进行系统设计,介绍了调速系统的整体设计思路、硬件电路和控制算法。下位机采用MPC82G516实现硬件PWM的输出,从而控制电机的电枢电压,并显示电机调速结果。上位机采用LABVIEW软件,实现实时跟踪与显示。最后对控制系统进行实验,并对数据进行分析,结果表明该系统调速时间短,稳定性能好,具有较好的控制效果。
随着计算机控制技术的发展,微处理器已经广泛使用于直流传动系统,实现了全数字化控制。电机采用微处理器控制的电压、电流、转矩、转速、转角等,实现全数字直流调速,控制精度、可靠性、稳定性、电机的性能得到提高。目前,PWM 调速成为电机调速的新方式,并凭借开关频率高、低速运行稳定、动态[1-6][5-6]性能优良、效率高等优点,在电机调速中被普遍运用。但很多文献提到的PWM 信号,多采用软件PWM调速,即通过单片机的中断实现,缺点是占系统资源,易受系统中断影响和干扰,造成系统不稳定。本文将针对这一点,设计一种基于硬件PWM 控制,调速时间更短的电机调速系统,并具有较好的稳定性能。
一、电机控制系统的整体设计
1.1 系统整体设计原理图
系统整体设计如图1所示,主要原理框图包括:LCD显示、按盘输入、测速模块、PWM调速模块四部分。电路原理图如图2所示:
图1
图2
1.2 PWM信号
PWM信号的产生采用硬件PWM信号,即不采用中断实现PWM信号,而是利用单片机MPC82G516的PCA模式,PCA设置成PWM模式直接产生PWM信号。频率取决于PCA定时器的时钟源,占空比取决于模块捕获寄存器CCAPNL与扩展的第9位ECAPNL的值。由于使用9位比较,输出占空比可以真正实现0%到100%可调,占空比计算公式为:
占空比=1-{ ECAPnH,[CCAPnH]}/256
在电源电压Ud 不变的情况下,电枢端电压的平均值取决于占空比η 的大小。通过改变η 的值可以改变电枢端电压的平均值,从而达到调速的目的。
1.3 测速模块
测速模块采用自带霍尔传感器并具有整形功能的直流电机调速板J1,该模块能实现电机正反转、测速、调速功能,并自带整形芯片,调试效果较好。通过霍尔
传感器把测速脉冲信号送单片机P3.2,由单片机P1.0送到测速模块第5 脚,控制电机正反转。PWM 信号由P1.2 送到测速模块第3 脚,实现电机的调速。
1.4 I/O接口电路
输入模块采用4 个按键S1、S2、S3、S4,接在单片机P1.4、P1.5、P1.6、P1.7,分别实现启动、加速、扩展功能、减速功能。电机正反转控制由P1.0 送到测速模块第1 脚。输出显示模块采用LCD1602,是一种内置8192 个16*16 点汉字库和128 个16*8 点ASCII 字符集图形点阵液晶显示器,它主要由行驱动器/ 列驱动器及128×32 全点阵液晶显示器组成,可完成图形显示,也可以显示
7.5×2 个(16×16 点阵)汉字,与外部CPU 接口采用并行或串行方式控制。
二、电机调速系统的软件设计
2.1 程序流程图
当系统启动后,单片机进行初始化设置,单片机检测是否有键按下,再执行按键子程序,读取键值,调用中断,主单片机将传感器输入的信号进行计算,控制PWM 的输出,从而控制电机的转速,依次循环使电机趋于稳定值。系统主程序框图如图3 所示。
图3
2.2 上位机软件
系统由计算机控制单片机,从而控制直流电机的速度,PC 机做为上位机,单片机作为下位机。为了便于查询和保存数据以及通过PC 机调直流电机速度。上位机采用美国NI 公司LabVIEW 软件。LabVIEW 是一种图形编程语言,通常称为G 语言,具有开放的环境,能和第系统通过PC 机与单片机串口实现三方软件轻松连接通讯,构成一个数据采集系统。4 为LabVIEW 软件程图序框图。
图4
三、系统测试与分析
PWM 信号的输出,实现对直流电机转速进行控制的方法。利用上位机LabVIEW 软件,可得到电机调速结果。图5 为电机空载情况下的调速结果,测量数据结果如表1。
图5
数据分析:
启动段,电机转速从零上升到53 r/s,只需用6 s,并很快趋于稳定;
加速段,电机转速从53 r/s 上升到86 r/s,只需用5 s,并很快趋于稳定;
减速段,电机转速从86 r/s 下降到53 r/s,只需用7 s,并很快趋于稳定。
从数据中看出,通过PWM 调速,电机转速变化至稳定,若不考虑按钮灵敏度,基本保持在5 s 左右,并能很快趋于稳定,较好地满足设计要求。
四、PWM调速程序介绍
PWM调速通过改变一定频率方波脉冲的占空比来改变电机速度,本设计脉冲周期恒定,本设计通过把方波分成160份,改变高低脉冲的份数来改变PWM的波形,单片机PWM调速的程序代码如下所示:
void control()
{
EA=1;
while(1)
{ if(a>=150)
a=150;
if(a<=10)
a=10;
P1_1=0;
delay(160-a);
P1_1=1;
delay(a);
key=GeyKey();
if(key=='-') a-=n;
else
if(key=='+') a+=n;
else
if(key=='=')
{ P1_0=1;
dprintf(0,72,"方向: 顺时针");
}
else
if(key=='c')
{ P1_0=0;
dprintf(0,72,"方向: 逆时针");
}
else
if(key=='*')
{ P1_1=0;
break;
}
else
if(key!=0)
break;
}
EA=0;
}
总结
本设计中,调速是系统的主要功能,通过研究直流电动机的机械特性,得出了几种常见的改变转速的方法,因调压调速可实现额定转速以下大范围平滑调速,并且在整个调速范围内机械特性硬度不变。这种方法在直流电力拖动系统中