Tải bản đầy đủ (.pdf) (68 trang)

Đồ án tốt nghiệp điều khiển nhiệt độ trong lò ấp trứng ứng dụng logic mờ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.46 MB, 68 trang )

Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
1


TRƯỜNG ĐẠI HỌC NHA TRANG
KHOA CÔNG NGHỆ THÔNG TIN



ĐỒ ÁN TỐT NGHIỆP


Đề tài:

Điều khiển nhiệt độ trong lò ấp trứng
ứng dụng logic mờ.




GVHD : Bùi Đức Dương.
SVTH : Bùi Quang Vinh.
MSSV : 46133133.
Lớp : 46
th
2.








Nha Trang, tháng 8 năm 2008.
Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
2


Lời nói đầu:

Ngày nay cùng với sự phát triển không ngừng của khoa học công nghệ, công
nghệ thông tin (CNTT) cũng đã có những bước tiến nhanh đến kinh ngạc và ngày
càng trở nên phổ biến rộng rãi trong cuộc sống thường ngày. Một trong số những
lĩnh vực quan trọng mà CNTT đóng vai trò then chốt đó là lĩnh vực điều khiển mờ.
Trong khoảng 20 năm nay, lý thuyết tập mờ đã ra đời và phát triển rất nhanh
chóng và đã đặt nền tảng cho một logic toán học mới: logic mờ (fuzzy logic). Logic
mờ tỏ ra rất phù hợp với những bài toán nảy sinh từ các hệ thống phức tạp trong
thực tế đặc biệt là những suy luận giống như cách mà con người vẫn thường sử
dụng.
Đồ án này đã vận dụng logic mờ trong điều khiển nhiệt độ của lò ấp trứng gà.
Dựa vào những tri thức cung cấp bởi những tài liệu chuyên ngành chăn nuôi và kinh
nghiệm thực tế của những hộ chăn nuôi gà_tri thức chuyên gia_em đã xây dựng nên
tập luật sử dụng trong hệ thống. Với sự trợ giúp của phần cứng_phần điện tử_em đã
mô phỏng một cách cụ thể nguyên lý cũng như hoạt động thực tế của một bộ điều
khiển mờ.
Cuối cùng em xin chân thành cảm ơn thầy Bùi Đức Dương đã giúp đỡ em thực
hiện đề tài này!
Do nhiều hạn chế, nhất là về thời gian và kinh phí nên đồ án còn nhiều khiếm
khuyết. Rất mong được sự góp ý của thầy cô để em có thể hoàn thiện hơn nữa đề
tài này.


Sinh viên thực hiện:
Bùi Quang Vinh





Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
3


Mục lục:

Lời nói đầu 2
Mục lục 3
Phần 1 : Tổng quan về logic mờ và điều khiển mờ… ……………… 4
I.1 Tổng quan về logic mờ… ……………………………… 4
I.1.1 Tập mờ……… … ……………………………… 4

I.1.2 Logic mờ 4
I.2 Tổng quan về điều khiển mờ 5
I.2.1 Quá trình điều khiển với yếu tố mờ, không chắc chắn 5
I.2.2 Phương pháp điều khiển mờ………………………………… .5
Phần 2 : Tổng quan về vi điều khiển AVR ATmega32 6
II.1 Sơ đồ nguyên lý kiến trúc AVR………………………………… 6
II.2 Cấu trúc chân của ATmega32 7
Phần 3 : Xây dựng hệ thống điều khiển nhiệt trong lò ấp trứng gà…… 7
III.1 Xây dựng nguyên lý xử lý bài toán……………………………… 7
III.1.1 Mờ hóa………………………………………………… 8
III.1.2 Lập luận mờ…………………………………………… 9

III.1.3 Giải mờ………………………………………………… 10
III.2 Thiết kế phần cứng 10
III.2.2 Sơ đồ nguyên lý………………………………………… 10
III.2.2.1 Module ATmega32 10
III.2.2.2 Module RS232………………………………… 11
III.2.3 Sơ đồ chi tiết……………………………… …………… 11
III.2.3.1 Module ATmega32…………………… ……… 11
III.2.3.2 Module RS232…………………………… …… 12
III.2.3 3 Giới thiệu linh kiện…………………………… … 13
III.3 Xây dựng phần mềm:
III.1 Giới thiệu một số đoạn mã quan trọng trong chương trình… 13
IV/ Giới thiệu thiết bị và chương trình………………………………… 14
IV.1 Giới thiêu thiết bị………………………………………… 14
IV.2 Giới thiệu chương trình…………………………………… 15
IV.3 Kết luận……………………………………… 16
Tài liệu than khảo……………………………………………………… 17






Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
4

CHƯƠNG 1













TỔNG QUAN VỀ LOGIC MỜ
VÀ ĐIỀU KHIỂN MỜ.
















Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
5
1.1 Tổng quan về logic mờ :
1.1.1 Tập mờ :

Logic mờ được xây dựng dựa vào cơ sở giá trị gần đúng, giá trị này nằm trong
khoảng giữa chân trị False và True. Lý tuyết này được giáo sư Lotfi Zadef giới
thiệu vào những năm 1960, nội dung của nó tương tự cách nói không chắc chắn
trong ngôn ngữ thường ngày.
- Theo ông, lý thuyết mờ không chỉ là một lý thuyết riêng lẻ mà chúng ta có
thể dùng khái niệm fuzzy cho mọi lý thuyết khác từ các thuyết về khái niệm rời rạc
đến liên tục.
- Khái niệm logic mờ gắn bó chặc chẽ với khái niệm tập mờ.
 Tập rõ (crisp set) : một tập hợp A là tập rõ, một phần tử x có thể có x € A
