1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

25 638 8

Đ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

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 687,39 KB

Nội dung

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.

Trang 1

CHƯƠNG 1: GIỚI THIỆU CHUNG

1.1 Ý tưởng hình thành đồ án

- 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 conngườ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

1.2 Các chức năng cơ bản của mạch

- Đo nhiệt độ bằng IC lm35 (từ 25 oC đến 70 oC) Dùng vi xử lýPIC16F877A để tín hiện nhiệt độ và hiển thị lên LCD

- Nếu nhiệt độ đo đươc từ cảm biến cao hơn 30 oC, vi xử lý sẽ điềukhiển còi chạy thông qua relay

- Nếu nhiệt độ quá đạt 40 oC, vi điều khiển sẽ điều khiển quạt chạythông qua relay

- Có thêm 3 nút bấm để điều chỉnh nhiệt độ điều khiển quạt chạy vàcòi ( nút UP, DOWN và MENU )

Trang 2

CHƯƠNG 2: THIẾT KẾ CÁC MẠCH THIẾT BỊ2.1 Giới thiệu tổng quan về hệ thống

- Hệ thống bao gồm 5 khối chính liên kết với nhau với trung tâm là 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 cungcấp 5V

- Khối đo nhiệt độ (input) sử dụng cảm biến LM35 đo nhiệt độ Vậnchuyển dữ liệu thu được về 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 được từ cảm biến

Trang 3

- Khối cài đặt nhiệt độ gồm các nút nhấn để điều chỉnh nhiệt độ bậtquạt và báo còi thích hợp

- Khối điều khiển thiết bị bao gồm 1 con relay dùng để điều khiểnquạt và 1 con relay dùng để điều khiển còi báo hiệu

Sơ đồ tổng quát hệ thống

- Ở hệ thống trên , nhìn chung chỉ sử dụng những chân cơ bản củaPIC16F877A với chức năng xuất nhập I/O, hiển thị LCD và module relay đểđiều khiển thiết bị Với những thứ cơ bản đó chúng ta có thể phát triển thêmnhiều ứng dụng khác làm tăng khả năng cho board như mở rộng để giám sátthêm nhiều cảm biến hay mở rộng port I/O để có thể điều khiển với số lượngthiết bị lớn hơn

2.2 Khối vi điều khiển trung tâm

a) PIC16F877A

Trang 4

- Mạch ứng dụng với yêu cầu không cao, vì vậy PIC16F877A là viđiều khiển phù hợp do đây là họ VĐK phổ biến và có nhiều tài liệu và phầnmềm hỗ trợ.

- Thiết lập PIC16F877A:

+ Xung clock nội 4 Mhz

+ Sử dụng bộ chuyển đổi tín hiệu tương tự sang tín hiệu số ADC 10bit đa hợp 8 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 trên bộ nhớ Flash cho chương trình chính và EEPROMcho các biến chức năng đặt cho khối điều khiển

+ Các ngõ vào I/O nối với các thiết bị ngoại vi là LCD, nút bấm vàrelay

+ Port D được đặt là ngõ ra giao tiếp hiển thị LCD

+ Port B đặt ngõ vào cho các chân nối với button thực hiện việc ngắt+ Port A đặt ngõ vào thu nhiệt độ từ sensor LM35

+ Port C là ngõ ra thực hiện việc phát còi báo và bật quạt

Trang 6

nhả nút reset ra, tụ đc nạp nên chân reset sẽ từ từ bị kéo xuống 0 tạo khoảngthời gian lớn hơn 2 chu kì máy và chống nảy cho phím bấm Như vậy đểreset mạch ta dùng một button và mắc như hình trên.

Reset buttond) Mạch nạp

- Sử dụng mạch nạp đa năng Burn E dùng cho các loại PIC Mạch nạpđược kết nối với PIC qua 1 dãy chân nạp được thiết kế sẵn trên board Cácchân nạp có trình tự kết nối như sau:

+ Chân 1 Burn E kết nối với chân MCLR của vi điều khiển

+ Chân 2 kết nối với 2 chân nguồn của PIC là chân số 11 và 32

+ Chân 3 kết nối với 2 chân nối đất của PIC là chân số 12 và 31

+ Chân 4,5 lần lượt kết nối với port RB7 và RB6 của PIC

Trang 7

Sơ đồ kết nối chân mạch nạpe) Khối nguồn

- Nguồn chính 5v cung cấp nguồn cho toàn mạch và các thiết bị ngoạivi

- Nguồn phụ 12V được cung cấp cho quạt thông qua relay

Bộ nguồn 5V và 12V

2.3 Khối đo nhiệt độ

Trang 8

a) Cảm biến nhiệt độ LM35

Sơ lược

- Hiệu chỉnh trực tiếp qua độ C

- Ngõ ra đ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 về LM35b) Chuyển đổi giá trị ADC sang nhiệt độ

- Như chúng ta đã biết tín hiệu đầu vào của cảm biến nhiệt độ LM35

là giá trị ADC Như vậy, cần phải biến đổi giá trị ADC này thành giá trị nhiệt

độ để có thể hiển thị lên LCD

- Theo lý thuyết ta có:

Cứ 5000mV > 1023adc

Vậy X > Giá trị ADC thu được

