Professional Documents
Culture Documents
l mmen cn ca ti.
Xem [MATSIM01]Tr.291.
(4)
v n. Cc tn hiu vo l in p
v mmen cn
(6) Trong
(7)
(8)
(9)
(10)
, tn hiu vo
Khi chy m-file ny, Matlab s to ra m hnh khng gian trng thi ca ng c mt chiu c lu bin G_m qua lnh: G_m = ss(A_m, B_m, C_m, D_m); Lnh minfo(G_m) cho bit thng tin v m hnh i tng MATLAB ss object: 2 states 2 outputs 2 inputs
C th download m-file ny y:
DCMC0001.m
Nh vy, n l mt h hai u vo, hai u ra. u vo th nht l in p phn ng , u vo th hai l mmen ti , u ra th nht l dng in phn ng v u ra th hai chnh l tc . Trong c php ca biu Bode bodemag(G_m(1,1),'r',G_m(1,2),'b', G_m(2,1),'g',G_m(2,2),'m', logspace(-1,5,500)); th: l m hnh trng thi ca i tng. ngha l biu Bode c v cho p ng ca u ra out i vi u vo
- Vit in. Nh vy
l p ng u ra s 2 (tc ) i vi u vo s 1 (in p phn ng - Cc ch ci r, b, g, m l ch mu ca cc ng v. - Lnh logspace(-1,5,500) biu din trc tn s theo Logarit t ngha ca biu Bode n
).
vi 500 im v.
Biu Bode phn nh mi quan h gia tn s - bin v c pha na nu v y (ci ny sau) nn cn gi l c tnh tn-bin-pha. V d, bodemag(G_m(2,1)) cho bit bin ca tn hiu ra knh 2 theo tn s u vo knh 1. Ngha l s ph thuc ca tc u ra theo tn s ca tn hiu iu khin u vo s 1.
chnh l ngha ca biu Bode. N c vai tr rt quan trng trong vic kho st h.
matlab code 1. Ra = 0.25; 2. La = 0.004; 3. Phi = 0.04; 4. J = 0.012; 5. Km = 38.2; 6. Ke = 2*pi*Km; 7. 8. A_m = [-Ra/La -Ke*Phi/La; Km*Phi/2/pi/J 0]; 9. B_m = [1/La 0; 0 -1/2/pi/J]; 10. C_m = [1 0; 0 1]; 11. D_m = [0 0; 0 0]; 12. 13. G_m = ss(A_m, B_m, C_m, D_m); 14. minfo(G_m) 15. 16. figure(1); 17. bodemag(G_m(1,1),'r--',G_m(1,2),'b--', logspace(-1,5,500)); 18. title('Bieu do bien do Bode - He tuong tu'); 19. legend('Ua - n', 'T_L - n', 3); 20. grid on, 21. 22. T = 0.0025; %SamplingTime 23. 24. U = eye(2); 25. 26. A_md = U + A_m*T; 27. B_md = B_m*T; 28. C_md = C_m; 29. D_md = D_m; 30. 31. G_md = ss(A_md, B_md, C_md, D_md); 32. minfo(G_md); 33. 34. figure(2); 35. bodemag(G_md(1,1),'r--',G_md(1,2),'b--', logspace(-1,5,500)); 36. title('Bieu do bien do Bode - He roi rac'); 37. legend('Ua - n', 'T_L - n', 3); 38. grid on
4. M phng ng c mt chiu
By gi ta c th xy dng m hnh m phng ng c mt chiu chy khng ti (mmen cn ca ti ) da trn m hnh va xy dng nh sau
Hnh 1: M hnh m phng ng c mt chiu Lu nhp cc ma trn ca m hnh bng cch kch kp chut ln khi khng gian trng thi sau nhp , , v nh hnh sau
dcmdl.mdl
Trong l b iu chnh tc , l b iu chnh dng in. Nh vy l ta cn phi c hai b iu khin PID cho hai mch vng.
Tuy nhin, ta c th thit k b iu khin cho mch vng dng in trc, s nh sau:
Cn ni cc khi vi nhau th ta c th dng lnh >> help connect Sau chn -- Reference page in Help browser doc connect xem chi tit hn. Ch : - Bi ton y l iu khin tc (hay v tr) ca ng c. Tn hiu t l tc , tn hiu cn iu khin l tc thc u ra s c phn hi v so snh vi tc t . - T tc , b iu khin tc c, dng ny chnh l . phi tnh ra dng cn thit to ra momen quay cho ng
- Vi dng in yu cu nh trn, b iu khin dng s tnh ra in p cn thit t vo phn ng (hay chnh l in p cn cung cp cho ng c) to ra dng in thc c phn hi v so snh vi dng in t do b iu khin tc cung cp. Bi ton tng th gm c hai mch vng: mch vng trong c gi l mch vng dng in v mc ch ca n l iu chnh dng. Mch vng ngoi l mch vng tc . H thng iu khin c dng nh trn gi l --Cascade-- (iu khin lng nhau). Cch chng ta ang thc hin y l thit k tng mch vng mt, t trong ra ngoi. Thng thng, mch vng trong cng bao gi cng phi c p ng nhanh nht, cng ra ngoi th tc p ng cng gim dn. Th cn phn bit th no l "--trng thi--" v "--u ra--"? Cc trng thi mang tnh tng qut hn, n phn nh ng cc trng thi bn trong ca i tng (v d vui, bun, gin d...). Cc bin trng thi c th o c bng cc thit b o th c th a ra ngoi c nn c gi l "-u ra--". Nu tt c cc bin trng thi u o c th "trng thi" v "u ra" l hon ton ging nhau. Cn nu c cc bin trng thi khng o c th phi cn n bi ton nhn dng, ngha l phi da trn c s cc bin u vo v bin u ra o c tnh ra cc bin .
2. Xy dng h thng kn
Trong bo co ny chng ta s s dng lnh Connect xy dng h thng kn. Phn m t sau y chng ti dch t help ca Matlab. C php ca lnh ny nh sau:
Cc h thng ng hc phc tp thng c cho di dng cc s khi. Ngay c vi cc h c phc tp va phi th cng rt kh tm m hnh khng gian trng thi s dng cc cng c phn tch v thit k c sn. Bt u vi m t s khi, ta c th s dng cc lnh -append-- v --connect-- xy dng mt m hnh khng gian trng thi ca h thng. Trc tin, dng
matlab code 1. sys = append(sys1,sys2,...,sysN)
to specify each block sysj in the diagram and form a block-diagonal, unconnected LTI model sys of the diagram. Next, use
matlab code 1. sysc = connect(sys,Q,inputs,outputs)
to connect the blocks together and derive a state-space model sysc for the overall interconnection. The arguments Q, inputs, and outputs have the following purpose: The matrix Q indicates how the blocks on the diagram are connected. It has a row for each input of sys, where the first element of each row is the input number. The subsequent elements of each row specify where the block input gets its summing inputs; negative elements indicate minus inputs to the summing junction. For example, if input 7 gets its inputs from the outputs 2, 15, and 6, where the input from output 15 is negative, the corresponding row of Q is [7 2 -15 6]. Short rows can be padded with trailing zeros (see example below). Given sys and Q, connect computes a statespace model of the interconnection with the same inputs and outputs as sys (that is, the concatenation of all block inputs and outputs). The index vectors inputs and outputs then indicate which of the inputs and outputs in the large unconnected system are external inputs and outputs of the block diagram. For example, if the external inputs are inputs 1, 2, and 15 of sys, and the external outputs are outputs 2 and 7 of sys, then inputs and outputs should be set to
matlab code 1. inputs = [1 2 15]; 2. outputs = [2 7];
The final model sysc has these particular inputs and outputs. Since it is easy to make a mistake entering all the data required for a large model, be sure to verify your model in as many ways as you can. Here are some suggestions: Make sure the poles of the unconnected model sys match the poles of the various blocks in the diagram. Check that
the final poles and DC gains are reasonable. Plot the step and bode responses of sysc and compare them with your expectations. The connect function does not support delays in a reliable way. If you need to work extensively with block diagrams or you need to interconnect models with time delays, Simulink is a much easier and more comprehensive tool for model building. V d
Consider the following block diagram. Given the matrices of the state-space model sys2
matlab code 1. 2. 3. 4. 5. 6. 7. 8. A = [ -9.0201 17.7791 -1.6943 3.2138 ]; B = [ -.5112 .5362 -.002 -1.8470]; C = [ -3.2897 2.4544 -13.5009 18.0745]; D = [-.5476 -.1410 -.6459 .2958 ];
x2 0 -9.0201 -1.6943 0
x3 0 17.779 3.2138 0
x4 0 0 0 -2
u1 0 -0.5112 -0.002 0
u2 0 0.5362 -1.847 0
? 0 0 0 1.4142
x2 0 -3.2897 -13.501 0
x3 0 2.4544 18.075 0
x4 0 0 0 -1.4142
u1 0 -0.5476 -0.6459 0
u2 0 -0.141 0.2958 0
? 0 0 0 2
Note that the ordering of the inputs and outputs is the same as the block ordering you chose. Unnamed inputs or outputs are denoted b. To derive the overall block diagram model from sys, specify the interconnections and the external inputs and outputs. You need to connect outputs 1 and 4 into input 3 (u2), and output 3 (y2) into input 4. The interconnection matrix Q is therefore
matlab code
1. Q = [3 1 -4 2. 4 3 0];
Note that the second row of Q has been padded with a trailing zero. The block diagram has two external inputs uc and u1 (inputs 1 and 2 of sys), and two external outputs y1 and y2 (outputs 2 and 3 of sys). Accordingly, set inputs and outputs as follows.
matlab code 1. inputs = [1 2]; 2. outputs = [2 3];
You can obtain a state-space model for the overall interconnection by typing
matlab code 1. sysc = connect(sys,Q,inputs,outputs) 2. 3. a = 4. x1 x2 5. x1 -5 0 6. x2 0.84223 0.076636 7. x3 -2.9012 -33.029 8. x4 0.65708 -11.996 9. 10. 11. b = 12. uc u1 13. x1 4 0 14. x2 0 -0.076001 15. x3 0 -1.5011 16. x4 0 -0.57391 17. 18. 19. c = 20. x1 x2 21. y1 -0.22148 -5.6818 22. y2 0.46463 -8.4826 23. 24. 25. d = 26. uc u1 27. y1 0 -0.66204 28. y2 0 -0.40582 29. 30. Continuous-time system.
x3 5.6568 11.356
x4 -0.12529 0.26283
y ta cha cn quan tm n tc vi, k n, mun bng bao nhiu cng c, min l ta t dng bng bao nhiu th n phi ra by nhiu! s dng hm --connect-- ta v li s iu khin, trong nh s th t cc u vo ca cc khi trong hnh trn, s th t ca cc u ra ca cc khi trong hnh vung nh hnh sau
Trong khi l khi ta s t hm truyn bng 1. Khi ny c vo tin khai bo u vo ra cho c h m lnh --connect-- yu cu thi. Trong thut ton iu khin v hm truyn ca n bng 1 nn c n cng khng nh hng g n cu trc ca c h. Ta khai bo khi
matlab code
bng lnh
Sau s dng lnh --append-- bo cho Matlab bit cc khi cn kt hp v th t ca chng nh sau:
matlab code 1. sys = append(sys1, sys2, sys3);
Tip theo ta phi khai bo cc im ni ca cc khu. Nu cc bn s thy, u vo ca khi l c s th t l 2, n l hiu ca u ra s 1 ca khi v u ra s 3 ca DCM. Vy nn khi khai bo ma trn ta s phi c dng: [u vo s 2 = u ra s 1 - u ra s 3] Tng t, u vo ca khi DCM c s th t l 3 c ni vi u ra s 2 ca khi nn khi khai bo ma trn ta s phi c dng: [u vo s 3 = u ra s 2] Tm li, ta khai bo ma trn
matlab code 1. Q = [2 1 -3 2. 3 2 0];
. Vy
nh sau:
n y ta c c m hnh khng gian trng thi tng hp ca h kn gm c b iu khin v i tng iu khin. u vo l dng in t ra l dng in thc phn ng v tc . By gi ta c th v th th Bode v step nh sau:
matlab code 1. figure(3); 2. bodemag(sysc(1,1),'r--', sysc(1,2),'b--', sysc(2,1),'g--', sysc(2,2),'m--',... 3. logspace(-1,5,500)); 4. title('Bieu do Bode - Dieu khien dong tuong tu'); 5. legend('i_a^{ref} - i_a', 'T_L - i_a', 'i_a^{ref} - n', 'T_L - n', 3); 6. grid on; 7. 8. [yc, tc] = step(sysc, 0.05); 9. 10. figure(4); 11. plot(tc, yc(:, 1, 1),'r--', tc, yc(:, 2, 1),'g--', tc, yc(:, 1, 2),'b-', tc,... 12. yc(:, 2, 2),'k--'), 13. title('Dap ung buoc nhay cua vong lap dieu khien dong'); 14. legend('i_a^{ref} - i_a', 'i_a^{ref} - n', 'T_L - i_a', 'T_L - n', 2); 15. axis([0, 0.001, -0.2, 1.25]); 16. grid on;
(v
) v mmen ti
, u
C th download m-file ny ti y.
DCMC001.m
Hnh 4: p ng bc nhy vng lp iu khin dng By gi l lc ta cn phn tch cc p ng thu c. T c th a ra mt s kt lun s b v vic chn cc h s v .
nhm ln ta c th thay sysc bng mt ci tn khc, chng hn -hekindcd- (h kn vi b iu chnh dng). Khi lnh dng l
matlab code 1. hekindcd = connect(sys,Q,inputs,outputs);
Lu rng i vi biu Bode th trc tung biu th cho logarit ca bin . C th, nu gi l bin ca tn hiu u ra th gi tr ghi trn trc tung l . V vy: - Gi tr 0 trn trc tung ng vi - Gi tr 20 trn trc tung ng vi - Gi tr 40 trn trc tung ng vi ... By gi ta quay li t biu Bode ca m hnh DCM
Hy ch n ng mu , th hin quan h gia (chnh l in p cn c sinh ra dng ) v . Bn c nhn xt g trong trng hp ny khng? Bn thy bin ca n th no?
Tm li, ta c th nhn xt s b l ta phi dng mt b iu khin c h s khuych i rt ln c th iu khin c u ra bm theo gi tr t u vo. By gi ta xem qua iu g xy ra cho ta vi b iu khin thit k nh trn (ng vi ). R rng l trong khong tn s t n khong th hay . Ngha l . Cn li ngoi khong tn s th khng iu khin c. Lu rng tn s khong l lc ng c tnh tn s bin bt u i xung rt nhanh v chnh l Bandwidth hay di thng tn ca h. Ngha l, nu tn s u vo ca ln hn tn s ny th bin ca u ra gim xung rt nhanh, hay ni cch khc rt nhanh. Trong thc t th ta mong mun c dng ng thng nm trng vi ng hay trong sut di tn s t 0 n cho u ra bm theo u vo (v hm truyn bng ). Chnh v th m ta s th tng n 10.000 v n 100. Khi p ng tn s ca n nh sau:
Trong thc t, c trng hp phi dng . y mi ch l cc nhn xt s b, p dng cho vng iu khin dng bn trong. Nh ni trn, vng iu khin ny phi c p ng tht nhanh. Trong trng hp ny n vo khong rad/s v do
Chu k vo khong
Ta cn phi thit k mch vng iu chnh tc na. Mch vng ny c Bandwitdh chm hn nhiu v tc c khng th nhanh nh in c.
S m phng download y:
DCMCC001.mdl
p ng u ra
u ra bm tt theo u vo.
4. iu chnh tc
tng hp b iu khin th dng s kt ni sau
Cn y l on chng trnh
matlab code 1. Ra = 0.25; 2. La = 0.004; 3. Phi = 0.04; 4. J = 0.012; 5. Km = 38.2; 6. Ke = 2*pi*Km; 7. 8. A_m = [-Ra/La -Ke*Phi/La; Km*Phi/2/pi/J 0]; 9. B_m = [1/La 0; 0 -1/2/pi/J]; 10. C_m = [1 0; 0 1]; 11. D_m = [0 0; 0 0]; 12. 13. G_m = ss(A_m, B_m, C_m, D_m); 14. minfo(G_m) 15. 16. figure(1); 17. bodemag(G_m(1,1),'r--',G_m(1,2),'b--', G_m(2,1),'g--',G_m(2,2),'m--', logspace(-1,5,500)); 18. title('Bieu do Bode vong ho'); 19. legend('U_a - I_a', 'U_a - n', 'T_L - I_a', 'T_L - n', 3); 20. grid on; 21. 22. Kdc = 1; 23. Kpc = 2500; 24. Kic = 5; 25. 26. numpidc = [Kpc Kic]; 27. denpidc = [1 0]; 28. 29. Wc = tf(1, 1, 'inputname', 'in'); 30. Kcc = tf(numpidc, denpidc, 'inputname', 'ec', 'outputname','uaref'); 31. DCM = ss(A_m, B_m, C_m, D_m, 'inputname', {'ua', 'TL'}, 'outputname',{'ia', 'n'}); 32. 33. CMMApp = append(Wc, Kcc, DCM); 34. 35. Qc = [2 1 -3 36. 3 2 0]; 37. 38. inputsc = [1 4]; 39. outputsc = [3 4]; 40. 41. CCMDL = connect(CMMApp, Qc, inputsc, outputsc); 42. 43. figure(2);
44. bodemag(CCMDL(1,1),'r--', CCMDL(1,2),'b--', CCMDL(2,1),'g--', CCMDL(2,2),'m--',... 45. logspace(0,9,500)); 46. title('Bieu do Bode - Dieu khien dong tuong tu'); 47. legend('i_a^{ref} - i_a', 'T_L - i_a', 'i_a^{ref} - n', 'T_L - n', 3); 48. grid on; 49. 50. figure(3); 51. step(CCMDL); 52. grid on; 53. 54. Kdn = 1; 55. Kpn = 0.15; 56. Kin = 7.5; 57. 58. numpidn = [Kpn Kin]; 59. denpidn = [1 0]; 60. 61. Wn = tf(1, 1, 'inputname', 'nr'); 62. Kn = tf(numpidn, denpidn, 'inputname', 'en', 'outputname','iaref'); 63. 64. [CCMDLA, CCMDLB, CCMDLC, CCMDLD] = ssdata(CCMDL); 65. CCMDLS = ss(CCMDLA, CCMDLB, CCMDLC, CCMDLD, 'inputname', {'ui', 'TL'},... 66. 'outputname',{'ia', 'n'}); 67. 68. SCMDLApp = append(Wn, Kn, CCMDLS); 69. 70. Qn = [2 1 -4 71. 3 2 0]; 72. 73. inputsn = [1 4]; 74. outputsn = [3 4]; 75. 76. SCMDL = connect(SCMDLApp, Qn, inputsn, outputsn); 77. 78. figure(4); 79. bodemag(SCMDL(2,1),'r--', SCMDL(1,1),'b--', SCMDL(2,2),'g--', SCMDL(1,2),'m--',... 80. logspace(-2, 3, 500)); 81. title('Bieu do Bode - Dieu khien toc do'); 82. legend('n_{ref} - n', 'n_{ref} - i_a', 'TL - n', 'T_L - i_a', 1); 83. grid on; 84. 85. figure(5); 86. step(SCMDL); 87. grid on;
Download file ny y.
DCMC003.m
Cc p ng ca h thng thit k
Cc kt qu m phng c ti
plot_DCMC.m
Trn cc th m phng th hin rt r nh hng ca ti n cc p ng ca h thng. Khi ti tng th nu khng iu chnh g th tc ng c s b gim xung. Nhng do c b iu chnh tc nn n s ra lnh tng dng ln sinh ra thm lc b li tc ng ca ti. Qua b iu khin dng, tn hiu yu cu tng ny s c chuyn
thnh in p (tng) t ln phn ng. B iu khin dng s lin tc theo di xem dng t c mc yu cu cha, cn b iu khin tc th kim tra s sai khc v tc nh th hin hnh di y
( y ta cn cha cp n nh hng trc tip ca mmen i vi dng in theo hm truyn t n ). Khi m phng ta c th thay i ti thy dng in thay i nh th no, trong khi tc vn gi nguyn. Phi ni rng cc b iu khin p ng rt tt yu cu t ra v rt ging vi thc t.