I.

Mô hình hóa và khảo sát các đặc tính của động cơ một chiều
1. Mô hình không gian trạng thái của động cơ một chiều
Các phương trình động học cơ bản - Phương trình cân bằng điện áp phần ứng
(1)

- Sức điện động phần ứng (2) - Phương trình chuyển động

(2) Trong đó: . là mômen điện từ. (3)

.

là mômen cản của tải.

. là tốc độ góc của rotor. . là mômen quán tính của động cơ. Mặt khác, do (n tính theo vòng/giây), nên ta có thể viết

(3) - Hằng số động cơ (5)

Xem [MATSIM01]Tr.291.

Hệ phương trình không gian trạng thái
Từ các phương trình cơ bản trên ta có thể viết hệ phương trình mô tả không gian trạng thái của động cơ một chiều như sau:

(4)

Hệ phương trình này có hai biến trạng thái của tải . Giả sử các biến trạng thái

và n. Các tín hiệu vào là điện áp

và mômen cản

và n là đo được, viết lại hệ phương trình trên dưới dạng ma trận ta có

(5) Hay dưới dạng ngắn gọn

(6) Trong đó

(7)

(8)

(9)

(10)

Biến trạng thái

, tín hiệu vào

.

2. Các đặc tính vòng hở trong miền thời gian
Từ các phương trình (001) hay (002) ta có thể viết lệnh Matlab mô tả không gian trạng thái của động cơ một chiều như sau:
matlab code 1. 2. Ra = 0.25; 3. La = 0.004; 4. Phi = 0.04; 5. J = 0.012; 6. Km = 38.2; 7. Ke = 2*pi*Km; 8. 9. A_m = [-Ra/La -Ke*Phi/La; Km*Phi/2/pi/J 0]; 10. B_m = [1/La 0; 0 -1/2/pi/J]; 11. C_m = [1 0; 0 1]; 12. D_m = [0 0; 0 0]; 13. 14. G_m = ss(A_m, B_m, C_m, D_m); 15. minfo(G_m)

Khi chạy m-file này, Matlab sẽ tạo ra mô hình không gian trạng thái của động cơ một chiều được lưu ở biến G_m qua lệnh: G_m = ss(A_m, B_m, C_m, D_m); Lệnh minfo(G_m) cho biết thông tin về mô hình đối tượng MATLAB ss object: 2 states 2 outputs 2 inputs

Hình 1: Mô hình G_m của động cơ một chiều Ta có thể sử dụng các lệnh sau để vẽ đáp ứng bước nhảy và phân phố các điểm cực của hệ
matlab code 1. 2. 3. 4. 5. 6. figure(1); step(G_m); figure(2); plot(eig(G_m),'r*'); grid on;

.

