lvtn_2010_nguyenhungthinh

105
TPHCM, 4/2010 B CÔNG THƯƠNG TRƯỜNG ĐẠI HC CÔNG NGHIP TP H CHÍ MINH KHOA CÔNG NGH ĐIN TỬ  B MÔN ĐIN TỬ  TỰ  ĐỘNG ĐỒ ÁN TT NGHIP THIT K VÀ THI CÔNG B ĐIU KHIN TỰ  CHNH DÙNG ĐẶT CỰ C ĐỂ ĐIU KHIN LÒ NHIT GVHD : ThS Hunh Minh Ngc SVTH : Nguyn Hưng Thnh LP : DHDT4ALT

Upload: son-tea

Post on 04-Jun-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 1/105

TPHCM, 4/2010

BỘ CÔNG THƯƠNG

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HỒ CHÍ MINHKHOA CÔNG NGHỆ ĐIỆN TỬ  BỘ MÔN ĐIỆN TỬ  TỰ  ĐỘNG

ĐỒ ÁN TỐT NGHIỆP

THIẾT KẾ VÀ THI CÔNG BỘ ĐIỀU KHIỂN TỰ  CHỈNH

DÙNG ĐẶT CỰ C ĐỂ ĐIỀU KHIỂN LÒ NHIỆT

GVHD : ThS Huỳnh Minh NgọcSVTH : Nguyễn Hưng ThịnhLỚP : DHDT4ALT

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 2/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 1

Lờ i giớ i thiệu

Sự phát triển như vũ bão của khoa học – công nghệ ở  thế kỷ XX đã tạo nênsự thay đổi sâu rộng toàn diện trên nhiều l ĩ nh vực của sản xuất vật chất cũng như của đờ i sống nhân loại. Và thế kỷ XXI, chúng ta vẫn chứng kiến sự phát triển ấy

từng ngày. Một nền sản xuất phát triển luôn đặt ra yêu cầu về nguồn nhân lực vànhân công. Việc ứng dụng những thành tựu sáng kiến của chuyên ngành tự độngluôn mang tính thờ i đại. Điều khiển tự động trải qua quá trình hơ n một nửa thế kỷ,xuất phát từ những lý thuyết kinh điển tiến dần đến lý thuyết hiện đại tối ưu vàngày càng thông minh, một quá trình đủ để  nhận thức đượ c tầm quan trọng củaviệc tự động hóa trong quá trình sản xuất cũng như đối vớ i những nhu cầu cơ  bảnhằng ngày của con ngườ i trong cuộc sống mà con ngườ i không ngừng chạy đuavớ i thờ i gian. Trên thực tế, tùy vào chủng loại, đặc tính của thiết bị đượ c điềukhiển và trình độ ứng dụng mà con ngườ i có thể tận dụng phươ ng pháp điều khiểnthích hợ p nhất kết hợ p vớ i các thuật toán thông minh. Điều khiển lò nhiệt là một

khía cạnh về ứng dụng. Thờ i gian vừa qua, đã có nhiều thiết kế bộ điều khiển chothiết bị này như là: PID, logic mờ  v.v…. Vớ i đồ án tốt nghiệp này, em xin đượ cthực hiện việc tìm hiểu lý thuyết cũng như  thiết kế và thi công hệ  thống lò nhiệtthực tế dùng bộ điều khiển tự chỉnh dùng đặt cực cũng như mô phỏng sự vận hànhbằng phầm mềm Matlab.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 3/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 2

Lờ i cảm ơ n

Đồ  án tốt nghiệp này đượ c thực hiện không chỉ dựa vào sự nỗ  lực của bảnthân mà còn nhờ  vào sự hướ ng dẫn chia sẻ nhiệt tình của thầy giáo. Nhân đây, tôixin gửi lờ i cảm ơ n chân thành đến thầy Huỳnh Minh Ngọc - ngườ i trực tiếp hướ ng

dẫn - vì sự hướ ng dẫn và trao đổi học thuật, đến thầy Nguyễn Đức Hoàng - mộtgiảng viên trẻ, tớ i thầy chủ nhiệm bộ môn và các thầy cô của khoa vì đã cho tôihành trang kiến thức. Cảm ơ n các bạn đồng môn. Cuối cùng là lờ i cảm ơ n gia đ ìnhđã động viên và tạo mọi điều kiện tốt nhất cho tôi trên con đườ ng tìm hành trangtri thức.

TPHCM, 4/2010Nguyễn Hưng Thịnh

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 4/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 3

Nhận xét của giáo viên hướ ng dẫn:

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

....................................................................................................................................................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

....................................................................................................................................................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 5/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 4

Nhận xét của giáo viên phản biện:

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

....................................................................................................................................................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

....................................................................................................................................................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

..................................................................................................................................

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 6/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 5

Mục lục

Lờ i mở  đầu ............................................................................................................... 8

PHẦN A: CƠ SỞ LÝ THUYẾT .............................................................................. 9Chươ ng 1: Giớ i thiệu ............................................................................................. 101.1 Định ngh ĩ a điều khiển thích nghi ..................................................................... 101.2 Phân loại hệ thống điều khiển thích nghi ......................................................... 111.2.1 Bộ điều khiển thích nghi dựa vào phươ ng pháp heuristic ............................ 121.2.2 Hệ thống thích nghi mô hình tham chiếu (MRAS) ....................................... 121.2.3 Bộ điều khiển tự chỉnh (STR) ....................................................................... 131.2.3.1 Cấu trúc thuật toán bộ điều khiển tự chỉnh ................................................ 141.2.3.2 Lịch sử phát triển bộ điều khiển tự chỉnh .................................................. 171.3 Tóm tắt ............................................................................................................. 18Chươ ng 2: Ướ c lượ ng trực tuyến tham số hệ thống .............................................. 192.1 Giớ i thiệu ......................................................................................................... 192.2 Các loại cấu trúc mô hình ................................................................................ 192.3 Phươ ng pháp bình phươ ng cực tiểu đệ quy mở  rộng ....................................... 212.3.1 Phươ ng pháp bình phươ ng cực tiểu đệ quy thuần túy .................................. 222.3.2 Phươ ng pháp bình phươ ng cực tiểu đệ quy vớ i Exponential forgetting ....... 232.4 Sự kích thích liên tục ....................................................................................... 252.4.1 Ví dụ .............................................................................................................. 252.4.2 Định ngh ĩ a tín hiệu kích thích liên tục .......................................................... 252.4.3 Ví dụ về tín hiệu kích thích liên tục .............................................................. 262.4.4 Nhận dạng trong vòng kín ............................................................................. 28

2.5 Kết luận ............................................................................................................ 29Chươ ng 3: Bộ điều khiển tự chỉnh (STR) và PID .................................................. 303.1 Bộ điều khiển tự chỉnh STR ............................................................................. 303.1.1 Ý tưở ng cơ  bản .............................................................................................. 303.1.2 Bộ điều khiển hai bậc tự do .......................................................................... 313.1.3 Các thuật toán đặt cực ................................................................................... 333.1.3.1 Thuật toán 1 ............................................................................................... 333.1.3.2 Thuật toán 2 ............................................................................................... 343.1.3.3 Thuật toán 3 ............................................................................................... 343.2 Bộ điều khiển PID ............................................................................................ 35

3.2.1 Giớ i thiệu ...................................................................................................... 353.2.2 Phươ ng pháp đáp ứng quá độ ........................................................................ 363.3 Tóm tắt ............................................................................................................. 38Chươ ng 4: Nhận dạng mô hình lò nhiệt ................................................................. 394.1 Xác định mô hình lò nhiệt bằng đáp ứng nấc .................................................. 394.2 Tóm tắt ............................................................................................................. 40Chươ ng 5: Vi điều khiển P89V51RD2 và giao tiếp nối tiếp vớ i PC ..................... 41

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 7/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 6

5.1 Vi điều khiển 89V51RD2 ................................................................................ 415.1.1 Khái quát chung ............................................................................................ 415.1.2 Chức năng của các chân ................................................................................ 435.1.3 Chức năng nổi bật ......................................................................................... 455.1.3.1 Chế độ PCA capture ................................................................................... 50

5.1.3.2 Chế độ timer 16 bit dùng phần mềm .......................................................... 505.1.3.3 Chế độ ngõ ra tốc độ cao ............................................................................ 515.1.3.4 Chế độ điều rộng xung ............................................................................... 525.1.3.5 Bộ định thờ i Watchdog PCA ..................................................................... 535.2 Giao tiếp nối tiếp vớ i PC ................................................................................. 53Chươ ng 6: Giớ i thiệu về phần mềm Matlab và các công cụ:simulink, plottools và serial-port ........................................................................... 566.1 Công cụ plottools để vẽ đồ thị  ......................................................................... 566.2 Giớ i thiệu về giao diện GUIDE ....................................................................... 576.3 Giớ i thiệu về Simulink ..................................................................................... 58

6.4 Giớ i thiệu về giao tiếp nối tiếp giữa Matlab vớ i thiết bị ngoại vi qua cổng COM ........................................................................................ 586.5 Những ưu điểm và hạn chế khi ứng dụng các công cụ hỗ trợ  của Matlab ...... 59

PHẦN B: THIẾT KẾ VÀ THI CÔNG .................................................................. 60Chươ ng 1: Thiết kế phần cứng ............................................................................... 611.1 Sơ  đồ khối phần cứng ...................................................................................... 611.2 Sơ  đồ nguyên lý mạch giao tiếp ....................................................................... 621.2.1 Vi điều khiển P89V51RD2 ........................................................................... 631.2.2Vi mạch giao tiếp MAX232 ........................................................................... 63

1.2.3 Cảm biến nhiệt độ  ......................................................................................... 641.2.4 Khối biến đổi ADC (IC ADC0809) .............................................................. 651.2.5 Mạch công suất ............................................................................................. 67Chươ ng 2: Lưu đồ giải thuật .................................................................................. 682.1 Lưu đồ giải thuật chươ ng trình cho vi điều khiển ............................................ 682.2 Lưu đồ giải thuật chươ ng trình Matlab ............................................................ 70Chươ ng 3: Kết quả thi công ................................................................................... 763.1 Kết quả mô phỏng ............................................................................................ 763.1.1 Bộ điều khiển tự chỉnh STR .......................................................................... 763.1.2 Bộ điều khiển PID số  .................................................................................... 783.2 Kết quả chạy thực ............................................................................................ 803.2.1 Bộ điều khiển tự chỉnh STR .......................................................................... 803.2.2 Bộ điều khiển PID số  .................................................................................... 833.3 Kết luận ............................................................................................................ 84

PHẦN C: KẾT LUẬN ........................................................................................... 85l. Lý thuyết ............................................................................................................. 86ll. Kết quả thi công ................................................................................................. 86

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 8/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 7

lll. Hướ ng phát triển đề tài ..................................................................................... 88Phụ lục .................................................................................................................... 89Tài liệu tham khảo ................................................................................................ 104

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 9/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 8

Lờ i mở  đầu

Thờ i gian qua có rất nhiều đề tài đã đượ c thực hiện về điều khiển lò nhiệt vớ icác bộ điều khiển khác nhau từ kinh điển cho đến hiện đại. Trong điều khiển kinhđiển có các bộ điều khiển như điều khiển ON-OFF, điều khiển PID còn trong điều

khiển hiện đại có các bộ điều khiển như điều khiển mờ , mờ  thích nghi, mờ  lai,…tuy các bộ điều khiển này đã cho kết quả tốt nhưng việc điều khiển đòi hỏi nhiềunỗ lực. Chẳng hạn như khi sử dụng bộ điều khiển PID thì phải thử sai nhiều. Cáctham số của bộ điều khiển PID phải đượ c điều chỉnh liên tục cho tớ i khi đạt đượ ckết quả như mong muốn. Còn khi sử dụng bộ điều khiển mờ  thì đòi hỏi ngườ i thiếtkế phải có kinh nghiệm nhiều về đối tượ ng. Hơ n nữa khi thay đổi điểm làm việccủa đối tượ ng hay thay đổi đối tượ ng thì chất lượ ng có thể khác đòi hỏi phải thiếtkế lại bộ điều khiển. Đây là một công việc mất rất nhiều thờ i gian. Bộ điều khiểntự chỉnh dùng đặt cực có thể khắc phục tốt phần nào những yếu tố bất lợ i đã nêutrên.

Trong đề  tài này các tham số  của đối tượ ng sẽ đượ c nhận dạng trực tuyến.Sau đó các tham số này sẽ đượ c sử dụng cho việc thiết kế bộ điều khiển. Như vậykhi đối tượ ng thay đổi thì tham số  bộ điều khiển sẽ  thay đổi theo sao cho chấtlượ ng cuối cùng là như mong muốn. Đó chính là ý tưở ng cho việc thiết kế bộ điềukhiển tự chỉnh định STR.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 10/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 9

 

PHẦN ACƠ  SỞ  LÝ THUYẾT

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 11/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 10

Chươ ng 1

Giớ i thiệu

Chươ ng này đượ c trình bày như sau: phần 1.1 nói về định ngh ĩ a điều khiểnthích nghi cũng như sơ  đồ khối tổng quát của hệ thống điều khiển thích nghi trongđiều khiển tự động. Phân loại hệ thống điều khiển thích nghi đượ c trình bày trongphần 1.2 bao gồm bộ  điều khiển thích nghi dựa vào phươ ng pháp heuristic, hệ thống thích nghi dựa vào mô hình tham chiếu (MRAS) và bộ  điều khiển tự chỉnh định (STR). Và cuối cùng, phần 1.3 là kết luận của chươ ng này.

1.1  Định ngh ĩ a điều khiển thích nghi:

Phần lớ n các quá trình gặp trong công nghiệp đều có đặc tính stochastic,tức là ngõ ra tại thờ i điểm t không thể xác định đượ c từ giá trị tại thờ i điểm t-1.Các bộ điều khiển truyền thống vớ i tham số cố định thườ ng không thích hợ p đốivớ i các quá trình như vậy bở i vì tham số quá trình thay đổi. Thay đổi tham số bị gây ra bở i các thay đổi trong quá trình sản xuất, trong bản chất của vật liệu, nhiênliệu đầu vào, sử dụng máy móc (hao mòn),…Các bộ điều khiển cố định không thể giải quyết thay đổi này. Một phươ ng án khả thi để cải thiện chất lượ ng điều khiểncho các quá trình như vậy là sử dụng hệ  thống điều khiển thích nghi. Đối vớ i điềukhiển tự động, ta có thể định ngh ĩ a hệ thống điều khiển thích nghi như sau:

Hệ thống điều khiển thích nghi thay đổi tham số hay cấu trúc của một phầnhệ thống (bộ điều khiển) theo sự thay đổi tham số hay cấu trúc ở  phần khác của hệ thống (hệ thống đượ c điều khiển) bằng một cách nào đó sao cho toàn bộ hệ thốngduy trì hành vi tối ưu theo tiêu chuẩn đã cho, không phụ thuộc vào bất kỳ thay đổinào có thể xảy ra.

Sơ  đồ tổng quát của hệ thống điều khiển thích nghi đượ c trình bày ở  HìnhA1.1.

Sự thích nghi theo thay đổi tham số hay cấu trúc của hệ  thống, cơ  bản cóthể thực hiện theo ba cách sau:

• Chọn lựa phù hợ p các tham số điều chỉnh của bộ điều khiển.

• Chọn lựa cấu trúc bộ điều khiển.• Tạo ra tín hiệu vào phụ thích hợ p.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 12/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 11

 Hình A1.1: Sơ  đồ khối tổng quát hệ thống điều khiển thích nghi

1.2  Phân loại hệ thống điều khiển thích nghi:

Trong những năm gần đây, lý thuyết điều khiển thích nghi đã phát triển mộtcách đáng kể. Bảng phân loại ở  Hình A1.2 là tiêu biểu.

Hệ thống thích nghi dựa vào phươ ng pháp heuristic, bộ điều khiển tự chỉnh

định (STR) và hệ  thống thích nghi mô hình tham chiếu (MRAS) hiện tại là baphươ ng pháp cơ  bản đối vớ i bài toán thích nghi. Hệ thống thích nghi có cấu trúcbiến đổi sẽ thay đổi cấu trúc của nó trên cơ  sở  kinh nghiệm đã đạt đượ c trướ c đónên đượ c gọi là hệ thống tự tổ chức.

Hình A1.2: Phân loại hệ thống điều khiển thích nghi

Hệ thống điều chỉnh

Cơ  cấu thích nghi

Đơ n vị so sánh

Chỉ thị đo của hành vi

Nhiễu

Đo đượ cKhông đo đượ c

Ngõ vào

Ngõ raTrạng thái

Chỉ thị yêu cầu

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 13/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 12

1.2.1  Bộ điều khiển thích nghi dự a vào phươ ng pháp heuristic:

Phươ ng pháp này cung cấp sự thích nghi trực tiếp hoặc bằng tính toán ngõra quá trình (hay sai số) hoặc bằng tiêu chuẩn chất lượ ng đượ c chọn cho quá trìnhđiều khiển. Trong các trườ ng hợ p này, thuật toán cho bộ điều khiển PID số thườ ng

đượ c sử dụng và chọn mức dao động ở  ngõ ra quá trình, hoặc sai số của nó làmtiêu chuẩn. Các phươ ng pháp này không yêu cầu nhận dạng hệ thống điều khiển.Trong một số trườ ng hợ p thậm chí không cần theo dõi sai số ngõ ra hoặc đưa ra tínhiệu kiểm tra đặc biệt. Sơ  đồ khối của phươ ng pháp này đượ c cho ở  Hình A1.3.Ngõ ra quá trình y, hoặc sai số e, đượ c tính theo tiêu chuẩn đượ c cho và sau đóđiều chỉnh trướ c các tham số của bộ điều khiển PID.

Khi tổng hợ p bộ điều khiển này, chúng ta cố  gắng tối ưu tiêu chuẩn xácđịnh chất lượ ng quá trình điều khiển. Mặc dù phươ ng pháp này thỏa mãn các ứngdụng thực tế nhưng gặp rất nhiều vấn đề  tính toán và chỉ đượ c ứng dụng thànhcông trong các trườ ng hợ p đơ n giản.

Một trong những ứng dụng thành công là phươ ng pháp đượ c thiết kế  bở iMaršík. Phươ ng pháp này liên quan đến thiết lập độ lợ i bộ điều khiển PID và chọntầm dao động làm tiêu chuẩn đo trực tiếp.

Hình A1.3: Sơ  đồ khối Heuristic cho điều khiển thích nghi

1.2.2  Hệ thống thích nghi mô hình tham chiếu (MRAS):

Phươ ng pháp thiết kế hệ thống thích nghi mô hình tham chiếu đã đượ c môtả tốt về mặt lý thuyết và thảo luận rộng rãi trong các tài liệu khoa học. Sơ  đồ khốicơ  bản của hệ thống thích nghi mô hình tham chiếu đượ c trình bày ở  Hình A1.4.

