You are on page 1of 39

111Equation Chapter 1 Section 1211Equation Chapter 1 Section 1 TỔNG LIÊN

ĐOÀN LAO ĐỘNG VIỆT NAM


TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
KHOA ĐIỆN – ĐIỆN TỬ

NGUYỄN PHONG PHÚ

ĐIỀU KHIỂN NHIỆT ĐỘ LÒ NHIỆT


BẰNG PHƯƠNG PHÁP PID

ĐỒ ÁN CHUYÊN NGÀNH

KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2023


TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
KHOA ĐIỆN – ĐIỆN TỬ

NGUYỄN PHONG PHÚ

ĐIỀU KHIỂN NHIỆT ĐỘ LÒ NHIỆT BẰNG


PHƯƠNG PHÁP PID

ĐỒ ÁN CHUYÊN NGÀNH
KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA
Người hướng dẫn
TS. Võ Hữu Hậu

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2023

2
LỜI CẢM ƠN

Tôi xin chân thành cảm ơn TS. Võ Hữu Hậu đã giành thời gian hướng dẫn,
hỗ trợ tôi trong suốt quá trình làm đồ án.
Do giới hạn kiến thức và khả năng lý luận của bản thân còn nhiều thiếu sót
và hạn chế, mong sự chỉ dẫn và đóng góp của các Thầy để báo cáo đồ án của tôi
được hoàn thiện hơn.
Tôi xin chân thành cảm ơn.

TP. Hồ Chí Minh, ngày tháng năm 2023


Tác giả

Nguyễn Phong Phú

3
CÔNG TRÌNH ĐƯỢC HOÀN THÀNH
TẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự
hướng dẫn khoa học của TS. Võ Hữu Hậu. Các nội dung nghiên cứu, kết quả trong
đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây.
Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá
được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu
tham khảo.
Ngoài ra, trong Đồ án chuyên ngành còn sử dụng một số nhận xét, đánh giá
cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú
thích nguồn gốc.
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách
nhiệm về nội dung Đồ án chuyên ngành của mình. Trường Đại học Tôn Đức
Thắng không liên quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong
quá trình thực hiện (nếu có).
TP. Hồ Chí Minh, ngày 3 tháng 5 năm 2023
Tác giả

Nguyễn Phong Phú

4
TRƯỜNG ĐẠI HỌC TÔN ĐỨC CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT
THẮNG NAM
KHOA ĐIỆN –ĐIỆN TỬ Độc lập – Tự do – Hạnh phúc
------------------- ----------------------

LỊCH TRÌNH LÀM ĐỒ ÁN CHUYÊN NGÀNH

Họ tên sinh viên:


.....................................................................................................................................
...
Lớp:
............................................................................
MSSV: ...............................................
Tên đề tài:
.....................................................................................................................................
.....
.....................................................................................................................................
Khối lượng
Tuần/Ngày GVHD ký
Đã thực hiện Tiếp tục thực hiện

Kiểm tra giữa Đánh giá khối lượng hoàn thành……..%


kỳ được tiếp tục/không tiếp tục thực hiện
ĐACN

5
Nộp Đồ án Đã hoàn thành……..% Đồ án chuyên ngành
chuyên ngành được bảo vệ/không được bảo vệ ĐACN

6
Điều khiển nhiệt độ lò nhiệt bằng phương pháp PID
TÓM TẮT

Hệ thống sử dụng các linh kiện chính: PIC16F877A, sò nhiệt 12V, quạt tản
nhiệt, LM35, LCD,..
Hệ thống mô phỏng cách thức hoạt động của lò nhiệt. Bằng cách nhập nhiệt độ
mong muốn thông qua nút nhấn, hệ thống sẽ tính toán thông qua phương pháp PID
để dùng xung PWM điều khiển sò nhiệt hoạt động với nhiệt độ gần với mong muốn
nhất. Cảm biến LM35 sẽ được dùng để giám sát hoạt động và gửi giá trị về
Pic16f877a để tính toán. Nếu nhiệt độ của sò nhiệt quá cao so với nhiệt độ đặt, quạt
tản nhiệt sẽ được bật để giảm nhiệt xuống. Ngoài ra, hệ thống còn có 2 đèn báo, đèn
xanh bật khi sò nhiệt hoạt động và đèn đỏ bật khi nhiệt độ sò quá cao.

7
MỤC LỤC

DANH MỤC HÌNH VẼ...................................................................................................10

DANH MỤC BẢNG BIỂU..............................................................................................11

DANH MỤC CÁC CHỮ VIẾT TẮT.............................................................................12

CHƯƠNG 1. PIC16F877A..............................................................................................13

1.1 GIỚI THIỆU PIC........................................................................................................13


1.2 PIC16F877A............................................................................................................13
1.3 ADC.........................................................................................................................19
1.4 BỘ ĐỊNH THỜI...........................................................................................................20
1.4.1 Timer2...............................................................................................................21
1.5 PWM........................................................................................................................22

CHƯƠNG 2. BỘ ĐIỀU KHIỂN PID.............................................................................24

2.1 GIỚI THIỆU CHUNG...................................................................................................24


2.2 KHÂU TỶ LỆ..............................................................................................................24
2.3 KHÂU TÍCH PHÂN......................................................................................................25
2.4 KHÂU VI PHÂN..........................................................................................................26
2.5 CÁC PHƯƠNG PHÁP XÁC ĐỊNH THÔNG SỐ PID.........................................................26
2.5.1 Cách hiệu chỉnh thủ công.................................................................................26
2.5.2 Hiệu chỉnh bằng phương pháp Ziegler-Niᴄhole...............................................27
2.5.3 Hiệu chỉnh bằng phần mềm..............................................................................27

