直流电机速控制系统设计_第1页
直流电机速控制系统设计_第2页
直流电机速控制系统设计_第3页
直流电机速控制系统设计_第4页
直流电机速控制系统设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、- - - .总结资料辽辽 宁宁 工工 业业 大大 学学计算机控制技术计算机控制技术课程设计课程设计论文论文题目:题目:直流电机转速控制系统设计院院系系: 电气工程学院电气工程学院专业班级:专业班级:自动化自动化074074 学学 号:号:070302098070302098学生:学生: 王宇王宇 指导教师:指导教师:签字起止时间:起止时间:2010-12-152010-12-15到到2010-12-242010-12-24课程设计课程设计论文论文任务及评语任务及评语院系:电气工程学院 教研室:自动化 -. z学 号070302098学生王宇专业班级自动化074课程设计题目直流电机转速控制系统

2、设计课程设计论文任务课题完成的功能、设计任务及要求、技术参数课题完成的功能、设计任务及要求、技术参数实现功能直流电动机作为执行元件,广泛应用于工业控制中,本设计要求采用单片机作为控制芯片,控制算法采用常规的 PID 控制,加上相应的输入输出通道,构成一个单闭环控制系统,使电机转速稳定运行,并实时显示转速值。设计任务及要求1、确定系统设计方案,包括单片机的选择,输入输出通道,键盘显示电路;2、建立被控对象的数学模型;3、推导 PID 控制算式,设计 PID 算法的程序流程图或程序清单;4、仿真研究,验证设计结果。5、撰写、打印设计说明书一份;设计说明书应在 4000 字以上。技术参数技术参数电机

3、参数:他励直流电动机,额定电压 36V,额定功率 2.2KW,额定转速2000 转/分。设计指标:稳态运行时最大超调量小于 20%进度方案布置任务,查阅资料,确定系统方案1 天被控对象建模1 天算法推导,程序设计3 天仿真研究2 天撰写、打印设计说明书2 天辩论1 天指导教师评语及成绩平时: 论文质量: 辩论:总成绩:指导教师签字: 年 月 日-. z摘 要在运动控制系统中,电机转速控制占有至关重要的作用,其控制算法和手段有很多,模拟PID控制是最早开展起来的控制策略之一,长期以来形成了典型的构造,并且参数整定方便,能够满足一般控制的要求,但由于在模拟PID 控制系统中,参数一旦整定好后,在整

4、个控制过程中都是固定不变的,而在实际中,由于现场的系统参数、温度等条件发生变化,使系统很难到达最正确的控制效果,因此采用模拟PID控制器难以获得满意的控制效果。随着计算机技术与智能控制理论的开展,数字PID技术渐渐开展起来,它不仅能够实现模拟PID所完成的控制任务,而且具备控制算法灵活、可靠性高等优点,应用面越来越广。本文章介绍了由 51 单片机以及直流电机、矩阵键盘、LCD 和传感器构成的转速闭环控制系统。其中传感器负责对电机转速进展测量,并将测量的结果反应给控制中心,并由控制中心将之与设定值进展比较得到偏差,再由偏差产生直接控制作用去消除偏差。文章不但介绍了基于单片机的转速控制系统的软件设

5、计,还涉及了硬件设计方法。文中介绍系统不但可以实现手动控制,还有无人值守,自动调速功能。关键词:直流电机闭环控制单片机 矩阵键盘 LCD目 录第 1 章 绪论 1第 2 章 课程设计的方案 22.1 概述 22.2 系统组成总体构造 2第 3 章 硬件设计 33.1 控制器 33.2 测速发电机 33.3 A/D 转换和 D/A 转换器 33.4 晶闸管整流控压 43.5 键盘模块 53.6 显示器 63.7 整体构造原理图 7-. z第 4 章 软件设计 84.1 主流程设计 84.2 按键功能局部 94.3 PID 控制局部 94.4 参数确认 104.5 LCD 显示局部 11第 5 章

6、 实验试验结果 12第 6 章 课程设计总结 13参考文献 14局部程序 15-. z第 1 章 绪论直流电气传动系统中需要有专门的可控直流电源,常用的可控直流电源有以下几种:第一,最初的直流调速系统是采用恒定的直流电压向直流电动机电枢供电,通过改变电枢回路中的电阻来实现调速。这种方法简单易行,设备制造方便,价格低廉。但缺点是效率低、不能在较宽围平滑调速,所以目前极少采用。第二,三十年代末,出现了发电机电动机(也称为旋转变流组),配合采用磁放大器、电机扩大机、闸流管等控制器件,可获得优良的调速性能,如有较宽的调速围(十比一至数十比一)、较小的转速变化率和调速平滑等。特别是当电动机减速时,可以通

