You are on page 1of 42

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

ĐỒ ÁN II

THIẾT KẾ BỘ ĐIỀU KHIỂN CHO HỆ MIMO

Phạm Nguyễn Minh Đức


duc.pnm173038@sis.hust.edu.vn

Ngành KT Điều khiển & Tự động hóa


Chuyên ngành Điều khiển tự động

Giảng viên hướng dẫn: ThS. Chu Đức Việt

Bộ môn: Điều khiển tự động


Viện: Điện
Lời nói đầu
Hiện nay, ở các nhà máy và trong công nghiệp sử dụng rất nhiều các hệ thống
điều khiển quá trình. Chúng đóng vai trò quan trọng trong sản xuất và được ứng
dụng rộng rãi. Vậy nên, trong đồ án II này, em quyết định làm về hệ thống điều
khiển bình mức.
Đối tượng được nghiên cứu là một hệ thống nhiều vào nhiều ra. Hệ thống này
được xây dựng dưới dạng bình mức. Đầu vào là lưu lượng nước nóng và nước
lạnh, trong đó nhiệt độ nước nóng, nước lạnh được đo bằng cảm biến và lưu
lượng vào được điều khiển bằng van khí nén. Đầu ra cần điều khiển là nhiệt độ
và chiều cao của mức nước trong bình. Để thiết kế được bộ điều khiển cho hệ
thống này, chúng ta cần trải qua các bước: mô hình hóa đối tượng, tính toán bộ
điều khiển, thiết kế phần cứng và phần mềm thực thi cho đối tượng thật. Các
bước tính toán được triển khai trên Matlab và giao tiếp với Arduino để điều khiển
hệ thống. Không những thế, chúng ta còn được thao tác trên đối tượng thật, đồng
thời tìm cách nâng cao chất lượng điều khiển.

Đồ án này gồm các chương:


Chương 1: Giới thiệu về hệ thống
Chương 2: Xây dựng mô hình của đối tượng
Chương 3: Thiết kế bộ điều khiển cho hệ thống
Chương 4: Thiết kế mạch điều khiển nhúng
Chương 5: Kết quả thực nghiệm
Chương 6: Kết luận

Cuối cùng em xin gửi lời cảm ơn chân thành đến các thầy cô đã dạy và hướng
dẫn em. Trong suốt quá trình làm đò án, em đã nhận được sự giúp đỡ và chỉ bảo
nhiệt tình từ các thầy, cô giáo trong bộ môn Điều Khiển Tự Động, đặc biệt là
thầy giáo, thạc sĩ Chu Đức Việt. Thầy đã trực tiếp theo sát và hướng dẫn em hoàn
thành đồ án II này. Em xin chân thành cảm ơn

Sinh viên thực hiện

Phạm Nguyễn Minh Đức

1
MỤC LỤC

MỤC LỤC .............................................................................................................................. 2


CHƯƠNG 1. GIỚI THIỆU VỀ HỆ THỐNG ....................................................................... 4
1.1 Mô tả hệ thống nhiều vào nhiều ra ......................................................................... 4
1.2 Nhiệm vụ của bài toán điều khiển .......................................................................... 6
1.3 Yêu cầu công việc ................................................................................................... 7
1.4 Các bước tiến hành ................................................................................................. 8
CHƯƠNG 2. XÂY DỰNG MÔ HÌNH CỦA ĐỐI TƯỢNG ............................................. 10
2.1 Phân tích bài toán .................................................................................................. 10
2.1.1 Lựa chọn phương pháp xây dựng mô hình toán học .................................... 10
2.1.2 Phân tích quá trình ........................................................................................ 10
2.1.3 Xây dựng phương trình mô hình................................................................... 11
2.2 Kiểm chứng mô hình ............................................................................................ 12
2.2.1 Mô phỏng ...................................................................................................... 12
2.2.2 Thực tế ........................................................................................................... 13
CHƯƠNG 3. THIẾT KẾ BỘ ĐIỀU KHIỂN CHO HỆ THỐNG ....................................... 15
3.1 Phân tích điều khiển.............................................................................................. 15
3.1.1 Tuyến tính hóa quanh điểm làm việc ............................................................ 15
3.1.2 Tính điều khiển được .................................................................................... 16
3.2 Điều khiển tách kênh cho hệ tuyến tính ............................................................... 17
3.2.1 Cơ sơ lý thuyết .............................................................................................. 17
3.2.2 Kết quả mô phỏng ......................................................................................... 19
CHƯƠNG 4. THIẾT KẾ MẠCH ĐIỀU KHIỂN NHÚNG ................................................ 20
4.1 Thiết kế phần cứng ............................................................................................... 20
4.1.1 Sơ đồ tổng thể và nguyên lý hoạt động ........................................................ 20
4.1.2 Các thành phần của phần cứng và nhiệm vụ của chúng ............................... 21
4.1.3 Lựa chọn thiết bị ........................................................................................... 22
4.1.4 Hình ảnh phần cứng ...................................................................................... 28
4.2 Xử lý tín hiệu đo và tín hiệu điều khiển ............................................................... 29
4.2.1 Đo và xử lý tín hiệu đo.................................................................................. 29
4.2.2 Tính toán tín hiệu điều khiển ........................................................................ 32
4.3 Thiết kế phần mềm ............................................................................................... 33
4.3.1 Phần mềm điều khiển tách kênh ................................................................... 34
CHƯƠNG 5. KẾT QUẢ THỰC NGHIỆM ........................................................................ 36
5.1 Kết quả điều khiển tách kênh ............................................................................... 36
CHƯƠNG 6. KẾT LUẬN ................................................................................................... 37

2
6.1 Kết luận ................................................................................................................. 37
6.2 Hướng phát triển ................................................................................................... 37
DANH MỤC TÀI LIỆU THAM KHẢO ............................................................................ 41

3
CHƯƠNG 1. GIỚI THIỆU VỀ HỆ THỐNG

Chương này tập trung vào mô tả hệ thống bình mức được sử dụng trong đồ án, từ
đó đưa ra mục tiêu, nhiệm vụ của bài toán điều khiển mức nước và nhiệt độ trong
bình mức.
1.1 Mô tả hệ thống nhiều vào nhiều ra
Mô tả sơ bộ: Hệ thống gồm hai nguồn nước nóng và lạnh chảy vào một bình
chứa thông qua hai van điều khiển được, bình chứa có một van xả bằng tay ở đáy
bình. Bên cạnh đó, hệ thống còn có các cảm biến phục vụ đo nhiệt độ và mức
nước. Cụ thể có một cảm biến đo mức nước của bình chứa và ba cảm biến PT100
đo nhiệt độ nước nóng, nước lạnh, nước xả ra khỏi bình chứa. Hai thông tin về hệ
thống mà ta cần điều khiển là nhiệt độ và chiều cao của mức nước trong bình
chứa.

Hình 1. 1 - Mô tả hệ thống
Mô tả chi tiết:
 Bình chứa (đối tượng điều khiển)
o Dạng hình hộp chữ nhật, đáy 18x18cm, cao 35cm.
o Vật liệu kim loại.
o Tại độ cao 30cm có một van chống tràn.
o Dưới đáy có một van xả tay, lưu lượng nước chảy ra cực đại khoảng
4,7.10 𝑚 /𝑠
 Nguồn nước nóng, lạnh
o Nước nóng được cấp từ một bình nóng lạnh, có nhiệt độ có thể lên tới
75 𝐶, lưu lượng vào cực đại khoảng 4,28.10 𝑚 /𝑠