Mô hình chuẩn cho đáp ứng yêu cầu ym hoặc vector trạng thái yêu cầu xm đối vớ i ngõ vào chuẩn w. Phươ ng pháp này dựa vào quan sát sai số giữa ngõ ra hệ thống điều chỉnh ys và ngõ ra mô hình chuẩn ym. Mục đích của thích nghi là sự hộitụ của các đặc trưng t ĩ nh và động của hệ thống điều chỉnh, tức là vòng kín, đến các

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 14/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 13

đặc trưng của mô hình chuẩn. Nhiệm vụ  của cơ   cấu điều khiển là giảm sai số ε hoặc sai số vector trạng thái x giữa mô hình chuẩn và hệ thống điều chỉnh đến cựctiểu theo tiêu chuẩn đã cho. Điều này đượ c thực hiện hoặc bằng điều chỉnh thamsố của hệ  thống hoặc bằng tạo ra tín hiệu ngõ vào thích hợ p, như có thể ở  HìnhA1.4.

Đặc trưng kép của hệ thống thích nghi này là quan trọng bở i vì nó có thể sử dụng cho cả điều khiển và nhận dạng tham số mô hình quá trình hoặc ướ c lượ ngtrạng thái hệ  thống. Các hệ  thống này, đối vớ i một phạm vi nào đó bị giớ i hạnbở i chúng chỉ thích hợ p vớ i điều khiển xác định, tuy nhiên triển vọng cho việc sử dụng rộng rãi hơ n là tốt.

Hình A1.4: Sơ  đồ khối cơ  bản của hệ thống thích nghi mô hình tham chiếu

1.2.3  Bộ điều khiển tự  chỉnh (STR):

Đối vớ i hai phươ ng pháp đã phác thảo phần trướ c, việc thiết kế  bộ điềukhiển thích nghi không yêu cầu biết chi tiết về hành vi động học của hệ  thống

điều khiển. Một phươ ng pháp điều khiển thích nghi khác là dựa vào ướ c lượ ng đệ quy các đặc trưng của hệ thống và nhiễu và cập nhật các trạng thái, vì vậy có thể theo dõi các thay đổi có thể có. Sử dụng sự hiểu biết này, các phươ ng pháp thíchhợ p có thể đượ c sử dụng để  thiết kế bộ điều khiển tối ưu. Bộ điều khiển này,nhận dạng các quá trình không biết và sau đó tổng hợ p điều khiển (điều khiểnthích nghi vớ i nhận dạng đệ quy ), đượ c gọi là bộ điều khiển tự chỉnh – STR.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 15/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 14

Các kết quả hữu ích nhất trong điều kiện thực tế đã đạt đượ c chủ yếu tronghệ  thống một chiều mà nhiều thuật toán ổn định số  của sự phức tạp biến đổi đãđượ c thiết kế. Các thuật toán này khi đó có thể đượ c ứng dụng thông qua một máytính điều khiển đượ c trang bị  bằng một đơ n vị để  giao tiếp vớ i môi trườ ng bênngoài.

Giả  sử  quá trình điều khiển có một ngõ vào u(k) và một ngõ ra y(k).Ngoài ra, nhiễu đo đượ c v(k) và nhiễu không đo đượ c n(k) - nhiễu ngẫu nhiên -tác động lên quá trình điều khiển. Bộ điều khiển thích nghi số làm việc vớ i chu kỳ lấy mẫu cố định T0. Bộ điều khiển vớ i chu kỳ này tạo ra một chuỗi các giá trị số ở  ngõ ra bộ điều khiển {u(k); k = 1,2,…} (giả sử T0 = 1). Ngõ ra bộ điều khiển rờ irạc u(k) hoạt động thông qua bộ  biến đổi số  - tươ ng tự  (D/A) và bộ  chấp hànhtrong vòng kín. Giá trị ngõ ra bộ điều khiển không đổi trong chu kì lấy mẫu. Bộ chấp hành, bao gồm bộ biến đổi D/A, đượ c tính vào động học của quá trình điềukhiển. Ngõ ra quá trình điều khiển là một biến vật lý (thườ ng liên tục), cũng đượ clấy mẫu vớ i chu kỳ T0, do đó ngõ ra quá trình là một chuỗi các giá trị số {y(k); k =

1,2,…}. Cảm biến, bộ biến đổi A/D và bất kỳ bộ lọc nào đượ c sử dụng cũng đượ ccoi là một phần quá trình điều khiển. Vòng hồi tiếp cơ  bản có thể đượ c mở  rộngbằng vòng nuôi tiến từ  nhiễu đo bên ngoài v(k). Hành vi của nó cũng đượ c lấymẫu vớ i chu kì T0 và truyền đến bộ điều khiển một chuỗi các giá trị số {v(k); k=1,2,…}, và cùng lúc đó giá trị  đặt đượ c biểu diễn bằng một chuỗi giá trị  số {w(k); k =1,2,…}. Sự tồn tại của nhiễu ngẫu nhiên không đo đượ c và sự thay đổitrong giá trị đặt w(k) là lý do đưa ra điều khiển tự động. Mục đích của bộ điềukhiển là bổ chính các nhiễu này cũng như bám theo giá trị đặt.

Ngoài ra, giả sử rằng tham số quá trình điều khiển hoặc không đổi nhưngbiết hoặc biến đổi, trong trườ ng hợ p này thay đổi tham số  là chậm hơ n nhiều so

vớ i tốc độ quá trình thích nghi. Phụ thuộc vào bản chất của quá trình điều khiển,chúng ta có thể  thấy các mục tiêu dướ i đây có thể đạt đượ c như  thế nào khi sử dụng điều khiển thích nghi vớ i nhận dạng đệ quy:

• Tinh chỉnh tự động của bộ điều khiển số.• Điều khiển đượ c cải thiện khi có nhiễu biến đổi.• Phát hiện thay đổi trong tham số của hệ thống điều khiển nêu lên từ các

nguyên nhân khác nhau, ví dụ thay đổi chế độ làm việc của thiết bị. Cải thiện thủ tục điều khiển của quá trình đượ c cho bằng cách thay đổi thích hợ p tham số  bộ điều khiển số.

1.2.3.1  Cấu trúc thuật toán bộ điều khiển tự  chỉnh:

Rõ ràng để đạt đượ c các mục tiêu này, việc nhận dạng các đặc tính t ĩ nh vàđộng của quá trình đã cho đóng một vai trò rất quan trọng cùng vớ i chiến lượ cđiều khiển tối ưu. Từ  lý thuyết nhận dạng tham số, chúng ta biết rằng việc xácđịnh tham số luôn luôn bị gánh nặng bở i độ không chắc chắn – sai số. Độ khôngchắc chắn này không chỉ phụ thuộc vào số bướ c nhận dạng (số mẫu) và vào chọnlựa cấu trúc cho mô hình toán học của quá trình điều khiển mà còn phụ thuộc vào

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 16/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 15

hành vi ngõ ra bộ điều khiển, chu kì lấy mẫu và chọn bộ lọc ngõ ra quá trình và bộ điều khiển. Điều này có ngh ĩ a là mỗi thay đổi ở  ngõ ra bộ điều khiển ngoại trừ tácdụng điều khiển yêu cầu, cũng kích thích hệ thống điều khiển và do đó tạo ra cácđiều kiện cho nhận dạng. Nói cách khác, để  nhận dạng tốt nhất quá trình điềukhiển nhất thiết phải áp đặt các điều kiện nào đó lên ngõ ra bộ điều khiển.

Do đó, nhiệm vụ tổng quát của điều khiển thích nghi tối ưu vớ i nhận dạngđệ quy cực kỳ phức tạp, bở i vì chúng ta phải tìm chuỗi ngõ ra bộ điều khiển màcó thể bảo đảm giá trị ngõ ra quá trình trung bình càng gần giá trị đích càng tốt vàcùng lúc cho phép nhận dạng chính xác nhất quá trình đượ c cho. Feldbaum đãtrình bày thiết kế bộ điều khiển tối ưu, đối vớ i một phạm vi nào đó, phù hợ p vớ icác giả thuyết này. Bở i vì thiết kế bộ điều khiển tối ưu này có hai tác dụng nên nóđượ c gọi là điều khiển tối ưu kép. Không may, do sự phức tạp của tính toán liênquan, điều khiển tối ưu kép không sử dụng trong hầu hết các tình huống.

Do đó, cần phải làm đơ n giản lờ i giải cho bài toán này bằng sử dụng kinhnghiệm thực tế  và trực giác. Lờ i giải này đượ c gọi là sự  tách ra bắt buộc nhận

dạng và điều khiển – Nguyên lý Tươ ng đươ ng Chắc chắn. Nguyên lý này đượ cphác thảo trong thủ tục dướ i đây:

i. Vectors mô hình quá trình Θ  đượ c coi như  biết trong mỗi bướ c điều

khiển và bằng vớ i ướ c lượ ng của nó, ngh ĩ a là Θ  =∧

Θ  (k – 1).ii. Thiết kế chiến lượ c điều khiển để  tác động đến tiêu chuẩn chất lượ ng

điều khiển mong muốn đượ c dựa vào giả sử này và tính ngõ ra bộ điều khiển yêucầu u(k).

iii. Thu thập mẫu mớ i về ngõ ra quá trình y(k) (hoặc nhiễu đo bên ngoàiv(k)) và ngõ ra bộ điều khiển u(k), thêm một bướ c nữa trong nhận dạng đượ c yêu

cầu, sử dụng thuật toán nhận dạng đệ quy. Điều này có ngh ĩ a là thông tin mớ i về quá trình đượ c suy ra từ ba dữ liệu {u(k),y(k),v(k)} đượ c sử dụng để cập nhật ướ c

lượ ng∧

Θ (k -1) và toàn bộ quá trình đượ c lặp lại để tìm ra ướ c lượ ng mớ i∧

Θ (k) .Thuật toán mô tả ở  trên đưa đến cấu trúc thuật toán bên trong của bộ điều

khiển tự chỉnh đượ c chỉ ra ở  Hình A1.5.Việc tách nhận dạng và điều khiển chia cấu trúc thuật toán bên trong thành

phần nhận dạng và điều khiển và chỉ liên kết qua việc truyền ướ c lượ ng tham số ∧

Θ (k) . Ướ c lượ ng đệ quy tham số mô hình quá trình đượ c thực hiện bên trongphần nhận dạng và đượ c sử dụng để dự báo giá trị ŷ(k) của ngõ ra quá trình y(k).Phần điều khiển chứa một khối để tính toán tham số điều khiển (luật điều khiển L)

sử dụng ướ c lượ ng tham số mô hình quá trình∧

Θ (k) . Tham số điều khiển khi đódùng để tính toán giá trị ngõ ra của bộ điều khiển u(k) ở  mỗi chu kì lấy mẫu.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 17/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 16

 Hình A1.5: Cấu trúc thuật toán bên trong của bộ điều khiển tự chỉnh định

Trong một số bộ điều khiển tự chỉnh định, quá trình nhận dạng không dùng

để xác định ướ c lượ ng tham số mô hình quá trình∧

Θ (k) , đúng ra là việc tham số hóa lại thích hợ p vòng điều khiển có thể đượ c sử dụng để ướ c lượ ng đệ quy thamsố bộ điều khiển một cách trực tiếp. Điều này có ngh ĩ a là cần phải tìm ra mối quanhệ giữa ngõ vào và ngõ ra quá trình và định ngh ĩ a nó một cách trực tiếp từ tham số bộ điều khiển mà không tính toán lại chúng, sử dụng ướ c lượ ng tham số mô hìnhquá trình. Bộ điều khiển này đượ c gọi là không tườ ng minh, trong khi bộ điềukhiển sử dụng tổng hợ p từ ướ c lượ ng tham số mô hình quá trình đượ c gọi là tườ ngminh. Nếu chúng ta minh họa bộ điều khiển tự chỉnh tườ ng minh sử dụng sơ  đồ như Hình A1.6, trong đó Qi  là tiêu chuẩn nhận dạng, Qs là tiêu chuẩn tổng hợ p bộ điều khiển và q là tham số  bộ điều khiển, chúng ta có thể vẽ  sơ  đồ  của bộ điều

khiển tự chỉnh không tườ ng minh như ở  Hình A1.7.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 18/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 17

 Hình A1.6: Sơ  đồ khối bộ tự chỉnh định tườ ng minh vớ i nhận dạng trực tiếp

Hình A1.7: Sơ  đồ khối bộ nhận dạng không tườ ng minh (vớ i nhận dạnggián tiếp)

1.2.3.2  Lịch sử  phát triển bộ điều khiển tự  chỉnh:

Sau đây, xin trình bày ngắn gọn lịch sử  phát triển của bộ  điều khiển tự chỉnh tườ ng minh. Phươ ng pháp đượ c sử  dụng trong bộ điều khiển tự  chỉnh lầnđầu tiên đượ c đề cập trong công trình của Kalman năm 1958. Ông ta đã thiết kế một máy tính chỉ dùng để nhận dạng tham số của mô hình quá trình và sau đó tính

toán luật điều khiển sử dụng tiêu chuẩn bình phươ ng cực tiểu. Bài toán này đượ clàm sống lại đầu thập niên 1970 bở i công trình của Peterka và Ǻström vàWittenmark và những ngườ i khác. Phươ ng pháp này đã phát triển một cách đángkể từ đó. Bộ điều khiển tự chỉnh đầu tiên đượ c thiết kế để cực tiểu sai lệch ngõ rahệ thống trong đó một số bất lợ i bị loại bỏ bằng cực tiểu tổng quát, phươ ng phápphân tán ngõ ra đượ c phát triển bở i Clark và Gawthrop. Nó đượ c gọi là phươ ngpháp đơ n bướ c bở i vì chỉ một mẫu ngõ ra quá trình đượ c xét đến trong tiêu chuẩnbình phươ ng. Một nhượ c điểm lớ n đó là chúng không thể điều khiển quá trình

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 19/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 18

không cực tiểu pha, là quá trình trong đó đa thức tử  số  hàm truyền có nghiệmkhông ổn định. Bài toán này có thể giải quyết bằng việc sử dụng tiêu chuẩn đabướ c là lờ i giải của bài toán bình phươ ng tổng quát. Nói chung việc tổng hợ p điềukhiển này liên quan đến các tính toán lặp khá phức tạp. Ngườ i ta nhận thấy rằngcác phươ ng pháp giải tích có thể đượ c sử dụng để tìm các mối quan hệ tườ ng minh

tươ ng đối đơ n giản để xác định bộ điều khiển tối ưu cho các mô hình một chiềubậc không lớ n hơ n hai.

Vào cuối thập niên 1970, đầu thập niên 1980 công trình đầu tiên đượ c thựchiện trên bộ điều khiển tự chỉnh dựa vào đặt cực. Suốt thập niên 1980, nhiều sự chú ý cho các phươ ng pháp thích nghi dự báo đơ n và đa bướ c. Các bộ điều khiểntự chỉnh lai sử dụng toán tử δ đượ c phân tích tươ ng tự. Bên cạnh sự phát triển nàycũng có sự khám phá các phươ ng pháp tổng hợ p cho bộ điều khiển PID số có thể sử  dụng ướ c lượ ng tham số đạt đượ c thông qua nhận dạng đệ  quy để  tính toántham số điều khiển. Các tham số này sau đó đượ c sử dụng để tính toán các thànhphần của bộ điều khiển PID, đó là độ lợ i KP, và các hằng số tích phân TI, vi phân

TD.

1.3  Tóm tắt:

Trong chươ ng này, định ngh ĩ a tổng quát của điều khiển thích nghi trongđiều khiển tự động và phân loại hệ thống điều khiển thích nghi đã đượ c trình bày.Cấu trúc thuật toán và lịch sử  phát triển của bộ điều khiển tự  chỉnh cũng đượ ctrình bày.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 20/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 19

Chươ ng 2

Ướ c lượ ng trự c tuyến tham số hệ thống

Chươ ng này đượ c trình bày như sau: phần 2.1 nêu lên lý do cũng như cácbướ c ướ c lượ ng trực tuyến tham số hệ thống. Các loại cấu trúc mô hình đượ c sử dụng trong nhận dạng đượ c trình bày trong phần 2.2. Phần 2.3 trình bày haiphươ ng pháp ướ c lượ ng bình phươ ng cực tiểu đệ quy. Định ngh ĩ a và một số ví dụ về tín hiệu kích thích liên tục đượ c thể hiện trong phần 2.4. Và cuối cùng, phần 2.5là kết luận của chươ ng.

2.1 Giớ i thiệu:

Trong nhiều ứng dụng, cấu trúc đối tượ ng (mô hình) có thể  biết, nhưngtham số của nó có thể không biết và thay đổi do thay đổi điều kiện hoạt động, tuổithọ thiết bị,… Do đó, ướ c lượ ng ngoại tuyến (off-line) tham số là không đủ.

Các sơ  đồ ướ c lượ ng trực tuyến là nói đến các sơ  đồ ướ c lượ ng cung cấpthườ ng xuyên ướ c lượ ng tham số  quá trình bằng xử  lý dữ  liệu vào ra một cáchtrực tuyến. Ý tưở ng là so sánh đáp ứng hệ thống quan sát y(k) vớ i ngõ ra mô hìnhtham số hóa ŷ(θ,k), mà cấu trúc của nó giống vớ i cấu trúc mô hình quá trình. Khiđó, θ(k) đượ c điều chỉnh liên tục sao cho ŷ(θ,k) tiến gần đến y(k) khi k tăng. (Dướ iđiều kiện ngõ vào nào đó, ŷ tiến gần đến y ám chỉ rằng θ(k) tiến gần đến θ*).

Do đó, thủ tục ướ c lượ ng tham số trực tuyến liên quan đến 3 bướ c sau:• Bướ c1 : Chọn ra một mô hình tham số hóa đối tượ ng phù hợ p.• Bướ c2 : Chọn một luật thích nghi để tạo ra hoặc cập nhật θ(k).• Bướ c3 : Thiết kế ngõ vào đối tượ ng sao cho θ(k) tiến gần đến θ* khi

k → ∞ .• Nhận xét: Trong điều khiển thích nghi, sự  hội tụ  của θ(k) đến θ*

thườ ng không phải là một trong các mục tiêu, do đó hai bướ c đầu tiên là quantrọng nhất.

2.2 Các loại cấu trúc mô hình:

Khi hệ thống không thể đượ c mô hình bằng việc sử dụng các nguyên lý vậtlý. Lý do là thiếu thông tin về hệ thống. Một trườ ng hợ p khác là khi các mối quanhệ vật lý quá phức tạp không thể làm sáng tỏ đượ c. Phươ ng pháp để giải quyết vấnđề này là sử  dụng các mô hình chuẩn, mà theo thực nghiệm có thể  xử  lý nhiềutrườ ng hợ p trong các hệ  thống động học. Loại phổ biến nhất trong các mô hìnhchuẩn là các hệ thống tuyến tính.

Mô hình rờ i rạc tổng quát tham số hóa bở i θ có thể đượ c viết lại như sau:

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 21/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 20

