直流电机的速度环PI控制_第1页
直流电机的速度环PI控制_第2页
直流电机的速度环PI控制_第3页
直流电机的速度环PI控制_第4页
直流电机的速度环PI控制_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、加入了枳分运算,高速震荡变小了,选择了枳分系数是0.1,和采样周期一样。但是高速震 荡还是存在,超调基本上没有了。当把积分数值除以十的时候,你会发现输出的震荡明显减少了,和开环控制的时候差不多, 由此可以猜测,震荡有可能是由测试信号的精度决定的,另一方面可能是因为PWM所引起的。通过综合比较发现,闭环系统的启动速度很快,比开环的快很多,但 是加装了积分部分后,输出似乎变小了。kp=3;ADin=ff,UK=FE,speed=240.加速过程很快,无震荡。ADin=fO,UK=FE,但是有震荡为 0, speed=235239oADin=eO,UK=FE,O 出现的纪律不低 speed=2182

2、25.ADin=d0,speed=201zv213.ADin=c0,speed=188200.ADin=aO,speed=168171.ADin=90,speed=165170.ADin=80,speed=165-169.ADin=50,speed=165169.在80以后便无法调速了#include #include #include bit flag=l;unsigned char pwm=0;sbit P21=P2A1;sbit P20=P2A0;unsigned char kl;unsigned char k2,k3;unsigned char BJ; 正负的标志位;unsigned

3、char EK_num3,EK_flag3; 误差和符号。unsigned char kp,ki,kd;unsigned char UK; 控制输出。unsigned char negsum=0,possum=0; 正数和与负数和。unsigned char temp3; 中间变量。unsigned int tmp3;unsigned char Highlevel=Oxff;/上限输出。unsigned char Lowlevel=0 x00; 卜限输出。unsigned char ADJn=153,AD_out;指令和反馈。unsigned char a,b;unsigned char m=

4、0,n=0;void PWM_generator() interrupt 3 using 0 定时 255us,0.063s。if(flag=l)a-;if(a=O)flag=O;a=Oxff-UK;elseP21=0;)if(flag=O)b-;if(b=O)flag=l;b=UK;elseP21=l;void PID_generator() interrupt 1 using 0 /PID 定时,250us*3800.l 秒。m+;if(m=10)m=0;n+;AD_out=Pl;if( ADJnAD_out)(temp0=ADJn-AD_out;BJ=O; 正负标志位。elsetemp0

5、=AD_out-ADJn;BJ=1; /正负标志位。 ov=o;kl=tempO*kp;if(OV=l)OV=0;kl=0 xfe;)void PID_work2()(negsum=0;possum=0;if(BJ=O)(possum+=kl;temp2=temp2+temp0;else(negsum+=kl;temp2=temp2-temp0;k3=temp2/10;if(possumnegsum)(k2=possum-negsum; /用8位数据存储结果 CY=0;templ=k3+kl; 误差积累,if(CY=l) 16 位判断。UK=0 xfe;elseUK=kl+k3;)/elseU

6、K=1;P3=UK; main()kp=5;ki=l;kd=l;TMOD=Ox22;TH0=0 x06; /对 THO TLO 赋值 TL0=0 x06;TH 1=0 x06;/对 TH1 TH 赋值TLl=0 x06;P20=l;ETO=1;TFO=O;ET1=1;TF1=O;TR1=1;TRO=1;EA=1;while(l)PID_work2();震荡控制#include #include #include bit flag=l;unsigned char pwm=O;sbit P21=P2A1;sbit P20=P2A0;unsigned char kl;unsigned char k2

7、;unsigned char BJ; 正负的标志位;unsigned char EK_num3,EK_flag3; /误差和符号。unsigned char kp,ki,kd;unsigned char UK; 控制输出。unsigned char negsum=0,possum=0; 正数和与负数和。unsigned char temp3; 中间变量。unsigned int tmp3;unsigned char Highlevel=Oxff;/上限输出。unsigned char Lowlevel=OxlO; 卜限输出。unsigned char AD_in=0 x50,AD_out; 指

8、令和反馈unsigned char a,b;unsigned char m=O,n=O;void PWM_generator() interrupt 3 using 0 定时 255us,0.063s。(if(flag=l)a-;if(a=O)flag=O;a=Oxff-UK;elseP21=0;)if(flag=O)b-;if(b=O)flag=l;b=UK;elseP21=l;void PID_generator() interrupt 1 using 0 /PID 定时,250us*3800.l 秒。m+;if(m=10)(m=0;n+;AD_out=Pl;if( ADJnAD_out)

9、(temp0=ADJn-AD_out;BJ=O; 正负标志位。elsetemp 0=AD_ou t-AD_i n;BJ=1; /正负标志位。 ov=o;kl=temp0*kp;if(OV=l)OV=0;kl=0 xfe;)void PID_work2()(negsum=0;possum=0;if(BJ=O)(possum+=kl;)else(negsum+=kl;if(possumnegsum) (k2=possum-negsum; 11用8位数据存储结果 CY=O;templ=UK+k2; /8 位计算if(CY=l) 16 位判断。UK=Oxfe;elseUK=templ;/elseUK=O;P3=UK;) main()kp=3;ki=l;kd=l;TM

温馨提示

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

评论

0/150

提交评论