1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Temperature control design project

31 190 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 31
Dung lượng 413,28 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project Temperature control design project

Trang 1

BỘ MÔN : ĐIỀU KHIỂN TỰ ĐỘNG ––––––––––––––o0o––––––––––––––

Trang 2

LỜI NÓI ĐẦU

Đây là báo cáo đồ án môn học 1 đề tài Đo và điều khiển nhiệt

độ dùng vi điều khiển PIC16F887A bằng thuật toán PID Với thời

gian và kiến thức hạn chế của sinh viên thực hiện, đồ án chỉ mới dừng

lại ở việc thực hiện yêu cầu đề tài ở mức độ đơn giản

Lẽ tất nhiên, đồ án này không thể tránh khỏi nhiều thiếu sót,

em rất mong nhận được sự đóng góp ý kiến từ phía các thầy cô để

hoàn chỉnh đồ án cũng như phục vụ cho việc thực hiện đồ án môn học

2 & luận văn tốt nghiệp sau này

Cuối cùng, em xin bày tỏ lòng biết ơn sâu sắc đến giáo viên hướng dẫn, TS Huỳnh Thái Hoàng, vì sự giúp đỡ, hướng dẫn tận tình

của thầy trong suốt thời gian qua

Hồ Tấn Thuận

Tp HCM, ngày 04 tháng 01 năm 2009

Trang 3

MỤC LỤC

LỜI NÓI ĐẦU ……… … 1

MỤC LỤC ……… … 2

CHƯƠNG 1 : TỔNG QUAN VỀ BỘ ĐIỀU KHIỂN PID ……… 3

CHƯƠNG 2 : SƠ ĐỒ NGUYÊN LÝ ……… 5

2.1 SƠ ĐỒ KHỐI VÀ VI ĐIỀU KHIỂN ……… … 6

2.2 KHỐI MẠCH NHẬP VÀ HIỂN THỊ ……… … 6

2.3 KHỐI KHUẾCH ĐẠI VÀ BÙ NHIỆT CẢM BIẾN……… 8

2.4 MẠCH CÔNG SUẤT ……… 10

2.5 MẠCH NGUỒN……….… 11

CHƯƠNG 3 : THUẬT TOÁN PID ĐIỀU KHIỂN NHIỆT ĐỘ…… … 13

3.1 THUẬT TOÁN PID VÀ RỜI RẠC HOÁ……… … 14

3.2 ANTI – WINDUP ……… … 15

3.3 XÁC ĐỊNH THÔNG SÔ BỘ ĐIỀU KHIỂN ……….… 16

CHƯƠNG 4 : LƯU ĐỒ GIẢI THUẬT ……… … 18

4.1 CHƯƠNG TRÌNH CHÍNH ……… … 19

4.2 CHƯƠNG TRÌNH NGẮT ……….… 20

4.3 CHƯƠNG TRÌNH CON……….… 22

CHƯƠNG 5 : KẾT QUẢ THỰC HIỆN ……… 28

Tài liệu tham khảo ……….… 30

Trang 4

CHƯƠNG 1 : TỔNG QUAN VỀ BỘ ĐIỀU KHIỂN PID

Trang 5

TỔNG QUAN VỀ BỘ ĐIỀU KHIỂN PID

Bộ điều khiển PID thuộc nhóm các bộ điều khiển kinh điển Mặc dù hiện nay ra đời nhiều phương pháp điều khiển mới như điều khiển thích nghi, điều khiển mờ, mạng-nơron và nhiều thuật toán điều khiển phi tuyến, nhưng PID vẫn hiện đang được dùng rất nhiều trong các bài toán điều khiển (nhiệt độ, tốc độ, điều khiển bám, ) vì tính đơn giản trong thiết kế và chất lượng điều khiển khá tốt

Hàm truyền của bộ điều khiển PID :

định các thông số K P , K I , K D (có nhiều phương pháp để xác định bộ thông số này)

Khuyết điểm của bộ điều khiển PID : đối tượng được điều khiển phải là cố định, các thông số của đối tượng không thay đổi