CHƯƠNG 3. GIỚI THIỆU ĐỀ TÀI..............................................................................28

3.1 MỤC ĐÍCH THỰC HIỆN ĐỀ TÀI...................................................................................28


3.2 YÊU CẦU CỦA ĐỀ TÀI...............................................................................................28
3.3 Ý TƯỞNG VÀ PHƯƠNG PHÁP THỰC HIỆN..................................................................28

CHƯƠNG 4. LÝ THUYẾT LIÊN QUAN.....................................................................29

4.1 LCD..........................................................................................................................29

8
4.1.1 Hình dạng và sơ đồ chân..................................................................................29
4.1.2 Kết nối LCD......................................................................................................30
4.2 LM35........................................................................................................................31
4.2.1 Sơ đồ chân LM35 và thông số kĩ thuật.............................................................32
4.2.2 Nguyên lý hoạt động.........................................................................................33
4.3 TÍNH TOÁN ADC......................................................................................................33
4.4 TIÊU CHUẨN ĐÁNH GIÁ CHẤT LƯỢNG HỆ THỐNG.....................................................34
4.4.1 Sai số xác lập....................................................................................................34
4.4.2 Độ vọt lố............................................................................................................34
4.5 THỜI GIAN QUÁ ĐỘ VÀ THỜI GIAN LÊN....................................................................35

CHƯƠNG 5. GIẢI PHÁP THỰC HIỆN.......................................................................36

5.1 MÔ HÌNH MÔ PHỎNG................................................................................................36


5.2 KẾT QUẢ MÔ PHỎNG.................................................................................................36

CHƯƠNG 6. KẾT QUẢ MÔ PHỎNG (HOẶC KẾT QUẢ THI CÔNG MÔ HÌNH)37

6.1 KẾT QUẢ 1................................................................................................................37

CHƯƠNG 7. KẾT LUẬN...............................................................................................38

7.1 KẾT LUẬN.................................................................................................................38


7.2 HƯỚNG PHÁT TRIỂN.................................................................................................38

TÀI LIỆU THAM KHẢO...............................................................................................39

9
DANH MỤC HÌNH VẼ

1-1 Cấu trúc bộ Timer2...........................................................................................20


2-1 Phương pháp Ziegler-Niᴄhole...........................................................................26
4-1 LCD..................................................................................................................28
4-2 Sơ đồ kết nối LCD............................................................................................30
4-3 Sơ đồ khối.........................................................................................................33
4-4 Đồ thị độ vọt lố của hệ thống............................................................................33
4-5 Đồ thị thời gian quá độ......................................................................................34
4-6 Đồ thị thời gian lên............................................................................................34

10
DANH MỤC BẢNG BIỂU

Bảng 1-1 Cấu trúc chân PIC16F877A.....................................................................14

11
DANH MỤC CÁC CHỮ VIẾT TẮT

STT Kí hiệu chữ viết tắt Chữ viết đầy đủ


1 PIC Programmable Intelligent Computer
2 SSP Synchronous Serial Port
3 PSP Parallel Slave Port
4 ICSP In Circuit Serial Programming
5 ADC Analog to Digital Converter
6 PWM Pulse Width Modulation
7 PID Proportional Integral Derivative
8 LCD Liquid Crystal Display
9 POT Percent of Overshoot

12
CHƯƠNG 1. PIC16F877A

1.1 Giới thiệu PIC

PIC là một họ vi điều khiển được sản xuất bởi công ty Microchip Technology.
Dòng PIC đầu tiên là PIC1650, được phát triển bởi bộ phận vi điện tử của
General_Instrument. PIC (Programmable Intelligent Computer) là sản phẩm của
General Instruments cho dòng sản phẩm đầu tiên của họ, PIC1650.
Một bộ vi điều khiển về cơ bản là một hệ thống bao gồm một bộ vi xử lý có
hiệu suất phù hợp và giá thành thấp cùng với các thiết bị ngoại vi như bộ nhớ, mô-
đun I/O, mô-đun chuyển đổi tín hiệu số sang tương tự và tương tự sang số.
Vi điều khiển thường được sử dụng trong các hệ thống nhúng. Pic có nhiều ứng
dụng trong công cụ điện tử, điện gia dụng, điện thoại, đầu DVD, thiết bị đa
phương tiện, dây chuyền tự động, v.v.

1.2 PIC16F877A

PIC16F877A là một vi điều khiển thuộc họ PIC16Fxxx. Có tập lệnh chứa 35


lệnh với độ dài 14 bit. Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tốc
độ hoạt động tối đa cho phép là 20 MHz với một chu kì lệnh là 200ns. Bộ nhớ
chương trình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu
EEPROM với dung lượng 256x8 byte. Số PORT I/O là 5 với 33chân I/O.

Hình 1-1 PIC16F877A

PIC16F877A có 40/44 chân với sự phân chia cấu trúc như sau :
ĐỒ ÁN CHUYÊN NGÀNH
Trang 14

+ Có 5 port I/O

+ Có 8 kênh chuyển đổi A/D 10-bit

+ Có 2 bộ PWM

+ Có 3 bộ định thời: Timer0, timer1 và timer2

+ Có giao tiếp truyền nối tiếp: chuẩn RS 232, I2C…

+ Có giao tiếp LCD


Các đặc tính ngoại vi bao gồm các khối chức năng sau:
 Timer0: Bộ đếm 8 bit với bộ chia 8 bit.
 Timer1: Bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng
đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế
độ ngủ.
 Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler.
 Hai bộ Capture/so sánh/PWM.
 Chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C.
 Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ.
 Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều
