Đồ Án Môn Học: Thiết Kế Mạch Đo Nhiệt Độ Hiển Thị Trên LCD 16x2

Đồ án nghiên cứu môn học đ ề tài thiết kế chế tạo mạch đo nhiệt độ hiển thị trên lcd 16x2, thiết kế chi tiết, tính toán kỹ thuật theo tiêu chuẩn, đánh giá tính khả thi dự án.

Trường đại học

Trường Đại Học Kỹ Thuật

Chuyên ngành

Kỹ Thuật Điện

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2023

64
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Khám Phá Dự Án Thiết Kế Mạch Đo Nhiệt Độ Hiển Thị LCD 16x2

Việc thiết kế mạch đo nhiệt độ hiển thị trên LCD 16x2 là một trong những project sinh viên nền tảng và phổ biến nhất trong lĩnh vực điện tử. Dự án này không chỉ củng cố kiến thức về vi điều khiển mà còn mang lại ý nghĩa thực tiễn cao, ứng dụng trong nhiều hệ thống giám sát môi trường. Mạch đo nhiệt độ cơ bản bao gồm ba thành phần chính: khối cảm biến để thu thập dữ liệu, khối xử lý trung tâm để tính toán và khối hiển thị để giao tiếp với người dùng. Cốt lõi của mạch là một vi điều khiển, có thể là vi điều khiển PIC hoặc các dòng phổ biến như Arduino Uno R3. Vi điều khiển sẽ nhận tín hiệu analog từ cảm biến, chuyển đổi sang tín hiệu số, xử lý và cuối cùng xuất dữ liệu nhiệt độ lên màn hình LCD. Tài liệu gốc "Thiết kế, chế tạo mạch đo nhiệt độ hiển thị trên LCD 16x2" nhấn mạnh tầm quan trọng của việc lựa chọn vi điều khiển phù hợp, trong đó PIC16F877A được chọn vì "có đầy đủ tính năng của một vi điều khiển khi hoạt động độc lập" và "giá thành không đắt". Việc lựa chọn linh kiện điện tử phù hợp là yếu tố quyết định đến độ chính xác và ổn định của toàn hệ thống. Một mạch đo nhiệt độ hoàn chỉnh không chỉ đo lường mà còn có thể tích hợp thêm các chức năng nâng cao như cảnh báo nhiệt độ khi vượt ngưỡng cho phép, lưu trữ dữ liệu hoặc giao tiếp với các thiết bị khác. Đây là một đồ án điện tử lý tưởng cho người mới bắt đầu, cung cấp một cái nhìn tổng quan về cách một hệ thống nhúng hoạt động, từ phần cứng đến phần mềm, từ sơ đồ nguyên lý đến lập trình.

1.1. Giới thiệu tổng quan về project sinh viên đo nhiệt độ

Project đo nhiệt độ là một bài toán kinh điển trong ngành kỹ thuật điện tử, giúp sinh viên áp dụng lý thuyết vào thực hành. Mục tiêu chính là xây dựng một thiết bị có khả năng đọc giá trị nhiệt độ từ môi trường và hiển thị nó một cách trực quan. Cấu trúc của project thường xoay quanh một vi điều khiển trung tâm như vi điều khiển PIC 16F877A hoặc Arduino Nano. Các linh kiện điện tử cần thiết bao gồm cảm biến nhiệt, màn hình LCD, nguồn cấp và các linh kiện phụ trợ như điện trở, tụ điện. Đề tài này giúp người học làm quen với việc đọc datasheet của linh kiện, thiết kế sơ đồ nguyên lý, vẽ mạch in PCB, và lập trình nhúng. Hơn nữa, đây là cơ hội để thực hành kỹ năng gỡ lỗi phần cứng và phần mềm, một kỹ năng không thể thiếu của kỹ sư điện tử.

1.2. Tầm quan trọng và ứng dụng thực tiễn của mạch đo nhiệt độ

Mạch đo nhiệt độ có ứng dụng rộng rãi trong đời sống và công nghiệp. Trong gia đình, nó được dùng trong máy điều hòa, tủ lạnh, lò nướng để kiểm soát nhiệt độ. Trong nông nghiệp, hệ thống giám sát nhiệt độ và độ ẩm giúp tạo môi trường tối ưu cho cây trồng trong nhà kính. Trong công nghiệp, việc giám sát nhiệt độ của máy móc, lò hơi, kho lạnh là cực kỳ quan trọng để đảm bảo an toàn và hiệu quả sản xuất. Một mạch đo nhiệt độ đơn giản hiển thị trên LCD là tiền đề để phát triển các hệ thống phức tạp hơn, ví dụ như hệ thống tích hợp cảnh báo nhiệt độ qua còi hoặc đèn, hoặc hệ thống IoT giám sát nhiệt độ từ xa qua internet. Do đó, việc nắm vững cách thiết kế mạch đo nhiệt độ hiển thị trên LCD 16x2 mở ra nhiều cơ hội phát triển các sản phẩm công nghệ cao hơn.

1.3. Các linh kiện điện tử cần thiết để lắp ráp mạch

