上机大作业报告.docx
- 文档编号:20048630
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:23
- 大小:445.22KB
上机大作业报告.docx
《上机大作业报告.docx》由会员分享,可在线阅读,更多相关《上机大作业报告.docx(23页珍藏版)》请在冰豆网上搜索。
上机大作业报告
本科上机大作业报告
课程名称:
电机系统建模与分析
姓名:
赵宇
学号:
3130000119
学院:
电气工程学院
专业:
电气工程及其自动化
指导教师:
沈建新
提交日期:
2016年4月3日
一、作业目的
1.熟悉永磁直流电动机及其调速系统的建模与仿真;
2.熟悉滞环控制的原理与实现方法;
3.熟悉Rungle-Kutta方法在仿真中的应用。
二、作业要求
一台永磁直流电动机及其控制系统如下图。
直流电源Udc=200V;电机永磁励磁f=1Wb,电枢绕组电阻Rq=0.5ohm、电感Lq=0.05H;转子转动惯量J=0.002kgm2;系统阻尼转矩系数B=0.1Nm/(rad/s),不带负载;用滞环控制的方法进行限流保护,电流上限Ih=15A、Il下限=14A;功率管均为理想开关器件;电机在t=0时刻开始运行,并给定阶跃(方波)转速命令,即,在0~0.2s是80rad/s,在0.2~0.4s是120rad/s,在0.4~0.6s是80rad/s如此反复,用滞环控制的方法进行转速调节(滞环宽度+/-2rad/s)。
用四阶龙格-库塔求解电机的电流与转速响应。
三、解题思路(共50分)
1.simulink方法
如上为此电路的simulink仿真图,图中共有转速滞环控制,电流滞环控制,积分电路,电压输入模块,二极管模拟电路等模块构成下面将逐一对电路中模块进行介绍。
(1)积分电路模块:
对电机内部的电流和转速进行建模可得:
通过带入已知量并简化后可得如下微分方程:
其中uq代表由PWM控制下的输入电压,在后面的电压输入模块中会有介绍
解此微分方程后因为iq,w初值均为0故可以得到:
因此根据此积分方程使用simulink中的乘法模块,加法模块还有积分模块可以将此积分方程完整表现出来。
上半部分为iq的计算电路,下半部分为w的计算电路。
(2)电流滞环控制,转速滞环控制
电流与电压的滞环控制使用的均为simulink中的relay模块,根据题目要求,电流要求在大于15A时关断,在小于14A时开通,电机在0~0.2s是80rad/s,在0.2~0.4s是120rad/s,所以可以将三个relay模块设置成如下状态
转速滞环控制模块还多一个方波信号源,其周期为0.4s幅值为1,另一个信号源会有0.2s的相移,两个信号源构成了不同时间对转速的不同控制,通过乘法product模块与滞环控制器耦合,可以控制不同时间产生不同的滞环控制转速。
电流滞环控制之间与输出的iq相连,形成一个反馈的控制,再与输入信号1khz方波耦合则可以构成对电流的大小的滞环控制。
(3)电压输入模块(uq确定)
在此模块中,由输入的直流电压与1khz的控制电压相乘得到等效的输入电压,再经过三个滞环控制信号相乘,最终输出了上述积分式中的输入电压uq。
(4)电枢电流为0或负时的处理:
通过主电路加一个switch模块,在电路大于0时导通,在小于0时关断,相当于一个二极管的等效电路。
因为这个电机的模型输入电压恒大于等于其右侧的旋转电势,所以不会存在反向电流。
初次仿真未加入这个模块时,出现了反向为负的电流,这是因为电流在接近于0时输入电压uq在关断时取值我们仍然认为是原来的0,但实际上在计算时应该比较输入电压与电机内部旋转电势的大小,对uq进行修正,即它的取值是要大于等于旋转电势的大小的,所以在仿真时出现了反向电流。
在仿真模拟时,可以通过加入一个开关使其最小值为0不产生负向电流。
2.simulink的传递函数的方法
与上述方法相似,对电机内部的电流和转速进行建模可得:
通过带入已知量并简化后可得如下微分方程:
其中uq代表由PWM控制下的输入电压,在后面的电压输入模块中会有介绍
解此微分方程后因为iq,w初值均为0故可以得到:
根据拉普拉斯变换可得:
联立上述方程可以记得其传递函数,再和上面方法一样加入滞环控制系统可以得到最后结果。
图中两个方波分别为控制高转速和低转速的pwm波,再加入滞环控制系统后,就可以得到最后的结果。
3.excel方法
本次实验中我采用的步长是0.0001s共有4000个数据,u1(w)与u2(w)分别是两种转速的pwm控制波,各占半个周期,uq1~uq6为六个判断信号,其中uq1、uq2为电流判断,uq3~uq6为转速判断,w通断高转速和w通断低转速为综合uq3~uq6信号做出的最终的根据转速的是否通断的信号,iq通断为最终的对uq控制的pwm波形。
下面将分别对几个pwm控制环节做公式的详细讲解。
1.uq1~uq2
uq1:
=IF(O8<14,1,IF(O7 uq2: ==IF(O9>15,0,IF(O9<14,1,IF(O8>O9,0,1)))O行为电流iq 针对uq1: 当电流iq小于14时为1,当大于14时如果相比前一时刻是增加的,则取1,否则为0. 针对uq2: 当电流iq大于15时为0,否则,当uq小于14时一定为1,当介于两种之间时,如果相比前1个时刻是下降的,那么则取0,否则取1. 2.uq3~uq6 uq3: =IF(P9>82,0,IF(P9<78,1,IF(P7>P9,0,1))) uq4: =IF(P10<78,1,IF(P11>P9,1,0)) uq5: =IF(P8>122,0,IF(P8<118,1,IF(P6>P8,0,1))) uq6: =IF(P8<118,1,IF(P8>P6,1,0))(P行为转速) 此处由于uq5、uq6与uq3、uq4原理相同,所以只介绍uq3、uq4. 针对uq3,当转速大于82时uq3为0,否则,当转速小于78时,uq3为1,在介于两种之间时,如果是下降的,那么就取0,否则取1. 针对uq4,当转速小于78时,uq4取1,否则当是上升趋势时,取1,否则uq4取0。 这以上6个信号相当于电流与转速反馈的滞环控制信号。 3.w通断高转速和w通断低转速 针对w通断高转速: =u2(w)*uq5*uq6 当三者信号同时满足时,此时w应该在高转速处滞环。 针对w通断低转速: =u1(w)*uq3*uq4 当三者信号同时满足时,此时w应该在低转速处滞环。 4.Rungle-Kutta法的基本算式 part1: part2: part3: part4: 5.电枢电流为零或负值时的处理方法 当电枢电流为0时,输入电压uq在关断时取值我们仍然认为是原来的0,但实际上在计算时应该比较输入电压与电机内部旋转电势的大小,对uq进行修正,即它的取值是要大于等于旋转电势的大小的,所以在uq处可以设置: =IF(iq>0.005,iq通断*4000,w*20) 当电流大于0.005A时,我们认为此时已经导通,所以此时施加的电压为Udc,在积分方程中要乘以20所以为4000.当iq小于0.005A时,我们认为此时已经关断,所以此时的电势为w*ψ=w*1=w,所以在方程中还需乘以20即为20*w。 6.pid修正以减小其超调量 在本次实验中,因为时间取了离散值来模拟实际值,故可以才用数字pid的计算方法进行运算。 其中比例系数Kp,积分系数Ki,微分系数Kd为自己设定的值,可以根据最后结果来进行调整。 在以上实践基础上,取消转速滞环控制环节,取u(n)为PWM控制环节,当u(n)>1时可全看做为1,当u(n)<0时全视为0,当其值在0到1之间时,在10个步长也就是0.001s范围内,如果MOD(t*1000,1)的值小于u(n)则为1,大于u(n)则为0,这样就完成了在是个步长为单位的范围内pwm占空比的改变,根据误差e(n)的大小会有不同的控制结果。 本次实验中取: Kp=0.25,Ki=10,Kd=1/10000 此时得到的转速波形最好,超调量很小,最大偏移值接近于1. 四、仿真程序(5分) excel滞环控制计算式: A列: =A3+0.0001时间步长为0.0001 B列: 低转速控制波前0.2s取值为1,后0.2秒取值为0 C列: 高转速控制波前0.2s取值为0,后0.2秒取值为1 D列: =IF(R4<14,1,IF(R3 E列: =IF(R4>15,0,IF(R4<14,1,IF(R2>R4,0,1)))前一时刻电流大于15时取0,否则当电流小于14时,取1,否则如果电流趋势为减小时取0,增大时取1. F列: =IF(O4>82,0,IF(O4<78,1,IF(O3>O4,0,1)))前一时刻转速大于82时,取0,否则若转速小于78则取1,如果介于78与82之间则当转速减小时取0,增大时取1. G列: =IF(O4<78,1,IF(O4>O3,1,0))前一时刻转速转速小于78时取1,否则如果转速增大趋势,则取1,减小趋势则取0. H列: =IF(O4>122,0,IF(O4<118,1,IF(O3>O4,0,1)))前一时刻转速大于122时,取0,否则若转速小于118则取1,如果介于118与122之间则当转速减小时取0,增大时取1. I列: IF(O4<118,1,IF(O4>O3,1,0))前一时刻转速转速小于118时取1,否则如果转速增大趋势,则取1,减小趋势则取0. J列: =C5*H5*I5当处在高转速波形且转速滞环判断为真时取1. K列: =B5*F5*G5当处在低转速波形且转速滞环判断为真时取1. L列: =D5*E5*K5根据电流滞环控制的结果与转速控制的结果判断开通和关断。 M列: =IF(S5>0.005,Q5*4000,T4*20)当电流大于0.005A时,看做电路导通,此时输入电压为pwm波乘以udc*20=4000,当电流小于0.005A时,可看做电路近似关断,电枢绕组悬空,此时输入电压大于等于旋转电势,为w*20 N列: =IF(R5<0.005,0,R5)处理后的电流iq值,当电流小于0.005A时将其等效为0. O列: =T4+0.0001*AJ5转速值,等于前一时刻转速加上步长乘以Kw。 P列: =R4+0.00005*AA5 Q列: =R4+0.00005*AC5 R列: =R4+0.0001*AE5 S列: =T4+AB5*0.00005 T列: =T4+0.00005*AD5 U列: =T4+AF5*0.0001 V列: =Q4-20*T4-10*R4 W列: =500*R4-50*T4 X列: =Q4-20*X5-10*U5 Y列: =500*U5-50*X5 Z列: =Q4-20*Y5-10*V5 AA列: =500*V5-50*Y5 AB列: =Q4-20*Z5-10*W5 AC列: =500*W5-50*Z5 AD列: =(AA5+AC5*2+AE5*2+AG5)/6 AE列: =(AB5+AD5*2+AF5*2+AH5)/6 以上为龙格库塔法的算式,已在第一部分详细介绍·。 excelpid计算式: (以第5行为例) A列: =A3+0.0001时间步长为0.0001 B列: 低转速控制波前0.2s取值为1,后0.2秒取值为0 C列: 高转速控制波前0.2s取值为0,后0.2秒取值为1 D列: =IF(R4<14,1,IF(R3 E列: =IF(R4>15,0,IF(R4<14,1,IF(R2>R4,0,1)))前一时刻电流大于15时取0,否则当电流小于14时,取1,否则如果电流趋势为减小时取0,增大时取1. (FG列与此种计算方法无关,故被隐藏) J列: =IF(MOD(A5*1000,1) K列: =IF(MOD(A6,0.4)<0.2,80-T5,120-T5)按周期计算误差e(n)前0.2s与80相比,后0.2s与120相比。 L列: =K5,比例项,在数字pid计算时,u(n)最终经误差累加后可得到比例累加值为e(n)。 M列: =K5-K4,微分项,在数字化pid计算时,u(n)经前后时刻误差差分再累加后可得到当前时刻的微分项。 e(n)-e(n-1) N列: =SUM($K$2: K5),积分项,在数字pid计算时,u(n)经前后时刻误差累加可得到积分项Σe(n)。 O列: =L5/4+M5*10+N5/10000pid计算式,取比例系数为1/4,微分系数为10,积分系数为1/10000 P列: =D5*E5*J5最终控制pwm波,综合转速pid控制和电流滞环控制,形成最后的pwm控制波。 Q列: =IF(R5>0.005,P5*4000,T4*20)当电流大于0.005A时,看做电路导通,此时输入电压为pwm波乘以udc*20=4000,当电流小于0.005A时,可看做电路近似关断,电枢绕组悬空,此时输入电压大于等于旋转电势,为w*20 R列: =R4+0.0001*AI5未经处理过的电流iq值,会有小于0的值存在,等于前一时刻的电流加上步长乘以K S列: =IF(R5<0.005,0,R5)处理后的电流iq值,当电流小于0.005A时将其等效为0. T列: =T4+0.0001*AJ5转速值,等于前一时刻转速加上步长乘以Kw。 U列: =R4+0.00005*AA5 V列: =R4+0.00005*AC5 W列: =R4+0.0001*AE5 X列: =T4+AB5*0.00005 Y列: =T4+0.00005*AD5 Z列: =T4+AF5*0.0001 AA列: =Q4-20*T4-10*R4 AB列: =500*R4-50*T4 AC列: =Q4-20*X5-10*U5 AD列: =500*U5-50*X5 AE列: =Q4-20*Y5-10*V5 AF列: =500*V5-50*Y5 AG列: =Q4-20*Z5-10*W5 AH列: =500*W5-50*Z5 AI列: =(AA5+AC5*2+AE5*2+AG5)/6 AJ列: =(AB5+AD5*2+AF5*2+AH5)/6 以上为龙格库塔法的算式,已在第一部分详细介绍·。 五、仿真结果及其分析 1.simulink 2.simulink传递函数 3.excel 4.excelpid 再分析以下内容: 为什么会出现这样的计算结果? (10分) 电流上下跳动: 控制电流的是PWM波,所以在开通与关断的瞬间会让电流波形呈现出不连续的样子,中间因为采用了滞环控制的策略,所以电流也会在14A与15A之间摆动。 电流出现反向: 当电枢电流为0时,输入电压uq在关断时取值我们仍然认为是原来的0,但实 际上在计算时应该比较输入电压与电机内部旋转电势的大小,对uq进行修正,即它的取值是要大于等于旋转电势的大小的,所以在uq处可以设置: =IF(iq>0.005,iq通断*4000,w*20) 当电流大于0.005A时,我们认为此时已经导通,所以此时施加的电压为Udc,在积分方程中要乘以20所以为4000.当iq小于0.005A时,我们认为此时已经关断,所以此时的电势为w*ψ=w*1=w,所以在方程中还需乘以20即为20*w。 为什么pid结果比滞环控制结构要好? pid控制的占空比会随着误差的变化而改变,也就是说PWM的占空比是随时间变化的,而滞环控制中的占空比只会当达到一定值时执行通断,对pwm波占空比的控制手段比较单一,所以其超调量也会随之变大,对误差的控制不足。 计算结果受哪些因素影响? 例如,步长的影响、转动惯量和电感等的影响、PWM滞环产生机理的影响,等等。 (10分) 步长的影响: 0.0001步长时: 0.00005步长时: 当步长取较小值时出现了较大的超调量,因此此时应该改变pid控制策略以使其超调量减小。 转动惯量和电感等的影响: 转动惯量J=0.002kgm2时 转动惯量为0.02kgm2时 当增大转动惯量时,可见此时并不能让转速稳定在80,此时应该更换参数使得其能够稳定在80. 当转动惯量为0.0002kgm2时 此时转速能够更快的到达80或120,上升速度得到了提升。 当电感值为0.05H时: 当电感为0.005H时 当电感值为0.5H时 可见当电感值减小时转速曲线并没有发生很大变化,当电感值增大时,其上升过程中出现较大超调量。 PWM滞环产生机理: 当采用滞环控制时: 当采用pid控制时: 可以得出当改变了其滞环控制机理采用pid控制时,超调量明显减小,震荡消失,转速基本稳定在想要的范围内。 如何改进控制策略以获得更好的转速控制性能? (15分) 可以采用PID的方法使得其获得更好的转速控制性能: 在本次实验中,因为时间取了离散值来模拟实际值,故可以才用数字pid的计算方法进行运算。 其中比例系数Kp,积分系数Ki,微分系数Kd为自己设定的值,可以根据最后结果来进行调整。 在以上实践基础上,取消转速滞环控制环节,取u(n)为PWM控制环节,当u(n)>1时可全看做为1,当u(n)<0时全视为0,当其值在0到1之间时,在10个步长也就是0.001s范围内,如果MOD(t*1000,1)的值小于u(n)则为1,大于u(n)则为0,这样就完成了在是个步长为单位的范围内pwm占空比的改变,根据误差e(n)的大小会有不同的控制结果。 本次实验中取: Kp=0.25,Ki=10,Kd=1/10000 此时得到的转速波形最好,超调量很小,最大偏移值接近于1. 通过此次上机大作业有何收获与体会? (5分) (注: 可编辑下载,若有不当之处,请指正,谢谢! )
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上机 作业 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)