Trang 6

CHƯƠNG 2 :

SƠ ĐỒ NGUYÊN LÝ

Trang 7

2.1 SƠ ĐỒ KHỐI VÀ VI ĐIỀU KHIỂN :

2.1.1 Sơ đồ khối của hệ thống :

2.1.2 Vi điều khiển :

Vi điều khiển được sử dụng trong đồ án này là PIC16F877A Đây là 1 vi điều khiển 8 bit,

có kiến trúc RISC, dòng Mid-range của hãng Microchip Technology Tập lệnh gồm 35

lệnh (14–bit opcode)

PIC16F877A có tích hợp sẵn một số ngoại vi như sau :

– 2 Timer 8 bit và 1 Timer 16 bit

– Module Capture, Compare và PWM

– Port nối tiếp đồng bộ

Mạch khuếch đại và bù nhiệt

Trang 8

33 34 35 36 37 38 39 40 15

16 17 18 23 24 25 26

19 20 21 22 27 28 29 30 13

14

32 11 31

12

1

8 9 10

RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+

RA4/T0CKI/C1OUT RA5/AN4/SS*/C2OUT

RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD RC0/T1OSO/T1CKI

RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT

RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 OSC1/CLKIN

OSC2/CLKOUT

VDD VDD VSS

VSS

MCLR*/VPP

RE0/RD*/AN5 RE1/WR*/AN6 RE2/CS*/AN7

F PORTD<5>

SW3 SW4 4.7k

PORTD<7>

D DOT

PORTD<6>

SW5

C

10MHz CRY STAL

Q3

A1015

SW1 VCC

D 1k

DOT A

SW1 G

Q4

A1015

SW1 C

PORTD<4>

4.7k

A

SW3

Trang 9

đó sẽ nhấp nháy trong lúc đặt nhiệt độ)

– Nút nhấn SW2 : (UP) Tăng hàng đơn vị của nhiệt độ đặt lên 1(nếu SW1 chọn hàng đơn vị) Tăng hàng chục của nhiệt độ đặt lên 1 (nếu SW1 chọn hàng chục), tương tự cho hàng đơn vị và hàng thập phân (riêng hàng thập phân tăng 0.5 độ mỗi lần ấn)

– Nút nhấn SW3 : (DOWN) Giảm hàng đơn vị của nhiệt độ đặt xuống 1 (nếu SW1 chọn hàng đơn vị) Tương tự cho hàng chục, đơn vị và hàng thập phân (riêng hàng thập phân giảm 0.5 độ mỗi lần ấn)

– Nút nhấn SW4 : (ENTER/STOP) Xác nhận nhiệt độ cài đặt và chạy chương trình Nếu

hệ thống đang chạy, ấn SW4 1 lần nữa thì chương trình sẽ dừng và chờ cài đặt lại nhiệt độ

để chạy tiếp

2.2.3 Giá trị các điện trở :

– Các chân của vi điều khiển có nối với nút nhấn được kéo lên nguồn qua điện trở 10k – Dòng qua mỗi đoạn của các LED 7 đoạn trong khoảng 15 – 20mA Vì vậy, khoảng giá trị điện trở nối giữa các LED 7 đoạn và vi điều khiển là 250 – 333Ω (nguồn cung cấp các LED là 5V) Chọn : 330Ω

– Tính toán điện trở nối giữa vi điều khiển và cực B của các Transistor A1015 :

R2

Vcc

VI DIEU KHIEN

Q1 A1015 4.7k

LED 7 DOAN

R1 1k

+ Ngõ ra mức 0 của vi điều khiển : IOL = 8.5mA, VOL = 0.6V

+ Ta thiết kế sao cho khi ngõ ra của vi điều khiển mức 1 : transistor A1015 không dẫn, khi ngõ ra vi điều khiển mức 0, A1015 dẫn ở chế độ bão hòa (để VC xấp xỉ 5V) Khi đó :

I CEI BI OL

OL CC