Để thực hiện dự án này, cần chuẩn bị một danh sách các linh kiện điện tử cơ bản. Thành phần quan trọng nhất là vi điều khiển, có thể chọn vi điều khiển PIC 16F877A như trong tài liệu tham khảo hoặc Arduino Uno R3 cho người mới bắt đầu. Tiếp theo là cảm biến nhiệt, với các lựa chọn phổ biến là cảm biến nhiệt độ LM35 (tín hiệu analog), cảm biến nhiệt độ DS18B20 (tín hiệu số). Để hiển thị, màn hình LCD 16x2 là lựa chọn tiêu chuẩn. Ngoài ra, cần có một nguồn 5V ổn định, breadboard để lắp ráp thử nghiệm, dây cắm, điện trở, biến trở để điều chỉnh độ tương phản LCD và thạch anh tạo dao động cho vi điều khiển. Việc lựa chọn đúng linh kiện sẽ giúp quá trình lắp ráp và gỡ lỗi trở nên dễ dàng hơn.

II. Phân Tích Cơ Sở Lý Thuyết Để Thiết Kế Mạch Đo Nhiệt Độ

Trước khi bắt tay vào thiết kế mạch đo nhiệt độ hiển thị trên LCD 16x2, việc nắm vững cơ sở lý thuyết là vô cùng quan trọng. Nền tảng lý thuyết bao gồm ba mảng chính: nguyên lý hoạt động của cảm biến, kiến trúc của vi điều khiển, và phương thức giao tiếp với màn hình hiển thị. Đối với cảm biến, tài liệu gốc tập trung vào cảm biến nhiệt độ LM35, một cảm biến analog có "độ phân giải điện áp đầu ra là 10mV/°C". Điều này có nghĩa là vi điều khiển cần sử dụng bộ chuyển đổi tương tự-số (ADC) để đọc giá trị điện áp và quy đổi ra nhiệt độ. Việc hiểu rõ đặc tính này giúp tính toán và lập trình chính xác. Về vi điều khiển, tài liệu đi sâu phân tích vi điều khiển PIC 16F877A, một chip 40 chân với 5 port xuất nhập, bộ nhớ Flash 8K, và 8 kênh ADC 10 bit. Việc lựa chọn và cấu hình các chân I/O, thiết lập bộ ADC, và quản lý các timer là những kỹ năng cốt lõi. Ngoài PIC, các lựa chọn khác như Arduino Uno R3 cũng rất phổ biến, nổi bật với hệ sinh thái và thư viện LiquidCrystal.h mạnh mẽ, giúp đơn giản hóa việc lập trình. Cuối cùng, việc hiển thị dữ liệu lên LCD 16x2 đòi hỏi kiến thức về các chân chức năng (RS, R/W, E) và cách gửi lệnh, dữ liệu theo chuẩn của nhà sản xuất. Giao tiếp có thể thực hiện ở chế độ 8-bit hoặc 4-bit, hoặc sử dụng module giao tiếp I2C LCD để tiết kiệm chân vi điều khiển.

2.1. Lựa chọn cảm biến LM35 DS18B20 hay cảm biến độ ẩm DHT11

Việc lựa chọn cảm biến là bước đầu tiên và ảnh hưởng trực tiếp đến độ chính xác của mạch. Cảm biến nhiệt độ LM35 là loại analog, cung cấp điện áp đầu ra tuyến tính với nhiệt độ (10mV/°C). Ưu điểm của nó là giá rẻ, dễ sử dụng, nhưng nhược điểm là dễ bị nhiễu và yêu cầu một chân ADC của vi điều khiển. Ngược lại, cảm biến nhiệt độ DS18B20 sử dụng giao thức 1-Wire, cho phép nhiều cảm biến kết nối trên cùng một dây dữ liệu. Nó cho ra giá trị nhiệt độ số, độ chính xác cao và ít bị nhiễu hơn LM35. Một lựa chọn khác là cảm biến độ ẩm DHT11, có khả năng đo cả nhiệt độ và độ ẩm, phù hợp cho các ứng dụng giám sát môi trường toàn diện. Tuy nhiên, DHT11 có độ chính xác nhiệt độ thấp hơn và tốc độ đọc chậm hơn so với LM35 và DS18B20. Tùy thuộc vào yêu cầu của đồ án điện tử, người thiết kế sẽ chọn loại cảm biến phù hợp nhất.

2.2. So sánh vi điều khiển PIC và Arduino cho người mới bắt đầu

Lựa chọn bộ não xử lý trung tâm là quyết định quan trọng. Vi điều khiển PIC (như PIC16F877A) rất mạnh mẽ, được sử dụng rộng rãi trong công nghiệp và cung cấp khả năng kiểm soát phần cứng ở mức độ thấp. Học PIC giúp xây dựng nền tảng kiến thức vững chắc về kiến trúc vi điều khiển, thanh ghi và lập trình Assembly/C. Tuy nhiên, nó đòi hỏi mạch nạp riêng và môi trường lập trình (như MPLAB) có thể phức tạp hơn cho người mới. Trong khi đó, Arduino Uno R3 hoặc Arduino Nano được xây dựng trên nền tảng vi điều khiển AVR, nổi bật với sự đơn giản và cộng đồng hỗ trợ lớn. Arduino IDE cung cấp môi trường lập trình C/C++ dễ tiếp cận cùng hàng ngàn thư viện có sẵn, giúp đẩy nhanh quá trình phát triển sản phẩm. Đối với một hướng dẫn DIY cơ bản, Arduino thường là lựa chọn thân thiện hơn.

2.3. Nguyên lý giao tiếp và điều khiển màn hình LCD 16x2