7、过发电机非常容易地将电动机轴上的飞轮惯量反应给电网,这样,一方面可得到平滑的制动特性,另一方面又可减少能量的损耗,提高效率。但发电机电动机调速系统的主要缺点是需要增加两台与调速电动机相当的旋转电机和一些辅助励磁设备,因而体积设备较多、体积大、费用高、效率低、安装需要地基、运行有噪声、维修困难等。第三,自出现汞弧变流器后,利用汞弧变流器代替上述发电机电动机系统,使调速性能指标又进一步提高。特别是它的系统快速响应性是发电机电动机系统不能比较的。但是汞弧变流器仍存在一些缺点:维修还是不太方便,特别是水银蒸汽对维护人员会造成一定的危害等。第四,1957 年,世界上出现了第一只晶闸管,与其它变流元件相比

8、,晶闸管具有许多独特的优越性,因而晶闸管直流调速系统立即显示出强大的生命力。由于它具有体积小、响应快、工作可靠、寿命长、维修简便等一系列优点,采用晶闸管供电,不仅使直流调速系统经济指标上和可靠性有所提高,而且在技术性能上也显示出很大的优越性。晶闸管变流装置的放大倍数在 10000 以上,比机组(放大倍数 10)高 1000 倍,比汞弧变流器(1000)高 10 倍;在快速响应性上,机组是秒级,而晶闸管变流装置为毫秒级。因此,目前在直流调速系统中,除*些特大容量的设备而且供电电路容量较小的情况下,仍有采用机组供电、晶闸管励磁系统以外,几乎绝大局部都已改用晶闸管相控整流供电了。随着微电子技术的开展

9、,微机功能的不断提高以及电力电子、计算机控制技术的开展,电气传动领域出现了以微机为核心的数字控制系统。计算机的开展可以使复杂的控制规律较方便的实现,以计算机为核心的数字控制技术成为自控领域的主流,也给直流电气传动的开展注入了新的活力,使电气传动进入了更新的开展阶段。-. z第 2 章 课程设计的方案2.1 概述本次设计主要是综合应用所学知识,设计直流电机转速控制系统设计,并在实践的根本技能方面进展一次系统的训练。能够较全面地稳固和应用“微型计算机控制技术课程中所学的根本理论和根本方法,并初步掌握小型控制系统设计的根本方法。2.2 系统组成总体构造图 2.2 是基于单片机的转速控制系统的根本组成

10、方框。主要由测速发电机,电机,矩阵键盘,LCD12864 ,单片机89C51组成。测速发电机输出电压的大小反映机械转速的上下,并将该模拟量入如 A/D 转换器,转换成数字信号给单片机。单片机 89C51 是该系统的核心局部,一方面负责计算电机的转速,另一方面将计算得到的转速与设定转速相比较,经过计算处理,得到相应的控制信号,并用该信号传入 D/A 转换器,再传入晶闸管调压器控制控制电压从而控制电机转速。通过键盘可以设定工作模式通过输入设定转速,单片机自动控制电机转速,使其接近设定值设定转速。由单片机检测哪一个按键按下,实现设定值的修改,并通过 LCD 实时显示设定值以及测得转速。电机测速发电机

11、单片机D/A 转换器LCDA/D转换器键盘晶闸管图 2.2 系统框图-. z第 3 章 硬件设计3.1 控制器采用AT89 C51作为系统控制的方案。AT89C51单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制。相对于FPGA来说,它的芯片引脚少,在硬件很容易实现。并且它还具有功耗低、体积小、技术成熟和本钱低等优点,在各个领域中应用广泛。3.2 测速发电机采用 ZYS 型直流测速发电机,直流测速发电机在构造上与普通小微型直流发电机一样,通常是两极电机,分为他励式和永磁式两种。他励式测速发电机的磁极由铁心和励磁绕组构成,在励磁绕组入直流电流便可以建立极性恒定的磁

12、场。它的励磁绕组电阻会因电机工作温度的变化而变化,使励磁电流及其生成的磁通随之变化,产生线性误差。永磁式测速发电机的磁极由永久磁铁构成,不需励磁电源。磁极的热稳定性较好,磁通随电机工作温度的变化而变化的程度很小,但易受机械振动的影响而引发不同程度的退磁。3.3 A/D 转换和 D/A 转换器该模块 A/D 转换选用 ADC0809 是 M 美国国家半导体公司生产的 CMOS 工艺 8 通道,8 位逐次逼近式 A/D 转换器。其部有一个 8 通道多路开关,它可以根据地址码锁存译码后的信号,只选通 8 路模拟输入信号中的一个进展 A/D 转换。是目前国应用最广泛的 8 位通用 A/D 芯片。DAC