4
o Nước lạnh có nhiệt độ phụ thuộc vào nhiệt độ môi trường, trong điều
kiện thời tiết mùa hè thì nhiệt độ nước lạnh khoảng 32 − 35 𝐶, lưu
lượng vào cực đại khoảng 2,28.10 𝑚 /𝑠
 Van (cơ cấu chấp hành)

Hình 1. 2 - Van khí nén


o Van thường mở (NO), điều khiển bằng khi nén từ bộ chuyển đổi I/P
Samson 6102, lưu lượng qua van tỉ lệ với độ mở van từ 0-100%
o Ngoài ra hệ còn có hai van tay để điều chỉnh lượng nước được cấp vào
bình chứa.
 Bộ chuyển đổi I/P

Hình 1. 3 - Bộ chuyển đổi dòng điện - áp suất


o Có tác dụng chuyển đổi tín hiệu dòng điện thành tín hiệu khí nén.
o Đầu vào là tín hiệu dòng điện trong dải từ 4-20mA.
o Đầu ra là tín hiệu khí nén có thể điều chỉnh liên tục trong dải 0,05-6,0
bar hoặc 0,7-90 psi.

5
o Nguồn cấp khí có áp suất 0,4 bar hoặc 6 psi trên dải điều khiển nêu
trên.
o Đặc tính tuyến tính (đầu ra là một hàm tuyến tính với đầu vào)
 Cảm biến đo mức (thiết bị đo)

Hình 1. 4 - Cảm biến đo mức


o Hệ thống dùng cảm biến KL76, hoạt động theo nguyên lý chênh lệch
áp suất giữa chất lỏng ở đáy bình và khí quyển
o Nguồn cấp 24VDC±10%
o Đầu ra là tín hiệu 4-20mA
o Kiểu mắc 2 dây
o Quan hệ giữa chiều cao và dòng điện là quan hệ tuyến tính
 Cảm biến đo nhiệt độ Pt100 (thiết bị đo)
o Có chất liệu que đo là Platinum
o Hoạt động dựa trên nguyên lý điện trở suất của kim loại thay đổi theo
sự thay đổi của nhiệt độ
o Dải đo −200 đế𝑛 850 𝐶
o Với dải đo 0 đế𝑛 100 𝐶 đường đặc tính của Pt100 là tuyến tính và
được xác định như sau : 𝑅 = 𝑅 (1 + 3,9083. 10 𝑡 )
1.2 Nhiệm vụ của bài toán điều khiển
Để một hệ thống điều khiển quá trình hoạt động tốt thì cần phải thỏa mãn những
yêu cầu sau:
 Hoạt động ổn định, bền vừng với nhiễu hệ thống.

6
 Các thiết bị hoạt động êm ái, bền đẹp với thời gian.
 Hệ thống hoạt động tin cậy, an toàn với người sử dụng
Từ đó, chúng em đưa ra những tiêu chí cho hệ thống này như sau:
 Tín hiệu ra bám ổn định theo giá trị đặt.
 Độ quá điều chỉnh nhỏ (khoảng 10%), sai lệch tĩnh nhỏ
 Thời gian đáp ứng nhanh
 Tín hiệu điều khiển ổn định, trong phạm vi làm việc của cơ cấu chấp hành
 Phần cứng hoạt động ổn định, tin cậy, an toàn cho người dùng
 Phần mềm tiện lợi, dễ dàng đóng gói, quản lý và mở rộng khi cần thiết
1.3 Yêu cầu công việc

Hình 1. 5 - Tổng quan hệ thống


Mục tiêu công việc hướng tới trong đồ án này là xây dựng mô hình thí nghiệm hệ
thống MIMO cụ thể là hệ thống hai vào hai ra điều khiển nhiệt độ và mức nước.
Hiện tại mới chỉ có hệ thống, chưa có mạch điều khiển cũng như phần mềm điều
khiển. Do vậy công việc được đặt ra gồm 2 phần chính:
Phần cứng: Hệ thống bình mức đã được thiết kế sẵn gồm 3 cảm biến RTD đo
nhiệt độ nước nóng, nước lạnh, nước trong bình và một cảm biến áp suất đo mức
nước, đồng thời hai van lưu lượng vào là van khí nén có thể điều khiển được nên

7
mạch phần cứng phải có chức năng đọc tín hiệu cảm biến và xuất tín hiệu điều
khiển. Mạch phần cứng gồm bốn ADC phục vụ đọc cảm biến, vi điều khiển, một
DAC để xuất tín hiệu điều khiển dạng điện áp và một mạch chuyển đổi áp sang
dòng. Tín hiệu cảm biến được chuẩn hóa về tín hiệu điện áp đưa vào module
ADC xử lý và trả về giá trị ADC của cảm biến tương ứng. Giá trị này được vi
điều khiển truyền thông đến Matlab tính toán ra tín hiệu điều khiển. Tín hiệu điều
khiển xuất ra dạng điện áp, qua bộ chuyển đổi áp sang dòng để đưa vào van.
Phần mềm: Phần đọc cảm biến và xuất tín hiệu điều khiển thực hiện trên
Arduino. Còn phần tính toán bộ điều khiển thực hiện trên Matlab. Matlab nhận từ
Arduino giá trị ADC tương ứng với giá trị cảm biến. Sau đó từ giá trị này, Matlab
tính toán bộ điều khiển và chuyển sang giá trị DAC điều khiển từng van. Matlab
chuyển giá trị DAC này cho vi điều khiển thực thi trên thiết bị thực tế. Như vậy,
phần mềm sẽ thực hiện tính toán, hiển thị và giao tiếp giữa vi điều khiển với
Matlab.

1.4 Các bước tiến hành


Từ những phân tích về hệ thống và nhiệm vụ của bài toán điều khiển, chúng em
đưa ra những bước cần phải làm để xây dựng một hệ thống điều khiển bình mức
hoàn chỉnh như sau:
Mô hình hóa: Xây dựng các phương trình toán để mô tả đối tượng. Sử dụng các
phương trình động học của đối tượng hai bình mức mô tả dưới dạng phương trình
phi tuyến trong không gian trạng thái. Từ mô hình này có thể áp dụng các
phương pháp điều khiển vào đối tượng. Ngoài việc sử dụng các phương trình
động học thì để mô hình hóa còn có phương pháp nhận dạng cho đầu vào thay
đổi để đo đáp ứng đầu ra của hệ thống. Từ những thông tin đó có thể sử dụng
Identification tool của Matlab để nhận dạng đối tượng.
Tuyến tính hóa: Đưa phương trình động học của đối tượng hai bình mức từ dạng
phương trình phi tuyến về dạng phương trình tuyến tính để tiện cho việc thiết kế
bộ điều khiển về sau. Có hai phương pháp tuyến tính hóa thông dụng hay được
sử dụng đó là tuyến tính hóa quanh điểm làm việc và tuyến tính hóa chính xác.
Với đối tượng của bài toán đang xét là hai bình mức có điểm làm việc tương đối
ổn định trong các quá trình thực tế thì phương pháp tuyến tính hóa quanh điểm
làm việc tỏ ra phù hợp hơn cả và được sử dụng nhiều trong thực tế. Đây cũng
chính là phương pháp mà chúng em xét đến trong đề tài này.
Thiết kế bộ điều khiển: Bộ điều khiển thiết kế phải đảm bảo giá trị mức nước
bám giá trị đặt trong một khoảng thời gian nhất định độ sai lệch đủ nhỏ. Bộ điều
khiển ở đây bao gồm cả bộ điều khiển phi tuyến cho hệ ban đầu và bộ điều khiển
tuyến tính cho hệ đã tuyến tính hóa.
Thiết kế phần cứng, phần mềm: Để cài đặt thuật toán điều khiển cho hệ thống
thì cần phải có một mạch điều khiển gồm các chức năng sau: đọc tín hiệu về từ
cảm biến, gửi cho vi điều khiển tính toán và xuất ra tín hiệu điều khiển van. Bên

8
cạnh đó, cần thiết kế một phần mềm điều khiển cài đặt trên Arduino và tương tác
với người dùng qua giao diện trên Matlab.

9
CHƯƠNG 2. XÂY DỰNG MÔ HÌNH ĐỐI TƯỢNG

Ở chương trước, chúng em trình bày chi tiết về hệ thống bình mức được sử dụng
trong đồ án. Trong chương này, chúng em sẽ mô hình hóa đối tượng bình chứa từ
những phương trình toán học cơ bản và sau đó sẽ mô phỏng và kiểm chứng mô
hình thu được.
2.1 Phân tích bài toán
2.1.1 Lựa chọn phương pháp xây dựng mô hình toán học
Do các tham số của hệ thống như diện tích đáy bình (A), nhiệt độ nguồn nước
nóng (Th), nhiệt độ nguồn nước lạnh (Tc) đều dễ dàng xác định được qua đo đạc
nên chúng em lựa chọn phương pháp mô hình hóa lý thuyết để phân tích và xây
dựng mô hình.
Đây là một phương pháp xây dựng mô hình dựa trên các định luật vật lý, hóa học
cơ bản. Phương pháp này rất phù hợp để phân tích và kiểm chứng mô hình, đồng
thời giúp ta hiểu sâu các quan hệ bên trong của quá trình liên quan trực tiếp tới
các hiện tượng vật lý, hóa học hoặc sinh học. Bên cạnh đó nó còn cho phép xác
định tương đối chính xác cấu trúc của mô hình.
2.1.2 Phân tích quá trình
Như đã mô tả, hệ thống nhiều vào nhiều ra ở đây là một bình chứa có hai dòng
nước chảy vào có thể điều khiển được lưu lượng. Hai dòng nước này có nhiệt độ
khác nhau. Ở đáy bình có vòi nước chảy ra, bộ điều khiển không can thiệp được
trong quá trình vận hành. Nhiệm vụ ở đây là điều khiển mức nước và nhiệt độ
trong bình bám với giá trị đặt trước.
Các biến quá trình:

Hình 2. 1 - Mô tả các biến quá trình

10
 Biến cần điều khiển:
o Nhiệt độ T ( 𝐶)
o Mức nước trong bình h (m)
 Biến điều khiển:
o Lưu lượng dòng nước lạnh: 𝑤 (𝑚 /𝑠)
o Lưu lượng dòng nước nóng: 𝑤 (𝑚 /𝑠)
 Nhiễu quá trình:
o Lưu lượng nước chảy ra: 𝑑 (𝑚 /𝑠), lưu lượng ra này là giá trị thụ động
phụ thuộc vào độ mở van và mức nước trong bình. Giá trị này được
xác định theo công thức Bernoulli như sau:
d  C . 2 g . A0. k . (2.1)
h h
o Trong đó C là hệ số van xả (discharge coefficient), 𝐴 là tiết diện van,
g là gia tốc trọng trường.
o Nhiệt độ nguồn nước nóng: 𝑇ℎ( 𝐶)
o Nhiệt độ nguồn nước lạnh: 𝑇𝑐( 𝐶)

2.1.3 Xây dựng phương trình mô hình


 Phương trình cân bằng vật chất
Trong một đơn vị thời gian, lượng nước chảy vào bình bằng tổng lượng nước
trong bình và lượng nước chảy ra khỏi bình.
V in  V b靚h  V out (2.2)
Hay có thể viết lại thành

w  w  A dh  d
(2.3)
1 2
dt
 dh  w w d
 1
 2

dt A
(2.4)
 dh 
w w k . h
1 2

dt A
 Phương trình cân bằng năng lượng
Xét bình là một đối tượng thì tổng năng lượng vào bình bằng tổng năng lượng
thoát ra khỏi bình và sự thay đổi năng lượng trong bình. Trong đồ án này, ta có
thể bỏ qua cơ năng của nước chảy, trao đổi nhiệt với môi trường, … Do đó ta có
thể phát biểu lại như sau: tổng nhiệt lượng từ lượng nước chảy vào bình bằng
tổng nhiệt lượng của lượng nước chảy ra khỏi bình và nhiệt lượng gia tăng trong
bình.

11
d  A.hT. 
w1.Tc  w2.Th  d .T  (2.5)
dt
 w .Tc  w .Th  d .T  T . A . dh  h . A . dT
(2.6)
1 2
dt dt
Thay (2.4) vào (2.6) ra được:

w .Tc  w .Th  d .T  T . w  w  d   h . A . dT
1 2 1 2
dt
 dT 
w Tc  T   w Th  T 
1 2

dt A .h (2.7)
Như vậy từ (2.4) và (2.7) ta có:

 dh  w1 w2 k
  . h
 dt (2.8)

A
 dT

w Tc  T   w2 Th  T
 1

 dt A .h
Đặt 𝑥 = (ℎ 𝑇) , 𝑢 = (𝑤 𝑤 ) và 𝑦 = 𝑥, khi đó ta sẽ được hệ phương trình
mô tả hệ thống bình mức này như sau:
  1 1 
  
 k h
 
d x 
  A A   u1 
  A   
dt    Tc  x 2 Th  x 2 u2 
(2.9)
  
  0  
 A x1 Ax 1



y  x

2.2 Kiểm chứng mô hình
2.2.1 Mô phỏng
Ta tiến hành mô phỏng đối tượng với lưu lượng vào của van lạnh là 1,65.10
𝑚 /𝑠 , van nóng là 3,05.10 𝑚 /𝑠 và van ra là 2,77.10 𝑚 /𝑠

12
Hình 2. 2 - Kiểm chứng mô hình
2.2.2 Thực tế

Hình 2. 3 - Kiểm chứng đáp ứng độ cao

Hình 2. 4 - Kiểm chứng đáp ứng nhiệt độ

13
Nhận xét:
So sánh giữa kết quả mô phỏng và kết quả thực tế, ta thấy mô hình toán học của
đối tượng rất giống vời mô hình thực. Như vậy việc thiết kế bộ điều khiển trên
mô hình mô phỏng sẽ giúp ta kiểm tra được sự chính xác và tin cậy của bộ điều
khiển, đồng thời sẽ giúp cho việc triển khai bộ điều khiển vào thực tế hiệu quả
hơn.

14
CHƯƠNG 3. THIẾT KẾ BỘ ĐIỀU KHIỂN CHO HỆ THỐNG

3.1 Phân tích điều khiển


