电力拖动自动控制系统运动控制系统阮毅陈伯时课后思考题答案 2Word文件下载.docx
《电力拖动自动控制系统运动控制系统阮毅陈伯时课后思考题答案 2Word文件下载.docx》由会员分享,可在线阅读,更多相关《电力拖动自动控制系统运动控制系统阮毅陈伯时课后思考题答案 2Word文件下载.docx(30页珍藏版)》请在冰点文库上搜索。
如果测速发电机的励磁发生了变化,系统有无克服这种干扰的能力?
(已验证)答:
转速单闭环调速系统增加了转速反馈环节(由转速检测装置和电压放大器构成),可获得比开环调速系统硬得多的稳态特性,从而保证在一定静差率下,能够提高调速范围。
改变给定电压能改变电动机转速。
因为改变给定电压则改变实际转速反馈电压与给定电压的偏差,从而改变电力电子变换器的输出电压,即改变电动机的电枢电压,改变了转速。
调节转速反馈系数而不改变给定电压能改变转速。
因为改变转速反馈系数则改变实际转速反馈电压,而给定电压不变,则电压偏差改变,从而电力电子变换器输出电压改变,即电动机电枢电压改变,转速改变。
若测速发电机励磁发生变化,则反馈电压发生变化,当给定电压一定时,则电压偏差发生变化,从而转速改变。
故系统无克服测速发电机励磁发生变化干扰的能力。
2-13为什么用积分控制的调速系统是无静差的?
在转速单闭环调速系统中,当积分调节器的输入偏差电压△U=0时,调节器的输出电压是多少?
它决定于哪些因素?
因为积分调节器能在电压偏差为零时仍有稳定的控制电压输出,从而克服了比例调节器必须要存在电压偏差才有控制电压输出这一比例控制的调速系统存在静差的根本原因。
当积分调节器的输入偏差电压为零时,调节器输出电压应为一个恒定的积分终值。
它取决于输入偏差量在积分时间内的积累,以及积分调节器的限幅值。
2-14在无静差转速单闭环调速系统中,转速的稳态精度是否还受给定电源和测速发电机精度的影响?
仍然受影响。
因为无静差转速单闭环调速系统只是实现了稳态误差为零,因此若给点电源发生偏移,或者测速发电机精度受到影响而使反馈电压发生改变,系统仍会认为是给定或转速发生改变,从而改变转速,以达到电压偏差为零。
2-15在转速负反馈单闭环有静差调速系统中,当下列参数发生变化时系统是否有调节作用?
为什么?
(已验证)
(1)放大器的放大系数Kp。
(2)供电电网电压Ud。
(3)电枢电阻Ra。
(4)电动机励磁电流If。
(5)转速反馈系数α。
(1)有。
假设Kp减小,则控制电压减小,则电力电子变换器输出减小,则电动机转速下降;
而电动机转速下降,则反馈电压减小,则偏差电压增大,则控制电压增大,则转速上升。
(2)有。
不解释。
(3)有。
(4)有。
(5)没有。
2-16在转速负反馈单闭环有静差调速系统中,突减负载后又进入稳定运行状态,此时晶闸管整流装置的输出电压Ud较之负载变化前是增加、减少还是不变?
在无静差调速系统中,突加负载后进入稳态时转速n和整流装置的输出电压Ud是增加、减少还是不变?
(1)Ud减小。
因负载减小,转速上升,反馈电压增加,给定电压一定,偏差电压减小,控制电压减小,故输出电压减小。
(2)n不变,Ud增加。
转速负反馈调速系统转速仅取决于给定电压,故不变;
略。
2-17闭环调速系统有哪些基本特征?
它能减少或消除转速稳态误差的实质是什么?
一、可以作为填空题或简答题的
2-1简述直流电动机的调速方法。
直流调速系统常以(调压调速)为主,必要时辅以(弱磁调速),以(扩大调速范围),实现(额定转速以上调速)。
2-2直流调压调速主要方案有(G-M调速系统,V-M调速系统,直流PWM调速系统)。
2-3V-M调速系统的电流脉动和断续是如何形成的?
如何抑制电流脉动?
11-12答:
整流器输出电压大于反电动势时,电感储能,电流上升,整流器输出电压小于反电动势时,电感放能,电流下降。
整流器输出电压为脉动电压,时而大于反电动势时而小于,从而导致了电流脉动。
当电感较小或电动机轻载时,电流上升阶段电感储能不够大,从而导致当电流下降时,电感已放能完毕、电流已衰减至零,而下一个相却尚未触发,于是形成电流断续。
2-4看P14图简述V-M调速系统的最大失控时间。
14答:
t1时刻某一对晶闸管被触发导通,触发延迟角为α1,在t2>
t1时刻,控制电压发生变化,但此时晶闸管已导通,故控制电压的变化对它已不起作用,只有等到下一个自然换向点t3时刻到来时,控制电压才能将正在承受正电压的另一对晶闸管在触发延迟角α2后导通。
t3-t2即为失控时间,最大失控时间即为考虑t2=t1时的失控时间。
2-5简述V-M调速系统存在的问题。
16答:
整流器晶闸管的单向导电性导致的电动机的不可逆行性。
整流器晶闸管对过电压过电流的敏感性导致的电动机的运行不可靠性。
整流器晶闸管基于对其门极的移相触发控制的可控性导致的低功率因数性。
2-6简述不可逆PWM变换器(无制动电流通路与有制动电流通路)各个工作状态下的导通器件和电流通路。
17-182-7调速时一般以电动机的(额定转速)作为最高转速。
2-8(调速范围)和(静差率)合称调速系统的(稳态性能指标)。
2-8一个调速系统的调速范围,是指(在最低转速时还能满足所需静差率的转速可调范围)。
2-9简述转速反馈控制的直流调速系统的静特性本质。
在闭环系统中,每增加(或减少)一点负载,就相应地提高(或降低)一点电枢电压,使电动机在新的机械特性下工作。
因此闭环系统的静特性本质上就是无数开环机械特性上各取一个相应的工作点连接而成的。
2-10简述比例反馈控制的规律。
比例控制的反馈控制系统是(被调量有静差)的控制系统;
反馈控制系统的作用是(抵抗前向通道的扰动,服从给定);
反馈1.编写一个函数fun,它的功能是:
实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。
实现两个字符串连接
注意:
这一段是程序题答案
inti,j;
for(i=0;
p1[i];
i++);
for(j=0;
p2[j];
j++)p1[i++]=p2[j];
p1[i]='
\0'
;
这三个是填空题答案
if(t%2==0)
x=10*x+t;
n=n/10;
注意这两个是改成题答案
*t=0;
if(d%2!
=0)
2.请编写函数fun,其功能是:
计算并输出当x<
0.97时下列多项式的值,直到|Sn-S(n-1)|<
0.000001为止。
Sn=1+0.5x+0.5(0.5-1)/2!
x
(2)+...+0.5(0.5-1)(0.5-2)
.....(0.5-n+1)/n!
x(n)
输入0.21后,则输出为s=1.100000。
doubles1=1.0,p=1.0,sum=0.0,s0,t=1.0;
intn=1;
do{s0=s1;
sum+=s0;
t*=n;
p*=(0.5-n+1)*x;
s1=p/t;
n++;
}while(fabs(s1-s0)>
1e-6);
returnsum;
t=x;
t*=(-1.0)*x/n;
while(fabs(t)>
=1e-6);
for(i=1;
i<
=y;
i++)
t=t%1000;
3.请编写函数fun,其功能是:
计算并输出下列多项式值:
s=1+1/(1*2)+1/(1*2*3)+..1/(1*2+3...*50)
输入50后,则输出为S=1.718282。
inti;
doubles=0.0,s1=0.0;
for(i=1;
i<
=n;
i++)
{s1=s1*i;
s=s+1.0/s1;
}
returns;
switch(n%10)
case1:
c1++;
break;
case2:
c2++;
if(t==0)
*zero=count;
4.请编写函数fun,它的功能是:
将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。
低于平均分的人作为函数值返回
inti,j=0,aver=0;
for(i=0;
m;
i++)aver+=score[i];
aver/=m;
if(score[i]<
aver)below[j++]=score[i];
returnj;
if(n>
=len)strcpy(j);
t[j++]=0;
t[j]=i++;
for(i=2;
i<
=m;
y-=1.0/(i*i);
5.请编写函数fun,它的功能是:
使字符串的前导*号不得多于n个
前导*不多于n个
inti=0,k=0;
char*p,*t;
p=t=a;
while(*t=='
*'
){k++;
t++;
}
if(k>
n){while(*p)
{a[i]=*(p+k-n);
i++;
p++;
a[i]='
voidfun(char(*ss)[M],intk)
while(i<
N){
ss[i][k]=0;
t=1;
return(2*s);
6.请编写函数fun,它的功能是:
将字符串中的前导*号全部移到字符串的尾部。
串前*移至串尾
inti=0,n=0;
char*p;
p=a;
while(*p=='
){n++;
while(*p){a[i]=*p;
p++;
while(n!
=0){a[i]='
;
i++;
n--;
a[i]='
voidfun(int(*t)[N]
t[i][j]=t[i][j]+t[j][i];
t[j][i]=0;
#defineFU(m,n)(m)/(n)
return(value);
7.请编写一个函数fun,它的功能是:
将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
下标奇数位置子母改大写
ss[i]!
='
i++)
if(i%2==1&
&
ss[i]>
a'
ss[i]<
z'
)
ss[i]=ss[i]-32;
voidfun(int(*a)[N],intk)
for(i=0;
N;
a[0][i]=a[k][i];
for(i=strlen(t);
i>
0;
i--)
if(t[j]>
t[j+1])
8.请编写函数fun,它的功能是:
按分数的高低排列学生的记录,高分在前。
按分数高低排列学生纪录,高分在前
inti,j;
STRUCt;
for(i=1;
N;
j<
N-1;
j++)
if(a[j].s<
a[j+1].s){t=a[j];
a[j]=a[j+1];
a[j+1]=t;
while(t<
=999){
s1=t%10;
s2=(t/10)%10;
s3=t/100;
if(s1+s2+s3==x)
voidfun(longs,long*t)
while(s>
0)
9.请编写函数fun,它的功能是:
除了字符串前导和尾部的*号之外,将串中其他*号全部删除。
只删除中间*号
inti=0;
char*q=a;
while(q<
h){a[i]=*q;
q++;
p){if(*q!
='
){a[i]=*q;
}q++;
while(*q){a[i]=*q;
sum=0;
sum+=t[i][i];
sum+=t[i][n-i-1];
doubler;
while(fabs(n-m)>
0.001)
10.N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。
请编写函数fun,它的功能是:
求出平均分,由函数值返回。
N名学生的成绩的平均分,78.625
doubleav=0.0;
STRUC*p=h->
next;
while(p!
=NULL){av=av+p->
s;
p=p->
returnav/N;
charfun(charch)
if(ch>
0'
&
ch<
9'
)
return'
-(ch-'
);
3&
*p)
b[k]=*p;
b[k]='
'
k++;
11.请编写函数fun,其功能是:
将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除
除下标奇数同时ASCII码也为奇数外其余字符删除
inti,j=0,n;
n=strlen(s);
for(i=0;
n;
i++)
if(i%2!
=0&
s[i]%2!
=0){t[j]=s[i];
j++;
t[j]='
s=0;
i=1;
i++;
x=(2.0*i-1)/((2.0*i)*(2.0*i));
voidfun(char*s,char*t)
t[2*d]='
12.请编写函数fun,它的功能是:
找出学生的最高分,由函数值返回。
找出学生最高分由函数值返回
doublemax;
inti;
max=h->
for(i=0;
N;
if((h+i)->
s>
max)max=(h+i)->
returnmax;
while(!
feof(fp))
if(n.sno==sno)break;
fseek(fp,-(long)sizeof(STU),SEEK_CUR);
n=strlen(aa);
ch=aa[i];
13.请编写函数fun,它的功能是:
只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。
删除前导和尾部*
inti,j=0;
for(i=h;
n-e;
a[j++]=a[i];
a[j]='
strlen(ss[i])
substr
fun(intx,inty,intz)
returnj;
14..请编写函数fun,其功能是:
将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:
将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。
例如,当a=45,b=12,调用该函数后
c=5241。
*c=a/10*10+a%10*1000+b/10+b%10*100;
for(p=1;
p<
=k;
p++)
for(j=0;
j<
N-1;
j++)a[i][j]=a[i][j+1];
a[i][N-1]=temp;
voidfun(inta[][M],intm)
a[j][k]=(k+1)*(j+1);
15.请编写函数fun,其功能是:
计算并输出
S=1+(1+2^0.5)+(1+2^0.5+3^0.5)+......+
(1+2^0.5+3^0.5+......+n^0.5)
输入20后,则输出为s=534.188884。
{s1=s1+pow(i,0.5);
s=s+s1;
returns;
t=(a>
b)?
(b>
c?
b:
(a>
c:
a)):
((a>
c)?
a:
((b>
b));
c=c+32;
c=c+5;
16.请编写一个函数fun,它的功能是:
计算并输出给定整数n的所有因子(不包括1与自身)之和。
规定n的值不大于1000。
整数n的所有因子
ints=0,i;
for(i=2;
=n-1;
i++)if(n%i==0)s+=i;
returns;
s->
data=x
q=p
q->
next=s
voidfun(inta[M])
a[j]=a[j-1];
17.编写函数fun,它的功能是:
求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回。
同时能被3与7整除的所有自然数之和的平方根
intsum,i;
{if(i%3==0&
i%7==0)sum=sum+i;
return(sqrt(sum));
if(isdigit(*s))sum+=*s-48;
s++;
returnsum;
if((k%13==0)||(k%17==0))
}
18.请编写函数fun,其功能是:
Sn=1+1/1!
+1/2!
+1/3!
+1/4!
+...+1/n!
若主函数从键盘给n输入15,则输出为s=2.718282。
doublet,sn=1.0;
{t=1.0;
for(j=1;
=i;
j++)t*=j;
sn+=1.0/t;
returnsn;
f=1.0;
t*=(-1)*x/n;
f+=t;
=3;
if((k>
=1&
k<
=6)&
(i!
j!
=0)||k==0)
19.请编写函数voidfun(intx,intpp[],int*n),它的功能是:
求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
能整除形参x且不是偶数的各整数
for(i=1;
=x;
i=i+2)if(x%i==0)pp[j++]=i;
*n=j;
if(n>
=len)strcpy(t,s);
for(i=len-n;
=len-1;
i++)t[j++]=s[i];
if(i%k==0)
if(k>
=i)
20.请编写函数fun,其功能是:
将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。
c=2415。
*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;
structstudent*fun(structstudent*a)
for(i=0;
3;
i++)a->
score[i]+=1;
returna;
char*fun(char(*sq)[M])
returnsp;
21.某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。
求出该学生的平均分放在记录的ave成员中。
8门课程平均分78.875
p->
ave=0.0;
i++)p->
ave=p->
ave+p->
s[i];
ave=p->
ave/N;
max=min=a[i];
if(max<
a[j])
if(min>
switch(g