Màn hình LCD 16x2 (16 cột, 2 dòng) là phương tiện hiển thị phổ biến. Nó hoạt động dựa trên bộ điều khiển tích hợp HD44780. Để giao tiếp với vi điều khiển, LCD yêu cầu một số chân điều khiển (RS, R/W, E) và các chân dữ liệu (D0-D7). Vi điều khiển gửi lệnh (ví dụ: xóa màn hình, di chuyển con trỏ) hoặc dữ liệu (ký tự cần hiển thị) đến LCD. Chế độ giao tiếp 4-bit (sử dụng 4 chân dữ liệu D4-D7) thường được ưa chuộng để tiết kiệm chân I/O. Đối với Arduino, thư viện LiquidCrystal.h đã trừu tượng hóa toàn bộ quá trình này thành các hàm đơn giản. Một giải pháp hiện đại hơn là sử dụng module chuyển đổi giao tiếp I2C LCD, chỉ cần 2 chân (SDA, SCL) để điều khiển màn hình, rất hữu ích khi dự án cần nhiều chân cho các tác vụ khác.

III. Hướng Dẫn Chi Tiết Thiết Kế Phần Cứng Mạch Đo Nhiệt Độ

Phần cứng là nền tảng vật lý của dự án thiết kế mạch đo nhiệt độ hiển thị trên LCD 16x2. Quá trình này bắt đầu từ việc phác thảo sơ đồ nguyên lý, kết nối các linh kiện một cách hợp lý để đảm bảo mạch hoạt động đúng chức năng. Sơ đồ nguyên lý là bản đồ chi tiết, thể hiện mối liên kết giữa vi điều khiển PIC 16F877A, cảm biến nhiệt độ LM35, màn hình LCD và khối nguồn. Theo sơ đồ, chân output của LM35 sẽ được nối với một chân analog (ADC) của PIC. Các chân dữ liệu và điều khiển của LCD được nối với các port của vi điều khiển. Một biến trở được thêm vào chân VEE của LCD để điều chỉnh độ tương phản. Khối nguồn, thường là một mạch ổn áp sử dụng IC 7805, có nhiệm vụ chuyển đổi điện áp đầu vào (ví dụ 9V/12V) thành một nguồn 5V ổn định để cấp cho toàn bộ hệ thống. Sau khi sơ đồ nguyên lý được hoàn thiện và kiểm tra, bước tiếp theo là thiết kế mạch in PCB. Thiết kế PCB là quá trình sắp xếp vị trí linh kiện và đi dây trên một bo mạch đồng để tạo ra một sản phẩm nhỏ gọn, chuyên nghiệp và bền bỉ. Các phần mềm như Altium, Eagle hay Proteus thường được sử dụng cho công đoạn này. Một thiết kế PCB tốt cần tối ưu hóa đường đi của dây dẫn, giảm thiểu nhiễu và đảm bảo dễ dàng cho việc hàn lắp. Cuối cùng, việc lắp ráp thử nghiệm trên breadboard trước khi làm mạch in là một bước quan trọng để kiểm tra và gỡ lỗi.

3.1. Vẽ sơ đồ nguyên lý mạch đo nhiệt độ với PIC16F877A

Vẽ sơ đồ nguyên lý là bước đầu tiên để hiện thực hóa ý tưởng. Sơ đồ này phải thể hiện rõ ràng tất cả các kết nối. Trung tâm là vi điều khiển PIC 16F877A. Chân Vout của cảm biến nhiệt độ LM35 được nối vào chân AN0 (RA0) của PIC để đọc tín hiệu analog. Màn hình LCD 16x2 được kết nối với PORTD (D0-D7) cho dữ liệu và các chân của PORTB (RB0-RB2) cho các tín hiệu điều khiển RS, R/W, E. Cần một mạch dao động thạch anh (thường là 20MHz) kết nối vào chân OSC1 và OSC2 của PIC. Một nút nhấn reset nối với chân MCLR là cần thiết. Sơ đồ cũng phải bao gồm khối nguồn với IC ổn áp 7805, tụ lọc đầu vào và đầu ra để đảm bảo nguồn 5V sạch, không nhiễu. Biến trở 10K nối với chân VEE của LCD cho phép điều chỉnh độ tương phản.

3.2. Quy trình thiết kế mạch in PCB cho project sinh viên

Sau khi hoàn tất sơ đồ nguyên lý, việc thiết kế mạch in PCB sẽ giúp sản phẩm trở nên chuyên nghiệp. Quy trình bắt đầu bằng việc chuyển sơ đồ nguyên lý (schematic) sang môi trường thiết kế PCB trong phần mềm chuyên dụng. Các linh kiện (footprint) được sắp xếp một cách logic trên bo mạch. Nguyên tắc chung là đặt vi điều khiển ở trung tâm, các khối chức năng (nguồn, cảm biến, hiển thị) bố trí xung quanh. Dây nguồn (VCC, GND) nên được đi với kích thước lớn hơn để chịu tải tốt hơn. Các đường tín hiệu nên ngắn và trực tiếp nhất có thể để tránh nhiễu. Sau khi đi dây (routing) hoàn tất, cần kiểm tra lại quy tắc thiết kế (Design Rule Check - DRC) để đảm bảo không có lỗi như chập dây hay khoảng cách quá gần. Cuối cùng, file thiết kế sẽ được xuất ra định dạng Gerber để gửi đi gia công mạch in.

3.3. Xây dựng khối nguồn 5V ổn định cho toàn hệ thống