3.1.1 Tuyến tính hóa quanh điểm làm việc
Có thể nói lý thuyết điều khiển tuyến tính đã phát triển gần tới một mức hoàn hảo
và cung cấp cho ta khá đầy đủ công cụ để phân tích và xây dựng được một hệ
thống điều khiển tuyến tính đạt mọi chất lượng yêu cầu. Mong muốn sử dụng
được kiến thức đó trên những hệ thống phi tuyến, người ta đã xấp xỉ một mô hình
phi tuyến thành mô hình tuyến tính trong lân cận các điểm trạng thái làm việc mà
ta quan tâm và ta chuyển bài toán điều khiển phi tuyến thành bài toán điều khiển
tuyến tính. Việc tuyến tính hóa quanh điểm làm việc được tiến hành theo tài liệu
[1] như sau:
Chọn các điểm làm việc khi hệ hoạt động ổn định như sau:
 Độ cao mức nước: ℎ
 Nhiệt độ nước trong bình 𝑇
 Lưu lượng nước lạnh: 𝑤
 Lưu lượng nước nóng: 𝑤
Phương trình cân bằng tại điểm làm việc:

  w w k . h
1 2

0


A

0 
w Tc  T   w Th  T
1 2 
 Ah
 
 w1 w 2  k . h
 (3.1)
 w .Tc  w .Th  d .T
 1 2

Xét một điểm nằm lân cận điểm làm việc:


 h   h
 h
T 
 T  T
 (3.2)
 w1  w1  w1

 w 2  w 2  w 2

Thay (3.2) vào hệ phương trình (2.9) ta được:



d  h  h   w  w  w  w  k .
1 1 2 2 h  h
 (3.3)
 dt A

d

T  T    w  w  Tc  T
1 1
 T    w  w  Th  T  T 
2 2



dt A  h  h 

15
Với ∆ℎ rất nhỏ thì

 h  h 
 h  h  h 1  h 1 
 h  2h 
 1

 h   1  h  
 h  h 
1
 h 1
1 1 1

   h  h  h
  h 
Và bỏ qua số hạng   w   w  T
1 2

Do dó hệ (3.3) sẽ trở thành:


 d h
 w1 w 2  k h


 dt A 2A h

 d T
 
 
w1 Tc  T  w 2 Th  T     w  w  T
1 2

 dt Ah
 d h

  k   1 1 
   0   
 dt   2A h 
  h   
  A A   w1  (3.4)
   
 d T   k   T   Tc  T Th  T   w 2 
  0    
 dt   A h   Ah Ah 
 

3.1.2 Tính điều khiển được


Khái niệm điều khiển được: Một hệ thống tuyến tính, liên tục được gọi là điều
khiển được nếu tồn tại ít nhất một tín hiệu điều khiển đưa được nó từ một điểm
trạng thái ban đầu 𝑥 (tùy ý) về được gốc tọa độ 0 trong khoảng thời gian hữu
hạn.
Từ [2], theo Hautus điều kiện cần và đủ để hệ tuyến tính không có trạng thái thừa
(3.4) điều khiển được là:
Rank (sI  A, B) n, s

Cũng từ [2], theo Kalman, điều kiện cần và đủ để hệ tuyến tính không có trạng
thái thừa (3.4) điều khiển được là:

Rank ( B, AB, A2 B,..., An 1B)  n

Với điểm cân bằng ℎ = 0.07 và 𝑇 = 57 thì:

  0.0047 0 31 31 
  
A 
0.0095  B 
 0  1025.8 5129 

Áp dụng tiêu chuẩn Kalman cho hệ (3.4) với điểm cân bằng như trên, ta được:

16
Rank (B, AB) 2

Như vậy hệ (3.4) là điều khiển được.


3.2 Điều khiển tách kênh cho hệ tuyến tính
3.2.1 Cơ sơ lý thuyết
Như ở 3.1.15 đã trình bày, mô hình toán của hệ thống bình nóng lạnh sau khi
tuyến tính hóa quanh điểm cân bằng là:
 d h

  k 0

  1 1 
    
 dt   2A h 
h   A A   w1 

  
  T   Tc  T Th  T  
 d T   0  k   w 2 
    A 
 dt  
 A h 
  h Ah 

Mô hình trạng thái này có dạng


 x  Ax  Bu
y
 C x  Du

Với


k
0

  1 1 
 2A h   A A 
A   B  
 k   Th T 
 0    Tc T
 A h   A A h 
   h
1 0 0 0
C   D  
0 1 0 0
Mô hình trên là biểu diễn hệ thống trên miền không gian trạng thái.Để thiết kế bộ
điều khiển tách kênh ta cần mô hình hệ thống trên miền tần số, với hàm truyền
H F (s) thỏa mãn: Y (s)  H F (s)U ( s)
Trong đó, H F (s) được tính dựa theo mô hình trên miền không gian trạng thái
như sau:
H (s)  C(sI  A)1 B  D
F
(3.5)

Thay các tham số A,B,C,D ở trên vào ta có H F (s) là ma trận hàm truyền của đối
tượng có dạng ma trận 2x2:

17
 H (s) H F12 (s) 
H F (s)   F11 
H
 F 21 ( s ) H F 22 ( s ) 

Hình 3. 1 - Sơ đồ cấu trúc hệ MIMO hai vào hai ra


Theo [2] và [4], về nguyên lý điều khiển ở đây ta sẽ thiết kế sao cho tương ứng
với mỗi cặp đầu vào – đầu ra khác nhau thì sẽ có 1 bộ điều khiển. Như vậy với hệ
hai vào hai ra thì có tất cả 4 bộ điều khiển có sơ đồ cấu trúc như sau:

Hình 3. 2 - Sơ đồ nguyên lý điều khiển từng kênh


Bộ điều khiển tách kênh có nguyên lý hoàn toàn tương tự như trên nhưng đặc
biệt hơn là hệ kín mong muốn sẽ được tách thành hai hệ SISO riêng biệt. Do vậy
mới có tên là bộ điều khiển tách kênh.
Khi đó hàm truyền hệ kín được chọn sẽ có dạng:

 H (s) 0 
H 0 (s)   011 
 0 H 022 ( s ) 

18
Bộ điều khiển tách kênh sẽ được tính theo công thức sau:
1 1 (3.6)
H C (s)   2 H F (s)  .H 0 (s).  I2  H 0 (s)
Trong đó, H0 (s) là hàm truyền hệ kín mong muốn, H F (s) là hàm truyền của hệ
thống, HC ( s) là bộ điều khiển tách kênh.
Sau khi đã tách được hệ MIMO về dạng SISO theo phương pháp tách kênh trình
bày ở trên, hoàn toàn có thể sử dụng bộ điều khiển P, PI, PID để chọn tham số
cho bộ điều khiển dựa vào các phương pháp thực nghiệm, tối ưu module hoặc
tunning trên Matlab.

Hình 3. 3 - Điều khiển hệ sau khi tách kênh


3.2.2 Kết quả mô phỏng
Thực hiện mô phỏng trên MatLab với bộ điều khiển tách kênh và mô hình phi
tuyến của hệ thống bình nóng lạnh.
Với mô hình hệ thống bình nóng lạnh trên bộ môn cùng với các tham số mô hình
hệ thống đã thu thập được thay vào công thức (3.5) ta có hàm truyền:
 30.86 30.86 
 s  0.004735 s  0.004735 
H F ( s)   4

 1.013*10 5261 
 s  0.009469 s  0.009469 

Như đã trình bày ở phần lý thuyết về bộ điều khiển tách kênh hàm truyền hệ kín
được chọn có dạng đường chéo như sau:

 1 
 4s 1 0 
H 0 ( s)   
 0 1 
 2s 1 

