1西安郵電學院控制系统课程设计报告书系部名称:自动化学院学生姓名:23号:帖东杰19:赵立龙31:王泉27号:张翻35号:赛力汗专业名称:自动化班级:自动0804时间:2010年12月5日至2010年12月17日2直流电机的闭环调速系统设计一、设计要求利用PID控制器、光电传感器及F/V转换器设计直流电机的闭环调速系统。二、设计方案分析器材:电路板、PID控制器、小型直流电机、LM331、ST151各一片电阻、电容若干、导线、LM324若干原理框图:输入输出注:1.输入电源信号与反映电机转速变化的电压信号的反馈调节电压信号,作为共同输入,通过PID控制器调节,驱动电机工作。2.电动机转动叶轮,叶轮通过转动在光电传感器处产生脉冲信号并输入给F/V转换器;F/V转换器将频率信号转换为电压信号,将此作为反馈信号然后通过PID控制器对输出电压进行校正。四、硬、软件设计及背景知识介绍PID比例积分微分控制器1、PID控制器的简单介绍PID是比例P(Proportional)、积分(Integral)、微分D(DifferentialorDerivative)控制的简称。在PID调节器作用下,我们可以对误差信号分别进行比例、积分、微分控制,调节器的输出作为被控对象的输入控制量。减PID控制器直流电机F/V转换器Lm331光电传感器ST1513PID调节器的传递函数和电路连接如下图所示,在式中,Kp为比例增益,Ti为积分时间,Td为微分时间。PID传递函数:PID电路连接:2、PID控制器参数的确定PID控制是比例、积分、微分控制的总体,而各部分的参数KP、TI、TD大小不同则比例、微分、积分所起作用强弱不同。在工业过程控制中如何把三参数调节到最佳状态需要深入了解PID控制中三参量对系统动态性能的影响。以单闭环调速系统为例,讨论各参量单独变化对系统控制作用的影响。在讨论一个参量变化产生的影响时,设另外两个参量为常数。PID参数对系统的影响:4通过仿真PID控制器参数确定如下KP=20TI=0.5TD=0.1PID参数的确定的详细步骤:见附件《基于MATLAB仿真下PID参数整订》LM324放大器5LM324为四运放集成电路,它采用了14脚双列直插塑料进行封装。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互单独。每一组运算放大器可用如图所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的相位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。LM324引脚排列见图。Lm324管脚图在电路设计时,将F/V转换器LM331输出的电压反馈信号经Lm324放大反馈到电路中;4和11管脚分别接+12V,-12V电源。光电转换器ST151光电转换器ST151是单光束直射取样式光电传感器,采用高发射功率红外光电二极管和复合晶体管组成,性能可靠;体积小,结构简单.多应用于多费率电能表,IC卡电度表等各种需测量计数的场合。6ST151实物图ST151内部结果图在本实验中,当电机驱动转动叶轮时,通过光电传感器将光信号转换为具有一定频率的脉冲信号,再将该脉冲信号传送给F/V转换器LM313。频率-电压变换器LM331LM331是美国NS公司生产的性能价格比比较高的集成芯片。它是当前最简单的一种高精度V/F转换器、A/D转换器、线性频率调制解调、长时间积分器以及其它相关的器件。LM331双列直插式8引脚芯片,其引脚框图如图1所示。7Lm331逻辑框图Lm331各引脚功能说明如下:脚1为脉冲电流输出端,内部相当于脉冲恒流源,脉冲宽度与内部单稳态电路相同;脚2为输出端脉冲电流幅度调节,RS越小,输出电流越大;脚3为脉冲电压输出端,OC门结构,输出脉冲宽度及相位同单稳态,不用时可悬空或接地;脚4为地;脚5为单稳态外接定时时间常数RC;脚6为单稳态触发脉冲输入端,低于脚7电压触发有效,要求输入负脉冲宽度小于单稳态输出脉冲宽度Tw;脚7为比较器基准电压,用于设置输入脉冲的有效触发电平高低;脚8为电源Vcc,正常工作电压范围为4~40V。线性度好,最大非线性失真小于0.01%,工作频率低到0.1Hz时尚有较好的线性;变换精度高数字分辨率可达12位;外接电路简单,只需接入几个外部元件就可方便构成V/F或F/V等变换电路,并且容易保证转换精度。由LM331构成的频率-电压转换电路如图4所示,输入脉冲fi经R1、C1组成的微分电路加到输入比较器的反相输入端。输入比较器的同相输入端经电阻R2、R3分压而加有约2Vcc/3的直流电压,反相输入端经电阻R1加有Vcc的直流电压。当输入脉冲的下降沿到来时,经微分电路R1、C1产生一负尖脉冲叠加到反相输入端的Vcc上,当负向尖脉冲大于Vcc/3时,输入比较器输出高电平使触发器置位,此时电流开关打向右边,电流源IR对电容CL充电,同时因复零晶体管截止而使电源Vcc通过电阻Rt对电容Ct充电。当电容CL两端电压达到2Vcc/3时,定时比较器输出高电平使触发器复位,此时电流开关打向左边,电容CL通过电阻RL放电,同时,复零晶体管导通,定时电容Ct迅速放电,完成一次充放电过程。此后,每当输入脉冲的下降沿到来时,电路重复上述的工作过程。从前面的分析可知,电容CL的充电时间由定时电路Rt、Ct决定,充电电流的大小由电流源IR决定,输入脉冲的频率越高,电容CL上积累的电荷就越多输出电压(电容CL两端的电压)就越高,实现了频率-电压的变换。按照前面推导V/F表达式的方法,可得到输出电压VO与fi的关系为:VO=2.09RlRtCtfi/Rs电容C1的选择不宜太小,要保证输入脉冲经微分后有足够的幅度来触发输入比较器,但电容C1小些有利于提高转换电路的抗干扰能力。电阻RL和电容CL组成低通滤波器。电容CL大些,输出电压VO的纹波会小些,电容CL小些,当输入脉冲频率变化时,输出响应会快些。这些因素在实际运用时要综合考虑。8在本次实验中,F/V转换器LM331是将ST151传送过来的具有一定频率的脉冲信号转换为电压,通过调节电路,最后反馈给PID控制器。五、测试数据及设计结果:当输入电压时,输入电压通过PID放大控制器之后,输入电机,带动电机转动,电机转动通过ST151光电传感器产生具有一定频率的脉冲信号,脉冲信号通过LM331将具有一定频率的脉冲信号转换为电压,反馈给减法器,形成反馈电压和输入电压的跟随,达到了对直流电机的调速的目的。六、调试中出现的错误及解决方法帖东杰(06081128)这此实习,我遇到很多问题,也学到很多东西。首先,是关于建模的事,刚开始不知道什么是建模,更不知道如何建模。在网上搜,说了一些关于simulink建模,自己仔细看了看,觉得这要用到各种器件的参数,但老师并没有给出,所以我想建模是不够现实的。老师验收时,重新给了一种建模的方法,才解决了自己心里建模的问题。其次,就是LM324的双极性问题,因为PID出来时偏差,偏差有正有负,所以,担心输出会出现负电压,所以11引脚必须接负电源,平时我用LM324时,11引脚接的都是负5伏电压或者地,但给的器件不能提供负5伏。自己在网上搜了一些关于LM324的资料,才把这个问题弄明白了,决定LM324接正负12伏电源。再次,就是LM324的输入高阻抗问题,输入电压时,不能输入到LM324中,我当时,想通过上拉来解决的,但最终没有效果。通过老师的帮助后,知道接LM324的电阻值太小了,以至于不能输进电压,于是,我将输入的10K改为200K,问题解决了。接着就是,在示波器上观察ST151的输出波形的问题,开始观察的波形,很乱,隐隐约约能看出方波的意思,但并不清晰,但是,我想到了噪音的干扰,本来想的加个低通滤波器的,但又不知道,最高允许通过的频率是多少,所以放弃了这个想法。我尝试着给输出加一个10uf的电容,发现效果马上不一样了。最后,就是设计调节电路,因为LM331出来的电压不一定是我想要的电压值,到底怎么调,放大还是缩小,放大,放大多少倍?我当时很郁闷,也无从下手。我当时,就想测一下LM331输出的电压值,提供的是3..27伏的电压,结果LM331输出是6.6伏,于是,我将调节电路,放大到了原来电压的0.5倍,但又想,这对其他输入电压适应吗?最终,通过自己的分析和同学的商量,我坚定地相信输入电压与LM331输出的电压是成正比的,然后通过我的是测试,也是对的。这次实习,我花费了十天的时间,觉得好累,但出现最终的结果时,我欣然地笑了。基于MATLAB仿真下PID参数整订1.首先确定pK的值。9(1)尝试10pKG1=tf([1],[0.5,1]);forKp=0.1:0.1:1Gc=Kp*G1;G=feedback(Gc,1);step(G),holdonend(2)尝试101pK的值。G1=tf([1],[0.5,1]);forKp=1:2:10Gc=Kp*G1;G=feedback(Gc,1);step(G),holdonend10(3)尝试1510pK的值。G1=tf([1],[0.5,1]);forKp=10:1:14Gc=Kp*G1;G=feedback(Gc,1);step(G),holdonend11(4)尝试2015pK的值。G1=tf([1],[0.5,1]);forKp=15:1:20Gc=Kp*G1;G=feedback(Gc,1);step(G),holdonend12(5)尝试3020pK的值。G1=tf([1],[0.5,1]);forKp=20:2:30Gc=Kp*G1;G=feedback(Gc,1);step(G),holdonend13(6)确定20pK。G1=tf([1],[0.5,1]);Kp=20;Gc=Kp*G1;G=feedback(Gc,1);step(G);grid142.然后确定iT的值。(1)尝试5.01.0iT的值。G1=tf([1],[0.5,1]);Kp=20;forTi=0.1:0.1:0.5PIDGc=tf(Kp*[Ti,1],[Ti,0]);Gc=PIDGc*G1;G=feedback(Gc,1);step(G),holdonend15(2)尝试15.0iT的值。G1=tf([1],[0.5,1]);Kp=20;forTi=0.5:0.1:1PIDGc=tf(Kp*[Ti,1],[Ti,0]);Gc=PIDGc*G1;G=feedback(Gc,1);step(G),holdonend16(3)确定5.0iT。G1=tf([1],[0.5,1]);Kp=20;Ti=0.5;PIDGc=tf(Kp*[Ti,1],[Ti,0]);Gc=PIDGc*G1;G=feedback(Gc,1);step(G)173.最后确定dT的值。(1)尝试5.01.0dT。G1=tf([1],[0.5,1]);Kp=20;Ti=0.5;forTd=0.1:0.1:0.5PIDGc=tf(Kp*[Ti*Td,Ti,1],[Ti,0]);Gc=PIDGc*G1;G=feedback(Gc,1);step(G),holdonend(2)尝试15.0dT。G1=tf([1],[0.5,1]);Kp=20;Ti=0.5;forTd=0.5:0.1:1PIDGc=tf(Kp*[Ti*Td,Ti,1],[Ti,0]);Gc=PIDGc*G1;G=feedback(Gc,1);step(G),holdonend18从图中明显看出,15.0dT时,不能满足sts2的条件。(3)确定1.0dT。G1=tf([1],[0.5,1]);Kp=20;Ti=0.5;Td=0.1;PIDGc=tf(Kp*[Ti*Td,Ti,1],