R

V V

+ Thay ICE = 15 2mA

330

5

 ,  = 180, VCC= 5V, VOL = 0.6V, IOL = 8.5mA ta có :

436 ≤ R1 ≤ 44k Chọn R1 = 1k

– Điện trở hồi tiếp R2 chọn 4.7k

2.3 MẠCH KHUẾCH ĐẠI VÀ BÙ NHIỆT CHO CẢM BIẾN :

2.3.1 Sơ đồ nguyên lý :

Trang 10

R8 22k

R7 100

RA0/AN0

-5V

Rf 1 18k R3

3.3k

-5V

+

- U4 OP07

-3 2

-3 2

R10 1k

-5V +5V

+ U2 OP07

-3 2

Rf 2 10k

R5 10k

+5V

R4

2.2k

R9 10k

3 2

6

2.3.2 Các linh kiện chính được sử dụng :

+ Thermocouple loại K có độ nhạy S = 40µV/oC, tín hiệu điện áp giữa 2 đầu thermocouple có giá trị : vthermocouple = S(Td – Ta), trong đó Td là nhiệt độ của đầu nóng thermocouple (Td = nhiệt độ cần đo), Ta là nhiệt độ của đầu lạnh thermocouple (Ta = nhiệt

độ môi trường)

+ IC cảm biến nhiệt độ LM335 dùng để đo nhiệt độ môi trường Ta LM335 tạo ra điện áp

có giá trị : vLM335 = 2.73 + KTa, với K = 10mV/oC và Ta được tính theo độ C

+ OPAMP OP07 có điện áp offset rất thấp OPAMP U1, U2, U3 được dùng làm bộ đệm điện áp OPAMP U4 khuếch đại tín hiệu từ thermocouple, OPAMP U5 khử thành phần 2.73V trong điện áp ra của LM335, bù nhiệt môi trường, và khuếch đại tín hiệu OPAMP U6 đệm trở kháng, để trở kháng ra của mạch khuếch đại và bù nhiệt này rất nhỏ

Trang 11

R

v R

v

 ) –

3

2 1

)(

25073

.2

R

T T S R

1010

1040250250

3 6

R

Chọn R6 = R10 = 1k

 v4 = (1 +

3

2 1

25073.2

R

ST R

d

3

2 1

R

3

2 1

hệ số khuếch đại 39.1 mV/oC Ngõ ra này được nối vào chân RA0/AN0 của vi điều khiển

2.4 MẠCH CÔNG SUẤT :

+12V

220Vac 0Vdc

Q2 BTA16 Q1

Q2SC1815 R1

47k

U15 MOC3020

1 2

Heater

R2 330

FUSE

PORTC<2>

R3 470

– Khi PORTC<2> = 0, lớp BE của Transistor không được phân cực, không có dòng qua MOC3020, triac không được kích

– Khi PORTC<2> = 1, Transistor dẫn, ta thiết kế sao cho dòng qua OPTO MOC3020 từ 5 – 20mA, mà :

Trang 12

IMOC3020 = ICEQ =

2 1

7 0 5

Chọn R1 = 47k, R2 = 330 Khi đóIMOC3020 = 7.3mA

– Chọn R3 = 470Ω để đảm bảo dòng kích qua Triac

-6VAC

C2 0.1u

5VDC 6VAC

C4 0.1u C3

470u

R 330

D1 D1N4007

D4 LED

2.5.2 Mạch nguồn +/–5Vdc cung cấp cho các OPAMP OP07:

C7 470u

C3 470u

5VDC

LED

C6 0.1u 2200u C5

2200u

6VAC

C4 0.1u

C8 0.1u LED

Trang 13

2.5.3 Mạch nguồn 12Vdc cung cấp cho mạch công suất và mạch nguồn tham

khảo:

C1 2200u

-12VAC

C2 0.1u

12VDC 12VAC

C4 0.1u C3

470u

R 1k

D1 D1N4007

D4 LED

2.5.4 Mạch nguồn tham khảo 5VDC cho module ADC :

R2 10k

R1 1k

RA3/AN3/VRef +

C 47u TL431

12VDC

IC ổn áp TL431 có sai số khoảng 0.4% ở 25oC Chiết áp R2 = 10k để chỉnh cho giá trị điện áp ra của mạch là 5V Tụ C= 47μF có tác dụng lọc nhiễu Ngõ ra của mạch được nối vào chân RA3/AN3/Vref+ của vi điều khiển

Trang 14

CHƯƠNG 3:

THUẬT TOÁN PID ĐIỀU KHIỂN NHIỆT ĐỘ

Trang 15

3.1 THUẬT TOÁN PID VÀ RỜI RẠC HÓA:

Sơ đồ khối bộ điều khiển :

Phương trình mô tả bộ điều khiển PID :

u(t) = K p e(t) + K I

t

dt t e

0 )

– e(t) : độ sai lệch giữa nhiệt độ đặt ban đầu và nhiệt độ hiện tại

– u(t) : tín hiệu ngõ ra của bộ điều khiển

Vì vi điều khiển không thể tính toán trực tiếp với các phép tích phân và đạo hàm Do vậy, cần phải rời rạc hóa phương trình này

0 1 2 3 4 5 6 7 8

: nhiệt độ đặt

: đáp ứng quá độ, đầu vào là hàm nấc

: rời rạc hóa đáp ứng quá độ

* Khâu vi phân :

T

n e n e dt

T dt

( (tính theo diện tích hình thang)

Suy ra, phương trình rời rạc mô tả bộ điều khiển PID có dạng :

1

)]