hoặc x € A. Để mô tả khái niệm thuộc về, ta có tể sử dụng hàm µ. Nếu x € A thì
µ
A
(x)=1, nếu x € A thì µ
A
(x)=0.
Ví dụ: A = tập hợp sinh viên của trường Đại Học Nha Trang.
 Tập mờ (fuzzy set): khác với tập rõ, khái niệm thuộc về được mở rộng để
phản ánh mức độ x là phần tử của A. Đặc trưng cho tập mờ, người ta dùng hàm
thành viên_membership function_ µ
A
.
Ví dụ: A = tập hợp sinh viên giỏi tin của trường Đại Học Nha Trang.
-Một tập con U của tập S có thể được định nghĩa như một ánh xạ từ những
phần tử của S vào tập {0,1}.
Phép ánh xạ này có thể được xem như một tập hợp mà các phần tử của nó là
các cặp có thứ tự, mỗi cặp có thứ tự này tương ứng với mỗi một phần tử của tập S.
Phần tử đầu tiên (x) của cặp này chính là một phần tử của S, phần tử thứ hai chính là
một phần tử của tập {0,1}.
+) Giá trị 0 thể hiện ý nghĩa x không thuộc U.
+) Giá trị 1 thể hiện ý nghĩa x thuộc U.

-Tương tự như trên, một tập F là tập con của S được định nghĩa bằng phép ánh
xạ các phần tử của S vào tập {0,1} và hình thành các cặp số có thứ tự. Phần tử đầu
tiên của cặp số (x) là một phần tử trong S, phần tử thứ hai của cặp số (y) nằm trong
khoảng [0,1] thể hiện mức độ x € F.
Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
6
- Để tính toán phần tử thứ hai (y) của cặp số_thể hiện mức độ x € F_người ta
dùng hàm thành viên y= µ
F
(x) . Hàm này cho giá trị càng gần 1 khi mức độ x thuộc
F càng cao và ngược lại
-Tập S được gọi là tập vũ trụ của tập con F.
Ví dụ: Cho tập vũ trụ U{ tập những người tham gia khảo sát}. Hãy tìm tập
TALL là tập những người cao.
Hàm thành viên:
µ
TALL
(x) { 0 ; height(x) < 5ft
1 ; height(x) >7ft
(height(x)-5)/2 ; 5ft <= height() <=7ft
}
Ta được kết quả như sau:

Người Cao µ
TALL
(x)

Billy 3' 2" 0.00
Yoke 5' 5" 0.21
Drew 5' 9" 0.38

Erik 5' 10" 0.42
Mark 6' 1" 0.54
Kareem 7' 2" 1.00
Từ bảng trên ta có mức độ phần tử Erik thuộc vào tập TALL là 0.42.
Định nghĩa tập mờ (L.Zadeh _1965): A là tập mờ trên tập vũ trụ U được xác
định bởi hàm:
µ
A
: U  [0,1].
µ
A
là hàm thuộc hay hàm thành viên (membership function).
µ
A
(x) là mức độ thuộc của phần tử x vào tập mờ A.
1.1.2. Logic mờ :
Logic mờ là kết quả suy rộng của logic toán học cổ điển, khái niệm logic mờ
gắn bó chặt chẽ với khái niệm tập mờ đã nói ở trên.
Khái niệm fuzzy logic được hiểu thông qua định nghĩa về fuzzy set và các
phép toán cơ bản của nó.
Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
7
1.1.2.a. Các phép toán cơ bản của logic mờ :
Cho 3 tập mờ X,Y,Z với các hàm thành viên tương ứng µ
X
(a), µ
Y
(a), µ
Z
(a)

 Phép phủ định:
Z=not(X) : µ
Z
(a)=1- µ
X
(a).
 Phép giao (hội):
Z= X ∩ Y : µ
Z
(a)= Min (µ
X
(a), µ
Y
(a)).
 Phép hợp (tuyển):
Z=X U Y : µ
Z
(a)=Max (µ
X
(a), µ
Y
(a)).
Ta hoàn toàn có thể nhận thấy: nếu đặt các giá trị 0 và 1 vào các biểu thức trên
ta sẽ nhận được các giá trị giống như khi ta dùng luật logic thông thường, điều này
chứng tỏ logic mờ không mâu thuẩn với logic truyền thống mà đó là sự mở rộng các
tập luật khô cứng thành các luật mới uyển chuyển hơn.
Vi dụ: -Cho tập mờ TALL (ví dụ trên).
-Cho tập mờ OLD(già) với hàm thành viên như sau:
old (x) = { 0 ; age(x) < 18 yr.
(age(x)-18 yr.)/42 yr ; 18 yr. <= age(x) <= 60 yr.

1 ; if age(x) > 60 yr.
}
-Tập luật:
a = X is TALL and X is OLD.
b = X is TALL or X is OLD.
c = not (X is TALL).
Bảng kết quả:
height age X is TALL X is OLD a b c