Một nguồn 5V ổn định là yếu tố sống còn cho mạch điện tử số. Vi điều khiển và các IC khác rất nhạy cảm với sự thay đổi của điện áp. Một giải pháp phổ biến và tin cậy là sử dụng IC ổn áp LM7805. Mạch này nhận điện áp đầu vào từ 7V đến 12V (từ adapter hoặc pin) và cho ra điện áp 5V cố định. Sơ đồ mạch bao gồm một cầu diode để chỉnh lưu nếu nguồn vào là AC, và các tụ điện để lọc nhiễu. Một tụ hóa có giá trị lớn (ví dụ: 1000uF) được đặt ở ngõ vào của 7805 để lọc gợn sóng, và một tụ gốm nhỏ (ví dụ: 104) được đặt ở cả ngõ vào và ngõ ra để lọc nhiễu tần số cao. IC 7805 cần được gắn tản nhiệt nếu dòng tải lớn để tránh quá nhiệt. Việc xây dựng một khối nguồn tốt đảm bảo hệ thống hoạt động bền bỉ và chính xác.

IV. Bí Quyết Lập Trình Cho Mạch Đo Nhiệt Độ Hiển Thị Trên LCD

Phần mềm là linh hồn của thiết kế mạch đo nhiệt độ hiển thị trên LCD 16x2, quyết định cách mạch thu thập, xử lý và hiển thị thông tin. Ngôn ngữ lập trình phổ biến cho các hệ thống nhúng là lập trình C/C++. Quá trình lập trình có thể chia thành ba giai đoạn chính: khởi tạo, đọc dữ liệu cảm biến và hiển thị lên LCD. Giai đoạn khởi tạo bao gồm việc cấu hình các port I/O của vi điều khiển (port nào là input, port nào là output), thiết lập bộ chuyển đổi ADC (chọn kênh analog, điện áp tham chiếu, tốc độ chuyển đổi), và khởi tạo màn hình LCD (gửi các lệnh cần thiết để màn hình sẵn sàng hoạt động). Giai đoạn thứ hai là viết code đo nhiệt độ. Đối với cảm biến nhiệt độ LM35, vi điều khiển sẽ đọc giá trị số 10-bit từ bộ ADC. Giá trị này sau đó cần được chuyển đổi thành điện áp, rồi từ điện áp quy đổi ra nhiệt độ theo công thức: Nhiệt độ (°C) = (Giá trị ADC * Vref / 1024) / 0.01. Giai đoạn cuối cùng là hiển thị kết quả. Dữ liệu nhiệt độ (thường là số thực) cần được chuyển thành chuỗi ký tự trước khi gửi đến LCD. Các hàm trong thư viện LiquidCrystal.h (đối với Arduino) hoặc các hàm tự viết (đối với PIC) sẽ được sử dụng để đặt vị trí con trỏ và in chuỗi ký tự lên màn hình. Toàn bộ quy trình này được đặt trong một vòng lặp vô hạn để hệ thống liên tục cập nhật nhiệt độ.

4.1. Lập trình C C đọc giá trị từ cảm biến nhiệt độ LM35

Việc viết code đo nhiệt độ Arduino hoặc PIC để đọc từ cảm biến nhiệt độ LM35 yêu cầu sử dụng bộ ADC. Đầu tiên, cần cấu hình bộ ADC: chọn chân analog kết nối với cảm biến và cài đặt điện áp tham chiếu (thường là VCC = 5V). Trong vòng lặp chính của chương trình, một lệnh đọc ADC sẽ được thực thi. Lệnh này trả về một giá trị số từ 0 đến 1023 (đối với ADC 10-bit). Để chuyển đổi giá trị này sang nhiệt độ, ta áp dụng công thức toán học. Ví dụ, với Vref=5V, bước điện áp của ADC là 5V/1024 ≈ 4.88mV. Vì LM35 cho ra 10mV/°C, nên nhiệt độ sẽ được tính bằng: NhietDo = (gia_tri_ADC * 4.88) / 10. Để tăng độ chính xác, có thể đọc giá trị ADC nhiều lần rồi lấy trung bình để giảm nhiễu.

4.2. Sử dụng thư viện LiquidCrystal.h để hiển thị trên LCD

Đối với nền tảng Arduino, thư viện LiquidCrystal.h làm cho việc giao tiếp với LCD trở nên cực kỳ đơn giản. Sau khi khai báo các chân kết nối trong hàm khởi tạo LiquidCrystal lcd(RS, E, D4, D5, D6, D7);, người dùng có thể sử dụng các hàm trực quan. Hàm lcd.begin(16, 2); dùng để khởi tạo màn hình 16x2. Hàm lcd.setCursor(cot, hang); để di chuyển con trỏ đến vị trí mong muốn. Hàm lcd.print("Chuoi ky tu"); để in một chuỗi hoặc một biến ra màn hình. Cuối cùng, hàm lcd.clear(); dùng để xóa toàn bộ nội dung trên LCD. Việc sử dụng thư viện giúp người lập trình tập trung vào logic xử lý dữ liệu thay vì phải xử lý các giao thức phức tạp ở mức thấp.

4.3. Tối ưu code và tích hợp chức năng cảnh báo nhiệt độ

Sau khi mạch hoạt động cơ bản, có thể tối ưu code và thêm tính năng. Tối ưu hóa có thể bao gồm việc giảm thiểu các phép tính số thực trong vòng lặp chính để tăng tốc độ xử lý. Một tính năng hữu ích là thêm chức năng cảnh báo nhiệt độ. Điều này có thể được thực hiện bằng một câu lệnh if. Ví dụ: if (NhietDo > 50). Nếu điều kiện này đúng, vi điều khiển sẽ kích hoạt một cơ cấu cảnh báo như còi buzzer hoặc đèn LED được kết nối với một chân output khác. Đoạn code này sẽ kiểm tra giá trị nhiệt độ sau mỗi lần đọc và đưa ra cảnh báo kịp thời khi nhiệt độ vượt ngưỡng an toàn đã được cài đặt trước, làm tăng tính ứng dụng thực tiễn của sản phẩm.

