
Đo nhiệt độ dùng LM35 & gửi dữ liệu lên Internet
Thông tin tài liệu
Ngôn ngữ | Vietnamese |
Định dạng | |
Dung lượng | 1.65 MB |
instructor | Th.s Trần Thị Phương Thảo |
Loại tài liệu | Bản đồ án |
Tóm tắt
I.Phương pháp đo nhiệt độ
Đề tài nghiên cứu và thiết kế mạch đo nhiệt độ sử dụng cảm biến LM35 và gửi dữ liệu lên internet. Bài báo trình bày các phương pháp đo nhiệt độ, bao gồm phương pháp tiếp xúc (sử dụng cặp nhiệt điện, nhiệt điện trở (thermistor), và IC cảm biến nhiệt độ như LM35) và phương pháp không tiếp xúc. Chọn phương pháp đo phụ thuộc vào khoảng nhiệt độ cần đo và độ chính xác yêu cầu. Nhiệt điện trở bán dẫn (thermistor) có ưu điểm về kích thước nhỏ gọn và độ chính xác cao (0.0005°C), trong khi LM35 cung cấp độ chính xác cao đến 0.001°C và dễ sử dụng. Việc lựa chọn cảm biến nhiệt độ phù hợp là rất quan trọng để đảm bảo độ chính xác của hệ thống đo.
1. Yêu cầu đo nhiệt độ và các loại cảm biến
Phần này đề cập đến phạm vi nhiệt độ cần đo, từ rất thấp (một vài độ Kelvin) đến rất cao (vài ngàn, vài chục ngàn độ Kelvin), và độ chính xác yêu cầu, có thể từ vài phần ngàn độ đến vài chục độ. Việc lựa chọn phương pháp đo nhiệt độ phụ thuộc vào hai yếu tố này. Văn bản liệt kê các loại cảm biến nhiệt độ chuyên dụng như cặp nhiệt điện, nhiệt điện trở, diode và transistor, IC cảm biến nhiệt độ, và cảm biến thạch anh. Mỗi loại cảm biến có ưu điểm và nhược điểm riêng, phù hợp với các ứng dụng và yêu cầu độ chính xác khác nhau. Sự đa dạng trong các loại cảm biến cho phép lựa chọn giải pháp tối ưu cho từng bài toán đo nhiệt độ cụ thể. Chẳng hạn, đối với việc đo nhiệt độ thép nấu chảy, một phương pháp đo nhanh với thời gian nhúng nhiệt ngẫu trong khoảng (0,4 – 0,6)s được đề cập đến, cho phép xác định nhiệt độ môi trường mà không cần đạt đến nhiệt độ đó hoàn toàn. Độ chính xác của phương pháp này phụ thuộc vào việc nhiệt độ ban đầu của cặp nhiệt ngẫu đạt đến khoảng một nửa nhiệt độ môi trường, với sai số không quá gấp đôi so với đo trực tiếp.
2. Phương pháp đo nhiệt độ tiếp xúc
Một phần quan trọng của tài liệu là mô tả các phương pháp đo nhiệt độ tiếp xúc. Các phương pháp này dựa trên nguyên lý thay đổi điện trở hoặc điện áp của các linh kiện khi nhiệt độ thay đổi. Nhiệt điện trở kim loại được đề cập, với đặc tính điện trở tăng tuyến tính theo nhiệt độ trong một khoảng nhất định, nhưng trở nên phức tạp hơn ở nhiệt độ rất thấp (xấp xỉ 0°C). Độ chính xác của nhiệt điện trở kim loại có thể đạt đến 0.001°C với sai số nhỏ hơn 1%, nhưng dòng tải phải được kiểm soát để tránh hiện tượng quá nhiệt. Nhiệt điện trở bán dẫn (thermistor), được làm từ hợp kim đồng-mangan hoặc coban-mangan, có đặc tính ngược lại: điện trở giảm khi nhiệt độ tăng. Thermistor được sử dụng rộng rãi trong các hệ thống tự động kiểm tra và điều khiển do kích thước nhỏ gọn, trọng lượng nhẹ và khả năng đo nhiệt độ với độ chính xác cao (0.0005°C) trong khoảng nhiệt độ từ -60°C đến +180°C. Để mở rộng phạm vi hoạt động, cần sử dụng các tổ hợp chất bán dẫn khác nhau. So sánh với nhiệt điện trở kim loại, thermistor có ưu điểm về kích thước nhỏ gọn, cho phép đo nhiệt độ ở những vị trí chật hẹp.
3. Phương pháp đo nhiệt độ không tiếp xúc
Tài liệu cũng đề cập đến phương pháp đo nhiệt độ không tiếp xúc, dựa trên định luật bức xạ của vật đen tuyệt đối. Phương pháp này dựa trên việc đo mật độ phổ bức xạ của vật thể, có liên hệ trực tiếp với nhiệt độ và độ dài sóng. Tuy nhiên, phần này chỉ nêu khái niệm và công thức liên quan, không đi sâu vào chi tiết kỹ thuật của phương pháp này. Sự thiếu chi tiết về cách thức thực hiện đo đạc và thiết bị cần thiết làm cho phần này tương đối sơ lược so với các phương pháp đo nhiệt độ tiếp xúc đã được trình bày chi tiết hơn.
4. Khâu chỉ thị nhiệt độ
Khâu chỉ thị nhiệt độ truyền thống sử dụng các cơ cấu cơ điện, hiển thị kết quả đo bằng góc quay hoặc sự di chuyển của kim chỉ thị. Ngày nay, với sự phát triển của công nghệ điện tử, các mạch tích hợp (IC) giải mã và biến đổi Analog-to-Digital Converter (ADC) cho phép sử dụng khâu chỉ thị số, ví dụ như LED 7 đoạn hoặc màn hình tinh thể lỏng LCD, hiển thị kết quả đo dưới dạng số trong hệ thập phân. Sự chuyển đổi từ phương pháp chỉ thị cơ điện sang chỉ thị số mang lại nhiều ưu điểm như độ chính xác cao hơn, khả năng hiển thị đa dạng hơn và dễ dàng tích hợp vào hệ thống điện tử hiện đại. Điều này phù hợp với xu hướng hiện đại hóa trong các hệ thống đo lường tự động.
5. Đo nhiệt độ bằng IC và LM35
Đo nhiệt độ bằng mạch tích hợp (IC) được đề cập, đặc biệt là ứng dụng của LM35. Kỹ thuật vi điện tử cho phép chế tạo các mạch tích hợp với các transistor giống nhau, tạo ra cảm biến đo nhiệt độ dựa trên sự khác biệt điện áp VBE. Các cảm biến này cho ra tín hiệu điện áp hoặc dòng điện tỉ lệ với nhiệt độ tuyệt đối, có độ tuyến tính cao và vận hành đơn giản. Tuy nhiên, phạm vi hoạt động của chúng thường bị giới hạn, ví dụ, khoảng -50°C đến 150°C. LM35 là một ví dụ cụ thể về IC cảm biến nhiệt độ, được đặc trưng bởi độ chính xác cao, dải nhiệt độ hoạt động rộng và khả năng chuyển đổi trực tiếp sang tín hiệu điện áp tương ứng với nhiệt độ. Tài liệu đề cập đến sự thay đổi trở kháng của LM35 theo nhiệt độ, cho thấy ứng dụng của nó trong hệ thống chuyển đổi nhiệt độ thành tín hiệu điện, rất hữu ích cho việc đo lường và điều khiển tự động. Sự tiện lợi và độ chính xác của LM35 làm cho nó trở thành lựa chọn phổ biến trong nhiều ứng dụng đo nhiệt độ.
II.Hệ thống vi điều khiển và giao tiếp
Hệ thống sử dụng vi điều khiển (không nêu cụ thể loại, nhưng đề cập đến PIC và 8051) để xử lý tín hiệu từ cảm biến LM35 và gửi dữ liệu nhiệt độ lên internet. Vi điều khiển được lựa chọn dựa trên tính khả dụng, tài liệu hỗ trợ, và khả năng tích hợp với mạch. Quá trình chuyển đổi tín hiệu analog từ LM35 sang tín hiệu số được thực hiện bằng ADC. Giao tiếp với internet được thực hiện thông qua module Ethernet sử dụng chip ENC28J60 của Microchip. TCP/IP Stack của Microchip được sử dụng để quản lý giao tiếp mạng, bao gồm các giao thức như HTTP, IP, FTP, và DHCP. Module ENC28J60 được lựa chọn vì tính năng kỹ thuật, giá cả, và sự hỗ trợ đầy đủ từ nhà sản xuất.
1. Lựa chọn vi điều khiển
Bài báo đề cập đến việc sử dụng vi điều khiển để xử lý tín hiệu từ cảm biến và gửi dữ liệu lên internet. Mặc dù không chỉ định cụ thể loại vi điều khiển được sử dụng, tài liệu đề cập đến hai dòng vi điều khiển phổ biến là 8051 và PIC. Việc lựa chọn dựa trên các yếu tố như tính khả dụng, số lượng tài liệu hỗ trợ, sự phổ biến của các ứng dụng mở, và sự dễ dàng trong quá trình học tập và tìm kiếm hỗ trợ kỹ thuật. Đặc biệt, đối với dòng vi điều khiển PIC, kiến trúc Harvard được nhấn mạnh, cho phép tối ưu hóa tập lệnh mà không phụ thuộc vào cấu trúc dữ liệu, khác với kiến trúc Von-Neuman. Kiến trúc Harvard, hay còn gọi là RISC (Reduced Instruction Set Computer), giúp tập lệnh ngắn gọn, đơn giản hơn so với CISC (Complex Instruction Set Computer) của kiến trúc Von-Neuman. Sự khác biệt về độ dài lệnh (14 bit cho PIC 16F so với bội số của 8 bit cho Von-Neuman) cũng được đề cập. Ngoài ra, tài liệu cũng điểm qua các loại mạch nạp chương trình cho vi điều khiển PIC, từ các mạch nạp chuyên dụng của Microchip (PICSTART plus, MPLAB ICD 2, MPLAB PM 3, PRO MATE II) đến các mạch nạp đơn giản, giá rẻ có thể tự lắp ráp và tìm kiếm thông tin trên internet, mỗi loại có ưu điểm và nhược điểm riêng.
2. Giao tiếp với cảm biến và ADC
Việc thu thập dữ liệu từ cảm biến nhiệt độ cần có một bộ chuyển đổi tín hiệu analog thành số (ADC). Tín hiệu analog từ cảm biến LM35 được đưa vào ADC để chuyển đổi thành tín hiệu số, sau đó được vi điều khiển xử lý. Quá trình này bao gồm việc so sánh điện áp đầu vào Vin của ADC với điện áp chuẩn Ud. Điện áp chuẩn Ud có thể thay đổi từ 0V đến 2(Vref/2), với Vref có thể là VDD, VSS hoặc hiệu điện thế chuẩn được xác lập trên 2 chân RA2 và RA3. Sự so sánh này được thực hiện lặp lại cho đến khi Ud = Vin, lúc đó giá trị của bộ đếm là giá trị thập phân tương ứng với nhiệt độ. Giá trị này sau đó được giải mã thành nhị phân và đưa ra đầu ra 10 bit của bộ ADC. Các cổng I/O của vi điều khiển, ví dụ như PORTA (RPA) với 8 chân hai chiều, được sử dụng để truyền và nhận dữ liệu. Chức năng của mỗi chân (input hoặc output) được điều khiển bởi thanh ghi TRISA (hoặc các thanh ghi TRIS tương ứng cho các PORT khác).
3. Giao tiếp Ethernet và TCP IP Stack
Để gửi dữ liệu lên internet, hệ thống sử dụng giao tiếp Ethernet. Việc lựa chọn chip ENC28J60 của Microchip được đề cập, dựa trên các tiêu chí như đáp ứng nhu cầu thực tế, sự hỗ trợ tối đa từ nhà sản xuất về thư viện lập trình, dễ dàng giao tiếp với vi xử lý, mạch thiết kế đơn giản và ít đòi hỏi linh kiện ngoài. Tài liệu đề cập đến TCP/IP Stack của Microchip, một bộ thư viện cung cấp nền tảng cho các ứng dụng Ethernet. TCP/IP Stack xử lý các yêu cầu tương tác giữa các tầng vật lý và tầng ứng dụng, bao gồm các giao thức phổ biến như HTTP (để phục vụ web), SMTP (gửi email), SNMP (quản lý mạng), Telnet, TFTP và nhiều giao thức khác. TCP/IP Stack có dung lượng nhẹ, hiệu suất cao, và hỗ trợ các module như IP, ICMP, DHCP, ARP, và DNS. Các khía cạnh của TCP/IP Stack như ARP (Address Resolution Protocol) và DHCP (Dynamic Host Configuration Protocol) được mô tả một cách tóm tắt, nhấn mạnh vào việc sử dụng TCP/IP Stack và sự tích hợp của nó trong hệ thống.
III.Kết nối Internet và xử lý dữ liệu
Dữ liệu nhiệt độ được xử lý bởi vi điều khiển và gửi lên internet sử dụng giao thức TCP/IP. Hệ thống sử dụng TCP/IP Stack của Microchip, tích hợp các giao thức như HTTP để phục vụ web, SMTP cho email, và các giao thức khác. Việc cấu hình địa chỉ IP có thể được thực hiện thủ công hoặc tự động thông qua DHCP. Hệ thống Internet of Things (IoT) này cho phép giám sát nhiệt độ từ xa thông qua kết nối internet.
1. Truyền dữ liệu nhiệt độ lên Internet
Sau khi dữ liệu nhiệt độ được xử lý bởi vi điều khiển, bước tiếp theo là truyền dữ liệu này lên internet. Hệ thống sử dụng giao thức TCP/IP, cụ thể là TCP/IP Stack của Microchip, để thực hiện việc này. TCP/IP Stack cung cấp một nền tảng hoàn chỉnh cho các ứng dụng Ethernet, xử lý hầu hết các yêu cầu tương tác giữa các tầng vật lý và tầng ứng dụng. Nó tích hợp nhiều giao thức phổ biến ở tầng ứng dụng, bao gồm HTTP để phục vụ các trang web, SMTP để gửi email, và SNMP để cung cấp thông tin trạng thái và kiểm soát. Ngoài ra, TCP/IP Stack còn có các module hỗ trợ khác như IP, ICMP, DHCP, ARP, và DNS, giúp quản lý hiệu quả việc kết nối và truyền dữ liệu trên mạng. Việc sử dụng TCP/IP Stack giúp đơn giản hóa quá trình lập trình và đảm bảo tính tương thích với các chuẩn mạng hiện đại. Dữ liệu nhiệt độ, sau khi được chuyển đổi sang dạng số, được đóng gói và truyền đi theo giao thức TCP/IP để đến được máy chủ hoặc ứng dụng cần thiết trên internet.
2. Cấu hình mạng và DHCP
Để kết nối với internet, thiết bị cần được cấu hình địa chỉ IP, địa chỉ gateway và subnet mask. Việc này có thể được thực hiện thủ công hoặc tự động thông qua DHCP (Dynamic Host Configuration Protocol). DHCP cho phép thiết bị tự động nhận được cấu hình mạng từ một máy chủ DHCP trên mạng, bao gồm địa chỉ IP, subnet mask và gateway. Quá trình này tự động hoàn toàn, không cần sự can thiệp của người dùng. Các module DHCP trong TCP/IP Stack được thiết kế như một khối thống nhất, tự động thực hiện các hoạt động cần thiết mà không cần người dùng phải can thiệp trực tiếp vào cấu hình. Tuy nhiên, người dùng cần đảm bảo rằng TickUpdate() được gọi đúng cách để theo dõi thời gian thuê IP, đặc biệt quan trọng khi tuân thủ đặc tả DHCP (RFC1541) đòi hỏi làm mới cấu hình trước khi thời gian thuê hết hạn. Để quản lý và cập nhật thông tin cấu hình, người dùng có thể sử dụng các biến như MY_IP_BYTE?, MY_GATE_BYTE? và MY_MASK_BYTE? để lưu trữ và hiển thị thông tin cấu hình mạng.
3. Sử dụng TCP IP Stack và các module
Bộ thư viện TCP/IP Stack bao gồm nhiều module, trong đó có các module quan trọng như HTTP, IP, FTP và DHCP. Tùy thuộc vào mục đích sử dụng, người lập trình có thể lựa chọn và cấu hình các module này sao cho phù hợp với dự án. Tuy nhiên, một số tập tin nhất định phải được bao gồm trong dự án để đảm bảo quá trình biên dịch thành công. Lớp Media Access Control (MAC) được thực hiện để tương tác với giao diện mạng, cụ thể là Realtek RTL8019AS Controller (NIC). Nếu sử dụng NIC khác, người dùng cần phải sửa đổi hoặc tạo một file MAC.c mới. Các lớp khác như ARP được thực hiện bởi hai mô-đun: ARP và ARPTask, đảm bảo dịch vụ ARP và duy trì bộ nhớ cache để tăng hiệu suất. ARPTask hoạt động ở hai chế độ: Server và Server/Client. Lớp IP hoạt động thụ động, không phản hồi trực tiếp các gói dữ liệu IP mà lớp ứng dụng sẽ xử lý. Lớp TCP xử lý hầu hết các chức năng TCP, bao gồm tự động gửi lại dữ liệu khi cần thiết. Tuy nhiên, việc sử dụng nhiều socket cùng lúc cần được quản lý cẩn thận để tránh thiếu bộ đệm truyền.
IV.Kết luận và hướng phát triển
Đề tài đã hoàn thành việc thiết kế và chế tạo mạch đo nhiệt độ với cảm biến LM35, truyền dữ liệu lên internet. Hệ thống hoạt động cơ bản, nhưng còn một số hạn chế về sai số và độ ổn định. Hướng phát triển trong tương lai tập trung vào việc cải thiện độ chính xác, khắc phục lỗi nhảy giá trị, và chuyển sang sử dụng kết nối Wifi thay vì mạng dây để tăng tính linh hoạt của hệ thống Internet of Things (IoT).
1. Kết nối Internet và cấu hình mạng
Mục tiêu chính của dự án là gửi dữ liệu nhiệt độ lên internet. Điều này được thực hiện thông qua việc sử dụng TCP/IP Stack của Microchip, một bộ thư viện cung cấp các chức năng cần thiết để tương tác với mạng Ethernet. Trong quá trình khởi động, vi điều khiển (được đề cập là PIC18F4680) đọc cấu hình mạng từ bộ nhớ, bao gồm địa chỉ MAC và IP. Cấu hình này có thể được nạp từ các thư viện hoặc được cài đặt thủ công. Việc sử dụng DHCP (Dynamic Host Configuration Protocol) được đề cập như một giải pháp tự động cấu hình địa chỉ IP, subnet mask và gateway, giúp đơn giản hóa quá trình thiết lập. Tuy nhiên, tài liệu cũng nhấn mạnh vào việc người dùng cần hiểu rõ về quá trình hoạt động của DHCP, đặc biệt là việc cập nhật định kỳ thông tin cấu hình để đảm bảo kết nối ổn định và tuân thủ chuẩn RFC1541. Việc kết nối internet trong dự án này sử dụng mạng dây, nhưng hướng phát triển trong tương lai đề cập đến việc chuyển sang sử dụng kết nối Wifi để tăng tính linh hoạt.
2. Truyền dữ liệu và xử lý thông tin
Sau khi được cấu hình mạng, vi điều khiển liên tục gửi tín hiệu nhiệt độ lên internet. Dữ liệu nhiệt độ, sau khi được xử lý bởi vi điều khiển, được truyền đi thông qua giao thức TCP/IP. TCP/IP Stack được sử dụng, với các module như HTTP, IP, FTP, và DHCP. Quá trình truyền dữ liệu bao gồm các bước như đóng gói dữ liệu, định tuyến và truyền qua mạng. Tài liệu đề cập đến việc sử dụng TCP/IP Stack có thể có một số vấn đề liên quan đến việc quản lý bộ đệm truyền cho các socket, đặc biệt khi có nhiều kết nối đồng thời. Việc đảm bảo đủ bộ đệm truyền cho tất cả các socket là cần thiết để tránh tình trạng mất dữ liệu hoặc kết nối bị gián đoạn. Thêm vào đó, tài liệu nhắc đến các tùy chọn trong việc lưu trữ trang web, ví dụ như sử dụng MPFS_USE_PGRM hoặc MPFS_USE_EEPROM, và việc sử dụng thêm tập tin Xeeprom.c nếu dữ liệu được lưu trữ trong EEPROM ngoài. File index.htm được sử dụng làm trang web mặc định.
3. Đánh giá và hướng phát triển
Kết quả của dự án cho thấy hệ thống hoạt động cơ bản, hiển thị được nhiệt độ và địa chỉ IP trên internet. Tuy nhiên, vẫn còn một số nhược điểm cần được cải thiện, bao gồm sai số trong quá trình đo và hiện tượng nhảy giá trị ngẫu nhiên. Việc sử dụng mạng dây cũng được chỉ ra là một hạn chế. Hướng phát triển trong tương lai tập trung vào việc khắc phục các nhược điểm này bằng cách cải thiện độ chính xác của quá trình đo, giải quyết vấn đề nhảy giá trị, và chuyển sang sử dụng kết nối Wifi để tăng tính linh hoạt của hệ thống. Việc này đòi hỏi nghiên cứu thêm và cải tiến thuật toán xử lý dữ liệu, cũng như tích hợp module Wifi vào hệ thống. Những hạn chế về thời gian và trình độ của người thực hiện được đề cập như là những nguyên nhân gây ra các thiếu sót của dự án.