3' 2" 65 0.00 1.00 0.00 1.00 1.00
5' 5" 30 0.21 0.29 0.21 0.29 0.79
5' 9" 27 0.38 0.21 0.21 0.38 0.62
5' 10" 32 0.42 0.33 0.33 0.42 0.58
6' 1" 31 0.54 0.31 0.31 0.54 0.46
7' 2" 45 1.00 0.64 0.64 1.00 0.00
3' 4" 4 0.00 0.00 0.00 0.00 1.00

Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
8
1.1.2.b. Biến ngôn ngữ (linguistics variable) :
Logic mờ liên quan đến lập luận trên các thuật ngữ mờ và mơ hồ trong ngôn
ngữ tự nhiên của con người.
Biến nhận các từ trong ngôn ngữ tự nhiên làm giá trị gọi là biến ngôn ngữ.
Biến ngôn ngữ được xác định bởi bộ bốn (x, T, U, M):
 x là tên biến.
 T là tập các từ (các giá trị ngôn ngữ) mà x có thể nhận.
 U là miền giá trị mà x có thể nhận.
 M là luật ngữ nghĩa, ứng với mỗi từ t€T với một tập mờ A.
Ví dụ: M=Phụ nữ tuổi trung niên thì sức khỏe yếu.
x= biến ngôn ngữ ”tuổi, sức khỏe”.

T= tập các từ “trung niên, yếu”.
U=miền giá trị của “tuổi” là [0 150 năm].
1.2. Tổng quan về điều khiển mờ :
Những khái niệm trừu tượng của logic mờ đã được cụ thể hóa và ứng dụng
thông qua những sản phẩm thông dụng trong cuộc sống thường ngày như: nồi cơm
điện, máy giặt, lò vi sóng, tủ lạnh Sự phát triển nhanh chóng của ngành điều
khiển mờ ( fuzzy control) là do những yếu tố sau:
- Trên cơ sở suy luận mờ, nguyên lý điều khiển mờ đã cho phép con người tự
động hóa kinh nghiệm điều khiển của mình cho một quá trình, một thiết bị , tạo
được sự yên tâm cho họ như họ được chính tay điều khiển.
- Bộ điều khiển có cấu trúc đơn giản hơn rất nhiều so với những bộ điều khiển
kinh điển khác có cùng chức năng.
- Những cải tiến nhanh chóng của kỹ thuật vi xử lý đã làm một cầu nối không
thể thiếu giữa kết quả nghiên cứu lý thuyết và thực tế ứng dụng.
1.2.1 Nguyên lý làm việc :
Bộ điều khiển mờ là một bộ điều khiển làm việc theo nguyên tắc tự động hóa
những kinh nghiệm điều khiển của con người. Những kinh nghiệm này phải được
đúc kết lại thành luật hợp thành gồm nhiều mệnh đề hợp thành với cấu trúc chung:
if A=A
i
then B=B
j

A, B là biến ngôn ngữ.
A
i
, B
j
là giá trị.
Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.

9
- Mệnh đề hợp thành là nguyên tắc điều khiển được xây dựng từ những kinh
nghiệm (hoặc ý kiến chuyên gia) trong thực tế. Luật hợp thành là tập hợp các mệnh
đề hợp thành đó.
- Mô hình tổng quát của hệ thống điều khiển mờ:








- Các nhóm bộ điều khiển :
+) Bộ điều khiển SISO: một đầu vào và một đầu ra.
+) Bộ điều khiển SIMO: một đầu vào và nhiều đầu ra.
+) Bộ điều khiển MISO: nhiều đầu vào và một đầu ra.
+) Bộ điều khiển MIMO: nhiều đầu vào và một đầu ra.
- Cấu trúc của một bộ điều khiển mờ: gồm có 3 khâu chính
+) Khâu mờ hóa: có nhiệm vụ chuyển đổi một giá trị rõ ở đầu vào u
0
thành
vector u
i
cho mệnh đề hợp thành thứ i.
+) Khâu lập luận mờ: xử lý các vector u
i
và cho ra giá trị mờ R với hàm thuộc
µ
R

(y) của biến ngôn ngữ đầu ra.
+) Khâu giải mờ: chuyển đổi tập mờ µ
R
(y) thành giá trị rõ y
0
đầu ra cho đối
tượng.
Mô hình cấu trúc bộ điều khiển mờ:







Đối tượng điều khiển
(Object)
Bộ điều khiển
(Controller)

Cảm biến

(Sensor)
Mờ hóa
Lập luận mờ.
Giải mờ.
Vào u
0

Ra y

0
Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
10
1.2.2 Quá trình điều khiển với yếu tố mờ, không chắc chắn :
Các phương pháp điều khiển truyền thống đòi hỏi người ta phải biết rõ bản
chất của đối tượng cần điều khiển. Tuy nhiên trong thực tế, ngoài các đối tượng cần
điều khiển ra còn có rất nhiều đối tượng gây nhiễu khác do đó người thiết kế rất khó
xác định các đặc trưng.
Vì đối tượng điều khiển là một hệ phức tạp và không thể biểu thị bằng các mô
hình toán nên người “chuyên gia” điều hành hệ thống chỉ có thể quan sát thông tin
vào để phán đoán hành vi của hệ thống. Nhận thức này được thâu tóm trong một tập
các mệnh đề if…then (hay các luật) với các biến vào và ra.
Nói chung các phương pháp điều khiển mờ đều gắn chặc với lập luận mờ và
gồm các đặc điểm sau:
 Chỉ dựa vào thông tin vào ra quan sát được trên đối tượng cần điều khiển.
 Mô hình định tính dựa trên ngôn ngữ.
 Giảm độ phức tạp tính toán nhờ mô hình định tính.
 Miền ứng dụng rộng lớn đa dạng.
