Header Page 1 of 113.
ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trung tâm Đào tạo Tài năng và Chất lượng cao
ĐỒ ÁN I
Đề tài: Thiết kế hệ thống điều khiển tốc độ động cơ DC
sử dụng bộ điều khiển PID và PID mờ (Fuzzy-PID)
Giảng viên hướng dẫn: TS. Nguyễn Cảnh Quang
Sinh viên thực hiện: Đặng Đức Công – 20101181
Đặng Thái Giáp – 20101443
Lớp:
KSTN – ĐKTĐ – K55
Hà Nội, tháng 6 năm 2013
Footer Page 1 of 113.
Header Page 2 of 113.
MỤC LỤC
Trang
Danh mục bảng và hình vẽ
3
Lời cảm ơn
4
Tóm tắt đồ án
5
Chương I: Khái quát đề tài
6
Chương IV: Thiết kế hệ thống điều khiển
29
4.1. Phần cứng chuẩn bị và phần mềm sử dụng
29
4.1.1. Mạch phần cứng
29
4.1.2. Chương trình phần mềm
30
4.2. Giải quyết vấn đề điều khiển
30
4.2.1. Định hướng chương trình
30
4.2.2. Phác thảo giải thuật
31
4.3. Kết quả mạch chạy thực thế
36
Chương V: Kết luận và hướng phát triển
37
5.1. Kết quả thu được
37
5.2. Một số đề xuất và hướng phát triển đề tài
37
Tài liệu tham khảo và Tài liệu đính kèm
39
2
Footer Page 2 of 113.
Header Page 3 of 113.
Hình 4.8: Ví dụ về phương pháp giải mờ cực đại
3
Footer Page 3 of 113.
Header Page 4 of 113.
LỜI CẢM ƠN
Kính gửi đến thầy NGUYỄN CẢNH QUANG lời cảm ơn chân thành sâu sắc,
cảm ơn thầy đã tận tình giúp đỡ, chỉ dạy chúng em trong suốt quá trình hoàn thành đồ
án môn học này.
Chân thành cảm ơn các quý thầy cô của trường Đại học Bách Khoa Hà Nội nói
chung, của Viện Điện và bộ môn Điều Khiển Tự Động nói riêng đã tận tình giảng dạy,
trạng bị cho chúng em những kiến thức bổ ích, quý báu.
Hà Nội, tháng 6 năm 2013
Nhóm thực hiện đồ án
4
Footer Page 4 of 113.
Header Page 5 of 113.
TÓM TẮT ĐỒ ÁN
Nhiệm vụ của đề tài là sử dụng giải thuật PID và Fuzzy-PID ứng dụng trên vi
điều khiển để điều chỉnh, ổn định tốc độ động cơ, đồng thời so sánh giữa lý thuyết và
CHƯƠNG I: KHÁI QUÁT ĐỀ TÀI
1.1. Đặt vấn đề
Lĩnh vực điều khiển tự động ngày càng phát triển, đặc biệt là điều khiển chính
xác, đã trở thành một phần không thể thiếu của nền công nghiệp hiện đại. Phần lớn các
loại máy móc, thiết bị dân dụng hay trong công nghiệp sử dụng động cơ điện, từ động
cơ điện trong các máy công cụ, máy CNC, các cánh tay robot,… đến trong những thiết
bị gia dụng như máy giặt, điều hòa, máy hút bụi, ngay cả trong máy vi tính. Những
thiết bị như vậy yêu cầu độ chính xác cao, tiết kiệm năng lượng, tuổi thọ và chu kì bảo
dưỡng dài. Một trong những yêu cầu cần được đáp ứng để đạt những chỉ tiêu trên đây
là điều khiển được tốc độ động cơ điện một cách ổn định, đáp ứng nhanh, vận hành
trơn tru khi xác lập và khi thay đổi trạng thái.
Việc ứng dụng những thuật toán kinh điển vào vấn đề điều khiển tốc độ động cơ
đã đạt được nhiều kết quả khả quan. Ví dụ như sử dụng bộ điều khiển PI, PID cho kết
quả tốt ở một số đối tượng động cơ. Chỉnh định tham số cho bộ điều khiển PID kinh
điển cũng có nhiều phương pháp. Tuy nhiên, với các thuật toán, phương pháp kinh
điển, ta phải biết chính xác về đối tượng, hoặc mô hình hóa tương đối chi tiết đối tượng.
Một điểm nữa là trong quá trình vận hành, nếu như đối tượng thay đổi thì hệ thống có
thể mất ổn định hoặc chất lượng điều khiển không còn đáp ứng được yêu cầu. Do đó,
auto-tuning là một trong những hướng đi khả quan của điều khiển tự động.
Trong điều khiển hiện đại, lý thuyết mờ cung cấp cho ta một hướng đi mới, xây
dựng những hệ điều khiển mờ thuần túy hoặc nhưng hệ mờ lai với mục đích nâng cao
chất lượng các bộ điều khiển kinh điển, cũng như điều khiển những đối tượng chưa
biết hoặc khó nhận dạng.
Trong khuôn khổ Đồ án, em xin trình bày về thuật toán PID, Fuzzy-PID; xây
dựng các bộ điều khiển này trên nền vi điều khiển AT89S52; các kết quả thu được và
hướng phát triển đề tài. Do hạn chế về thời gian cũng như thiết bị hỗ trợ, việc so sánh
chất lượng của hai bộ điều khiển này không được đưa ra ở Đồ án này.
6
Trong hình 2.1, 𝐽 là mômen quán tính của rôto động cơ, 𝐵 là hệ số tải, 𝜔𝑚 là tốc độ
động cơ (rpm), và 𝐸𝑚 , 𝐼𝑚 lần lượt theo thứ tự là điện áp và dòng điện nguồn cấp cho
động cơ.
Ta có: Mômen phát sinh trên trục động cơ 𝑇𝑚 là:
𝑇𝑚 = 𝐾. 𝐼𝑚 (2.1)
Lại có 𝐸𝑚 = 𝐼𝑚 . 𝑅0 (2.2) với 𝑅0 là điện trở phần ứng rôto.
Từ định luật Newton II ta có:
𝐽
𝑑𝜔𝑚
+ 𝐵𝜔𝑚 = 𝑇𝑚 (2.3)
𝑑𝑡
Thay (2.1),(2.2) vào (2.3) → 𝐽
𝑑𝜔𝑚
𝑑𝑡
+ 𝐵𝜔𝑚 =
𝐾𝐸𝑚
𝑅0
(2.4)
Sử dụng biến đổi Laplace cho phương trình (2.4) ta thu được:
𝐾
𝜔𝑚 (𝑠)
𝑅 𝐽
= 0 (2.5)
Mô hình hàm truyền xấp xỉ của động cơ:
𝐺 (𝑠) =
138.508386
6.001311
=
(2.7)
𝑠 + 23.079689 1 + 0.0433281𝑠
𝑎1 = 138.508386; 𝑎2 = 23.079689
9
Footer Page 9 of 113.
Header Page 10 of 113.
2.2. Phương pháp điều khiển tốc độ động cơ
Động cơ DC dùng nam châm vĩnh cửu ta coi là có từ thông không đổi. Phương
trình (2.4) biểu diễn quan hệ giữa tốc độ động cơ với điện áp đặt vào hai đầu cuộn dây
phần ứng. Mặt khác, tác động về mặt cơ học của động cơ là tương đối nhanh. Do đó ta
sử dụng phương pháp điều khiển điện áp phần ứng để thay đổi tốc độ động cơ DC, cụ
thể là sử dụng phương pháp điều chế độ rộng xung (PWM – Pulse Width Modulation)
Hình 2.2. Nguyên lý điều chế độ rộng xung PWM
Giá trị trung bình điện áp trên tải:
𝑈𝑡 = 𝑈𝑚𝑎𝑥
𝑇𝑜𝑛
pháp đa năng cho các ứng dụng điều khiển tương tự hay điều khiển số. Hơn 90% các
bộ điều khiển trong công nghiệp được sử dụng là bộ điều khiển PID. Nếu được thiết
kế tốt, bộ điều khiển PID có khả năng điều khiển hệ thống đáp ứng tốt các chỉ tiêu chất
lượng như đáp ứng nhanh, thời gian quá độ ngắn, độ quá điều chỉnh thấp, triệt tiêu
được sai lệch tĩnh.
Luật điều khiển PID được định nghĩa:
𝑡
1
𝑑𝑒(𝑡)
𝑢(𝑡) = 𝐾𝑃 (𝑒(𝑡) + ∫ 𝑒(𝜏)𝑑𝜏 + 𝑇𝐷
) (3.1)
𝑇𝐼
𝑑𝑡
0
Trong đó 𝑢 là tín hiệu điều khiển và 𝑒 là sai lệch điều khiển (𝑒 = 𝑦𝑠𝑝 − 𝑦).
Tín hiệu điều khiển là tổng của 3 thành phần: Tỉ lệ, tích phân và vi phân.
Hàm truyền của bộ điều khiển PID:
𝐺𝑃𝐼𝐷 (𝑠) =
𝑈(𝑠)
1
1
= 𝐾𝑃 + 𝐾𝐼 + 𝐾𝐷 𝑠 = 𝐾𝑃 (1 +
+ 𝑇𝐷 𝑠) (3.2)
𝐸 (𝑠)
𝑠
𝑇𝑖 𝑠
Nhược điểm của thành phần tích phân là do phải mất một khoảng thời gian để
đợi 𝑒(𝑡) về 0 nên đặc tính tác động của bộ điều khiển sẽ chậm hơn. Ngoài ra, thành
phần tích phân đôi khi còn làm xấu đi đặc tính động học của hệ thống, thậm chí có thể
làm mất ổn định.
Người ta thường sử dụng bộ PI hoặc PID thay vì bộ I đơn thuần vừa để cải thiện
tốc độ đáp ứng, vừa đảm bảo yêu cầu động học của hệ thống.
12
Footer Page 12 of 113.
Header Page 13 of 113.
Thành phần Vi phân (D)
𝑑𝑒(𝑡)
(3.5)
𝑑𝑡
Mục đích của thành phần vi phân là cải thiện sử ổn định của hệ kín. Do động
học của quá trình, nên sẽ tồn tại một khoảng thời gian trễ làm bộ điều khiển chậm so
với sự thay đổi của sai lệch 𝑒(𝑡) và đầu ra 𝑦(𝑡) của quá trình. Thành phần vi phân đóng
vai trò dự đoán đầu ra của quá trình và đưa ra phản ứng thích hợp dựa trên chiều hướng
và tốc độ thay đổi của sai lệch 𝑒(𝑡), làm tăng tốc độ đáp ứng của hệ.
𝑢 (𝑡) =
Một ưu điểm nữa là thành phần vi phân giúp ổn định một số quá trình mà bình
thường không ổn định được với các bộ P hay PI.
Nhược điểm của thành phần vi phân là rất nhạy với nhiễu đo hay của giá trị đặt
do tính đáp ứng nhanh nêu ở trên.
3.1.2. Chỉnh định tham số bộ điều khiển PID
0.9/𝑎 hoặc 0.9𝜏/𝑘𝜃
10/3𝜃
PID
1.2/𝑎 hoặc 1.2𝜏/𝑘𝜃
2𝜃
0.5𝜃
Bảng 3.1: Lựa chọn tham số bộ PID theo Ziegler-Nichols 1
Phương pháp này có một số nhược điểm như sau:
+ Việc lấy đáp ứng tín hiệu bậc thang rất dễ bị ảnh hưởng của nhiễu và không
áp dụng được cho quá trình dao động hoặc quá trình không ổn định.
+ Đối với các quá trình có tính phi tuyến mạnh, các số liệu đặc tính nhận được
phụ thuộc rất nhiều vào biên độ và chiều thay đổi giá trị đặt.
+ Phương pháp kẻ tiếp tuyến để xác định các số liệu 𝜃 và 𝑎 kém chính xác.
+ Đặc tính đáp ứng của hệ kín với giá trị đặt thường hơi quá dao động (Hệ số tắt
dần khoảng 0.25).
Theo kinh nghiệm của một số chuyên gia, điều kiện áp dụng phương pháp này là tỉ số
𝜃/𝜏 nằm trong phạm vi 0.1-0.6. Nếu tỉ lệ này lớn hơn 0.6, ta cần áp dụng các phương
pháp chỉnh định khác có để ý tới bù thời gian trễ. Ngược lại, với tỉ lệ nhỏ hơn 0.1
thường ứng với các hệ bậc cao, do đó cần bộ điều khiển bậc cao tương ứng để cải thiện
đặc tính động học.
14
Footer Page 14 of 113.
Header Page 15 of 113.
3.1.3. Bộ điều khiển PID số
Trong thực tế công nghiệp, các bộ điều khiển PID có thể được cấu thành từ các
mạch tương tự hoặc các cơ cấu chấp hành. Tuy nhiên với yêu cầu cao về độ chính xác
và chống nhiễu tốt thì các bộ điều khiển như vậy chưa đáp ứng được yêu cầu. Cùng
≈
(3.7)
𝑑𝑡
𝑇
Khi đó công thức (3.1) trở thành:
𝑛
𝑇
𝑒(𝑘𝑇) − 𝑒(𝑘𝑇 − 𝑇)
𝑢(𝑘𝑇) = 𝑢0 + 𝐾𝑃 [𝑒 (𝑘𝑇) + ∑ 𝑒(𝑘𝑇) + 𝑇𝐷
] (3.8)
𝑇𝐼
𝑇
𝑘=1
Viết gọn lại thành:
𝑢𝑘 = 𝐾𝑃 𝑒𝑘 + 𝐾𝑖 𝑒𝑘 + 𝑢𝑖,𝑘−1 + 𝐾𝑑 (𝑒𝑘 − 𝑒𝑘−1) = 𝑢𝑝,𝑘 + 𝑢𝑖,𝑘 + 𝑢𝑑,𝑘 (3.9)
Trong đó: 𝑢𝑝,𝑘 = 𝐾𝑃 𝑒𝑘 ; 𝑢𝑖,𝑘 = 𝐾𝑖 𝑒𝑘 + 𝑢𝑖,𝑘−1 ; 𝑢𝑑,𝑘 = 𝐾𝐷 (𝑒𝑘 − 𝑒𝑘−1)
15
Footer Page 15 of 113.
Header Page 16 of 113.
3.2. Bộ điều khiển Fuzzy-PID
3.2.1. Lý thuyết điều khiển mờ (Fuzzy Logic Control)
3.2.1.1. Giới thiệu về Logic mờ
Trong toán học phổ thông ta đã học khá nhiều về tập hợp, ví dụ như tập các số
thực R, tập các số nguyên tố P={2,3,5,...}… Những tập hợp như vậy được gọi là tập
3.2.1.3. Các dạng hàm thuộc (membership function) trong logic mờ
Có rất nhiều dạng hàm thuộc như: Gaussian, PI-shape, S-shape, Sigmoidal, Z-shape
Hình 3.4: Một số dạng hàm thuộc
3.2.1.4. Biến ngôn ngữ
Biến ngôn ngữ là phần tử chủ đạo trong các hệ thống dùng logic mờ. Ở đây các
thành phần ngôn ngữ của cùng một ngữ cảnh được kết hợp lại với nhau. Để minh hoạ
về hàm thuộc và biến ngôn ngữ ta xét ví dụ sau:
Xét tốc độ của một chiếc xe môtô, ta có thể phát biểu xe đang chạy: Rất chậm
(VS), Chậm (S), Trung bình (M), Nhanh (F), Rất nhanh (VF).
Những phát biểu như vậy gọi là biến ngôn ngữ của tập mờ. Gọi x là giá trị của
biến tốc độ, ví dụ x = 10km/h, x = 60km/h…Hàm thuộc tương ứng của các biến ngôn
ngữ trên được ký hiệu là:
𝜇𝑉𝑆 (𝑥 ), 𝜇𝑆 (𝑥 ), 𝜇𝑀 (𝑥 ), 𝜇𝐹 (𝑥 ), 𝜇𝑉𝐹 (𝑥)
17
Footer Page 17 of 113.
Header Page 18 of 113.
Như vậy biến tốc độ có hai miền giá trị:
- Miền các giá trị ngôn ngữ:
N = {rất chậm, chậm, trung bình, nhanh, rất nhanh}
- Miền các giá trị vật lý:
V = {x∈B | x ≥0}
Biến tốc độ được xác định trên miền ngôn ngữ N được gọi là biến ngôn ngữ.
Với mỗi 𝑥 ∈ 𝐵 ta có hàm thuộc: 𝑥 → 𝜇𝑋 { 𝜇𝑉𝑆 (𝑥 ), 𝜇𝑆 (𝑥 ), 𝜇𝑀 (𝑥 ), 𝜇𝐹 (𝑥 ), 𝜇𝑉𝐹 (𝑥)}
Ví dụ hàm thuộc tại giá trị rõ 𝑥 = 65𝑘𝑚/ℎ là:
𝜇𝑋 (65) = {0, 0, 0.75, 0.25, 0}
Ta có thể suy diễn cách thức điều khiển như thế này:
Nếu mực nước = rất thấp
Thì góc mở van = lớn
Nếu mực nước = thấp
Thì góc mở van = nhỏ
Nếu mực nước = vừa
Thì góc mở van = đóng
Trong ví dụ trên ta thấy có cấu trúc chung là “Nếu A thì B”. Cấu trúc này gọi là mệnh
đề hợp thành, A là mệnh đề điều kiện, 𝐶 = 𝐴 ⇒ 𝐵 là mệnh đề kết luận.
Định lý Mamdani:
“Độ phụ thuộc của kết luận không được lớn hơn độ phụ thuộc điều kiện”
Nếu hệ thống có nhiều đầu vào và nhiều đầu ra thì mệnh đề suy diễn có dạng
tổng quát như sau:
If 𝑁 = 𝑛𝑖 and 𝑀 = 𝑚𝑖 and … Then R = 𝑟𝑖 and 𝐾 = 𝑘𝑖 and …
* Luật hợp thành:
Luật hợp thành là tên gọi chung của mô hình biểu diễn một hay nhiều hàm thuộc
cho một hay nhiều mệnh đề hợp thành.
19
Footer Page 19 of 113.
Header Page 20 of 113.
Các luật hợp thành cơ bản:
Header Page 21 of 113.
b. Phương pháp trọng tâm
Điểm 𝑦’ được xác định là hoành độ của điểm trọng tâm miền được bao bởi trục
hoành và đường 𝜇𝐵′ (𝑦).
Công thức xác định:
𝑦′ =
∫𝑆 𝑦𝜇 (𝑦)𝑑𝑦
∫𝑆 𝜇(𝑦) 𝑑𝑦
Trong đó S là miền xác định của tập mờ 𝐵 ′ .
3.2.2. Bộ điều khiển Fuzzy-PID
Phần này ta trình bày về sơ đồ cấu trúc của bộ điều khiển mờ thuần túy. Trên
cơ sở đó, xây dựng bộ điều khiển lai Fuzzy-PID.
3.2.2.1. Cấu trúc bộ điều khiển mờ thuần túy
Hình 3.7: Sơ đồ cấu trúc bộ điều khiển mờ
* Một bộ điều khiển mờ gồm 3 khâu cơ bản:
+ Khâu mờ hoá
+ Thực hiện luật hợp thành
+ Khâu giải mờ.
21
Footer Page 21 of 113.
Header Page 22 of 113.
Header Page 23 of 113.
3.2.2.2. Cấu trúc bộ điều khiển mờ - PID
Hình 3.8: Sơ đồ cấu trúc bộ điều khiển mờ-PID
Ý tưởng về bộ PID – Mờ ở đây là sử dụng Logic mờ để tối ưu giá trị các tham
số của bộ điều khiển PID (Hình 3.8).
Bộ điều khiển PID có ba tham số 𝐾𝑃 , 𝐾𝐼 , 𝐾𝐷 nằm trong các khoảng
[𝐾𝑃 𝑚𝑖𝑛 , 𝐾𝑃 𝑚𝑎𝑥 ], [𝐾𝐼 𝑚𝑖𝑛 , 𝐾𝐼 𝑚𝑎𝑥 ], [𝐾𝐷 𝑚𝑖𝑛 , 𝐾𝐷 𝑚𝑎𝑥 ]. Ta sẽ quy đổi các khoảng này về
dạng chính tắc:
𝐾𝑃′ =
𝐾𝑃 − 𝐾𝑃 𝑚𝑖𝑛
(3.10)
𝐾𝑃 𝑚𝑎𝑥 − 𝐾𝑃 𝑚𝑖𝑛
𝐾𝐼′ =
𝐾𝐼 − 𝐾𝐼 𝑚𝑖𝑛
(3.11)
𝐾𝐼 𝑚𝑎𝑥 − 𝐾𝐼 𝑚𝑖𝑛
𝐾𝐷′ =
𝐾𝐷 − 𝐾𝐷 𝑚𝑖𝑛
(3.12)
𝐾𝐷 𝑚𝑎𝑥 − 𝐾𝐷 𝑚𝑖𝑛
Khi đó, các giá trị 𝐾𝑃′ , 𝐾𝐼′ , 𝐾𝐷′ ∈ [0,1], và các tham số bộ PID được tính lại:
𝐾𝑃 = (𝐾𝑃 𝑚𝑎𝑥 − 𝐾𝑃 𝑚𝑖𝑛 )𝐾𝑃′ + 𝐾𝑃 𝑚𝑖𝑛 (3.13)
Header Page 25 of 113.
[−4; 4]. Khoảng này nhỏ vì mục đích điều khiển là bài toán điều chỉnh và bài toán đặt
ra là tự động chỉnh định để có bộ tham số PID phù hợp nhất.
Hình 3.11: Các hàm thuộc của vi phân sai lệch de(t)
Khoảng giá trị của các biến vật lý cho các hàm thuộc của vi phân sai lệch 𝑑𝑒(𝑡)
ta cũng lấy tương tự như đối với 𝑒(𝑡). Tuy nhiên có một chú ý là khoảng giá trị này
phụ thuộc thời gian lấy mẫu 𝑇𝑠 (đối với vi điều khiển). Ở đây, với thời gian lấy mẫu
25,6ms thì 𝑑𝑒(𝑡) ta lấy trong khoảng [−156; 156].
Các đầu ra 𝐾𝑃′ , 𝐾𝐼′ , 𝐾𝐷′ có dạng giống nhau là dạng chuẩn, nên hàm thuộc ta
cũng lấy cùng dạng như hình 3.12. Khoảng giá trị biến ra là chính tắc [0; 1].
𝐾𝑃′ , 𝐾𝐼′ , 𝐾𝐷′ = {𝑆𝑚𝑎𝑙𝑙, 𝑀𝑒𝑑𝑆𝑚𝑎𝑙𝑙, 𝑀𝑒𝑑, 𝑀𝑒𝑑𝐵𝑖𝑔, 𝐵𝑖𝑔}
Hình 3.12: Các hàm thuộc của biến ra 𝐾𝑃′ , 𝐾𝐼′ , 𝐾𝐷′
Xây dựng luật hợp thành
Các luật hợp thành đều có dạng chung như sau:
If 𝑒(𝑡) is 𝑁𝑒𝑔𝐵𝑖𝑔 and 𝑑𝑒(𝑡) is 𝐷𝑒𝑐𝐹𝑎𝑠𝑡, then 𝐾𝑃′ , 𝐾𝐼′ , 𝐾𝐷′ is 𝑆𝑚𝑎𝑙𝑙.
25
Footer Page 25 of 113.