V. Phương Pháp Thi Công Mô Phỏng Và Kiểm Thử Mạch Đo Nhiệt Độ

Sau khi hoàn tất thiết kế phần cứng và phần mềm, giai đoạn thi công và kiểm thử sẽ quyết định sự thành công của thiết kế mạch đo nhiệt độ hiển thị trên LCD 16x2. Trước khi tiến hành hàn mạch lên mạch in PCB, việc lắp ráp thử nghiệm trên breadboard là một bước không thể bỏ qua. Breadboard cho phép kết nối các linh kiện điện tử một cách tạm thời, giúp dễ dàng kiểm tra, thay đổi và gỡ lỗi các kết nối phần cứng. Đây là một hướng dẫn DIY quan trọng cho mọi project sinh viên. Song song với lắp ráp vật lý, việc sử dụng phần mềm mô phỏng Proteus mang lại lợi ích to lớn. Proteus cho phép người dùng vẽ lại sơ đồ nguyên lý, kết nối các linh kiện ảo, nạp file HEX (file mã máy được biên dịch từ code) vào vi điều khiển ảo và chạy mô phỏng toàn bộ hệ thống. Quá trình này giúp phát hiện các lỗi logic trong code hoặc lỗi kết nối trong sơ đồ trước khi tốn chi phí và thời gian cho phần cứng thật. Khi mô phỏng hoạt động ổn định, bước tiếp theo là hàn mạch lên PCB và tiến hành kiểm thử thực tế. Quá trình kiểm thử bao gồm việc cấp nguồn cho mạch, kiểm tra điện áp tại các điểm quan trọng, và quan sát kết quả hiển thị trên LCD. Cần sử dụng một nhiệt kế chuẩn để so sánh và hiệu chỉnh lại giá trị đo được từ cảm biến nếu cần thiết, đảm bảo độ chính xác cho sản phẩm cuối cùng.

5.1. Lắp ráp và gỡ lỗi mạch trên breadboard thực tế

Lắp ráp trên breadboard là bước kiểm tra chức năng đầu tiên. Cần cắm các linh kiện theo đúng sơ đồ nguyên lý, sử dụng dây cắm để kết nối. Vi điều khiển, LCD, cảm biến và khối nguồn được đặt lên breadboard. Cần chú ý cắm đúng chiều các linh kiện có cực tính như tụ điện, IC. Sau khi lắp xong, cấp nguồn 5V và quan sát. Nếu LCD không sáng hoặc hiển thị ký tự lạ, cần kiểm tra lại các kết nối, đặc biệt là các chân điều khiển và dữ liệu. Nếu giá trị nhiệt độ hiển thị không chính xác, cần kiểm tra kết nối của cảm biến nhiệt độ LM35 và điện áp tham chiếu của ADC. Giai đoạn này đòi hỏi sự kiên nhẫn và kỹ năng dò lỗi mạch điện.

5.2. Hướng dẫn mô phỏng Proteus cho mạch đo nhiệt độ

Phần mềm mô phỏng Proteus là công cụ mạnh mẽ để kiểm tra thiết kế. Người dùng cần tìm và thêm các linh kiện ảo vào không gian làm việc, bao gồm vi điều khiển PIC 16F877A, LCD 16x2, và LM35. Sau khi vẽ và kết nối chúng theo sơ đồ nguyên lý, cần nạp chương trình cho vi điều khiển ảo. Bằng cách nhấp đúp vào PIC, một cửa sổ sẽ hiện ra cho phép chọn đường dẫn đến file .hex đã được biên dịch từ CCS hoặc MPLAB. Khi nhấn nút Play, mô phỏng sẽ bắt đầu. Giá trị nhiệt độ của cảm biến LM35 ảo có thể được điều chỉnh, và kết quả tương ứng sẽ hiển thị trên LCD ảo. Điều này cho phép kiểm tra logic của code đo nhiệt độ một cách hiệu quả.

5.3. Hiệu chỉnh và đo lường độ chính xác của cảm biến

Không có cảm biến nào là hoàn hảo. Sau khi mạch hoạt động, bước hiệu chỉnh là cần thiết để đảm bảo độ chính xác. Cần một nhiệt kế điện tử đáng tin cậy làm tham chiếu. Đặt cả cảm biến nhiệt độ LM35 của mạch và nhiệt kế tham chiếu vào cùng một môi trường. So sánh giá trị hiển thị trên LCD với giá trị trên nhiệt kế. Nếu có sự chênh lệch, có thể hiệu chỉnh bằng phần mềm. Ví dụ, nếu mạch luôn đo thấp hơn 0.5°C, có thể cộng thêm 0.5 vào kết quả cuối cùng trong code. Quá trình này nên được lặp lại ở nhiều mức nhiệt độ khác nhau (nóng, lạnh) để đảm bảo mạch hoạt động chính xác trong một dải đo rộng.

VI. Đánh Giá Mạch Đo Nhiệt Độ Và Các Hướng Phát Triển Tương Lai