1.2.3 Các phương pháp điều khiển mờ thông dụng :
a) Phương pháp xây dựng bộ điều khiển mờ dựa trên luật :
Ý tưởng của phương pháp này được đề xuất vào năm 1975 chủ yếu dựa vào
việc xây dựng một cách thức lập luận mờ và lượng hóa các khái niệm mờ phù hợp.
Đặc trưng của phương pháp này là tập hợp các luật (tri thức) được xây dựng
dựa vào tri thức của các chuyên gia, tức là tập luật là sự mô phỏng các tình huống
đáp ứng của các chuyên gia trong quá trình thao tác điều khiển.
Phương pháp này có ưu điểm này là đơn giản, nhưng cũng có các nhược điểm
như độ thích nghi kém, khó phát biểu tri thức chuyên gia dưới dạng luật.
b) Phương pháp xây dựng bộ điều khiển mờ dựa trên mô hình :
Nội dung của phương pháp này như sau:
- Xây dựng mô hình quan hệ mờ dựa trên quan sát input/output.

- Xây dựng thuật toán cho phép bộ điều khiển lựa chọn thao tác điều hành tốt
nhất.
- Có thể sử dụng mô hình tự học hay các mô hình lai giữa mô hình mờ và mô
hình toán học.
Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
11
- Ưu điểm: rất trực quan và dễ quan sát, giúp người thiết kế hệ thống dễ dàng
nắm bắt các cấu trúc và thành phần cua bộ điều khiển.
c) Phương pháp xây dựng bộ điều khiển thông minh dựa trên tri thức và logic
mờ:
Trong thực tế điều khiển người ta thường gặp những môi trường không thể thu
được các dữ liệu chính xác, không mô tả được cụ thể trạng thái trong những
trường hợp như vậy cần phải xây dựng các bộ điều khiển thông minh.
Đặc điểm của phương pháp như sau :
- Có khả năng sử dụng nhiều giải thuật điều khiển khác nhau, đánh giá được
chiến lược điều khiển nào thích ứng nhất. Việc đánh giá này dựa vào kỹ thuật tập
mờ và logic mờ.
- Có khả năng đánh giá và duy trì trạng thái gần tối ưu và đảm bảo độ tin cậy,
ngay cả khi một vài yếu tố của thiết bị điều khiển bị hỏng nó cũng có thể cấu hình
lại giải thuật đó hay chuyển sang một giải thuật khác thích ứng hơn.
- Có một cơ sở tri thức và kinh nghiệm đối với quá trình điều khiển cùng với
những kiến thức dạng luật mà các giải thuật sẽ sử dụng trong quá trình điều khiển .

















Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
12




CHƯƠNG 2













TỔNG QUAN VỀ VI ĐIỀU KHIỂN
AVR ATEMEGA.













iu khin nhit lũ p trng ng dng logic m. SVTH: Bựi Quang Vinh.
13
Vi iu khin AVR thuc h vi iu khin Atmel, nú l h vi iu khin mi
trờn th trng cng nh i vi ngi s dng Ngoi cỏc tớnh nng nh cỏc h
VK khỏc, nú cũn tớch hp nhiu tớnh nng mi rt tin li cho ngi thit k v
lp trỡnh. S ra i ca AVR bt ngun t yờu cu thc t l hu ht khi cn lp
trỡnh cho vi iu khin, chỳng ta thng dựng nhng ngụn ng bc cao HLL (Hight
Level Language) lp trỡnh ngay c vi loi chip x lớ 8 bit trong ú ngụn ng C
l ngụn ng ph bin nht.
2.1 Phõn loi AVR v cỏc c im chớnh:
- Phõn loi AVR:
+) AT90S8535: Khụng cú lnh nhõn hoc chia trờn thanh ghi.
+) ATMEGA 8, 16, 32 (AVR loi 8 bit, 16 bit, 32 bit): L loi AVR tc
cao, tớch hp sn ADC 10 bit.
+) AVR tớch hp sn LCD driver : Atmega169, 329.
+) AVR cú tớch hp SC (Stage Controller): AT90PWM thng dựng trong cỏc
ng dng iu khin ng c hay chiu sỏng nờn cũn gi l lighting AVR.
+) Attiny11, 12, 15: AVR loi nh.