khiển RD, WR, CS ở bên ngoài.
 Các đặc tính Analog.
 8 kênh chuyển đổi ADC 10 bit.
 Hai bộ so sánh.
 Ngoài ra, một vài đặc tính khác của vi điều khiển như:
 Bộ nhớ flash với khả năng ghi/xóa.
 Bộ nhớ EEPROM với khả năng ghi/xóa.
 Dữ liệu bộ nhớ EEPROM có thể lưu trữ hơn 40 năm.
 Khả năng tải chương trình tự động với sự điều khiển của phần mềm.
 Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial
Programming) thông qua 2 chân.

14
ĐỒ ÁN CHUYÊN NGÀNH
Trang 15

 Watchdog Timer với bộ dao động trong.


 Chức năng bảo mật mã chương trình.
 Chế độ ngủ.
 Có thể hoạt động với nhiều dạng Oscillator khác nhau.

Hình 1-2 Sơ
đồ chân PIC16F877A
Bảng 1-1 Cấu trúc chân PIC16F877A
Chân Tên Chức năng
- MCLR : Reset Pic ở mức thấp
1 MCLR /VPP
- VPP: Điện áp ngõ vào
- RA0: chân I/O
2 RA0/AN0
- AN0: ngõ vào tương tự
- RA1: chân I/O
3 RA1/AN1
- AN1: ngõ vào tương tự
- RA2: chân I/O
RA2/AN2/VREF-/
4 - AN2: ngõ vào tương tự
CVREF
- VREF -: ngõ vào điện áp chuẩn của bộ A/D
5 RA3/AN3/VREF+ - RA3: chân I/O
- AN3: ngõ vào tương tự

15
ĐỒ ÁN CHUYÊN NGÀNH
Trang 16

- VREF+ : ngõ vào điện áp chuẩn của bộ A/D


- RA4: chân I/O
- TOCKI: ngõ vào xung clock bên ngoài cho
6 RA4/TOCKI/C1OUT
timer0
- C1 OUT: Ngõ ra bộ so sánh 1
- RA5: chân I/O
RA5/AN4/ SS - AN4: ngõ vào tương tự 4
7
/C2OUT - SS: ngõ vào chọn lựa SPI phụ
- C2OUT: Ngõ ra so sánh 2
- RE0: chân I/O
- RD: điều khiển việc đọc ở port nhánh song
8 RE0/ RD /AN5
song
- AN5: ngõ vào tương tự
- RE1: chân I/O
- WR: điều khiển việc ghi ở port nhánh song
9 RE1/ WR /AN6
song
- AN6: ngõ vào tương tự
- RE2: chân I/O
- CS: Chip lựa chọn sự điều khiển ở port
10 RE2/ CS /AN7
nhánh song song
- AN7: ngõ vào tương tự
11 VDD Chân nguồn của PIC.
12 VSS Chân nối đất
13 OSC1/CLKI Ngõ vào dao động thạch anh hoặc xung clock
bên ngoài.
- OSC1: ngõ vào dao động thạch anh hoặc
xung clock bên ngoài. Ngõ vào Schmit trigger
khi được cấu tạo ở chế độ RC ; một cách khác
của CMOS.

16
ĐỒ ÁN CHUYÊN NGÀNH
Trang 17

- CLKI: ngõ vào nguồn xung bên ngoài. Luôn


được kết hợp với chức năng OSC1.
Ngõ vào dao động thạch anh hoặc xung clock
- OSC2: Ngõ ra dao động thạch anh. Kết nối
đến thạch anh hoặc bộ cộng hưởng.
14 OSC2/CLKO
- CLKO: ở chế độ RC, ngõ ra của OSC2, bằng
tần số của OSC1 và chỉ ra tốc độ của chu kỳ
lệnh.
- RC0: chân I/O
- T1OCO: ngõ vào bộ dao động Timer 1
15 RC0/T1 OCO/T1CKI
- T1CKI: ngõ vào xung clock bên ngoài Timer
1
- RC1: chân I/O
- T1OSI: ngõ vào bộ dao động Timer 1
16 RC1/T1OSI/CCP2
- CCP2: ngõ vào Capture 2, ngõ ra so sánh 2,
ngõ ra PWM2
- RC2: chân I/O
17 RC2/CCP1 - CCP1: ngõ vào Capture 1, ngõ ra so sánh 1,
ngõ ra PWM1
- RC3: chân I/O
- SCK: ngõ vào xung clock nối tiếp đồng
18 RC3/SCK/SCL bộ/ngõ ra của chế độ SPI
- SCL: ngõ vào xung clock nối tiếp đồng bộ/
ngõ ra của chế độ I2C
- RD0: chân I/O
19 RD0/PSP0
- PSP0: dữ liệu port nhánh song song
- RD1: chân I/O
20 RD1/PSP1
- PSP1: dữ liệu port nhánh song song
21 RD2/PSP2 - RD2: chân I/O

17
ĐỒ ÁN CHUYÊN NGÀNH
Trang 18

- PSP2: dữ liệu port nhánh song song


- RD3: chân I/O
22 RD3/PSP3
- PSP3: dữ liệu port nhánh song song
- RC4: chân I/O
23 RC4/SDI/SDA - SDI: dữ liệu vào SPI
- SDA: xuất/nhập dữ liệu vào I2C
- RC5: chân I/O
24 RC5/SDO
- SDO: dữ liệu ra SPI
- RC6: chân I/O
25 RC6/TX/CK - TX: truyền bất đồng bộ USART
- CK: xung đồng bộ USART
- RC7: chân I/O
26 RC7/RX/DT - RX: nhận bất đồng USART
- DT: dữ liệu đồng bộ USART
- RD4: chân I/O
27 RD4/PSP
- PSP4: dữ liệu port nhánh song song
- RD5: chân I/O
28 RD5/PSP5
- PSP5: dữ liệu port nhánh song song
- RD6: chân I/O
29 RD6/PSP6
- PSP6: dữ liệu port nhánh song song
- RD7: chân I/O
30 RD7/PSP7
- PSP7: dữ liệu port nhánh song song
31 VSS Chân nối đất
32 VDD Chân nguồn của PIC.
- RB0: chân I/O
33 RB0/INT
- INT: ngắt ngoài
34 RB1 chân I/O
35 RB2 chân I/O
36 RB3 - RB3: chân I/O

