Viết chương trình điều khiển Qua quá trình thực hiện đồ án “ điều khiển mờ nhiệt độ lò điện”, em đã hoàn thành đồ án đúng thời hạn và cơ bản thực hiện được những yêu cầu của đồ án như:
Trang 1- 0 0 0 -
- -
- -
- -
-
- - -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
TP Hồ Chí Minh
…….Ngày…… Tháng …….Năm 2010 Ths: Huỳnh Minh Ngọc
Trang 2Nhận Xét Của Giáo Viên Phản Biện
- 0 0 0 -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
Hội đồng bảo vệ
Trang 3Mục lục
- 0 0 0 -
Lời mở đầu 4
CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI I Đặt vắn đệ 5
II.Yêu cầu của đồ án 5
CHƯƠNG II: CƠ SỞ LÝ THUYẾT 6
I LÝ THUYẾT ĐIỀU KHIỂN MỜ 6
1 định nghĩa tập mờ 6
2 biến nhôn ngữ và giá trị 6
3 luật hợp thành mờ 6
4 giải mờ 7
5 bộ điều khiển mờ 8
CHƯƠNG.III: THIẾT KẾ BỘ ĐIỀU KHIỂN MỜ NHIỆT ĐỘ LÒ ĐIỆN 10
I Thiết Kế Phần Cứng 10
1 phân tích 10
2 thiết kế mạch 10
2.1.khối cảm biến nhiệt 10
2.2 khối khuếch đại 11
2.3 khối biến đổi A/D 12
2.4 khối mở rộng vào ra 12
2.5 khối hiển thị 14
2.6 khối công suất 15
2.6 khối vi điều khiển 16
2.7 khối nguồn 17
3 sơ đồ mạch hoàn chỉnh 17
II Thiết Kế Chương Trình Điều Khiển 19
1 mờ hóa 19
2 hợp thành 21
3 giải mờ 22
III Nguyên Lý Hoạt Động 23
IV: Giải Thuật Và Chương Trình 23
CHƯƠNG IV KẾT QUẢ THI CÔNG 37
I kết quả mô phỏng trên fuzzy logic 37
II kết quả thi công phần cứng 42
CHƯƠNG V KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 45
PHỤ LỤC 46
Trang 4LỜI MỞ ĐẦU
- 0 0 0 -
Hiện nay, điện tử- điều khiển tự động được coi là một trong những ngành mũi nhọn để phát triển nền kinh tế của một quốc gia hay của một công ty Nếu có một nền công nghệ tiên tiến, biết áp dụng phương pháp công nghiệp hóa vào sản xuất thì chắc chắn nền kinh tế sẽ có những phát triển vượt bậc Bởi vì khi công nghiệp hóa, con người được giải phóng sức lao động, không còn phải làm việc trực tiếp nữa mà thay vào đó là máy móc Máy móc sẽ giúp cho ta tăng năng suất lao động, công việc được hoàn thành nhanh hơn rất nhiều, và đặc biệt
là chất lượng của công việc sẽ tăng lên gấp bội Nó sẽ giúp cho quốc gia hay công ty tiết kiệm được chi phí sản xuất, nâng cao chất lượng sản phẩm Và đặc biệt, với việc áp dụng điều khiển tự động vào sản xuất thì đồng nghĩa với việc tiết kiệm được thời gian,chi phí sản xuất Điều này là cực kỳ quan trọng cho một quốc gia cũng như một công ty trong thời kỳ nền kinh tế nhanh như hiện nay
Chính vì những lý do như vậy mà em, sinh viên nghiên cứu trong ngành công nghệ điện
tử, quyết định thực hiện đồ án mà áp dụng những kiến thức và những hiểu biết của mình đã được học trong nhà trường Đồ án mang tên: “ điều khiển mờ nhiệt độ lò điện” em hy vọng rằng sẽ mang những kiến thức mà đã được học trong nhà trường, trong sách vở của mình đi vào thực tế
Trang 5LỜI CẢM ƠN
- 0 0 0 -
Em xin chân thành cảm ơn Thầy HUỲNH MINH NGỌC đã nhiệt tình hướng dẫn em
trong quá trình em thực hiện đề tài
Em xin chân thành cảm ơn quý Thầy Cô trong khoa Công Nghệ Điện Tử đã nhiệt tình
giảng dạy chúng em trong thời gian học tại trường
Vì thời gian nghiên cứu còn hạn chế nên đồ án của em chắc chắn còn có những hạn chế và thiếu sót
Sinh viên thực hiện
Hoàng Xuân Trình
Trang 6BẢN TÓM TẮT ĐỒ ÁN
- 0 0 0 -
Với sự hướng dẫn của thầy Huỳnh Minh Ngọc Em được giao đồ án “ điều khiển
mờ nhiệt độ lò điện” Nhệm vụ của đề tài cần phải thực hiện một số các vấn đề cơ
bản sau:
1 Xây dựng lò điện thực tế
2 Tìm hiểu lý thuyết điều khiển mờ Điều khiển mờ Mamdani
3 Mô phỏng bằng matlab
4 Thiết kế phần cứng hệ thống điều khiển nhiệt độ dùng vi điều khiển 89c51,
5 Viết chương trình điều khiển
Qua quá trình thực hiện đồ án “ điều khiển mờ nhiệt độ lò điện”, em đã hoàn thành
đồ án đúng thời hạn và cơ bản thực hiện được những yêu cầu của đồ án như:
1 xây dựng được mô hình lò nhiệt
2 Bước đầu tìm hiểu lý thuyết điều khiển mờ, điều khiển mờ mamdani
3 Mô phỏng hệ thống điều khiển mờ nhiệt độ lò điện trên hộp công cụ fuzzy logic toolbox trong mat lab
4 Thiết kế và thi công phần cứng điều khiển nhiệt dùng vi điều khiển 89c51
5 Viết được chương trình điều khiển nhiệt dùng logic mờ bằng ngôn ngữ C
Tuy đã cố gắng hết sức nhưng đề tài “ điều khiển mờ nhiệt độ lò điện” là một đề
tài mới và khó, do đó đè tài cũng không tránh được những thiếu sót và hạn chế sau
1 Mô hình chỉ có hệ thống làm nóng mà trong thực tế các hệ thống điều khiển nhiệt độ thường có hệ thống làm nóng và làm mát như hệ thống làm lạnh hay quạt gió
2 Chỉ tìm hiể lý thuyết điều khiển mờ tỷ lệ P, mamdani trong thực tế còn cố các
bộ điều khiển mò khác như mờ PI, mờ PID, mờ lai, mờ nơron
3 mô phỏng hệ thống điều khiển trên hộp công cụ fuzzy logic toolbox
4 Phần cứng điều khiển nhiệt độ còn đơn giản, mô hình chỉ điều khiển nhiệt trong khoảng từ nhiệt độ môi trường tới nhiệt độ dưới 100oC hệ thống điều khiển còn có sự vọt lố lớn giữa nhiệt độ đặt và nhiệt độ thực tế trong lò
5 Chương trình điề khiển còn đơn giản, chỉ thực hiện được bộ điều khiển mờ tỷ
lệ P
Trang 7CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI
I Đặt Vấn Đề
Cùng với sự phát triển của quá trình công nghiệp hóa hiện đại hóa đất nước, làm xuất hiện các đối tượng điều khiển có độ phức tạp ngày càng tăng Tất cả đều hướng tới một mục tiêu đó là sự chính xác, tốc độ cao cũng như khả năng đáp ứng tốt của các thiết bị điều khiển các phương pháp điều khiển cổ điển và hiện đại chỉ đáp ứng tốt dối với các đối tượng tuyến tính có mô hình toán học, nhưng trong thực tế cần các hệ thống điều khiển phi tuyến, có độ phức tạp cao vì vậy các bộ điều khiển thông đã được ra đời Các bộ điều khiển thông minh dựa trên suy luận của con người hay dựa vào hoạt động của bộ não con người, đó là các phương pháp điều khiển mờ và mạng Các bộ điều khiển mờ được áp dụng để điều khiển các đối tương phi tuyến như nhiệt độ và được áp dụng thành công trong các thiết bị gia dụng
như máy ghi hình, máy giặt, lò vi ba cũng như trong hệ thống công nghiệp
Là một sinh viên chuyên ngành điện tử - điều khiển tự động, Điều khiển mờ là 1 mảng kiến thức rất mới và khó Từ sự yêu thích với những ứng dụng của logic mờ và được sự phân
công của giáo viên hướng dẫn em đã thực hiện đồ án “ điều khiển mờ nhiệt độ lò điện”
Nhiêt độ là một đối tượng phi tuyến không thể áp dụng các phương pháp điều khiển như
PI, PID được do đó phương pháp điều khiển mờ được áp dụng điều khiển mờ dược trên các thông tin không rõ ràng, và tùy thuộc vào kinh nghiệp của chuyên gia hay người điều khiển
II YÊU CẦU CỦA ĐỀ TÀI
Đề tài “ điều khiển mờ nhiệt độ lò điện” là một đề tài khó và mới vì vậy đề tài cần thưc
hiện các vấn đề sau:
+ Tìm hiểu lý thuyế điều khiển mờ và ứng dụng của nó trong điều khiển
+ Tìm hiểu phần mềm Matlab, và mô phỏng hệ thống trong hộp công cụ Fuzzy logic + Tìm hiểu phần mềm Keil C
+ Viết chương trình điều khiển bằng ngôn ngữ C
+ Xây dựng mô hình thực tế, ứng dụng logic mờ điều khiển nhiệt độ lò điện
+ Giao tiếp máy tính và viết chương trình giao diện, hiển thị đồ thị nhiệt độ trên máy tính Nội dung của đề tài được sắp xếp theo bố cục như sau:
Chương 1: tổng quan về đề tài Chương 2: lý thuyết liên quan Chương 3: thiết kế bộ điều khiển mờ Chương 4: kết quả mô phỏng
Chương 5: kết quả thi công Chương 6: kết luận
Trang 8
CHƯƠNG II: Lý Thuyết Điều Khiển Mờ
I Lý thuyết điều khiển mờ
Khái niệm về logic mờ được tiến sĩ L.A Zadeh đưa ra lần đầu tiên năm 1965 trong 1 bài báo khoa học Từ đó tới nay lý thuyết mờ được nghiên cứu và ứng dụng một cách nhanh chóng và rộng rãi Năm 1975 Mamdani đã ứng dụng logic mờ để điều khiển một máy hơi nước mà ông không thể điều khiển được bằng các phương pháp cổ điển
1 Định Nghĩa Tập Mờ
Một tập hợp mờ A trên một tập hợp cổ điển Χ được định nghĩa như sau:
Hàm liên thuộc μA (x) lượng hóa mức độ mà các phần tử x thuộc về tập cơ sở Χ Nếu hàm
cho kết quả 0 đối với một phần tử thì phần tử đó không có trong tập đã cho, kết quả 1 mô tả một thành viên toàn phần của tập hợp Các giá trị trong khoảng mở từ 0 đến 1 đặc trưng cho các thành viên mờ Tập mờ F xác định trên tập kinh điển M là một tập mà mỗi phần tử của
nó là một cặp các giá trị(x, μF (x) )trong đó x ∈ M và μF là ánh xạ μF : M → [0, 1] Ánh xạ
μF được gọi là hàm liên thuộc ( hay hàm phụ thuộc) của tập mờ F Tập kinh điển M được gọi
là cơ sở của tập mờ F hay nền
Hàm liên thuộc có nhiều dạng khác nhau như dạng vai trái, dạng vai phải, dạng tam giác, dạng hình thang…
Trang 92 độ cao, miền xác định và miền tin cậy của tập mờ:
Độ cao của một tập mờ F (trên cơ sở M)là giá trị:
)(
Một tập mờ với ít nhất một phần tử có độ phụ thuộc bằng 1 được gọi là tập mờ chính
tắc tức là H = 1, ngược lại một tập mờ F với H < 1 được gọi là tập mờ không chính tắc
Miền xác định của tập mờ F (trên cơ sở M), được ký hiệu bởi S là tập con của M
2 Biến Ngôn Ngữ Và Giá Trị Ngôn Ngữ:
Biến ngôn ngữ là thành phần chủ đạo trong các hệ thống dùng logic mờ ở đây các thành phần của cùng một ngữ cảnh được kết hợp lại với nhau Biến ngôn ngữ là biến mà giá trị của
nó là các từ, như: “nóng”,” lạnh” …
“ trong lý thuyết tập mờ biến ngôn ngữ được định nghĩa như sau: biến ngôn ngữ là biến có bậc cao hơn biến mờ, nó lấy biến mờ làm gía trị” [1:45] Như trên thì nhiệt độ có thể nhận các gía trị (cao, X, μcao( )x ) và (thấp, X, μthâp( )x )
3 Luật Hợp Thành Mờ
3.1: Mệnh đề hợp thành
Mệnh đề hợp thành mờ là phát biểu nếu - thì trong đó mệnh đề điều kiện và mệnh đề kết
luận là các mệnh đề mờ, trong mệnh đề điều kiện có thể có các phép giao, phép hợp hoặc
phép phủ định Ánh xạ µ A (x 0 ) µ B ’ (y)
Xét ví dụ: khi điều khiển nhiệt độ thì:
+ nhiệt độ (nóng, vừa, lạnh)
+ công suất lò(giảm, giữ nguyên, tăng)
Miền xác định và miền tin cậy của tập mờ
Trang 10Khi đó ta có thể biểu diễn các luật như sau:
Nếu nhiệt độ = nóng thì công suất lò = giảm
Nếu nhiệt độ = vừa thì công suất lò = giữ nguyên
Nếu nhiệt độ = lạnh thì công suất lò = tăng
+ luât Max – Min
+ luật Max – Prod
+ luật Sum – Min
+ luật Sum – Prod
a thuật toán xây dựng mệnh đề hợp thành cho hệ siso
luật mờ cho hệ siso có dạng “ if A then B “
chia hàm thuộc µ A (x) thành n điểm x i i = 1,2, … n
chia hàm thuộc µ B (y) thành m điểm yj j = 1,2, … n
xây dựng ma trận quan hệ R
b thuật toán xây dựng luật hợp thành cho hệ miso
luật mờ cho hệ miso có dạng như sau
if cd1 = A1 and cd2 = A2 and … then rs = B
các bước xây dựng luật hợp thành R
+ Rời rạc hóa các hàm thuộc
+ Xác định độ thỏa mãn H cho các vecto giá trị rõ đầu vào x = {c1, c2, c3, c4, c5, n} Trong đó cn là một trong các điểm mẫu củaμB( )y
4 Giải mờ:
“giải mờ là quá trình xác định một giá trị rõ y ’ nào dó có thể chấp nhận được từ hàm liên thuộc μB( )y của giá trị mờ B ’ ( tập mờ) Có hai phương pháp giả mờ chính là phương pháp cực đại và phương pháp điểm trọng tâm “[2:44]
4.1 phương pháp cực đại
Trang 11Giải mờ theo phương pháp cực đại gồm hai bước:
+ xác định miền chứa giá trị rõ y’ giá trị rõ y’ là giá trị mà tại đó hàm liên thuộc đạt gía trị cực đại ( độ cao H của tập mờ B’), tức là miền
4.2 Phương Pháp Điểm Trọng Tâm
Phương pháp điểm trọng tâm sẽ cho ra kết quả là hoành độ của điểm trọng tâm miền được bao bởi trục hoành và đường μB'( )y
'
'
'
( )( )
B S B S
y
y dy
μμ
Trang 12Bộ điều khiển mờ gồm có các thành phần chính:
+ giao diện đầu vào : bao gồm khâu Fuzzy hóa và các khâu phụ trợ thêm
+ thiết bị hợp thành: là luật quyết định mà bản chất của nó là sự triển khai luật hợp thành
R được xây dựng trên luật điều khiển
+ giao diện đầu ra (khâu chấp hành): gồm khâu giả mờ và các khâu giao diện trực tiếp
với đối tượng
Nguyên tắc một bộ điều khiển mờ hoàn toàn dựa vào những phương pháp toán học trên
cơ sở các biến ngôn ngữ vào/ra và lựa chọn các luật điều khiển mô hình R của luật điều
khiển được xây dựng theo một nguyên tắc triển khai đã chọn trước và gọi là luật hợp thành
Trang 13CHƯƠNG III: THIẾT KẾ BỘ ĐIỀU KHIỂN
I THIẾT KẾ PHẦN CỨNG
1 phân tích :
Yêu cầu đặt ra là thiết kế một bộ điều khiển hoạt động dựa trên cơ sở logic mờ để điều khiển nhiệt độ cho một lò nhiệt Để thực hiện được những vấn đề trên thì hệ thống cần có những khối sau:
+ khối cảm biến nhiệt: dùng để đo nhiệt độ hiện tại trong lò
+ khối khuếch đại và biến đổi A/D: có nhiệm vụ khuếch đại tín hiệu từ cảm biến nhiệt và số hóa tín hiệu để đưa vào bộ vi điều khiển
+ khối hiển thị: có nhiệm vụ hiển thị nhiêt độ trong lò và nhiệt độ cài đặt
+ khối nút nhấn: có nhiệm vụ nhập nhiệt độ cần cài đặt
+ khối vi điều khiển: thực hiện các chức năng mờ hóa, hợp thành, giải mờ và điều khiển các khối khác hoạt động
+ khối công suất: có nhiệm vụ điều khiển việc cấp nguồn động lực cho lò nhiệt
Từ những phân tích trên ta có sơ đồ khối của hệ thống như sau
2 Thiết Kế Mạch
2.1 Khối Cảm Biến Nhiệt
Với giải nhiệt độ từ 300C đến 1000C, ta chọn cảm biến nhiệt độ bán dẫn thông thường là LM35 Lm35 có nhiệt độ ngõ ra tỷ lệ trực tiếp với thang đo nhiệt độ bách phân Điện áp ngõ
ra là 10mv/0C Sai số đo không tuyến tính là ± 1.8mv cho toàn thang đo Điện áp cấp có thể thay đổi từ 4 – 30 V Lm35 được chế tạo cho 3 thang đo:-550c … +1500c (LM35/35A); -
400c… +1100c (LM35C/CA) và 00c …1000c( LM 35D)
Tải điện dung của lm35 có trị số lớn nhất là 50 pf Thì trị số của dây đo vượt quá trị số này ở ngõ ra của LM35 cần mắc 1 mạch RC 10Ω/1pf Điều này là cần thiết khi dây đo giữa cảm biến và bộ biến đổi ADC khá dài
Sơ đồ chân của cảm biến nhiệt LM35
Trang 14Sơ đồ mạch khối cảm biến nhiệt được cho như hình dước
Ngõ ra chân số 2 của LM35 được đưa tới khối khuếch đại
2.2 Khối Khuếch Đại
Tín hiệu đưa ra từ cảm biến nhiệt LM35 rất nhỏ cần phải đưa qua một mạch khuếch đại đủ lớn để đưa vào bộ biến đổi A/D với cảm biến nhiệt LM35 thì ngõ ra tăng 10mv/0C trong khi đó với ADC 8 bit, Vcc = 5V, để ngõ ra tăng 1 giá trị thì ngõ vào phải tăng một khoảng là
50,02 20
Trang 152.3 Bộ biến Đổi A/D
Tín hiệu sau khi được khuếch đại được đưa vào bộ biến đổi tương tự sang số A/D:
Mạch biến đổi A/D có nhiệm vụ biến đổi điện áp tương tự thàng tín hiếu số để gửi vào vi điều khiển Vì nhiệt độ là một đại lượng biến đổi chậm nên ta chọn vi mạch A/D thông dụng trên thị trường hiện nay là ADC0804 Các đặc tính của ADC0804 như sau:
- đầu ra được đệm bằng các cổng 3 trạng thái nên có thể ghép trực tiếp vào bus dữ liệu mà không cần mạch đệm dữ liệu ở bên ngoài;
- thời gian biến đổi khoảng 100ms/mẫu;
- khi điện áp đầu vào là 5v thì đầu ra cực đại là 1111 1111 ;
- dòng tiêu thụ nhỏ cỡ 1,9mA
sơ đồ mạch kết nối ADC0804 được cho như hình dưới:
Để điều khiển ADC hoạt động ta điều khiển các chân CS, RD, RW, chân INTR là chân ngõ ra của ADC Các chân trên được nối như sau:
- Chân CS( chân số 1) là chân chọn chíp hay chân điều khiển phép ADC hoạt động hay không hoạt động, tín hiệu điều khiển CS là tín hiệu tích cực mức thấp, khi CS = 0 ADC được phép hoạt động, CS = 1 ADC không hoạt động Chân CS của ADC được nối với chân CS2 của IC giải mã địa chỉ 74LS138
- Chân WR có tiêu chuẩn mức điện áp logic TTL Tín hiệu vào mức cao tới mức thấp cho phép ADC bắt đầu biến đổi Chân này được nối với chân WR của vi điều khiển
- chân RD là tín hiệu đọc số liệu, sau khi ADC biến đổi xong vi điều khiển thực hiện việc đọc số liệu bằng cách chuyển tín hiệu RD của ADC xuống mức thấp
- Bus dữ liệu (DB0 –DB7) ADC truyền dữ liệu với vi điều khiển thông qua 8 chân dữ liệu khi chân RD mưc thấp lúc này các cổng đệm 3 trạng thái ở đàu ra mở cho phép vi điều khiển nhập dữ liệu từ ADC thông qua bus dữ liệu
2.4 Vi Mạch Mở Rộng Vào Ra (8255A):
Trang 16Các chân I/O của vi diều khiển không đủ kết nối với các thành phần trong mạch do đó cần một vi mạch mở rộng vào ra Một vi mạch mở rộng vào ra được sử dụng nhiều là 8255A Vi mạch này có 24 chân cho thiết bị I/O có thể lập trình hoạt động trong 3 mode khác nhau 8255A-5 có thể nối ghép bất kỳ thiết bị vào ra kiểu TTL và tương thích với 8051 8255A thường được sử dụng để ghép nối với bàn phím và cổng máy in song song trong các máy PC
Ba cổng vào ra của nó được lập trình thành các nhóm 12 chân Nhóm A bao gồm cổng A ( PA7 - PA0 ) và nửa cao của cổng C (PC7 - PC4 ), nhóm B bao gồm cổng B (PB7 - PB0 ) và nửa thấp của cổng C ( PC3 - PC0 ) Hai chân A1, A0 chọn thanh ghi nội để lập trình hoặc hoạt động hai chân này được nối với hai chân A0, A1 của IC giải đa hợp 74HC573 Ðể 8255A-5 có thể đọc ghi thì chân CS phải ở mức logic 0 và địa chỉ I/O phải được nối với chân A1 và A0
bổ xung nào nữa, do đó trong mạch chân RESET được nối xuống mát
Các chế độ của cổng A và cổng B có thể được định nghĩa một cách riêng biệt, trong khi đó cổng C được chia thành hai phần vì lý do các định cho cổng A và cổng B Tất cả các thanh ghi nội và thông tin trạng thái sẽ được xoá khi chế độ thay đổi Nhóm B ( Group B) có thể được lập trình ở mode 0 để điều khiển các chuyển mạch đơn giản hoặc hiển thị các kết quả tính toán Nhóm A có thể được lập trình hoạt động trong mode1 để điều khiển bàn phím hoặc
bộ đọc băng từ hoặc một bộ điều khiển ngắt cơ bản
Chức năng xoá bit và lập bit:
Bất cứ bit nào trong 8 bit của cổng C đều có thể được thiết lập hoặc được xoá nhờ sử dụng các lệnh ghi ra thanh ghi điều khiển các bit phù hợp Như vậy khi cổng C đang được dùng để điều khiển, ghi trạng thái cho cổng A hoặc cổng B thì những bit của cổng C có thể được xoá hoặc được thiết lập nhờ sử dụng các lệnh xoá, thiết lập bit như khi cổng C là cổng ra dữ liệu
1/ Mode 0.( Basic input/output).
Ðây là chế độ vào ra cơ bản của vi mạch, nó đảm bảo dữ liệu được đưa ra hoặc ghi vào các cổng riêng biệt
Trong chế độ này , vi mạch có các chức năng sau :
- Vi mạch hoạt động gồm hai cổng 8 bit và hai cổng 4 bit
- Các cổng có thể là cổng vào hoặc cổng ra
- Các tín hiệu ra được chốt lại
- Các tín hiệu vào không được chốt
- Trong chế độ này 8255 có 16 cấu hình hoạt động vào/ra như sau :
Trang 172 Mode 1( Strobe input/output) Trong chế độ này cổng A và cổng B sử dụng các đường dây tín hiệu của cổng C để tạo hoặc tiếp nhận tín hiệu hội thoại ( hanshaking signal ) nghĩa là mọi quá trình trao đổi dữ liệu của từng cổng đều dùng các tín hiệu hội thoại
Vi mạch hoạt động gồm hai nhóm ,nhóm A và nhóm B
- Mỗi nhóm chứa một cổng 8 bit và một cổng điều khiển 4 bit
- Cổng 8 bit có thể là cổng vào , hoặc cổng ra ,cả hai cổng vào ra đều là cổng chốt
- Các cổng 4 bit được sử dụng để điều khiển và xác định trạng thái của các cổng 8 bit
3/Mode2
Chế độ hoạt động này cung cấp khả năng trao đổi dữ liệu với các thiết bị ngoại vi sử dụng một đường truyền 8 bit để vừa truyền vừa nhận dữ liệu
Các chức năng cơ bản của Mode 2
- Trong chế độ này chỉ có nhóm A được sử dụng
- Cổng A là cổng vào/ ra hai chiều 8 bit
Trong mạch 8255A được kết nối như hình dưới
- Chân CS, 8255A-5 được chọn bằng chân CS của nó để lập trình và phục vụ việc ghi đọc
ra cổng I/O trong mạch chân CS được nối với chân 14 của IC giải mã địa chỉ 74LS138 là tín hiệu điều khiển tích cự mức thấp, khi CS = 0 thì 8255 được phép hoạt động
- Chân RESET là chân xác lập lại trạng thái hoạt động của 8255, chân này có thể nối với chân RESET của vi điều khiển hoặc nối đất
- Bus dữ liệu (D0 – D7) là các chân trao đổi dữ liệu với vi điều khiển
Trang 18- Chân RD, WR là các chân cho phép và ghi dữ liệu, các chân này có tín hiệu điều khiển tích cực mức thấp, RW = 0 cho phép ghi dư liệu vào, RD là chân cho phép đọc dữc liệu từ
8255, khi vi điều khiển muốn đọc dữ liệu từ 8255 thì chân này được tích cực mức thấp
- Các cổng I/O 8255 có 3 cổng I/O là PA, PB, PC Cổng PA được nối với các chân dữ liệu của LCD để gửi các thông tin cần hiển thị lên LCD Các chân PB0, PB1, PB2 được nối với các chân RS, RW, E của LCD để điều khiển việc đọc ghi dữ liệu ra LCD
2.5 Khối Hiển Thị (LCD HD44780)
LCD trong những năm gần đây được sử dụng ngày còng rộng rãi thay thế dần cho các đèn Led: trong phần này em giới thiệu LCD HD44780 của Hitachi là loại LCD phổ biến trên thị trường hiện nay Hình dạng của LCD được cho như hình dưới
Chức năng các chân của LCD :
2.3.1 chân Vss, Vdd dùng để cấp nguồn và mát cho LCD còn chân Vee dùng để điều chỉnh
độ tương phản, hay độ sáng của đèn nền
2.3.2 chân chọn dãy thanh ghi RS:
Có hai thanh ghi rất quan trọng bên trong LCD, chân RS được dùng để chọn các thanh ghi này như sau: Nếu RS = 0 thanh ghi lệnh được chọn để cho phép người dùng gửi một lệnh điều khiển ra LCD như xóa màn hình, đưa con trỏ về đầu dòng v v …: Nếu RS = 1 thì thanh ghi dữ liệu được chọn cho phép người dùng gửi dữ liệu cần hiển thị trên LCD
2.3.3 chân đọc / ghi (RW)
Đầu vào đọc ghi cho phép người dùng ghi thông tin lên LCD khi RW = 0 và đọc thông tin
từ nó khi RW = 1
2.3.4 chân cho phép E:
Chân cho phép E được sử dụng để chốt thông tin hiện hữu trên chân dữ liệu của nó Khi
dữ liệu được cấp đến chân dữ liệu thì thì một xung mức cao xuống thấp phải được áp đến chân này để LCD chốt dữ liệu trên các chân dữ liệu Xung này phải rộng tối thiểu là 450ns 2.3.5 Chân D0 - D7:
Đây là 8 chân dữ liệu, được dùng để đọc thông tin hoặc ghi thông tin lên LCD
Để hiển thị các chữ và con số, chúng ta phải gửi các mã ASCII của các chữ các từ a đến z,
Từ 0 đến 9 khi chân RS được bật
Để điều khiên LCD hoạt động thì phải ghi các lệnh điều khiển ra LCD thông qua các chân
Dữ liệu và các chân điều khiển của LCD, dưới đây là bảng lệnh điều khiển LCD
Mã (hex) Chức năng
1 Xóa hiển thị
2 Trở về đầu dòng
4 Giảm con trỏ (dịch con trỏ sang phải)
6 Tăng con trỏ ( dịch con trỏ sang trái)
5 Dịch con trỏ hiển thi sang phải
7 Dịch con trỏ hiển thị sang trái
8 Tắt hiển thị, tắt con trỏ
A Tắt hiển thị, bất con trỏ
C Bật hiển thị, tắt con trỏ
E Bật hiển thị, nhấp nháy con trỏ
F Tắt con trỏ, nhấp nháy con trỏ
10 Dịch vị trí con trỏ sang trái
14 Dịch vị trí con trỏ sang phải
18 Dịch toàn bộ hiển thị sang trái
1C Dịch tòa bộ hiển thị sang phải
Trang 1980 Ép con trỏ vũ đầu dòng thứ nhất
C0 Ép con trỏ vũ đầu dòng thứ hai
38 Hai dòng và 5x7 điểm ảnh
2.6 khối công suất:
là khối điều khiển công suất của lò thông qua xung điều khiển của vi điều khiển lò là tải sợi đốt sử dụng nguồn xoay chiều 220V trong khi xung điều khiển từ ví điều khiển có có 5V
do đó cần có một mạch cách ly Mạch cách ly thông dụng hiện nay là dùng optotriac, MOC3020 là optotriac được sử dụng khá phổ biến trên thị trường hiện nay, thành phần điều khiển trực tiếp là triác BT139 sơ đồ kết nối mạch được thực hiện như sau
2.6 Khối Vi Điều Khiển
Khối vi điều khiển có nhiệm vụ điều khiển toàn bộ hoạt động của hệ thống Trong ứng dụng này em sử dụng vi điều khiển 8 bit thuộc họ 8051 là AT89C52 AT89C52 là một phiên bản 80451 có ROM trên chíp là bộ nhớ FLASH Chỉ khác 8051 ở chỗ bộ nhớ ROM 8KB, RAM 256 ngoài ra AT89C52 còn có thêm một nguồn ngắt
AT89C52 là kiểu IC 40 chân DIP Chức năng 1 số chân như sau :
Sơ đồ khối của một bộ vi điều khiển được cho như hình dước:
Trang 20Sơ đồ mạch vi điều khiển được cho như hình dưới
Trang 21Chức năng các chân của vi điều khiển trong mạch như sau:
- Port 0: là port dữ liệu đa hợp và địa chỉ byte thấp vi điều khiển trao đổi dữ liêu với các khối khác thông qua Port này Port 0 cũng đóng vai trò là địa chỉ byte thấp khi giao tiếp với RAM ngoài:
- Port 2: là Port địa chỉ byte cao; khi truy xuất bộ nhớ RAM ngoài Port nay xuất các tín hiệu điều khiển nhằn xác định địa chỉ các các byte cao của bộ nhớ dữ liệu ngoài cần được
- P1.0, P1.1, P1.2 các chân này được nối với nút nhấn để thực hiện việc cài đặt nhiệt độ mong muốn
3 Sơ Đồ Nguyên Lý Toàn Mạch
Từ những phân tích trên ta có sơ đồ mạch như hình dưới
Trang 23II THIẾT KẾ CHƯƠNG TRÌNH ĐIỀU KHIỂN:
Chương trình điều khiển thực hiện điều khiển hoạt động các khối khác như điều khiển
hiển thị, đo nhiệt độ trong lò, nhưng quan trọng nhất là thực hiện chương trình của bộ điều
khiển mờ Bao gồm các chức năng chính như: mờ hóa, hợp thành, giải mờ:
1 Mờ Hóa:
Mờ hóa là quá trình biến một giá trị vật lý thành một biến ngôn ngữ Trong bộ điều khiển
này quá trình mờ hóa đầu vào và đàu ra được thực hiện như sau:
+ đầu vào DT là sai lệch nhiệt độ thực tế đo được ở lò và nhiệt độ do người dùng cài đặt:
DT = Tdo – Tdat
Trong đó Tdo là nhiệt đọ đo được thực tế trong lò và Tdat là nhiệt độ do người dùng cài
đặt
Đầu vào sai lệch TE được xác định qua 5 thông số là: âm nhiều, âm ít, bằng không,
dương ít, dương nhiều, hàm liên thuộc của của các tập mờ này được chọn như hình dưới
Quá trình mờ hóa đầu vào DT là ánh xạ từ giá trị rõ DT thành các véc tơ μ DT a μ
Véctơ μ là tập hợp các hàm liên thuộc:
các giá trị trên được xác định thông qua các công thức như sau:
Trang 24
+ Đầu ra tỷ số độ rộng xung μ được xác định bằng cách cộng thêm một lượng dμ vào giá
trị hiện tại của nó dμ được xác định thông qua 5 giá trị ngôn ngữ là giảm mạnh, giảm, giữ nguyên, tăng và tăng mạnh Mỗi giá trị ngôn ngữ này được mô tả bằng một tập mờ có hàm liên thuộc như hình dưới
Quá trình mờ hóa đầu ra dμ là ánh xạ từ giá trị rõ dμ thành véctơ μ:
Các giá trị trên được xác định theo các công thức sau:
Trang 25- xây dựng luật điều khiển:
với bộ điều khiển mờ gồm một đầu vào và một đầu ra ta sử dụng nguyên lý bộ điều khiển
mờ tỷ lệ P Với việc mờ hóa đầu vào và đầu ra như trên ta đặt ra cho bộ điều khiển 5 luật điều khiển như sau:
R1: nếu DT = AN thì dμ = TM R2: nếu DT = AI thì dμ = T R3: nếu DT = BK thì dμ = GN R4: nếu DT = DI thì dμ = G
Trang 26R5: nếu DT = DN thì dμ = GM Gọi H1 là độ phụ thuộc của DT vào AN, nghĩa là 1H =μAN(DT)
H2 là độ phụ thuộc của DT vào AI, nghĩa là 2H =μAI(DT)
H3 là độ phụ thuộc của DT vào BK, nghĩa là 3H =μBK(DT)
H4 là độ phụ thuộc của DT vào DI, nghĩa là 4H =μDI(DT)
H5 là độ phụ thuộc của DT vào DN, nghĩa là 5H =μDN(DT)
Chọn luật hợp thành, hay luật điều khiển là Max – Min thì ta có :
+ đầu ra của các luật điều khiển như sau:
chọn phương pháp giải mờ là phương pháp điểm trọng tâm Khi đó kết quả thu được của
giá trị rõ dμ được xác định theo công thức sau:
100 0 100 0
III: Nguyên Lý Hoạt Động
Mạch hoạt động dựa trên nguyên lý của bộ điều khiển mờ Nhiệt độ trong lò được đo bằng khối cảm biến nhiệt, khối khuếch đại và được đưa vào khối A/D để chuyển đổi tín hiệu từ tương tự sang số trước khi đưa vào bộ khi điều khiển Nhiệt độ trong lò được so sánh với nhiệt độ mong muốn do người dùng cài đặt thông qua 4 nút nhấn Sự sai lệch nhiệt độ đặt và nhiệt độ đo là đầu vào của bộ điều khiển mờ Bộ điều khiển mờ làm nhiệm vụ mờ hóa tín hiệu đầu vào, hợp thành, giải mờ và cho ra một xung điều khiển có tỷ số độ rộng bằng dμgiá trị này được cộng với một xung vuôngμ có độ rộng ban đầu bằng 50% Xung điều khiển này được đưa tới mạch công suất để điều khiển việc cấp nguồn cho sợi đốt tùy vào giá trị sai lệch nhiệt độ mà xung điều khiển có độ rộng khác nhau Nhưng chu kỳ T được giữ cố định:
T = Ton + Toff Khi nhiệt độ đo thấp hơn nhiệt độ đặt thì Ton tăng và ngược lại Ton có thể thay đổi từ 0% tới 100% do đó công suất lò có thể thay đổi từ không tới cực đại Do đó ta có thể điều khiển nhiêt độ trong lò ở một nhiệt độ nào đó
IV: GIẢI THUẬT VÀ CHƯƠNG TRÌNH