Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
1TRƯỜ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.
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.
3Mụ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
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ờ :
-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
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.
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.
(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
- 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 .
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.
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 :
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 :
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.
Điều khiển nhiệt độ lò ấp trứng ứng dụng logic mờ. SVTH: Bùi Quang Vinh.
20CHƯƠNG 3
XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN
NHIỆT ĐỘ 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
(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
} } 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
} }
+)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):
µ
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