( )   (   )   ( )   (   )   ( )1 1, , y k G q u k H q e k θ θ − −= +   (A2.1)

Trong đó:1q−   :toán tử sai phân lùi

( ) ( )1 1q y k y k  −= −  

(   )1,G q   θ −   :mô hình hệ thống

(   )1, H q   θ −   :mô hình nhiễu

( )e k    :nhiễu trắng

Trong nhiều trườ ng hợ p việc sử dụng cấu trúc mô hình chuẩn trở  nên tiệnlợ i. Trong mô hình hộp đen vớ i các phươ ng pháp sai số dự báo, cấu trúc mô hìnhtổng quát sau đây thườ ng đượ c sử dụng:

(   )   ( )(   )(   )

  ( )(   )(   )

  ( )

1 11

1 1

 B q C q A q y k u k e k 

F q D q

− −

−= +

− −  (A2.2)

Trong đó:

(   )1 1 21 ...1 2na A q a q a q a qna

− − − −= + + + +  

Và tươ ng tự cho các đa thức C, D và F, trong khi:

(   )1 1 2 ...1 2nb B q b q b q b q

nb− − − −

= + + +  

Bảng A2.1 trình bày các loại cấu trúc mô hình là trườ ng hợ p cụ thể của(A2.2).

Bảng A2.1

Đa thức sử dụng Tên cấu trúc mô hìnhB FIRA,B ARXA,B,C ARMAXB,F OEB,C,D,F BJ

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 22/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 21

2.3 Phươ ng pháp bình phươ ng cự c tiểu đệ quy mở  rộng:

Phươ ng pháp bình phươ ng cực tiểu đượ c sử dụng phổ biến trong nhận dạnghệ thống. Nguyên lý của nó là các tham số chưa biết của mô hình toán học có thể đượ c chọn bằng cách tối thiểu tổng bình phươ ng sai số giữa ngõ ra quan sát vớ i

ngõ ra dự báo vớ i trọng số đo mức độ chính xác thích hợ p. Chuẩn bình phươ ngcực tiểu là phươ ng trình bậc hai, vì vậy nghiệm giải tích đối vớ i bài toán bìnhphươ ng cực tiểu tồn tại nếu biến đo tuyến tính theo tham số chưa biết.

Trong điều khiển thích nghi, dữ  liệu đượ c thu thập tuần tự. Vì vậy thuậttoán bình phươ ng cực tiểu là đáng đượ c xét đến. Nó tiết kiệm thờ i gian tính toánbằng cách sử dụng ướ c lượ ng tại thờ i điểm t-1 để tính ướ c lượ ng tại thờ i điểm t.

Xét quá trình đượ c mô tả như sau:

(   )   ( )   (   )   ( )   (   )   ( )1 1 1d  A q y k q B q u k C q e k − − − −= +   (A2.3)

Trong đó :

(   )1 1 21 ...1 2na A q a q a q b qna

− − − −= + + + +  

(   )1 1 2 ...1 2nb B q b q b q b q

nb− − − −

= + + +  

(   )1 1 21 ...1 2ncC q c q c q c qnc

− − − −= + + + +  

na, nb, nc tươ ng ứng là bậc của các đa thức A, B, C. d là độ trễ.Đây chính là mô hình ARMAX.Mô hình này có thể đượ c viết lại như sau:

( ) ( ) ( ) ( )

( ) ( ) ( )

1 ... 1 ...1 11 ...1

 y k a y k a y k na b u k d na

b u k d nb c e k c e k ncncnb

= − − − − − + − − + +

− − + − + + − 

Mô hình này tuyến tính theo tham số  và có thể  biểu diễn dướ i dạng

vector như sau:

( ) ( )1 1T e y k e k k k 

θ ∧

= Φ +− −

  (A2.4)

Vớ i

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 23/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 22

, ,..., , , ,..., , , ,...,1 2 1 2 1 21

a a a b b b c c cna nck nbθ 

 

∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧=

− 

[

]

, ,..., , , ,..., ,1 1 2 1 2

, ,...,1 2T 

e  y y y u u uk k k k na k d k d k d nb

e e ek k k nc

Φ = − − −− − − − − − − − − −

− − − 

1k θ 

− đượ c gọi là vector tham số ướ c lượ ng.

1ek 

Φ−

 đượ c gọi là vector đệ quy.

Nếu 1ek 

Φ−

 có sẵn thì thuật toán RLS có thể đượ c sử dụng để ướ c lượ ng đệ 

quy θ. Thực tế, tất cả các phần tử  của 1ek 

Φ−

 đều biết ngoại trừ nc phần tử  cuối

cùng. Trong RELS, các phần tử này đượ c thay bằng sai số dự báo trướ c:

1 1T  y

k k k k  ε θ = − Φ

− −  (A2.5)

Trong đó, 1k Φ

− đượ c cho bở i vector giả đệ quy:

[

]

, ,..., , , ,..., ,1 1 2 1 2, ,...1 2

 y y y u u uk k k k na k d k d k d nb

k k k ncε ε ε 

Φ = − − −− − − − − − − − − −

− − −

 

Nhận xét : trong trườ ng hợ p C(q-1 ) = 1, ta có bình phươ ng tối thiểu đệ quythông thườ ng. Dướ i đây là hai phươ ng pháp bình phươ ng cực tiểu đệ  quy tiêubiểu.

2.3.1 Phươ ng pháp bình phươ ng cự c tiểu đệ quy thuần túy:

Xét chỉ tiêu bình phươ ng:

1 2( )121

k  T  J yi   ik k 

i

θ = − Φ∑−

=

  (A2.6)

Vớ i:

( ) J J k k k 

θ =  

Tìmk 

θ    sao cho  J k 

  → min ?

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 24/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 23

  Thuật toán 2.1

(   )1 11 1 1

1 1 1

C T k k   y

k k k k k  T  C k k k 

θ θ θ ϕ 

Φ− −

= + − Φ− − −

+Φ Φ− − −

  (A2.7)

1 1 1 11 1 1 1 1

T C C k k k k  C C 

k k    T  C k k k 

Φ Φ− − − −= −

−+ Φ Φ

− − −

  (A2.8)

Thuật toán RLS thuần túy ở  trên có thể đượ c giải thích một cách trực quannhư sau. Ướ c lượ ng

k θ    tìm đượ c bằng cách cộng số hạng sai số dự báo có trọng

số  1 1T  y

k k k θ − Φ

− − vào ướ c lượ ng trướ c 1k 

θ −

 . Số hạng 1 1T k k 

θ    Φ− −

  có thể đượ c

coi như giá trị  của y tại thờ i điểm k đượ c dự báo bở i mô hình vớ i ướ c lượ ng

trướ c đó 1k θ 

− . Ma trận đối xứng C 

k  đượ c định ngh ĩ a là

1

1 11

k  T C i ik  i

= Φ Φ∑− −

=

 

vớ i điều kiện đầu 0C    xác định dươ ng. Theo định ngh ĩ a này dễ  thấy

11

0 1 11

k  T C C i ik  i

−+ Φ Φ∑

− −=

 . Chú ý rằng C k 

 có thể gần1

1 11

k  T i ii

Φ Φ∑− −

=

  tùy

ý bằng cách chọn 0C    đủ lớ n.

Nhượ c điểm chính của phươ ng pháp RLS thuần túy là thiếu trọng số  dữ liệu. Mỗi ngõ vào và ra ảnh hưở ng lên kết quả bở i cùng trọng số nhưng tham số quá trình có thể thay đổi theo thờ i gian. Do đó, các ngõ vào và ra mớ i ảnh hưở nglên ngõ ra nhiều hơ n các giá trị  cũ. Vấn đề  này có thể  đượ c giải quyết bằngphươ ng pháp RLS vớ i xponential forgetting, sử dụng hệ số forgetting φ và giảm

các trọng số dữ  liệu ở  các bướ c trướ c. Các trọng số  k iϕ    −   đượ c gán lên các giátrị ui và yi.

2.3.2 Phươ ng pháp bình phươ ng cự c tiểu đệ quy vớ i exponential forgetting:

Xét chỉ tiêu bình phươ ng:

(   )2

112 1

k  k i T  J yi   ik k i

ϕ θ −= − Φ∑

−=

  (A2.9)

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 25/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 24

Vớ i :

( ) J J k k k 

θ =  

Tìm k θ   sao cho  J k  → min ?

Xem chứng minh ở  Phụ Lục, ở  đây xin trình bày kết quả.

Thuật toán 2.2

(   )1 11 1 1

1 1 1

C T k k   y

k k k k k  T  C k k k 

θ θ θ ϕ 

Φ− −

= + − Φ− − −

+ Φ Φ− − −

  (A2.10)

1 1 1 1 11

1 1 1

T C C k k k k  C C 

k k    T  C k k k 

ϕ  ϕ 

Φ Φ− − − −

= −−

+ Φ Φ− − −

  (A2.11)

Nhận xét:

• Trọng số mũ ám chỉ rằng các dữ liệu cũ bị chiết giảm theo hàm mũ, tạo rakhả năng bám theo các thay đổi trong hệ  thống biến đổi theo thờ i gian hoặc phituyến. Theo phươ ng pháp này dữ  liệu mớ i nhất có trọng số bằng 1, trong khi dữ 

liệu trướ c k thờ i điểm có trọng số k 

ϕ  . Tham số φ đượ c gọi là hệ số forgetting (hệ số  “quên”) và thườ ng đượ c chọn trong tầm 0.95 < φ  < 1. Việc lựa chọn φ  phụ thuộc vào các tính chất của hệ thống thay đổi như thế nào. Giá trị φ càng nhỏ dẫnđến “quên” càng nhanh, có thể đượ c sử dụng để giải quyết các hệ thống thay đổinhanh hoặc phi tuyến. Ngượ c lại, các giá trị φ  càng gần vớ i 1 thì “quên” càngchậm và có thể đượ c sử dụng cho các hệ thống thay đổi từ từ.

• Khó khăn tiềm ẩn của phươ ng pháp bình phươ ng cực tiểu đệ  quy vớ iexponential forgetting là hiện tượ ng “wind-up” ma trận C. Nếu các vector đệ quymang ít hoặc không mang thông tin, tức là 0C 

k k Φ ≈ , từ  đó suy ra

 / 

1

C C 

k k 

  ϕ ≈

 . Do đó, khi không có thông tin nhập vào bộ ướ c lượ ng trong một

chu kỳ dài thì việc chia cho φ ở  mỗi bướ c sẽ gây ra C k 

 trở  nên rất lớ n, dẫn đến

hành vi thất thườ ng của các ướ c lượ ng và có thể  tràn số. Do đó, khi sử  dụngphươ ng pháp này cần phải cẩn thận. Ý tưở ng chính là bảo đảm C 

k   ràng buộc. Có

rất nhiều cách thực hiện điều này như  thêm một tín hiệu dither vào ngõ vào hệ thống để  ngăn thuật toán không xảy hiện tượ ng “wind-up” ma trận C. Một khả 

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 26/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 25

năng khác là dừng cập nhật vector tham số và ma trận C khi C k k 

Φ   và/hoặc e(k)

đủ nhỏ, hoặc reset ma trận C đến một ma trận xác định dươ ng đượ c cho…

2.4 Sự  kích thích liên tục:

2.4.1 Ví dụ:

Xét đối tượ ng bậc nhất sau:

( ) ( ) ( )1 , y k ay k bu k + = − +   ( )0 0 y y=  

Hay

b y u

q a

=

+

 

Trong đó a > 0, b là những hằng số chưa biết và y(k), u(k) đượ c đo tại thờ iđiểm 0kT   và bị chặn.

Chúng ta muốn ướ c lượ ng a, b bằng cách xử lý dữ liệu thích hợ p vào/ra u,y. Rõ ràng để có thể ướ c lượ ng đượ c a, b dữ liệu vào/ra phải chứa đầy đủ thông tinvề a, b.

Ví dụ, nếu u(k) = 0 thì ngõ ra là:

( ) ( ) 0k 

 y k a y= −  

không mang thông tin về tham số b. Ngoài ra, nếu 00 y   =  thì y(k) ≡ 0 ∀  

k≥ 0 không mang bất kỳ  thông tin nào về  tham số đối tượ ng. Bây giờ  nếu chọnu(k) = 0c  ( 0c  là hằng số khác không) thì

( ) ( ) ( )1

0 0 1

k k i y k a y c b a

i

−= − + −∑

=

 

mang đầy đủ thông tin về a, b nếu 00 y   ≠ .Ví dụ trên chứng tỏ rằng để có thể ướ c lượ ng trực tuyến a, b, tín hiệu ngõ

vào phải đượ c chọn sao cho y(k) mang đầy đủ thông tin về a, b.

2.4.2 Định ngh ĩ a tín hiệu kích thích liên tục:

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 27/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 26

  Tín hiệu u đượ c gọi là kích thích liên tục (PE) bậc n nếu ma trận dướ i đâyxác định dươ ng.

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

0 1 1

1 0 2

1 2 0

c c c n

c c c nC n

c n c n c

=

− −

  (A2.12)

Trong đó

( ) ( ) ( )1

lim1

t c k u i u i k  

t    t  i= −∑

→∞ =

 

Định lí : Tín hiệu u kích thích liên tục bậc n nếu và chỉ nếu

( ) ( )

21

lim 01

t  A q u k 

t    t   i

>∑→∞ =

  (A2.13)

Đối vớ i tất cả các đa thức A khác 0 có bậc n-1 hoặc nhỏ hơ n.Chứng minh: Đặt đa thức A là:

( ) 1 2 ...0 1 1n n A q a q a q a

n− −

= + + +−

 

Suy ra

( ) ( )

( ) ( )

21

lim1

21

lim 1 ...0 11

t  A q u k 

t    t   i

t a u k n a u k  

nt    t   i

T a C an

∑→∞ =

= + − + +∑−→∞ =

=

 

Trong đó ma trận C n  đượ c cho ở  (A2.12). Theo định ngh ĩ a, u kích thích

liên tục nên C n  xác định dươ ng   ( ) ( )

21

0 lim 01

t T a C a a A q u k  n t    t   i

→ > ∀ → >∑→∞ =

.

2.4.3 Ví dụ về tín hiệu kích thích liên tục:

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 28/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 27

 Ví dụ 1. Hàm nấc

Xét u(k) = 1 đối vớ i t > 0 và bằng 0 đối vớ i t ≤ 0. Suy ra

( ) ( ) 1 010 0

k q u k 

=− =

≠ 

Do đó hàm nấc tối đa có thể là PE bậc 1. Bở i vì

( ) ( )1 20 lim 1

1

t c u i

t    t  i= =∑

→∞ =

 

Suy ra

1C n   =  

Là ma trận xác định dươ ng.

Ví dụ 2. Hàm sine

Xét u(k) = sin(ωk). Suy ra

(   )   ( )2 2 cos 1 0q q u k  ω − + =  

Do đó hàm sine tối đa có thể là PE bậc 2. Bở i vì

( ) ( )1 20 lim

1

t c u i

t    t  i=   ∑

→∞ =

 

( )1 2lim sin

1

t i

t    t  iω =   ∑

→∞ =

 

( )( )1 1lim 1 cos 221

t  it    t  i

ω = −∑→∞ =

 

( )1 1 1

lim cos 22 2 1

t i

t    t  iω = −   ∑

→∞ =

 

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 29/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 28

12

=  

( ) ( ) ( )1

1 lim 1

1

t c u i u i

t    t  i= −∑

→∞ =

 

( ) ( )( )1

lim sin sin 11

t i i

t    t  iω ω = −∑

→∞ =

 

( )( )1 1

lim cos cos 2 121

t i

t    t  iω ω = − −∑

→∞ =

 

( )( )1 1 1

cos lim cos 2 12 2 1

t i

t    t  iω ω = − −∑

→∞ =

 

1cos

2  ω =  

Suy ra

1 cos12 cos 1

C nω 

ω 

=   là ma trận xác định dươ ng

Ví dụ 3. Tín hiệu ngẫu nhiênDo tín hiệu này không thể dự báo đượ c nên phươ ng trình (A2.13) luôn đúng.Suy ra tín hiệu ngẫu nhiên là PE có bậc bất kì.

2.4.4 Nhận dạng trong vòng kín:

Trong điều khiển thích nghi, nhận dạng hệ  thống thườ ng đượ c thực hiệndướ i các điều kiện vòng kín, điều này có thể gây ra một số khó khăn nào đó.

Ví dụ 4. Mất nhận dạng do hồi tiếp

Xét hệ thống đượ c mô tả bở i

y(k) = ay(k - 1) + bu(k - 1) + e(k)

Các tham số  a và b phải đượ c nhận dạng trong khi quá trình đượ c điềukhiển bở i bộ điều khiển tỉ lệ vớ i độ lợ i K.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 30/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 29

u(k) = - Ky(k)

Từ hai phươ ng trình trên, ta có đượ c hành vi vòng kín của hệ thống là:

y(k) = (a - bk)y(k - 1) + e(k)

Điều này nói lên rằng các tham số ướ c lượ ng ,a b

∧ ∧ có dạng

a a K 

b b

γ  

γ  

∧= +

∧= +

 

Trong đó γ là một số tùy ý sẽ cho cùng mô tả vào-ra của quá trình có thamsố  (a,b) dướ i điều khiển hồi tiếp tỉ lệ. Do đó, không thể ướ c lượ ng các tham số 

a,b cho dù ngõ vào u(k) là kích thích liên tục.Do đó, “sự kích thích liên tục không phải là điều kiện đủ lên tín hiệu ngõvào trong điều khiển vòng kín”.

Vấn đề thiếu nhận dạng do hồi tiếp sẽ biến mất nếu sử dụng hồi tiếp tuyếntính có bậc đủ cao hoặc nếu độ lợ i hồi tiếp thay đổi theo thờ i gian.

Chẳng hạn, trong Ví dụ 5 sử dụng dạng hồi tiếp sau đây là đủ.Vớ i K2 ≠ 0. Hoặc có thể sử dụng luật hồi tiếp .

u(k) = - Ky(k)

Trong đó K thay đổi theo thờ i gian. Chẳng hạn, trong Ví dụ 5 sử dụng haigiá trị độ lợ i là đủ. Mỗi giá trị độ  lợ i tươ ng ứng vớ i một đườ ng thẳng có độ dốc1/K trong không gian tham số. Hai đườ ng này cắt nhau tại một điểm duy nhất.

Trong điều khiển thích nghi do các độ  lợ i hồi tiếp dựa vào tham số ướ clượ ng nên có một sự thay đổi tự nhiên trong hồi tiếp.

2.5 Kết luận:

Trong chươ ng này, các bướ c ướ c lượ ng trực tuyến tham số hệ  thốngcũng như các loại cấu trúc mô hình đượ c sử dụng trong ướ c lượ ng đượ c trình bày.Hai phươ ng pháp ướ c lượ ng bình phươ ng cực tiểu đệ  quy mở   rộng đượ c thể 