13、0832 是 8 分辨率的 D/A 转换集成芯片。与微处理器完全兼容。这个 DA 芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A 转换器由 8 位输入锁存器、8 位 DAC 存放器、8 位 D/A 转换电路及转换控制电路构成。3.4 晶闸管整流控压本设计采用三相全控桥式整流电路,由一组共阴极接法的三相半波可控整流电路和一组共阳极接法的三相半波可控整流电路串联而成。如图 3.4 所示。-. z如图 3.4 三相桥式全控整流电路三相全控桥式整流电路要求用双窄脉冲触发,即用两个间隔 60的窄脉冲去触发晶闸管。产生双脉冲的方法有两种, 一种是每个触发电路在每个

14、周期只产生一个脉冲, 脉冲输出电路同时触发两个桥臂的晶闸管,这叫外双脉冲触发; 另一种是每个触发电路在一个周期连续发出两个相隔 60的窄脉冲, 脉冲输出电路只触发一个晶闸管,这称为双脉冲触发。 双脉冲触发是目前应用最多的一种触发方式。本设计采用 KC04 与 KC41C 组合的触发电路如图所示触发电路。 KC04 与 KC41C 组成的全控桥触发电路3.5 键盘模块本次设计中采用的 4*4 的非编码键盘。矩阵式非编码键盘的电路原理图如图3.4 所示。当没有键按下时,行线和列线之间是不相连。假设第 N 行第 M 列的键被按下,则第 N 行与第 M 列的线就被接通。如果在行线上加上信号,根据列线的

15、状态,便可得知是否有键按下。如果在行线上逐行加上一个扫描信号本实验中用的低电平 ,就可以判断按键的位置。常用的按键识别有两种方法:一种是传统的行扫描法;另一种是速度较快的线反转法。本实验中采用的是线反转法进展识键。键盘在单片机系统中是一个很重要的部件。为了输入数据、查询和控制系统的工作状态,都要用到键盘,键盘是人工干预计算机的主要手段。键盘可分为编码和非编码键盘两种。编码键盘采用硬件线线路来实现键盘编码,每按下一个键,键盘能自动生成按键代码,键数较多,而且还具有去抖动功能。这种键盘使用方便,但硬件较复杂,PC 机所用的键盘就属于这种。非编码键盘仅提供按键开关工作状态,其他工作由软件完成,这种键

16、盘键数较少,硬件简单,一般在单片机应用系统中广泛使用。3.6 显示器液晶显示模块LCD12864由于其具有功耗低、无电磁辐射、寿命长、价格低、接口方便等一系列显著优点,被广泛应用与各种仪表仪器、测量显示装置、计算机显示终端等方面。12864 汉字图形点阵液晶显示模块,可显示汉字及图形,置 8192个中文汉字16*16 点阵 、128 个字符8*16 点阵及 64*256 点阵显示RAMGDRAM 。主要技术参数和显示特性:电源:VDD 3.3V+5V(置升压电路,无需负压);显示容:128 列 64 行-. z显示颜色:黄绿显示角度:6:00 钟直视LCD 类型:STN与 MCU 接口:8 位

17、或 4 位并行/3 位串行配置 LED 背光多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等3.7 整体构造原理图整体原理图如图 3.7 所示:3.7 整体原理图第 4 章 软件设计4.1 主流程设计在一个完整的系统中,只有硬件局部是不能完成相应设计任务的,所以在该系统中软件局部是非常重要的,按照要求和系统运行过程设计出主程序流程如图4.1所示。-. z开场定时器初始化键盘选择工作模式是否启动电机显示信息刷新显示进展键盘扫描按键功能判断更新控制并去除标志位是图 4.1主流程图4.2 按键功能局部该局部首要任务是判定到底是哪个按键按下,然后实现对应功能。如果是 11 号键按下,则工作模式