1()([Đặt : delta_e (n) = e(n) – e(n – 1)

Trang 16

)]

1()([

hở vì phần tử chấp hành sẽ duy trì ở công suất Pmax Mặt khác, do có chứa khâu tích phân, nên khi xảy ra hiện tượng này, sai số sẽ được cộng dồn lại và giá trị tích phân sẽ trở nên rất lớn, hệ thống bị windup Để hệ thống trở về hoạt động bình thường, sai số nhiệt độ phải có dấu âm (nhiệt độ đặt nhỏ hơn nhiệt độ hiện tại) trong một thời gian dài, gây ra quá trình quá độ dài khi phần tử chấp hành bão hòa công suất

– Có nhiều phương pháp để loại trừ hiện tượng này Một trong những phương pháp đó được thể hiện qua sơ đồ khối sau :

– Trong đó e s là hiệu giữa tín hiệu đưa vào phần tử chấp hành u và ngõ ra v của bộ điều

khiển PID

+ Khi phần tử chấp hành chưa bão hòa công suất, e s = 0, hệ thống hoạt động bình thường

+ Khi phần tử chấp hành bão hòa công suất, e s ≠ 0 Khi đó, đầu vào khâu tích phân sẽ có

giá trị :

s

e e

Phần tử chấp hành

Trang 17

– Do có vòng hồi tiếp từ e s về khâu tích phân, ngõ ra của khâu tích phân sẽ được lái đến

một giá trị mà ở đó ngõ vào của nó đạt đến zero:

s a i

e T

e T

 = 0 Hay :

e s = – Ke

T

T

i a

Trong đó, ulim là giá trị bão hòa của tín hiệu điều khiển phần tử chấp hành

Vậy, tín hiệu ngõ ra v của bộ điều khiển PID bị giới hạn bởi u lim , và sẽ bị tác động lập tức

ngay khi sai số e thay đổi theo thời gian Hiện tượng windup bị loại trừ

– Khi giá trị Ta càng nhỏ, hệ số hồi tiếp từ e s về khâu tích phân là 1/Ta lớn, giá trị ngõ ra của khâu tích phân bị reset càng nhanh Nhưng nếu chọn Ta quá nhỏ sẽ ảnh hưởng đến giá trị bão hòa của ngõ ra, vì giá trị của khâu tích phân có thể bị reset một cách không mong muốn Khoảng giá trị hợp lý của Ta là (Ti, Td)

3.3 XÁC ĐỊNH THỐNG SỐ BỘ ĐIỀU KHIỂN:

Các thông số K P , K I , K D được xác định theo phương pháp Ziegler – Nichols :

Mô hình lò nhiệt có thể biểu diễn dưới dạng hàm truyền :

Ts

Ke Ls

θ Công suất được điều khiển bằng phương pháp điều rộng xung

Ton

T

Trang 18

lap xac đo nhiet

– Sau khi cấp 40% công suất cho mô hình, tiến hành đo và thực hiện các phép thử và sai,

ta có bộ thông số của bộ điều khiển như sau:

L = 120s, T = 1800s, K = 100/0.4 = 250 – Suy ra :

Ti = 2L = 240s, Td = 0.5L = 60s, KP = 250, K = 0.032, Ki = 1x10–4, Kd = 1.92

– Chọn Ta = Ti = 240s

Trang 19

CHƯƠNG 4:

LƯU ĐỒ GIẢI THUẬT

Trang 20

4.1 CHƯƠNG TRÌNH CHÍNH :

START

Đặt giá trị thông số PID

Cho phép ngắt Timer 1 //thời gian ngắt: 200ms

Cho phép ngắt Timer 2 //thời gian ngắt : 2ms

Gán giá trị đầu cho các biến

Gọi chương trình con Button_Press

Nút ENTER/STOP

đã được nhấn?

Hiển thị nhiệt độ đã đặt lần trước

Cho phép nhấp nháy LED 7 đoạn

Ngừng nhấp nháy LED 7 đoạn

Nút ENTER/STOP

đã được nhấn?

Trang 21

4.2 CHƯƠNG TRÌNH NGẮT :

4.2.1 Ngắt Timer 1: Ngắt Timer 1 xảy ra sau mỗi 200ms, dùng để nhấp nháy LED 7

đoạn trong quá trình cài đặt nhiệt độ, và cứ sau 2s hiển thị nhiệt độ, xử lý thuật toán PID

Có nhấp nháy LED 7 đoạn?

Đảo bit 0 của thanh

Trang 22

4.2.2 Ngắt Timer 2: Ngắt Timer 2 xảy ra sau mỗi 2ms, dùng để điều xung và quét 4

LED 7 đoạn

Có kích Triac hay không?

Không cấp nguồn cho LED

Trang 23

4.3 CHƯƠNG TRÌNH CON :

4.3.1 Chương trình con Button_Press xử lý các phím nhấn:

SW1 được nhấn?

SW1 được nhấn?

Trang 25

100

Sel = 1

Tăng hàng chục 1 đơn vị

Hàng đvị = 9

Hàng chục 

0

Tăng hàng đơn vị lên 1

Hàng đvị 

0

Hàng thphân

 5

Hàng thphân

 0

Hàng thphân = 5

Hàng chục = 9

Y Y

Trang 26

100

Sel = 1

Giảm hàng chục 1 đơn vị

Hàng đvị = 0

Hàng chục 

9

Giảm hàng đơn vị xuống

1

Hàng đvị 

9

Hàng thphân

 5

Hàng thphân

 0

Hàng thphân = 5

Hàng chục = 0

Y Y

Trang 27

4.3.2 Chương trình con lấy mẫu ADC : Chương trình ADC_Program sẽ lấy trung

bình của 512 mẫu để xử lý tính toán

Lấy mẫu ADC

temp  temp + Giá trị mẫu ADC

//temp là giá trị chứa trong 4 thanh ghi temp1, 2, 3, 4

count  512

temp  temp/512 count  count – 1

Lưu giá trị của temp vào các thanh ghi để tính toán

trong chương trình PID và hiển thị

temp  0

Cờ ADC  0

Cờ ADC = 1? N

Y

Trang 28

4.3.3 Chương trình con PID:

PID

v < 0?

e1  e0 e0  t_set – t

Kp_e  Kp*e0 Kd_e Kd*(e0 – e1) Ki_sum Ki_sum + Ki*(e1 + es)

v = Kp_e + Kd_e + Ki_sum

Y

N

Nhiệt độ đặt t_set Nhiệt độ hiện tại t

Kd = Kd/T

Ki = Ki*T/2

es  (v – u)/K

//anti–windup //v, u : kết quả tính toán cho bộ điều khiển lần gọi hàm PID trước

Trang 29

CHƯƠNG 5:

KẾT QUẢ THỰC HIỆN

Trang 30

– Đối tượng điều khiển là nồi nước có thể tích khoảng 2lit

– Nhiệt độ nước lúc đầu : 30oC

độ từ cảm biến đưa về lúc đó nhỏ hơn khi Triac không được kích, làm cho nhiệt độ hiển thị trên các LED 7 đoạn dao động trong khoảng quanh nhiệt độ đặt

 Mặt khác, cũng do đối tượng điều khiển là nhỏ, nên đặc tuyến vòng hở khá tuyến tính, làm cho việc xác định các thông số bộ điều khiển gặp nhiều khó khăn

Trang 31

Tài liệu tham khảo

[1] Nguyễn Thị Phương Hà – Huỳnh Thái Hoàng (2005) Lý thuyết ĐIỀU KHIỂN TỰ

ĐỘNG Nhà xuất đại học Quốc Gia TP Hồ Chí Minh

[2] Nguyễn Văn Nhờ (2005) Điện tử công suất 1 Nhà xuất bản đại học Quốc Gia TP Hồ

Chí Minh

[3] Bộ môn Điều khiển Tự động – Khoa Điện Điện Tử, ĐH Bách Khoa Tập tài liệu

hướng dẫn thí nghiệm Điều khiển tự động 1

[4] Karl Johan Åström (2002) Control System Design Department of Mechanical and

Environmental Engineering, University of California

[5] www.microchip.com Microchip Technology Inc

[7] www.dientuvietnam.net

Ngày đăng: 20/09/2015, 11:34

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Thị Phương Hà – Huỳnh Thái Hoàng (2005). Lý thuyết ĐIỀU KHIỂN TỰ ĐỘNG. Nhà xuất đại học Quốc Gia TP Hồ Chí Minh Sách, tạp chí
Tiêu đề: Lý thuyết ĐIỀU KHIỂN TỰ ĐỘNG
Tác giả: Nguyễn Thị Phương Hà – Huỳnh Thái Hoàng
Năm: 2005
[2] Nguyễn Văn Nhờ (2005). Điện tử công suất 1. Nhà xuất bản đại học Quốc Gia TP Hồ Chí Minh Sách, tạp chí
Tiêu đề: Điện tử công suất 1
Tác giả: Nguyễn Văn Nhờ
Nhà XB: Nhà xuất bản đại học Quốc Gia TP Hồ Chí Minh
Năm: 2005
[4] Karl Johan Åstrửm. (2002). Control System Design. Department of Mechanical and Environmental Engineering, University of California Sách, tạp chí
Tiêu đề: Control System Design
Tác giả: Karl Johan Åstrửm
Nhà XB: Department of Mechanical and Environmental Engineering, University of California
Năm: 2002
[5] www.microchip.com. Microchip Technology Inc. [6] www.picvietnam.com Sách, tạp chí
Tiêu đề: Microchip Technology Inc
[3] Bộ môn Điều khiển Tự động – Khoa Điện Điện Tử, ĐH Bách Khoa. Tập tài liệu hướng dẫn thí nghiệm Điều khiển tự động 1 Khác

HÌNH ẢNH LIÊN QUAN

2.1. SƠ ĐỒ KHỐI VÀ VI ĐIỀU KHIỂN : - Temperature control design project
2.1. SƠ ĐỒ KHỐI VÀ VI ĐIỀU KHIỂN : (Trang 7)
Sơ đồ khối bộ điều khiển : - Temperature control design project
Sơ đồ kh ối bộ điều khiển : (Trang 15)

TỪ KHÓA LIÊN QUAN