THIẾT kế MẠCH đo NHIỆT độ sử DỤNG BOARD ARDUINO, HIỂN THỊ TRÊN 4 LED 7 THANH và TRUYỀN PHÁT KHÔNG dây sử DỤNG MODULE nRF24L01

20 5 0
THIẾT kế MẠCH đo NHIỆT độ sử DỤNG BOARD ARDUINO, HIỂN THỊ TRÊN 4 LED 7 THANH và TRUYỀN PHÁT KHÔNG dây sử DỤNG MODULE nRF24L01

Đ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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA ĐIỆN ====o0o==== BÁO CÁO ĐỒ ÁN ĐỀ TÀI: THIẾT KẾ MẠCH ĐO NHIỆT ĐỘ SỬ DỤNG BOARD ARDUINO, HIỂN THỊ TRÊN LED THANH VÀ TRUYỀN PHÁT KHÔNG DÂY SỬ DỤNG MODULE nRF24L01 Giáo viên hướng dẫn : TS … Sinh viên thực :… … Lớp : TĐH2-K56 Hà nội, 11-2013 i Mục lục MỤC LỤC MỤC LỤC DANH MỤC HÌNH VẼ DANH MỤC BẢNG SỐ LIỆU LỜI NÓI ĐẦU Chương 1: TỔNG QUAN 1.1 Giới thiệu chung Arduino 1.2 Giới thiệu board Arduino Uno 1.3 Giới thiệu board Arduino Nano 10 1.4 Giới thiệu IC 74HC595 12 1.5 Giới thiệu cảm biến nhiệt độ LM35 13 1.6 Giới thiệu module truyền phát nRF24L01 15 1.6.1 Thông số kỹ thuật: 15 1.6.2 Phân tích 16 1.7 Giới thiệu chung phần mềm mô Proteus 17 1.8 Thư viện Arduino Proteus 18 1.9 Giới thiệu Arduino IDE ngơn ngữ lập trình cho Arduino 19 Chương 2: THIẾT KẾ, LẬP TRÌNH VÀ LẮP ĐẶT MẠCH ĐO NHIỆT ĐỘ VÀ TRUYỀN PHÁT KHÔNG DÂY 22 2.1 Thiết kế mạch Proteus 22 2.1.1 Thiết kế mạch đo nhiệt độ không truyền phát 22 2.1.2 Thiết kế mạch đo nhiệt độ truyền phát không dây với module nRF24L01 25 2.2 Lập trình cho mạch đo nhiệt độ 27 2.2.1 Lập trình cho mạch đo nhiệt độ khơng truyền phát có cảnh báo giới hạn 27 2.2.2 Lập trình cho mạch đo nhiệt độ có truyền phát khơng dây 30 a Các thư viện sử dụng: 30 Trang Mục lục b Vấn đề lập trình truyền phát khơng dây với nRF24L01 30 2.3 Lắp đặt mạch đo nhiệt độ thử nghiệm test board 33 2.3.1 Lắp đặt thử nghiệm mạch đo nhiệt độ không truyền phát 33 2.3.2 Lắp đặt thử nghiệm mạch đo nhiệt độ có truyền phát với nRF24L01 36 a Lắp đặt mạch truyền (Transmitter) mạch nhận (Receiver) 36 b Quá trình thử nghiệm 38 2.4 Chi phí thực đề tài 44 Chương 3: TỔNG KẾT 46 TÀI LIỆU THAM KHẢO 48 PHỤ LỤC 49 Trang Danh mục hình vẽ DANH MỤC HÌNH VẼ Chương 1: TỔNG QUAN Hình 1.1: Những thành viên khởi xướng Arduino Hình 1.2 Board Arduino Uno Hình 1.3 Board Arduino Nano 11 Hình 1.4 Cấu tạo IC 74HC595 12 Hình 1.5 Cảm biến LM35 14 Hình 1.6 Sơ đồ chân cảm biến LM35 14 Hình 1.7 Module nRF24L01 15 Hình 1.8 Sơ đồ chân module nRF24L01 17 Hình 1.9 Giao diện khởi động phần mềm Proteus 18 Hình 1.10 Các linh kiện thư viện Arduino cho Proteus 19 Hình 1.11 Giao diện phần mềm Arduino IDE 20 Chương 2: THIẾT KẾ, LẬP TRÌNH VÀ LẮP ĐẶT MẠCH ĐO NHIỆT ĐỘ VÀ TRUYỀN PHÁT KHƠNG DÂY Hình 2.1 Sơ đồ ngun lý mạch đo nhiệt độ không truyền phát thiết kế Proteus 23 Hình 2.2 Mơ hiển thị nhiệt độ Proteus 24 Hình 2.3 Mơ mạch đo nhiệt độ khơng truyền phát có thêm chức cảnh báo giới hạn nhiệt độ đèn led 25 Hình 2.4 Mạch đo nhiệt độ không truyền phát lắp đặt test board 34 Hình 2.5 Chế độ hiển thị nhiệt độ thang Celsius (oC) mạch đo nhiệt độ 35 Hình 2.6 Hiển thị nhiệt độ thang Fahrenheit (oF) mạch đo nhiệt độ 36 Hình 2.7 Mạch transmitter lắp đặt test board 37 Hình 2.8 Mạch Transmitter hiển thị nhiệt độ đo 37 Hình 2.9 Mạch Receiver lắp đặt test board sau cấp nguồn điện 38 Hình 2.10 Mạch Transmitter Receiver chưa cấp nguồn điện 39 Trang Danh mục hình vẽ Hình 2.11 Hoạt động mạch Transmitter Receiver trình thử nghiệm 40 Hình 2.12 Hoạt động mạch Transmitter 41 Hình 2.13 Hoạt động mạch Receiver 41 Hình 2.14 Tồn cảnh q trình đo, truyền - phát, hiển thị nhiệt độ mạch Transmitter Receiver 42 Hình 2.15 Giao diện hiển thị mạch Transmitter qua chức Serial Monitor Arduino IDE 43 Hình 2.16 Giao diện hiển thị mạch Receiver qua chức Serial Monitor Aruino IDE 44 Hình 2.17 Giao diện hiển thị máy tính mạch Transmitter mạch Receiver 44 Trang Danh mục bảng số liệu DANH MỤC BẢNG SỐ LIỆU Chương 1: Bảng 1.1 Sơ đồ kết nối chân Arduino với module nRF24L01 17 Chương 2: Bảng 2.1 Sơ đồ kết nối chân linh kiện IC 74HC595 Transistor mạch đo nhiệt độ có truyền phát 26 Bảng 2.2 Chi phí thực đề tài đồ án 44 Trang Lời nói đầu LỜI NĨI ĐẦU Ngày khoa học công nghệ ngày phát triển, vi điều khiển AVR vi điều khiển PIC ngày thông dụng hồn thiện , nói xuất Arduino vào năm 2005 Italia mở hướng cho vi điều khiển Sự xuất Arduino hỗ trợ cho người nhiều lập trình thiết kế, người bắt đầu tìm tịi vi điều khiển mà khơng có q nhiều kiến thức, hiểu biết sâu sắc vật lý điện tử Phần cứng thiết bị tích hợp nhiều chức mã nguồn mở Ngơn ngữ lập trình Java lại vơ dễ sử dụng tương thích với ngơn ngữ C hệ thư viện phong phú chia sẻ miễn phí Chính lý nên Arduino dần phổ biến phát triển ngày mạnh mẽ toàn giới Trên sở kiến thức học môn học : Tin học đại cương , Điện tử tương tự số… với hiểu biết thiết bị điện tử, chúng em định thực đề tài : Thiết kế mạch đo nhiệt độ sử dụng board Arduino, hiển thị led truyền phát khơng dây sử dụng module nRF24L01 với mục đích để tìm hiểu thêm Arduino, làm quen với thiết bị điện tử nâng cao hiểu biết cho thân Do kiến thức hạn hẹp, thêm vào lần đầu chúng em thực đồ án nên chắn khơng tránh khỏi thiếu sót , hạn chế chúng em mong có góp ý nhắc nhờ từ thầy giáo để hồn thiện đề tài Chúng em xin chân thành cảm ơn thầy giáo TS.Nguyễn Hoàng Nam giúp đỡ chúng em nhiều trình tìm hiểu ,thiết kế hồn thành đề tài đồ án Hà Nội, ngày 29 tháng 11 năm 2013 Sinh viên thực Trang Chương 1: Tổng quan Chương TỔNG QUAN 1.1 Giới thiệu chung Arduino Arduino thực gây sóng gió thị trường người dùng DIY (là người tự chế sản phẩm mình) tồn giới vài năm gần đây, gần giống với Apple làm thị trường thiết bị di động Số lượng người dùng cực lớn đa dạng với trình độ trải rộng từ bậc phổ thơng lên đến đại học làm cho người tạo chúng phải ngạc nhiên mức độ phổ biến Hình 1.1: Những thành viên khởi xướng Arduino Arduino mà khiến sinh viên nhà nghiên cứu trường đại học danh tiếng MIT, Stanford, Carnegie Mellon phải 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? Arduino thật bo mạch vi xử lý dùng để lập trình tương tác với thiết bị phần cứng cảm biến, động cơ, đèn thiết bị khác Đặc điểm bật Arduino môi trường phát triển ứng dụng dễ sử dụng, với ngôn ngữ lập Trang Chương 1: Tổng quan trình học cách nhanh chóng với người am hiểu điện tử lập trình Và điều làm nên tượng Arduino mức giá thấp tính chất nguồn mở từ phần cứng tới phần mềm Chỉ với khoảng $30, người dùng sở hữu board Arduino có 20 ngõ I/O tương tác điều khiển chừng thiết bị Arduino đời thị trấn Ivrea thuộc nước Ý đặt theo tên vị vua vào kỷ thứ King Arduin Arduino thức đưa giới thiệu vào năm 2005 công cụ khiêm tốn dành cho sinh viên giáo sư Massimo Banzi, người phát triển Arduino, trường Interaction Design Instistute Ivrea (IDII) Mặc dù khơng tiếp thị cả, tin tức Arduino lan truyền với tốc độ chóng mặt nhờ lời truyền miệng tốt đẹp người dùng Hiện Arduino tiếng tới nỗi có người tìm đến thị trấn Ivrea để tham quan nơi sản sinh Arduino 1.2 Giới thiệu board Arduino Uno Arduino Uno bo mạch thiết kế với xử lý trung tâm vi điểu khiển AVR Atmega328 Cấu tạo Arduino Uno bao gồm phần sau: Hình 1.2 Board Arduino Uno Trang Chương 1: Tổng quan - Cổng USB: loại cổng giao tiếp để ta upload code từ PC lên vi điều khiển Đồng thời giao tiếp serial để truyền liệu vi điều khiển máy tính - Jack nguồn: để chạy Arduino thỉ lấy nguồn từ cổng USB trên, khơng phải lúc cắm với máy tính Lúc ta cần nguồn từ 9V đến 12V - Có 14 chân vào/ra số đánh số thứ tự từ đến 13, ngồi có chân nối đất (GND) chân điện áp tham chiếu (AREF) - Vi điều khiển AVR: xử lí trung tâm tồn bo mạch Với mẫu Arduino khác chip khác Ở Arduino Uno sử dụng ATMega328 - Các thông số chi tiết Arduino Uno: Vi xử lý: Atmega328 Điện áp hoạt động: 5V Điện áp đầu vào: 7-12V Điện áp đầu vào (Giới hạn): 6-20V Chân vào/ra (I/O) số: 14 ( chân cho đầu PWM) Chân vào tương tự: Dòng điện chân I/O: 40mA Dòng điện chân nguồn 3.3V: 50mA Bộ nhớ trong: 32 KB (ATmega328) SRAM: KB (ATmega328) EEPROM: KB (ATmega328) Xung nhịp: 16MHz 1.3 Giới thiệu board Arduino Nano Board Arduino Nano có cấu tạo, số lượng chân vào tương tự board Arduino Uno nhiên tối giản kích thước cho tiện sử dụng Do tối Trang 10 Chương 1: Tổng quan giản nhiều kích thước nên Arduino Nano nạp code cung cấp điện cổng mini USB Hình 1.3 Board Arduino Nano Thơng số kĩ thuật chi tiết: + Vi xử lý ATmega328 (phiên v3.0) + Điện áp hoạt động 5V + Điện áp đầu vào (khuyến nghị) 7-12 V + Điện áp đầu vào (giới hạn) 6-20 V + Chân vào/ra số 14 (6 chân có khả xuất tín hiệu PWM) + Chân vào tương tự + Dòng điện chân vào/ra 40 mA + Bộ nhớ 16 KB (ATmega168), 32 KB (ATmega328) KB dùng để nạp bootloader + SRAM KB (ATmega168) KB (ATmega328) Trang 11 Chương 1: Tổng quan + EEPROM 512 bytes (ATmega168) KB (ATmega328) + Xung nhịp 16 MHz + Kích thước 0.73" x 1.70" 1.4 Giới thiệu IC 74HC595 IC 74HC595 ghi dịch 8bit kết hợp chốt liệu, đầu vào nối tiếp đầu song song Chức năng: Thường dùng mạch quét led 7, led matrix…để tiết kiệm số chân vi điều khiển tối đa (3 chân) Có thể mở rộng số chân vi điều khiển tùy thích mà khơng IC làm việc nối tiếp đầu vào liệu IC với Hình 1.4 Cấu tạo IC 74HC595 Giải thích ý nghĩa hoạt động số chân quan trọng: + Chân 14 (Data pin): đầu vào liệu nối tiếp Tại thời điểm xung clock đưa vào bit + Các chân nối led (QA=>QH): 15, 1, 2, 3, 4, 5, 6, tương ứng với led: a, b, c, d, e, f, g, dp + Chân 13: chân cho phép tích cực mức thấp Khi mức cao, tất đầu IC 74HC595 trở trạng thái cao trở, đầu cho phép Trang 12 Chương 1: Tổng quan + Chân 12 (Latch pin): xung clock chốt liệu Khi có xung clock tích cực sườn dương cho phép xuất liệu chân output Lưu ý xuất liệu lúc + Chân 11 (Shift clock pin): chân vào xung clock Khi có xung clock tích cực sườn dương(từ lên 1) bit dịch vào IC + Chân 10: chân mức thấp(mức 0) liệu bị xóa chip + Chân (QH’): chân liệu nối tiếp Nếu dùng nhiều IC 74HC595 mắc nối tiếp chân đưa vào đầu vào dịch đủ bit + Chân 8: chân nối đất GND + Chân 16: nối nguồn VCC 1.5 Giới thiệu cảm biến nhiệt độ LM35 Cảm biến LM35 cảm biến nhiệt mạch tích hợp xác cao mà điện áp đầu tỉ lệ tuyến tính với nhiệt độ thang Celsius Chúng khơng u cầu cân chỉnh ngồi vốn chúng cân chỉnh Cảm biến LM35 có chân: + Chân nguồn VCC + Chân đầu Vout (chân tương tự) + Chân nối đất GND Trang 13 Chương 1: Tổng quan Hình 1.5 Cảm biến LM35 Hình 1.6 Sơ đồ chân cảm biến LM35 Đặc điểm cảm biến LM35 : - Điện áp đầu vào từ 4V đến 30V - Độ phân giải điện áp đầu 10mV/˚C - Độ xác cao 25 ˚C 0.5˚C Trang 14 Chương 1: Tổng quan - Trở kháng đầu thấp 0.1 cho 1mA tải Dải nhiệt độ đo LM35 từ -55˚C đến 150˚C với mức điện áp khác Xét số mức điện áp sau : - Nhiệt độ 55˚C điện áp đẩu -550mV - Nhiệt độ 25˚C điện áp đầu 250mV - Nhiệt độ 150˚C điện áp đầu 1500mV Tùy theo cách mắc LM35 để ta đo giải nhiệt độ phù hợp Đối với hệ thống đo từ 0˚C đến 150˚C 1.6 Giới thiệu module truyền phát nRF24L01 1.6.1 Thông số kỹ thuật: Hình 1.7 Module nRF24L01 Trang 15 Chương 1: Tổng quan - Radio: +Hoạt động giải tần 2.4G + Có 126 kênh + Truyền nhận liệu + Truyền tốc độ cao 1Mbps 2Mbps - Công suất phát: + Có thể cài đặt cơng suất nguồn phát: 0,-6,-12,-18dBm - Thu: + Có lọc nhiễu đầu thu + Khuếch đại bị ảnh hưởng nhiễu thấp (LNA) - Nguồn cấp: + Hoạt động từ 1.9-3.6V + Các chân IO chạy 3.3 lẫn 5V - Giao tiếp: + chân giao giao thức SPI + Tốc độ tối đa 8Mbps + 3-32 bytes khung truyền nhận 1.6.2 Phân tích + Module nRF24L01 hoạt động tần số sóng ngắn 2.4G nên Modul khả truyền liệu tốc độ cao truyền nhận liệu điều kiện mơi trường có vật cản + Module nRF24L01 có 126 kênh truyền Điều giúp ta truyền nhận liệu nhiều kênh khác + Module khả thay đổi cơng suất phát chương trình, điều giúp hoạt động chế độ tiết kiệm lượng + Chú ý: Điện áp cung cấp cho 1.9à3.6V Điện áp thường cung cấp 3.3V Nhưng chân IO tương thích với chuẩn 5V Điều giúp giao tiếp rộng dãi với dòng vi điều khiển 1.6.3 Sơ đồ phần cứng kết nối với Arduino Trang 16 Chương 1: Tổng quan + Sơ đồ chân nRF24L01: Hình 1.8 Sơ đồ chân module nRF24L01 + Sơ đồ kết nối với Arduino: Bảng 1.1 Sơ đồ kết nối chân Arduino với module nRF24L01 Tên chân Số thứ tự chân GND VCC CE CSN SCK Chân kết nối tương ứng Arduino GND 3.3V 13 1.7 Giới thiệu chung phần mềm mô Proteus Phần mềm Proteus phần mềm cho phép mô hoạt động mạch điện tử bao gồm phần thiết kế mạch viết chương trìn điều khiển cho họ vi điều khiển MCS-51, PIC, AVR, … Proteus phần mềm mô mạch điện tử Lancenter Electronics, mô cho hầu hết linh kiên điện tử thông dụng, đặn biệt hỗ trợ cho MCU PIC, 8051, AVR, Motorola Trang 17 Chương 1: Tổng quan Phần mềm bao gồm chương trình: ISIS cho phép mơ mạch ARES dùng để vẽ mạch in Proteus công cụ mô cho loại vi điều khiển tốt, hỗ trợ dịng vi điều khiển PIC, 8051, PIC, dsPIC, AVR, HC11,…các giao tiếp I2C, SPI, CAN, USB, Ethenet…ngồi cịn mơ mạch số, mạch tương tự cách hiệu Hình 1.9 Giao diện khởi động phần mềm Proteus 1.8 Thư viện Arduino Proteus Thư viện Arduino bổ sung hay cho phần mềm mơ Proteus giúp cho việc mô Arduino thuận tiện dễ dàng thay mơ chip ATmega328(nhân Arduino), thư viện phát triển kĩ sư Cesar Osaka, Daniel Cezar, Roberto Bauer đăng tải blog tiếng Bồ Đào Nha: http://blogembarcado.blogspot.de/ Thư viện bao gồm linh kiện sau: - Arduino Uno (Phiên chip ATmega328 chân DIP) - Arduino Uno (Phiên chip ATmega328 chân SMD) Trang 18 Chương 1: Tổng quan - Arduino Mega - Arduino Lilypad - Arduino Nano - Cảm biến siêu âm Ultrasonic V2 Hình 1.10 Các linh kiện thư viện Arduino cho Proteus 1.9 Giới thiệu Arduino IDE ngơn ngữ lập trình cho Arduino Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính thơng dụng mang lại nhiều lợi cho Arduino, nhiên sức mạnh thực Arduino nằm phần mềm Mơi trường lập trình đơn giản dễ sử dụng, ngơn ngữ lập trình Wiring dễ hiểu dựa tảng Trang 19 Chương 1: Tổng quan C/C++ quen thuộc với người làm kỹ thuật Và quan trọng số lượng thư viện code viết sẵn chia sẻ cộng đồng nguồn mở lớn Hình 1.11 Giao diện phần mềm Arduino IDE Arduino IDE phần mềm dùng để lập trình cho Arduino Mơi trường lập trình Arduino IDE chạy ba tảng phổ biến Windows, Macintosh OSX Linux Do có tính chất nguồn mở nên mơi trường lập trình hồn tồn miễn phí mở rộng thêm người dùng có kinh nghiệm Ngơn ngữ lập trình mở rộng thông qua thư viện C++ Và ngơn ngữ lập trình dựa tảng ngơn ngữ C AVR nên người dùng hồn tồn nhúng thêm code viết AVR vào chương trình muốn.Hiện tại, Arduino IDE download từ trang chủ http://arduino.cc/ bao gồm phiên sau: Trang 20 ... Chương 2: THIẾT KẾ, LẬP TRÌNH VÀ LẮP ĐẶT MẠCH ĐO NHIỆT ĐỘ VÀ TRUYỀN PHÁT KHÔNG DÂY 22 2.1 Thiết kế mạch Proteus 22 2.1.1 Thiết kế mạch đo nhiệt độ không truyền phát ... 22 2.1.2 Thiết kế mạch đo nhiệt độ truyền phát không dây với module nRF24L01 25 2.2 Lập trình cho mạch đo nhiệt độ 27 2.2.1 Lập trình cho mạch đo nhiệt độ khơng truyền phát có cảnh... Chương 2: THIẾT KẾ, LẬP TRÌNH VÀ LẮP ĐẶT MẠCH ĐO NHIỆT ĐỘ VÀ TRUYỀN PHÁT KHƠNG DÂY Hình 2.1 Sơ đồ ngun lý mạch đo nhiệt độ không truyền phát thiết kế Proteus 23 Hình 2.2 Mơ hiển thị nhiệt độ Proteus

Ngày đăng: 06/09/2022, 15:39

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

  • Đang cập nhật ...

Tài liệu liên quan