19
Theo công thức (3.6) ta có thể tính được bộ điều khiển tách kênh
 0.002769s 1.311*10 5 -3.249*10 5 s 3.077*10 7 
 
s s
H C (s )   
 0.005331s  2.524*105 5
3.249*10 s 3.077*10  7

 s s 
 
Sau khi hệ MIMO thành hai hệ SISO, ta tiến hành điều khiển bằng bộ PID. Điều
khiển h dùng PI và điều khiển T dùng P:
0,02
R  50
1
và R  30
2
s
Kết quả đáp ứng của hệ thống được mô phỏng như hình dưới đây:

Hình 3. 4 - Đáp ứng nhiệt độ khi thay đổi giá trị đặt

Hình 3. 5 - Đáp ứng độ cao khi thay đổi giá trị đặt
CHƯƠNG 4. THIẾT KẾ MẠCH ĐIỀU KHIỂN NHÚNG

4.1 Thiết kế phần cứng


4.1.1 Sơ đồ tổng thể và nguyên lý hoạt động
a) Sơ đồ phần cứng

20
Hình 4. 1 - Sơ đồ tổng quát thiết kế phần cứng
b) Nguyên lý hoạt động
Nguyên lý hoạt động cơ bản của mạch phần cứng như sau:
 Tín hiệu nhiệt độ và mức nước của hệ thống bình nóng lạnh sẽ được đo về
nhờ các cảm biến nhiệt điện trở Pt100 và cảm biến áp suất.
 Các tín hiệu này sau đó sẽ được xử lý và mã hóa về dạng thông tin số mà
vi điều khiển có thể đọc được
 Tiếp đó, mạch điều khiển sẽ tính toán và đưa ra các giá trị điều khiển dưới
dạng điện áp dựa theo giá trị đặt và các giá trị trả vể từ cảm biến
 Cuối cùng, điện áp điều khiển sẽ được chuyển sang dòng điều khiển 4-20
mA đưa vào điều khiển các van khí nén

4.1.2 Các thành phần của phần cứng và nhiệm vụ của chúng
Phần cứng có nhiệm vụ là cầu nối trung gian giữa phần mềm điều khiển và hệ
thống thực tế.
Về cơ bản thì phần cứng hệ thống gồm nhứng thành phần với nhiệm vụ cụ thể
như sau:
 Mạch nguồn: Chức năng của mạch nguồn là cung cấp điện áp hoạt động
cho các thành phần khác trong hệ thống. Nguồn điện giống như trái tim
của hệ thống vây, nguồn có ổn định thì các thành phần khác mới hoạt
động bền bỉ ổn định được. Nguồn thiết kế phải đảm bảo đáp ứng đủ công
suất, tốt nhất là cao hơn 50% so với nhu cầu của toàn bộ hệ thống đồng
thời điện áp ra phải ổn định.
 Mạch điều khiển: Nếu nguồn được coi như trái tim của hệ thống thì mạch
điều khiển sẽ là bộ não. Mạch điều khiển sẽ thu thập thông tin trả về từ
các cảm biến, thực hiện tính toán theo những thuật toán đã cài đặt trước đó.
Rồi sau đó ra tín hiệu điều khiển đến các thiết bị chấp hành. Bên cạnh khả
năng tính toán thì tốc độ tính toán của mạch điều khiển cũng cần được
quan tâm để đảm bảo hệ thống hoạt động tốt nhất

21
 Mạch giao tiếp nhiệt điện trở Pt100 đo nhiệt độ: Cảm biến Pt100 là một
loại nhiệt điện trở, nghĩa là điện trở của nó thay đổi phụ thuộc vào nhiệt
độ. Do vi điều khiển không thể đọc trực tiếp giá trị điện trở được do vậy
cần mạch giao tiếp với Pt100 có chức năng mã hóa thông tin về giá trị
điện trở thành một giá trị số nguyên rồi gửi cho vi điều khiển xử lý.
 Mạch giao tiếp cảm biến áp suất đo độ cao: Tương tự với Pt100 thì cảm
biến áp suất có đầu ra là tín hiệu dòng 4-20 mA mà vi điều khiển không
thể đọc được vì vậy cần mạch giao tiếp để mã hóa thông tin này.
 Mạch tín hiệu dòng đầu ra cho valve khí nén: Như đã trình bày ở phần hệ
thống thì valve điều khiển cho hệ thống bình nóng lạnh là valve khí nén
điều khiển bằng tín hiệu dòng 4-20mA. Mạch tín hiệu dòng có bản chất là
mạch chuyển đổi tín hiệu áp sang dòng, có nhiệm vụ nhận tín hiệu điều
khiển dạng điện áp 0-5V rồi chuyển chúng sang tín hiệu dòng 0-20mA
 Yêu cầu:Phần cứng thiết kế phải đảm bảo những yêu cầu cơ bản sau
o Thực hiện đúng chức năng được thiết kế
o Thiết kế nhỏ gọn, dễ lắp đặt
o Dễ dàng trong quá trình kiểm tra, bảo trì, bảo dưỡng
o Độ tin cậy cao
o Hoạt động trong thời gian dài

4.1.3 Lựa chọn thiết bị


a) Mạch giao tiếp với Pt100
Pt100 là một loại nhiệt điện trở - có điện trở thay đổi theo nhiệt độ. Để đo được
giá trị điện trở thông thường người ta đo dán tiếp qua giá trị điện áp.
Về cơ bản, khi giá trị điện trở thay đổi thì dẫn đến giá trị điện áp thay đổi. Ta sẽ
đo giá trị điện áp này từ đó tính ngược lại được giá trị điện trở. ADC là thiết bị
thông dụng để đo điện áp. Với yêu cầu bài toán ở đây, module AD7705 hoàn
toàn đáp ứng yêu cầu với những thông số cơ bản sau:
o Độ phân giải: 16 bit
o Giao tiếp số: SPI
o Điện áp hoạt động: 5V
o Có khả năng khuếch đại
Phần mạch đo, có 2 phương áp có thể lựa chọn:

 Phương án 1: Sử dụng dạng phân áp với 1 điện trở cố định

22
Hình 4. 2 - Mạch đo RTD dạng phân áp
 Phương án 2: Sử dụng mạch cầu Wheastone

Hình 4. 3 - Mạch đo RTD dạng mạch cầu Wheatstone


Qua thử nghiệm cho thấy, phương án 1 tuy có thể đơn giản hóa quá trình tính
toán nhưng do điện áp tham chiếu của ADC thay đổi nên dễ bị ảnh hưởng của
nhiễu điện từ. Phương án 2 tuy tính toán phức tạp hơn đôi chút nhưng quá trình
đo tỏ ra ổn định hơn. Do vậy ta chọn phương án 2, sử dụng mạch cầu Wheatstone
cho mạch giao tiếp với Pt100.

Với phương án đã lựa chọn là phương án 2, ta có công thức biến đổi như sau:

23
o Với ADC :
ADC (4.1)
Vin  *V
65536 ref

o Với mạch cầu Wheatstone:


3 nhánh cầu lắp điện trở hằng R như nhau,nhánh còn lại lắp RTD như hình dưới

Hình 4. 4 - Mạch cầu đo điện trở


Như vậy:
 RTD 1 
  V V
 RTD  R 2  cc in
R
 RTD  (4.2)
 1 
  1
 V / V  1/ 2 
 in cc 