Trong đó X là ngõ ra điện áp của cảm biến vào vi điều khiển

==> X =

Trang 9

Mặ khác ta có:

Cứ 10mV thì ta được 1oC

==> Nhiệt độ =

= c) Kết nối

- LM35 có kết nối đơn giản với 2 chân nối nguồn đất và 1 chân dữliệu cho PIC

- Tuy nhiên nếu mắc như vậy vẫn chưa tối ưu hóa được nhiệt độ đovào do có sự ảnh hưởng của nhiễu

- Cách giả quyết cho vấn đề này là lọc nhiễu cho cảm biến bằng 1mạch lọc RC do có giá trị do nhà phát hành PIC đưa ra

LM35 với mạch lọc RC

- Vì trở 75Ω không có nhiều trên thị trường nên ta có thể linh độngchọn trở 100Ω

- Để đảm bảo tính chống nhiễu cao cho khối đo nhiệt độ, hệ thống còn

sử dụng 1 bộ lọc nhiễu trên code bằng cách lấy 10 lần đo nhiệt độ rồi chialấy giá trị trung bình Như vậy khả năng chống nhiễu của khối sẽ cao hơn

Trang 10

Kết nối của khối đo nhiệt

- LCD là từ viết tắt của Liquid Crystal Display (màn hình tinh thể lỏng) Có nhiều loại màn hình LCD với các kích cỡ khác nhau, nhưng trong mạch ứng dụng này ta sài loại LCD 16x2 bán phổ biến trên thị trường

- Gồm 2 chân nguồn VCC và VDD, chân 3 tùy chỉnh độ tương phản

- Theo đó là 3 chân điều khiển hoạt động của LCD là RS RW và E

Trang 11

- Dữ liệu từ chân D0 đến D7 theo chế độ 4 bit hoặc 8 bit Ở thiết kế này em sử dụng chế độ 4 bit nhằm tiết kiệm chân ngoại vi của vi điều khiển

- Chân 15 là chân dương đèn led nền của LCD được nối vào nguồn 5V

- Khi thực hiện việc bấm nút, chân của vi điều khiển được nối mass

Sử dụng lệnh ngắt khi có đầu vào là mức thấp trong code của vi điều khiển

- Như vậy khi ta bấm nút vi điều khiển sẽ 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 và nhiệt độ bật quạt

Trang 12

Sơ đồ nguôn lý của 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: khi nhiệt độ cao quá mức 30 độ (nhiệt độ mặc định có thể điều chỉnh) thực hiện việc bật còi báo hiệu

- Vận hành: khi nhiệt độ tăng quá 30 oC, vi điều khiển xuất 1 mức tín hiệu cao 5V ra chân RC1 kết nối với còi

Trang 13

b) Điều khiển quạt relay.

RELAY

- Relay có nhiệm vụ điều khiển các thiết bị ngoại vi thông qua tiếpđiểm thường đóng và thường hở Mạch sử dụng các oppto kích transistor vàrelay cách li điều khiển thiết bị với khả năng ứng dụng cao, có thể sử dụngđiều khiển được cho rất nhiều loại thiết bị khác nhau kể cả thiết bị dùngnguồn 220V xoay chiều

- Nguyên lí hoạt động của 1 kênh tiêu biểu trong khối như sau: nhìnvào sơ đồ nguyên lí ta thấy, khi có tín hiệu ngỏ ra từ chân vi diều khiển ởmức cao 5V kích vào Anot led của oppto làm led oppto sáng, khi đótransistor quang của oppto dẫn nguồn VCC qua điện trở 10K kích vào cực Bcủa transistor C1815 Khi đó transistor C1815 dẫn tiếp tục làm nguồn VCCqua cuộn dây relay đổ xuống mass Khi có điện qua cuộn dây relay thì côngtắc của relay sẽ bật và kết thúc quá trình điều khiển thiết bị

Sơ đồ nguyên lý relay

- Quạt được kết nối với chân COM và NO của module relay Khi cótín hiệu mức cao kích vào, chân NO sẽ đóng làm cho quạt chạy

Trang 14

Kết nối quạt với module relay

2.7 Xây dựng lưu đồ thuật toán và viết chương trình

Trang 15

Sơ đồ thực hiện Code

Trang 16

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 của các thiết bị với mạch

- Cảm biến được chống nhiễu cao qua 2 bộ lọc nhiễu

- Nguồn cung cấp mạch không nhiều, tiết kiệm năng lượng

- Mạch được thiết kế linh động có thể tái sử dụng

3.2 Nhược điểm

- Code chưa được tối ưu

- Kích thước vẫn chưa tối ưu

- Giá trị đọc vẫn chưa chính xác

- Điều khiển quạt và đèn báo

Trang 18

setup_adc(ADC_CLOCK_INTERNAL);

setup_adc_ports(AN0_AN1_AN2_AN3_AN4);

Trang 19

//TODO: User Code

Trang 20

//Tong = Tong + GiaTriADC;

Trang 22

if(UP==0)

{

while(UP==0);

NhietDoMax=NhietDoMax+1; if(NhietDoMax>60)

NhietDoMax=40;

}

}

}

Trang 25

}

case 2:

{

output_bit(PIN_C1,TrangThai); break;

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

TỪ KHÓA LIÊN QUAN

w