Đồ án ĐO NHIỆT ĐỘ HIỂN THỊ LÊN LCD ĐIỀU KHIỂN QUẠT VÀ CÒI BÁO HIỆU

25 631 8
Đồ án ĐO NHIỆT ĐỘ HIỂN THỊ LÊN LCD ĐIỀU KHIỂN QUẠT VÀ CÒI BÁO HIỆU

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nhu cầu hiện đại hoá đang trở thành xu hướng của toàn cầu. Hiện đại hóa đem lại sự tiện nghi, hiện đại, và giải quyết nhiều vấn đề cho con người. Do đó, em thực hiện đề tài này với mong muốn hiện đại hóa trong điện tử sẽ càng ngày càng thịnh hành.

CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1 Ý tưởng hình thành đồ án - Nhu cầu đại hoá trở thành xu hướng tồn cầu Hiện đại hóa đem lại tiện nghi, đại, giải nhiều vấn đề cho người Do đó, em thực đề tài với mong muốn đại hóa điện tử ngày thịnh hành 1.2 Các chức mạch - Đo nhiệt độ IC lm35 (từ 25 oC đến 70 oC) Dùng vi xử lý PIC16F877A để tín nhiệt độ hiển thị lên LCD - Nếu nhiệt độ đo đươc từ cảm biến cao 30 oC, vi xử lý điều khiển còi chạy thơng qua relay - Nếu nhiệt độ đạt 40 oC, vi điều khiển điều khiển quạt chạy thơng qua relay - Có thêm nút bấm để điều chỉnh nhiệt độ điều khiển quạt chạy còi ( nút UP, DOWN MENU ) CHƯƠNG 2: THIẾT KẾ CÁC MẠCH THIẾT BỊ 2.1 Giới thiệu tổng quan hệ thống - Hệ thống bao gồm khối liên kết với với trung tâm vi điều khiển PIC16F877A Sơ đồ chân PIC16F877A - Khối vi điều khiển trung tâm sử dụng PIC16F877A với nguồn cung cấp 5V - Khối đo nhiệt độ (input) sử dụng cảm biến LM35 đo nhiệt độ Vận chuyển liệu thu vi điều khiển qua chân AN0 - Khối hiển thị LCD sử dụng LCD 16x2 kết nối với vi điều khiển để hiển thị nhiệt độ thu từ cảm biến - Khối cài đặt nhiệt độ gồm nút nhấn để điều chỉnh nhiệt độ bật quạt báo còi thích hợp - Khối điều khiển thiết bị bao gồm relay dùng để điều khiển quạt relay dùng để điều khiển còi báo hiệuđồ tổng quát hệ thống - Ở hệ thống , nhìn chung sử dụng chân PIC16F877A với chức xuất nhập I/O, hiển thị LCD module relay để điều khiển thiết bị Với thứ phát triển thêm nhiều ứng dụng khác làm tăng khả cho board mở rộng để giám sát thêm nhiều cảm biến hay mở rộng port I/O để điều khiển với số lượng thiết bị lớn 2.2 Khối vi điều khiển trung tâm a) PIC16F877A - Mạch ứng dụng với u cầu khơng cao, PIC16F877A vi điều khiển phù hợp họ VĐK phổ biến có nhiều tài liệu phần mềm hỗ trợ - Thiết lập PIC16F877A: + Xung clock nội Mhz + Sử dụng chuyển đổi tín hiệu tương tự sang tín hiệu số ADC 10 bit đa hợp kênh, giao tiếp với tín hiệu tương tự nhận từ cảm biến LM35 + Lập trình nhớ Flash cho chương trình EEPROM cho biến chức đặt cho khối điều khiển + Các ngõ vào I/O nối với thiết bị ngoại vi LCD, nút bấm relay + Port D đặt ngõ giao tiếp hiển thị LCD + Port B đặt ngõ vào cho chân nối với button thực việc ngắt + Port A đặt ngõ vào thu nhiệt độ từ sensor LM35 + Port C ngõ thực việc phát còi báo bật quạt b) Thạch anh - Thạch anh dao động ổn định để tạo tần số dao động cho chíp PIC16F877A hoạt động - PIC16F877A sử dụng dao động thạch anh có tần số dao động 4MHz Hai tụ 22pF thạch anh để tạo xung nhịp cho PIC16F877A chân OSC1 (chân số 13) OSC2 (chân số 14) Thạch anh MHz Kết nối thạch anh với PIC16F877A c) Reset button - PIC16F877A tự động reset chân reset bị kéo xuống đất (tức nối xuống âm), điện trở R1 phải có giá trị nhỏ 40K để bảo đảm điện áp cung cấp cho vi điều khiển Thời gian tích cực chân reset phải tối thiểu chu kì máy xác nhận reset Khi bấm reset tụ bị xả, nhả nút reset ra, tụ đc nạp nên chân reset từ từ bị kéo xuống tạo khoảng thời gian lớn chu kì máy chống nảy cho phím bấm Như để reset mạch ta dùng button mắc hình Reset button d) Mạch nạp - Sử dụng mạch nạp đa Burn E dùng cho loại PIC Mạch nạp kết nối với PIC qua dãy chân nạp thiết kế sẵn board Các chân nạp có trình tự kết nối sau: + Chân Burn E kết nối với chân MCLR vi điều khiển + Chân kết nối với chân nguồn PIC chân số 11 32 + Chân kết nối với chân nối đất PIC chân số 12 31 + Chân 4,5 kết nối với port RB7 RB6 PIC Sơ đồ kết nối chân mạch nạp e) Khối nguồn - Nguồn 5v cung cấp nguồn cho toàn mạch thiết bị ngoại vi - Nguồn phụ 12V cung cấp cho quạt thông qua relay Bộ nguồn 5V 12V 2.3 Khối đo nhiệt độ a) Cảm biến nhiệt độ LM35 Sơ lược - Hiệu chỉnh trực tiếp qua độ C - Ngõ điện áp tuyết tính 10mV/oC - Tầm đo -55oC tới 150oC - Giá thành rẻ, thông dụng Sơ lược LM35 b) Chuyển đổi giá trị ADC sang nhiệt độ - Như biết tín hiệu đầu vào cảm biến nhiệt độ LM35 giá trị ADC Như vậy, cần phải biến đổi giá trị ADC thành giá trị nhiệt độ để hiển thị lên LCD - Theo lý thuyết ta có: Cứ 5000mV Vậy X > 1023adc > Giá trị ADC thu Trong X ngõ điện áp cảm biến vào vi điều khiển ==> X = Mặ khác ta có: Cứ 10mV ta 1oC ==> Nhiệt độ = = c) Kết nối - LM35 có kết nối đơn giản với chân nối nguồn đất chân liệu cho PIC - Tuy nhiên mắc chưa tối ưu hóa nhiệt độ đo vào có ảnh hưởng nhiễu - Cách giả cho vấn đề lọc nhiễu cho cảm biến mạch lọc RC có giá trị nhà phát hành PIC đưa LM35 với mạch lọc RC - Vì trở 75Ω khơng có nhiều thị trường nên ta linh động chọn trở 100Ω - Để đảm bảo tính chống nhiễu cao cho khối đo nhiệt độ, hệ thống sử dụng lọc nhiễu code cách lấy 10 lần đo nhiệt độ chia lấy giá trị trung bình Như khả chống nhiễu khối cao Kết nối khối đo nhiệt 2.4 Khối hiển thị LCD - LCD 16x2 hiển thị tất kí tự bảng mã ASCCI nối với Port D vi điều khiển - Giống led thanh, LCD thiết bị ngoại vi dùng để giao tiếp với người dùng, so với led LCD có ưu điểm hiển thị tất kí tự bảng mã ascci, led hiển thị số kí tự, LCD lại có nhược điểm giá thành cao khoảng cách nhìn gần - LCD từ viết tắt Liquid Crystal Display (màn hình tinh thể lỏng) Có nhiều loại hình LCD với kích cỡ khác nhau, mạch ứng dụng ta sài loại LCD 16x2 bán phổ biến thị trường - Gồm chân nguồn VCC VDD, chân tùy chỉnh độ tương phản - Theo chân điều khiển hoạt động LCD RS RW E - Dữ liệu từ chân D0 đến D7 theo chế độ bit bit Ở thiết kế em sử dụng chế độ bit nhằm tiết kiệm chân ngoại vi vi điều khiển - Chân 15 chân dương đèn led LCD nối vào nguồn 5V LCD 16x2 2.5 Khối cài đặt nhiệt độ - Sử dụng chân RB0, RB1, RB2 gắn với nút nhấn - Khi chưa nhấn nút Nguồn điện chạy qua trở chạy vào chân input RB0 tới RB2 Khi chân nhận đầu vào mức cao - Khi thực việc bấm nút, chân vi điều khiển nối mass Sử dụng lệnh ngắt có đầu vào mức thấp code vi điều khiển - Như ta bấm nút vi điều khiển ngắt sang chế độ làm việc khác Cho phép ta cài đặt điều chỉnh nhiệt độ báo đèn nhiệt độ bật quạtđồ nguôn lý khối cài đặt nhiệt độ 2.6 Khối điều khiển thiết bị a) Điều khiển còi - Công dụng: nhiệt độ cao mức 30 độ (nhiệt độ mặc định điều chỉnh) thực việc bật còi báo hiệu - Vận hành: nhiệt độ tăng 30 oC, vi điều khiển xuất mức tín hiệu cao 5V chân RC1 kết nối với còi b) Điều khiển quạt relay RELAY - Relay có nhiệm vụ điều khiển thiết bị ngoại vi thơng qua tiếp điểm thường đóng thường hở Mạch sử dụng oppto kích transistor relay cách li điều khiển thiết bị với khả ứng dụng cao, sử dụng điều khiển cho nhiều loại thiết bị khác kể thiết bị dùng nguồn 220V xoay chiều - Nguyên lí hoạt động kênh tiêu biểu khối sau: nhìn vào sơ đồ ngun lí ta thấy, có tín hiệu ngỏ từ chân vi diều khiển mức cao 5V kích vào Anot led oppto làm led oppto sáng, transistor quang oppto dẫn nguồn VCC qua điện trở 10K kích vào cực B transistor C1815 Khi transistor C1815 dẫn tiếp tục làm nguồn VCC qua cuộn dây relay đổ xuống mass Khi có điện qua cuộn dây relay cơng tắc relay bật kết thúc trình điều khiển thiết bị Sơ đồ nguyên lý relay - Quạt kết nối với chân COM NO module relay Khi có tín hiệu mức cao kích vào, chân NO đóng làm cho quạt chạy Kết nối quạt với module relay 2.7 Xây dựng lưu đồ thuật toán viết chương trình Sơ đồ thực Code CHƯƠNG 3: KẾT QUẢ 3.1 Ưu điểm - Mạch nhỏ gọn, ứng dụng cao - Sử dụng module relay cách ly nguồn điện thiết bị với mạch - Cảm biến chống nhiễu cao qua lọc nhiễu - Nguồn cung cấp mạch không nhiều, tiết kiệm lượng - Mạch thiết kế linh động tái sử dụng 3.2 Nhược điểm - Code chưa tối ưu - Kích thước chưa tối ưu - Giá trị đọc chưa xác - Điều khiển quạt đèn báo Code chương trình #include int8 CheDo=0; int8 NhietDoMax = 40; int8 NhietDoMin = 30; void _DieuKhien(int8 TenTai, int1 TrangThai); #INT_EXT void NgatINT0(void) { CheDo=CheDo+1; if(CheDo>2) { CheDo=0; } } void main() { //khai bao cac bien cuc bo o day int16 GiaTriADC; float Tam; int8 NhietDo; int8 i; int32 Tong; setup_adc(ADC_CLOCK_INTERNAL); setup_adc_ports(AN0_AN1_AN2_AN3_AN4); clear_interrupt(INT_EXT); enable_interrupts(INT_EXT); enable_interrupts(INT_EXT_H2L); enable_interrupts(GLOBAL); lcd_init(); lcd_putc('\f'); //output_bit(PIN_C0,0); //output_bit(PIN_C1,0); _DieuKhien(1,0); _DieuKhien(2,0); while(TRUE) { //TODO: User Code /* theo ly thuyet ta co cu 5000mv vay x > < 1023 adc GiaTriADC => x = (5000*GiaTriADC)/1023 mat khac theo datasheet thi: cu 10mv > 1C vay (5000*GiaTriADC)/1023 > y => y = ((5000*GiaTriADC)/1023)/10 = (500*GiaTriADC)/1023 */ while(CheDo==0) { Tong=0; for(i=1;i60) { NhietDoMax=40; } } else if(DOWN==0) { while(DOWN==0); NhietDoMax=NhietDoMax-1; if(NhietDoMax=NhietDoMax) { NhietDoMin=30; } } else if(DOWN==0) { while(DOWN==0); NhietDoMin=NhietDoMin-1; if(NhietDoMin

Ngày đăng: 09/10/2018, 23:00

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan