SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
Điều khiển nhiệt độ trong lò ấp trứng ứng dụng logic mờ, Bùi Quang Vinh.pdf
1. Đ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 : 46th
2.
Nha Trang, tháng 8 năm 2008.
2. Đ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
3. Đ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
4. Đ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Ờ.
5. Đ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.
6. Đ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ó.
7. Đ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
8. Đ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=Ai then B=Bj
A, B là biến ngôn ngữ.
Ai , Bj là giá trị.
9. Đ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 u0 thành
vector ui cho mệnh đề hợp thành thứ i.
+) Khâu lập luận mờ: xử lý các vector ui 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õ y0 đầ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 u0 Ra y0
10. Đ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.
11. Đ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 .
12. Đ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.
13. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
13
Vi điều khiển AVR thuộc họ vi điều khiển Atmel, nó là họ vi điều khiển mới
trên thị trường cũng như đối với người sử dụng.. Ngoài các tính năng như các họ
VĐK khác, nó còn tích hợp nhiều tính năng mới rất tiện lợi cho người thiết kế và
lập trình. Sự ra đời của AVR bắt nguồn từ yêu cầu thực tế là hầu hết khi cần lập
trình cho vi điều khiển, chúng ta thường dùng những ngôn ngữ bậc cao HLL (Hight
Level Language) để lập trình ngay cả với loại chip xử lí 8 bit trong đó ngôn ngữ C
là ngôn ngữ phổ biến nhất.
2.1 Phân loại AVR và các đặc điểm chính:
- Phân loại AVR:
+) AT90S8535: Không có lệnh nhân hoặc chia trên thanh ghi.
+) ATMEGA 8, 16, 32 (AVR loại 8 bit, 16 bit, 32 bit): Là loại AVR tốc độ
cao, tích hợp sẵn ADC 10 bit.
+) AVR tích hợp sẵn LCD driver : Atmega169, 329.
+) AVR có tích hợp SC (Stage Controller): AT90PWM thường dùng trong các
ứng dụng điều khiển động cơ hay chiếu sáng nên còn gọi là lighting AVR.
+) Attiny11, 12, 15: AVR loại nhỏ.
- Đặc điểm chính:
+) Kiến 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) với hầu hết các lệnh có chiều dài
cố định, truy nhập bộ nhớ nạp – lưu trữ và 32 thanh ghi đa năng.
+) Có nhiều bộ phận ngoại vi ngay trên chip, bao gồm: Cổng vào/ra số, bộ
biến đổi ADC, bộ nhớ EEFROM, bộ định thời, bộ điều chế độ rộng xung (PWM),..
+) Hầu hết các lệnh đều thực hiện trong một chu kỳ xung nhịp.
+) Hoạt động với chu kỳ xung nhịp cao, có thể lên đến 20 MHz tuỳ thuộc từng
loại chip cụ thể.
+) Bộ nhớ chương trình vµ bộ nhớ dữ liệu được tích hợp ngay trên chip.
+) Khả năng lập trình được trong hệ thống, có thể lập trình được ngay khi đang
được cấp nguồn trên bản mạch không cần phải nhấc chip ra khỏi bản mạch.
+) Hỗ trợ cho việc lập trình bằng ngôn ngữ bậc cao – ngôn ngữ C.
- Cốt lõi của AVR là sự kết hợp tập lệnh đầy đủ với các thanh ghi đa năng 32
bit. Tất cả các thanh ghi 32 bit này liên kết trực tiếp với khối xử lý số học và logic
(ALU) cho phép 2 thanh ghi độc lập được truy cập trong một lệnh đơn trong 1 chu
14. Đ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.
15. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
15
2.2 Sơ đồ nguyên lý kiến trúc AVR :
- Sơ đồ cấu trúc AVR :
Các thành phần cơ bản:
- ALU : Đơn vị xử lý số học và logic. Các toán tử của ALU được chia làm 3
loại chính: Số học, logic, và xử lý bit. Một số phép xử lý của kiến trúc này cũng
cung cấp bộ nhân số có dấu và không có dấu và dạng phân số.
- Data SRAM : Bộ nhớ dữ liệu.
- EEPROM : Lµ lo¹i ROM cã thÓ xo¸ ®îc bằng điện sau đó ghi lại mà
không cần lấy 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.
16. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
16
- Program counter : Bé ®Õm ch¬ng tr×nh.
- Flash program memory : Bé nhí flash, tốc độ đọc/ghi cao, dung lượng lớn.
- Intruction register/ decoder : thanh ghi lÖnh
- IntErrupt unit: Bé xö lý ng¾t.
- SPIunit: (Serial Peripheral Interface) mạch ghép nối ngoại vi nối tiếp, là
mạch liªn kết dữ liệu nối tiếp đồng bộ cho phép bộ điều khiển truyền thông với các
thiết bị ngoại vi.
- Watchdog timer : là một bộ đếm có chức năng reset lại vi điều khiển khi
xảy ra sự kiện tràn (overflow).
- Analog comparator: bé so s¸nh tín hiệu t¬ng tù I/O module1 -> I/O module
n các module vào ra tín hiệu .
- Status register: Thanh ghi trạng thái chứa thông tin về kết quả thưc hiện của
hầu hết các lệnh số học. Các thông tin này có thể được sử dụng để điều khiển
chương trình. Chú ý rằng các thanh ghi trạng thái được cập nhật sau tất cả các hoạt
động của ALU. Trong nhiều trường hợp, điều này sẽ bỏ đi những cần thiết khi sử
dụng câu lệnh so sánh chuyên dụng, kết quả nhanh hơn và đoạn chương trình ngắn
gọn hơn.
- 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 tiếp.
- Stack Pointer : Stack thường được sử dụng để chứa dữ liệu tạm thời, cho việc
lưu trữ các biến địa phương và cho việc lưu trữ địa chỉ trở về sau khi gọi các thường
trình và các ngắt. Thanh ghi con trỏ thường trỏ tới đỉnh của stack. Chú ý rằng stack
được thực hiện khi tăng thêm từ địa chỉ cao đến địa chỉ thấp, điều này nói lên rằng
khi thực hiện lệnh PUSH thì con trỏ sẽ tự động giảm. Con trỏ trỏ đến vùng ngăn xếp
dữ liệu SRAM .
- Không gian ngăn xếp trong SRAM phải được định nghĩa bằng chương trình
trước khi bất cứ thường trình hoặc ngắt được thực hiện. Con trỏ ngăn xếp phải
được set để trỏ tới địa chỉ trên $0100. Con trỏ ngăn xếp được giảm đi 1 khi dữ liệu
được cất vào ngăn xếp và được giảm đi 2 khi cất địa chỉ trở về của thường trình
hoặc ngắt. SP được tăng lên khi dữ liệu được lấy ra.
19. Điều khiển nhiệt độ lò ấp trứng ứng dụng 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 :
+) Kiến trúc AVR có 2 không gian bộ nhớ chính bao gồm bộ nhớ chương trình
và bộ nhớ dữ liệu. Thêm vào đó, Atmega16L có một bộ nhớ EEPROM để lưu trữ
dữ liệu. Tất cả 3 không gian này là tuyến tính và như thường lệ.
+) Atmega16L chứa 16K bytes bộ nhớ Flash có thể lập trình lại được nằm
trong chip để chứa chương trình. Từ khi tất cả các lệnh của AVR là 16 hoặc 32 bit
thì Flash được tổ chức thành 8Kx16. Vì lý do an toàn phần mềm nên bộ nhớ chương
trình Flash được chia thành 2 vùng: Vùng nạp chương trình boot(ch¬ng tr×nh khëi
®éng) và vùng chương trình ứng dụng.
+) Bộ nhớ Flash có thể thực hiện ghi/xoá ít nhất 10.000 lần. Bộ đếm chương
trình (PC) là 12 bit , nó có thể địa chỉ hoá được 4K bộ nhớ chương trình.
Bản đồ bộ nhớ chương trình như hình vÏ:
20. Đ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À
21. Đ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-360
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)
22. Đ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
} }
23. Đ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
} }
24. Đ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
} }
25. Đ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
} }
26. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
26
µs.mạnh(a){ 0; a<=100
1; 200<=a<=255
(a-100)/100; 100<a<200
}
Đây là đồ thị hóa hàm thành viên không sáng, sáng nhẹ, sáng vừa, sáng
mạnh:
µ(a)
1 sáng nhẹ sáng vừa sáng mạnh
khôngsáng
0 20 50 90 100 149 150 199 200 255 a(dv)
Đến đây chúng ta đã hoàn thành khâu đầu tiên_mờ hóa và cũng là khâu khó
nhất trong quá trình xử lý của bộ điều khiển. Sau đây chúng ta tiếp tục đến với hai
khâu còn lại là lập luận mờ và giải mờ
3.1.2 Lập luận mờ :
Nhiệm vụ của khâu này là xử lý các vector ui và cho ra giá trị mờ R với hàm
thuộc µR(y) của biến ngôn ngữ đầu ra, vì thế chúng ta phải xây dựng tập luật dựa
vào quy tắc điều khiển ở trên tức luật hợp thành và thuật toán xác định giá trị mờ
của luật hợp thành.
Xây dựng tập luật cho vấn đề làm mát :
R1: If t is thấp then v is k.quat.
R2: If t is vừa then v is k.quat.
R3: If t is hơi_nóng then v is q.nhẹ.
R4: If t is nóng then v is q.vừa.
R5: If t is rất_nóng then v is q.mạnh.
- Khi có một giá trị đầu vào (t), ta sẽ tính được trọng số của các luật chính là
kết quả thu nhận được từ các hàm thành viên :
W1= µthấp(t).
W2= µvừa(t).
27. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
27
W3= µhoinong(t).
W4= µnóng(t).
W5= µrấtnóng(t).
Theo lý thuyết hàm thành viên của kết luận cho bởi công thức :
µC(z) = Wi µ Ki(Z) ; i = 1 …N.
Ta có:
µc(v)=W1*k.quat(v)+W2*k.quat(v)+W3*q.it(v)+W4*q.vua(v)+W5*q.mạnh(v).
Xây dựng tập luật cho vấn đề làm ấm :
R1: If tc is cao then v is k.sáng.
R2: If tc is vừa then v is k.sáng.
R3: If tc is hơi_lạnh then v is s.nhẹ.
R4: If tc is lạnh then v is s.vừa.
R5: If tc is rất_lạnh then v is s.mạnh.
- Khi có một giá trị đầu vào (tc), ta sẽ tính được trọng số của các luật chính là
kết quả thu nhận được từ các hàm thành viên :
W1’= µthấp(tc).
W2’= µvừa(tc).
W3’= µhoinong(tc).
W4’= µnóng(tc).
W5’= µrấtnóng(tc).
Theo lý thuyết hàm thành viên của kết luận cho bởi công thức:
µC(z) = Wi µ K1i(Z) ; i = 1 …N.
Ta có:
µc(a)=W1’*k.sáng(a)+W2*k.sáng(a)+W3’*s.nhẹ(a)+W4’*s.vừa(a)+W5’*s.mạnh(
a).
Đến đây chúng ta đã hoàn thành khâu thứ hai của quá trình xử lý_lập luận mờ,
việc xây dựng các tập luật và thuật toán xác định giá trị mờ của luật hợp thành đã
hoàn tất. Tiếp đến ta đến với khâu cuối cùng: giải mờ.
28. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
28
3.1.3 Giải mờ :
Nhiệm vụ của khâu này là chuyển đổi tập mờ µR(y) thành giá trị rõ y0 đầu ra
cho các đối tượng. Phương pháp khử mờ được chọn lựa là phương pháp lấy điểm
trọng tâm.
- Ta có công thức tính giá trị rõ x0 của tập mờ A, tập vũ trụ U như sau:
x µA (x)dx x µUi (x)dx
x0 = =
µA (x) dx µUi (x) dx
- Tập mờ dạng hình thang :
µ(m)
H
m1 m2 m
a b
- Sau khi tính các tích phân ta được kết quả :
Jm= xµA (x)dx = (H/6) * (3*m2
2
– 3*m1
2
+ b2
– a2
+3*m2*b+3*m1*a ).
Im= µA (x)dx = (H/2) * (2*m2 - 2*m1 + a + b ).
Áp dụng cho đối tượng quạt ta có:
5
∑ Jm
i=1
5
∑ Im
i=1
v0 =
U
U
U
U
U
U
U
U
i=1
n
i=1
n
29. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
29
Áp dụng cho từng luật trong vấn đề làm mát với:
Im= (H/2) * (2*m2 - 2*m1 + a + b )
Jm= (H/6) * (3*m2
2
– 3*m1
2
+ b2
– a2
+3*m2*b+3*m1*a )
Kết quả rõ ở đầu ra sẽ là: v0 = Jm/Im (đv).
Áp dụng cho đối tượng đèn ta có:
5
∑ Jm’
i=1
5
∑ Im’
i=1
Áp dụng cho từng luật trong vấn đề làm mát với:
Im’= (H’/2) * (2*m’2 - 2*m’1 + a’ + b’ )
Jm’= (H’/6) * (3*m’2
2
– 3*m1
2
+ b’2
– a’2
+3*m’2*b’+3*m’1*a’ )
Kết quả rõ ở đầu ra sẽ là: a0 = Jm’/Im’ (đv).
Trên đã trình bày xong các khâu xử lý bái toán về mặt nguyên lý của bộ điều
khiển. Đến đây xem như đề tài đã hoàn thành cơ bản về mặt lý thuyết, các yếu tố
liên quan đến nội dung các vấn đề cần giải quyết như tri thức chuyên gia, luật hợp
thành, giải thuật cho xử lý của bộ điều khiển... đã được xử lý và trình bày. Tiếp theo
chúng ta sẽ đến với nội dung rất quan trọng của đồ án là phần thiết kế và cài đặt
trên thực tế.
a0 =
30. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
30
CHƯƠNG 4
THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG
ĐIỀU KHIỂN NHIỆT
TRONG LÒ ẤP TRỨNG GÀ .
31. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
31
4.1 Thiết kế phần cứng :
Khái quát những tính năng của phần cứng:
- Hệ thống điều khiển trong đồ án thực hiện nội dung chủ yếu là điều khiển
nhiệt độ tự động theo tư duy của logic mờ, tức phần cứng được dùng là một bộ điều
khiển mờ thực sự với đầy đủ các thuộc tính, quá trình và đặc điểm của nó.
- Bên cạnh đó hệ thống còn cho phép người sử dụng có thể trực tiếp điều khiển
bằng tay các đối tượng quạt và đèn thông qua một giao diện trên máy tính với các
nút bấm tương tự như việc điều khiển một chiếc máy quạt hay một chiếc đèn bàn
mà chúng ta đã rất quen thộc trogn cuộc sống thường ngày .
- Trong tất cả các quá trình điều khiển, các thông số cụ thể về cường độ, nhiệt
độ, trạng thái hoạt động... luôn được hiển thị trên LCD gắn trực tiếp trên mạch điện
đề người dùng có thể theo dõi sát tiến trình làm việc của thiết bị giúp họ an tâm hơn
khi sử dụng.
- Đối với những người quan tâm đến các chỉ số mờ, họ có thể quan sát chúng
một cách dễ dàng thông qua một bảng thông số mờ được thiết kế trên máy tính.
Với những tính năng nói trên, yêu cầu quan trọng nhất của phần cứng là khả
năng kết nối và trao đổi dữ liệu với máy tính. Ngoài ra phần cứng còn phải điều
chỉnh được tốc độ động cơ quạt và cường độ sáng của đèn.
- Để thực hiện được điều này, tôi đã thiết kế hai module trên phần cứng:
+) Module ATmega: là module chính thực hiện các thao tác xử lý và điều
khiển đối tượng.
+) Module RS232: là module thực hiện việc giao tiếp, trao đổi dữ liệu giữa
Module ATmega và máy tính.
Sau đây là phần thiết kế về phần cứng nhằm đáp ứng các khả năngtrên cho hệ
thống điều khiển.
4.1.1 Sơ đồ nguyên lý :
4.1.1.1 Module ATmega :
Như đã nói ở trên module này thực hiện các thao tác xử lý và điều khiển đối
tượng, sau đây là chi tiết hoạt động và sơ đồ thiết kế của nó.
- Sơ đồ nguyên lý của Module ATmega:
32. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
32
- Cảm biến nhiệt LM335 nhận nhiệt độ từ môi trường ngoài và liên tục cập
nhật thông số này cho ATmega16L theo một chu kỳ được đặt sẵn. Đây là loại cảm
biến nhiệt tương đối chậm, do đó việc cảm ứng với nhiệt độ môi trường là chưa cao,
tuy nhiên trong giới hạn của đề tài này chúng ta chưa quan tâm lắm đến chất lượng
của cảm biến nhiệt.
- Chip ATmega nhận tín hiệu từ cảm biến nhiệt, tại đây bộ chuyển đổi
A/D(Analog-Digital) tích hợp sẵn trong Chip sẽ tiến hành chuyển đổi tín hiệu tương
tự thành tín hiệu số. Sau khi thực hiện việc chuyển đổi Chip ATmega16L sẽ tiếp
tục xử lý, một đường tín hiệu được đưa hiển thị trên LCD, một đường khác được
đưa đến module RS232.
- Module RS232 sẽ “chuyên chở ” dữ liệu qua lại giữa máy tính với module
ATmega. Thông số nhiệt độ sẽ được lên máy tính và các thông số kết quả xử lý từ
máy tính cũng sẽ được trả về module ATmega.
- Tất cả các việc trao đổi này được thực hiện thông qua các Port giao tiếp có
sẵn trên ATmega16L. Phần này sẽ được nói rõ hơn trong phần sau của bài báo cáo
này.
4.1.1.2 Module RS232 :
- Module RS232 làm nhiệm vụ truyền thông giữa máy tính và Chip AVR qua
cổng COM của máy tính.
- Sơ đồ nguyên lý của module RS232 :
Module RS232 Chip ATmega16L
Cảm biến nhiệt
(LM335)
LCD
33. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
33
COM PORT
- IC được dùng trong module RS232 là Max 232, đây là IC được thiết kế
chuyên dùng cho việc truyền thông giữa máy tính và các thiết bị ngoại vi. Kỹ thuật
này được gọi là kỹ thuật truyền thông nối tiếp.
- Nhiệt độ và các thông số khác sẽ được đưa lên máy tính thông qua sự điều
khiển của Max232. Giao diện kết nối giữa chúng là cổng COM.
- Giao tiếp giữa module RS232 và module ATmega được thực hiện thông qua
một PORT đã có sẵn trên ATmega16L.
- Mối liên hệ giữa các thành phần trong sơ đồ trên là mối liện hệ hai chiều.
Tức là giữa chúng luôn có sự trao đổi thông tin qua lại lẫn nhau.
4.1.2 Sơ đồ chi tiết :
4.1.2.1 Module ATmega32 :
- Các Port được lấy ra lần lượt đưa vào các khe cắm từ J1 đến J4.
- Khe J được vẽ trích ra từ các chân 7, 8, 9, 10 và các chân nguồn của Chip
nhằm làm rõ đây là nơi giao tiếp với máy tính qua cổng LPT để nạp chương trình
cho Chip.
- Các chân nối với J4 là nơi giao tiếp với LCD.
+) Sơ lược t¸c dông c¸c linh kiÖn :
+) LM335 c¶m biÕn nhiÖt ®é tõ m«i trêng bªn ngoµi ®Ó lÊy tÝn hiÖu nhiÖt ®é
®a vµo vi xö lý.
+) LCD gi¶i m· vµ hiÓn thÞ nhiÖt ®é và các thông khác.
+) ATmega16L ®iÒu khiÓn hoạt động của thiÕt bÞ theo sự biến thiên nhiÖt ®é
môi trường.
+) Th¹ch anh t¹o dao ®éng cho ATMEGA16L.
+) Led ®á cảnh báo khi nhiÖt ®é tăng quá cao.
+) Led xanh cảnh báo khi gi¶m nhiÖt ®é giảm xuống quá thấp.
- Hình ảnh phần chính của sơ đồ chi tiết module ATmega:
Max 232
Desktop Module Atmega16L
34. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
34
35. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
35
4.1.2.2 Module RS232 :
- Sơ đồ chi tiết:
39. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
39
4.2 Thiết kế phần mềm:
4.2.1 Giải thuật:
Như đã trình bày ở phần đầu tiên của bài báo cáo, giải thuật chủ yếu của
chương trình dựa vào các khâu xử lý của bộ điều khiển mờ. Các bước quan trọng
nhất của giải thuật đã được nói rất rõ ở phần III. Sau đây tôi xin tóm tắt và hệ thống
lại các bước theo hình thức mã giả.
Giải thuật thực hiện việc làm mát:
- Input: Nhiệt độ
- Output: Cường độ quạt.
- Method:
t0=0;//khởi tạo nhiệt độ;
v=0; //khởi tạo cường độ quạt
While (ket_thuc=false) do
{ t0 = nhiệt độ nhận từ thiết bị ( ) ;
m1=m2=a=b=0; //khởi tạo các tham số dùng cho việc giải mờ.
//tính hàm thành viên
qi[0] = thap(t0);
qi[1] = vua(t0);
qi[2] = hoi_nong(t0);
qi[3] = nong[t0];
qi[4] = rat_nong[t0];
khoi_tao(Im, Jm);
//tính giá trị hàm thành viên của kết luận và giải mờ
k_quat(qi[0], var m1, var m2, var a, var b); //luật 1
Im= Im+qi[0]*tinh_I(qi[0], m1,m2, a, b);
Jm=Jm+qi[0]*tinh_J(qi[0], m1,m2, a, b);
k_quat(qi[1], var m1, var m2, var a, var b); //luật 2
Im= Im+qi[1]*tinh_I(qi[1], m1,m2, a, b);
Jm=Jm+qi[1]*tinh_J(qi[1], m1,m2, a, b);
q_nhe(qi[2], var m1, var m2, var a, var b); //luật 3
40. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
40
Im= Im+qi[2]*tinh_I(qi[2], m1,m2, a, b);
Jm=Jm+qi[2]*tinh_J(qi[2], m1,m2, a, b);
q_vua(qi[3], var m1, var m2, var a, var b); //luật 4
Im= Im+qi[3]*tinh_I(qi[3], m1,m2, a, b);
Jm=Jm+qi[3]*tinh_J(qi[3], m1,m2, a, b);
q_manh(qi[4], var m1, var m2, var a, var b); //luật 5
Im= Im+qi[5]*tinh_I(qi[5], m1,m2, a, b);
Jm=Jm+qi[5]*tinh_J(qi[5], m1,m2, a, b);
if (Im=0) then v0=0
else v0=Jm/Im;
Chuyển v0 đến quạt ( );
If (ngừng sử dụng = true) then ket_thuc= true
else ket_thuc=false;
}
Giải thuật thực hiện việc làm ấm:
- Input: Nhiệt độ
- Output: Cường độ sáng.
- Method:
tc0=0;//khởi tạo nhiệt độ;
z=0; //khởi tạo cường độ sáng.
While (ket_thuc=false) do
{ tc0 = nhiệt độ nhận từ thiết bị ( ) ;
m’1=m’2=a’=b’=0; //khởi tạo các tham số dùng cho việc giải mờ.
//tính hàm thành viên
qj[0] = cao(tc0);
qj[1] = vua(tc0);
qj[2] = hoi_lanh(tc0);
qj[3] = lanh[tc0];
qj[4] = rat_lanh[tc0];
khoi_tao(Imc, Jmc);
//tính giá trị hàm thành viên của kết luận và giải mờ
41. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
41
k_sang(qj[0], var m’1, var m’2, var a’, var b’); //luật 1
Imc= Imc+qj[0]*tinh_Ic(qj[0], m’1, m’2, a’, b’);
Jmc=Jmc+qj[0]*tinh_Jc(qj[0], m’1,m’2, a’, b’);
k_sang(qj[1], var m’1, var m’2, var a’, var b’); //luật 2
Imc= Imc+qj[1]*tinh_Ic(qj[1], m’1, m’2, a’, b’);
Jmc=Jmc+qj[1]*tinh_Jc(qj[1], m’1,m’2, a’, b’);
sang_nhe(qj[2], var m’1, var m’2, var a’, var b’); //luật 3
Imc= Imc+qj[2]*tinh_Ic(qj[0], m’1, m’2, a’, b’);
Jmc=Jmc+qj[2]*tinh_Jc(qj[0], m’1,m’2, a’, b’);
sang_vua(qj[3], var m’1, var m’2, var a’, var b’); //luật 4
Imc= Imc+qj[3]*tinh_Ic(qj[3], m’1, m’2, a’, b’);
Jmc=Jmc+qj[3]*tinh_Jc(qj[3], m’1,m’2, a’, b’);
sang_manh(qj[4], var m’1, var m’2, var a’, var b’); //luật 5
Imc= Imc+qj[4]*tinh_Ic(qj[4], m’1, m’2, a’, b’);
Jmc=Jmc+qj[4]*tinh_Jc(qj[4], m’1,m’2, a’, b’);
if Imc=0 then a0=0
else a0=Jm/Im;
Chuyển a0 đến đèn ( );
If (ngừng sử dụng = true) then ket_thuc= true
else ket_thuc=false;
}
- Trên là giải thuật của việc làm mát và làm ấm. Sau đây là phần cài đặt hệ
thống trên thực tế.
4.2.2 Cài đặt chương trình:
Chương trình được cài đặt bằng ngôn ngữ Visual Basic 8.0 trong bộ Visual
Studio 2005. Với sự hỗ trợ khá mạnh của VB8.0 về phần lập trình hệ thống và phần
lập trình hướng đối tượng nên đây là một sự lựa chọn rất thích hợp cho đề tài.
Sau đây tôi xin giới thiệu một số đoạn code quan trọng trong chương trình:
- Các module tính toán giá trị cho hàm thành viên cho việc làm mát:
Hàm tính giá trị cho hàm thành viên nhiệt độ thấp:
42. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
42
Public Function thap(ByVal t As Single) As Single
If (t >= 35) Then thap = 0 Else
If (t <= 17.5) Then thap = 1 Else
If (t > 17.5) And (t < 35) Then thap = (35 - t) / 17.5
End Function
Hàm tính giá trị cho hàm thành viên nhiệt độ vừa:
Public Function vua(ByVal t As Single) As Single
If (t = 0) Or (t >= 40) Then vua = 0 Else
If (t >= 35) And (t <= 36) Then vua = 1 Else
If (t > 0) And (t < 35) Then vua = t / 35 Else
If (t > 36) And (t < 40) Then vua = (40 - t) / 4
End Function
Hàm tính giá trị cho hàm thành viên nhiệt độ hơi nóng:
Public Function hoinong(ByVal t As Single) As Single
If (t <= 17.5) Or (t >= 45) Then hoinong = 0 Else
If (t >= 37) And (t <= 40) Then hoinong = 1 Else
If (t > 17.5) And (t < 37) Then hoinong = (t - 17.5) / 19.5 Else
If (t > 40) And (t < 45) Then hoinong = (45 - t) / 5
End Function
Hàm tính giá trị cho hàm thành viên nhiệt độ nóng:
Public Function nong(ByVal t As Single) As Single
If (t <= 35) Or (t >= 47) Then nong = 0 Else
If (t >= 41) And (t <= 44) Then nong = 1 Else
If (t > 35) And (t < 41) Then nong = (t - 35) / 6 Else
If (t > 44) And (t < 47) Then nong = (47 - t) / 3
End Function
Hàm tính giá trị cho hàm thành viên nhiệt độ rất nóng:
Public Function ratnong(ByVal t As Single) As Single
If (t <= 36) Then ratnong = 0 Else
If (t >= 45) Then ratnong = 1 Else
If (t > 36) And (t < 45) Then ratnong = (t - 36) / 9
End Function
43. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
43
- Các module tính toán giá trị của kết luận xác định cường độ quạt:
Hàm xác định giá trị kết luận không quạt:
Public Sub khong_quat(ByVal qi As Single, ByRef m1 As Single, ByRef m2
As Single, ByRef a As Single, ByRef b As Single)
qi = qi
a = 0
b = 0
m1 = 0
m2 = 0
End Sub
Hàm xác định giá trị kết luận quạt nhẹ:
Public Sub quat_nhe(ByVal qi As Single, ByRef m1 As Single,ByRef m2
As Single, ByRef a As Single, ByRef b As Single)
a = qi * 70
b = qi * 51
m1 = 20 + a
m2 = 200 - b
End Sub
Hàm xác định giá trị kết luận quạt vừa:
Public Sub quat_vua(ByVal qi As Single, ByRef m1 As Single, ByRef m2
As Single, ByRef a As Single,ByRef b As Single)
a = qi * 100
b = qi * 56
m1 = 50 + a
m2 = 255 - b
End Sub
Hàm xác định giá trị kết luận quạt mạnh:
Public Sub quat_manh(ByVal qi As Single, ByRef m1 As Single, ByRef m2
As Single, ByRef a As Single,ByRef b As Single)
a = qi * 100
b = 0
m1 = 100 + a
44. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
44
m2 = 255
End Sub
Module tính Im và Jm:
Public Function tinh_I(ByVal H As Single, ByVal m1 As Single, ByVal m2
As Single, ByVal a As Single, ByVal b As Single) As Single
tinh_I = H * (2 * m2 - 2 * m1 + a + b) / 2
End Function
Public Function tinh_J(ByVal H As Single, ByVal m1 As Single, ByVal
m2 As Single, ByVal a As Single, ByVal b As Single) As Single
tinh_J = H * (3 * m2 * m2 - 3 * m1 * m1 + 3 * m1 * a + 3 * m2 * b + b * b - a * a) / 6
End Function
Module tính ra cường độ quạt :
Public Sub tinh_v0()
Dim m1 As Single
Dim m2 As Single
Dim a As Single
Dim b As Single
Dim Jm As Single
Dim Im As Single
qi(0) = thap(t0)
qi(1) = vua(t0)
qi(2) = hoinong(t0)
qi(3) = nong(t0)
qi(4) = ratnong(t0)
Im = 0
Jm = 0
If t0 <= 36 Then
v0 = 0
ElseIf t0 >= 47 Then
v0 = 255
Call khong_quat(qi(0), m1, m2, a, b) 'nhiet do thap
Im = Im + qi(0) * tinh_I(qi(0), m1, m2, a, b)
45. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
45
Jm = Jm + qi(0) * tinh_J(qi(0), m1, m2, a, b)
Call khong_quat(qi(1), m1, m2, a, b) 'nhiet do vua
Im = Im + qi(1) * tinh_I(qi(1), m1, m2, a, b)
Jm = Jm + qi(1) * tinh_J(qi(1), m1, m2, a, b)
Call quat_nhe(qi(2), m1, m2, a, b) 'nhiet do hoi nong
Im = Im + qi(2) * tinh_I(qi(2), m1, m2, a, b)
Jm = Jm + qi(2) * tinh_J(qi(2), m1, m2, a, b)
Call quat_vua(qi(3), m1, m2, a, b) 'nhiet do nong
Im = Im + qi(3) * tinh_I(qi(3), m1, m2, a, b)
Jm = Jm + qi(3) * tinh_J(qi(3), m1, m2, a, b)
Call quat_manh(qi(4), m1, m2, a, b) 'nhiet do rat nong
Im = Im + qi(4) * tinh_I(qi(4), m1, m2, a, b)
Jm = Jm + qi(4) * tinh_J(qi(4), m1, m2, a, b)
Else
Im = 0
Jm = 0
Call khong_quat(qi(0), m1, m2, a, b) 'nhiet do thap
Im = Im + qi(0) * tinh_I(qi(0), m1, m2, a, b)
Jm = Jm + qi(0) * tinh_J(qi(0), m1, m2, a, b)
Call khong_quat(qi(1), m1, m2, a, b) 'nhiet do vua
Im = Im + qi(1) * tinh_I(qi(1), m1, m2, a, b)
Jm = Jm + qi(1) * tinh_J(qi(1), m1, m2, a, b)
Call quat_nhe(qi(2), m1, m2, a, b) 'nhiet do hoi nong
Im = Im + qi(2) * tinh_I(qi(2), m1, m2, a, b)
Jm = Jm + qi(2) * tinh_J(qi(2), m1, m2, a, b)
46. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
46
Call quat_vua(qi(3), m1, m2, a, b) 'nhiet do nong
Im = Im + qi(3) * tinh_I(qi(3), m1, m2, a, b)
Jm = Jm + qi(3) * tinh_J(qi(3), m1, m2, a, b)
Call quat_manh(qi(4), m1, m2, a, b) 'nhiet do rat nong
Im = Im + qi(4) * tinh_I(qi(4), m1, m2, a, b)
Jm = Jm + qi(4) * tinh_J(qi(4), m1, m2, a, b)
If Im = 0 Then
v0 = 0
Else : v0 = Jm / Im
End If
End If
Labelim.Text = Im
Labeljm.Text = Jm
End Sub
Module tính ra cường độ sáng của đèn:
Private Sub tinh_a0()
Dim mc1 As Single
Dim mc2 As Single
Dim ac As Single
Dim bc As Single
Dim Jmc As Single
Dim Imc As Single
qj(0) = cao(tc0)
qj(1) = vuatc(tc0)
qj(2) = hoi_lanh(tc0)
qj(3) = lanh(tc0)
qj(4) = rat_lanh(tc0)
Imc = 0
Jmc = 0
If tc0 >= 35 Then
48. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
48
Call sang_it(qj(2), mc1, mc2, ac, bc) 'nhiet do hoi lanh
Imc = Imc + qj(2) * tinh_Ic(qj(2), mc1, mc2, ac, bc)
Jmc = Jmc + qj(2) * tinh_Jc(qj(2), mc1, mc2, ac, bc)
Call khong_sang(qj(1), mc1, mc2, ac, bc) 'nhiet do vua
Imc = Imc + qj(1) * tinh_Ic(qj(1), mc1, mc2, ac, bc)
Jmc = Jmc + qj(1) * tinh_Jc(qj(1), mc1, mc2, ac, bc)
Call khong_sang(qj(0), mc1, mc2, ac, bc) 'nhiet do cao
Imc = Imc + qj(0) * tinh_Ic(qj(0), mc1, mc2, ac, bc)
Jmc = Jmc + qj(0) * tinh_Jc(qj(0), mc1, mc2, ac, bc)
ti = Imc
tj = Jmc
If Imc = 0 Then
a0 = 0
Else : a0 = Jmc / Imc
End If
End If
Labelic.Text = Imc
Labeljc.Text = Jmc
End Sub
Module điều khiển hoạt động của chế độ hoạt động tự động:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Timer1.Tick
On Error GoTo loi
st = vcom.ReadExisting()
If (st.Length() >= 3) Then
st = st.Remove(2, (st.Length() - 2))
Label1.Text = st
49. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
49
Else
Label1.Text = st
End If
'----------------------
If Label1.Text = "" Then
'MsgBox("khong co du lieu")
Else
nhiet = CSng(Label1.Text)
End If
t0 = nhiet
tc0 = nhiet
Call tinh_v0()
Call tinh_a0()
Label7.Text = CInt(v0)
Label8.Text = CInt(a0)
Label18.Text = CInt((a0 / 255) * 100)
Label20.Text = CInt((v0 / 255) * 100)
bar.Value = CInt(nhiet)
If (nhiet > 35.5) Then
Timer3.Enabled = False
Timer4.Enabled = True 'lam mat
Else
Timer4.Enabled = False
Timer3.Enabled = True 'lam am
End If
If nhiet <= 17 Then
Label4.Visible = True
Timer5.Enabled = True
Else
Label4.Visible = False
50. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
50
Timer5.Enabled = False
End If
If nhiet >= 48 Then
Label3.Visible = True
Timer2.Enabled = True
Else
Label3.Visible = False
Timer2.Enabled = False
End If
If (18 <= nhiet) And (nhiet <= 47) Then
Label35.Visible = True
Else
Label35.Visible = False
End If
loi:
End Sub
Module điều khiển chế độ hoạt động bằng tay của điều khiển đèn:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Timer1.Tick
Dim tam As Single
On Error GoTo loi
st = vcom3.ReadExisting()
If (st.Length() >= 3) Then
st = st.Remove(2, (st.Length() - 2))
Label1.Text = st
Else
Label1.Text = st
End If
If Label1.Text = "" Then
51. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
51
Else
tam = CInt(Label1.Text)
End If
bar.Value = tam
loi:
End Sub
Trên đây là một số đoạn code quan trọng trong chương trình phục vụ cho
việc điều khiển đối tượng quạt, việc điều khiển đối tượng đèn là hoàn toàn tương tự.
Để tinh giảm bớt độ dài của bài báo cáo, tôi không nêu thêm các đoạn code thuộc
vấn đề kết nối với thiết bị, giải quyết tương tranh... . Tuy nhiên việc kết nối và giải
quyết cũng chỉ đơn thuần mang tính công nghệ mà thôi.
4.3 Giới thiệu CODEVISION AVR:
CODEVISION AVR là phần mềm được thiết kế bởi hãng Pavel Haiduc
chuyên dùng để lập trình cho các loại Chip AVR. Ngoài CODEVISION AVR cũng
có một số phần mềm khác có tính năng tương tự nhưng đây CODEVISION vẫn là
sự lựa chọn phổ biến nhất bởi tính đơn giản, hiệu quả và dễ sử dụng.
- CODEVISION AVR cung cấp cho người dùng một Wizard để lựa chọn các
thông số kỹ thuật phù hợp với loại Chip mà minh đang sử dụng.
- Điểm quan trọng nhất của phần mềm này là nó cho phép người sử dụng có
thể dùng ngôn ngữ C để lập trình cho Chip thay thế cho các lập trình bằng hợp ngữ
trước đây.
- Mặc dù Chip AVR có hỗ trợ lập trình bằng ngôn ngữ C nhưng để nạp được
chương trình cho nó vẫn phải biên dịch thành file dạng hợp ngữ.
- Đây được xem là phần mềm được yêu thích nhất của các lập trình viên, kỹ
thuật viên ... làm việc với AVR.
- Sau đây tôi xin giới thiệu một số bước trong lập trình và nạp Chip:
52. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
52
+) Giao diện lập trình:
53. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
53
+) Biên dịch thành file Hex:
+) Thiết lập các thông số Chip và cổng nap:
+) Nạp Chip:
54. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
54
+) Thiết lập các thông số cho liên lạc giữa Chip và máy tính:
+) Vµo Read -> ChipSignalture nÕu m¹ch n¹p nhËn chip th× tªn chip vµ tÇn sè
chip sÏ hiÖn trªn «:
55. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
55
+) Cầu hình của dự án chứa chương trình:
56. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
56
CHƯƠNG 5
GIỚI THIỆU THIẾT BỊ
VÀ CHƯƠNG TRÌNH
57. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
57
5.1 Giới thiệu thiết bị:
- Đây là thiết bị sau khi xây dựng hoàn chỉnh: các module được lắp đặt lên
mạch và kết nối với nhau thành công.
58. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
58
- Đây là mạch điện lúc được cấp nguồn và hoạt động:
Nhiệt độ hiện lên trên màn hình là 280
C.
59. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
59
Đây là mạch điện khi hoạt động ở chế độ tự động:
- Trên màn hình đang hiển thị:
- Nhiệt độ 290
C.
- Cường độ sáng: 125 đv.
60. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
60
Đây là mạch điện lúc hoạt động ở chế độ điều khiển làm mát bằng tay
- Quạt đang chạy với cường độ là 255 đv_ cường độ tối đa.
- Đèn không hoạt động ở chế độ này
- Nhiệt độ :290
C.
61. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
61
Đây là mạch điện lúc hoạt động ở chế độ điều khiển làm ấm bằng tay
- Đèn đang sáng với cường độ là 255 đv_ cường độ tối đa.
- Quạt không hoạt động ở chế độ này.
- Nhiệt độ :290
C.
62. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
62
Thiết bị cảnh báo khi nhiệt độ lên quá cao:
- Nhiệt độ hiện tại là 530
C_nhiệt độ rất cao trong lò.
- Đèn LED màu đỏ nháy sáng liên tục để cảnh báo với người sử dụng.
- Quạt chạy với cường độ tối đa 255đv.
63. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
63
5.2 Giới thiệu chương trình:
- Giao diện chính của chương trình:
64. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
64
- Cửa sổ chương trình hoạt động ở chế độ điều khiển tự động:
65. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
65
- Cửa sổ chương trình hoạt động ở chế độ điều khiển làm mát bằng tay:
66. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
66
- Cửa sổ chương trình hoạt động ở chế độ điều khiển làm ấm bằng tay:
67. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
67
V.3 Kết luận :
Đồ án này đã ứng dụng được lý thuyết logic mờ trong điều khiển tự động
thiết bị. Ngoài ra còn áp dụng một số kỹ thuật khác về phần cứng như:
- Kỹ thuật vi xử lý.
- Kỹ thuật truyền thông nối tiếp.
- Kỹ thuật lập trình hệ thống.
So với lần thực tập chuyên nghành lần trước đồ án lần này đã có một số cải
tiến như:
- Đã xây dựng và sử dụng được hai bộ điều khiển mờ.
- Điều khiển được tốc độ của quạt thay vì chỉ bật hoặc tắt như trước.
- Điều khiển được cường độ sáng của đèn.
Bên cạnh những vấn đề đã giải quyết được vẫn còn một số điểm chưa xử lý
được như:
- Chưa thể tự động nạp lại chương trình mỗi khi khởi động lại máy tính.
- Thiết kế mạch còn khá rườm rà thiếu tính thẩm mỹ và gọn gàng.
- Cảm biến nhiệt chưa thật sự nhạy, cảm ứng nhiệt với môi trường còn chậm.
68. Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
68
Tài liệu tham khảo:
Bùi Công Cường - Nguyễn Doãn Phước, Hệ mờ - mạng nơron và ứng dụng,
Nhà xuất bản khoa học và kỹ thuật, 2006.
TS Nguyễn Đình Thuân , Bài giảng Hệ Chuyên Gia, Đại học Nha Trang,
2007.
Nguyễn Thúy Vân, Kỹ thuật Vi xử lý, Nhà xuất bản giao dục, 2002.
Ngô Diên Tập, Lập trình ghép nối máy tính trong Windows, Nhà xuất bản
khoa học và kỹ thuật, 2002.
Ngô Diên Tập, Đo lường và điều khiển băn máy tính, Nhà xuất bản khoa học
và kỹ thuật, 2002.
Nguyễn Thiên Bằng - Nguyễn Phương Lan, Lập trình VB2005, Nhà xuất bản
lao động xã hội, 2007.