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

Một phần của tài liệu ĐỒ án II THIẾT kế bộ điều KHIỂN CHO hệ MIMO (Trang 30 - 34)

CHƯƠNG 4. THIẾT KẾ MẠCH ĐIỀU KHIỂN NHÚNG

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

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.

30 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:

1

1 1

2. .

0,5 .

RTD R

ADCVref K Vcc

 

0

1 1 T  RTD R A

  

 

  (4.4)

 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

31 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:

0

1 1 1 Thot  RTD R A

  

 

  (4.5)

0

2 1 1 6,6 Tcold  RTD R A 

  

 

  (4.6)

0

3 1 1 2,8 T  RTD R A 

  

 

  (4.7)

 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:

4.

.65536 ADC Vref Iout  Rrefh

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

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

12,987. out 48,986

h  i  (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:

y = 12,987x - 48,986

0 5 10 15 20 25 30 35

0 1 2 3 4 5 6 7

H(I)

33 4

30.86 30.86

0.004735 0.004735 ( ) 1.013*10 5261

0.009469 0.009469

F

s s

H s

s s

 

   

 

  

   

 

(4.10)

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:

0

1 0

( ) 4 1 0 1

2 1 H s s

s

 

  

 

 

  

 

Theo công thức (3.6) ta có thể tính được bộ điều khiển tách kênh

5 5 7

5 5 7

0.002769 1.311*10 -3.249*10 3.077*10 ( ) 0.005331 2.524*10 3.249*10 3.077*10

C

s s

s s

H s s s

s s

  

  

   

 

 

   

 

 

(4.11)

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:

1

50 0,02

R   s và R230

Một phần của tài liệu ĐỒ án II THIẾT kế bộ điều KHIỂN CHO hệ MIMO (Trang 30 - 34)

Tải bản đầy đủ (PDF)

(42 trang)