18
ĐỒ ÁN CHUYÊN NGÀNH
Trang 19

- Chân cho phép lập trình điện áp thấp ICPS


- chân I/O
37 RB4
- Ngắt PortB
- chân I/O
38 RB5
- Ngắt PortB
- RB6: chân I/O
- PGC: mạch vi sai và xung clock lập trình
39 RB6/PGC
ICSP
- Ngắt PortB
- RB7: chân I/O
40 RB7/PGD - PGD: mạch vi sai và dữ liệu lập trình ICSP
- Ngắt PortB

1.3 ADC

ADC (Analog to Digital Converter) là bộ chuyển đổi tín hiệu giữa hai dạng
tương tự và số. PIC16F877A có 8 ngõ vào Analog (RA0 – RA4 và RE0 – RE2).
Điện áp VREF không đổi có thể được lựa chọn là VDD, VSS hay điện áp được xác
lập trên hai chân RA2 và RA3 không đổi.
Kết quả chuyển đổi từ tín tiệu tương tự sang tín hiệu số là 10 bit số tương ứng và
được lưu trong hai thanh ghi ADRESH:ADRESL. Khi không sử dụng bộ chuyển
đổi ADC, các thanh ghi này có thể được sử dụng như các thanh ghi thông thường
khác. Khi quá trình chuyển đổi hoàn tất, kết quả sẽ được lưu vào hai thanh ghi
ADRESH:ADRESL, bit ADCON0<2>) được xóa về 0 và cờ ngắt ADIF được đặt.

19
ĐỒ ÁN CHUYÊN NGÀNH
Trang 20

Quá trình chuyển đổi từ tương tự sang số bao gồm các bước sau:
Bước 1: Chọn số ngõ vào, điện áp tham chiếu Uc.
Bước 2: Chọn ngõ vào cụ thể.
Bước 3: Chọn tần số chuyển đổi
Bước 4: Chọn vị trí lưu kết quả chuyển đổi.
Bước 5: Bật và cấp quyền cho bộ chuyển đổi hoạt động
Bước 6: Kiểm tra chuyển đổi. Đọc kết quả trả về. Quay lại bước 5 nếu tiếp tục.

Hình 1-3 Sơ đồ khối bộ chuyển đổi ADC

1.4 Bộ định thời

Bộ định thời (timer) là các bộ đếm thời gian có module độc lập. Có chức năng
tạo khoảng thời gian, đếm thời gian, đếm sự kiện, điều chế độ rộng xung PWM,…
Ngoài ra, bộ định thời còn được dùng còn được dùng như bộ canh chỉnh thời gian
trong các ứng dụng thời gian thực.
Các bộ định thời được phân loại theo độ rộng thanh ghi chứa giá trị định thời
(hay giá trị đếm). PIC16F877A có 3 bộ định thời: timer0 (8bit), timer1 (16bit) và
timer2 (8bit).
Do đề tài chỉ dùng timer2, nên sẽ không nhắc đến Timer0 và timer1.

20
ĐỒ ÁN CHUYÊN NGÀNH
Trang 21

1.4.1 Timer2

Timer2 là bộ định thời 8 bit và được hỗ trợ bởi hai bộ chia tần số prescaler (bộ
chia trước) và postscaler (bộ chia sau). Thanh ghi chứa giá trị đếm của Timer2 là
TMR2. Bit cho phép ngắt Timer2 tác động là TMR2ON (T2CON<2>). Cờ ngắt của
Timer2 là bit TMR2IF (PIR1<1>). Xung ngõ vào (có tần số bằng ¼ tần số
oscillator) được đưa qua bộ chia tần số prescaler 4 bit (với các tỉ số chia tần số là
1:1, 1:4 hoặc 1:16 và được điều khiển bởi các bit T2CKPS1:T2CKPS0
(T2CON<1:0>)).

1-1 Cấu trúc bộ Timer2

Timer2 còn được hỗ trợ bởi thanh ghi PR2. Giá trị đếm trong thanh ghi TMR2
sẽ tăng từ 00h đến giá trị chứa trong thanh ghi PR2, sau đó được reset về 00h. Khi
reset thanh ghi PR2 được nhận giá trị mặc định FFh. Ngõ ra của Timer2 được đưa
qua bộ chia tần số postscaler với các mức chia từ 1:1 đến 1:16. Postscaler được điều
khiển bởi 4 bit T2OUTPS3:T2OUTPS0. Ngõ ra của postscaler đóng vai trò quyết
định trong việc điều khiển cờ ngắt. Ngoài ra ngõ ra của Timer2 còn được kết nối với
khối SSP, do đó Timer2 còn đóng vai trò tạo ra xung clock đồng bộ cho khối giao
tiếp SSP.

21
ĐỒ ÁN CHUYÊN NGÀNH
Trang 22

1.5 PWM

Khi hoạt động ở chế độ PWM (Pulse Width Modulation hay khối điều chế độ
rộng xung), tín hiệu sau khi điều chế sẽ được xuất trên các chân CCP của PIC (cần
đặt các chân này là ngõ ra).
Các bước cài đặt bộ PWM:
1. Điều khiển các chân của CCP là ngõ ra bằng cách xóa các bit tương ứng
trong thanh ghi TRISC.
2. Thiết lập thời gian của 1 chu kì của xung điều chế cho PWM bằng cách
nhập giá trị thích hợp vào thanh ghi PR2.
3. Thiết lập độ rộng xung cần điều chế (duty cycle) bằng cách đưa giá trị
vào thanh ghi CCPRxL và các bit CCP1CON<5:4>.
4. Thiết lập giá trị bộ chia tần số prescaler của Timer2 và cho phép Timer2
hoạt động bằng cách đưa giá trị thích hợp vào thanh ghi T2CON.
5. Cho phép CCP hoạt động ở chế độ PWM.