Dự án thiết kế mạch đo nhiệt độ hiển thị trên LCD 16x2 sau khi hoàn thành đã đạt được các mục tiêu cơ bản đề ra. Sản phẩm có khả năng đo và hiển thị nhiệt độ môi trường một cách tương đối chính xác, hoạt động ổn định và có chi phí thấp. Đây là một đồ án điện tử thành công, thể hiện khả năng áp dụng lý thuyết vào thực tiễn của sinh viên. Mạch sử dụng các linh kiện điện tử phổ biến như vi điều khiển PICcảm biến nhiệt độ LM35, giúp dễ dàng tiếp cận và nhân rộng. Tuy nhiên, sản phẩm vẫn có những hạn chế nhất định. Độ chính xác phụ thuộc nhiều vào sự ổn định của nguồn 5V và chất lượng của cảm biến. Giao diện hiển thị trên LCD 16x2 còn đơn giản và chưa có khả năng lưu trữ hay truyền dữ liệu. Từ nền tảng này, có rất nhiều hướng phát triển tiềm năng để nâng cấp sản phẩm. Việc tích hợp thêm cảm biến như cảm biến độ ẩm DHT11 sẽ tạo ra một trạm thời tiết mini. Thêm vào đó, việc phát triển tính năng cảnh báo nhiệt độ bằng âm thanh hoặc ánh sáng sẽ tăng cường tính ứng dụng trong các hệ thống an toàn. Hướng phát triển cao cấp hơn là kết nối mạch với máy tính hoặc internet, biến nó thành một thiết bị IoT, cho phép giám sát nhiệt độ từ xa. Những cải tiến này không chỉ làm tăng giá trị cho sản phẩm mà còn mở ra những cơ hội học hỏi và nghiên cứu mới.

6.1. Tổng kết kết quả và đánh giá ưu nhược điểm của dự án

Dự án đã chế tạo thành công một mạch đo nhiệt độ chức năng. Ưu điểm lớn nhất là tính đơn giản, chi phí thấp và mang tính giáo dục cao, là một project sinh viên xuất sắc. Mạch đã vận dụng tốt kiến thức về vi điều khiển PIC, lập trình C, và nguyên lý cảm biến. Tuy nhiên, nhược điểm là độ chính xác chỉ ở mức tương đối, dễ bị ảnh hưởng bởi nhiễu điện từ. Giao diện người dùng còn hạn chế, chỉ hiển thị số liệu thô. Mạch chưa có tính năng lưu trữ dữ liệu, khiến việc theo dõi lịch sử nhiệt độ không thể thực hiện. Việc sử dụng giao tiếp song song với LCD cũng chiếm dụng nhiều chân của vi điều khiển.

6.2. Hướng phát triển Tích hợp cảnh báo và kết nối không dây

Để nâng cao giá trị sản phẩm, có thể phát triển thêm nhiều tính năng. Trước hết, tích hợp một module còi và LED để tạo hệ thống cảnh báo nhiệt độ khi giá trị vượt ngưỡng cài đặt. Thứ hai, có thể thay thế LCD 16x2 song song bằng loại sử dụng giao tiếp I2C LCD để giải phóng các chân I/O cho các module khác. Một hướng phát triển hấp dẫn là thêm khả năng kết nối không dây. Bằng cách tích hợp các module như ESP8266 (Wifi) hoặc NRF24L01 (sóng RF), mạch có thể gửi dữ liệu nhiệt độ đến một máy chủ web hoặc một thiết bị khác từ xa, tạo thành một nút trong mạng lưới cảm biến không dây (WSN) hoặc một thiết bị IoT.

6.3. Ý nghĩa của đề tài đối với các đồ án điện tử tương lai

Đề tài thiết kế mạch đo nhiệt độ hiển thị trên LCD 16x2 không chỉ là một sản phẩm cuối cùng mà còn là một nền tảng vững chắc. Nó cung cấp toàn bộ quy trình từ ý tưởng, thiết kế, thi công đến kiểm thử một hệ thống nhúng cơ bản. Những kiến thức và kỹ năng thu được từ dự án này, như thiết kế sơ đồ nguyên lý, vẽ mạch in PCB, và lập trình C/C++ cho vi điều khiển, là hành trang quý giá. Sinh viên có thể dễ dàng áp dụng nền tảng này để phát triển các đồ án điện tử phức tạp hơn như máy ấp trứng tự động, hệ thống điều khiển nhà thông minh, hoặc robot tự hành, nơi mà việc đo lường và xử lý tín hiệu từ cảm biến là một phần không thể thiếu.

13/07/2025

Trích đoạn nội dung tài liệu

CHƯƠNG I: CÁC PHƯƠNG PHÁP ĐO NHIỆT ĐỘ 1.1 Khái niệm về nhiệt độ: 1.1 Khái niệm: Nhiệt độ là đại lý đặc trưng cho cường độ chuyển động của các nguyên tử, phân tử của một hệ vật chất. Tuỳ theo từng trạng thái của vật chất ( rắn, lỏng, khí) mà chuyển động này có khác nhau. ở trạng thái láng, các phân tử dao động quanh vi trí cân bằng nhưng vi trí cân bằng của nó luôn dịch chuyển làm cho chất lỏng không có hình dạng nhất định. Còn ở trạng thái rắn, các phần tử, nguyên tử chỉ dao động xung quanh vị trí cân bằng.

Các dạng vận động này của các phân tử, nguyên tử được gọi chung là chuyển động nhiệt. Khi tương tác với bên ngoài có trao đổi năng lượng nhưng không sinh công, thì quá trình trao đổi năng lượng nói trên gọi là sự truyền nhiệt. Quá trình truyền nhiệt trên tuân theo 2 nguyên lý: Bảo toàn năng lượng. Nhiệt chỉ có thể tự truyền từ nơi có nhiệt độ cao đến nơi có nhiệt độ thất.