hiện chi tiết. Việc phân tích và ví dụ cho thấy rằng tín hiệu kích thích liên tụcchưa là điều kiện đủ trong nhận dạng hệ thống vòng kín.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 31/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 30

Chươ ng 3

Bộ điều khiển tự  chỉnh (STR) và PID

Chươ ng này trình bày về  bộ  điều khiển STR bao gồm ý tưở ng cơ  bảncủa bộ điều khiển STR, bộ điều khiển hai bậc tự do và các thuật toán đặt cực.

3.1 Bộ điều khiển tự  chỉnh STR :

3.1.1 Ý tưở ng cơ  bản:

Trong hệ  thống thích nghi, ngườ i ta giả  sử  rằng tham số điều khiển đượ cđiều chỉnh liên tục. Điều này có ngh ĩ a là tham số điều khiển thay đổi theo quátrình. Tuy nhiên, việc phân tích các tính chất hội tụ  và ổn định đối vớ i các hệ thống như vậy là khó. Để đơ n giản bài toán, ngườ i ta giả sử rằng quá trình có cáctham số là hằng số nhưng không biết. Khi biết đượ c quá trình, thủ tục thiết kế xácđịnh một tập hợ p các tham số điều khiển mong muốn. Bộ điều khiển thích nghiphải hội tụ về  các giá trị tham số này ngay cả khi quá trình không biết. Bộ điềukhiển vớ i tính chất này đượ c gọi là tự chỉnh, bở i vì nó tinh chỉnh bộ điều khiểnđến chất lượ ng mong muốn.

Bộ điều khiển tự  chỉnh (STR) dựa vào ý tưở ng tách ướ c lượ ng tham số chưa biết ra khỏi thiết kế bộ điều khiển. Ý tưở ng này đượ c minh họa ở  Hình A3.1.

Tham số  chưa biết đượ c ướ c lượ ng trực tuyến, sử dụng các phươ ng pháp

ướ c lượ ng đệ quy. Các tham số ướ c lượ ng đượ c coi như đúng, ngh ĩ a là không xétđến độ  không chắc chắn. Điều này đượ c gọi là Nguyên lý Tươ ng đươ ng Chắcchắn. Nhiều sơ  đồ ướ c lượ ng khác nhau có thể đượ c sử dụng, chẳng hạn như bìnhphươ ng cực tiểu, bình phươ ng cực tiểu mở   rộng,… Các phươ ng pháp thiết kế cóthể đượ c sử dụng là thay đổi cực tiểu, bình phươ ng tuyến tính, đặt cực vàmô hình tham chiếu. Phươ ng pháp thiết kế đượ c chọn phụ  thuộc vào yêu cầuchất lượ ng vòng kín và điều khiển thực tế. Dướ i đây là bộ điều khiển tự chỉnh địnhđặt cực.

Khối “Ướ c lượ ng” tượ ng trưng cho ướ c lượ ng trực tuyến tham số  quátrình sử dụng các thuật toán bình phươ ng cực tiểu. Khối “Thiết kế” tượ ng trưng

cho lờ i giải trực tuyến đối vớ i bài toán thiết kế cho hệ thống vớ i tham số đã biết.Đây đượ c gọi là bài toán thiết kế cơ  bản. Khối “Bộ điều khiển” tính toán tín hiệuđiều khiển từ  các tham số đượ c tính toán ở   khối trướ c. Đôi khi thuật toán STRđượ c đơ n giản bằng cách tham số hóa lại và ướ c lượ ng trực tiếp các tham số bộ điều khiển, không cần phải ướ c lượ ng các tham số quá trình.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 32/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 31

 Hình A3.1 : Sơ  đồ khối bộ tự chỉnh định

3.1.2 Bộ điều khiển hai bậc tự  do:

Hình A3.2 : Bộ điều khiển hai bậc tự do

Xét quá trình đượ c mô tả bở i hệ thống một ngõ vào, một ngõ ra (SISO) :

(   )   ( )   (   )   ( )   (   )   ( )1 1 1 A q y k B q u k C q e k − − −= +  

Và bộ điều khiển hai bậc tự do :

(   )   ( )   (   )   ( )   (   )   ( )1 1 1P q u k R q w k Q q y k  − − −= −  

Trong đó :

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 33/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 32

(   )

(   )

(   )

1 1 2 ...0 1 21 1 2 ...0 1 21 1 2

...0 1 2

npP q p p q p q p qnp

nqQ q q q q q q q qnq

nr 

 R q r r q r q r qnr 

−− − −= + + + +

−− − −= + + + +

− − − −= + + + +

 

np, nq, nr là bậc của các đa thức P, Q, R tươ ng ứng.

Bộ  điều khiển này gồm có thành phần nuôi tiến (feedforword) vớ i hàm

truyền(   )(   )

1

1

 R q

P q

− và thành phần hồi tiếp (feedback) vớ i hàm truyền

(   )(   )

1

1

Q q

P q

−  . Do

đó, nó có hai bậc tự do. Sơ  đồ khối của hệ thống vòng kín đượ c minh họa ở  Hình

A3.2. Khử u(k) ta đượ c đáp ứng vòng kín :

( ) ( ) ( ) BR CP

 y k w k e k  AP BQ AP BQ

= ++ +

 

Trong đó AP + BQ là đa thức đặc trưng vòng kín.Mong muốn có đáp ứng vòng kín:

( ) ( ) Bm y k w k m Am

=  

Từ đó, ta có (giả sử e(k)=0):

 B BR   m AP BQ Am

=+

 

Một cách tổng quát, ( )   ( )deg deg AP BQ Am+ >  . Suy ra, BR và AP + BQ

có thừa số chung A0, gọi là đa thức quan sát.

Theo như  mong muốn, chỉ  khử  bỏ  các zero ổn định. Do đó, phântích B thành B+B-.

Trong đó: B+ : chứa các zero ổn định và bị khử B- : chứa các zero không ổn định và không bị khử 

Từ đó, ta có:

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 34/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 33

0

0

 A B B   m BR B B Rm AP BQ A A A AP B B Qm m

+ −

= ⇔ =+ −+   +

 

Suy ra:

1P P B+=  

Do đó:

1 0 AP B Q A Am−

+ =  

Điều kiện để bộ điều khiển nhân quả:

( ) ( )( ) ( )

( ) ( )   ( ) ( )

( )   ( )   ( )   ( )

deg degdeg deg

deg deg deg deg

deg 2deg deg deg 10

Q P R P

 A B A Bm m

 A A B Am

− ≥ −

+≥ − − −

 

3.1.3 Các thuật toán đặt cự c:

3.1.3.1 Thuật toán 1:

Các dữ liệu cho : đa thức A, BCác chỉ tiêu chất lượ ng : đa thức Am, Bm, A0 Các điều kiện tươ ng thích :

B- chia hết Bm

( ) ( )   ( ) ( )

( )   ( )   ( )   ( )

deg deg deg deg

deg 2deg deg deg 10

 A B A Bm m

 A A B Am

− ≥ −

+≥ − − −

 

Bướ c 1. Phân tích B thành : B = B

+

B

-

Bướ c 2. Giải phươ ng trình : AP1 + B-Q = A0Am 

Bướ c 3. Tính : P = P1B+ và 0

 Bm R A B

= −  

Bướ c 4. Tính luật điều khiển (   )   ( )   (   )   ( )   (   )   ( )1 1 1P q u k R q w k Q q y k  − − −= −  

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 35/105

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 36/105

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 37/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 36

dụng do sự khó khăn trong việc xây dựng hàm truyền đối tượ ng. Phươ ng phápphổ biến nhất để chọn tham số bộ  điều khiển PID thươ ng mại hiện nay là phươ ngpháp Ziegler-Nichols.

Bộ điều khiển PID có hàm truyền như sau:Trong miền liên tục:

( )   i p d 

K K s

sG s K    += +  

Trong miền rờ i rạc:1

1 101

0

1) (1 )

