ĐỒ ÁN VXL - ĐO VÀ ĐIỀU KHIỂN NHIỆT ĐỘ SỬ DỤNG CẢM BIẾN NHIỆT DS18B20
BỘ GIÁO DỤC VÀ ĐÀO TẠO KHOA ĐIỆN - ĐIỆN TỬ \ ĐỀ TÀI: “ĐO VÀ ĐIỀU KHIỂN NHIỆT ĐỘ SỬ DỤNG CẢM BIẾN NHIỆT DS18B20 BÁO CÁO ĐỒ ÁN VI XỬ LÝ Đà Nẵng, 12/2020 ĐỒ ÁN VI XỬ LÝ DS18B20 Trang ĐO VÀ ĐK CẢM BIẾN CHƯƠNG 1: TỔNG QUAN VỀ ĐO NHIỆT ĐỘ CÁC LOẠI CẢM BIẾN NHIỆT ĐỘ: 1.1 Tổng quan: • Cảm biến thiết bị dùng để đo, đếm, cảm nhận,…các đại lượng vật lý khơng điện thành tín hiệu điện Ví dụ nhiệt độ tín hiệu khơng điện, qua cảm biến trở thành dạng tín hiệu khác (điện áp, điện trở…) Sau phận xử lí trung tâm thu nhận dạng tín hiệu điện trở hay điện áp để xử lí • Đối với loại cảm biến nhiệt có yếu tố ảnh hưởng trực tiếp đến độ xác “Nhiệt độ mơi trường cần đo” “Nhiệt độ cảm nhận cảm biến” Điều nghĩa việc truyền nhiệt từ môi trường vào đầu đo cảm biến nhiệt tổn thất cảm biến đo xác Điều phụ thuộc lớn vào chất liệu cấu tạo nên phần tử cảm biến (cảm biến nhiệt đắt hay rẻ nguyên nhân định) Đồng thời ta rút nguyên tắc sử dụng cảm biến nhiệt là: Phải đảm bảo trao đổi nhiệt môi trường cần đo với phần tử cảm biến • Xét cấu tạo chung Cảm biến nhiệt có nhiều dạng Tuy nhiên, cảm biến ưa chuộng ứng dụng thương mại công nghiệp thường đặt khung làm thép không gỉ, nối với phận định vị, có đầu nối cảm biến với thiết bị đo lường Trong trường hợp khác, đặc biệt ứng dụng thực tiễn cặp nhiệt độ, người ta lại hay sử dụng loại cảm biến khơng có khung Lợi cảm biến cho kết nhanh với kích thước nhỏ gọn chi phí sản xuất thấp 1.2 Các loại cảm biến nhiệt: 1.2.1 Cặp nhiệt điện (Thermocouple) \ ĐỒ ÁN VI XỬ LÝ DS18B20 Trang ĐO VÀ ĐK CẢM BIẾN • Cấu tạo: Gồm chất liệu kim loại khác nhau, hàn dính đầu • Ngun lý: Nhiệt độ thay đổi cho sức điện động thay đổi ( mV) • Ưu điểm: Bền, đo nhiệt độ cao • Khuyết điểm: Nhiều yếu tố ảnh hưởng làm sai số Độ nhạy khơng cao • Thường dùng: Lị nhiệt, mơi trường khắt nghiệt, đo nhiệt nhớt máy nén,… • Dải đo: -100 ~ 1400oC • Ứng dụng: sản xuất cơng nghiệp, luyện kim, giáo dục hay gia công vật liệu… Trên thị trường có nhiều loại Cặp nhiệt điện khác (E, J, K, R, S, T…) loại Cặp nhiệt điện cấu tạo chất liệu khác nhau, từ sức điện động tạo khác dẫn đến dải đo khác Người sử dụng cần ý điều để lựa chọn loại Cặp nhiệt điện phù hợp với u cầu • Đồng thời lắp đặt sử dụng loại Cặp nhiệt điện cần ý tới điểm sau Dây nối từ đầu đo đến điều khiển ngắn tốt (vì tín hiệu truyền dạng điện áp mV nên dây dài dẫn đến sai số nhiều) Thực việc cài đặt giá trị bù nhiệt (Offset) để bù lại tổn thất mát đường dây Giá trị Offset lớn hay nhỏ tùy thuộc vào độ dài, chất liệu dây môi trường lắp đặt Không để đầu dây nối Cặp nhiệt điện tiếp xúc với môi trường cần đo.Đấu nối chiều âm, dương cho Cặp nhiệt điện 1.2.2 Nhiệt điện trở (Resitance temperature detector –RTD) • Cấu tạo RTD gồm có dây kim loại làm từ: Đồng, Nikel, Platinum,… quấn tùy theo hình dáng đầu đo \ ĐỒ ÁN VI XỬ LÝ DS18B20 Trang ĐO VÀ ĐK CẢM BIẾN • Ngun lí hoạt động: Khi nhiệt độ thay đổi điện trở hai đầu dây kim loại thay đổi, tùy chất liệu kim loại có độ tuyến tính khoảng nhiệt độ định • Ưu điểm: độ xác cao Cặp nhiệt điện, dễ sử dụng hơn, chiều dài dây khơng hạn chế • Khuyết điểm: Dải đo bé Cặp nhiệt điện, giá thành cao Cặp nhiệt điện • Dải đo: -200~700oC • Ứng dụng: Trong ngành công nghiệp chung, công nghiệp môi trường hay gia cơng vật liệu, hóa chất… Hiện phổ biến RTD loại cảm biến Pt, làm từ Platinum Platinum có điện trở suất cao, chống oxy hóa, độ nhạy cao, dải nhiệt đo dài Thường có loại: 100, 200, 500, 1000 ohm (khi oC) Điện trở cao độ nhạy nhiệt cao • RTD thường có loại dây, dây dây Loại dây cho kết đo xác 1.2.3 Điện trở oxit kim loại (Thermistor) • Cấu tạo: Làm từ hổn hợp oxid kim loại: mangan, nickel, cobalt,… \ ĐỒ ÁN VI XỬ LÝ DS18B20 • • • • • Trang ĐO VÀ ĐK CẢM BIẾN Nguyên lý: Thay đổi điện trở nhiệt độ thay đổi Ưu điểm: Bền, rẽ tiền, dễ chế tạo Khuyết điểm: Dãy tuyến tính hẹp Dải đo: 50o Ứng dụng: Làm chức bảo vệ, ép vào cuộn dây động cơ, mạch điện tử • Có hai loại thermistor: Hệ số nhiệt dương PTC- điện trở tăng theo nhiệt độ; Hệ số nhiệt âm NTC – điện trở giảm theo nhiệt độ Thường dùng loại NTC 1.2.4 Cảm biến nhiệt bán dẫn: • Cấu tạo: Làm từ loại chất bán dẫn • Nguyên lý: Sự phân cực chất bán dẫn bị ảnh hưởng nhiệt độ • Ưu điểm: Rẻ tiền, dễ chế tạo, độ nhạy cao, chống nhiễu tốt, mạch xử lý đơn giản • Khuyết điểm: Khơng chịu nhiệt độ cao, bền • Dải đo: -50 ~ 150oC • Ứng dụng: Đo nhiệt độ khơng khí, dùng thiết bị đo, bảo vệ mạch điện tử • Các loại cảm biến nhiệt bán dẫn điển hình: kiểu diod, kiểu IC LM35, LM335, LM45 1.2.5 Nhiệt kế xạ (Hay hỏa kế): \ ĐỒ ÁN VI XỬ LÝ DS18B20 Trang ĐO VÀ ĐK CẢM BIẾN • Cấu tạo: Làm từ mạch điện tử, quang học • Ngun lý: Đo tính chất xạ lượng mơi trường mang nhiệt • Ưu điểm: Dùng môi trường khắc nghiệt, không cần tiếp xúc với mơi • • • • trường đo Khuyết điểm: Độ xác khơng cao, đắt tiền Ứng dụng: Làm thiết bị đo cho lò nung Dải đo: -97 ~ 1800 oC Hỏa kế gồm có loại: Hỏa kế xạ, hỏa kế cường độ sáng, hỏa kế màu sắc Chúng hoạt động dựa nguyên tắc vật mang nhiệt có tượng xạ lượng Và lượng xạ có bước sóng định Hỏa kế thu nhận bước sóng phân tích nhiệt độ vật cần đo ĐẶC ĐIỂM CẢM BIẾN DS18B20 2.1 Đặc điểm: Cảm biến nhiệt độ DS18B20 cảm biến (loại digital) đo nhiệt độ với độ phân giải cao (12bit) IC sử dụng giao tiếp dây gọn gàng, dễ lập trình IC cịn có chức cảnh báo nhiệt độ vượt ngưỡng đặc biệt cấp nguồn từ chân data (parasite power) 2.2 Thơng số kỹ thuật: • Nguồn: – 5.5V • Dải đo nhiệt độ: -55 đến 125 độ C (-67 đến 257 độ F) • Sai số: +- 0.5 độ C đo dải -10 – 85 độ C • Độ phân giải: người dùng chọn từ – 12 bits • Chuẩn giao tiếp: 1-Wire (1 dây) \ ĐỒ ÁN VI XỬ LÝ DS18B20 Trang ĐO VÀ ĐK CẢM BIẾN • Có cảnh báo nhiệt vượt ngưỡng cho phép cấp nguồn từ chân data • Thời gian chuyển đổi nhiệt độ tối đa: 750ms (khi chọn độ phân giải 12bit) • Mỗi IC có mã riêng (lưu EEPROM IC) nên giao tiếp nhiều DS18B20 dây • Ống thép khơng gỉ (chống ẩm , nước) đường kính 6mm, dài 50mm • Đường kính đầu dị: 6mm • Chiều dài dây: 1m 2.3 \ Sơ đồ nối dây: ĐỒ ÁN VI XỬ LÝ DS18B20 Trang ĐO VÀ ĐK CẢM BIẾN CHƯƠNG 2: TỔNG QUAN VỀ ARDUINO LỊCH SỬ PHÁT TRIỂN: • Cùng với Raspberry Pi, Arduino tên đình đám cộng đồng người yêu thích board mạch mã nguồn mở • Arduino có lịch sử đời thú vị • Mới đầu Arduino tạo để giải toán: Làm để sinh viên tạo thiết bị điện tử cách nhanh chóng • Vào năm 2002, Banzi, giáo sư phần mềm đưa IDII (Viện Thiết Kế Vật Lý Ivrea, Italia) để thúc đẩy lĩnh vực cịn non trẻ gọi “máy tính vật lý” với ngân sách hạn hẹp, thời gian hạn chế cơng cụ Hình 1.1: Massimo Banzi • Giống nhiều đồng nghiệp mình, Banzi dựa vào Stamp BASIC, vi điều khiển tạo công ty California Parallax mà kỹ sư sử dụng khoảng thập kỷ Sử dụng ngơn ngữ lập trình BASIC, Stamp giống bo mạch nhỏ gọn gàng, gồm yếu tố cần thiết \ ĐỒ ÁN VI XỬ LÝ DS18B20 Trang ĐO VÀ ĐK CẢM BIẾN nguồn cung cấp lượng, vi điều khiển, nhớ cổng vào-ra để kết nối với phần cứng khác Nhưng với Stamp BASIC có hai vấn đề mà Banzi phát ra: khơng có đủ khả xử lý cho số dự án sinh vin , có giá khoảng 100 USD cao so với sinh viên Ơng cần mà chạy máy tính Macintosh, thứ phổ biến với sinh viên IDII • Banzi có đồng nghiệp từ MIT phát triển ngôn ngữ lập trình, thiết kế thân thiện gọi Processing Processing nhanh chóng phổ biến cho phép lập trình viên thiếu kinh nghiệm tạo thiết kết đẹp phức tạp Một lý cho thành công Processing giao diện tích hợp dễ sử dụng Banzi tự hỏi liệu họ tạo cơng cụ phần mềm tương tự để lập trình vi điều khiển thay đồ họa hình Hình 1.2: Một chương trình Processing • Một sinh viên chương trình, Hernando Barragán, bước theo hướng đó, anh phát triển tảng mẫu gọi Wiring, bao gồm IDE thân thiện bảng mạch có sẵn để sử dụng Banzi suy nghĩ lớn hơn: Ông muốn tạo tảng mà chí cịn đơn giản hơn, rẻ hơn, dễ dàng để sử dụng • Mẫu thử nghiệm ban đầu, thực vào năm 2005, thiết kế đơn giản, chưa gọi Arduino Massimo Banzi sử dụng tên Arduino vào năm sau \ ĐỒ ÁN VI XỬ LÝ DS18B20 Trang 10 ĐO VÀ ĐK CẢM BIẾN Hình 1.3: Những thử nghiệm lần đầu Arduino • Banzi cộng ông tin tưởng mạnh mẽ vào phần mềm mã nguồn mở Vì mục đích để tạo tảng nhanh chóng dễ dàng truy cập, họ cảm thấy tốt hết để dự án “mở” để nhiều người tham gia phát triển tốt Một nguyên nhân khác sau hoạt động năm năm, IDII hết vốn phải đóng cửa Đội ngũ giảng viên lo ngại dự án họ khơng tồn bị chiếm dụng “Vì vậy, chúng tơi nói: Hãy qn ” Banzi nhớ lại “Hãy làm cho trở thành mã nguồn mở” • Mơ hình mã nguồn mở từ lâu sử dụng làm lượng thúc đẩy đổi cho lĩnh vực phần mềm, phần cứng Để làm việc đó, họ phải tìm giải pháp cấp phép phù hợp áp dụng cho bo Arduino họ Sau • xem xét, họ nhận họ việc đơn giản nhìn vào dự án họ theo cách nhìn khác Họ sử dụng giấy phép Creative Commons thường sử dụng cho cơng trình văn hóa âm nhạc văn “Bạn nghĩ phần cứng phần văn hóa bạn muốn chia sẻ với người khác ” Banzi nói • Để làm bo Arduino, nhóm đặt giá cụ thể để Arduino trở nên “thân thiện” với sinh viên mục tiêu họ 30$ “Nó phải tương đương với bữa ăn Pizza ngồi” Banzi nói Họ muốn làm cho có chút kỳ quặc với hy vọng trơng bật mẻ Nếu bo khác thường màu xanh cây, họ làm cho Arduino có màu xanh da trời Cuối cùng, họ thêm vào đồ nhỏ Ý mặt sau \ ĐỒ ÁN VI XỬ LÝ DS18B20 Trang 11 ĐO VÀ ĐK CẢM BIẾN bo ” Với kĩ sư nói trơng lạ” Banzi nói với nụ cười “nhưng kỹ sư thực sự, tơi làm trơng kì khơi vậy“ • Đối với kỹ sư “thực sự” nhóm, Gianluca Martino, mơ tả • Arduino “cách suy nghĩ thiết bị điện tử”,ơng nói • Arduino nhóm tạo bao gồm phận giá rẻ mà dễ dàng tìm thấy người dùng muốn tự làm cho riêng thiết bị, chẳng hạn vi điều khiển ATmega328 Tuy nhiên, định quan trọng để đảm bảo thiết bị “plug-and-play” cắm vào máy tính, sử dụng Khơng Stamp BASIC địi hỏi người dùng phải mua thêm phụ kiện khác để kết nối sử dụng Đối với Arduino, người sử dụng cần kéo cáp USB khỏi bo kết nối với máy tính để lập trình • Với mức giá 30$ cho bo Arduino có khồng 20 ngõ I/O tương tác điều khiển chừng thiết bị, tính chất nguồn mở từ phần cứng tới phần mềm, giao diện lập trình dễ sử dụng, với ngôn ngữ lập trình học cách nhanh chóng với người am hiểu điện tử lập trình Arduino thực gây sóng gió thị trường người dùng DIY (Do It Yourself) toàn giới vài năm gần Thậm chí sinh viên nhà nghiên cứu trường đại học danh tiếng MIT, Stanford, Carnegie Mellon sử dụng; Google muốn hỗ trợ cho đời kit Arduino Mega ADK dùng để phát triển ứng dụng Android tương tác với cảm biến thiết bị khác • Về tên Arduino, tên đặt theo tên quán rượu Bar di Re Arduino, nơi mà Bazi cộng thường lui tới trình làm nên bo mạch Đây điều thật thú vị bất ngờ LẬP TRÌNH ADC TRONG ARDUINO: 2.1 analogReference(); Hàm analogReference() có nhiệm vụ đặt lại mức (điện áp) tối đa đọc tín hiệu analogRead Ứng dụng sau, giả sử bạn đọc tín hiệu dạng analog có hiệu điện từ 0-1,1V Nhưng mà dùng mức điện áp \ ĐỒ ÁN VI XỬ LÝ DS18B20 Trang 12 ĐO VÀ ĐK CẢM BIẾN tối đa mặc định hệ thống (5V) khoảng giá trị ngắn => độ xác => hàm đời để giải việc đó! Cú pháp analogReference(type); 2.2 analogRead(); Nhiệm vụ analogRead() đọc giá trị điện áp từ chân Analog (ADC) Trên mạch Arduino UNO có chân Analog In, kí hiệu từ A0 đến A5 Trên mạch khác có chân tương tự với tiền tố "A" đứng đầu, sau số hiệu chân analogRead() trả số nguyên nằm khoảng từ đến 1023 tương ứng với thang điện áp (mặc định) từ đến 5V Bạn điều chỉnh thang điện áp hàm analogReference(); Hàm analogRead() cần 100 micro giây để thực Khi người ta nói "đọc tín hiệu analog", bạn hiểu việc đọc giá trị điện áp từ chân vào tương tự Cú pháp analogRead([chân đọc điện áp]); 2.3 analogWrite(); Lệnh khảo sát kỹ phần tìm hiểu lập trình PWM analogWrite() lệnh xuất từ chân mạch Arduino mức tín hiệu analog (phát xung PWM) Người ta thường điều khiển mức sáng tối đèn LED hay hướng quay động servo cách phát xung PWM Bạn không cần gọi hàm pinMode() để đặt chế độ OUTPUT cho chân dùng để phát xung PWM mạch Arduino Cú pháp analogWrite([chân xung PWM]); \ phát xung PWM], [giá trị ĐỒ ÁN VI XỬ LÝ DS18B20 Trang 13 ĐO VÀ ĐK CẢM BIẾN Giá trị mức xung PWM nằm khoảng từ đến 255, tương ứng với mức duty cycle từ 0% đến 100% LẬP TRÌNH PWM TRONG ARDUINO: • Xung trạng thái cao / thấp (HIGH/LOW) mức điện áp lặp lặp lại Đại lượng đặc trưng cho xung PWM (Pulse Width Modulation) bao gồm tần số (frequency) chu kì xung (duty cycle) • Tần số số lần lặp lại đơn vị thời gian Đơn vị tần số Hz, tức số lần lặp lại dao động giây • Hàm analogWrite() Arduino giúp việc tạo xung dễ dàng Hàm truyền vào tham số cho phép thay đổi chu kì xung, bạn tính tốn chu kì xung bảng Tần số xung Arduino thiết lập mặc định • Đối với board Arduino Uno, xung chân 3,9,10,11 có tần số 490Hz, xung chân 5,6 có tần số 980Hz Làm để tạo xung có tần số nhanh hơn? Bạn tham khảo thêm thư viện riêng hỗ trợ việc Trong mã nguồn Arduino gốc không hỗ trợ phần \ ĐỒ ÁN VI XỬ LÝ DS18B20 Trang 14 ĐO VÀ ĐK CẢM BIẾN CHƯƠNG 3: ĐO VÀ ĐIỀU KHIỂN NHIỆT ĐỘ SỬ DỤNG CẢM BIẾN NHIỆT DS18B20 CHI TIẾT ĐỒ ÁN: Cho hệ thống điều khiển nhiệt độ gồm: dây MAYSO để làm nóng, QUẠT để làm mát, sử dụng cảm biến LM35 để đo nhiệt độ thực (T_t), biến trở để đặt nhiệt độ (T-d) Với mạch mô sau: \ ĐỒ ÁN VI XỬ LÝ DS18B20 Trang 15 ĐO VÀ ĐK CẢM BIẾN Nội dung hình LCD gợi ý sau: T _ d : x x x , Q U A T : z z z , T _ t : y y M S : t t t y Bảng chân lý điều khiển MAYSO QUAT sau: So sánh giá trị T_d T_t \ Trạng thái MAYSO Trạng thái QUẠT ĐỒ ÁN VI XỬ LÝ DS18B20 Trang 16 ĐO VÀ ĐK CẢM BIẾN T_d > T_t ON OFF T_d < T_t OFF ON T_d = T_t OFF OFF Bảng phân công IO Stt Thiết bị vào TB ĐC DS20B1 A3 BT MT Stt Thiết bị TB ĐC SDA 20 SCL 21 MAYSO QUAT MT LƯU ĐỒ THUẬT TOÁN: Bắt đầu Khai báo thư viện LCD – I2C, DS20B18, BT, QUAT, MAYSO, biến \ Đọc giá trị cảm biến Chọn chức DS20B18, biếnvào đổira, Đọc trị ADC từthị BT, T_d =giá T_t cấu hình hiển thành T_t, hiển thị giá trị biến đổi thành T_d, hiển LCD T_t lênthúc LCD Kết thị giá trị T_d lên LCD Bật Tắt Bậtdây QUAT, MAYSO, tắt dây tắt MAYSO, QUAT, hiển hiểnthị thịLCD LCD ĐỒ ÁN VI XỬ LÝ DS18B20 Trang 17 ĐO VÀ ĐK CẢM BIẾN Đ Đ Đ S CHƯƠNG TRÌNH ĐIỀU KHIỂN: \ ĐỒ ÁN VI XỬ LÝ DS18B20 \ Trang 18 ĐO VÀ ĐK CẢM BIẾN 21 ... hỗ trợ phần ĐỒ ÁN VI XỬ LÝ DS18B20 Trang 14 ĐO VÀ ĐK CẢM BIẾN CHƯƠNG 3: ĐO VÀ ĐIỀU KHIỂN NHIỆT ĐỘ SỬ DỤNG CẢM BIẾN NHIỆT DS18B20 CHI TIẾT ĐỒ ÁN: Cho hệ thống điều khiển nhiệt độ gồm: dây MAYSO... biến nhiệt có yếu tố ảnh hưởng trực tiếp đến độ xác ? ?Nhiệt độ mơi trường cần đo? ?? ? ?Nhiệt độ cảm nhận cảm biến? ?? Điều nghĩa việc truyền nhiệt từ mơi trường vào đầu đo cảm biến nhiệt tổn thất cảm biến. ..ĐỒ ÁN VI XỬ LÝ DS18B20 Trang ĐO VÀ ĐK CẢM BIẾN CHƯƠNG 1: TỔNG QUAN VỀ ĐO NHIỆT ĐỘ CÁC LOẠI CẢM BIẾN NHIỆT ĐỘ: 1.1 Tổng quan: • Cảm biến thiết bị dùng để đo, đếm, cảm nhận,…các đại