b) Mạch giao tiếp với cảm biến áp suất (đo mức nước)
Tương tự như nhiệt điện trở thì cảm biến áp suất có đầu ra là tín hiệu dòng 4-20
mA không thể đo trực tiếp được mà phải đo gián tiếp thông qua giá trị điện áp.
Sơ đồ thiết kế mạch giao tiếp với cảm biến áp suất như sau:

Hình 4. 5 - Mạch nguyên lý giao tiếp với cảm biến áp suất


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

24
Cảm biến áp suất sẽ sử dụng nguồn 24V, đầu ra là dòng điện 4-20 mA tùy theo
mức nước trong bình. Nối tiếp với cảm biến áp suất là điện trở 220 ôm để chuyển
đổi giá trị dòng 4-20 mA sang dạng áp từ 0.88 – 4.4 V.
Giá trị điện áp này được nối qua một mạch phối hợp trở kháng sử dụng Opamp
LM358 để tăng trở kháng vào cho ADC
ADC được chọn ở đây vẫn là module AD7705, đầu ra của ADC được truyền
thông đến vi điều khiển thông qua giao tiếp SPI.

c) Mạch tín hiệu dòng ra cho valve khí nén


Dựa theo nhiệm vụ của mạch tín hiệu dòng chính là bộ biến đổi tín hiệu dạng áp
sang tín hiệu dạng dòng. Ta có thiết kế cho mạch tín hiệu dòng như sau:

Hình 4. 6 - Mạch chuyển đổi tín hiệu áp sang dòng


Nguyên lý hoạt động:
Ở tầng thứ nhất,tín hiệu điều khiển áp sẽ được đưa vào chân (+) của opamp thứ
nhất. Opamp này sẽ điều khiển mosfet Q1 sao cho điện áp trên điện trở Rset bằng
điện áp điều khiển:
UR U
dk
set

Khi đó dòng đi qua Rset cũng chính là dòng đi qua Rmirror :


IR  IR
set mirror

Ở tầng thứ hai, opamp thứ hai và mosfet thứ hai được nối như Hình 4. 6 - Mạch
chuyển đổi tín hiệu áp sang dòng. Opamp thứ hai sẽ điều khiển mosfet Q2 sao
cho điện áp giữa Rmirror và Rout là như nhau:
UR U R
mirror out

Khi output được nối với tải, dòng qua tải cũng chính là dòng qua Rout :

25
Iout  I R
out

Kết hợp các công thức trên ta có công thức chuyển đổi:
UR UR IR .Rmirror I R .Rmirror
IR  out
 mirror
 mirror
 set

Rout
out
Rout Rout Rout
U .R U R
 R mirror  R . mirror
set dk

I R .Rout Rout Rout (4.3)


set

Do U dk biến đổi trong dải 0 – 5V và dòng ra biến đổi trong dải 0-20 mA nên ta
chọn Rset  3k , Rmirror  12k , Rout  1k
Còn về mosfet, mosfet Q1 là mosfet kênh N, lựa chọn IC IRF7311. Mosfet Q2 là
mosfet kênh P, lựa chọn IC IRF4435. Opamp sử dụng ở đây là IC LM358

Hình 4. 7 - Mạch nguyên lý của mạch tín hiệu dòng ra

d) Mạch điều khiển


Mạch điều khiển gồm 3 thành phần chính
o Vi xử lý
o Module giao tiếp SPI
o Module DAC
 Lựa chọn vi xử lý và module giao tiếp SPI
Hiện nay đa phần các dòng vi điều khiển của các hãng như STM, TI, AVR,
PIC,… ngoài vi xử lý là thành phần chính thì đều tích hợp sẵn thiết bị ngoại vi
giao tiếp SPI
Với mục tiêu đơn giản hóa trong quá trình sử dụng cũng như được cộng đồng
người sử dụng hỗ trợ mạnh mẽ thì kit Arduino mà cụ thể là Arduino UNO R3 là
một sự lựa chọn không thể hợp lý hơn nhờ các yếu tố sau:

26
o Thiết kế nhỏ gọn
o Dễ dàng mua trên thị trường
o IDE đơn giản dễ sử dụng
o Tích hợp sẵn mạch nạp trên kit
o Hệ thống thư viện open source lớn thuận tiện việc điều khiển
Với kit Arduino UNO R3 đáp ứng tốt với những yêu cầu sau của mạch phần
cứng:
o Hỗ trợ giao tiếp SPI
o Vi xử lý ATmega328 tần số hoạt động 16 MHz
o Số lượng GPIO cần thiết: 5
 Lựa chọn module DAC:
Tiêu chí để lựa chọn module DAC là
o Độ phân giải đủ lớn
o Điện áp ra 0-5V
o Sử dụng các giao tiếp cơ bản như UART, SPI, I2C,…
Với các tiêu chí như trên thì IC DAC MCP4922 hoàn toàn đáp ứng yêu cầu.
Các thông số kĩ thuật cơ bản của MCP4922 như sau:
o Độ phân giải 12 bit
o Có 2 kênh hoạt động độc lập
o Điện áp hoạt động trong dải từ 2.7- 5.5 V
o Rail-to-rail output
o Giao tiếp SPI với vi xử lý
o Thời gian xác lập trung bình 4.5µs

e) Mạch nguồn
Mạch nguồn là nơi cung cấp nguồn điện áp hoạt động cho các thiết bị trong mạch.
Có thể thấy mạch nguồn sẽ phải cấp ra 2 mức điện áp khác nhau:
 Điện áp 24V cung cấp cho mạch tín hiệu dòng
 Điện áp 5V cung cấp cho mạch điều khiển và mạch giao tiếp với các cảm
biến
Nguồn 24V sẽ lấy từ adapter 24V có bán trên thị trường
 Để tạo ra nguồn 5V ta sẽ sử dụng module nguồn LM2596 với các thông số
kĩ thuật cụ thể như sau:
o Đầu vào 4-35V
o Đầu ra: 1-30V
o Dòng ra max: 3A

27
Hình 4. 8 - Mạch nguồn

4.1.4 Hình ảnh phần cứng

Hình 4. 9 - Sơ đồ đấu nối

28
Hình 4. 10 - Mạch in phần cứng

Hình 4. 11 - Mạch phần cứng thực tế

4.2 Xử lý tín hiệu đo và tín hiệu điều khiển


4.2.1 Đo và xử lý tín hiệu đo
Tín hiệu nhận được từ cảm biến có dạng điện áp, tín hiệu này sẽ được đưa đến
kênh hai của bộ chuyển đổi tương tự số AD7705 xử lý và chuyền tín hiệu đến
Arduino thông qua giao thức SPI. Bộ chuyển đổi tương tự số AD7705 có các
thanh ghi sau:
o Communication Register: có tác dụng chọn thanh ghi và phương thức
đọc/ghi cho chế độ kế tiếp, chọn kênh để giao tiếp.
o Setup Register: có tác dụng cài đặt chế độ làm việc, độ khuếch đại của
dữ liệu.
o Clock Register: cài đặt xung clock cho ADC.
o Data Register: dữ liệu đầu ra được truy cập ở thanh ghi này.