Hình 1-4 Sơ đồ khối ADC


Giá trị của một chu kì của xung điều chế được tính theo công thức:
Chu kỳ PWM = [(PR2)+1]*4*TOSC*(giá trị bộ chia tần số của TMR2).
Bộ chia tần số prescaler của Timer2 chỉ có thể nhận các giá trị 1,4 hoặc 16. Khi
giá trị thanh ghi PR2 bằng với giá trị thanh ghi TMR2 thì quá trình sau xảy ra:

22
ĐỒ ÁN CHUYÊN NGÀNH
Trang 23

Thanh ghi TMR2 tự động được xóa. Chân của khối CCP được thiết lập. Giá trị
thanh ghi CCPR1L (chứa giá trị ấn định độ rộng xung điều chế duty cycle) được
đưa vào thanh ghi CCPRxH.
Độ rộng của xung điều chế (duty cycle) được tính theo công thức:
PWM duty cycle = (CCPRxL:CCPxCON<5:4>)*TOSC*(giá trị bộ chia tần số
TMR2)
Như vậy 2 bit CCPxCON<5:4> sẽ chứa 2 bit LSB. Thanh ghi CCPRxL chứa
byte cao của giá trị quyết định độ rộng xung. Thanh ghi CCPRxH đóng vai trò như
bộ đệm cho khối PWM. Khi giá trị trong thanh ghi CCPRxH bằng với giá trị trong
thanh ghi TMR2 và hai bit CCPxCON<5:4> bằng với giá trị 2 bit của bộ chia tần số
prescaler, chân của khối CCP lại được đưa về mức thấp, dẫn đến hình dạng xung
được điều chế ở đầu ra của khối PWM. Lưu ý khi sử dụng khối PWM:
 Timer2 có hai bộ chia gồm prescaler và postscaler. Tuy nhiên bộ
postscaler không được sử dụng trong quá trình điều chế độ rộng xung của
khối PWM.
 Nếu thời gian duty cycle dài hơn thời gian chu kì xung thì xung ngõ ra
tiếp tục được giữ ở mức cao sau khi giá trị PR2 bằng với giá trị TMR2.

23
ĐỒ ÁN CHUYÊN NGÀNH
Trang 24

CHƯƠNG 2. BỘ ĐIỀU KHIỂN PID

2.1 Giới thiệu chung

PID (Proportional Integral Derivative) là một bộ điều khiển có cơ chế phản hồi
vòng kín. PID được kết hợp từ ba bộ điều khiển: tỉ lệ, tích phân, vi phân. Được sử
dụng rộng rãi trong các hệ thống điều khiển công nghiệp, hệ thống điện, tự động
hóa và điện tử.

Hình 2-5 Sơ đồ khối bộ điều khiển PID


Bộ điều khiển PID sẽ tính toán giá trị "sai số" là sự chênh lệch giữa giá trị đo
được và giá trị đặt mong muốn. Bộ điều khiển sẽ thực hiện giảm thiểu sai số bằng
cách điều chỉnh giá trị điều khiển đầu vào. Để đạt được kết quả tốt nhất, các thông
số PID sử dụng trong tính toán phải điều chỉnh theo các đặc tính của hệ thống. Nếu
các kiểu điều khiển là giống nhau, các thông số phải phụ thuộc vào thuộc tính của
hệ thống.

2.2 Khâu tỷ lệ

Khâu tỉ lệ (hay độ lợi) làm thay đổi giá trị đầu ra, tương ứng với giá trị sai số
hiện tại. Đáp ứng tỉ lệ có thể được điều chỉnh bằng cách nhân sai số đó với một
hằng số Kp, được gọi là hệ số tỉ lệ.

Khâu tỉ lệ được tính bởi công thức:

24
ĐỒ ÁN CHUYÊN NGÀNH
Trang 25

Pout = K p . e (t)❑❑

Trong đó:
Pout : Thừa số tỷ lệ của đầu ra
K p : Hệ số tỷ lệ

e(t): sai số theo thời gian


Hệ số của khâu tỉ lệ thường có giá trị lớn là do thay đổi lớn ở đầu ra mà sai số
thay đổi nhỏ. Nếu hệ số của khâu tỉ lệ quá cao, hệ thống sẽ không ổn định. Ngược
lại, nếu hệ số tỷ lệ nhỏ trong khi sai số đầu vào quá cao sẽ làm đáp ứng đầu ra nhỏ,
sẽ làm cho bộ điều khiển kém nhạy, hoặc đáp ứng chậm. Ngoài ra, hệ số của khâu tỉ
lệ quá thấp sẽ không tạo được nhiều sự thay đổi lên tác động điều khiển, để đáp ứng
với các nhiễu của hệ thống.

2.3 Khâu tích phân

Phân phối của khâu tích phân tỉ lệ thuận với cả biên độ sai số lẫn quảng thời
gian xảy ra sai số. Tổng sai số tức thời theo thời gian (tích phân sai số) cho ta tích
lũy bù đã được hiệu chỉnh trước đó. Tích lũy sai số sau đó được nhân với độ lợi tích
phân và cộng với tín hiệu đầu ra của bộ điều khiển. Biên độ phân phối của khâu tích
phân trên tất cả tác động điều chỉnh được xác định bởi độ lợi tích phân Ki.
Thừa số tích phân được cho bởi:
t
I out =K i∫ e (τ )dτ
0