Ở trạng thái rắn, sự truyền nhiệt xảy ra chủ yếu bằng dẫn nhiệt và bức xạ nhiệt. Đối với các chất lỏng và khí ngoài dẫn nhiệt và bức xạ nhiệt còn có truyền nhiệt bằng đối lưu. Đó là hiện tượng vận chuyển năng lượng nhiệt bằng cách vận chuyển các phần của khối vật chất giữa các vùng khác nhau của hệ do chênh lệch về tỉ trọng.16x2 9 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.2 Sơ lược về phương pháp đo nhiệt độ: Nhiệt độ là đại lượng chỉ có thể đo gián tiếp trên cơ sở tính chất của vật phụ thuộc nhiệt độ. Hiện nay chóng ta có nhiều nguyên lí cảm biến khác nhau để chế tạo cảm biến nhiệt độ như: nhiệt điện trở, cặp nhiệt ngẫu, phương pháp quang dùa trên phân bố phổ bức xạ nhiệt, phương pháp dùa trên sự dãn nở của vật rắn, lỏng, khí hoặc dùa trên tốc độ âm… Có 2 phương pháp đo chính: Ở dải nhiệt độ thấp và trung bình phương pháp đo là phương pháp tiếp xúc, nghĩa là các chuyển đổi được đặt trực tiếp ngay trong môi trường đo.

Thiết bị đo như: nhiệt điện trở, cặp nhiệt, bán dẫn. Ở dải nhiệt độ cao phương pháp đo là phương pháp không tiếp xúc ( dông cụ dặt ngoài môi trường đo). Các thiết bị đo nh: cảm biến quang, hoả quang kế ( hoả quang kế phát xạ, hoả quang kế cường độ sáng, hoả quang kế màu sắc)… 1.2 Đo nhiệt độ bằng phương pháp tiếp xúc 1.1 Đo nhiệt độ bằng nhiệt điện trở: Nguyên lý hoạt động: Điện trở của một số kim loại thay đổi theo nhiệt độ và dùa vào sự thay đổi điện trở đó người ta đo được nhiệt độ cần đo. Nhiệt điện trở dùng trong dụng cụ đo nhiệt độ làm việc với dòng phụ tải nhỏ để nhiệt năng sinh ra do dòng nhiệt điện trở nhỏ hơn so với nhiệt năng nhận được từ môi trường thí nghiệm.

Yêu cầu cơ bản đối với vật liệu dùng làm chuyển đổi của nhiệt điện trở là có hệ số nhiệt độ lớn và ổn định, điện trở suất khá lớn… DO.16x2 1 0 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.16x2 Trong công nghiệp nhiệt điện trở được chia thành nhiệt điện trở kim loại và nhiệt điện trở bán dẫn.2 Đo nhiệt độ bằng cặp nhiệt ngẫu: Nguyên lý làm việc: Bộ cảm biến cặp nhiệt ngẫu là 1 mạch từ có 2 hay nhiều thanh dẫn điện gồm 2 dây dẫn A và B. Sebeck đã chứng minh rằng nếu mối hàn có nhiệt độ t và t0 khác nhau thì trong mạch khép kín có một dòng điện chạy qua. Chiều của dòng điện này phụ thuộc vào nhiệt độ tương ứng của mối hàn nghĩa là t > t0 thì dòng điện chạy theo hướng ngược lại. Nếu để hở một đầu thì sẽ xuất hiện một sức điện động nhiệt.

Khi mối hàn có cùng nhiệt độ ( ví dụ bằng t0 ) thì sức điện động tổng bằng: EAB = eAB(t0) + eAB(t0) = 0 Từ đó rót ra: eAB = eAB(t0) Khi t0 và t khác nhau thì sức điện động tổng bằng: EAB = eAB(t) – e+AB(t0) Phương trình trên là phương trình cơ bản của cặp nhiệt ngẫu ( sức điện động phụ thuộc vào hệ số nhiệt độ của mạch vòng t và t0) Nh vậy bằng cách đo sức điện động ta có thể tìm được nhiệt độ của đối tượng. Phương pháp này được sử dụng nhiều trong công nghiệp khi cần đo những nơi có nhiệt độ cao.3 IC cảm biến nhiệt độ Có rất nhiều hãng chế tạo linh kiện điện tử đã sản xuất ra các loại IC bán dẫn dùng để đo dải nhiệt độ từ 55‚ 150 0C. Trong các mạch tổ hợp IC, DO.16x2 1 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.16x2 cảm biến nhiệt thường là điện áp của líp chuyển tiếp pn trong một loại tranzitor loại bipola.3 Đo nhiệt độ bằng phương pháp không tiếp xúc Nguyên lý hoạt động: Dưạ trên định luật bức xạ của vật đen tuyệt đối, tức là vật hấp thụ năng lượng theo mọi hướng với khả năng lón nhất. Bức xạ nhiệt của mọi vật đặc trưng bởi mật độ phổ El nghĩa là số năng lượng bức xạ trong một đơn vị độ dài của sóng.

Quan hệ giữa mật độ bức xạ của vật đen tuyệt đối với nhiệt độ và độ dài sóng được biểu diễn bởi công thức: l = C1.l 5(e 2/l c T 1) 1 E0 Trong đó: C1: Hằng số và C1= 37,03.độ) l : Độ dài sóng T: Nhiết độ tuyệt đối CHƯƠNG II: CƠ SỞ LÝ THUYẾT DO.16x2 1 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.1Tìm hiểu về cảm biến nhiệt độ LM35. LM35 là một cảm biến nhiệt độ analog, thuộc họ IC cảm biến nhiệt độ sản xuất theo công nghệ bán dẫn dựa trên các chất bán dẫn dễ bị tác động bởi sự thay đổi của nhiệt độ, đầu ra của cảm biến là điện áp (V) tỉ lệ với nhiệt độ mà nó được đặt trong môi trường cần đo. Họ LM35 có rất nhiều loại và nhiều kiểu đóng vỏ khác nhau: Hình 1.1: Cảm biến nhiệt độ LM35. Đặc điểm nổi bật: Nhiệt độ được xác định bằng cách đo hiệu điện thế ngõ ra của LM35.