29
o Calibration Register: chứa kênh hiệu chỉnh dữ liệu.
Để đọc được giá trị từ ADC, chúng ta cần thực hiện các bước sau:
o Bước 1: Khởi tạo ADC (reset ADC, cài đặt pin mode), chọn kênh 2
cho mỗi ADC.
o Bước 2: Ở thanh ghi Clock, bật bit CLKDIV để chia Clock nội, chọn
gain bằng 8 đối với 3 cổng đo nhiệt độ và bằng 1 với cổng đo độ cao.
Chọn tần số cập nhật là 50Hz.
o Bước 3: Chọn chế độ self-calibration và bipolar, gain tương ứng với
bước 2.
o Bước 4: Chờ dữ liệu để đọc
o Bước 5: Đọc dữ liệu
Dữ liệu được đọc về lần lượt từ 4 ADC liên tục trong 20 lần gần nhất và lấy trung
bình để đảm bảo giá trị đọc được sai lệch rất nhỏ so với giá trị thật đồng thời để
đảm bảo thời gian đo, xử lý tín hiệu là nhỏ. Việc này giúp giảm tác động của
nhiễu đến kết quả đo.
Sau khi đọc giá trị của 4 ADC, 4 giá trị này được lưu thành 2 byte và truyền
thông qua giao thức UART từ Arduino lên Matlab để xử lý. Sau khi nhận được
giá trị ADC, ta sẽ tiến hành tính toán giá trị thực của nhiệt độ và độ cao mà cảm
biến đo được.
 Xác định giá trị nhiệt độ:
Từ mục thiết kế phần cứng với công thức (4.2), ta xác định được giá trị nhiệt độ
đo được từ cảm biến như sau:

RTD  R
1
1
2.ADCVref
.
0,5
K 1.Vcc
 RTD  1
T   1  (4.4)
 R0  A

 Trong đó:
o RTD là giá trị nhiệt điện trở
o R = 100 Ôm
o ADC là giá trị ADC đọc về
o Vref = 2,5V
o K1 = 8*65536 là hệ số của ADC
o Vcc = 5V là điện áp cấp cho mạch cầu
o R0 = 101,34 Ôm, là điện trở của RTD tại 33 độ C

30
o A = 3,9083E-3
Từ công thức trên, ta cần phải hiệu chỉnh để xác định được giá trị nhiệt độ với độ
sai lệch là nhỏ nhất so với giá trị thật. Để xác định giá trị offset đấy, ta lấy trung
bình của hiệu giữa 10 lần đo giá trị nhiệt độ quanh điểm xác định và giá trị nhiệt
độ tính toán được. Sau khi hiệu chỉnh, công thức tính nhiệt độ xác định như sau:

 RTD1  1
Thot   1 (4.5)
 R0  A
 RTD2  1
Tcold   1  6,6 (4.6)
 R0  A
 RTD3  1
T  1  2,8 (4.7)
 R0  A

 Xác định giá trị chiều cao


Vì cảm biến đo mức trả về tín hiệu dòng điện cỡ mA nên ta xác định được dòng
điện này theo giá trị ADC như sau:
ADC 4.Vref
Iout 
Rrefh.65536

Trong đó:
o Iout là giá trị dòng điện trả về từ cảm biến
o ADC4 là giá trị ADC
o Vref = 2,5V
o Rrefh = 220 Ôm, là điện trở tham chiếu
Tiến hành đo thực nghiệm để xác định sự phụ thuộc của chiều cao vào dòng điện
và được bảng kết quả sau:

Bảng 1 - Quan hệ giữ độ cao và dòng điện của cảm biến đo mức

I(mA) H(cm)
6.08 30
5.7 25
5.31 20
4.93 15
4.54 10
3.95 0

31
H(I)
35

30 y = 12,987x - 48,986
25

20

15

10

0
0 1 2 3 4 5 6 7

Hình 4. 12 - Thực nghiệm xác định quan hệ h(I)

h 12,987.i out 48,986 (4.8)

Trong đó:
o 𝑖 là dòng điện trả về từ cảm biến (mA)
o h là chiều cao của mức nước trong bình (cm)
Tóm tắt lại các bước đo và xử lý số liệu như sau:

Hình 4. 13 - Trình tự xử lý kết quả đo

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


Giá trị từ cảm biến gồm: nhiệt độ nước nóng, nhiệt độ nước lạnh, nhiệt độ nước
trong bình và chiều cao nước trong bình. Nhiệt độ nước nóng và nước lạnh được
dùng làm tham số cho hệ thống, còn nhiệt dộ nước trong bình và chiều cao nước
trong bình là giá trị phản hồi.
 Điều khiển tách kênh
Xét mô hình hệ thống bình nóng lạnh trên bộ môn, với các tham số mô hình hệ
thống đã thu thập được thay vào công thức (3.5) ta có hàm truyền:

32
 30.86 30.86 
 s  0.004735 s  0.004735 
H F ( s)   4
 (4.10)
 1.013*10 5261 
 s  0.009469 s  0.009469 

Như đã trình bày ở phần lý thuyết về bộ điều khiển tách kênh hàm truyền hệ kín
được chọn có dạng đường chéo như sau:

 1 
 4s 1 0 
H 0 ( s)   
 0 1 
 2s 1 

Theo công thức (3.6) ta có thể tính được bộ điều khiển tách kênh
 0.002769s 1.311*105 -3.249*105 s 3.077*10 7 
  (4.11)
s s
H C (s)   
 0.005331s  2.524*10 5 5
3.249*10 s  3.077*10 7

 s s 
 

Dễ thấy bộ điều khiển tách kênh ở trên có hàm truyền dạng của khâu khuếch đại
và tích phân nên ta dễ dàng cài đặt được trên Matlab.
Sau khi hệ MIMO thành hai hệ SISO, ta tiến hành điều khiển hệ thống bằng bộ
PID. Điều khiển h dùng PI và điều khiển T dùng P:
0,02
R  50
1
và R  30
2
s

4.3 Thiết kế phần mềm


Một hệ thống hoàn chỉnh cần phải có một phần mềm để tính toán bộ điều khiển
cho hệ thống và tương tác với người sử dụng. Do đó, phần mềm cho hệ thống
bình mức này sẽ được thiết kế với những chức năng sau:
 Tiếp nhận và xử lý tín hiệu đo từ cảm biến
 Tính toán bộ điều khiển và xuất ra tín hiệu dòng điện tương ứng
 Giao diện với người dùng, giao tiếp giữa Arduino và Matlab.
Ngoài những nhiệm vụ trên, một phần mềm tốt còn cần phải dễ dàng quản lý và
mở rộng, không tốn nhiều thời gian thực thi.

33
Do trong phạm vi đồ án này, chúng em sử dụng hai bộ điều khiển là tách kênh và
trượt nên chúng em sẽ chia thành hai phần mềm phục vụ cho hai mục đích khác
nhau.
4.3.1 Phần mềm điều khiển tách kênh
Phần mềm này được thực thi hoàn toàn trên Arduino. Arduino tiếp nhận tín hiệu
đo, tính toán tìn hiệu điều khiển và xuất ra tín hiệu điều khiển van tương ứng.

Hình 4. 14 - Sơ đồ chương trình thực hiện điều khiển tách kênh


Khi chạy chương trình, phần mềm thực thi lần lượt qua từng tác vụ. Chức năng
cụ thể của các tác vụ như sau:
 Get feedback: đọc tín hiệu từ ADC và chuyển sang giá trị thực của cảm
biến - mục 4.1.2. Hàm Get feedback sẽ được đọc liên tục cho đến khi có
ngắt xảy ra thì nhảy vào chương trình ngắt.
 Calculate control signal: ở bước này chúng ta sẽ tính toán tín hiệu điều
