直流电机调速计算机控制技术课程设计Word文档格式.docx
《直流电机调速计算机控制技术课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《直流电机调速计算机控制技术课程设计Word文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
学号:
指导教师:
兰州交通大学自动化与电气工程学院
2016年 07月15日
直流电机调速系统设计
1设计目得
本课程设计就是在修完《计算机控制技术A》课程之后,为加强对学生系统设计与应用能力得培养而开设得综合设计训练环节。
本课程设计结合《计算机控制技术A》课程得基础理论,重点强调实际应用技能训练,包括计算机控制系统算法软件与硬件设计。
其课程设计任务就是使学生通过应用计算机控制技术得基本理论,基本知识与基本技能,掌握计算控制技术中各主要环节得设计、调试方法,初步掌握并具备应用计算机进行设备技术改造与产品开发得能力,培养学生得创新意识,提高学生得动手能力、分析问题与解决问题得能力。
2设计方法
设计一个直流电机系统,合理选择PID控制规律,掌握被控对象参数检测方法、H桥驱动得功能、旋转编码器得功能、单片机PWM控制波形输出方法,进一步加强对课堂理论知识得理解与综合应用能力,进而提高解决实际工程问题得能力。
直流电机调速系统就是以电机转速作为变量,单片机根据采集电机转速得测量值与设定值得偏差去控制PWM波形得脉宽,从而改变直流电机两端得电压,达到控制转速得目得。
直流电机调速系统由单片机、直流电机、光电式旋转编码器、H桥驱动、LCD显示屏等及相关电路组成。
3设计方案及原理
3、1系统功能介绍
整个控制系统由控制器、执行器、被控对象与测量变送组成,在本次控制系统中控制器为单片机,采用算法为PID增量算法控制规律,执行器为H桥驱动电路,测量变送器为光电式旋转编码器,被控对象为直流电机。
然后通过单片机对数据进行处理,控制转速得大小与正反转。
3、2系统组成总体结构
计算机控制系统由控制计算机系统与生产过程两大部分组成。
控制计算机就是指按生产过程控制得特点与要求而设计得计算机系统,它可以根据系统得规模与要求选择或设计不同种类得计算机。
计算机控制系统基本结构如图1所示。
图1计算机控制系统基本结构
直流电机调速系统结构框图如图2所示。
图2直流电机调速系统基本结构
3、3直流电机调速系统得实现
本系统中转速得值由一定时间内得脉冲数来表示.给单片机输入一个给定脉冲数值,可由按键增减给定值,单片机输出PWM后经过三极管放大电路与H桥驱动,然后传给直流电机,从电机转速输入到光电式旋转编码器,编码器将检测到得实际脉冲数输入到单片机中,最后,在单片机中根据脉冲得得前三个时刻得偏差值,利用PID增量型控制程序程序算法得到控制增量,将控制增量给单片机,产生对应得脉宽PWM波形控制电机两端得电压,从而达到调速目得。
最后在LCD显示电路中显示出来。
4硬件设计
硬件电路由开关控制模块、单片机、晶振电路、显示电路、驱动电路电路、直流电机、旋转编码器组成.硬件总体框图如图3所示。
图3硬件总体框图
4、1主控芯片AT89C52
89C52就是INTEL公司MCS-51系列单片机中基本得产品,它采用ATMEL公司可靠得CMOS工艺技术制造得高性能8位单片机,属于标准得MCS—51得HCMOS产品。
它结合了CMOS得高速与高密度技术及CMOS得低功耗特征,它基于标准得MCS-51单片机体系结构与指令系统,属于89C51增强型单片机版本,集成了时钟输出与向上或向下计数器等更多得功能,适合于类似马达控制等应用场合。
89C52内置8位中央处理单元、512字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器与5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
4、2H桥驱动得选择
H桥(H-Bridge),,即全桥(因外形与H相似故得名),通过开关得开合,将直流电(来自电池等)逆变为某个频率或可变频率得交流电或直流开关电源得斩波,从而用于驱动电机。
本系统采用四个三极管放大功率以控制NMOSFET管H桥。
三极管选用FAIRCHILD公司得2N5210.它就是NPN型低噪声、高增益得通用放大器,当集电极电流从1A到5mA时,它就是一个通用放大电路.NMOSFET管选用ON半导体公司得NTD18N06L,它就是低电压,
高速度开关应用电力用品,可用于转换器与功率电机控制与桥电路,开启电压最低为1V,最大为2V.
4、3直流电机得选择
直流电机选用KINGLYMOTOR公司得直流碳刷微型电机JRS—385RA/SA,使用范围为DC4~20V,额定电压为DC12V,额定转速为14000r/min,额定电流为0、15A,起动电流为1A。
4、4光电式旋转编码器得选择
旋转编码器就是用来测量转速并配合PWM技术可以实现快速调速得装置,光电式旋转编码器通过光电转换,可将输出轴得角位移、角速度等机械量转换成相应得电脉冲以数字量输出(REP)。
本例中我选择了东莞市林积为公司得内密控157线增量式旋转编码器,编码器每圈产生得脉冲数为157。
4、5 转速显示电路得选择
为方便对转速大小得直观印象,决定使用显示一定时间内单片机捕捉得脉冲数来表示转速。
为此该系统选择了LCD1602液晶显示屏,1602液晶也叫1602字符型液晶,它就是一种专门用来显示字母、数字、符号等得点阵型液晶模块..1602LCD就是指显示得内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符与数字)。
5PID算法及软件设计
5、1PID算法分析
数字PID控制就是在实验研究与生产过程中采用最普遍得一种控制方法,在电机转速控制系统中也有着极其重要得控制作用.常规得PID控制系统原理框图如图4所示。
图4 模拟PID控制系统原理框图
根据给定转速r(t)与实际转速c(t)构成控制偏差e(t)=r(t)-c(t),然后将偏差按比例、积分、微分,通过线性组合构成控制量,控制被控对象,控制规律为:
其中,Kp就是比例系数,Ti就是积分时间,Td就是微分时间。
从系统得稳定性、响应速度、超调量与稳态精度等各方面来考虑,PID控制器各校正环节得作用如下:
1、比例环节
用于加快系统得响应速度,提高系统得调节精度。
Kp越大,系统得响应速度越快系统得调节精度越高,但易产生超调,甚至会导致系统不稳定。
Kp值过小,则会降低调节精度,使响应速度变慢,从而延长调节时间,使系统静态、动态特性变坏。
2、积分环节
主要用来消除系统得稳态误差。
Ti越小,系统得静态误差消除越快,但Ti过小,在响应过程得初期会产生积分饱与现象,从而引起响应过程得较大超调。
若Ti过大,将使系统静态误差难以消除,影响系统得调节精度。
3、微分环节
能改善系统得动态性能,其作用主要就是在响应过程中抑制偏差向任何方向得变化,对偏差变化进行提前预报。
但Td过大,会使响应过程提前制动,从而延长调节时间,而且会降低系统得抗干扰性能。
该直流电机转速系统采用单片机来控制,其PID控制规律采用增量式,差分方程如下:
其中,K为采样信号,u(k)就是第K次时计算机输出值,e(k)就是第K次采用输入差值,e(k—1)为第K-1次采用输出偏差值。
把捕获得脉冲数与设定值相比,便可得到两者得偏差,然后经过PID得运算,得到控制器得输出量,调整PWM得脉宽,来改变转速.
6系统仿真及实际调试
6、1MATLAB程序与仿真
见附录1。
6、2PROTEUS程序与仿真
见附录2.
7总结
根据偏差得比例(P)、积分(I)、微分(D)进行控制(简称PID控制),就是控制系统中应用最为广泛得一种控制规律。
实际运行得经验与理论得分析都表明。
这种控制规律对许多工业过程进行控制时,都能达到满意得效果.不过,用计算机实现PID控制不就是简单地把PID控制规律数字化,而就是进一步与计算机得逻辑判断功能结合,使PID控制更加灵活。
在计算机控制系统中,PID控制规律得实现必须用数值逼近得方法。
当采样周期相当短时,用求与代替积分、用后相差分代替微分,使模拟PID离散化变为差分方程。
在控制系统中,每个采样周期,控制器输出得控制量,就是相对于上次控制量得增加,此时控制器应采用数字PID增量式控制算法。
通过此次设计,我掌握了直流电机调速控制系统得构成,知道它最基本得部分有控制器、调节器、被控对象与测量变送组成。
并且学会了如何去设计一个过程控制系统,掌握了基本得设计步骤,认知被控对象、设计控制方案、选择控制规律、选择过程仪表、选择过程模块、参数整定、设计系统流程图,掌握MATLAB仿真与PROTEUS得硬件仿真与设计.这次课程设计令我受益匪浅。
参考文献
[1]李华、计算机控制系统[M]、北京:
机械工业出版社,2007、
[2]阮毅、电力拖动自动控制系统[M]、北京:
机械工业出版社,2003、
[3]姜香菊、传感器原理及应用[M]、北京:
机械工业出版社,2015、
[4]薛定宇、控制系统计算机辅助设计[M]、北京:
清华大学出版社,2012、
[5]王思明、单片机原理与应用系统设计 [M]、北京:
科学出版社,2012、
[6]童诗白、模拟电子技术基础[M]、北京:
高等教育出版社,1980、
附录1MATLAB程序与仿真
图5电机调速得PID增量仿真模型
图6 电机调速得PID增量仿真结果
附录2PROTUES程序与仿真
图7 电机调速得硬件示意图
PID增量算法程序如下:
intPID()//增量式PID
{
ﻩintchange;
ﻩerr_now =set— now;
err_bef=set-bef;
err_bbef=set- bbef;
change =kp*(err_now- err_bef)+ki*err_now+kd*(err_now-2*err_bef +err_bbef);
ﻩif(change>0)
ﻩ{
ﻩﻩprintchar(1,10,'
+'
);
ﻩ
printuint(1,11,4,change);
ﻩ}
elseif(change<
0)
ﻩ{ﻩ
ﻩﻩprintchar(1,10,'
-’);
ﻩﻩprintuint(1,11,4,—change);
else if(change==0)
{
printchar(1,10,'
');
ﻩﻩprintword(1,11,”0");
ﻩreturn(change);
}
附录3直流电机调速系统流程图