- c im chớnh:
+) Kin trỳc RISC(Có nghĩa là máy tính dùng tập lệnh rút gọn, bộ vi xử lý kiểu
này thực hiện ít lệnh hơn những bộ vi xử lý khác) vi hu ht cỏc lnh cú chiu di
c nh, truy nhp b nh np lu tr v 32 thanh ghi a nng.
+) Cú nhiu b phn ngoi vi ngay trờn chip, bao gm: Cng vo/ra s, b
bin i ADC, b nh EEFROM, b nh thi, b iu ch rng xung (PWM),
+) Hu ht cỏc lnh u thc hin trong mt chu k xung nhp.
+) Hot ng vi chu k xung nhp cao, cú th lờn n 20 MHz tu thuc tng
loi chip c th.
+) B nh chng trỡnh và b nh d liu c tớch hp ngay trờn chip.
+) Kh nng lp trỡnh c trong h thng, cú th lp trỡnh c ngay khi ang
c cp ngun trờn bn mch khụng cn phi nhc chip ra khi bn mch.
+) H tr cho vic lp trỡnh bng ngụn ng bc cao ngụn ng C.
- Ct lừi ca AVR l s kt hp tp lnh y vi cỏc thanh ghi a nng 32
bit. Tt c cỏc thanh ghi 32 bit ny liờn kt trc tip vi khi x lý s hc v logic
(ALU) cho phộp 2 thanh ghi c lp c truy cp trong mt lnh n trong 1 chu
Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
14
kỳ đồng hồ. Kết quả là tốc độ nhanh gấp 10 lần các bộ vi điều khiển CISC(Complex
Instruction Set Computer : máy tính với tập lệnh phức tạp). Một loại kiến trúc của
bộ xử lí được đặc trưng bởi tính chất là các lệnh có độ dài khác nhau (không cố
định) , thường là một số nhỏ các chế độ đa địa chỉ và thanh ghi) .
- Với các tính năng đã nêu, chế độ nghỉ (Idle) CPU trong khi cho phép bộ
truyền tin nối tiếp đồng bộ USART, giao tiếp 2 dây, chuyển đổi A/D, SRAM, bộ
đếm, bộ định thời, cổng SPI và hệ thống các ngắt vẫn hoạt động. Chế độ Power-
down lưu giữ nội dung của các thanh ghi nhưng làm đông lạnh bộ tạo dao động,
thoát khỏi các chức năng của chip cho đến khi có ngắt ngoài hoặc là reset phần
cứng. Chế độ Power-save đồng hồ đồng bộ tiếp tục chạy cho phép chương trình sử
dụng giữ được đồng bộ thời gian nhưng các thiết bị còn lại là ngủ.
- Để tối đa hoá hiệu năng tính năng và song song, AVR sử dụng kiến trúc với

bộ nhớ riêng biệt và các BUS cho chương trình và dữ liệu. Các câu lệnh trong bộ
nhớ chương trình được hoạt với một đường ống lệnh mức đơn. Trong khi một lênh
đang thực hiện, lệnh tiếp theo sẽ được nạp trước vào từ bộ nhớ chương trình. Điều
này làm cho các lệnh được thực hiện trong mọi chu kỳ đồng hồ. Bộ nhớ chương
trình là bộ nhớ In-System Reprogrammable Flash.
- Flash memory : Bé nhí flash, lµ mét lo¹i bé nhí sử dụng các chíp NAND
(tích hợp nhiều transitor lên một tấm bán dẫn), các chíp này có kích thước nhỏ, tốc
độ đọc/ghi cao, dung lượng lớn
- AVR cung cấp 1 vài nguồn ngắt khác nhau. Các ngắt này và vector reset
riêng biệt có vector chương trình riêng biệt nằm trong không gian nhớ chương trình.
Tất cả các ngắt được chỉ định bởi các bit cho phép riêng biệt mà các bit này phải
được ghi mức logic 1 cùng với bit cho phép ngắt toàn cục trong thanh ghi trạng thái
để cho phép ngắt. Phụ thuộc vào giá trị PC, các ngắt này phải được tự động loại bỏ
khi các bit Boot Lock - BLB02 or BLB12 - được lập trình. Yếu tố này cải thiện độ
an toàn phần mềm.




iu khin nhit lũ p trng ng dng logic m. SVTH: Bựi Quang Vinh.
15
2.2 S nguyờn lý kin trỳc AVR :
- S cu trỳc AVR :




















Cỏc thnh phn c bn:
- ALU : n v x lý s hc v logic. Cỏc toỏn t ca ALU c chia lm 3
loi chớnh: S hc, logic, v x lý bit. Mt s phộp x lý ca kin trỳc ny cng
cung cp b nhõn s cú du v khụng cú du v dng phõn s.
- Data SRAM : B nh d liu.
- EEPROM : Là loại ROM có thể xoá đợc bng in sau ú ghi li m
khụng cn ly ra.
- DATA BUS 8Bit : Đờng truyền dữ liệu 8Bit.
- I/O Lines : Đờng vào ra tín hiệu.
- 32 x 8 Gneral Purpose Registers : 32 thanh ghi đa năng 8 Bit.
- Status and control : Khối nhận biết trạng thái và điều khiển.
iu khin nhit lũ p trng ng dng logic m. SVTH: Bựi Quang Vinh.
16
- Program counter : Bộ đếm chơng trình.
- Flash program memory : Bộ nhớ flash, tc c/ghi cao, dung lng ln.
- Intruction register/ decoder : thanh ghi lệnh
- IntErrupt unit: Bộ xử lý ngắt.
- SPIunit: (Serial Peripheral Interface) mch ghộp ni ngoi vi ni tip, l

mch liên kt d liu ni tip ng b cho phộp b iu khin truyn thụng vi cỏc
thit b ngoi vi.
- Watchdog timer : l mt b m cú chc nng reset li vi iu khin khi
xy ra s kin trn (overflow).
- Analog comparator: bộ so sánh tớn hiu tơng tự I/O module1 -> I/O module
n cỏc module vo ra tớn hiu .
- Status register: Thanh ghi trng thỏi cha thụng tin v kt qu thc hin ca
hu ht cỏc lnh s hc. Cỏc thụng tin ny cú th c s dng iu khin
chng trỡnh. Chỳ ý rng cỏc thanh ghi trng thỏi c cp nht sau tt c cỏc hot
ng ca ALU. Trong nhiu trng hp, iu ny s b i nhng cn thit khi s
dng cõu lnh so sỏnh chuyờn dng, kt qu nhanh hn v on chng trỡnh ngn
gn hn.
- I/O module1 -> I/O module n: Module vào ra tín hiệu.
- Direct / Indirect addressing: Đờng địa chỉ truyền trực tiếp / giỏn tip.
- Stack Pointer : Stack thng c s dng cha d liu tm thi, cho vic
lu tr cỏc bin a phng v cho vic lu tr a ch tr v sau khi gi cỏc thng
trỡnh v cỏc ngt. Thanh ghi con tr thng tr ti nh ca stack. Chỳ ý rng stack
c thc hin khi tng thờm t a ch cao n a ch thp, iu ny núi lờn rng
khi thc hin lnh PUSH thỡ con tr s t ng gim. Con tr tr n vựng ngn xp
d liu SRAM .
- Khụng gian ngn xp trong SRAM phi c nh ngha bng chng trỡnh
trc khi bt c thng trỡnh hoc ngt c thc hin. Con tr ngn xp phi
c set tr ti a ch trờn $0100. Con tr ngn xp c gim i 1 khi d liu
c ct vo ngn xp v c gim i 2 khi ct a ch tr v ca thng trỡnh
hoc ngt. SP c tng lờn khi d liu c ly ra.


iu khin nhit lũ p trng ng dng logic m. SVTH: Bựi Quang Vinh.
17
2.3 Cu trỳc AVR ATmega16L :

Vi x lý c chn s dng trong ỏn ny l AVR Atemega16L . Vi nhng
tớnh nng rt tin dng cho lp trỡnh v iu khin, AVR Atemega16L ó c rt
nhiu k thut viờn tin hc, chuyờn viờn c-in t, s dng. Sau õy l vi chi
tit quan trng ca nú.
2.3.1 Cu trỳc chõn AVR Atemega16L :














- Điện áp hoạt động : từ 2.7 đến 5.5VDC
- VCC : Cấp nguồn dng.
- GND : Nối đất .
- AVCC : Là chân cấp điện cho cổng A(Port A ) và bộ biến đổi A/D.
- AREF : Là chân tín hiệu tham chiếu Analog ( tơng tự ) nối vào bộ biến đổi
A/D.
- PORT B : Từ PB7 đến PB0 là cổng I/O 8-bit hai chiều với các điện trở Pull-up
bên trong.
- PORT C : Port C t PC0 n PC7 là cổng I/O 7-bit hai chiều với các điện trở
Pull-up bên trong (dợc lựa chọn cho mỗi bit) .
- PORT D : Port D t PD0 n PD7 là cổng I/O 8-bit hai chiềuvới các điện trở

Pull-Up bên trong (đợc lựa chọn cho mỗi bit.
iu khin nhit lũ p trng ng dng logic m. SVTH: Bựi Quang Vinh.
18
- PORT A : Đầu ra của bộ biến đổi A/D.
- XTAL1 & XTAL2 : Chân vào ra của thạch anh tạo dao động.
2.3.2 Mt s c im k thut quan trng ca AVR Atemega16L:
- Hiu nng cao, tiờu th nng lng ớt.
- Kin trỳc RISC - Reduce Instruction Set Computer (Có nghĩa là máy tính
dùng tập lệnh rút gọn, bộ vi xử lý kiểu này thực hiện ít lệnh hơn những bộ vi xử lý
khác).
- 131 cõu lnh, hu ht cỏc lnh thc hin trong mt chu k.
- 32 thanh ghi 8-bit a nng.
- Tc c thc hin lờn ti 16 triu lnh trong 1 giõy vi tn s 16MHz.
- Cú 2 b nhõn, mi b thc hin trong thi gian 2 chu k.
- Cỏc b nh chng trỡnh v d liu c nh.
- 16 Kb b nh Flash cú kh nng t lp trỡnh trong h thng.
- Cú th thc hin c 10.000 ln ghi/xoỏ.
- Vựng mó Boot tu chn vi nhng bit khoỏ c lp.
- Lp trỡnh trờn trong h thng bi chng trỡnh on-chip Boot.
- Thao tỏc c trong khi ghi thc s.
- 512 bytes EEFROM.cú th thc hin 100.000 ln ghi /xoỏ.
- Lp trỡnh Khoỏ an ninh phn mm: giao diện nối tiếp đồng bộ ( chuẩn IEEE
std.1149.1).Khi thực hiện trao đổi dữ liệu với các thiết bị tơng thích thì khung dữ
liệu 8Bit giữa 2 thiết bị đợc truyền đồng bộ (cùng xung nhịp đồng hồ).
- Lập trình bộ nhớ Flash, EEPROM, ngắt, khoá Bit thông qua giao diện JTAG.
- 4 kờnh PWM, 8 kờnh ADC 10 bit.
- Giao in ni tip 2 dõy hng ti byte.
- B truyn tin ni tip USART kh trỡnh.
- Power-on Reset v dũ Brown-out kh trỡnh.
- B to dao ng c nh c bờn trong.

- Cỏc ngun ngt bờn trong v bờn ngoi.
- 32 ng I/O kh trỡnh.
- Ch nng lng thp: <1 A khi in ỏp 2.7V
Atmega16L AVR c h tr bi b chng trỡnh y v cỏc tool(tiện ích)
phỏt trin h thng, bỏo gm: b biờn dch C, macro assemblers, program
iu khin nhit lũ p trng ng dng logic m. SVTH: Bựi Quang Vinh.
19
debugger/simulators(chơng trình mô phỏng), in-circuit emulators (mạch mô
phỏng) v evaluation kits(kit phát triển).
- Memories b nh của ATMEGA16L :
+) Kin trỳc AVR cú 2 khụng gian b nh chớnh bao gm b nh chng trỡnh
v b nh d liu. Thờm vo ú, Atmega16L cú mt b nh EEPROM lu tr
d liu. Tt c 3 khụng gian ny l tuyn tớnh v nh thng l.
+) Atmega16L cha 16K bytes b nh Flash cú th lp trỡnh li c nm
trong chip cha chng trỡnh. T khi tt c cỏc lnh ca AVR l 16 hoc 32 bit
thỡ Flash c t chc thnh 8Kx16. Vỡ lý do an ton phn mm nờn b nh chng
trỡnh Flash c chia thnh 2 vựng: Vựng np chng trỡnh boot(chơng trình khởi
động) v vựng chng trỡnh ng dng.
+) B nh Flash cú th thc hin ghi/xoỏ ớt nht 10.000 ln. B m chng
trỡnh (PC) l 12 bit , nú cú th a ch hoỏ c 4K b nh chng trỡnh.
Bn b nh chng trỡnh nh hỡnh vẽ:




















Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
20