2 1(   i d 

 p

K T K qK q

q T G q

− −

+= + + −

− 

Dướ i đây là sơ  đồ bộ điều khiển PID.

Hình A3.3: Sơ  đồ khối bộ điều khiển PID

Công thức tính tín hiệu điều khiển u(k) từ sai số e(k):

1( ) ( ) ( ) ( )

0

  d 

k  d u k K e k e s ds T e k   p

T dt i

= + +∫  

Trong đó :u(k): tín hiệu điều khiểne(k): là sai số đượ c định ngh ĩ a e(k) = w(k) – y(k)w(k): là tín hiệu đặty(k): là ngõ ra

3.2.2 Phươ ng pháp đáp ứ ng quá độ:

Nhiều mô hình công nghiệp có đáp ứng nấc như Hình A3.4

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 38/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 37

 Hình A3.4: Đáp ứng nấc của một quá trình công nghiệp tiêu biểu

Đáp ứng này có thể xấp xỉ bằng hàm truyền sau :

( ) 1k    LsG s e ZN    Ts

−=+

 

Trong đó :k là độ lợ i t ĩ nhL là thờ i gian trễ T là hằng số thờ i gian

Chú ý :

 LT 

a k =  

Một cách đơ n giản để xác định các tham số của bộ điều khiển PID là dựavào đáp ứng nấc đượ c Ziegler-Nichols phát triển. Phươ ng pháp này chỉ  sử dụnghai tham số như Bảng A3.1 sau.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 39/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 38

Bộ điều khiển K Ti  Td P 1/aPI 0.9/a 3L

PID 1.2/a 2L L/2Bảng A3.1

Quy luật này đượ c phát triển bở i các mô phỏng thực nghiệm nhiều hệ thống khác nhau. Nó có nhượ c điểm là hệ  thống vòng kín vọt lố  nhiều. Có thể chỉnh sửa các tham số để có kết quả tốt hơ n.

3.3 Tóm tắt

Trong chươ ng này, bộ điều khiển STR đặt cực và PID đã đượ c trình bày.Các thuật toán đặt cực đã đượ c thể hiện chi tiết. Công thức tính tham số bộ điềukhiển PID theo phươ ng pháp đáp ứng nấc và phươ ng pháp vòng kín Ziegler-

Nichols đã đượ c trình bày.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 40/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 39

Chươ ng 4

Nhận dạng mô hình lò nhiệt

4.1 Xác định mô hình lò nhiệt bằng đáp ứ ng nấc:

Sử  dụng phươ ng pháp đáp ứng nấc của Ziegler-Nichols, ta thu đượ chàm truyền của lò nhiệt như sau:

( )1

k    LsG s e ZN    Ts

−=

Hình A4.1: Biểu đồ thu thập dữ liệu lò nhiệt vòng hở  

Vớ i k = 78, L = 60 và T = 622.Mô hình này có thể xấp xỉ như sau để đượ c mô hình tuyến tính.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 41/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 40

( )( )( )1 1

k G s ZN    Ts Ls

=+ +

 

( )( ) ( )

78622 1 60 1

G s ZN    s s

⇔ =+ +

 

( ) 27837320 682 1s sG s ZN    + +

⇔ =  

4.2 Tóm tắt:

Trong chươ ng này, mô hình lò nhiệt đượ c nhận dạng. Mô hình này sẽ đượ cdùng để mô phỏng sự hoạt động của bộ điều khiển.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 42/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 41

Chươ ng 5

Vi điều khiển 89V51RD2 và giao tiếp

nối tiếp vớ i PC5.1 Vi điều khiển 89V51RD2

5.1.1 Khái quát chung:

CPU 8051Hoạt động ở  5Vdc trong tầm tần số dao động đến 40MHz.16/32/64 KB bộ nhớ  chươ ng trình trên chip vớ i tính năng ISP (In-System Programming) và IAP (In-Application Programming).Sử dụng chế độ 12 chu kỳ xung nhịp (mặc định) hoặc 6 chu kỳ xungnhịp đượ c chọn bằng phần mềm hoặc ISP.SPI (Serial Peripheral Interface) và tăng cườ ng UART.Có 5 PCA (Programmable Counter Array) vớ i chức năngPWM/Capture/Compare 16 bit.Có 4 port I/O 8 bit: 3 port có dòng lớ n (16mA trên mỗi chân)Có 3 Timer/Counter 16 bit.Watchdog Timer có thể lập trình đượ c.Có 8 nguồn ngắt vớ i 4 mức độ ưu tiên.Có 2 thanh ghi DPTR.Chế độ IEM mức thấp.

Thích hợ p mức logic của TTL và CMOS.Phát hiện nguồn yếu.Chế độ nguồn giãm.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 43/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 42

 Hình A5.1: Sơ  đồ khối P89V51RD2

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 44/105

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 45/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 44

  P1.4/SS (chân xuất/nhập): chọn cổng phụ vào cho SPI.  P1.4/CEX1: Ngõ xuất nhập bên ngoài của Capture/Compare

cho PCA1.  P1.5/MOSI (chân xuất/nhập): Ngõ ra chính, ngõ vào phụ cho

SPI.  P1.5/CEX2: Ngõ xuất nhập bên ngoài của Capture/Compare

cho PCA2.  P1.6/MISO (chân xuất nhập): Ngõ vào chính, ngõ ra phụ cho

SPI.  P1.6/CEX3: Ngõ xuất nhập bên ngoài của Capture/Compare

cho PCA3.  P1.7/SCK (chân xuất/nhập): Ngõ ra chính, ngõ vào phụ  cho

SPI.  P1.7/CEX4: Ngõ xuất nhập bên ngoài của Capture/Compare

cho PCA4.

Port 2 (P2.0 đến P2.7): có số chân từ 21 đến 28, port xuất/nhập.Port 3 (P3.0 đến P3.7): có số chân từ 10 đến 17, port xuất/nhập.  P3.0/RXD: Ngõ vào của Port nối tiếp.  P3.1/TXD: Ngõ ra của Port nối tiếp.  P3.2/INT0: Ngõ vào ngắt ngoài 0.  P3.3/INT1: Ngõ vào ngắt ngoài 1.  P3.4/T0: Ngõ vào đếm của Counter0.  P3.5/T1: Ngõ vào đếm của Counter1.  P3.6/ WR : Điều khiển ghi vào bộ nhớ  dữ liệu ngoài.  P3.7/ RD : Điều khiển đọc từ bộ nhớ  dữ liệu ngoài.

PSEN  (Program Store Enable): Chân 29, chân xuất/nhập.Khi sử  dụng bộ  nhớ   chươ ng trình trong chip, PSEN   không hoạt

động (đặt ở  múc cao). Khi sử dụng bộ nhớ  chươ ng trình ngoài, PSEN  đượ c tíchcực 2 lần trong mỗi chu kỳ máy. Sự chuyển múc cao sang thấp trên PSEN  cưỡ ngbúc từ bên ngoài khi ngõ vào RST đang ở  mức cao trong hơ n 10 chu kỳ máy sẽ đưa MCU vào chế độ lập trình Host từ bên ngoài.

RST (Reset): Chân 9.Trong khi bộ  dao động đang chạy, vi điều khiển sẽ đượ c reset khi

đặt mức cao vào chân này trong 2 chu kỳ máy. Nếu chân PSEN  đượ c điều khiển

bằng cách chuyển tiếp mức cao sang thấp trong khi chân RST giữ ở  mức cao thìMCU sẽ vào chế độ Host từ bên ngoài, ngượ c lại MCU sẽ vào chế độ hoạt độngbình thườ ng.

EA  (External Access Enable): Chân 31.Chân EA  phải đượ c kết nối vớ i điện áp Vss khi cho phép MCU truy

cập mã từ bộ nhớ  chươ ng trình bên ngoài. EA  phải đượ c đưa lên điện áp Vdd khithực thi chươ ng trình bên trong. Tuy nhiên khóa bảo vệ level 4 sẽ vô hiệu hóa EA ,

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 46/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 45

chỉ thực thi chươ ng trình từ bộ nhớ  chươ ng trình bên trong. Chân EA  có thể chịuđựng điện áp đến 12V.

ALE / PROG  (Address Latch Enable): Chân 30.ALE là tín hiệu ngõ ra để chốt byte thấp của địa chỉ trong khi truy

cập bộ nhớ  ngoài. Chân này cũng là ngõ nhập xung lập trình PROG  khi lập trìnhcho chip. Khi hoạt động bình thườ ng, ALE dao động vớ i một tần số  không đổibằng 1/6 lần tần số của bộ dao động và có thể dùng cho các mục đích cấp xungclock cho bên ngoài.

XTAL1 và XTAL2: Chân 18 và 19.XTAL1 và XTAL2 là hai ngõ vào và ra của một bộ khuếch đại dao

động nghịch đượ c cấu hình để dùng như một bộ dao động trên chip.Vdd và Vss: Chân 40 và 20. Chân nối nguồn và chân nối đất của viđiều khiển.

Trong một thờ i gian dài vừa qua, các chức năng Timer/Counter/hoạt độngngắt/hoạt động của port nối tiếp đã đượ c trình bày trong nhiều tài liệu khác nhaurất chi tiết và rõ ràng. Chính vì vậy, trong giớ i hạn đồ án này, ngườ i thực hiện chỉ trình bày thêm về một tính năng PCA của vi điều khiển 89V51RB2/RC2/RD2.

5.1.3 Chứ c năng nổi bật: Chức năng PCA. 

Vi điều khiển 89V51RB2 có 5 kênh PCA. Các thanh ghi chịu tác độnggồm: CMOD, CCON, CCAPMn.

PCA có một Timer 16 bit có chức năng đặc biệt và năm modulecapture/compare có liên quan vớ i Timer 16 bit vừa nêu. Có thể lập trình cho mỗi

module capture/compare vận hành theo một trong bốn chế độ: capture cạnh lênhoặc/và cạnh xuống, timer dùng phần mềm, ngõ ra tốc độ cao, hoặc bộ diều rộngxung. Mỗi module có một chân ra có liên quan trực tiếp vớ i module đó, các chânnày tại port 1. Module 0 đượ c nối vớ i chân P1.3 (CEX0), module 1 nối vớ i P1.4(CEX1) và lần lượ t như vậy cho các module còn lại. Thanh ghi CH và thanh ghiCL chứa giá trị hiện tại của timer 16 bit đếm lên vận hành tự do. Timer PCA làmột gốc thờ i gian chung cho cả năm module và có thể đượ c lập trình để vận hànhtại tần số: 1/6 lần so vớ i tần số của bộ dao động, 1/2 lần so vớ i tần số của bộ daođộng, sự tràn của timer0, hoặc bằng tần số xung ngõ vào tại chân ECI (P1.2). Giátrị đếm của bộ timer này đượ c quyết định bở i các bit CPS1 và CPS0 trong thanh

ghi CMOD.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 47/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 46

 Hình A5.3: Sơ  đồ khối chức năng PCA

Trong thanh ghi CMOD, có ba bit phụ có liên quan vớ i PCA. Các bit đó làCIDL, WDTE và ECF. CIDL cho phép PCA ngừng làm việc ở   chế  độ  nghỉ,WDTE cho phép hoặc không cho vận hành chức năng watchdog của module 4, vàbit ECF khi đượ c đặt vào mức 1 sẽ gây ra một hoạt động ngắt và rồi cờ  tràn củaPCA là CF (đượ c chứa trong thanh ghi CCON) sẽ  lên mức 1 khi tràn timer củaPCA.

Chức năng timer watchdog có ở  module 4 của PCA.

Thanh ghi CCON chứa các bit:  CR: Quyết định PCA có vận hành hay không.  CF: Cờ  báo tràn timer của PCA.  CCF4:0: cờ  báo tràn tươ ng ứng cho bốn module từ 4-1.

Để vận hành đượ c PCA, bit CR (CCON.6) phải lên mức 1 bằng cách dùngphần mềm, ngượ c lại sẽ ngừng vận hành PCA. Bit CF (CCON.7) lên mức 1 khi bộ đếm của PCA tràn và một hoạt động ngắt sẽ xảy ra nếu bit ECF trong thanh ghiCMOD đượ c cho gán mức 1 trướ c đó. Chỉ có thể xóa bit CF bằng phần mềm. Cácbit 0-4 trong thanh ghi CCON là các cờ  tươ ng ứng của các module từ 0-4 và đượ cbật lên mức 1 bằng phần cứng khi một “match” hoặc một “capture” xảy ra, ngườ i

dùng chỉ  có thể  xóa các cờ  này bằng phần mềm. Tất cả  các module trong PCAdùng chung một vector ngắt, hệ thống ngắt trong PCA đượ c trình bày ở  hình

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 48/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 47

 Hình A5.4: Sơ  đồ khối các ngắt của PCA

Mỗi module trong PCA có một thanh ghi đặc biệt liên quan vớ i module ấy.Các thanh ghi này là: CCAPM0, CCAPM1, CCAPM2, CCAPM3 và CCAPM4.Các thanh ghi này chứa các bit quyết định chế độ mà mỗi module sẽ vận hành theochế độ đó.

Bit ECCF (CCAPMn.0 trong đó n=0, 1, 2, 3, or 4 tùy thuộc vào module)cho phép cờ  CCFn trong thanh ghi CCON phát ra một ngắt khi một “match” hoặcmột “compare” xảy ra trong module tươ ng ứng n.

Bit PWM (CCAPMn.1) cho phép chế độ điều rộng xung.Bit TOG (CCAPMn.2) khi đượ c gán mức 1 sẽ  làm cho ngõ ra ECXn

chuyển trạng thái khi có một “match” giữa bộ  đếm của PCA và thanh ghicapture/compare của module n.

Bit MAT (CCAPMn.3) khi lên mức 1 sẽ làm cho bit CCFn trong thanh ghiCCON lên mức 1 theo khi có một “match” giữa bộ đếm của PCA và thanh ghicapture/compare của module n.

Hai bit kế tiếp CAPN (CCAPMn.4) và CAPP (CCAPMn.5) quyết định mộtcapture sẽ tích cực cạnh lên hay cạnh xuống. Bit CAPN cho phép cạnh xuống vàbit CAPP cho phép cạnh lên. Nếu cả hai bit cùng lên mức 1 thì capture sẽ tích cựcvớ i cả cạnh lên và cạnh xuống.

Bit cuối cùng trong thanh ghi ECOM (CCAPMn.6) nếu lên mức 1 sẽ chophép vận hành chức năng của bộ so sánh.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 49/105

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 50/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 49

mềm.3 CCF3 Cờ  ngắt module 3. Đượ c gán mức 1 bở i phần cứng khi một

“match” hoặc một “capture” xảy ra. Phải xóa bit này bằng phầnmềm.

2 CCF2 Cờ  ngắt module 2. Đượ c gán mức 1 bở i phần cứng khi một

“match” hoặc một “capture” xảy ra. Phải xóa bit này bằng phầnmềm.

1 CCF1 Cờ  ngắt module 1. Đượ c gán mức 1 bở i phần cứng khi một“match” hoặc một “capture” xảy ra. Phải xóa bit này bằng phầnmềm.

0 CCF0 Cờ  ngắt module 0. Đượ c gán mức 1 bở i phần cứng khi một“match” hoặc một “capture” xảy ra. Phải xóa bit này bằng phầnmềm.

Bảng A5.6: Thanh ghi compare/capture CCAPMn của các module trong

PCABit 7 6 5 4 3 2 1 0Tên - ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn

Bảng A5.7: Mô tả chức năng các bit trong thanh ghi CCAPMnBit Tên Chức năng7 - Dự trữ 6 ECOMn ECOMn=1 cho phép chức năng bộ so sánh.5 CAPPn CAPPn=1 cho phép chức năng capture cạnh dươ ng.4 CAPNn CAPNn=1 cho phép chức năng capture cạnh âm.

3 MATn “match”. Khi MATn=1, một “match” của counter PCA cùngvớ i thanh ghi compare/capture của module n làm cho bitCCFn trong CCON lên mức 1, kích hoạt một tác vụ ngắt.

2 TOGn TOGn=1, một match của counter PCA cùng vớ i thanh ghicompare/capture của module n làm cho chân CEXn chuyểntrạng thái.

1 PWMn PWMn=1 cho phép chân ngõ ra CEXn làm việc như một chânđiều rộng xung cho ngõ ra.

0 ECCFn Cho phép cờ   compare/capture CCFn trong thanh ghi CCONphát ra một ngắt.

Bảng A5.8: Các chế độ cho các module trong PCAECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn Module function

0 0 0 0 0 0 0 Không vận hànhX 1 0 0 0 0 X Capture 16 bit đượ c kích

khở i cạnh dươ ng tại chânECXn

X 0 1 0 0 0 X Capture 16 bit đượ c kích

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 51/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 50

khở i cạnh âm tại chân ECXnX 1 1 0 0 0 X Capture 16 bit đượ c kích

khở i bằng cả hai cạnh tạichân ECXn

1 0 0 1 0 0 X Timer 16 bit dùng phầnmềm

1 0 0 1 1 0 X Ngõ ra tốc độ cao 16 bit1 0 0 0 0 1 0 PWM 8 bit1 0 0 1 X 0 X Watchdog timer

5.1.3.1 Chế độ PCA capture:Để sử dụng một trong những module PCA ở  chế độ capture, một trong hai

hoặc cả hai bit CAPN và CAPP trong thanh ghi CCAPM của module tuong ứngphải có trạng thái ở  mức 1. Ngõ vào CEXn đượ c lấy mẫu khi có xuất hiện sự chuyển mức logic. Khi một sự chuyển mức logic hợ p lệ xảy ra, phần cứng PCAnạp giá trị của thanh ghi counter PCA (CH và CL) vào trong thanh ghi capture

(CCAPnL and CCAPnH) của module n.

Hình A5.5: Chế độ capture của PCA

Nếu bit CCFn của module n trong thanh ghi CCON và bit ECCFn trongthanh ghi CCAPMn lên mức 1 thì xảy ra một tác vụ ngắt.

5.1.3.2 Chế độ timer 16 bit dùng phần mềm:

Các module của PCA có thể đượ c dùng làm bộ timer đượ c điều khiển bằngphần mềm bằng cách gán mức 1 cho cả hai bit ECOM và MAT trong thanh ghi

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 52/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 51

CCAPMn của module n. Giá trị của timer PCA sẽ đượ c so sánh vớ i giá trị đượ cchứa trong thanh ghi capture của module, và khi hai giá trị này bằng nhau sẽ làmxuất hiện một ngắt nếu hai bit CCFn (thanh ghi CCON) và bit ECCFn (thanh ghiCCAPMn) cùng đượ c gán mức 1.

Hình A5.6: Chế độ compare của PCA

5.1.3.3 Chế độ ngõ ra tốc độ cao:

Ở  chế độ  này, chân ngõ ra ECX có liên quan vớ i module n sẽ  thay đổitrạng thái mỗi khi sự  bằng nhau xảy ra giữa giá trị  của counter PCA và giá trị thanh ghi capture của module. Để kích hoạt chế độ  này, các bit TOG, MAT vàECOM trong thanh ghi CCAPMn phải đượ c gán mức 1.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 53/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 52

 Hình A5.7: Chế độ ngõ ra tốc độ cao của PCA

5.1.3.4 Chế độ điều rộng xung:

Tất cả các module trong PCA đều có thể đượ c dùng làm ngõ ra điều rộngxung. Tần số xung ngõ ra phụ thuộc vào giá trị nguồn của timer PCA.

Hình A5.8: Chế độ PWM của PCA

Tất cả  các module sẽ  có tần só xung ở   ngõ ra như  nhau vì chúng dùngchung một timer PCA duy nhất. Chu trình làm việc của mỗi module có thể đượ c

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 54/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 53

thay đổi tùy ý bằng cách sử dụng thanh ghi capture CCAPnL của module. Khi giátrị của thanh ghi CL chưa đạt tớ i giá trị của thanh gi CCAPnL trong module, ngõra tại chân CEXn sẽ giữ mức thấp, còn nếu bằng hoặc lớ n hơ n thì sẽ mức cao. Khigiá trị của CL tràn từ FF về 00, giá trị của thanh ghi CCAPnL đượ c nạp lại vàothanh ghi CCAPnH. Tác động vừa nêu làm cho việc điều rộng xung diễn ra liên

tục. Các bit PWM và ECOM trong thanh ghi CCAPMn của module phải đượ cgán mức 1 để cho phép chế độ điều rộng xung.

5.1.3.5 Bộ định thờ i Watchdog PCA:

Một bộ định thờ i watchdog đượ c tích hợ p sẵn trong PCA nhằm cải thiệntính ổn định của hệ  thống mà không cần tăng sự  đếm của chip. Bộ  định thờ iwatchdog thích hợ p vớ i các hệ thống dễ bị nhiễu, nguồn cung cấp không ổn định,có t ĩ nh điện. Ngườ i dùng chỉ có thể lập trình cho module 4 của PCA làm bộ địnhthờ i watchdog. Hình trình bày sơ  đồ  về  cơ   chế  hoạt động của watchdog.Ngườ i dùng sẽ nạp trướ c giá trị 16 bit vào thanh ghi compare. Cũng giống như cácchế độ compare khác, giá trị 16 bit trong thanh ghi compare đượ c đem so sánh vớ igiá trị của timer PCA. Nếu hai giá trị bằng nhau sẽ xảy ra sự xác lập lại từ đầu. Sự xác lập lại từ đầu như vừa nêu không làm chân RESET của chip lên mức 1.5.2 Giao tiếp nối tiếp vớ i PC:

Có thể giao tiếp vi điều khiển và máy tính thông qua các cổng: COM, LPT,USB, PCI …. Trong đề tài này sẽ bàn vể giao tiếp qua cổng COM.

Cổng nối tiếp RS232 là một giao diện phổ biến rộng rãi nhất. Ngườ i ta còngọi cổng này là cổng COM1, còn cổng COM2 để  tự do cho các ứng dụng khác.Giống như cổng máy in cổng COM cũng đượ c sử dụng một cách thuận tiện cho

việc giao tiếp vớ i thiết bị ngoại vi.Việc truyền dữ  liệu qua cổng COM đượ c tiến hành theo cách nối tiếp.

Ngh ĩ a là các bit dữ  liệu đượ c truyền đi nối tiếp nhau trên một đườ ng dẫn. Loạitruyền này có khả năng dùng cho những ứng dụng có yêu cầu truyền khoảng cáchlớ n hơ n, bở i vì các khả  năng gây nhiễu là nhỏ đáng kể  hơ n khi dùng một cổngsong song (cổng máy in).

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 55/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 54

 

Bảng A5.9: Chức năng các chân của cổng COM

Vì tín hiệu cổng COM thườ ng ở  mức +12V, -12V nên không tươ ng thíchvớ i điện áp TTL nên để giao tiếp KIT Vi điều khiển 8051 vớ i máy tính qua cổngCOM ta phải qua một vi mạch biến đổi điện áp cho phù hợ p vớ i mức TTL, ta chọnvi mạch MAX232 để thực hiện việc tươ ng thích điện áp.

Sơ  đồ kết nối giữa cổng COM vớ i vi điều khiển P89V51RD2 :

Hình A5.9: Giao tiếp IC MAX232 vớ i VDK

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 56/105

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 57/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 56

Chươ ng 6

Giớ i thiệu về phần mềm matlab và các công cụ:

simulink, plottools, serial-port, …Matlab là một môi trườ ng tính toán số và lập trình, đượ c thiết kế bở i công

ty MathWorks. Matlab cho phép tính toán số vớ i ma trận, vẽ đồ  thị hàm số haybiểu đồ  thông tin, thực hiện thuật toán, mô phỏng sự vận hành của các hệ  thốngđiều khiển tự động, tạo các giao diện ngườ i dùng và liên kết vớ i những chươ ngtrình máy tính viết trên nhiều ngôn ngữ lập trình khác.

6.1 Công cụ Plottools để vẽ đồ thị:  Plottools là một một phần của phần mềm Matlab, một môi trườ ngtươ ng tác cho phép ngườ i dùng:

Tạo các kiểu đồ thị khác nhau.Liên kết trực tiếp vớ i các biến ở   phần Workspace để  vẽ đồ thị.Tạo và thao tác vớ i nhiều đồ  thị  trong cùng một Figure mộtcách dễ dàng.Thêm vào đồ  thị  các chú thích như  dấu mũi tên, văn bản,v.v…Cài đặt các thuộc tính cho đồ thị.

  Tiến hành sử dụng Plottools:Tại cửa sổ Command window của giao diện Matlab, gõ vàodòng lệnh  plottools. Hoặc bạn có thể  vàoStart/Matlab/Plottools để mở  cửa sổ vẽ đồ thị.

Hình A6.1: Cửa sổ giao diện Plottools

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 58/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 57

  Vào menu Tools, chọn Link để liên kết vớ i Workspace.Tại mục New Splots, chọn loại đồ thị 2D Axes hoặc 3D Axes.Mục Variables chứa các biến đang đượ c lưu giữ  ở   phầnWorkspace.Nhấp trái chuột vào đồ  thị để  làm sáng nút Add Data. Nhấp

trái chuột vào Add Data để vào các đườ ng biểu diễn trên đồ thị, xuất hiện cửa sổ Add Data to Axes. Chọn nét vẽ tại mụcPlot type. Chọn các biến có giá trị đượ c biểu diễn trên trục x,y, z lần lượ t tại các mục X Data Source, Y Data Source, ZData Source. Nếu muốn có nhiều đườ ng biểu diễn trên một đồ thị, lặp lại thao tác kể từ bướ c Add Data.Tại mục Property Editor – Axes, ngườ i dùng có thể  thiết lậpgiá trị giớ i hạn, tên trục và nhiều thuộc tính khác.Để  hoàn tất việc kết nối vẽ  đồ  thị  có liên kết vớ i các biếntrong Workspace, nhấp trái chuột vào biểu tượ ng Link Plot .

6.2 Giớ i thiệu về giao diện GUIDE:  GUIDE cho ngườ i lập trình thiết kế  các giao diện thân thiện vớ i

ngườ i dùng. Một GUI (Graphical) có thể đượ c tạo trên đó nhiều điềukhiển như: Command Button, Edit Text, Static Text, Check Boxv.v… Mỗi khi có sự tác động lên một điều khiển nào đó – xảy ra mộtsự kiện, sẽ làm thực thi một hàm dướ i dạng câu lệnh hoặc M-files.

  Khở i động GUIDE: Nhấp trái chuột vào biểu tượ ng GUIDE,hoặc theo đườ ng dẫn Start/Matlab/GUIDE.

Hình A6.2: Cửa sổ giao diện GUIDE

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 59/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 58

6.3 Giớ i thiệu về Simulink:  Simulink là gói phần mềm dùng để mô hình hóa, mô phỏng và phân

tích các hệ  thống động học. Phần mềm này cung cấp các hệ  thốngtuyến tính và phi tuyến, đượ c mô hình ở  thờ i gian liên tục, rờ i rạchoặc lai giữa liên tục và rờ i rạc.

  Để  mô hình hóa, Simulink cung cấp một giao diện đồ  họa ngườ idùng (GUI) để  xây dựng các mô hình như  là các sơ   đồ  khối.Simulink bao gồm một thư  viện các thành phần tuyến tính, phituyến, kết nối, nguồn, hiển thị. Ngoài ra có thể tự tạo các khối riêngbằng cách sử dụng khối S-function.

  Sau khi định ngh ĩ a mô hình, có thể tiến hành mô phỏng. Sử dụng cáckhối hiển thị để xem kết quả trong khi mô phỏng đang chạy. Ngoàira có thể thay đổi tham số và lập tức thấy những gì xảy ra.

  Để khở i động Simulink: nhấp vào biểu tượ ng Simulink tại cửa sổ giao diện chính của Matlab, hoặc theo đườ ng dẫn

Start/Simulink/Library Browser.

Hình A6.3: Giao diện thư viện Simulink

6.4  Giớ i thiệu về giao tiếp nối tiếp giữ a Matlab vớ i thiết bị ngoại vi qua cổngCOM:

Các lệnh dùng cho việc giao tiếp:   Instrcallback: Thông tin về sự kiện khi một sự kiện xảy ra.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 60/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 59

  Instrfind: Truy xuất các đối tượ ng cổng COM từ bộ nhớ  để xuất raWorkspace.

  Instrfindall: Tìm các đối tượ ng cổng COM có thuộc tính ấn và khôngẩn.

  Readasync: Đọc dữ liệu từ thiết bị ngoại vi gửi lên theo phươ ng thức

bất đồng bộ.  Record: Lưu giữ lại dữ liệu và thông tin về sự kiện vào một tập tin.  Serial: Tạo mớ i đối tượ ng cổng COM.  Serial.clear: Xóa đối tượ ng cổng COM khỏi workspace.  Serial.delete: Xóa đối tượ ng cổng COM khỏi bộ nhớ .  Serial.fgetl: Đọc chuỗi ký tự đượ c gửi lên từ thiết bị ngoại vi nhưng

không đọc ký tự kết thúc.  Serial.fgets: Đọc chuỗi ký tự đượ c gửi lên từ  thiết bị  ngoại vi bao

gồm cả ký tự kết thúc.  Serial.fopen: Kết nối đối tượ ng cổng COM vớ i thiết bị ngoại vi.

  Serial.fprintf: Gửi một chuỗi ký tự xuống thiết bị ngoại vi.  Serial.fread: Đọc dữ liệu nhị phân từ thiết bị gửi lên.  Serial.fscanf: Đọc dữ liệu từ thiết bị gửi lên dướ i dạng văn bản.  Serial.fwrite: Gửi dữ liệu nhị phân xuống thiết bị.  Serial.get: Xem các thuộc tính của đối tượ ng cổng COM.  Serial.isvalid: Xác định đối tượ ng cổng COM có hợ p lệ hay không.  Serial.length: Chiều dài của mảng đối tượ ng cổng COM.  Serial.load: Nạp các đối tượ ng cổng COM cũng như các biến đã lưu

trướ c đó vào Workspace.  Serial.save: Lưu các đối tượ ng cổng COM cũng như các biến thàng

một tấp tin *.mat.  Serial.set: Thiết lập hoặc hiển thị các thuộc tính của đối tượ ng cổngCOM.

  Serial.size: Xem kích thướ c của mảng đối tượ ng cổng COM.  Stopasync: Ngừng thao tác đọc/ghi bất đồng bộ.

6.5 Nhữ ng ư u điểm và hạn chế khi ứ ng dụng các công cụ hỗ trợ  của Matlab:

Ư u điểm:  Tính toán các phép toán thuộc đại số  tuyến tính có độ phức tạp như ma trận một cách dễ dàng và nhanh. Các bộ điều khiển ứngdụng thuật toán tính toán phức tạp có thể tận dụng tối đa thế mạnh này củaMatlab, cụ thể  thuật toán nhận dạng và thiết kế bộ điều khiển trong đồ ánnày.

Hạn chế: Việc truyền dữ liệu qua port nối tiếp (cổng COM) gặp khókhăn về thờ i gian. Do vậy, để tránh mặt hạn chế vừa nêu, chỉ nên ứng dụnggiao tiếp Matlab vớ i ngoại vi vớ i tần số lấy mẫu vừa phải. Trong đồ án này,đối tượ ng đượ c điều khiển là lò nhiệt, tần số  lấy mẫu khoảng 1s nên hạnchế về truyền nhận dữ liệu là không đáng ngại.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 61/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 60

 

PHẦN BTHIẾT KẾ VÀ THI CÔNG

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 62/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 61

Chươ ng 1

Thiết kế phần cứ ng

1.1 Sơ  đồ khối phần cứ ng: 

Hình B1.1: Sơ  đồ khối phần cứng

PC

VDK P89V51RB2

M ch ADC M ch côn suất

AC110V

Cảm biến nhiệt độ 

Điện trở  đốt nóng

MAX232

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 63/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 62

1.2 Sơ  đồ nguyên lý mạch giao tiếp:

Hình B1.2: Sơ  đồ nguyên lý mạch giao tiếp máy tính

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 64/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 63

1.2.1  Vi điều khiển P89V51RD2:

Phần cơ  sở  lý thuyết đã trình bày về vi điều khiển P89V51RD2. Ở đây chỉ xin nói thêm về chức năng của IC này.

Vi điều khiển thực hiện nhận mã lệnh từ PC gở i xuống và gửi lên PC các

mã lệnh để cho PC phản hồi trạng thái của mạch giao tiếp về PC. Ngoài ra vi điềukhiển thực hiện các ngắt Timer để gửi mẫu tín hiệu nhiệt độ về PC theo chu ky lấymẫu T0 do PC gửi xuống. 

1.2.2 Vi mạch giao tiếp MAX 232:

Vi mạch MAX 232 của hãng MAXIM là một vi mạch chuyên dùng tronggiao diện nối tiếp vớ i máy tính. Chúng có nhiệm vụ chuyển đổi mức TTL ở  lối vàothành mức +10V hoặc –10V ở  phía truyền và các mức +3…+15V hoặc -3…-15Vthành mức TTL ở  phía nhận.

Hình B1.3: IC MAX232

Vi mạch MAX 232 có hai bộ đệm và hai bộ nhận. Đườ ng dẫn điều khiểnlối vào CTS, điều khiển việc xuất ra dữ liệu ở  cổng nối tiếp khi cần thiết, đượ c nốivớ i chân 9 của vi mạch MAX 232. Còn chân RST (chân 10 của vi mạch MAX)nối vớ i đườ ng dẫn bắt tay để điều khiển quá trình nhận. Thườ ng thì các đườ ng dẫnbắt tay đượ c nối vớ i cổng nối tiếp qua các cầu nối, để khi không dùng đến nữa cóthể hở  mạch các cầu này. Cách truyền dữ liệu đơ n giản nhất là chỉ dùng ba đườ ngdẫn TxD, RxD và GND (mass).

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 65/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 64

1.2.3 Cảm biến nhiệt độ:

Thang nhiệt độ động học tuyệt đối:Thang Kelvin: Đơ n vị là oK. Trong thang Kelvin này ngườ i ta gán cho nhiệt

độ  của điểm cân bằng của ba trạng thái nướ c-nướ c đá-hơ i một giá trị  số  bằng

273,15 oK.Thang Celcius: Đơ n vị là oC. Quan hệ giữa nhiệt độ Celcius và Kelvin đượ c

định ngh ĩ a bở i công thức:T(oC)=T(oK)-273,15

Thang Fahrenheit: Đơ n vị là oF

T(oC)={T(oF)-32}*5/9T(oF)=T(oC)*9/5 +32

Các phươ ng pháp đo nhiệt độ:

Nhiệt độ  là một đại lượ ng không điện, đo nhiệt độ đượ c chia thành nhiềudãi: đo nhiệt độ thấp, đo nhiệt độ trung bình và đo nhiệt độ cao.

Việc đo nhiệt độ đượ c tiến hành nhờ   các dụng cụ  chuyên biệt như: nhiệtđiện trở  bán dẫn, nhiệt điện trở  kim loại, cảm biến thạch anh, cặp nhiệt điện hoặcnhiệt điện kế kim loại.

Việc sử  dụng các IC cảm biến nhiệt để đo nhiệt độ  là một phươ ng phápthông dụng đượ c sử dụng trong bài báo cáo đồ án này, nên ở  đây chỉ giớ i thiệu về IC cảm biến nhiệt.

Nguyên lý hoạt động chung của IC cảm biến nhiệt độ:

IC đo nhiệt độ là một mạch tích hợ p nhận tín hiệu nhiệt độ để chuyển thànhtín hiệu điện dướ i dạng dòng điện hay điện áp. Dựa vào đặc tính rất nhạy của chấtbán dẫn vớ i nhiệt độ, tạo ra điện áp hoặc dòng điện, tỉ lệ thuận vớ i nhiệt đô tuyệtđối. Từ tín hiệu điện ngõ ra, ta biết đượ c giá trị của nhiệt độ cần đo. Sự tác độngcủa nhiệt độ tạo ra điện tích tự do và các lỗ trống trong chất bán dẫn. Bằng sự phávỡ   các phân tử, bứt các electron thành dạng tự  do di chuyển qua vùng cấu trúcmạng tinh thể tạo nên sự xuất hiện các lỗ trống, làm cho lượ ng diện tử tự do và lỗ trống tăng lên theo quy luật hàm mũ vớ i nhiệt độ.

Cảm biến LM35:

LM35 là IC cảm biến nhiệt độ có độ chính xác cao, 10mV/ oC. Ở 25oC nócó sai số là không quá 1%. Vớ i tầm đo từ -55oC – 150oC, tín hiệu ngõ ra tuyến tínhliên tục vớ i những thay đổi nhiệt độ ở  ngõ vào.

Thông số kỹ thuật:LM35 có độ biến thiên theo nhiệt độ: 10mV/1oC.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 66/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 65

  Độ chính xác cao, tính năng cảm biến nhiệt độ rất nhạy, ở  nhiệt độ 25oC nócó sai số khộng quá 1%. Tầm đo từ -55oC – 150oC, tín hiệu ngõ ra tuyến tính liêntục vớ i những thay đổi của tín hiệu ngõ vào.

Thông số kỹ thuật:  Ngõ ra điện áp.

  Độ nhạy là 10 mV/1oC.  Phạm vi hoạt động: -55oC – 150oC.  Ở nhiệt độ 25oC sai số không quá 1%.  Áp làm việc từ 4 – 30 V.

Đặc tính điện:  Theo thông số của nhà sản xuất LM35, quan hệ giữa nhiệt độ 

và điện áp ra như sau:  Vout = 0,01*ToC  Vậy ứng vớ i tầm hoạt động từ 0oC – 100oC ta có sự biến thiên

điện áp ngõ ra là:  Ở 0oC thì Vout = 0V  Ở 5oC thì Vout = 0.05V  Ở 100oC thì Vout = 1V

1.2.4 Khối biến đổi ADC (IC ADC0809):

ADC0809 là IC để chuyển đổi tươ ng tự sang số dùng kỹ thuật CMOS baogồm tám kênh làm việc độc lập vớ i nhau để lựa chọn đầu vào từ IN0 – IN7 và giá

trị nhiệt độ sẽ đượ c xuất ra dướ i dạng 8 nhị phân 8 bit D0 – D7.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 67/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 66

Hình B1.4: IC ADC0809

Sơ  đồ chân:IN0 – IN7: 8 ngõ vào tươ ng tự.A0 – A2: giải mã chọn một trong 8 ngõ vào.

D0 – D8: ngõ ra song song 8 bit.ALE: cho phép chốt địa chỉ.START: xung bắt đầu chuyển đổi.CLK: xung đồng hồ cho IC hoạt động.REF(+): điện thế tham chiếu (+).REF(-): điện thế tham chiếu (-).VCC: nguồn cung cấp.EOC: báo kết thúc chuyển đổi.OE: cho phép đọc dữ liệu sau chuyển đổi.GND: chân nối đất.

Nguyên lý hoạt động:

Kích hoạt chân ALE (Address Latch Enable) cho phép chốt địa chỉ. Cầncấp một xung thấp lên cao để chốt địa chỉ.

Sau khi kích xung START thì bộ  chuyển đổi bắt đầu hoạt động ở   cạnhxuống của xung START, ngõ ra EOC (End Of Conversion) sẽ xuống mức thấp saukhoảng 8 xung clock tính từ cạnh xuống cảu xung START. Lúc này bít có trọng số lớ n nhất (MSB) đượ c đặt lên mức 1, tất cả các bit còn lại xuống mức 0, đồng thờ itạo giá trị điện thế Vref/2, điện thế này đượ c so sánh vớ i điện thế vào Vin.

Nếu Vin>Vref/2 thì bit MSB vẫn ở  mức 1.Nếu Vin<Vref/2 thì bit MSB xuống mức 1.Tươ ng tự như vậy bit kế tiếp MSB đượ c đặt lên 1 và tạo ra điện thế có giá

trị Vref/4 và cũng so sánh vớ i điện áp ngõ vào Vin. Quá trình cứ tiếp tục cho đếnkhi xác định đượ c bit cuối cùng. Khi đó chân EOC lên mức 1 báo cho biết quátrình chuyển đổi đã hoàn tất. Để đọc đượ c dữ liệu thì set bit OE (Output Enable)lên mức 1. Trong quá trình chuyển đổi khi có xung START tác động thì ADC sẽ ngưng chuyển đổi.

Các bit A2A1A0 để định địa chỉ cổng vào tươ ng tự theo bảng sau:

A2 A1 A0 Ngõ vào đượ cchọn

0 0 0 IN10 0 1 IN20 1 0 IN30 1 1 IN41 0 0 IN5

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 68/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 67

1 0 1 IN61 1 0 IN71 1 1 IN8

Bảng B1.1: Ngõ vào analog tươ ng ứng vớ i giá trị ÀA1A0

Mạch cấp xung đồng hồ cho ADC0809:

Hình B1.5: Mạch dao động cấp xung đồng hồ cho ADC0809

Trong ADC0809 không có đồng hồ riêng và do vậy phải cấp xung đồng bộ ngoài đến chân CLK. Mặc dù tốc độ chuyển đổi phụ thuộc vào tần số xung đồnghồ đượ c nối đến CLK nhưng nó không nhanh hơ n 100ms.

Tần số dao động của mạch: f = 0,7/(R*C)

Độ phân giải của ADC0809 là: ( )

( ) ( )

256*( )N   in ref  

ref ref  

V V 

V V 

+ −

−=

− 

Nếu lấy chân Vref(+) = 5V, chân Vref(-) =0V thì độ phân giải củaADC0809 là 0,0196 V/byte.

1.2.5 Mạch công suất:

Opto-triac MOC3020: Để  tạo vùng cách ly giữa hệ  thống điều khiển vàmạch công suất.

Triac BT136: Mạch công suất dùng BT136 để kích thay đổi nhiệt độ của lò.BT136 có thể  chịu đượ c dòng điện từ  4-25A, còn MOC3020 có thể  chịu

đượ c điện áp tớ i 400V nhưng dòng chỉ đượ c 1,2A nên phải dùng thêm BT136 để có thể điều khiển đượ c tải có công suất lớ n.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 69/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 68

Chươ ng 2

Lư u đồ giải thuật

2.1 Lư u đồ giải thuật chươ ng trình cho vi điều khiển:

Hình B2.1: Trạng thái ban đầu của VDK hoặc khi đượ c RESET

Hình B2.2: Chươ ng trình phục vụ ngắt Timer0 của VDK

-  Ngắt port nối tiếp tích cực.-  Khở i tạo giá trị cho TH0 & TL0, Timer1

(baudrate là 9600) và port nối tiếp.-  Khở i tạo PCA cho chế độ điều rộng xung.-  Trạng thái lò nhiệt State=OFF.

START

Có ngắt T0

-  ALE tích cực-  START tích cực-  OE tích cực-  Chờ  EOC lên mức tích cực hoàn tất chuyển đổi ADC

Điều khiển chân ALE, START và OE trở  về không tích cực

Gửi giá trị nhiệt độ dạng nhị phân lên PC

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 70/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 69

 

Hình B2.3: Lưu đồ chươ ng trình phục vụ ngắt port nối tiếp của VDK

SBUF = #253STOP

- Ngắt Timer0 không tíchcực.- STATE = 0.- Gửi mã #253 lên PC

Đ 

S

Đ 

Đ 

S

S

- Ngắt Timer0 tích cực.- Trạng thái lò nhiệtState=ON.

State=ON CCAP4H=SBUF

Có ngắt port nối tiếp

SBUF = #255

LINK

SBUF = #254RUN

Gửi mã #255 lên PC

SBUF=252SAMPLE

SAMPLE=1

- SAMPLE = 1.- Gửi mã #252 lên PC.

- Nhận T0 do PC gửixuống.- Gửi mã #251 lên PC.- SAMPLE=0.

END

Đ 

Đ 

Đ 

S

S

S

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 71/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 70

2.2  Lư u đồ giải thuật chươ ng trình Matlab:

Các mã đượ c dùng để giao tiếp PC vớ i VDK:Mã #255: Mã kiểm tra kết nối.Mã #254: Mã vận hành.

Mã #254: Mã ngừng vận hành.Mã #252: Mã thiết lập trạng thái sẵn sàng cho VDK để nhận thờ i gianlấy mẫu từ PC gửi xuống.Mã #251: Mã xác nhận rằng VDK đã nhận thờ i gian lấy mẫu.

Hình B2.4: Trạng thái ban đầu khi mở  giao diện chạy thực

Mở  cửa sổ giao diện chạy thực

-  Các nút LINK, HELP và CLOSEsáng.

-  Nút START, STOP mờ .-  Tất cả các điều khiển trong phần cài

đặt thông số đều đượ c cho phép.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 72/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 71

 

Nhập thông số vào giao diện

Nhấn nút START

- Nạp vào các thông số cố địnhcho bộ điều khiển.- Gửi mã #252 xuống VDK.

Xảy ra sự kiệnTimerFcn

Hủy sự kiện TimerFcn

Nhận đượ c mã#252

Thông báo “KHÔNG THỂ KẾT NỐI PC VÀ VDK”

Gửi giá trị thờ i gian lấy mẫu

Khở i tạo sự kiện TimerFcn

Đ 

Đ  S

S

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 73/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 72

 

Hình B2.5: Trạng thái khi nhấn nút VẬN HÀNH

Xảy ra sự kiệnTimerFcn

Nhận đượ c mã#251

Khở i tạo sự kiện TimerFcn

Hủy sự kiện TimerFcn

Gửi mã #254

Thông báo “KHÔNG THỂ KẾT NỐI PC V VDK”

Hiện thông báo “HỆ THỐNG LÒNHIỆT ĐANG VẬN H NH”

-  Làm mờ  nút START.-  Làm sáng nút STOP.

Đ 

Đ  S

S

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 74/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 73

 

Hình B2.6: Sự kiện BytesAvailable

Xảy ra sự kiệnByteAvailableFcn

Nhận nhiệt độ yk do VDK gửi lên đưa vào

Cập nhật giá trị Nhiệt độ đặt wk đượ c nhậptừ  iao di n

Nhận dạng tham số đối tượ ng: tính Theta vàma trận C

Thiết kế bộ điều khiển: tính P, Q, R

Tính toán tín hiệu điều khiển uk

Gửi giá trị uk xuống VDK

Đưa giá trị uk, yk, wk lên đồ thị 

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 75/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 74

 

Hình B2.7: Trạng thái khi nhấn nút KIỂM TRA KẾT NỐI

Nhấn LINK

Mở  cổng COM

Gửi mã #255

Khở i tạo sự kiện TimerFcn

Xảy ra sự kiệnTimerFcn

Hủy sự kiện TimerFcn

Nhận đượ c mã#255

-  Hiện thông báo “KẾT NỐITHÀNH CÔNG”.

-  Làm mờ  nút LINK, làmsáng nút START.

Thông báo“KHÔNG THỂ KẾTNỐI PC VÀ VDK”

Đ S

SĐ 

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 76/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 75

 

Hinh B2.8: Trạng thái khi nhấn nút NGỪ NG

Nhấn STOP

Hủy sự kiện ByteAvailableFcn

Gửi mã #253

Thiết lập sự kiện TimerFcn

Xảy ra sự kiệnTimerFcn

Hủy sự kiện TimerFcn

Nhận đượ c mã#253 Thông báo “KHÔNGTHỂ KẾT NỐI PC VÀ

VDK”

Đóng cổng COM

Thông báo “HỆ THỐNG LÒ NHIỆTĐÃ NGƯ NG VẬN H NH H NH”

-  Làm sáng nút LINK.-  Làm mờ  nút STOP.

Đ 

Đ 

S

S

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 77/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 76

Chươ ng 3

Kết quả thi công

Giao diện ngườ i dùng:

Hình B3.1: Giao diện chính

3.1 Kết quả mô phỏng:3.1.1 Bộ điều khiển tự  chỉnh STR: 

Hình B3.2: Giao diện mô phỏng bộ STR

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 78/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 77

 Hình B3.3: Sơ  đồ khối bộ điều khiển lò nhiệt STR trong Simulink

Hình B3.4: Sơ  đồ kết nối các khối bên trong của khối adaptive pp3c2dof

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 79/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 78

Tiến hành mô phỏng: 

Hình B3.5: Mô phỏng bộ điều khiển STR

3.1.2 Bộ điều khiển PID số:

Hình B3.6: Giao diện mô phỏng bộ PID

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 80/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 79

 Hình B3.7: Sơ  đồ khối bộ điều khiển lò nhiệt PID trong simulink

Tiến hành mô phỏng:

Tiến hành nhập các thông số theo Zeigler-Nichols:

Hình B3.8: Kết quả mô phỏng bộ điều khiển PID theo Zeigler - Nichols

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 81/105

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 82/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 81

Tiến hành chạy thự c:

Hình B3.11: Một kết quả khi chạy thực bộ STR

Hình B3.12: Một kết quả khác khi chạy thực bộ STR

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 83/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 82

 

Hình B3.13: Kết quả quá trình ướ c lươ ng tham số 

Hình B3.14: Kết quả quá trình ướ c lượ ng tham số (phóng lớ n)

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 84/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 83

3.2.2 Bộ điều khiển PID số:

Hình B3.15: Giao diện chạy thực bộ PID

Tiến hành chạy thự c:Kết quả chạy thực vớ i các thông số nhập vào theo công thức của Zeigler –

Nichols. Vớ i kp = 0,16; ki = 0,0013; kd = 4,8.

Hình B3.16: Kết quả chạy thực theo Zeigler – Nichols

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 85/105

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 86/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 85

 

PHẦN CKẾT LUẬN

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 87/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 86

Kết luận

Vớ i đồ án Thiết kế và thi công bộ điều khiển tự chỉnh dùng thuật toán đặtcực để điều khiển lò nhiệt, tôi đã có một sự trải nghiệm thiết thực thỏa niềm đam

mê điều khiển học trong quãng thờ i gian sinh viên. Sau đây xin đượ c sơ  lượ c lạitoàn bộ quá trình thực hiện đề tài, những kết quả đã đạt đượ c cũng như hạn chế vàhướ ng phát triển đề tài.

I.  Lý thuyết:

Về cơ  sở  lý thuyết:

Lý thuyết về điều khiển thích nghi, ướ c lượ ng tham số trực tuyến, bộ điềukhiển tự  chỉnh STR, các thuật toán đặt cực và bộ điều khiển PID đã đượ c trìnhbày.

Mô hình lò nhiệt thực tế đã đượ c nhận dạng bằng phươ ng pháp đáp ứngnấc. Đây chính là mô hình đượ c dùng để mô phỏng sự vận hành cho bộ điều khiểnSTR cũng như bộ điều khiển PID.

Tìm hiểu và khai thác đượ c thế mạnh của phần mềm Matlab trong tính toánphức tạp cũng như các công cụ hỗ  trợ . Nhận thấy đượ c mặt hạn chế của Matlabtrong việc truyền nhận dữ liệu nối tiếp. Simulink là một hộp công cụ mô phỏng đanăng và cho kết quả nhanh. Plottools cung cấp giao diện đồ thị dễ sử dụng, thíchhợ p cho các ứng dụng điều khiển có giám sát. GUIDE cũng cho phép thiết kế giaodiện dễ dàng.

Việc lập trình cho vi điều khiển trở  nên đơ n giản hơ n vớ i phần mềm Keil C.

Trong đồ án này không đề cập đến phần mềm Keil C, bạn đọc có thể tham khảodựa vào mục tài liệu tham khảo ở  cuối chươ ng.

Về ứ ng dụng phần cứ ng:

Từng bướ c tìm hiểu và ứng dụng tính năng mớ i nổi bật của vi điều khiểnP89V51RD2 – chức năng PCA, ứng dụng cảm biến nhiệt độ LM35 để đo nhiệt độ.Ứ ng dụng IC ADC0809 để chuyển đổi tín hiệu tươ ng tự sang nhị phân, cụ thể làtìn hiệu nhiệt độ, ứng dụng IC 7414 để tạo xung cho IC ADC0809. Ứ ng dụng ICMAX232 để truyền nhận tín hiệu giữa PC và vi điều khiển thông qua việc chuyển

đổi mức diện áp để tươ ng thích.

II.  Kết quả thi công: gồm kết quả thu đượ c cũng như  mặt hạn chế.

Bộ điều khiển tự  chỉnh STR:

Khi mô phỏng: bộ điều khiển STR cho kết quả rát tốt.

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 88/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 87

Khi điều khiển chạy thực: Trong điều kiện nhiễu ít, bộ điều khiển STR thựchiện ướ c lượ ng tham số và tính toán tín hiệu điều khiển rất tốt, do đó đặc tuyếnnhiệt độ ngõ ra rất tốt. Khi đã vào trạng thái xác lập, bộ điều khiển phản ứng vớ inhiễu rất tốt. Tuy nhiên, việc ướ c lượ ng tham số gặp phải khó khăn trong thờ i gianlên khi có nhiều nhiễu, dẫn đến mất nhận dạng. Nhượ c điểm này có thể khác phục

đượ c nếu sử dụng một bộ lọc nhiễu có các thông số phù hợ p. Khó khăn nữa là chỉ có thể  viết thuật toán này cho PC hoặc chip điều khiển có bộ nhớ   lớ n tính toánnhanh vì sự phức tạp của thuật toán. Ngoài ra, chưa chứng minh đượ c sư hội tụ của các tham số đượ c ướ c lươ ng.

Nhân tiện đây, xin đượ c đề cập đến một kết quả đạt đượ c khác vớ i đề  tàicùng tên đượ c trình bày tại Hội nghị quốc tế chuyên đề về kỹ thuật điện – điện tử của hai tác giả Nguyễn Đức Hoàng và Bùi Thanh Huyền. Hai tác giả này sử dụngthiết bị  giao tiếp máy tính là card giao tiếp PCL-818L và công cụ  RealTime-Workshop, XpcTarget, kết quả vận hành là rất tốt. Trong đồ án này, tôi dùng VDKP89V51RB2, IC ADC0809, IC MAX232 và các công cụ Serialport, Plottools để 

giao tiếp. Kết quả vận hành có thể chấp nhận đượ c gần như mong muốn. Điều nàymột lần nữa cho thấy bộ điều khiển tự chỉnh dùng đặt cực vận hành tốt khi điềukhiển đối tượ ng có tham số  thay đổi chậm là lò nhiệt và có khả  năng ứng dụngthực tế.

Hình C.1: Kết quả vận hành bộ STR cho lò nhiệt của tác giả Nguyễn ĐứcHoàng – Bùi Thanh Huyền

Bộ điều khiển PID số:

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 89/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 88

Thuật toán bộ điều khiển PID rất ngắn gọn và hiệu quả.Kết quả  mô phỏng và chạy thực khi điều khiển lò nhiệt dùng thuật toán

kinh điển PID không mất nhiều thờ i gian thiết kế, cho kết quả vận hành tốt khi tìmđượ c bộ thông số kp-ki-kd thích hợ p thông qua quá trình thử sai, ngoài ra còn cókhả năng khử nhiễu tốt. Bộ điều khiển PID vớ i các thông số kp-ki-kd đượ c chọn

lựa theo Zeigler – Nichols cũng đượ c thực hiện và cho kết quả mô phỏng và chạythực rất không tốt.

Khi thay đổi đối tượ ng đượ c điều khiển thì chất lượ ng điều khiển cũng thayđổi theo, do đó phải thiết kế lại bộ điều khiển.

Tóm lại, thuật toán điều khiển PID dù đã đượ c ứng dụng cách đây một thờ igian dài và những giá trị của nó vẫn đượ c giữ nguyên, và chỉ số 98% bộ điều khiểnPID đượ c ứng dụng trong công nghiệp hiện nay đã dẫn ra sự minh chứng.

III.  Hướ ng phát triển đề tài:

Dùng công cụ Identification Toolbox của Matlab kết hợ p vớ i card giao tiếpđể thu thập dữ liệu, mô hình hóa đối tượ ng và xác định các đặc tính của đối tượ ngchính xác hơ n.

Thiết kế bộ lọc vớ i các thông số thích hợ p để lọc tín hiệu số thu thập về để quá trình ướ c lượ ng tham số chính xác hơ n.

Dùng cặp nhiệt điện phối hợ p vớ i bộ chuyển đổi ADC có ngõ ra nhị phânnhiều hơ n 8 bit để đo đượ c nhiệt độ cao hơ n.

Ứ ng dụng vi điều khiển có thể  thao tác vớ i dữ  liệu nhiều có số bit nhiềuhơ n 8 hoặc PLC để việc xử lý cũng như tính toán nhanh hơ n. Ngoài ra, việc ứngdụng card xử lý giao tiếp qua khe PCI cũng là một giải pháp rất hữu hiệu.

Có thể  làm thực nghiệm bộ điều khiển STR để điều khiển đối tượ ng cótham số thay đổi nhanh như động cơ … để kiểm chứng thuật toán nhận dạng (ướ clượ ng tham số trực tuyến).

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 90/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 89

Phụ lục

Chươ ng trình viết cho vi điều khiển:

 /////khai bao thu vien/////#include "P89V51Rx2.h"#include <stdio.h>

 /////khai bao cac bien/////int buffer_receive;int nhiet_do_do;int so_lan_ngat_T0;int thoi_gian_lay_mau;bit trang_thai;bit nhan_tan_so_lay_mau;

 /////khai bao cac chan/////sbit START_ALE = P3^6;sbit OE_PIN = P2^1;sbit EOC_PIN = P2^0;

 /////chuong trinh ngat port noi tiep de nhan lenh cung nhu gia tri... /////dieu rong xung tu PC gui xuong/////void ngattruyen() interrupt 4{if (RI==1)

{

buffer_receive=SBUF; /////////////////////////////////////////////////////////////////////////////////if (buffer_receive==253)  //nhan duoc ma STOP {trang_thai=0;CCAP4H=0;so_lan_ngat_T0=0;

 /////////////ET0=0;TR0=0;

 /////////////TI=0;SBUF=253;while(!TI);}

 /////////////////////////////////////////////////////////////////////////////////else if (buffer_receive==255)  //nhan duoc ma kiem tra ket noi {

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 91/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 90

  TI=0;SBUF=255;while(!TI);}

 /////////////////////////////////////////////////////////////////////////////////

else if (buffer_receive==254)  //nhan duoc ma RUN {trang_thai=1;ET0=1;TR0=1;}

 /////////////////////////////////////////////////////////////////////////////////else if (buffer_receive==252)  //nhan duoc ma luu lai thoi

gian lay mau do PC gui xuong {

nhan_tan_so_lay_mau=1;TI=0;SBUF=252;while(!TI);  //VDK bao hieu dang san sang nhan thoi

gian lay mau do PC gui xuong }

 /////////////////////////////////////////////////////////////////////////////////else if (nhan_tan_so_lay_mau==1)  //he thong dang nhan thoi

gian lay mau do PC gui xuong {

thoi_gian_lay_mau=buffer_receive;nhan_tan_so_lay_mau=0;  //VDK da nhan xong thoi gianlay mau 

TI=0;SBUF=251;while(!TI);  //VDK bao hieu da nhan xong thoi gian

lay mau }

 /////////////////////////////////////////////////////////////////////////////////else if (trang_thai==1)  //he thong dang van hanh {CCAP4H=buffer_receive;}

 /////////////////////////////////////////////////////////////////////////////////RI=0;TI=0;}

}

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 92/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 91

 //////////////////////////////////////////////////////// //chuong trinh ngat Timer0 de lay tin hieu nhiet do,... //sau do gui len PC//void ngatT0() interrupt 1{