Trong đó:
I out : Thừa số tích phân ngõ ra
K i: độ lợi tích phân

e: sai số
t: thời gian hiện tại
τ : biến trung gian
Khâu tích phân (khi cộng thêm khâu tỉ lệ) sẽ tăng tốc chuyển động của quá trình
tới điểm đặt và khử số dư sai số ổn định với một tỉ lệ chỉ phụ thuộc vào bộ điều

25
ĐỒ ÁN CHUYÊN NGÀNH
Trang 26

khiển. Tuy nhiên, vì khâu tích phân là đáp ứng của sai số tích lũy trong quá khứ, nó
có thể khiến giá trị hiện tại vọt lố qua giá trị đặt.

2.4 Khâu vi phân

Tốc độ thay đổi của sai số quá trình được tính toán bằng cách xác định độ dốc
của sai số theo thời gian (tức là đạo hàm bậc một theo thời gian) và nhân tốc độ này
với độ lợi tỉ lệ  K d . Biên độ của phân phối khâu vi phân trên tất cả các hoạt động
điều khiển được giới hạn bởi độ lợi vi phân K d .
Thừa số vi phân được cho bởi:
d
D out =K d e(t )
dt
Trong đó:
Dout ; thừa số vi phân đầu ra
K d : độ lợi vi phân

e(t): sai số theo thời gian


Khâu vi phân làm chậm tốc độ thay đổi của đầu ra bộ điều khiển và đặc tính này
là đáng chú ý nhất để đạt tới điểm đặt của bộ điều khiển. Từ đó, điều khiển vi phân
được sử dụng để làm giảm biên độ vọt lố được tạo ra bởi thành phần tích phân và
tăng cường độ ổn định của bộ điều khiển hỗn hợp. Tuy nhiên, phép vi phân của một
tín hiệu sẽ khuếch đại nhiễu và do đó khâu này sẽ nhạy hơn đối với nhiễu trong sai
số, và có thể khiến quá trình trở nên không ổn định nếu nhiễu và độ lợi vi phân đủ
lớn. Vì thế, độ lợi vi phân thường có giá trị rất nhỏ.

2.5 Các phương pháp xác định thông số PID

2.5.1 Cách hiệu chỉnh thủ công

Đây là cách hiêu chỉnh không theo các số liệu đo đạc vật lý. Vì thế, nó khó đạt
được chất lượng điều khiển mong muốn và phụ thuộc nhiều vào kinh nghiệm của
người thực hiện.
Các bước thực hiện:

26
ĐỒ ÁN CHUYÊN NGÀNH
Trang 27

 Cho K d và K I đều bằng 0, chỉnh K P là giá trị phù hợp để hệ thống có đáp ứng
nhanh và ở gần biên giới dao động.
 Chỉnh độ lợi K P bằng một nửa so với giá trị ở gần biên giới ổn định.
 Hiệu chỉnh thành phần K I sao cho hệ thống có quá độ và thời gian xác lập
chấp nhận được.

2.5.2 Hiệu chỉnh bằng phương pháp Ziegler-Niᴄhole

Phương pháp Ziegler-Niᴄhole còn có các gọi khác là phương pháp tương tác quá
trình. Được dùng với mục đích kháng nhiễu cho mạch kín.
Các bước hiệu chỉnh:
 Đặt K d và K I đều bằng 0, chỉnh K P sao cho hệ thống dao động tuần hoàn. Và
đặt giá trị K P lúc này là K u.
 Đo chu kì dao động PC .
 Tính toán theo hình sau:

2-2 Phương pháp Ziegler-Niᴄhole


2.5.3 Hiệu chỉnh bằng phần mềm

Sử dụng phần mềm để tự động tính toán, hiệu chỉnh các thông số của PID. Thực
hiện trên mô hình toán và kiểm nghiệm dựa trên mô hình thực tế.

27
ĐỒ ÁN CHUYÊN NGÀNH
Trang 28

CHƯƠNG 3. GIỚI THIỆU ĐỀ TÀI

3.1 Mục đích thực hiện đề tài

Thực hiện mô hình điều khiển nhiệt độ lò nhiệt bằng phương pháp PID nhằm
khảo sát, kiểm tra sự tác động của bộ điều khiển PID đến hệ thống.
Điều khiển bằng phương pháp PID có rất nhiều ứng dụng trong công nghiệp và
đời sống. Áp dụng kiến thức PID vào đề tài đẻ hiểu rõ hơn kiến thức và dễ dàng áp
dụng cho các mục đích sau này.

3.2 Yêu cầu của đề tài

Hệ thống tính toán và thay đổi nhiệt độ đầu ra ở giá trị gần với điểm đặt nhất.
Hệ thống hoạt động ổn định.
Sử dụng MATLAB tính toán độ vọt lố của hệ thống.

3.3 Ý tưởng và phương pháp thực hiện

Kiểm soát nhiệt độ có rất nhiều ứng dụng thực tiễn như: lò ấp trứng, điều hòa, lò
hơi, lò nhiệt,… Để có thể điều khiển nhiệt độ chính xác, ta cần phương pháp điều
khiển có thể triệt tiêu sai số đến mức thấp nhất.
Hệ thống sẽ xoay quanh chip vi điều khiển PIC16F877A. Hiển thị các thông tin
trên LCD như nhiệt độ đặt, nhiệt độ thực. Sò nhiệt sẽ được điều khiển bằng xung
PWM. Sau khoảng 1 giây, khi nhiệt độ thực vượt quá cao nhiệt độ đặt, quạt tản
nhiệt sẽ được bật để giảm nhiệt độ.
Tiến hành mô phỏng hệ thống trước qua phần mềm mô phỏng Proteus, để có thể
chỉnh sửa code cho PIC cho phù hợp thông qua phần mềm CCS. Tiến hành lựa chọn
các thông số PID thông qua hệ thống mạch thủ công, hiệu chỉnh các thông số cho
đến khi hệ thống đạt được độ ổn định mong muốn.
Tham khảo các tài liệu, giáo trình, về kiến thức PID. Dùng phần mềm MATLAB
để tính toán lại các thông số chi tiết.