CHƯƠNG 3













XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN
NHIỆT ĐỘ

TRONG LÒ ẤP TRỨNG GÀ













Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
21
3.1 Xây dựng nguyên lý xử lý bài toán :
Vấn đề đặt ra trong đồ án này như sau: không phụ thuộc vào nhiệt độ môi
trường trong thời điểm hiện tại cũng như sự biến đổi nhiệt độ của các đối tượng
khác trong lò ấp, ta phải điều chỉnh cường độ quạt và cường độ sáng của đèn sao
cho nhiệt độ trong lò ấp luôn trong ổn định trong khoảng 35-36
0
C.
Mô hình xử lý của bài toán :











Dựa vào kinh nghiệm thực tế, ta có thể điều chỉnh nhiệt độ trong lò ấp bằng
cách điều khiển hai đối tượng quạt và đèn tương ứng hai vấn đề cần giải quyết song
song là làm mát và làm ấm như sau:
- Vấn đề làm mát:
+) Nếu nhiệt độ là thấp thì không quạt.
+) Nếu nhiệt độ là vừa thì không quạt.
+) Nếu nhiệt độ là hơi nóng thì quạt ít.
+) Nếu nhiệt độ là nóng thì quạt vừa.
+) Nếu nhiệt độ là rất nóng thì quạt lâu.
- Vấn đề làm ấm:
+) Nếu nhiệt độ là cao thì không sáng.
+) Nếu nhiệt độ là vừa thì không sáng.
+) Nếu nhiệt độ là hơi lạnh thì sáng ít.
+) Nếu nhiệt độ là lạnh thì sáng vừa.
+) Nếu nhiệt độ là rất lạnh thì sáng mạnh.
Đối tượng điều khiển
(Object)
Desktop
Bộ điều khiển
(Controller)

Cảm biến
(Sensor)

Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
22

Như vậy, bộ điều khiển làm việc theo nguyên tắc tự động hóa những kinh
nghiệm điều khiển của con người. Bộ điều khiển dùng trong đồ án này gồm hai bộ
điều khiển theo kiểu SISO (Single Input, Single Output) dùng để điều khiển hai đối
tượng là quạt và đèn. Nói cách khác ta sẽ tổ chức hai bộ điều khiển ảo SISO trên
cùng một tài nguyên vật lý để điều khiển hai đối tượng trên theo kinh nghiệm của
những chuyên gia trong lĩnh vực này.
Sau đây chúng ta sẽ lần lượt đi vào từng khâu xử lý.
3.1.1 Mờ hóa :
Nhiệm vụ của khâu này là chuyển đổi giá trị rõ input thành vectơ µ
i
.

Ta sẽ lần
lượt tiến hành mờ hóa cho từng đối tượng quạt và đèn tương ứng hai vấn đề đặt ra
ban đầu là làm mát và làm ấm. Khâu này được xem là khó nhất trong tất cả các
khâu của quá trình xử lý.
 Đối tượng quạt:
- Xác định các biến ngôn ngữ:
+)Với biến ngôn ngữ nhiệt độ ta có các tập mờ thấp, vừa , hơi nóng, nóng, rất
nóng. Tương ứng một giá trị input (t) với lần lượt các tập mờ trên ta có các hàm
sau: µ
thấp
(t), µ
vừa
(t), µ
hoinong
(t), µ
nóng
(t), µ
rấtnóng