TR0=0;TH0=0X3C;TL0=0XB0;so_lan_ngat_T0=so_lan_ngat_T0+1;if (so_lan_ngat_T0==thoi_gian_lay_mau)

{so_lan_ngat_T0=0;START_ALE = 0;OE_PIN = 1;while(!EOC_PIN);

nhiet_do_do = P0;START_ALE = 1;OE_PIN = 0;TI=0; SBUF=nhiet_do_do; while(!TI);TR0=1;}

else TR0=1;} 

 //chuong trinh chinh thuc hien dieu rong xung lien tuc,... //neu khong co xay ra bat ky ngat nao//

main(){SCON = 0X50;TMOD =0X21;TL0=0XB0;TH0=0X3C; //50msTH1=0XFD;TR1=1;TR0=0;EA=1;ES0=1;ET0=0;trang_thai=0;nhan_tan_so_lay_mau=0;so_lan_ngat_T0=0;thoi_gian_lay_mau=0;CCAP4H=0;

 ///////////////////////////////////////////////////////////////// //chuong trinh khoi tao PCA o che do PWM

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 93/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 92

CMOD = 0x02; // Setup PCA timer CL = 0x00;CH = 0x00;CCAPM4 = 0x42; // Setup PCA module 0 in PWM mode.CR = 1; // Start PCA Timer.

 /////////////////////////////////////////////////////////////////while(1)

{}

} /////ngo ra tin hieu dieu rong xung o chan P1.7 //////////////////////////////////////////////////////////////// //end//

