基于51单片机单闭环数字控制课程设计概要Word文档格式.docx
- 文档编号:16472589
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:20
- 大小:302.26KB
基于51单片机单闭环数字控制课程设计概要Word文档格式.docx
《基于51单片机单闭环数字控制课程设计概要Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于51单片机单闭环数字控制课程设计概要Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
3.2.3PWM产生软件设计思路15
3.3显示模块程序设计18
附录:
21
[参考文献]22
1.引言
由于直流电动机具有良好的起动、制动性能,适宜在大范围内平滑调速,因此在许多需要调速或快速正反向的电力拖动系统中得到了广泛的应用。
而且,从控制的角度来看,直流调速还是交流调速,都用到拖动系统的基础。
早期直流电动机的控制均以模拟电路为基础,由运算放大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,触发精度易受电网电压波动的影响,触发脉冲不对称度较大,调节器中的运算放大器,因网压和温度变化引起的漂移会产生运算误差,模拟器件老化也会引起运算误差,甚至使已经整定好的系统性能变差,这些都阻碍了直流电动机控制技术的发展和应用范围的推广。
随着单片机技术的日新月异,使许多控制功能及算法可以采用软件技术来完成,不但为直流电动机的控制提供了更大的灵活性,而且使系统能达到了更高的性能。
2.设计方案
2.1系统总方案论证与选择
对直流电机转速的控制有一般有两种方式,一种是开环控制,一种是闭环控制。
开环控制的优点是简单、稳定、可靠。
若组成系统的元件特性和参数值比较稳定,且外界干扰较小,开环控制能够保持一定的精度。
缺点是精度通常较低,无自动纠偏能力;
闭环控制的优点是控制的精度可以达到很高,而且对外界的干扰和系统的参数变化有很好的抑制作用,且可以通过输出反馈控制系统的控制过程。
缺点是存在稳定性,振荡,超调等一系列问题,对系统的性能分析和设计远比开环控制麻烦。
所以采用但闭环直流调速系统设计方案。
图2电路组成框图
按键采用4X4矩阵键盘,显示装置采用1602液晶。
通过给定值,然后单片机检测经过旋转光码盘检测转速,形成脉冲,送到中断口,经过定时检测中断次数,测得转速,求得偏差,然后经过PID运算后,来设定定时器0的定时时间,从而获得相应的脉冲,即PWM脉冲。
从而作用于L298专用芯片,从而实现对直流电机的控制。
2.2PID控制算法的设计
电动机参数:
先假设所控制电机的参数如下,来设计PID的各个参数:
PN=3KW,nN=1500rpm,UN=220V,IN=17.5A,Ra=1.25。
主回路总电阻R=2.5,电磁时间常数Tl=0.017s,机电时间常数Tm=0.075s。
三相桥式整流电路,Ks=40。
测速反馈系数=0.07。
调速指标:
D=30,S=10%。
控制算法是微机化控制软件系统的一个重要组成部分,可以说整个系统的控制功能主要由控制算法来实线。
所以控制算法的好坏直接决定了这个系统的好坏。
根据偏差的比例(P)、积分(I)、微分(D)进行控制,称为PID控制。
它能满足相当多工业对象的控制要求,至今仍是一种应用最广的控制算法。
由于是用单片机控制的系统,故而我们采用数字PID控制。
模拟PID控制规律的离散化
模拟形式
离散化形式
常用的控制方式
1、P控制
2、PI控制
3、PD控制
4、PID控制
PID算法的两种类型
1、位置型控制――例如图5-1-5调节阀控制
式中
称为比例项
称为积分项
称为微分项
2、增量型控制――例如图5-1-6步进电机控制
综合考虑PI算法的选择
转角的偏差e以及偏差的微分
和积分
分别代表了系统输出的当前、将来和过去的三种状态,而PI调节器的输出限幅值则代表了系统消除偏差的能力。
合理综合地运用这些信号,在系统允许的条件下,尽快消除偏差,又不产生或者不产生超调,可使系统以最合适的速度稳定运行。
根据转角偏差、实际转角变化率的负值和转角偏差的积分所在的区间确定调整规则,并根据它们的大小决定调整的强度,使智能型PI调节器参数随着偏差的变化而有选择地变化。
当偏差大时,停止积分,并调整比例系数Kp,使系统以最大的能力消除偏差;
当偏差小时,投入积分,并逐步调整比例系数Kp和积分系数Ki,使系统以最佳过程达到稳态,最终实现最佳动态目标速度值的调整。
1>
为满足调速系统的稳态性能指标,额定负载时的稳态速降应为
2>
求闭环系统应有的开环放大系数
先计算电动机的电动势系数
则开环系统额定速降为
闭环系统的开环放大系数应为
3>
计算转速反馈环节的反馈系数和参数
根据调速指标要求,前已求出闭环系统的开环放大系数应为K≥41.22,则运算放大器的放大系数Kp应为
实取Kp=2。
为了实现转速无静差,必须在扰动作用点以前设置一个积分环节,从图可以看出,在负载扰动作用点以后,已经有一个积分环节,故从静态无差考虑需要Ⅱ型系统。
从动态性能上看,考虑转速调节器饱和非线性后,调速系统的跟随性能与抗扰性能是一致的,而典型Ⅱ型系统具有较好的抗扰性能。
所以,转速环应该按典型Ⅱ系统进行设计。
由图可以明显地看出,要把转速环校正成典型Ⅱ型系统,转速调节器ASR也应该采用PI调节器,其传递函数为
式中Kn——转速调节器的比例系数;
tn——转速调节器的超前时间常数;
这样,调速系统的开环传递函数为
令τn=hT∑n,h=5,τn=hT∑n=5×
0.515=2.573s
则转速调节器的传递函数为
Wl>
>
n_$L
AT89C52是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
优点是:
省钱,低端,稳定,相当于32位机虽差的太远,但经济也是不得不考虑的因素,而且本课程设计也是要求只能用51.
基于51单片机的细节请参考51的说明书,这里不再赘述。
2.4.1霍尔传感器测速
霍尔传感器是根据霍尔效应制作的一种磁场传感器。
霍尔效应是磁电效应的一种,这一现象是霍尔(A.H.Hall,1855—1938)于1879年在研究金属的导电机构时发现的。
后来发现半导体、导电流体等也有这种效应,而半导体的霍尔效应比金属强得多,利用这现象制成的各种霍尔元件,广泛地应用于工业自动化技术、检测技术及信息处理等方面。
霍尔效应是研究半导体材料性能的基本方法。
通过霍尔效应实验测定的霍尔系数,能够判断半导体材料的导电类型、载流子浓度及载流子迁移率等重要参数。
电机每转一圈,每一相霍尔传感器产生2脉冲,且其周期与电机转速成反比,因此可以利用霍尔传感器信号得到电机的实际转速。
为尽可能缩短一次速度采样的时间,可测得任意一相霍尔传感器的一个正脉冲的宽度,则电机的实际转速为:
V=N*30;
V:
速度R/min
N:
每秒采样的脉冲个数
霍尔传感器输出的是脉冲,可以直接将输出脉冲接入单片机外部计数器,故而非常简单实用。
2.4.2编码盘测速
其效果跟霍尔测速一致,但是霍尔元件利用的是电磁产生脉冲,光电编码器利用的是光产生脉冲。
它的原理是通过电动机的转动带动码盘的转动,码盘上有很多缝隙,缝隙每经过红外管一次就会产生一个脉冲,进而直接输入单片机,经过算法处理得到实际转速。
经过分析,本次试验选取的是光电码盘测速。
首先是因为同时测量霍尔元件和光电编码器,发现光电编码器的灵敏度更高,且其价格便宜。
最关键的是它很好用。
3硬件部分
3.1单片机最小系统
此次选用80C51作为主控制器,下图为其最小系统电路图,在此基础上才能发挥其功能。
图351单片机最小系统
图中选用12MHz的晶振为其提供基准时钟脉冲,之所以选用12MHz是为了方便设置定时器的初值,另外也有选用11.0592MHz的晶振,这是为了方便设置波特率,在此课程设计没必要用到波特率,故而选择12MHz的晶振。
3.2PWM控制直流电机正反转模块设计
L298N是SGS公司的产品,其内部包含4通上道逻辑驱动电路,即内含上二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电上机[。
由L298N构成的PWM功率放大器的工作形式为单极可逆模式,2个H桥的下侧桥晶体管发射极连在一起,其引脚排列如图1所示,1脚和15脚可单独引出连接电流采样电阻器,形成电流传号。
L298可驱动2个电机,OUTl、OUT2和OUT3、0UT4之间分别接2个电动机。
5、7、10、12脚接输入控制电平,控制电机的正反转,ENA、ENB接控制使能端,控制电机的停转。
这些特性使得L298N很适合用作小型直流电机控制芯片。
根据L298N的输人输出关系,PWM信号输入端INl和IN2可以控制电动机的正反转(输入端INl为PWM信号,输入端IN2为低电平,电动机正转;
输入端IN2为PWM信号,输入端INl为低电平,电动机反转);
当它为低电平时,驱动桥路上的4个晶体管全部截止,使正在运行的电动机电枢电流反向,电动机自由停止。
电动机的转速由单片机调节PWM信号的占空比来实现。
电源12V。
3.4检测回路模块设计
检测回路利用光电编码器将转速直接转换成数字信号送入单片机进行处理。
编码器是把角位移或直线位移转换成电信号的一种装置。
前者成为码盘,后者称码尺.按照读出方式编码器可以分为接触式和非接触式两种.接触式采用电刷输出,一电刷接触导电区或绝缘区来表示代码的状态是“1”还是“0”;
非接触式的接受敏感元件是光敏元件或磁敏元件,采用光敏元件时以透光区和不透光区来表示代码的状态是“1”还是“0”。
按照工作原理编码器可分为增量式和绝对式两种。
增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。
绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。
图5光电编码器实物图
光电编码盘是将测得的角位移转换成为相应的电脉冲信号输出的数字传感器,本设计采用增量式光电编码器来采样转速信号,如图8所示。
增量式编码器是专门了用来测量转动角位移的累计量。
3.6按键模块设计
图6按键模块硬件电路
按键模块采用独立键盘,没有采用矩阵键盘,是因为根据系统的要求,并不需要采用矩阵键盘。
确定键:
作用是确定给定速度。
设定速度:
是开始设定给定的速度,拥有最高权限。
设定速度+:
表示增加设定值。
设定速度-:
表示减少设定值。
3.7显示模块设计.
图7显示模块硬件设计电路
显示模块课程设计采用1602液晶,因为在实际的需要中,操作比较简单,详细的1602操作指南请参考datasheet;
1602液晶仅显示两部分,实际速度和设定速度。
通过速度检测和设计给定来显示在液晶上。
4软件部分
3.1PID控制程序设计
3.1.1位置式电机PID控制程序设计
structPID
{
unsignedintSetPoint;
//设定目标DesiredValue
unsignedintProportion;
//比例常数ProportionalConst
unsignedintIntegral;
//积分常数IntegralConst
unsignedintDerivative;
//微分常数DerivativeConst
unsignedintLastError;
//Error[-1]
unsignedintPrevError;
//Error[-2]
unsignedintSumError;
//SumsofErrors
};
structPIDspid;
//PIDControlStructure
longrout;
//PIDResponse(Output)
longrin;
//PIDFeedback(Input)
voidPID_Init(structPID*pp)
memset(pp,0,sizeof(structPID));
//全部初始化为0
}
unsignedintPID_Calc(structPID*pp,unsignedintNextPoint)
unsignedintdError,Error;
Error=pp->
SetPoint-NextPoint;
//偏差
pp->
SumError+=Error;
//积分
dError=pp->
LastError-pp->
PrevError;
//当前微分
PrevError=pp->
LastError;
LastError=Error;
return(pp->
Proportion*Error
//比例项
+pp->
Integral*pp->
SumError
//积分项
Derivative*dError);
//微分项
3.1.2增量式电机PID控制程序设计
电机控制采用增量式PID控制,其控制周期为200ms。
在实际中应该使控制周期短些,如20-50ms。
由于此次在仿真环境下效果不是很明显,故而选用200ms控制周期。
voidPWMset(intpwm)//PWM设置
{
if(pwm>
=0){DIR=0;
PWML=pwm;
if(pwm<
0){DIR=1;
PWML=10000+pwm;
/********电机增量式PID控制**********/
voidMotor_control(void)
intPID=0;
intP=0;
intI=0;
intD=0;
intout=0;
Now_speed[2]=Now_speed[1];
Now_speed[1]=Now_speed[0];
Now_speed[0]=setspeed-speed;
P=KP*(Now_speed[0]-Now_speed[1]);
I=KI*Now_speed[0];
D=KD*(Now_speed[0]-2*Now_speed[1]+Now_speed[2]);
PID=P+I+D;
out=last_out+PID;
if(out>
out_max)out=out_max;
if(out<
out_min)out=out_min;
PWMset(out);
last_out=out;
通过对比,我选用了增量式PID控制,通过对预设速度与当前反馈的速度进行比较,得到偏差,对偏差进行比例积分微分控制,控制电机,逐渐使偏差为零系统趋于稳定。
3.2经测速装置由PID运算后PWM波形的产生程序设计
调脉宽的方式有三种:
定频调宽、定宽调频和调宽调频。
我们采用了定频调宽方式,因为采用这种方式,电动机在运转时比较稳定;
并且在产生PWM脉冲的实现上比较方便。
3.2.1直流电机调速原理
根据励磁方式不同,直流电机分为自励和他励两种类型。
不同励磁方式的直流电机机械特性曲线有所不同。
对于直流电机来说,人为机械特性方程式为:
分析
(1)式可得.当分别改变UN、和Rad时,可以得到不同的转速n,从而实现对速度的调节。
由于Ф=F(If),当改变励磁电流If时,可以改变磁通量Ф的大小,从而达到变磁通调速的目的。
但由于励磁线圈发热和电动机磁饱和的限制,电动机的励磁电流If,和磁通量Ф只能在低于其额定值的范围内调节,故只能弱磁调速。
而对于调节电枢外加电阻Rad时,会使机械特性变软,导致电机带负载能力减弱。
理想空载转速n0随电枢电压升降而发生相应的升降变化。
不同电枢电压的机械特性曲线相互平行,说明硬度不随电枢电压的变化而改变,电机带负载能力恒定。
当我们平滑调节他励直流电机电枢两端电压时,可实现电机的无级调速.
3.2.2PWM基本原理及实现方法
其方法是通过改变电机电枢电压接通时间与通电周期的比值即占空比来控制电机速度这种方法称为脉冲宽度调制,简称PWM.调速原理如图所示通过控制脉冲占空比来改变电机的电枢电压.
Vd=Vmax*D
(2)
由公式
(2)可见,当我们改变占空比D=t1/T时,就可以得到不同的电机平均速度Vd,从而达到调速的目的。
严格地讲,平均速度与占空比Vd并不是严格的线性关系,在一般的应用中,可以将其近似地看成线性关系。
3.2.3PWM在直流调速中的应用
PWM广泛应用于直流调速系统,例如,以往普遍应用的晶闸管相控整流—直流电机调压调速系统,现在也发展了全波步控整流PWM斩波—直流电压调速系统,开关磁阻电动机也是有直流斩波器供电的。
PWM控制技术是利用半导体开关器件的导通与关断把直流电压变成电压脉冲序列,并通过控制电压脉冲宽度或周期以达到变压目的,或者控制电压脉冲宽度和脉冲序列的周期以达到变压变频目的的一种控制技术。
直流电动机转速n的表达式为:
n=Ua-IaΣRa∕Ce-φ(r/min)
式中Ua—电枢端电压(V)
Ia—电枢电流(Α)
ΣRa—电枢电路总电阻(Ω)
Φ—每级磁通量(Wb)
Ce—与电机结构有关的常数
由式可知,直流电动机转速n的控制方法可分为两类,即励磁控制法与电枢电压控制法。
励磁控制法控制励磁通Φ,其控制功率虽然小,但低速时受到磁极饱和的限制,高速时受到换向火花和换向器结构强度的限制。
而且由于励磁线圈电感较大,动态响应较差。
所以常用的是电枢电压控制法。
Ua=Ud-IaR,虽然调节电阻R即可改变端电压达到调速目的,但这种方法效率很低。
随着电力电子技术的进步,可由PWM斩波器进行斩波调压。
3.2.3PWM产生软件设计思路
以下是代码是PWM波形产生具体实现:
#defineout_max10000
#defineout_min-10000
sbitPWM=P2^0;
//正转引脚
sbitPWM=P2^1;
//反转引脚
intKP=1.943;
//PID比例系数
intKI=2.573;
//PID积分系数
intKD=0;
//PID微分系数
intcount=0;
intKey_flag=0;
intflag=0;
intlast_out=0;
intsetspeed=50;
intspeed=0;
intNow_speed[3]={0};
intnum,speed,j;
unsignedcharhighh,highl,lowh,lowl;
inthigh=10000;
/**********计数器0初始化**********/
voidtimer0_init(void)
highh=(unsignedchar)((16384-high)/256+192);
highl=(unsignedchar)((16384-high)%256);
lowh=(unsignedchar)(high/256+200);
lowl=(unsignedchar)(high%256);
TMOD=0x01;
TH0=highh;
TL0=highl;
IT0=1;
EX0=1;
TR0=1;
ET0=1;
EA=1;
voidGetspeed(void)interrupt0//测速模块
num++;
IE0=0;
voidTimer(void)interrupt1//PWM波形产生和设置模块
if(flag==0)
{
TH0=(unsignedchar)((16384-PWML)/256+192);
;
TL0=(unsignedchar)((16384-PWML)%256);
PWM=1;
flag=1;
}
else
TH0=(unsignedchar)(PWML/256+200);
TL0=(unsignedchar)(PWML%256);
PWM=0;
flag=0;
if(j==20)
speed=num;
if(Key_flag==0)
Motor_control();
num=0;
j=0;
j++;
TF0=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 闭环 数字控制 课程设计 概要