Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 54 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
54
Dung lượng
1,2 MB
Nội dung
Khúa lun tt nghip Trần Đình Thức K46ĐB I HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trần Đình Thức ỨNG DỤNG VI ĐIỀU KHIỂN AVR XÂY DỰNG HỆ THỐNG ĐOLƯỜNGVÀ ĐIỀU KHIỂN NHIỆTĐỘ KHỐ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Điện tử – Viễn Thơng Khóa luận tốt nghiệp Trần Đình Thức K46ĐB H NI - 2005 I HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trần Đình Thức ỨNG DỤNG VI ĐIỀU KHIỂN AVR XÂY DỰNG HỆ THỐNG ĐOLƯỜNGVÀ ĐIỀU KHIỂN NHIỆTĐỘ KHỐ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Điện tử – Viễn Thông Cán hướng dẫn: Cán đồng hướng dẫn: ThS Chử Văn An CN Bựi Thanh Tựng Khúa lun tt nghip Trần Đình Thøc – K46§B HÀ NỘI - 2005 Lời cảm ơn Trong suốt thời gian thực khóa luận tốt nghiệp em nhận dẫn dắt, bảo, giúp đỡnhiệt tình thầy giáo bạn sinh viên Khoa Công nghệ Điện tử - Viễn thông, Đại học Công nghệ Đầu tiên em xin gửi lời cảm ơn chân thành đến ThS Chử Văn An CN Bùi Thanh Tùng hết lòng hướng dẫn em hồn thành tốt khóa luận Em xin cảm ơn thầy cô bạn, người tạo điều kiện tốt nhất, giúp đỡ, động viên em nhiều trình học tập thời gian làm khóa luận Hà Nội, tháng năm 2005 Sinh viên: Trần Đình Thức Khóa luận tt nghip Trần Đình Thức K46ĐB Túm tt ni dung Khoá luận: ỨNG DỤNG VI ĐIỀU KHIỂN AVR XÂY DỰNG HỆ THỐNG ĐOLƯỜNGVÀ ĐIỀU KHIỂN NHIỆTĐỘ Khoá luận thực hướng dẫn ThS Chử Văn An đồng hướng dẫn CN Bùi Thanh Tùng có nội dung sau: - Tìm hiểu chung đolường điều khiển - Khảo sát phương pháp đonhiệtđộ - Tìm hiểu ứng dụng vi điều khiển AVR - Thiết kế hệ thống đo điều khiển nhiệt độ, có khả áp dụng vào thực tế Khóa lun tt nghip Trần Đình Thức K46ĐB MC LC Mở đầu Phần Lý thuyết Chương Lý thuyết chung đolường điều khiển 1.1 Điều khiển hai vị trí 1.2 Điều khiển ba vị trí 1.3 Điều khiển tỷ lệ 1.4 Điều khiển tích phân 10 1.5 Điều khiển tích phân - tỷ lệ 11 1.6 Điều khiển vi phân 12 1.7 Điều khiển vi phân - tỷ lệ 13 1.8 Điều khiển vi phân - tích phân - tỷ lệ 13 1.9 Điều khiển mờ 13 Chương Các phương pháp đonhiệt độ, phương pháp sử dụng nhiệt điện trở 14 2.1 Các phương pháp đonhiệtđộ 14 2.2 Cảm biến đonhiệtđộ sử dụng khoá luận 19 2.3 Phương pháp đonhiệtđộ sử dụng nhiệt điện trở 25 Phần Thực nghiệm 28 Chương Mơ hình tổng quan hệ thống 29 Chương Vi điều khiển AVR AT90S8535 30 2.1 Một số đặc tính vi điều khiển AT90S8535 30 2.2 Sơ đồ khối cấu trúc vi điều khiển AT90S8535 31 2.3 Hoạt động vi điều khiển AT90S8535 33 Chương Thiết kế mạch đo điều khiển nhiệtđộ 37 3.1 Yêu cầu thiết kế 37 3.2 Mạch đonhiệtđộ 38 3.3 Mạch điều khiển nhiệtđộ 39 Chương Kết 40 Kết luận 43 Phụ lục 44 Khóa luận tốt nghiệp Trần Đình Thức K46ĐB M u Trong nhng nm cuối kỷ 20, chủ trương Đảng nhà nước ta tiến hành cơng nghiệp hố, đại hoá đất nước Cho đến kinh tế đất nước có nhiều chuyển biến tích cực, tình hình trị, xã hội ổn định, đời sống nhân dân nâng cao Khoa học kĩ thuật công nghệ trở thành quốc sách hàng đầu, giữ vai trò then chốt nghiệp mà Đảng đề Cùng với phát triển khoa học kĩ thuật, hệ thống điều khiển tự động ngày đựoc ứng dụng rộng rãi lĩnh vực, giải phóng phần lớn sức lao động người, sản phẩm làm có chất lượng cao, giá thành hạ đem lại hiệu vô to lớn Hiện nước ta, việc sản xuất khai thác hệ thống điều khiển tự động hạn chế nên hiệu kinh tế thấp, khơng đáp ứng nhu cầu xã hội Do đặt vấn đề cần phải chế tạo, nâng cấp hệ thống điều khiển tự động đại áp dụng chúng vào đời sống Được hướng dẫn thầy giáo, ThS Chử Văn An, em tiến hành tìm hiểu, thiết kế hệ thống tự động đo điều khiển nhiệtđộ dựa vi điều khiển AVR Hệ thống có tính thiết thực cao, ứng dụng rộng rãi nhiều lĩnh vực như: y tế, khoa học kĩ thuật, giáo dục Khóa lun tt nghip Trần Đình Thức K46ĐB Phn Lý thuyết Khóa luận tốt nghiệp Chương TrÇn §×nh Thøc – K46§B Lý thuyết chung đolường điều khiển Kỹ thuật điều khiển phát triển kéo theo tiến triển phương pháp điều khiển Tùy vào đối tượng yêu cầu thực tế mà người ta lựa chọn phương pháp điều khiển thích hợp Hầu hết phương pháp điều khiển dựa vào độ sai lệch giá trò đặt giá trò đo để đưa đònh Sau ta điểm qua số phương pháp điển hình, ưu khuyết điểm 1.1 Điều khiển hai vị trí Đầu điều khiển(%) Đây phương pháp điều khiển đơn giản rẻ tiền Đầu điều khiển có hai vò trí phụ thuộc vào dấu sai lệch Nếu hai vò trí đóng hoàn toàn mở hoàn toàn người ta gọi điều khiển on-off Hầu hết điều khiển hai vò trí có thêm vùng trung hòa để ngăn ngừa dao động đầu (là dao động hai vò trí đầu sai lệch quanh quẫn bên vò trí zero) Vùng trung hòa vùng quanh vò trí zero mà không diễn hành động điều khiển Độ sai lệch phải vượt qua vùng xảy hành động điều khiển Vùng trung hòa 100 - + Sai lệch Hình 1.1 Mối quan hệ vào/ra điều khiển hai vò trí Bộ điều khiển hai vò trí cung cấp xung lượng đến trình, điều tạo chu kỳ điều khiển có biên độ phụ thuộc vào ba yếu tố : độ quán tính, thời gian trễ, mức độ thay đổi tải Độ dao động giảm xảy hay nhiều thay đổi : tăng độ quán tính, giảm thời gian trễ, giảm độ thay đổi tải Điều khiển hai vò trí phù hợp cho trình có độ quán tính lớn, thời gian trễ độ thay đổi tải nhỏ (ví dụ điều khiển nhiệtđộ lò nung chẳng hạn) Tuy điều khiển hai vò trí hạn chế đối tượng điều khiển vậy, đơn giản rẻ tiền nên người ta thích dùng Khúa lun tt nghip 1.2 Trần Đình Thức K46§B Điều khiển ba vị trí Điều khiển ba vò trí trường hợp đặc biệt điều khiển hai vò trí Trong đối tượng điều khiển nằm trạng thái ổn đònh miễn độ sai lệch nằm vùng trung hòa Một độ sai lệch vượt qua vùng trung hòa điều khiển đối tượng thay đổi lượng có chiều phụ thuộc vào dấu sai lệch Khi đối tượng điều khiển liên tục thay đổi độ sai lệch trở vùng trung hòa, điều khiển tiến đến nhừng vò trí bão hòa Tốc độ điều khiển Vùng trung hòa + - + Sai lệch Hình 1.2 Mối quan hệ vào/ra điều khiển ba vò trí Điều khiển ba vò trí có khuynh hướng làm tạo chu kỳ điều khiển Biên độ chu kỳ phụ thuộc vào thời gian trễ, độ quán tính, tốc độ tăng giảm điều khiển Tốc độ xác đònh độ thay đổi nhanh tải (không phải độ lớn thay đổi) Ưu điểm điều khiển ba vò trí điểm này, xử lý độ thay đổi tải cách điều chỉnh dần đối tượng mà điều khiển Cũng điều khiển hai vò trí, biên độ dao động giảm tăng độ quán tính, giảm thời gian trễ, giảm tốc độ điều khiển đối tượng Từ ta thấy điều khiển ba vò trí dùng trình có quán tính đủ lớn để làm giảm tần số điều khiển đến mức chấp nhận Điều ngụ ý hệ có độ quán tính lớn với thời gian trễ nhỏ Thực tế điều khiển ba vò trí thường dùng điều khiển động điện 1.3 Điều khiển tỷ lệ Bộ điều khiển loại tạo tín hiệu đầu tỷ lệ với độ sai lệch Càng gia tăng độ tỷ lệ (tức độ lợi) lượng sai số tạo thay đổi nhỏ Điều nghóa độ lợi cao tốt, độ lợi cao khuynh hướng dao động biến điều khiển tăng Khi cần có dung hòa chúng cho độ lợi lớn mức độ mà không tạo dao động Vì lý đó, ta thấy loại trừ hoàn toàn sai số, mà tồn sai lệch tónh gọi độ sai lệch tỷ lệ (proportional offset) Độ Khóa luận tốt nghip Trần Đình Thức K46ĐB lụựn cuỷa sai leọch tónh tỷ lệ thuận với độ lớn thay đổi tải tỷ lệ nghòch với độ lợi Do điều khiển tỷ lệ dùng độ lợi đủ lớn để giảm sai lệch tónh đến mức chấp nhận Tuy nhiên, ưu điểm điều khiển tỷ lệ đáp ứng tức khắc Không có khoảng thời gian trễ kể từ xảy thay đổi tải tín hiệu điều khiển Vì vậy, dùng điều khiển tỷ lệ trình có độ quán tính nhỏ (không thể sử dụng điều khiển hai hay ba vò trí !) Phương trình miền thời gian : y(t) = KP.e(t) + y0 Hàm truyền : G(s) = KP 1.4 Điều khiển tích phân Sai lệch Bộ điều khiển tích phân tạo tín hiệu điều khiển lượng tỷ lệ với tích phân sai lệch Vì thế, miễn trình sai số điều khiển làm việc tạo thay đổi tín hiệu tỷ lệ với độ lớn sai lệch Hình sau minh họa mối liên hệ sai lệch tín hiệu hệ thống Thời gian Tín hiệu 100 Thời gian Hình 1.3 Đáp ứng điều khiển tích phân theo sai lệch 10 Khóa luận tốt nghip Trần Đình Thức K46ĐB 011: tn s cp cho ADC = fos/8 100: tần số cấp cho ADC = fos/16 101: tần số cấp cho ADC = fos/32 110: tần số cấp cho ADC = fos/64 111: tần số cấp cho ADC = fos/128 (với fos tần số dao động thạch anh cấp cho vi điều khiển) Trong khoá luận sử dụng đường ADC0, biến đổi mẫu một, thòi gian biến đổi cỡ 3us cho mẫu Câu lệnh thực hiện: Thanh ghi liệu ADCH, ADCL: ADCH - - - - - - ADC9 ADC10 ADCL ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 Cấm ADC ADCE =0 Cần nhắc lại kết đọc phải theo thứ tự byte thấp trước, byte cao sau, lý biến đổi ADC thực biến đổi xong, vi điều khiển cập nhật kết vào ghi ADCL, ADCH theo thứ tự cập nhật vào ghi ADCL trước Do đó, khơng đọc kết ghi ADCL trước có trường hợp giá trị ta đọc kết phép biến đổi mong muốn Chọn mode biến đổi không liên tiếp: bit ADFR Xác định hệ số chia lấy xung nhịp cho hoạt động ADC Cho phép ADC ADCE =1 Khởi phát trình biến đổi: ADSC =1 Lưu đồ thực việc biến đổi A/D không sử dụng ngắt trình bày hình 20 ADSC==0 ? Đọc byte thấp trước, byte cao sau Hình 2.7 Lưu đồ thực việc biến đổi A/D không sử dng ngt 40 Khúa lun tt nghip Trần Đình Thức – K46§B Hoạt động đếm định thời 8535 có đếm/định thời bit 16 bit Để xác định đếm hay định thời ta phải đặt bit ghi điều khiển TCCR ( Timer/Counter Control Register) Hoạt động đếm: Giả sử ta sử dụng đếm để đếm số nhịp tim Bộ đếm có ghi: Định ghi điều khiển ghi số liệu Định dạng ghi sau: dạng ghi điều khiển TCCR0 (Timer/Counter Control Register): - - - - - CS02 CS01 CS00 -: bit không sử dụng CS02 00: Clock Select 0: bit xác định tần số xung nhịp cấp cho định thời Các bit dùng để xác định xem timer/counter0 hoạt động chế dộ đếm hay định thời Cụ thể: CS0 CS0 CS0 0 0 dừng đếm/ định thời 0 Ck Ck/8 1 Ck/64 0 Ck/256 1 Ck/1024 1 Xung nhịp (chân T0), sườn xuống tácdụng 1 Xung nhịp (chân T0), sườn lên tác dụng Mô tả Ck tần số thạch anh cấp xung nhịp cho vi điều khiển 36 Khúa lun tt nghip Trần Đình Thức K46ĐB Bộ định thời hoạt động đếm kiện ta xác định xung nhịp tác dụng cấp từ bên ngồi qua chân T0 Khi số xung nhịp tác dụng vào T0 lưu trữ ghi TCNT0 Đây ghi bit, lưu trữ số đếm Giá trị ghi tăng lên sau xung nhịp tác dụng Chương 3.1 Thiết kế mạch đo điều khiển nhiệtđộ Yêu cầu thiết kế Như nói phần trước, khố luận chọn nhiệt điện trở bán dẫn có hệ số nhiệt âm NT cảm biến đonhiệtđộ với lý do: Nhiệt điện trở có độ nhạy cao, đặc tính nhiệt ổn định Thiết kế mạch đơn giản Cảm biến nhiệt điện trở có hệ số nhiệt âm hoạt động nguyên lý: Khi nhiệtđộ tăng điện trở nhiệt điện trở giảm ngược lại nhiệtđộ giảm điện trở nhiệt điện trở tăng.Thơng thường ta đo điện áp hai đầu nhiệt điện trở để lấy thơng tin nhiệtđộ Có hai cách để đonhiệtđộnhiệt điện trở với đầu điện áp: Phương pháp dùng nguồn dòng: Iref Vra =Iref.Rt Rt: Điện trở nhiệt Vra Iref :Nguồn dòng chuẩn Rt Với dòng điện Iref số điện áp lối ra: Vra =k.Rt Hình 3.1 Sơ đồ mạch dùng nguồn dòng chuẩn Ưu điểm: Ứng với điện áp Vra đo -> Rt tương ứng -> nhiệtđộ tương ứng Phương pháp thường cho kết nhanh Nhược điểm: Do quan hệ điện trở nhiệt điện trở nhiệtđộ khơng tuyến tính nên điều gây khó khăn cho việc xử lý sau Bên cạnh nguồn dòng đòi hỏi phải ổn định không trôi theo nhiệtđộ 37 Khúa lun tt nghip Trần Đình Thức K46ĐB Phng pháp dùng nguồn áp chuẩn: Điện áp ra: Vra = Vref Vref đó: R1 Rt Rt + R1 Vref: Nguồn áp chuẩn Rt: điện trở nhiệt Vra R1: Điện trở tải Rt Ưu điểm: Phương pháp tương đối thuận lợi cho việc xử lý số liệu Hình 3.2 Sơ đồ mạch dùng nguồn áp chuẩn Nhược điểm: Nguồn nuôi chuẩn phải ổn định, không trôi theo nhiệt độ, điện trở R1 phải có độ xác cao 3.2 Mạch đonhiệtđộ Trên thực tế, sơ đồđonhiệtđộnhiệt điện trở có nhiều Nhưng phân tích việc dùng vi điều khiển AVR AT90S8535 cung cấp nguồn dòng nguồn dòng ổn định (0.12mA) Bên cạnh với yêu cầu đặt thiết kế mạch nhỏ gọn cầm tay nên khố luận em sử dụng phương pháp dùng nguồn dòng Với phương pháp mạch điện đơn giản hơn, phức tạp đáp ứng yêu cầu lượng sử dụng thiết bị không dây Trên sở phương pháp đo trình bày trên, mạch điện tử đonhiệtđộ xây dựng Sau sơ đồ khối nguyên lý hệ đonhiệt độ: TÝn hiÖu nhiƯt ®é Cảm biến nhiệtđộ Khuếch đại ADC Hình 3.3 Sơ đồ khối mạch đonhiệtđộ 38 Vi iu khin Khúa lun tt nghip Trần Đình Thức K46§B Mạch đonhiệtđộ gồm khối với chức sau: Khối cảm biến nhiệt độ: khối có nhiệm vụ thu nhận tín hiệu nhiệtđộ từ thể người Khối tiền khuếch đại: tín hiệu lối cảm biến nhiệt đưa vào tiền khuyếch đại mà khuếch đại lặp lại để phối hợp trở kháng Khối khuếch đại dịch mức tín hiệu: tín hiệu thu lối khuếch đại lặp lại nhỏ nên tiếp tín hiệu đưa qua khuếch đại dùng khuếch đại thuật tốn với lối vào đảo có hệ số khuếch đại: k = R5/R4 ~10 lần dịch chuyển đến miền làm việc ADC Mạch sử dụng ADC tích hợp sẵn AVR Bộ khuếch đại trường hợp khuếch đại đảo dùng LM324 LM324 khuếch đại thuật toán kép 4, tiêu thụ lượng, hoạt động chế độ nguồn đơn…rất thích hợp để sử dụng sơ đồ Khối đưa vào vi điều khiển: xử lý liệu thu từ biến đổi ADC Dưới sơ đồ mạch nguyên lý hệ đo 3.3 Mạch điều khiển nhiệtđộ Sơ đồ sử dụng điện áp 220V Sơ đồ sử dụng nguồn chiều 39 Khúa lun tt nghip Chng Trần Đình Thức K46§B Kết Kết khảo sát đường đặc trưng cảm biến nhiệtđộ Điện áp [mmV] Đường đặc trưng Nhiệtđộ - Điện áp 120 100 80 60 40 20 0 500 1000 1500 2000 Nhiệt độ[ C] Đường đặc trưng ADC - Nhiệtđộ 120 Nhiệtđộ [C] 100 80 60 40 20 0 100 200 300 400 Giá trị ADC NhiệtĐộ = -33.629Ln(GiáTrịADC) + 203.5 40 Khúa lun tt nghip Trần Đình Thức K46§B Kết điều khiển nhiệtđộ Điều khiển nhiệtđộ phương pháp Đóng - Ngắt (On/Off): Nhiệtđộ [ C] Điều khiển phương pháp On/Off 80 Nhiệtđộ tức thời 60 40 Nhiệtđộ đặt 20 17 25 33 41 49 57 65 Thời gian [2 * s] 41 Khóa luận tốt nghiệp TrÇn §×nh Thøc – K46§B Điều khiển nhiệtđộ phương phỏp PID 42 Khúa lun tt nghip Trần Đình Thức – K46§B Kết luận Qua thời gian nghiên cứu, tìm hiểu đolường điều khiển nhiệtđộ ứng dụng vi điều khiển AVR, khoá luận thu kết sau: - Tìm hiểu chung đolường điều khiển Tìm hiểu chung phương pháp đonhiệtđộ Nghiên cứu phương pháp đonhiệtđộ cảm biến EC95F103V Tìm hiểu cấu trúc hoạt động vi điều khiển AVR AT90S8535 Thiết kế hệ thống đolường điều khiển nhiệtđộ hoàn chỉnh, ứng dụng phương pháp On/Off PID Hệ thống thiết kế cho phép đo điều khiển nhiệtđộ dải – 100 độ C với độ xác cao ± độ C Do thời gian làm khố luận khơng nhiều nên hệ thống thiết kế có phạm vi ứng dụng hẹp Khi có điều kiện thuận lợi, hệ thống thiết kế cách hoàn thiện, dễ sử dụng, khả áp dụng vào thực tế nhiều lĩnh vực: ytế, giáo dục, khoa học … cao 43 Khúa lun tt nghip Trần Đình Thức K46ĐB Ph lục Chương trình vi điều khiển AVR AT90S8535 #include #include #include unsigned int kqADC,Lobyte,Hibyte; unsigned char tempL,tempH, temp; unsigned int NhietDoDat; #pragma interrupt_handler uart_rx_isr:12; void uart_rx_isr(void); int DoNhietDo(void); // -void uart0_init(void) { UCR = 0x00; //disable while setting baud rate UBRR = 0x33; //set baud rate 9600 UCR = 0x98; //10011000 enable transmitter } // -void uart_rx_isr(void) { temp = UDR; NhietDoDat = temp