Chươ ng trình viết trên m-files cho phần chạy thự c xử  lý trênMatlab:

kiem_tra_ket_noi.m%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%CHUONG TRINH THUC HIEN VIEC KIEM TRA KET NOI GIUA PC%%VA VDK %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%ma kiem tra ket noi: 255 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%%ten doi tuong cong noi tiep: 'com_port' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%tao moi doi tuong cong COM co ten la com_port com_port=serial('COM4');%%cau hinh cho thuoc tinh timeout la 0s com_port.timeout=10;%%mo cong COM fopen(com_port);%%gui ma kiem tra ket noi 255 xuong VDK com_port.timeout=0.5;

fwrite(com_port,255);%%cau hinh cho thoi gian timer va su kien timer com_port.TimerPeriod=1;com_port.TimerFcn='timer_event';%%END%% 

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 94/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 93

van_hanh.m%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%CHUONG TRINH KHOI TAO CAC BIEN CHO VIEC VAN HANH STR %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%ma van hanh (START) la 254 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%tien hanh khoi tao cac gia tri ban dau cho chuong%%trinh phuc vu viec nhan dang va dieu khien %%he thong lo nhiet %%dong cong COM fclose(com_port);%%vo hieu hoa nut VAN HANH, cho phep nut NGUNG set(findobj(STR_REALTIME_GUIDE,'Tag','vanhanh'),...'Enable','off');set(findobj(STR_REALTIME_GUIDE,'Tag','ngung'),...

'Enable','on');%%lay gia tri T0 tu giao dien GUIDE T0 = str2num(get(findobj(STR_REALTIME_GUIDE,'Tag','T0'),...'string'));%%xu ly thoi gian lay mau, sample_time la he so nhan%%voi thoi gian 0.05s cua VDK de co duoc T0 sample_time = (T0*1000)/50;%%lay gia tri nhiet do dat tu giao dien GUIDE wk1 = str2num(get(findobj(STR_REALTIME_GUIDE,'Tag',...'NhietDoDat'),'string'));

wk=wk1;%%khoi tao gia tri cua vector tham so doi tuong %%Theta=[a1;a2;a3;b1;b2;b3] Theta=[0.1;0.2;0.3;0.4;0.5;0.6];%%khoi tao gia tri cua vector de quy %%PHI=[yk1;yk2;yk3;uk2;uk3;uk4] PHI=[0;0;0;0;0;0];%khoi tao gia tri ban dau cua ma tran C C=1e9*eye(6);%khoi tao gia tri he so tat xi xi=0.85;%khoi tao gia tri tan so dao dong tu nhien omega omega=0.02;am2=exp(-2*xi*omega*T0);am1=-2*exp(-xi*omega*T0)*cos(omega*T0*(sqrt(1-xi*xi)));end d0=1;d1=am1;

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 95/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 94

d2=am2;d3=0;d4=0;d5=0;%%khoi tao cho tin hieu nhiet do va tin hieu dieu khien 

uk=0;uk1=0;uk2=0;uk3=0;uk4=0;yk1=0;yk2=0;yk3=0;%%cac phan tu ban dau cua vector tham so he thong a1=0.1;

a2=0.2;a3=0.3;b1=0.4;b2=0.5;b3=0.6;%%khoi tao cho cac bien dieu khien viec van hanh STOP=0;thoigian=1;nhietdodat=zeros(1,900);bieudonhietdo=zeros(1,900);

bieudodieukhien=zeros(1,900);x=1:1:900;a1_para=zeros(1,900);a2_para=zeros(1,900);a3_para=zeros(1,900);b1_para=zeros(1,900);b2_para=zeros(1,900);b3_para=zeros(1,900);a1_para(thoigian)=a1;a2_para(thoigian)=a2;a3_para(thoigian)=a3;b1_para(thoigian)=b1;b2_para(thoigian)=b2;b3_para(thoigian)=b3;%%vo hieu hoa dieu khien T0 set(findobj(STR_REALTIME_GUIDE,'Tag','T0'),'Enable',...'off');%%mo cong cu plottools da duoc thiet lap de quan sat %%tin hieu

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 96/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 95

open('BIEU DO DAC TUYEN NHIET DO.fig')%%thiet lap lai cho thuoc tinh timeout voi thoi gian %%kha lon de mo cong COM com_port.timeout=10;%%mo cong COM fopen(com_port);

%%gui ma (ma 252) yeu cau VDK nhan thoi gian lay mau%%do PC gui xuong com_port.timeout=0.5;fwrite(com_port,252);%%cau hinh cho thoi gian timer va su kien timer trong%%luc cho doi su phan hoi tu VDK com_port.TimerPeriod=1;com_port.TimerFcn='timer_event';%%END%%

bytesavailable_event.m%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%CHUONG TRINH NHAN DANG VA XUAT TIN HIEU DIEU KHIEN LO%%NHIET STR %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%doc du lieu nhiet do co san trong bo dem PC do VDK %%gui len yk = fread(com_port, 1,'int8')%%tao su kich thich if  (wk==wk1)

wk=wk-1;

else wk=wk+1;end %%gan gia tri cho vector de quy PHI(1)=-yk1;PHI(2)=-yk2;PHI(3)=-yk3;PHI(4)=uk2;PHI(5)=uk3;PHI(6)=uk4;%%%%%%NHAN DANG DUNG THUAT TOAN RLS%%%%%% tam = PHI' * C * PHI;e = yk - Theta' * PHI;Theta = Theta + (C*PHI/(1+tam)) * e;C = C - C*PHI*PHI'*C/(1+tam);%%%%%%TINH TOAN THAM SO CUA BO DIEU KHIEN%%%% a1=Theta(1);a2=Theta(2);

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 97/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 96

a3=Theta(3);b1=Theta(4);b2=Theta(5);b3=Theta(6);%%tinh R 

r0 = (d0+d1+d2+d3+d4+d5)/(b1+b2+b3);%%luu lai tin hieu dieu khien uk4=uk3;uk3=uk2;uk2=uk1;uk1=uk;%%tinh P va Q %%P=[p0 p1 p2], Q=[q0 q1 q2] p0 = d0;