(t).
+)Với biến ngôn ngữ kết luận xác định cường độ quạt ta có các tập mờ: không quạt,
quạt tnhẹ, quạt vừa, quạt mạnh. Tương ứng một giá trị output (v) với lần lượt các
tập mờ trên ta có các hàm sau:µ
k.quạt
(v), µ
q.ít
(v), µ
q.vừa
(v), µ
q.lâu
(v).
Dựa vào kinh nghiệm của những người chăn nuôi gà lâu năm, các số liệu cụ
thể đã được thu nhận để sử dụng trong việc xây dựng các hàm thành viên.
- Ta xây dựng các hàm thành viên cho các tập mờ mát, vừa , hơi nóng, nóng,
rất nóng (đơn vị tính bằng
0
C):

µ
thấp
(t) { 0 ; t >=35 µ
vừa
(t) { 0; t=0
1; t<=17,5 0; t>=40
(35-t)/17.5; 17,5<t<35 1; 35<= t <=36
t/35; 0< t <35 40-t/4; 36< t < 40
} }



Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
23

µ
hoinong
(t){0; t<=17,5 µ
nong
(t){ 0; t<=35
0; t>=45 0; t>=47
1; 37<=t<=40 1; 41<= t <=44
(t-17,5)/19,5 ; 17,5< t <37 (t-35)/6; 35< t <41
(45-t)/5 ; 40< t <45 (47-t)/3; 44< t <47
} }

µ
rấtnóng
(t) { 0;t<=36
1;t>=45
(t-36)/9; 36< t <45
}

Đây là đồ thị hóa các hàm thành viên mát, vừa , hơi nóng, nóng, rất nóng ở
trên:

µ(t)


1
mat vua hoinong nong ratnong







0

17,5 35 36 37 40 41 44 45 47
t(
0
C)


- Ta xây dựng các hàm thành viên cho các tập mờ không quạt, quạt nhẹ, quạt
vừa, quạt mạnh.
µ
k.quat
(v){1; v=0 µ
q.nhẹ
(v) {0; v< = 20 µ
q.vua
(v){ 0; v<=50

0; v≠0 0; v>=200 0; v=255

} 1; 90<= t<=149 1; 150<=v<=199
(v-20)/70; 20< v <90 (v-50)/100; 50<v<150
(200-v)/51;149<v<200 (255-v)/56; 199<v<255
} }




Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
24
µ
q.mạnh
(v){ 0; v<=100
1; 200<=v<=255
(v-100)/100; 100<v<200
}
Đây là đồ thị hóa hàm thành viên không quạt, quạt nhẹ, quạt vừa, quạt mạnh:

µ(v)


1
quạt nhẹ quạt vừa quạt mạnh


khôngquạt



0

20 50 90 100 149 150 199 200 255
v(dv)

 Đối tượng đèn:
- Xác định các biến ngôn ngữ:

+)Với biến ngôn ngữ nhiệt độ ta có các tập mờ cao, vừa, hơi lạnh, lạnh,
rất lạnh. Tương ứng một giá trị input(tc) với lần lượt các tập mờ trên ta có các hàm
sau: µ
cao
(tc), µ
vừa
(tc), µ
hơilạnh
(tc), µ
lạnh
(tc), µ
rấtlạnh
(tc).
+)Với biến ngôn ngữ kết luận xác định cường độ sáng ta có các tập mờ: không
sáng, sáng ít, sáng vừa, sáng mạnh. Tương ứng một giá trị output(a) với lần lượt
các tập mờ trên ta có các hàm sau:µ
k.sáng
(a), µ
s.ít
(a), µ
s.vừa
(a), µ
s.mạnh
(a).
- Ta xây dựng các hàm thành viên cho các tập mờ cao, vừa, hơi lạnh, lạnh, rất
lạnh (đơn vị tính bằng
0
C):

µ

cao
(tc) { 0 ; tc <=24 µ
vừa
(tc) {0; tc<=17
1; tc>=37 0; tc>=40
(tc-24)/13; 16<tc<25 1; 35<= tc <=36
(tc-17)/18; 17< tc <35 ( 40-tc)/4; 36< tc < 40
} }




Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
25


µ
hơilạnh
(tc){0; tc<=16 µ
lạnh
(tc){ 0; tc<=10
0; tc>=37 0; tc>=34
1; 25<=tc<=34 1; 17<= tc <=24
(tc-16)/9 ; 16< tc <25 (tc-10)/7; 10< tc <17
(37-tc)/3 ; 34< tc <37 (34-tc)/10; 24< tc <34
} }

µ
rấtlạnh
(tc) { 0; tc>=36

1; tc<=16
(25-tc)/9; 16< tc <25
}

Đây là đồ thị hóa các hàm thành viên cao, vừa, hơi lạnh, lạnh, rất lạnh:

µ(tc)


1
rất lạnh lanh hơilạnh vừa cao





0

10 16

17 24 25 34 35 36 37 40
tc(
0
C)


- Ta xây dựng các hàm thành viên cho các tập mờ không sáng, sáng nhẹ, sáng
vừa, sáng mạnh.
µ
k.sáng

(a){ 1; a=0 µ
s.nhẹ
(a) {0; a< = 0 µ
s.vừa
(a){ 0; a<=50

0; a≠0 0; a>=200 0; a=255

} } 1; 90<= t<=149 1; 150<=a<=199
(a-20)/70; 0< a <5 (a-50)/100; 50<a<150
(200-a)/51;35<a<30 (255-a)/56; 199<a<255
} }


×