1).5.1).500) để biểu diễn trục tần số theo Logarit từ Ý nghĩa của biểu đồ Bode đến ). Trong cú pháp của biểu đồ Bode bodemag(G_m(1. với 500 điểm vẽ. thì: là mô hình trạng thái của đối tượng.G_m(1. đầu vào thứ hai là mômen tải . logspace(-1.biên độ và cả pha nữa nếu vẽ đầy đủ (cái này để sau) nên còn gọi là đặc tính tần-biên-pha. .5.Các chữ cái r.500)). hai đầu ra. Đầu vào thứ nhất là điện áp phần ứng . G_m(2.m 3.1)) cho biết biên độ của tín hiệu ra ở kênh 2 theo tần số ở đầu vào kênh 1. mô hình của DCM có thể được vẽ như sau Như vậy. bodemag(G_m(2. Biểu đồ Bode phản ánh mối quan hệ giữa tần số .2). Ví dụ.'b'. g.2). Nghĩa là sự phụ thuộc của tốc độ đầu ra theo tần số của tín hiệu điều khiển ở đầu vào số 1. Như vậy là đáp ứng đầu ra số 2 (tốc độ ) đối với đầu vào số 1 (điện áp phần ứng .Lệnh logspace(-1.Có thể download m-file này ở đây: DCMC0001. . m là chỉ màu của các đường vẽ.'g'.'m'. nghĩa là biểu đồ Bode được vẽ cho đáp ứng của đầu ra out đối với đầu vào . b. đầu ra thứ nhất là dòng điện phần ứng và đầu ra thứ hai chính là tốc độ . Các đặc tính vòng hở trong miền tần số Với mô hình không gian trạng thái đã lập.G_m(2. nó là một hệ hai đầu vào.Viết in.'r'.

Phi = 0. Nó có vai trò rất quan trọng trong việc khảo sát hệ. Km*Phi/2/pi/J 0]. 18. 21. B_md. grid on . 26.1). title('Bieu do bien do Bode . 34. %SamplingTime 23. legend('Ua . grid on. 10.He tuong tu'). 4.'r--'.'r--'. A_md = U + A_m*T. minfo(G_md). C_m = [1 0. C_m. 38. 24. 0 0]. G_md = ss(A_md. 9. 11. 0 -1/2/pi/J]. Ra = 0.n'.500)). 19.500)). D_m). 7. 14. B_m = [1/La 0.1).2). 3). D_m = [0 0. A_m = [-Ra/La -Ke*Phi/La.He roi rac'). 29. G_m = ss(A_m. logspace(-1. 6.04.n'. 0 1]. 25. C_md. title('Bieu do bien do Bode . B_m. 8. La = 0. T = 0.2.0025. U = eye(2).012. 'T_L . legend('Ua . 32. 33.25.'b--'.Đó chính là ý nghĩa của biểu đồ Bode. C_md = C_m. Km = 38. 35. 17.G_m(1.n'.n'. 'T_L . D_md).G_md(1. 3. figure(2).5.5. 27. 13. 28. B_md = B_m*T. 20. Ke = 2*pi*Km. 31. figure(1). 22. 16.'b--'. 3). minfo(G_m) 15. bodemag(G_m(1. matlab code 1.004. D_md = D_m. 5. 30. 2. 12. logspace(-1. 36. bodemag(G_md(1.2). 37. J = 0.

và như hình sau .4. . Mô phỏng động cơ một chiều Bây giờ ta có thể xây dựng mô hình mô phỏng động cơ một chiều chạy không tải (mômen cản của tải ) dựa trên mô hình vừa xây dựng như sau Hình 1: Mô hình mô phỏng động cơ một chiều Lưu ý nhập các ma trận của mô hình bằng cách kích kép chuột lên khối không gian trạng thái sau đó nhập .

Các ma trận của mô hình DCM Có thể download file này ở đây: Kết quả mô phỏng như sau dcmdl.mdl .

Phương pháp thiết kế 1. . là bộ điều chỉnh dòng điện. Như vậy là ta cần phải có hai bộ điều khiển PID cho hai mạch vòng. Các mạch vòng điều chỉnh Sơ đồ khối của các mạch vòng có thể được mô tả như sau: Trong đó là bộ điều chỉnh tốc độ.Hình 2: Kết quả mô phỏng không tải động cơ một chiều II.

. Tín hiệu đặt là tốc độ . 2. Mạch vòng ngoài là mạch vòng tốc độ. bộ điều khiển dòng sẽ tính ra điện áp cần thiết để đặt vào phần ứng (hay chính là điện áp cần cung cấp cho động cơ) để tạo ra dòng điện thực được phản hồi về so sánh với dòng điện đặt do bộ điều khiển tốc độ cung cấp.Từ tốc độ. nghĩa là phải dựa trên cơ sở các biến đầu vào và biến đầu ra đo được để tính ra các biến đó. giận dữ.). Chú ý: .. dòng này chính là .Với dòng điện yêu cầu như trên. bộ điều khiển tốc độ cơ.. ta có thể thiết kế bộ điều khiển cho mạch vòng dòng điện trước. Phần mô tả sau đây chúng tôi dịch từ help của Matlab. Thế còn phân biệt thế nào là "--trạng thái--" và "--đầu ra--"? Các trạng thái mang tính tổng quát hơn. sơ đồ như sau: Còn để nối các khối với nhau thì ta có thể dùng lệnh >> help connect Sau đó chọn -. Xây dựng hệ thống kín Trong báo cáo này chúng ta sẽ sử dụng lệnh Connect để xây dựng hệ thống kín.Bài toán ở đây là điều khiển tốc độ (hay vị trí) của động cơ. Hệ thống điều khiển có dạng như trên gọi là --Cascade-.Tuy nhiên. Nếu tất cả các biến trạng thái đều đo được thì "trạng thái" và "đầu ra" là hoàn toàn giống nhau. Còn nếu có các biến trạng thái không đo được thì phải cần đến bài toán nhận dạng. Cách chúng ta đang thực hiện ở đây là thiết kế từng mạch vòng một. Thông thường. Cú pháp của lệnh này như sau: . từ trong ra ngoài. tín hiệu cần điều khiển là tốc độ thực đầu ra sẽ được phản hồi về so sánh với tốc độ đặt . mạch vòng trong cùng bao giờ cũng phải có đáp ứng nhanh nhất. càng ra ngoài thì tốc độ đáp ứng càng giảm dần. nó phản ánh đúng các trạng thái bên trong của đối tượng (ví dụ vui.Reference page in Help browser doc connect— để xem chi tiết hơn.(điều khiển lồng nhau). Các biến trạng thái có thể đo được bằng các thiết bị đo thì có thể đưa ra ngoài được nên được gọi là "-đầu ra--". phải tính ra dòng cần thiết để tạo ra momen quay cho động . Bài toán tổng thể gồm có hai mạch vòng: mạch vòng trong được gọi là mạch vòng dòng điện vì mục đích của nó là để điều chỉnh dòng. buồn.

Next. where the first element of each row is the input number.Q. use matlab code 1. 2. unconnected LTI model sys of the diagram. connect computes a statespace model of the interconnection with the same inputs and outputs as sys (that is.outputs) Các hệ thống động học phức tạp thường được cho dưới dạng các sơ đồ khối. sysc = connect(sys.. 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. Bắt đầu với mô tả sơ đồ khối. if the external inputs are inputs 1. Check that . 2. and 6. Here are some suggestions: Make sure the poles of the unconnected model sys match the poles of the various blocks in the diagram. It has a row for each input of sys. The final model sysc has these particular inputs and outputs. where the input from output 15 is negative.. dùng matlab code 1. inputs = [1 2 15].và --connect-. For example. Short rows can be padded with trailing zeros (see example below).matlab code 1. ta có thể sử dụng các lệnh -append-. inputs. be sure to verify your model in as many ways as you can. Since it is easy to make a mistake entering all the data required for a large model.outputs) to connect the blocks together and derive a state-space model sysc for the overall interconnection. the concatenation of all block inputs and outputs). Trước tiên.để xây dựng một mô hình không gian trạng thái của hệ thống.inputs.. if input 7 gets its inputs from the outputs 2.sys2.sysN) to specify each block sysj in the diagram and form a block-diagonal. sysc = connect(sys. the corresponding row of Q is [7 2 -15 6].. Ngay cả với các hệ có độ phức tạp vừa phải thì cũng đã rất khó tìm mô hình không gian trạng thái để sử dụng các công cụ phân tích và thiết kế có sẵn. For example. sys = append(sys1. then inputs and outputs should be set to matlab code 1. The subsequent elements of each row specify where the block input gets its summing inputs. The arguments Q. outputs = [2 7]. Given sys and Q. and the external outputs are outputs 2 and 7 of sys.Q. negative elements indicate minus inputs to the summing junction. and 15 of sys. 15. and outputs have the following purpose: The matrix Q indicates how the blocks on the diagram are connected.inputs.

002 -1. The connect function does not support delays in a reliable way.5476 -. matlab code 1. If you need to work extensively with block diagrams or you need to interconnect models with time delays. D = [-. 3. 6. A = [ -9.5009 18. 3.0201 17. Ví dụ Consider the following block diagram.the final poles and DC gains are reasonable. 4. Simulink is a much easier and more comprehensive tool for model building.5112 . Define the three blocks as individual LTI models. 7. sys2 = ss(A.D.8470].5362 -.'uc') 2.7791 -1. 2.6943 3. 'outputname'.{'y1' 'y2'}) 4. B = [ -. sys3 = zpk(-1.-2.C. 8. .2897 2.{'u1' 'u2'}.2) Next append these blocks to form the unconnected model sys.B.[1 5].. Plot the step and bode responses of sysc and compare them with your expectations.'inputname'.6459 .0745].'inputname'.4544 -13.2138 ]. 5. sys1 = tf(10. C = [ -3.1410 -.. Given the matrices of the state-space model sys2 matlab code 1..2958 ].

x1 -5 6. specify the interconnections and the external inputs and outputs. y1 0 33. uc 13. x1 23. x1 4 14. d = 30. ? 0 32.5362 -1. 28. The interconnection matrix Q is therefore matlab code . 36. 19.002 0 u2 0 0. c = 22. sys = append(sys1. x3 0 16.847 0 ? 0 0 0 1.141 0.sys3) This produces the block-diagonal model matlab code 1. To derive the overall block diagram model from sys. and output 3 (y2) into input 4.779 3. You need to connect outputs 1 and 4 into input 3 (u2). 29.5112 -0.sys2. x1 5.5 24.4142 u1 0 -0. x3 0 8. sys 2.5476 -0. ? 0 35. ? 0 27. x2 0 7.4544 18. ? 2.0201 -1.2138 0 x4 0 0 0 -2 u1 0 -0. 10. 3. b = 12. y2 0 26. x4 0 17. 11.matlab code 1.075 0 x4 0 0 0 -1. y1 0 25. x2 0 15. y2 0 34. 21. x2 0 -9. uc 31. 18. 20.6943 0 x3 0 17.2958 0 ? 0 0 0 2 Note that the ordering of the inputs and outputs is the same as the block ordering you chose.501 0 x3 0 2.2897 -13. Unnamed inputs or outputs are denoted b. a = 4. Continuous-time system.6459 0 u2 0 -0.4142 x2 0 -3. x4 0 9.

4 3 0].1. x1 x2 21.6818 22. x3 0 5. Accordingly.40582 29. and two external outputs y1 and y2 (outputs 2 and 3 of sys).66204 28. matlab code 1. Continuous-time system. x1 -5 0 6. y2 0 -0. a = 4.6568 11. x3 0 -1.6283 x3 5. Note that the second row of Q has been padded with a trailing zero.076636 7.164 16.356 x4 -0.5011 16. x4 0 -0.6007 45. y1 -0. You can obtain a state-space model for the overall interconnection by typing matlab code 1.inputs.Q. 11.12529 0. c = 20.26283 Note that the inputs and outputs are as desired.076001 15. 10.84223 0. uc u1 27. 19.9012 -33.6411 -1.57391 17. inputs = [1 2]. Q = [3 1 -4 2. 2.4826 23.47644 -1. 25. d = 26.22148 -5. 3.029 8. 30. 18. . uc u1 13. outputs = [2 3]. The block diagram has two external inputs uc and u1 (inputs 1 and 2 of sys). 24. x2 0. y1 0 -0. x1 x2 5. y2 0. x2 0 -0.65708 -11.outputs) 2. x1 4 0 14. set inputs and outputs as follows. x4 0. x3 -2.06 x4 0 0.996 9. sysc = connect(sys.46463 -8. b = 12.

Thiết kế bằng Simulink: Có thể coi là phương pháp thực nghiệm. muốn bằng bao nhiêu cũng được. Bây giờ chúng ta bắt đầu với bộ điều khiển dòng (vòng lặp trong) Ở đây ta chưa cần quan tâm đến tốc độ vội. . mọi thứ đều có sẵn. kệ nó. Khối này được vào để tiện khai báo đầu vào ra cho cả hệ mà lệnh --connect-. cứ nối vào nhau rồi xem kết quả -> chọn kết quả tốt nhất. Phương pháp thiết kế đơn giản. Hướng thứ hai sẽ có ích cho những người cần hiểu sâu thêm về cách thiết kế bộ điều khiển. Ta khai báo khối matlab code bằng lệnh . nhanh chóng. số thứ tự của các đầu ra của các khối trong hình vuông như hình sau Trong đó khối là khối ta sẽ đặt hàm truyền bằng 1. Thiết kế bộ điều khiển PID tương tự 1. Bộ điều khiển PID tương tự Bây giờ ta tiếp tục với phần thiết kế bộ điều khiển tương tự.III. Cho phép khảo sát nhiều đặc tính hơn ngay trong quá trình thiết kế cũng như hiểu thêm về các lệnh Matlab dùng trong thiết kế.Thiết kế bằng Matlab: Đòi hỏi phải hiểu bài toán. Trong thuật toán điều khiển vì hàm truyền của nó bằng 1 nên có nó cũng không ảnh hưởng gì đến cấu trúc của cả hệ. trong đó đánh số thứ tự các đầu vào của các khối trong hình tròn. miễn là ta đặt dòng bằng bao nhiêu thì nó phải ra bấy nhiêu! Để sử dụng hàm --connect-.ta vẽ lại sơ đồ điều khiển. khi làm thì ta nên kết hợp cả hai hướng trên để vừa thiết kế theo lý thuyết vừa có cái để kiểm chứng ngay. lý thuyết và phải biết lập trình một chút -> khó hơn một chút nhưng sẽ hiểu sâu hơn về lý thuyết và cách thực hiện. Tuy nhiên.yêu cầu thôi. Chúng ta có hai lựa chọn: .

3. 8.1. Cuối cùng là mô hình động cơ. 'outputname'. 'TL'}. đầu vào của khối DCM có số thứ tự là 3 được nối với đầu ra số 2 của khối nên khi khai báo ma trận ta sẽ phải có dòng: [đầu vào số 3 = đầu ra số 2] Tóm lại. Vậy nên khi khai báo ma trận ta sẽ phải có dòng: [đầu vào số 2 = đầu ra số 1 . sys2. C_m.đầu ra số 3] Tương tự. 5. denpid = [1 0]. Nếu các bạn để ý sẽ thấy. {'ua'. Tiếp theo ta phải khai báo các điểm nối của các khâu. 'inputname'. sys = append(sys1. sys3). 2. 'ei'. sys2 = tf(numpid. sys3 = ss(A_m. Vậy như sau: . Kp = 100. 'inputname'. 3 2 0]. Kd = 1. Sau đó sử dụng lệnh --append-. nó là hiệu của đầu ra số 1 của khối và đầu ra số 3 của DCM. numpid = [Kp Ki]. sys1 = tf(1. khai báo như sau: matlab code 1. đầu vào của khối là có số thứ tự là 2. 6. 1. 'n'}).để báo cho Matlab biết các khối cần kết hợp và thứ tự của chúng như sau: matlab code 1. 4.{'ia'. denpid. D_m. Ki = 10. . Với khối điều khiển PID thì tạm thời ta chỉ dùng PI và khai báo như sau: matlab code 1. B_m. Q = [2 1 -3 2.'uaref'). ta khai báo ma trận matlab code 1. 'in'). 7. 'outputname'. 'inputname'.

n'..i_a'. 3). 8. Bây giờ ta có thể vẽ thử đồ thị Bode và step như sau: matlab code 1. figure(3). sysc(2. axis([0. sysc(1. figure(4).'r--'. 14. 2. 10.i_a'. plot(tc.2). 6. tc] = step(sysc.'k--'). outputs = [3 4]. 1).1). title('Bieu do Bode . tc. 'i_a^{ref} . inputs = [1 4]. title('Dap ung buoc nhay cua vong lap dieu khien dong'). bodemag(sysc(1. 9. sysc(2. 1. yc(:. 1).outputs). -0.05). 0.5..i_a'. grid on.'g--'. grid on.Dieu khien dong tuong tu'). 2. 1. 4. 'T_L . yc(:. 'T_L . 12. 3. 'i_a^{ref} .'m--'.inputs. 11. sysc = connect(sys. 15. logspace(-1. (vì ) và mômen tải .Bây giờ khai báo các đầu vào và đầu ra của hệ sau khi đã nối với nhau: matlab code 1.. 2. 'T_L .001. DCMC001.Q. tc. đầu Có thể download m-file này tại đây.'b-'. 'T_L .2. legend('i_a^{ref} . Đầu vào là dòng điện đặt ra là dòng điện thực phần ứng và tốc độ .'b--'.. Đến đây ta đã có được mô hình không gian trạng thái tổng hợp của hệ kín gồm cả bộ điều khiển và đối tượng điều khiển. yc(:. yc(:. Cuối cùng là dùng lệnh connnect: matlab code 1. 16. 2). [yc. 0. 13. tc. legend('i_a^{ref} .2).25]).n'. 2).m .i_a'. 5. 2.'g--'.500)). 1.n'.n'.1).. 2).'r--'. 7..

Từ đó có thể đưa ra một số kết luận sơ bộ về việc chọn các hệ số và . .Hình 3: Biểu đồ Bode điều khiển dòng tương tự Hình 4: Đáp ứng bước nhảy vòng lặp điều khiển dòng Bây giờ là lúc ta cần phân tích các đáp ứng thu được.

hekindcd = connect(sys. Cụ thể. tc] để vẽ như sau matlab code 1. chẳng hạn -hekindcd. nếu gọi là biên độ của tín hiệu đầu ra thì giá trị ghi trên trục tung là .Để đỡ nhầm lẫn ta có thể thay sysc bằng một cái tên khác.Giá trị 20 trên trục tung ứng với .05).Q. [yc.Giá trị 0 trên trục tung ứng với .outputs). 0. Khi đó lệnh dùng là matlab code 1.. vẽ ở figure(1) trong m-file) .Giá trị 40 trên trục tung ứng với . Bây giờ ta quay lại từ biểu đồ Bode của mô hình DCM (hệ hở.. Vì vậy: . Sau đó tính [yc.(hệ kín với bộ điều chỉnh dòng). tc] = step(hekindcd. Lưu ý rằng đối với biểu đồ Bode thì trục tung biểu thị cho logarit của biên độ.inputs.

Rõ ràng là trong khoảng tần số từ đến khoảng thì hay . nếu tần số đầu vào của lớn hơn tần số này thì biên độ của đầu ra giảm xuống rất nhanh. Nghĩa là . Phân tích chất lượng Giá trị biên độ ứng với tần số đầu vào khoảng hơn 200 rad/s. Chính vì thế mà ta sẽ thử tăng đến 10. Trong thực tế thì ta mong muốn có dạng đường thằng nằm trùng với đường hay trong suốt dải tần số từ 0 đến để cho đầu ra bám theo đầu vào (vì hàm truyền bằng ). Bạn có nhận xét gì trong trường hợp này không? Bạn thấy biên độ của nó thế nào? 2. không thay đổi hoặc thay đổi nhanh (tần số cao) thì biên độ giảm rất nhanh. Hay Tóm lại. Nghĩa là khi dao động với tần số khoảng đó. Bây giờ ta xem qua điều gì xảy ra cho ta với bộ điều khiển thiết kế như trên (ứng với ).000 và đến 100. Còn lại ngoài khoảng tần số đó thì không điều khiển được.Hãy chú ý đến đường màu đỏ. ta có thể nhận xét sơ bộ là ta phải dùng một bộ điều khiển có hệ số khuyếch đại rất lớn để có thể điều khiển được đầu ra bám theo giá trị đặt đầu vào. Nghĩa là. Khi đó đáp ứng tần số của nó như sau: . thể hiện quan hệ giữa (chính là điện áp cần có để sinh ra dòng ) và . hay nói cách khác rất nhanh. Thế còn khi dao động nhỏ. Ví dụ khi ta đặt một giá trị cố định (tần số bằng 0) thì giá trị biên độ có khi chỉ khoảng -100dB. Lưu ý rằng tần số khoảng là lúc đường đặc tính tần số biên độ bắt đầu đi xuống rất nhanh và đó chính là Bandwidth hay dải thông tần của hệ. Điều này có nghĩa là ảnh hưởng của đối với là rất yếu.

áp dụng cho vòng điều khiển dòng bên trong. vòng điều khiển này phải có đáp ứng thật nhanh.Trong thực tế. Trong trường hợp này nó vào khoảng rad/s và do Chu kỳ vào khoảng Ta còn phải thiết kế mạch vòng điều chỉnh tốc độ nữa.mdl Đáp ứng đầu ra . có trường hợp phải dùng . Đây mới chỉ là các nhận xét sơ bộ. Như đã nói trên. Mô phỏng bộ điều khiển PID tương tự Trước tiên là với bộ tham số: Sơ đồ mô phỏng download ở đây: DCMCC001. Mạch vòng này có Bandwitdh chậm hơn nhiều vì tốc độ cơ không thể nhanh như điện được. 3.

Còn đây là với bộ tham số: Đáp ứng đầu ra .Như vậy là tín hiệu ra không bám theo tín hiệu vào.

4. Điều chỉnh tốc độ Để tổng hợp bộ điều khiển thì dùng sơ đồ kết nối sau .Đầu ra đã bám tốt theo đầu vào.

1). 1. A_m = [-Ra/La -Ke*Phi/La.'r--'. 3. 17.'m--'. 6. 32.2. denpidc. 0 1]. 24. C_m.G_m(2. 19. 12. 'outputname'. Km*Phi/2/pi/J 0]. 2. 16. {'ua'. 'T_L . Kcc = tf(numpidc. D_m. 27. DCM = ss(A_m. outputsc). 20.'b--'. 40. 33. 28.5.012.1). 39. 22. 'T_L . 11.25. inputsc. 13. Wc = tf(1. 7. 'in'). 4. bodemag(G_m(1. 14. numpidc = [Kpc Kic]. outputsc = [3 4]. 23.G_m(1. figure(1). 38. denpidc = [1 0]. 'inputname'. C_m = [1 0. figure(2). 31. C_m. 43. 25. 35. 3). 37. B_m = [1/La 0. 26. . D_m = [0 0.n'. CCMDL = connect(CMMApp. 'ec'. 21. Kcc. Phi = 0. B_m. D_m).'uaref').'g--'. 5. Ke = 2*pi*Km. La = 0. B_m.I_a'.04. Km = 38. 0 -1/2/pi/J]. 34. DCM). 'inputname'. 3 2 0].Còn đây là đoạn chương trình matlab code 1. 29. 8. inputsc = [1 4]. 42. 'TL'}. grid on. 'inputname'. 41.2). 0 0]. J = 0. minfo(G_m) 15. CMMApp = append(Wc. logspace(-1. title('Bieu do Bode vong ho'). 'outputname'. G_m(2. Kic = 5.I_a'. Kpc = 2500.500)). Qc. 30.{'ia'. 'n'}). G_m = ss(A_m. 'U_a . legend('U_a .2). Qc = [2 1 -3 36. 10. 18. Kdc = 1.004. 9.n'. Ra = 0.

61. SCMDL(2. 52. 83.'iaref').'m--'. CCMDLB.2). 47. 85. 53. 500)).'m--'. CCMDL(1. 63. 74. 'inputname'. 51. 73.2). Kdn = 1. Wn = tf(1. 1). 3 2 0]. 57. DCMC003. title('Bieu do Bode . 68. figure(3). 'TL'}. CCMDLB. step(CCMDL). Kn. 86.. 'i_a^{ref} . SCMDL(1. denpidn.n'.2). logspace(-2. CCMDL(2.. inputsn = [1 4]. Download file này ở đây.1).i_a'. denpidn = [1 0]. 58. 'outputname'. outputsn = [3 4]. legend('n_{ref} .. grid on. 80. 60. 54. 79.'b--'. 75. 'TL . 81. [CCMDLA.i_a'. figure(5).Dieu khien toc do').1). CCMDLC. bodemag(CCMDL(1. 1. 56. 62. 59. inputsn. 46.. SCMDLApp = append(Wn. 'T_L . figure(4). CCMDLD] = ssdata(CCMDL).. 'inputname'. 55.'b--'.. 72. 3).{'ia'. 48.n'. 82. legend('i_a^{ref} .9. SCMDL(1.2). 50. title('Bieu do Bode . bodemag(SCMDL(2. logspace(0. 84. 65.. 78. Kin = 7. 77. SCMDL = connect(SCMDLApp. CCMDLC.500)). Qn.1). CCMDLD.15.Dieu khien dong tuong tu'). 'T_L . CCMDLS). 'nr'). 'T_L . 70.'g--'.m Các đáp ứng của hệ thống đã thiết kế . 'n_{ref} .'r--'. 69.'r--'..5.n'. CCMDL(2.. grid on. 64. 'en'.1).i_a'. step(SCMDL).i_a'. outputsn). 'inputname'.44. grid on. 76. 87. 49. 'n'}). CCMDLS = ss(CCMDLA. 'outputname'. Kpn = 0. 45. 66. Kn = tf(numpidn. 67. Qn = [2 1 -4 71. numpidn = [Kpn Kin].n'.'g--'. {'ui'. 3. grid on.

.

.

DCMCC003. . Mô phỏng hệ điều khiển với hai mạch vòng Mô phỏng hệ điều khiển với hai mạch vòng.mdl Các kết quả mô phỏng không tải.5. Mô hình mô phỏng download ở đây. dòng điện tăng lên trong quá trình khởi động rồi trở về 0.

Các kết quả mô phỏng có tải .

tín hiệu yêu cầu tăng này sẽ được chuyển .m Trên các đồ thị mô phỏng đã thể hiện rất rõ ảnh hưởng của tải đến các đáp ứng của hệ thống. Đáp ứng của hệ khi tải thay đổi plot_DCMC. Khi tải tăng thì nếu không điều chỉnh gì thì tốc độ động cơ sẽ bị giảm xuống. Nhưng do có bộ điều chỉnh tốc độ nên nó sẽ ra lệnh tăng dòng lên để sinh ra thêm lực bù lại tác động của tải. Qua bộ điều khiển dòng.Để vẽ các hình sau khi mô phỏng thì dùng file này.

Phải nói rằng các bộ điều khiển đã đáp ứng rất tốt yêu cầu đặt ra và rất giống với thực tế.thành điện áp (tăng) đặt lên phần ứng. trong khi tốc độ vẫn giữ nguyên. Bộ điều khiển dòng sẽ liên tục theo dõi xem dòng đã đạt được mức yêu cầu chưa. còn bộ điều khiển tốc độ thì kiểm tra sự sai khác về tốc độ như thể hiện ở hình dưới đây (ở đây ta còn chưa đề cập đến ảnh hưởng trực tiếp của mômen đối với dòng điện theo hàm truyền từ đến ). Khi mô phỏng ta có thể thay đổi tải để thấy dòng điện thay đổi như thế nào. .

Sign up to vote on this title
UsefulNot useful