p1 = (-2*d0*a3*b2*b3*a1*b1-b1*d2*b3*a2*b2... +2*d1*b1*a3*b2*b3-d0*b1*a3*a2*b2^2...+d0*b3*b2*a2^2*b1-d0*b3*a2*a1*b2^2+d1*b3^3...-d1*a3*b2^3-d0*a1*b3^3+b1^2*d3*b3*a2-b1^2*d3*a3*b2... +b1*d2*a3*b2^2-b1^2*d2*b3*a3+ b1*d2*b3^2*a1... +d1*b2^2*b3*a2-d1*b3^2*a2*b1-d1*b2*b3^2*a1... +d0*b1^2*a3^2*b2-b1^3*d5*a2+d0*a3*a1*b2^3...-b1*d5*b2^2+b1^2*d5*b3+d0*b1*b3^2*a3+b1^3*d4*a3...+d0*b3^2*a1^2*b2-b1*d3*b3^2+b1^2*d5*a1*b2...-b1^2*d4*b3*a1+b1*d4*b3*b2)/(-a3*b2^3+b2^2*a3*a1*b1...+b2^2*b3*a2-b1^2*a3*a2*b2+3*b1*a3*b2*b3-b2*b3^2*a1

-b2*b3*a2*a1*b1+a3^2*b1^3-2*a3*a1*b1^2*b3...+b3^2*a1^2*b1+b3^3+b1^2*a2^2*b3-2*b3^2*a2*b1);

p2 = (-b3^3*d0*a2-d5*b2^3-d5*b1^2*a2*b2...+d5*a1*b1*b2^2-d5*b1^2*a1*b3+2*d5*b3*b1*b2...-b3*d4*a1*b1*b2+b3*d4*b1^2*a2-b3*d3*b1^2*a3... +b3^2*d3*a1*b1-b3^2*d2*a2*b1-b3*d1*a3*b2^2...+b3^2*d1*a3*b1+b3^2*d1*a2*b2+b3*d2*b1*a3*b2...+b3*d0*a3^2*b1^2+b3^3*d2-b3*d0*a3*b2*a2*b1 ... +b3*d0*b2^2*a1*a3+b3^2*d0*a2^2*b1-2*b3^2*d0*a3*a1*b1... -b3^2*d0*b2*a2*a1+b3^2*d0*a3*b2-b3^2*d4*b1...-b3^2*d3*b2-b3^3*d1*a1+b3^3*d0*a1^2+d5*b1^3*a3...+b3*d4*b2^2)/(-a3*b2^3+b2^2*a3*a1*b1+b2^2*b3*a2...-b1^2*a3*a2*b2+3*b1*a3*b2*b3-b2*b3^2*a1...-b2*b3*a2*a1*b1+a3^2*b1^3-2*a3*a1*b1^2*b3...+b3^2*a1^2*b1+b3^3+b1^2*a2^2*b3-2*b3^2*a2*b1);

q0 = (-d0*a3*b3^2-d0*b3^2*a1^3-d0*a3^2*b1*b2...

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 98/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 97

-d0*a3^2*b1^2*a1-d5*a1*b1*b2-d3*b3*a2*b1... +d4*b3*a1*b1+d3*b1*a3*b2-d4*b3*b2+d2*b3*a2*b2...+d2*b3*a3*b1-d2*a3*b2^2-d1*a3*b2*a2*b1 ... -d2*b3^2*a1+d1*b2^2*a1*a3+d1*a3^2*b1^2+d1*a3*b2*b3 ... -2*d1*a3*a1*b1*b3-d1*b3*b2*a2*a1+d1*b3*a2^2*b1 ... 

+d0*b2*a1*a2*b1*a3-d0*b3*a1*b1*a2^2+d1*b3^2*a1^2...+d0*b2^2*a3*a2-d0*b2^2*a1^2*a3-d1*b3^2*a2... +2*d0*a3*b3*a1^2*b1-d4*b1^2*a3+d0*b3*b2*a2*a1^2...-d5*b1*b3-d0*a3*a1*b3*b2+2*d0*b3^2*a2*a1...-d0*b3*b2*a2^2+d5*b1^2*a2+d3*b3^2+d5*b2^2)/ ... (-a3*b2^3+b2^2*a3*a1*b1+b2^2*b3*a2-b1^2*a3*a2*b2 +3*b1*a3*b2*b3-b2*b3^2*a1-b2*b3*a2*a1*b1+a3^2*b1^3 ... -2*a3*a1*b1^2*b3+b3^2*a1^2*b1+b3^3+b1^2*a2^2*b3...-2*b3^2*a2*b1);

q1 = (d4*b3^2+d0*a3*b3^2*a1+d0*b3^2*a2^2-d1*a3*b3^2... +d0*a3^2*b2^2-d5*b1^2*a3+d5*a1*b1^2*a2-d5*a1^2*b1*b2...+d4*b3*a1^2*b1-d4*b3*a1*b2-d4*b3*a2*b1-d4*a3*a1*b1^2...+d4*b1*a3*b2+d3*b3*a2*b2+d3*b3*a3*b1+d5*a1*b2^2 ... -d3*b3*a2*a1*b1+d3*b2*a3*a1*b1-d2*a3*b2*a2*b1... +d2*b3*a2^2*b1-d2*a3*a1*b1*b3+d2*a3*b2*b3...-d1*a3^2*b1*b2+d1*b2^2*a3*a2-d5*b3*b2-d1*b3*b2*a2^2...-d2*b3^2*a2+d1*b3^2*a2*a1-d0*a3^2*b1^2*a2...+2*d0*a3*b3*a2*a1*b1+d0*b2*a3*a2^2*b1-d0*b3*a2^3*b1...-d0*b2^2*a2*a1*a3-d0*a3^2*b1*b3-d3*a3*b2^2... +d0*b3*b2*a2^2*a1-

2*d0*b3*a3*a2*b2+d2*a3^2*b1^2...-d0*b3^2*a2*a1^2)/(-a3*b2^3+b2^2*a3*a1*b1+b2^2*b3*a2...-b1^2*a3*a2*b2+3*b1*a3*b2*b3-b2*b3^2*a1...-b2*b3*a2*a1*b1+a3^2*b1^3-2*a3*a1*b1^2*b3...+b3^2*a1^2*b1+b3^3+b1^2*a2^2*b3-2*b3^2*a2*b1);

q2 = (d5*b1*a3*b2-d5*b2*a2*a1*b1+d4*a3*a1*b1*b2...-d3*a3*b3*a1*b1+d2*a3*b3*a2*b1-d1*a3*b3*a2*b2... +d0*a3^2*b2*a2*b1-d0*a3*b3*a2^2*b1...+2*d0*a3^2*a1*b1*b3+d0*a3*b3*b2*a2*a1 ... +d5*b3^2+d3*a3^2*b1^2-d2*a3*b3^2+d1*a3^2*b2^2 ... -d0*a3^3*b1^2+d5*b1^2*a2^2+d5*a2*b2^2-d4*a3*b2^2 ... -d2*a3^2*b1*b2-d1*a3^2*b3*b1+d1*a3*b3^2*a1...-d0*a3^2*b2^2*a1-d0*a3^2*b2*b3-d0*a3*b3^2*a1^2... +d0*a3*b3^2*a2-2*d5*b3*a2*b1+d5*b3*a1^2*b1...-d5*a3*a1*b1^2-d5*b3*a1*b2-d4*a3*b1^2*a2...+d4*a3*b1*b3+d3*a3*b3*b2)/(-a3*b2^3+b2^2*a3*a1*b1... +b2^2*b3*a2-b1^2*a3*a2*b2+3*b1*a3*b2*b3-b2*b3^2*a1...

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 99/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 98

-b2*b3*a2*a1*b1+a3^2*b1^3-2*a3*a1*b1^2*b3...+b3^2*a1^2*b1+b3^3+b1^2*a2^2*b3-2*b3^2*a2*b1);%%TINH TOAN TIN HIEU DIEU KHIEN%%luat dieu khien: P*U(k) = R*Wk) - P*Y(k) uk=r0*wk-q0*yk-q1*yk1-q2*yk2-p1*uk1-p2*uk2;

%%khau bao hoa if  (uk>250)

uk=250;elseif  (uk<0)

uk=0;end %%lam tron uk tro thanh so nguyen uk=round(uk)%%luu lai tin hieu nhiet do yk3=yk2;

yk2=yk1;yk1=yk;%%xu ly cac chuc nang ngoai tinh toan if  (STOP==1)

fwrite(com_port,253);com_port.BytesAvailableFcn='';com_port.TimerPeriod=1;com_port.TimerFcn='timer_event';

else fwrite(com_port,uk);

nhietdodat(thoigian)=wk;bieudonhietdo(thoigian)=yk;bieudodieukhien(thoigian)=uk;a1_para(thoigian)=a1;a2_para(thoigian)=a2;a3_para(thoigian)=a3;b1_para(thoigian)=b1;b2_para(thoigian)=b2;b3_para(thoigian)=b3;thoigian=thoigian+1;if  (thoigian>900)

STOP=1;end 

end %%END%%

van_hanh_pid.m%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 100/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 99

%%CHUONG TRINH KHOI TAO CAC BIEN CHO VIEC VAN HANH %%CUA PID %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%ma van hanh (START) la 254 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%%tien hanh khoi tao cac gia tri ban dau cho chuong%%trinh phuc vu viec nhan dang va dieu khien %%he thong lo nhiet %%dong cong COM fclose(com_port);%%vo hieu hoa nut VAN HANH, cho phep nut NGUNG set(findobj(PID_REALTIME_GUIDE,'Tag','vanhanh'),'Enable','off');set(findobj(PID_REALTIME_GUIDE,'Tag','ngung'),'Enable','on');%%lay gia tri T0 tu giao dien GUIDE T0 = str2num(get(findobj(PID_REALTIME_GUIDE,'Tag','T0'),'string'));

%%xu ly thoi gian lay mau, sample_time la he so nhan voi%%thoi gian 0.05s cua VDK de co duoc T0 sample_time = (T0*1000)/50;%%lay gia tri cac tham so cho bo dieu khien tu giao dien PID_RT11 wk = str2num(get(findobj(PID_REALTIME_GUIDE,…'Tag','NhietDoDat'),'string'));kp = str2num(get(findobj(PID_REALTIME_GUIDE,'Tag','kp'),'string'));ki = str2num(get(findobj(PID_REALTIME_GUIDE,'Tag','ki'),'string'));kd = str2num(get(findobj(PID_REALTIME_GUIDE,'Tag','kd'),'string'));%%tinh a0,a1,a2 

a0 = ( kp + ki*T0/2 +kd/T0 );a1 = ( ki*T0/2 - kp - 2*kd/T0);a2 = kd/T0;%khoi tao cac gia tri ban dau yk=0;uk=0;uk_send=0;uk1=0;ek=0;ek1=0;ek2=0;%%khoi tao cho cac bien dieu khien viec van hanh %type_of_controllers=0 <=> STR %type_of_controllers=1 <=> PID STOP=0;thoigian=1;nhietdodat=zeros(1,900);bieudonhietdo=zeros(1,900);

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 101/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 100

bieudodieukhien=zeros(1,900);x=1:1:900;%%vo hieu hoa dieu khien T0 set(findobj(PID_REALTIME_GUIDE,'Tag','T0'),'Enable','off');%%mo cong cu plottools da duoc thiet lap de quan sat tin hieu

open('BIEU DO DAC TUYEN NHIET DO.fig')%%thiet lap lai cho thuoc tinh timeout voi thoi gian kha lon%%de mo cong COM com_port.timeout=10;%%mo cong COM fopen(com_port);%%gui ma (ma 252) yeu cau VDK nhan thoi gian lay mau%%do PC gui xuong com_port.timeout=0.5;fwrite(com_port,252);

%%cau hinh cho thoi gian timer va su kien timer trong luc%%cho doi su phan hoi tu VDK com_port.TimerPeriod=1;com_port.TimerFcn='timer_event';%%END%% 

bytesavailable_event_pid.m%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%CHUONG TRIN TINH TOAN TIN HIEU DIEU KHIEN LO NHIET%%CHO PID 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%doc du lieu nhiet do co san trong bo dem PC do VDK gui len yk = fread(com_port, 1,'int8')%tinh toan gia tri sai so ek = wk-yk;%tinh toan tin hieu dieu khien uk = uk1 + a0*ek + a1*ek1 + a2*ek2;uk_send = uk*5;%khau bao hoa if  (uk_send>250)

uk_send=250;elseif  (uk_send<0)

uk_send=0;end uk_send=round(uk_send)%luu lai tin hieu ek vao qua khu ek2 = ek1;ek1 = ek;

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 102/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 101

%luu lai tin hieu uk vao qua khu uk=round(uk);uk1 = uk;%%xu ly cac chuc nang ngoai tinh toan if  (STOP==1)

fwrite(com_port,253);com_port.BytesAvailableFcn='';com_port.TimerPeriod=1;com_port.TimerFcn='timer_event';

else fwrite(com_port,uk_send);nhietdodat(thoigian)=wk;bieudonhietdo(thoigian)=yk;bieudodieukhien(thoigian)=uk;thoigian=thoigian+1;

if  (thoigian>900)STOP=1;end 

end %%END%% 

timer_event.m%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%CHUONG TRINH PHUC VU SU KIEN TIMER CHO STR VA PID %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%%huy bo thiet lap cho su kien timer com_port.TimerFcn='';%%doc tin hieu phan hoi tu VDK du_lieu_nhan=fread(com_port, 1,'uchar')if  (du_lieu_nhan==255)

%%VDK da nhan duoc ma 255 %%hien thong bao 'ket noi thanh cong' if  (type_of_controllers==0)

set(findobj(STR_REALTIME_GUIDE,'Tag','vanhanh'),'Enable','on');set(findobj(STR_REALTIME_GUIDE,'Tag','kiemtraketnoi'),'Enable','off');set(findobj(STR_REALTIME_GUIDE,'Tag','trangthai'),'String', ... 'KEÁT NOÁI THAØNH COÂNG');

else set(findobj(PID_REALTIME_GUIDE,'Tag','vanhanh'),'Enable','on');set(findobj(PID_REALTIME_GUIDE,'Tag','kiemtraketnoi'),'Enable','off');set(findobj(PID_REALTIME_GUIDE,'Tag','trangthai'),'String', ... 'KEÁT NOÁI THAØNH COÂNG');

end 

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 103/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 102

elseif  (du_lieu_nhan==252)%VDK da nhan duoc ma 252 %VDK o trang thai san sang nhan thoi gian lay mau %%gui thoi gian lay mau sample_time xuong VDK %%gui gia tri sample_time xuong VDK 

fwrite(com_port,sample_time);%%cau hinh cho thoi gian timer va su kien timer com_port.TimerPeriod=1;com_port.TimerFcn='timer_event';

elseif  (du_lieu_nhan==251)%%VDK da nhan duoc gia tri sample_time %%dong cong COM de thiet lap su kien BytesAvallable fclose(com_port);com_port.BytesAvailableFcnMode='byte';com_port.BytesAvailableFcnCount=1;

if  (type_of_controllers==0)com_port.BytesAvailableFcn='bytesavailable_event';else 

com_port.BytesAvailableFcn='bytesavailable_event_pid';end %%gui ma van hanh (START) 254 xuong VDK de tien hanh %%thu thap va xu ly du lieu fopen(com_port);com_port.timeout=0.1;fwrite(com_port,254);

%%hien thi trang thai cua he thong lo nhiet ra GUIDE if  (type_of_controllers==0)set(findobj(STR_REALTIME_GUIDE,'Tag','trangthai'),'String', ... 'HEÄ THOÁNG LOØ NHIEÄT ÑANG VAÄN HAØNH');

else set(findobj(PID_REALTIME_GUIDE,'Tag','trangthai'),'String', ... 'HEÄ THOÁNG LOØ NHIEÄT ÑANG VAÄN HAØNH');

end elseif  (du_lieu_nhan==253)

%%VDK da nhan duoc ma 253 (ma NGUNG) fclose(com_port);%%vo hieu hoa cac nut NGUNG & VANHANH %%cho phep nut KIEM TRA KET NOI %%cho phep hieu hoa dieu khien T0 if  (type_of_controllers==0)

set(findobj(STR_REALTIME_GUIDE,'Tag','T0'),'Enable','off');set(findobj(STR_REALTIME_GUIDE,'Tag','ngung'),'Enable','off');set(findobj(STR_REALTIME_GUIDE,'Tag','kiemtraketnoi'),'Enable','on');

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 104/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 103

  set(findobj(STR_REALTIME_GUIDE,'Tag','trangthai'),'String', ... 'HEÄ THOÁNG LOØ NHIEÄT ÑAÕ NGÖØNG VAÄN HAØNH');%%neu dang dung bo dieu khien STR, mo bieu do tham so open('BieuDoThamSoDoiTuong.fig')

else 

set(findobj(PID_REALTIME_GUIDE,'Tag','T0'),'Enable','off');set(findobj(PID_REALTIME_GUIDE,'Tag','ngung'),'Enable','off');set(findobj(PID_REALTIME_GUIDE,'Tag','kiemtraketnoi'),'Enable','on');set(findobj(PID_REALTIME_GUIDE,'Tag','trangthai'),'String', ... 'HEÄ THOÁNG LOØ NHIEÄT ÑAÕ NGÖØNG VAÄN HAØNH');

end else 

%%hien thong bao KHONG THE KET NOI VOI VDK if  (type_of_controllers==0)

set(findobj(STR_REALTIME_GUIDE,'Tag','trangthai'),'String', ... 

'KHOÂNG THEÅ KEÁT NOÁI PC VÔÙI VDK');else set(findobj(PID_REALTIME_GUIDE,'Tag','trangthai'),'String', ... 'KHOÂNG THEÅ KEÁT NOÁI PC VÔÙI VDK');

end end %%END%% 

8/13/2019 LVTN_2010_NguyenHungThinh

http://slidepdf.com/reader/full/lvtn2010nguyenhungthinh 105/105

Bộ điều khiển tự chỉnh dùng đặt cực cho lò nhiệt 104

Tài liệu tham khảo

[1].   Nguyễ n Thị Phươ ng Hà & Hu ỳnh Thái Hoàng  ,Lý thuyết điều khiển tự  

động, , NXB Đại Học Quốc Gia TPHCM, 2003.[2].   Nguyễ n Thị  Phươ ng Hà, Lý thuyết điều khiển hiện đại, NXB Đại Học

Quốc Gia TPHCM, 2009.[3].  Kiề u Xuân Thự c – V ũ Thị Thu H ươ ng – V ũ Trung Kiên, Vi điều khiển cấu

trúc - lập trình và ứ ng dụng, NXB giáo dục Việt Nam, 2009.[4].   Nguyễ n Phùng Quang, Matlab & Simulink dành cho kỹ sư  điều khiển tự  

động, NXB Khoa học kỹ thuật, 2006.[5].   Bobál, V.; Böhm, J., Self-tuning controllers simulink library, Tomas

Bata University in Zlin, Czech Republic, 2001.[6].   Bobál, V.; Böhm, J.; Fessl, J.; Machácek, J , Digial self-tuning controller

– Algorithms, Implementation and Aplications, Springer, 2005, chapter2.[7].   Nguyễ n  Đứ c Hoàng and Bùi Thanh Huyề n, Application of self-tuning

controller using pole assignment method in controlling electric oven,International Symposium on Eletrical & Electronics Engineering 2007.

[8].  Gang Feng & Rogelio Lozano, Adaptive_Control_Systems, Oxford, 1999.