28
ĐỒ ÁN CHUYÊN NGÀNH
Trang 29

CHƯƠNG 4. LÝ THUYẾT LIÊN QUAN

4.1 LCD

LCD (Liquid Crystal Display) là màn hình tinh thể lỏng. Đây là thiết bị được
cấu tạo bởi các điểm ảnh chứa tinh thể lỏng có khả năng thay đổi tính phân cực của
ánh sáng. Do đó, khi kết hợp với kính lọc phân cực, nó có thể thay đổi được cường
độ ánh sáng truyền qua.
Ngày nay, LCD được sử dụng rất nhiều trong các ứng dụng của vi điều khiển. Vì
có khả năng hiển thị kí tự đa dạng, trực quan, và giá thành rẻ.

4.1.1 Hình dạng và sơ đồ chân

4-3 LCD
Hình 4-1 là loại LCD thông dụng nhất và cũng là LCD được dùng trong đề tài.

Các chân của LCD được đánh số thứ tự từ trái qua phải, lần lượt là:

 Chân số 1 (Vss) là chân nối đất của LCD

 Chân số 2 (Vdd) là chân cấp nguồn cho LCD, thường nối với 5V

 Chân số 3 (Vee) là điều chỉnh độ tương phản

29
ĐỒ ÁN CHUYÊN NGÀNH
Trang 30

 Chân số 4 (RS) là chân chọn thanh ghi. Nối chân RS với mức logic 0 (GND)
hoặc logic 1 (Vcc) để chọn thanh ghi
- Ở mức logic 0: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD ở chế
độ WRITE (ghi) hoặc nối với bộ đếm địa chỉ của LCD ở chế độ READ
(đọc).
- Ở mức logic 1: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong
LCD

 Chân số 5 (RW) chân chọn chế độ đọc hoặc ghi (READ / WRITE). Nối chân
RW với logic 0 để LCD hoạt động ở chế độ ghi hoặc nối với logic 1 để hoạt
động ở chế độ đọc.

 Chân số 6 (E) Chân cấp quyền (Enable). Sau khi các tín hiệu gửi lên bus
DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E.
- Ở chế độ Ghi: dữ liệu chỉ được xuất lên LCD khi có một xung high-to-low
- Ở chế độ Đọc: dữ liệu chỉ được xuất lên LCD khi có một xung low-to-high
và giữ ở đó cho đến khi chân E xuống mức thấp (low).

 Chân số 7 đến chân số 14 (D0-D7) là các chân truyền dữ liệu để trao đổi
thông tin với bộ vi xử lí.

 Chân số 15 (anot) và chân số 16 (cathode) là chân cấp điện cho đèn nền của
LCD.

4.1.2 Kết nối LCD

Cách kết nối dưới đây dùng chung cho cả 2 chế độ đọc/ghi của LCD:

 Chân Vdd nối với nguồn 5V.

 Chân Vee nối với biến trở để thay đổi độ sáng nền LCD.

 Chân Vss nối đất.

30
ĐỒ ÁN CHUYÊN NGÀNH
Trang 31

 Các chân RS, RW, E lần lượt được nối vào các cổng RE0,RE1,RE2 của PIC
để có thể thay đổi chế độ đọc/ghi của LCD.

 Các chân dữ liệu D0-D7 nối vào các cổng RD0 – RD7 để nhận tín hiệu dữ
liệu xuất ra từ PIC lên LCD

4-4 Sơ đồ kết nối LCD

4.2 LM35

LM35 là một cảm biến nhiệt độ chuyển đổi tín hiệu điện áp thành tín hiệu tương
tự, điện áp ở đầu ra của cảm biến tỷ lệ với nhiệt độ tức thời và có thể dễ dàng được
xử lý để có được giá trị nhiệt độ bằng oC.

31
ĐỒ ÁN CHUYÊN NGÀNH
Trang 32

Vì có nhiều ưu điểm nên cảm biến nhiệt LM35 được sử dụng trong nhiều hệ
thống đơn giản, có giá thành rẻ.

Hình 4-6 Cảm biến nhiệt độ LM35

4.2.1 Sơ đồ chân LM35 và thông số kĩ thuật

Hình 4-7 Sơ đồ chân LM35


Trong đó:

 Chân số 1 (chân VCC hay Vs) là chân nguồn với điện áp từ 4V đến 30V.

 Chân số 2 (chân Vout) là chân điện áp ra, với sự thay đổi tương ứng với
nhiệt độ là 10mV/oC.

 Chân số 3 (chân GND) là chân nối đất.

Thông số kĩ thuật LM35:

32
ĐỒ ÁN CHUYÊN NGÀNH
Trang 33

 Hiệu chuẩn trực tiếp theo oC


 Điện áp hoạt động: 4-30VDC
 Dòng điện tiêu thụ: khoảng 60uA
 Nhiệt độ thay đổi tuyến tính: 10mV/°C
 Khoảng nhiệt độ đo được: -55°C đến 150°C
 Điện áp thay đổi tuyến tính theo nhiệt độ: 10mV/°C
 Độ tự gia nhiệt thấp, 0,08oC trong không khí tĩnh
 Sai số: 0,25°C
 Trở kháng ngõ ra nhỏ, 0,2Ω với dòng tải 1mA
 Kiểu chân: TO92
 Kích thước: 4.3 × 4.3mm