khiển dựa vào giá trị cảm biến đo được được gửi từ hàm Get feedback-
mục 4.2.2.1.
 Send DAC: sau khi tính toán được tín hiệu điều khiển, chúng ta cần xuất
tín hiệu đó dạng điện áp để điều chỉnh van. Arduino sẽ điều khiển DAC
MCP4922 để có được điện áp mong muốn.

a) Giao diện điều khiển và quan sát

34
Ngoài những tác vụ trên, chương trình thực thi trên Matlab sử dụng giá trị cảm
biến và tín hiệu điều khiển van để hiển thị lên giao diện. Điều này giúp việc theo
dõi và điều khiển hệ thống từ lúc cài đặt điểm làm việc tới lúc hệ thống hoạt
động ổn định trở nên dễ dàng. Giao diện trên Matlab như hình dưới đây:

Hình 4. 15 - Giao diện


Giao diện này có các tính năng sau:
o Thanh trượt điều chỉnh giá trị đặt
o Hình minh họa cột nước và nhiệt độ khi tăng lên, hạ xuống.
o Hiển thị giá trị cảm biến

35
CHƯƠNG 5. KẾT QUẢ THỰC NGHIỆM

5.1 Kết quả điều khiển tách kênh


Khi chạy thực nghiệm với bộ điều khiển tách kênh sẽ cho ra kết quả như sau:

Height
25

20

15

10

0
0 100 200 300 400 500 600 700

h h_set

Hình 5. 1 - Đáp ứng độ cao khi thay đổi giá trị đặt

Temperature
70
60
50
40
30
20
10
0
0 100 200 300 400 500 600 700

T T_set

Hình 5. 2 - Đáp ứng nhiệt độ khi thay đổi giá trị đặt
Nhận xét:
 Sau khi tách kênh hệ MIMO thành hai hệ SISO, ta hoàn toàn có thể điều
khiển hệ thống bằng cách sử dụng thêm bộ P, PI hoặc PID.
 Khi sử dụng bộ điều khiển tách kênh, nhận thấy chất lượng điều khiển khá
tốt, sai lệch tĩnh tương đối nhỏ ( đối với h khoảng 1cm và với T khoảng 1-
1,5 độ C).
 Khi thử thay đổi giá trị đặt, hệ thống đáp ứng nhanh. Tuy nhiên, trên đồ
thị xuất hiện những khoảng gợn, điều này cho thấy bộ điều khiển ở đây
chưa được tách kênh hoàn toàn. Lý do là vì giới hạn của lưu lượng nước
nóng và nước lạnh chảy vào bình nhỏ hơn so với tín hiệu điều khiển tính
được.
 Khi tiếp tục tăng h khi đó điểm làm việc cách xa điểm cân bằng do vậy
chất lượng điều khiển không còn tốt như trước nữa.

36
CHƯƠNG 6. KẾT LUẬN

6.1 Kết luận


Nội dung công việc mà đồ án đặt từ đầu gồm: thiết kế phần cứng và phần mềm
điều khiển đã được thực hiện hoàn chỉnh và áp dụng lên đối tượng thật. Em đã
được trực tiếp lên phương án điều khiển một mô hình rất phổ biến trong công
nghiệp. Qua từng công việc, em đã học hỏi được rất nhiều điều. Từ cách mô
phỏng đối tượng trên Matlab cũng như việc thực thi điều khiển đối tượng qua
Arduino. Bên cạnh đó, em được tự tay thực hành trên đối tượng thật. Đó đều là
những trải nhiệm tuyệt vời mang lại cho em những kinh nghiệm quý giá để phát
triển sự nghiệp trong tương lai.

6.2 Hướng phát triển


Hệ thống bình mức là một hệ khá phổ biến trong các quá trình công nghiệp, do
đó việc thiết kế các bộ điều khiển là một đề tài vô cùng thực tiễn. Để chất lượng
điều khiển cho hệ thống tốt hơn, em hướng tới việc thiết kế bộ quan sát nhiễu đầu
ra cho hệ thống.
Ở những phương pháp điều khiển trình bày ở chương 3, khi thiết kế bộ điều
khiển ta coi nhiễu đầu ra là max. Một vấn đề đặt ra là làm sao để quan sát được
nhiễu đầu ra đó một cách chính xác để phục vụ tính toán bộ điều khiển. Dưới đây
em sẽ trình bày thêm bộ điều khiển trượt có quan sát nhiễu theo tài liệu [3].
Viết phương trình mô tả hệ thống dưới dạng:

  g1
x   x,t   g .d
2
H  x,t  u
 (6.1)
y  x
 ,
với d là nhiễu mô hình
Từ điều kiện trượt, ta dễ dàng đã xác định được tín hiệu điều khiển trượt có dạng:
1
 s  
H  x,t   .   s f  x,t   c.tanh  s 

u  
 x    x 

  x,t   .  g  x,t   g .d  c.tanh  s 


1
(6.2)
 u   H  
1 2

Trong đó:

37
 1 1 
 A A   
 0 , g  1 
 
H  x,t     , g  x,t 
 Tc T Th T  1 
0
 2 0 

 A Ah 
 h 

Bộ quan sát nhiễu có dạng như sau:


 dz

 dt
  L g .z  L
2  g .Lx  g  x,t   H  x,t  u  , Lconst
2 1 21 (6.3)
  

d z Lx

Hình 6. 1 - Sơ đồ điều khiển phản hồi có quan sát nhiễu


Sai lệch giữa nhiễu quan sát được và nhiễu thật xác định như sau
    
 e d 
e  d d
d d z L x
 e   L g .z  L  g .Lx  g  x,t   H  x,t  u 
d 2 2 1

L  g  x,t   g .d
1 2
H  x,t  u 

 e d   L g .z  L g .Lx  L g .d
2 2 2
 L g d  d
2
  L g .e 2 d

Ở hệ thống này, dễ thấy 𝑔 = (1 0) nên để sai lệch 𝑒 tiến về 0 thì ta phải


chọn L sao cho 𝐿𝑔 > 0. Như vậy, ta sẽ chọn 𝐿 = (0,02 0).
Tuy nhiên khi triển khai thực tế, tín hiệu đo từ cảm biến bị nhiễu khá lớn, điều
này làm cho kết quả của bộ quan sát không còn chính xác.
Để cải thiện chất lượng quan sát nhiễu, ta sẽ thêm một bộ lọc Kalman vào trước
bộ quan sát. Cấu trúc bộ lọc Kalman như sau:

38
Hình 6. 2 - Sơ đồ lọc Kalman
Sau khi thêm bộ lọc Kalman, chất lượng quan sát nhiễu được cải thiện.

Hình 6. 3 - So sánh sai lệch nhiễu ra


Đường màu đỏ là khi chưa có bộ lọc Kalman, đường màu xanh là khi đã thêm bộ
lọc Kalman.
Dưới đây là kết quả thực nghiệm khi dùng thêm bộ quan sát nhiễu:

Hình 6. 4 - Nhiễu ra

39
Hình 6. 5 - Đáp ứng độ cao

Hình 6. 6 - Đáp ứng nhiệt độ

40
DANH MỤC TÀI LIỆU THAM KHẢO

[1] N. D. Phước, Phân tích và điều khiển hệ phi tuyến, Nhà xuất bản Bách Khoa
Hà Nội, 2016.

[2] N. D. Phước, Cơ sở lý thuyết điều khiển tuyến tính, Nhà xuất bản Bách Khoa
Hà Nội, 2016.

41

You might also like