Mạch cảm biến nhiệt hiển thị LCD dùng PIC 16F877A

14 4.6K 16
Mạch cảm biến nhiệt hiển thị LCD dùng PIC 16F877A

Đ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

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA ĐIỆN TỬ VIỄN THÔNG ……… MẠCH CẢM BIẾN NHIỆT ĐỘ DÙNG VI ĐIỀU KHIỂN HIỂN THỊ KẾT QUẢ RA LCD Môn học: Thiết kế Logic Khả trình GV bộ môn: ThS. Cao Trần Bảo Thương Sinh viên thực hiện: Lê Thành Tâm MSSV: 1020188 Phan Lý Trúc Anh MSSV: 1020005 12/2012 MẠCH CẢM BIẾN NHIỆT ĐỘ 1 | T h à n h T â m – T r ú c Anh NỘI DUNG I. Giới thiệu chung về mạch và ý tưởng thiết kế. II. Linh kiện sử dụng trong mạch. III. Datasheet linh kiện, công dụng và chức năng linh kiện sử dụng. 1. PIC 16F877A 1.1 Cấu trúc tổng quát PIC 16F877A. 1.2 Ứng dụng vào mạch cảm biến nhiệt độ 2. Công dụng LCD và sơ lược về chức năng của LCD trong mạch 2.1 Cấu trúc sơ lược LCD16x2 2.2 Giao tiếp giữa PICLCD 3. Cảm biến nhiệt DS18B20 IV. Nguyên lý hoạt động. V. Mô phỏng Proteus, Capture và Layout. VI. Những điều cần chú ý trong quá trình làm mạch. VII. Ứng dụng thực tiễn của mạch VIII. Nguồn tài liệu MẠCH CẢM BIẾN NHIỆT ĐỘ 2 | T h à n h T â m – T r ú c Anh I. Giới thiệu chung về mạch và ý tưởng thiết kế: Ngày nay việc sử dụng các thiết bị điện tử phục vụ đời sống hàng ngày rất phổ biến. Trong đó ta có thể kể đến các thiết bị cảm ứng và hiển thị các thông số môi trường phục vụ nhiều mục đích khác nhau nhằm tạo sự tiện lợi trong sinh hoạt hàng ngày. Bắt nguồn từ mục đích đó, nhóm em đã thiết kế một mạch cảm ứng nhiệt độ và hiển thị ra LCD sử dụng vi điều khiển PIC 16F877A và linh kiện cảm ứng nhiệt độ DS18B20. Nhiệt độ là một thông số phổ biến và rất được quan tâm trong thực tế nói riêng và trong kĩ thuật nói chung, việc cảm ứng nhiệt độ và hiển thị rất hữu ích và không khó thực hiện. Nhóm em chọn các linh kiện không quá phức tạp và khó sử dụng như PIC 16F877A, màn hình LCD 16x2 , cảm biến nhiệt DS18B20 có khả năng cảm biến tốt và dễ tìm mua. Để bắt đầu vào làm mạch này, chúng em trải qua quá trình tra cứu sách vở, tài liệu thư viện, các trang web, … cho nhóm em cách nhìn tổng quan về mạch của nhóm cần tìm hiểu và nắm những gì cho mạch của mình. Từ đó nhóm rút ra được những khái niệm cần nắm để thực hiên mạch là: - Chức năng ADC của PIC ứng dụng trong mạch. - Cách sử dụng LCD, giao tiếp giữa PIC và LCD. - Cách sử dụng cảm biến. - Tới đây đủ công cụ để làm mạch thực tế. (Viết code, proteus, vẽ layout, test mạch thử…) - Làm ra mạch thực tế. MẠCH CẢM BIẾN NHIỆT ĐỘ 3 | T h à n h T â m – T r ú c Anh II.Linh kiện sử dụng trong mạch:  PIC 16F877A  Màn hình LCD 16X2  Cảm biến nhiệt DS18B20  Thạch anh 8MHZ  Bộ nguồn 5V  Tụ, điện trở, biến trở, nút bấm. III. Datasheet linh kiện, công dụng và chức năng linh kiện sử dụng: 1. PIC 16F877A: Có thể nói, hiện nay vi điều khiển đã rất phổ biến ở Việt Nam, và được ứng dụng rất nhiều. Hiện nay có các họ vi điều khiển nổi tiếng như Atmel, Intel, hang Motorola, hãng Microchip (PIC) Nhóm em chọn PIC cho việc làm quen với vi điều khiển bởi vì PIC là họ vi điều khiển mạnh, giàu tài nguyên về phần cứng, được hỗ trợ nhiều tài liệu từ hãng sản xuất, và có nhiều tập lệnh để lập trình. Hiện nay, PIC được hỗ trợ rộng rãi từ cộng đồng và chúng ta dễ dàng tự học PIC thông qua các trang web như www.diendandientu.com, www.picvietnam.com, … Cụ thể nhóm em chọn PIC 16F877A của hãng Microchip. Đây là dòng PIC phổ biến, giá thành rẻ, có đầy đủ tính năng cơ bản của PIC, đơn giản cho người mới bắt đầu học, có nhiều tài liệu để tham khảo và học tập. Pic được tích hợp nhiều thiết bị ngoại vi nên dẫn đến thiết kế mạch đơn giản. 1.1 Cấu trúc tổng quát PIC 16F877A. - 40 pins gồm tổng cộng 5 port (Port A có 6 pins , port B, C, D có 8 pins, và port E có 3 pins). - 8Kb Flash ROM - 368 bytes RAM - 256 bytes EFPROM - 3 Timer gồm: Timer0 và Timer2 8bit. Timer1 16bit - 2 bộ Capture/Compare/PWM - 1 bộ biến đổi analog sang digital (ADC) - 2 bộ so sánh tương tự - 1 bộ định thời giám sát - 1 cổng song song 8 bit với các tín hiệu điều khiển - 1 cổng nối tiếp - 15 nguồn ngắt MẠCH CẢM BIẾN NHIỆT ĐỘ 4 | T h à n h T â m – T r ú c Anh Ưu điểm của PIC là tập lệnh gọn, dễ nhớ (35 lệnh) lập trình tiết kiệm bộ nhớ, tốc độ xử lý nhanh (cho phép chu kỳ máy lên tới 5Mhz). Bộ nhớ đủ cho hầu hết các ứng dụng thông thường. Sơ đồ chân PIC 16F877A 1.2 Ứng dụng vào mạch cảm biến nhiệt độ: Đối với mạch nhóm thực hiện, PIC 16F877A chủ yếu được khai thác ở tính năng ADC, timer 8 bit, timer 16 bit. Vì vậy những tính năng ưu việt khác của PIC 16F877A nhóm em xin được phép không đề cập. - ADC (Analog to Digital Converter) dùng để biến đổi một tín hiệu điện áp Analog vào một chân nào đó của PIC, biến đổi nó qua giá trị số (Digital) bằng cách so sánh với một điện áp tham chiếu (Reference Voltage). Điện áp tham chiếu có thể là điện áp VDD (điện áp nguồn) hoặc điện áp tham chiếu được đưa vào một chân khác. - PIC 16F877A có 10 bit chuyển đổi A/D => Giúp chúng ta không phải mất 1 bộ chuyển đổi.(dẫn đến kết nối dây sẽ trở nên đỡ phức tạp) - Sử dụng các Timer: o Timer0: 8 bit của bộ định thời, bộ đếm với hệ số tỉ lệ trước. o Timer1: 8 bit của bộ định thời, bộ đếm với hệ số tỉ lệ trước, có khả năng tăng trong khi ở chế độ Sleep qua xung đồng hồ được cung cấp bên ngoài. o Timer2: 8 bit của bộ định thời, bộ đếm với 8 bit hệ số tỉ lệ trước, hệ số. MẠCH CẢM BIẾN NHIỆT ĐỘ 5 | T h à n h T â m – T r ú c Anh 2. Công dụng LCD và sơ lược về chức năng của LCD trong mạch: Thiết bị hiển thị LCD được sử dụng trong rất nhiều các ứng dụng của vi điều khiển. LCD có rất nhiều ưu điểm so với các dạng hiển thị khác. Nó có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẻ Trong mạch này nhóm em sử dụng LCD 16X2, đây là loại LCD được sử dụng phổ biến trong cả công nghiệp và đời sống. 2.1 Cấu trúc sơ lược LCD16x2: LCD là linh kiện hiển thị được sử dụng phổ biến trong mạch vi điều khiển, khả năng hiển thị khá đa dạng. Trên màn hình LCD, thông tin được hiển thị trên hai dòng, mỗi dòng 16 kí tự. Sau đây là tên các chân và cộng dụng của chúng trong loại LCD này. Bộ nhớ LCD gồm 3 bộ nhớ: DDRAM, CGRAM, CGROM. Trong đó chức năng từng bộ nhớ như sau: *DDRAM: - Được sử dụng để lưu trữ kí tự cần hiển thị, kích thước của bộ nhớ này cho phép lưu trữ 80 kí tự. MẠCH CẢM BIẾN NHIỆT ĐỘ 6 | T h à n h T â m – T r ú c Anh - Cách hoạt động: + Thiết lập cấu hình để tăng địa chỉ một cách tự động (như cho dịch kí tự). Các kí tự được gửi qua các đường D 0 đến D 7 sẽ được hiển thị từ trái sang phải. + Nếu số các kí tự trên một dòng lớn hơn 16, tất cả các kí tự sẽ được nhớ lại nhưng chỉ có 16 kí tự được nhìn thấy trên màn hình. Để nhìn thấy các kí tự còn lại phải dùng lệnh dịch. *CGROM: Chứa một bản đồ, địa chỉ các kí tự có thể thể hiện ra màn hình đã được định sẵn. *CGRAM: Cho phép tạo và hiển thị các kí hiệu, kí tự không có sẵn trong CGROM. 2.2 Giao tiếp giữa PIC và LCD: Khối màn hình hiển thị LCD được kết nối với vi điều khiển. - Trong mạch, vi điều khiển giao tiếp với LCD theo chế độ 4 bits. - Sử dụng 4 chân D 4 , D 5 , D 6 , D 7 của LCD truyền dữ liệu. - Dữ liệu truyền tới LCD theo quy ước bit cao truyền trước, bit thấp truyền sau. - Kết nối LCD và vi điều khiển như sau: LCD Vi điều khiển D7 RB3 D6 RB2 D5 RB1 D4 RB0 E RB5 RS RB4 Sơ đồ mạch được thể hiện trong hình dưới đây. Điện thế ngõ vào được đưa vào chân AN0 ở dạng tương tự, LCD được nới với port B của vi điều khiển như là một ngõ giao tiếp 4 dây mặc định. Một biến trở cũng được nối vào LCD nhằm điều chỉnh độ phân giải. MẠCH CẢM BIẾN NHIỆT ĐỘ 7 | T h à n h T â m – T r ú c Anh Các hàm thông dụng: lcd_init() : là hàm phải có để báo rằng sẽ sử dụng LCD. lcd_putc(char c) : hàm để xuất ký tự ra LCD. lcd_gotoxy( BYTE x, BYTE y) : hàm cho phép con trỏ nhảy tới vị trí (x,y) trên LCD. 3. Cảm biến nhiệt DS18B20: DS18B20 là nhiệt kế số có độ phân giải 9-12bit giao tiếp với vi điều khiển trung tâm thông qua 1 dây duy nhất (1 wire communication). DS18B20 hoạt động với điện áp từ 3V-5.5V có thể được cấp nguồn qua chân DQ - chân trao đổi dữ liệu. Nó có thể đo nhiệt độ trong tầm -55 o C - +125 o C với độ chính xác ±0.5 o C. Mỗi DS18B20 có một Serial code 64bits duy nhất, điều này cho phép kết nối nhiều IC trên cùng đường bus. Chuẩn 1 wire có những đặc điểm sau: - Chỉ có một master trong hệ thống. - Giá thành thấp. - Tốc độ đạt dược tối đa 16kbps. - Khoảng cách truyền xa nhất là 300m. - Lượng thông tin trao đổi nhỏ. MẠCH CẢM BIẾN NHIỆT ĐỘ 8 | T h à n h T â m – T r ú c Anh DS18B20 thường được ứng dụng trong các bộ điều khiển HVAC, hệ thống giám sát nhiệt độ trong các tòa nhà, thiết bị máy móc… DS18B20 thường có 3 chân chức năng chính: 1. Chân GND: chân nối đất. 2. Chân DQ: chân trao đổi dữ liệu, đồng thời là chân cấp nguồn cho toàn bộ hoạt động của IC, nếu chân Vcc không sử dụng. Khi kết nối với vi điều khiển thì cần phải có điện trở kéo lên khoảng 4.7k. 3. Chân Vcc: chân cấp nguồn. Sơ đồ khối IC điều khiển nhiệt độ DS18B20. MẠCH CẢM BIẾN NHIỆT ĐỘ 9 | T h à n h T â m – T r ú c Anh IV. Nguyên lý hoạt động: - Cảm biến nhiệt DS18B20 đo nhiệt độ môi trường, sau đó gửi dữ liệu tới PIC 16F877A thông qua một đường truyền duy nhất (từ chân DQ (chân giữa của cảm biến nhiệt) đến chân RE2 của PIC 16F877A). - Pic 16F877A xử lý dữ liệu, dựa vào code mà mình nạp sẽ xuất nhiệt độ ra LCD16x2. Nếu nhiệt độ đo được từ 20-30 o C, LCD sẽ xuất ra dòng chữ “COMFORTABLE!”, đồng thời LED trắng sẽ nháy sáng. Nếu nhiệt độ đo được dưới 20 o C, LCD sẽ xuất dòng chữ “COLD! COLD!”, đồng thời LED đỏ 1 sẽ sáng. Nếu nhiệt độ đo được trên 30 o C, LCD sẽ xuất dòng chữ “HOT! HOT! HOT”, đồng thời LED xanh 2 sẽ sáng. [...]... cũng là một mạch điện tử thân thiện với người sử dụng, nhờ vào khả năng hiển thị đa dạng của màn hình LCD, ngoài việc hiển thị nhiệt độ mạch còn giúp hiển thị những cảnh báo hữu ích cho con người Cảm biến nhiệt DS18B20 cũng là một trong những thiết bị cảm ứng độ nhạy cao, giá thành thấp giúp cảm ứng tốt nhiệt độ môi trường Do còn hạn chế trong kiến thức về phần cứng và thực hiện thao tác làm mạch, nhóm...MẠCH CẢM BIẾN NHIỆT ĐỘ V Mô phỏng Proteus, Capture và Layout: 10 | T h à n h T â m – T r ú c A n h MẠCH CẢM BIẾN NHIỆT ĐỘ 11 | T h à n h T â m – T r ú c A n h MẠCH CẢM BIẾN NHIỆT ĐỘ VI Những điều cần chú ý trong quá trình làm mạch: - Chú ý quan trọng rằng: cảm biến nhiệt DS18B20 có 2 kiểu cấp nguồn Thứ nhất là cấp nguồn trực tiếp qua... ứng dụng của mạch này trong việc điều khiển động cơ hay các thiết bị báo cháy, thiết bị điều hòa nhiệt độ (quạt, máy lạnh…) mà chỉ dừng lại ở mức độ hiển thị Nhưng nhóm em cũng có tham khảo đến những hướng để mở rộng mạch như: - Nâng cao độ chính xác hiển thị bằng cách dùng ADC có độ phân giải cao hơn (có thể dùng ADC ngoài) - Thêm bàn phím giao tiếp để có thể thay đổi trực tiếp khoảng nhiệt độ theo... để hiển thị hai giá trị nhiệt độ này - Sử dụng EEPROM để lưu giá trị nhiệt độ mà người dùng thiết lập, các lần thay đổi khác - Ghép nối máy tính để truyền giá trị nhiệt độ đến máy tính - Ghép nối LCD và một mạch đếm thời gian thực (DS1307) để ứng với mỗi thời điểm chương trình sẽ tự động chọn khoảng thiết lập nhiệt độ thích hợp theo từng mùa, theo từng thời điểm định trước… - Sử dụng PIC trong các mạch. .. những mạch cơ bản sử dụng PIC với tính năng cảm ứng đem lại nhiều tiện ích khi sử dụng Trước hết, việc cảm ứng và hiển thị sự thay đổi và nhiệt độ môi trường là hết sức cần thiết trong cả đời sống và sản xuất, giúp chủ động trong các thao tác liên quan đến nhiệt độ môi trường như yếu tố nhiệt độ trong sinh hoạt (ấp trứng, ươm mầm, báo động…) hay các thao tác nghiệp vụ đòi hỏi nhiệt độ ổn định trong công... này - Cảm biến nhiệt DS18B20 phải nối đúng chân: chân 1 là GND, chân 2 là DQ, chân 3 là VCC Nếu nối ngược sẽ bị cháy ngay lập tức - LCD nên được tháo ra, lắp vào khi đã tắt nguồn - Nên gắn thêm cho LCD 1 biến trở để điều khiển độ sáng và độ tương phản của màn hình - Các đèn LED cần được nối qua các điện trở 330Ω để hạn dòng, không bị cháy VII Ứng dụng thực tiễn của mạch: Đây là một trong những mạch. .. từng thời điểm định trước… - Sử dụng PIC trong các mạch thiết kế tự động kết hợp với các mạch tăng giảm nhiệt độ để đảm bảo nhiệt độ luôn bám theo một giá trị cho trước, hệ ổn định nhiệt (giá trị thay đổi là rất nhỏ) 12 | T h à n h T â m – T r ú c A n h MẠCH CẢM BIẾN NHIỆT ĐỘ VIII Nguồn tài liệu:  http://www.picvietnam.com  http://www.diendandientu.com  http://www.dientuvietnam.net  http://en.wikipedia.com . em cũng có tham khảo đến những hướng để mở rộng mạch như: - Nâng cao độ chính xác hiển thị bằng cách dùng ADC có độ phân giải cao hơn (có thể dùng ADC ngoài) - Thêm bàn phím giao tiếp để có. chân D 4 , D 5 , D 6 , D 7 của LCD truyền dữ liệu. - Dữ liệu truyền tới LCD theo quy ước bit cao truyền trước, bit thấp truyền sau. - Kết nối LCD và vi điều khiển như sau: LCD Vi điều khiển. hữu ích cho con người. Cảm biến nhiệt DS18B20 cũng là một trong những thiết bị cảm ứng độ nhạy cao, giá thành thấp giúp cảm ứng tốt nhiệt độ môi trường. Do còn hạn chế trong kiến thức về phần

Ngày đăng: 24/05/2014, 23:25

Từ khóa liên quan

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

Tài liệu liên quan