4.2.2 Nguyên lý hoạt động

Cảm biến LM35 hoạt động bằng cách cho ra một giá trị điện áp nhất định tại
chân Vout (chân số 2) ứng với mỗi mức nhiệt độ. Như vậy, bằng cách đưa vào chân
bên trái của cảm biến LM35 điện áp 5V, chân phải nối đất, đo hiệu điện thế ở chân
giữa, ta sẽ có được nhiệt độ (0-100ºC) tương ứng với điện áp đo được.

Hình 4-8 Mạch đo nhiệt độ từ 0oc - 100oC

LM35 có thể đo nhiệt độ trong phạm vi từ -55oC đến 150oC. Độ chính xác thực
tế của cảm biến: ±1/4°C ở nhiệt độ phòng và ±3/4°C trong phạm vi nhiệt độ từ -
55°C đến 150°C.

4.3 Tính toán ADC

Dựa vào cách hoạt động của LM35, cho điện áp ngõ ra Vout tương ứng mỗi cấp
nhiệt độ, ta có thể tính toán nhiệt độ tương ứng bằng cách: Đưa vào chân số 1 của

33
ĐỒ ÁN CHUYÊN NGÀNH
Trang 34

LM35 điện áp 5V, chân số 3 nối đất, kết nối chân số 2 với các chân Analog của
PIC16F877A.
Với hệ số chuyển đổi là 10mV/°C và chọn hệ số ADC là 10 bit (0 - 1023), giá trị
ADC đo được tính toán bằng công thức sau:
500 mV
Nhiệt độ= x(giá trị ADC từ chân Analog)
1023

4.4 Tiêu chuẩn đánh giá chất lượng hệ thống

4.4.1 Sai số xác lập

4-5 Sơ đồ khối

Sai số xác lập (hay sai lệch tĩnh) là sai lệch không đổi sau khi quá trình quá độ
kết thúc. Sai số xác lập được xác định qua công thức
R(s)
E ( s )=
1+G ( s ) H (s)
Suy ra:
R (s )
e xl =lim sE ( s )=¿ lim s ¿
s→∞ s→ ∞ 1+ G ( s ) H ( s )
Từ công thức trên, ta thấy sai số xác lập không chỉ phụ thuộc vào cấu trúc và
thông số của hệ thống, mà còn phụ thuộc vào tín hiệu đầu vào.

4.4.2 Độ vọt lố

Độ vọt lố (hay hiện tượng vọt lố - Percent of Overshoot) là hiện tượng đáp ứng
4-6 Đồ thị độ vọt lố của hệ thống
của hệ thống vượt quá giá trị xác lập của nó.

34
ĐỒ ÁN CHUYÊN NGÀNH
Trang 35

Đồng thời, độ vọt lố là đại lượng đánh giá mức độ vọt lố của hệ thống. Độ vọt lố
được xác định bằng công thức:
c max −c xl
POT = x 100 %
c xl

4.5 Thời gian quá độ và thời gian lên

Thời gian quá độ (tqd) là thời gian cần thiết để sai lệch giữa đáp ứng của hệ thống
và giá trị xác lập của nó không vượt quá 2% hoặc 5%.

4-7 Đồ thị thời gian quá độ

Thời gian lên (tr) là thời gian cần thiết để hệ thống có đáp ứng tăng từ 10% đến
90% giá trị xác lập của nó.

4-8 Đồ thị thời gian lên

35
ĐỒ ÁN CHUYÊN NGÀNH
Trang 36

CHƯƠNG 5. GIẢI PHÁP THỰC HIỆN

5.1 Mô hình mô phỏng

Hình 5-9 Mô phỏng qua phần mềm Proteus

5.2 Kết quả mô phỏng

Hệ thống hoạt động ổn định.

36
ĐỒ ÁN CHUYÊN NGÀNH
Trang 37

CHƯƠNG 6. KẾT QUẢ MÔ PHỎNG (HOẶC KẾT QUẢ THI CÔNG MÔ


HÌNH)

6.1 Kết quả 1

37
ĐỒ ÁN CHUYÊN NGÀNH
Trang 38

CHƯƠNG 7. KẾT LUẬN

7.1 Kết luận

Hệ thống hoạt động ổn đinh


Giá trị PWM điều khiển nhiệt độ có giá trị chênh lệch không quá nhiều so với
giá trị đặt.
Giá trị nhiệt độ thực hiển thị trên LCD tăng chậm.
Quạt tản nhiệt hoạt động không nhanh như mong đợi.

7.2 Hướng phát triển

38
ĐỒ ÁN CHUYÊN NGÀNH
Trang 39

TÀI LIỆU THAM KHẢO

TIẾNG VIỆT
ThS. Nguyễn Đình Phú – ThS. Phan Vân Hoàn – ThS. Trương Ngọc Anh. (2017).
Giáo trình Vi điều khiển PIC. Nhà xuất bản: Đại Học Quốc Gia Thành Phố Hồ Chí
Minh.
Bài giảng Lý thuyết điều khiển tự động – Chương 4: Đánh giá chất lượng hệ thống
điều khiển. 5/2023, https://tailieu.tv/tai-lieu/bai-giang-ly-thuyet-dieu-khien-tu-dong-
chuong-4-danh-gia-chat-luong-he-thong-dieu-khien-25796/#
Bộ điều khiển PID. 5/2023, https://vi.wikipedia.org/wiki/B%E1%BB%99_
%C4%91i%E1%BB%81u_khi%E1%BB%83n_PID
Bộ điều khiển PID. 5/2023, https://www2.hcmuaf.edu.vn/data/phucnt/file/bo-dieu-
khien_pid.pdf

39

You might also like