18、设定为自动模式,可以通过 09 的数字键来更改设定速度,由单片机通过 PID 算法来控制电机转速接近设定值。如果是 12 号键按下,则工作模式设定为手动模式,可以通过 09 的数字键来直接控制电机转速。4.3 PID 控制局部如图 4.3 给出了数字 PID 增量控制算法的流程图,利用增量控制算法也可得出位置控制算法,即,这便是位)2() 1()()() 1()(210keqkeqkeqkukuku置型控制算式的递推算法,其流程和增量型算法类似,稍加修改即可。是-. z离线计算q0,q1,q2求 ek=rk-yke(k-2)=e(k-1) e(k-1)=e(k)将输给 D/A)(ku将 A/D

19、 结果赋给 yk计算控制增量 )(ku)(ku)(ku)(ku)(ku)(ku)(ku)(ku采样时刻到否A/DD/A被控对象是否图 4.3 PID 控制算法流程图4.4 参数确认TI =0.1 T2=0.06 得通常取,)(3 . 0)(010YtYst18. 01通常取,)(7 . 0)(020YtYst45. 02=)(1ln)(1ln2010120tytyttT8473. 012tt 根据上式确认,。0T=0.58s0T= 0.159s求得数字 PID 调节器控制参数据上式确认数字 PID 调节器控制参数。4.5 LCD 显示局部其工作流程为先向 LCD 发送控制命令,再传送待显数据,

20、最后刷新屏幕。其流程图如图 4.5 所示。-. z入口发送命令延时发送数据延时显示返回图 4.5 LCD 显示函数流程图-. z第 5 章 实验试验结果通过实验室试验,输入已经确定的 Kp=1.4,T1=0.096,Td=0.15 得到如图 5.1 所示。图 5.1 实验图像超调量=297/2000=14% 小于 20%符合设计要求。第 6 章 课程设计总结这次课程设计完毕,感工业大学给我这个锻炼的时机,感王教师给的指导。刚开场做设计的时候觉得无从下手,后来通过教师的指导慢慢的进入了状态,看书查找资料,在实验室做实验,过程中出现了很多的问题,经过教师和同学的帮助终于克制了。-. z参考文献1新

21、民.智能仪器设计根底.:工业大学,2021:42-562 程德福.智能仪器.:机械工业,2021.9:101-1303 毅刚.单片机原理及接口技术M .:工业大学,2007:55-664 胡文金.单片机应用技术实训教程.:大学,2005:5-215 梁森.自动检测技术及应用. :机械工业,2021:32-33局部程序PID 算法程序*include *include *include /void PIDInit(PID *PP);/*定义构造体和公用体*/*define N 8typedef struct PIDunsigned int setpoint; /*设定值*/unsigned in

22、t proportion; /*比例系数*/unsigned int integral; /*积分系数*/unsigned int derivative; /*微分系数 */unsigned int lasterror; /*前一拍误差*/unsigned int preerror; /*前两拍误差*/ PID; union stuunsigned int value;unsigned char num2; laser;union dat unsigned char dd2; unsigned int number; collect;-. z/*函数声明局部*/unsigned int PID

23、cal(PID *pp,int thiserror); void PIDInit(PID *PP); void PortInit(void); unsigned int get_ad(void); unsigned int filter_valve(void); void Delayms(void); /*主函数局部*/ void main(void) PID vPID; /*定义构造体变量名*/unsigned int verror;unsigned int Error;unsigned int tempi;unsigned char LASERH,LASERL; /*误差的上下字节变量*/

24、 WDT=0*de; WDT=0*ad;/portinit();PIDInit(&vPID);vPID.proportion=10; /*设置 PID 比例系数为 10*/ vPID.integral=10; /*设定 PID 积分系数 为 10*/vPID.derivative=10; /*设定 PID 微分系数为 10*/vPID.setpoint=50; /*根据实际情况设定*/IE= 0*80;while(1)verror=filter_valve(); /*得到 AD 的滤波输出值 */Error=vPID.setpoint-verror; /*得到误差值*/tempi=PIDcal

25、(&vPID,Error); /*调用 PID 算法函数 得到误差增量*/laser.value+=tempi; LASERH=laser.num0; /*value 与 num2为共同体,变量名为 laser*/LASERL=laser.num1; /*存放上下字节*/ /*PID 算法函数,返回误差增量*/-. zunsigned int PIDcal(PID *pp,int thisError)unsigned int pError,dError,iError;unsigned int templ; pError=thisError-pp-lasterror; iError=thisEr

26、ror; dError=thisError-2*(pp-lasterror)+pp-preerror; templ=pp-proportion*pError+pp-integral*iError+pp-derivative*dError; /*增量计算*/ pp-preerror=pp-lasterror; /*存放误差用于下次运算*/ pp-lasterror=thisError; return (int)(templ8); /*测量值*/*float measure(void) A B 角为锐角 /* COSA=1/7 SIN(A+B)=14 分之 5 倍根号 3 */*long floa

27、t value; /*求 COSB*/*float A,B;A=acos(1/7);B=asin(5/14)*sqrt(3)-A;if(0Api/2)&(0Bpi/2) return cos(B); */ /*得到 ADC 转换值*/ unsigned int get_ad(void) while(AD0INT=0); AD0INT=0; collect.dd1=ADC0H; collect.dd0=ADC0L; return (collect.number); void Timer3_ISR(void) interrupt 14TMR3=0*7f;-. z/AMU*0SL=0*00;AD0BUSY=1;void Timer3_Init(unsigned char Highcounts,uns

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论