- Điện áp đầu vào từ 4V đến 30V. - Độ phân giải điện áp đầu ra là 10mV/0C. - Độ chính xác cao, tính năng cảm biến nhiệt độ rất nhạy. - Ở nhiệt độ 25(0C) nó có sai số không quá 1%.

Với dải đo từ 50 đến 150(0C), tín hiệu ngõ ra tuyến tính liên tục với những thay đổi của tín hiệu ngõ vào. Thông số kỹ thuật: DO.16x2 1 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.16x2 - Tiêu tán công suất thấp. - Dòng làm việc từ 400µA đến 5mA. - Dòng ngược 15mA.

- Dòng thuận 10mA. - Độ chính xác cao: khi làm việc ở nhiệt độ 250C là 0,50C. - Trở kháng đầu ra thấp 0,1 cho 1mA tải. Đặc tính điện: Dải nhiệt độ đo được của LM35 là từ 550C đến 1500C với các mức điện áp ra khác nhau.

Vậy ứng với tầm hoạt động từ 0(0C) đến 100(0C)ta có sự biến thiên điện áp ngõ ra là: Ở 550C thì điện áp ngõ ra Vout = 550mV Ở 00C thì điện áp ngõ ra Vout = 0V Ở 250C thì điện áp ngõ ra Vout = 250mV Ở 1500C thì điện áp ngõ ra Vout = 1500mV 2.2 Vi điều khiển PIC 16F877A.1 PIC là gì? PIC là viết tắt của “Programmable Intelligent Computer”, có thể tạm dịch là “máy tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều khiển đầu tiên của họ. Hãng Micrchip tiếp tục phát triển sản phẩm này và cho đến nay hãng đã tạo ra gần 100 loại sản phẩm khác nhau.2Các dòng PIC và cách lựa chọn vi điều khiển PIC. Các kí hiệu của vi điều khiển PIC: - PIC12xxxx: độ dài lệnh 12 bit - PIC16xxxx: độ dài lệnh 14 bit - PIC18xxxx: độ dài lệnh 16 bit C: PIC có bộ nhớ EPROM (chỉ có 16C84 là EEPROM) F: PIC có bộ nhớ flash DO.16x2 1 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.16x2 LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp LV: tương tự như LF, đây là kí hiệu cũ Bên cạnh đó một số vi điệu khiển có kí hiệu xxFxxx là EEPROM, nếu có thêm chữ A ở cuối là flash (ví dụ PIC16F877 là EEPROM, còn PIC16F877A là flash). Ngoài ra còn có thêm một dòng vi điều khiển PIC mới là dsPIC.

Ở Việt Nam phổ biến nhất là các họ vi điều khiển PIC do hãng Microchip sản xuất. Cách lựa chọn một vi điều khiển PIC phù hợp: Trước hết cần chú ý đến số chân của vi điều khiển cần thiết cho ứng dụng. Có nhiều vi điều khiển PIC với số lượng chân khác nhau, thậm chí có vi điều khiển chỉ có 8 chân, ngoài ra còn có các vi điều khiển 28, 40, 44, … chân. Cần chọn vi điều khiển PIC có bộ nhớ flash để có thể nạp xóa chương trình được nhiều lần hơn.

Tiếp theo cần chú ý đến các khối chức năng được tích hợp sẵn trong vi điều khiển,các chuẩn giao tiếp bên trong. Sau cùng cần chú ý đến bộ nhớ chương trình mà vi điều khiển cho phép. Ngoài ra mọi thông tin về cách lựa chọn vi điều khiển PIC có thể được tìm thấy trong cuốn sách “Select PIC guide” do nhà sản xuất Microchip cung cấp. Do thời gian làm đồ án có hạn nên chúng em chỉ tập trung tìm hiểu các tính năng của PIC 16F877A có liên quan đến đề tài.3Các dòng PIC và cách lựa chọn vi điều khiển PIC.

PIC 16F877A là dòng PIC khá phổ biến, khá đầy đủ tính năng phục vụ cho hầu hết tất cả các ứng dụng thực tế. Đây là dòng PIC khá dễ cho người mới làm quen với PIC có thể học tập và tạo nền tảng về họ vi điều khiển PIC của mình. PIC 16F877A thuộc họ vi điều khiển 16Fxxx có các đặc tính ngoại vi sau: - Ngôn ngữ lập trình đơn giản với 35 lệnh có độ dài 14 bit. - Tất cả các câu lệnh thực hiện trong một chu kì lệnh ngoại trừ một số câu lệnh rẽ nhánh thực hiện trong hai chu kì lệnh.

Chu kì lệnh bằng 4 lần chu kì dao động của thạch anh.16x2 1 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.16x2 - Bộ nhớ chương trình Flash 8Kx14 words, với khả năng ghi xóa khoảng 100 ngàn lần. - Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368x8byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte. Số PORT I/O là 5 với 33pin I/O. - Khả năng ngắt (lên tới 14 nguồn cả ngắt trong và ngắt ngoài).

- Ngăn nhớ Stack được chia làm 8 mức. - Truy cập bộ nhớ bằng địa chỉ trực tiếp hoặc gián tiếp. - Dải điện thế hoạt động rộng: 2. - Nguồn sử dụng 25mA.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