KHOA ĐIỆN – ĐIỆN TỬ BÁO CÁO ĐỒ ÁN 1 Đề tài Thiết kế mạch đo và hiển thị nhiệt độ, độ ẩm sử dụng arduino và proteus dùng cảm biến DHT11 và hệ thống tưới nước và làm mát khi nhiệt độ trên 30 độ và độ ẩm dưới 40 sẽ tưới nước
NHIỆM VỤ ĐỀ TÀI NGHIÊN CỨU
Tên Đề Tài
Đo nhiệt độ, độ ẩm và hiển thị lên màn hình LCD
Nhiệm vụ và nội dung
Tìm hiểu công dụng của từng thiết bị điện, điện tử.
Đưa ra phương án nghiên cứu.
Thiết kế hệ thống “Đo nhiệt độ, độ ẩm và hiển thị lên màn hình LCD”
Kiểm tra, đánh giá tính ứng dụng của đề tài.
Mục tiêu đề tài
Đề tài nhằm mục đích chế tạo thành công mạch “Đo nhiệt độ, độ ẩm và hiển thị lên màn hình LCD”
Vấn đề giải quyết
Khởi động từ việc tìm hiểu kỹ lưỡng các tài liệu liên quan đến đề tài nghiên cứu nhằm nắm bắt bối cảnh, kết quả trước đó và những thách thức hiện tại Dựa trên tổng hợp này, đề xuất các giải pháp hợp lý và tối ưu cho quá trình thiết kế và chế tạo mạch để biến ý tưởng thành sản phẩm thực tế Quy trình thực hiện bao gồm phân tích yêu cầu, lựa chọn công nghệ phù hợp, tối ưu tham số thiết kế và thử nghiệm để đảm bảo tính khả thi, hiệu suất và độ tin cậy Kết quả là một chiến lược thiết kế mạch có thể áp dụng vào sản xuất với chi phí hợp lý và thời gian ngắn Việc tham khảo và đối chiếu tài liệu cũng giúp tuân thủ các tiêu chuẩn công nghiệp và dễ dàng cập nhật khi có tiến bộ công nghệ.
Thiết kế và chế tạo mạch gồm các khối: Khối xử lý trung tâm dùng
Arduino Uno ATMEGA 328P, khối cảm biến và khối hiển thị.
Tiến hành viết code với phần mềm Arduino, mô phỏng lên Proteus.
Thực nghiệm và kiểm chứng đối tượng
Báo cáo và nghiệm thu đề tài
PHÂN TÍCH VÀ GIẢI QUYẾT VẤN ĐỀ
Danh sách các linh kiện
STT TÊN LINH KIỆN SỐ LƯỢNG
Tìm hiểu về các linh kiện cần thiết
Nhắc tới dòng mạch Arduino dùng để lập trình, đầu tiên người ta nghĩ ngay đến Arduino Uno Dòng mạch này đã phát triển tới thế hệ thứ 3, được gọi là Arduino Uno R3 Đây là lựa chọn phổ biến để bắt đầu học và làm quen với lập trình Arduino, từ đó mở ra nhiều dự án từ cơ bản đến nâng cao.
Bạn có thể dùng Arduino Nano cũng được nhưng mình khuyên bạn nên dùng cái này.
Một vài thông số của Arduino UNO R3
Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader
Arduino UNO có thể dùng ba vi điều khiển họ 8-bit AVR gồm ATmega8, ATmega168 và ATmega328 Bộ não của Arduino có thể xử lý các tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lý tín hiệu cho xe điều khiển từ xa, xây dựng trạm đo nhiệt độ - độ ẩm và hiển thị dữ liệu lên màn hình LCD, cũng như nhiều ứng dụng khác.
Thiết kế tiêu chuẩn của Arduino UNO sử dụng vi điều khiển ATmega328 với giá khoảng 90.000đ Tuy nhiên, nếu yêu cầu phần cứng của bạn không cao hoặc ngân sách hạn chế, bạn có thể chọn các vi điều khiển thay thế có chức năng tương đương nhưng rẻ hơn như ATmega8 (bộ nhớ flash 8KB) với giá khoảng 45.000đ hoặc ATmega168 (bộ nhớ flash 16KB) với giá khoảng 65.000đ.
Ngoài việc dùng cho board Arduino UNO, bạn có thể áp dụng các IC điều khiển này cho các mạch tự chế Lý do rất đơn giản: bạn chỉ cần một board Arduino UNO để lập trình cho vi điều khiển, thay vì phải đầu tư vào nhiều công cụ phức tạp Nhờ tính linh hoạt và khả năng lập trình dễ dàng, các IC này phù hợp cho các dự án tự làm từ đơn giản đến phức tạp, giúp tối ưu hóa hiệu suất và tiết kiệm chi phí cho người làm mạch.
Arduino UNO trên các sản phẩm của mình, thay vào đó là các mạch tự chế để giảm chi phí như hình dưới đây:
Sử dụng mạch in Chế tạo thủ công
Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V
Để cấp nguồn cho Arduino UNO khi không có nguồn từ cổng USB, pin vuông 9V là lựa chọn hợp lý nhất Pin 9V cấp nguồn qua VIN hoặc jack nguồn và phù hợp cho các dự án nhỏ nhờ tính tiện dụng Tuy nhiên, cấp nguồn vượt quá ngưỡng tối đa cho VIN có thể làm hỏng Arduino UNO, vì vậy cần theo dõi điện áp đầu vào và chọn nguồn điện phù hợp để bảo vệ bảng mạch.
GND (Ground) là cực âm của nguồn cấp cho Arduino UNO Trong các hệ thống có nguồn điện riêng biệt, các chân GND phải được nối với nhau để tạo tham chiếu điện áp chung và đảm bảo hoạt động ổn định của mạch.
5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA.
3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA.
Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND.
IOREF là chân trên Arduino UNO dùng để tham chiếu điện áp hoạt động của vi điều khiển; điện áp hoạt động có thể được đo tại chân IOREF và ở Arduino UNO nó luôn là 5V Tuy nhiên, không nên lấy nguồn 5V từ chân IOREF để cấp nguồn cho mạch, vì chức năng của IOREF là tham chiếu điện áp, không phải cấp nguồn.
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ.
Arduino UNO không có bảo vệ ngược cực nguồn, do đó bạn phải hết sức cẩn thận và kiểm tra kỹ các cực âm – dương của nguồn trước khi cấp nguồn cho board Việc chập nguồn có thể khiến Arduino UNO hỏng và biến nó thành một miếng nhựa chặn giấy Bạn nên ưu tiên dùng nguồn từ cổng USB khi có thể để tăng an toàn và giảm nguy cơ hỏng hóc cho dự án Arduino của mình.
Chân 3.3V và 5V trên Arduino là nguồn cấp điện ra cho các thiết bị ngoài, không phải nguồn cấp vào bo mạch Cấp nguồn sai vị trí có thể làm hỏng Arduino, và điều này không được nhà sản xuất khuyến khích; hãy chỉ dùng các chân này để cấp nguồn cho cảm biến và mô-đun ở mức điện áp phù hợp và kết nối đúng cách.
Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V có thể làm hỏng board.
Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển ATmega328.
Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của
Arduino UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.
Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino
UNO sẽ làm hỏng vi điều khiển.
Trong Arduino Uno, cường độ dòng điện chạy qua bất kỳ chân digital hoặc analog nào vượt quá 40 mA có thể gây hại cho vi điều khiển Vì vậy, nếu chân I/O không được dùng cho truyền nhận dữ liệu, cần mắc một điện trở hạn dòng nhằm bảo vệ vi xử lý khỏi quá tải và hỏng hóc.
Việc bạn có thể làm hỏng một linh kiện điện tử không có nghĩa là nó sẽ hỏng ngay lập tức; các thông số kỹ thuật của linh kiện luôn có một mức dung sai nhất định Vì vậy hãy tuân thủ nghiêm ngặt các thông số do nhà sản xuất công bố để giảm tối đa nguy cơ hỏng hóc và tránh phải mua một board Arduino UNO thứ hai.
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
32KB bộ nhớ Flash của vi điều khiển lưu trữ các đoạn lệnh và mã nguồn bạn lập trình Thường sẽ có vài kilobyte dành cho bootloader, nhưng bạn hiếm khi cần dùng quá 20KB cho phần bootloader này; phần còn lại dành cho mã người dùng và chương trình chính Hiểu rõ cách phân bổ bộ nhớ Flash giúp tối ưu kích thước mã, cải thiện hiệu suất và ổn định của hệ thống nhúng.
2KB dành cho SRAM (Static Random Access Memory) là nơi lưu trữ giá trị của các biến bạn khai báo khi lập trình Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM; tuy nhiên thực tế RAM thường không phải thứ bạn phải lo lắng quá nhiều, trừ khi số biến quá lớn Khi mất điện, dữ liệu trên SRAM sẽ bị mất.
EEPROM (Electrical Erasable Programmable Read-Only Memory) là một loại bộ nhớ không volatile, giống như một ổ cứng mini nơi bạn có thể đọc và ghi dữ liệu Dữ liệu được lưu trữ lâu dài ngay cả khi nguồn điện bị ngắt, khác với SRAM vốn mất dữ liệu khi ngắt nguồn.
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu, hoạt động ở hai mức điện áp 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Mỗi chân có các điện trở kéo lên (pull-up) được tích hợp trong vi điều khiển ATmega328, nhưng ở chế độ mặc định các điện trở này chưa được kích hoạt.
Một số chân digital có các chức năng đặc biệt như sau:
2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận
GIẢI PHÁP, THIẾT KẾ VÀ THI CÔNG
Lựa chọn giải pháp thiết kế
Ta cần so sánh PLC và Vi điều khiển để đưa ra lựa chọn tốt nhất
Hình 3.1 PLC và Vi điều khiển
PLC, viết tắt của Programmable Logic Controller, là một bộ điều khiển lập trình cho phép thực hiện linh hoạt các thuật toán điều khiển logic thông qua một ngôn ngữ lập trình Đây là thiết bị điều khiển lập trình được thiết kế để tự động hóa và kiểm soát các quá trình bằng cách lập trình các luồng điều khiển, biến số và ngưỡng vận hành, từ đó tối ưu hóa hiệu suất và độ tin cậy của hệ thống.
Người dùng có thể lập trình để thực hiện một chuỗi trình tự các sự kiện tự động Các sự kiện này được kích hoạt bởi tác nhân kích thích (ngõ vào) tác động lên PLC hoặc qua các hoạt động có trễ như thời gian định trước và các sự kiện được đếm, cho phép hệ thống điều khiển vận hành chính xác, tin cậy và linh hoạt.
PLC (Programmable Logic Controller) được dùng để thay thế mạch relay trong thực tế nhờ khả năng quét trạng thái trên các đầu vào và điều khiển các đầu ra dựa trên sự thay đổi này Khi tín hiệu ở đầu vào có sự biến đổi, PLC sẽ tự động cập nhật trạng thái của đầu ra để phản ánh mối quan hệ điều khiển đã được lập trình Ngôn ngữ lập trình của PLC có thể là Ladder (Ladder Logic) hoặc State Logic, cho phép thiết kế các logic điều khiển phức tạp cho hệ thống tự động hóa công nghiệp.
3.1.2 Vi điều khiển là gì?
Vi điều khiển là một máy tính tích hợp trên một chip, thường được dùng để điều khiển các thiết bị điện tử Thực chất, đây là một hệ thống nhúng gồm vi xử lý có hiệu suất phù hợp với chi phí thấp, kết hợp với các khối ngoại vi như bộ nhớ, các module vào/ra và các bộ biến đổi số–tương tự (ADC) cũng như tương tự sang số (DAC) Trong máy tính, các module thường được xây dựng bằng các chip và mạch ngoài riêng lẻ; ngược lại, vi điều khiển tối ưu hóa về kích thước và chi phí bằng cách tích hợp nhiều thành phần trên một chip hoặc trên một mạch nhỏ.
Vi điều khiển thường được dùng để xây dựng các hệ thống nhúng nhờ khả năng điều khiển và giám sát thiết bị một cách hiệu quả với chi phí thấp, kích thước nhỏ và tiêu thụ năng lượng tiết kiệm Nó xuất hiện phổ biến trong nhiều thiết bị điện và điện tử như máy giặt, lò vi sóng và các dây chuyền tự động, nơi cần điều khiển quá trình và tương tác với cảm biến Với khả năng lập trình linh hoạt và tích hợp các chức năng điều khiển, vi điều khiển đóng vai trò then chốt trong tự động hóa và phát triển các sản phẩm thông minh ngày nay.
3.1.3 So sánh PLC với vi điều khiển
Sự giống nhau giữa PLC và vi điều khiển
PLC và vi điều khiển có điểm giống nhau cơ bản nhất là đều có khả năng lập trình, cho phép thực hiện các tác vụ điều khiển dựa trên tín hiệu điện để điều khiển máy móc hoạt động Để vận hành được thiết bị, hệ thống điều khiển cần có ngõ vào/ra, cảm biến, nút nhấn, màn hình HMI và công tắc; đồng thời phải đi kèm với các thiết bị chấp hành như relay, contacter và động cơ để hiện thực hóa các lệnh điều khiển Nhìn chung, dù có những khác biệt về kiến trúc và ứng dụng, nguyên lý điều khiển dựa trên xử lý tín hiệu điện và lập trình là điểm chung quan trọng giữa PLC và vi điều khiển.
Trong lĩnh vực cấu tạo hệ thống tự động, PLC và vi điều khiển đều có cấu tạo chính là một CPU vi xử lý trung tâm có thể lập trình được Tốc độ xử lý của CPU được đặc trưng bởi hai yếu tố chính: tốc độ thực thi lệnh và bộ nhớ chương trình Do đó, khi xem cấu hình của một PLC hoặc một board mạch vi xử lý điều khiển, sẽ thấy các thông số này được ghi nhận rõ trong thông số kỹ thuật.
Điểm khác biệt nổi bật giữa PLC và vi điều khiển nằm ở nền tảng thiết kế cơ bản của hai thiết bị này, vốn hoàn toàn khác nhau nhằm phục vụ cho các mảng ứng dụng khác nhau: PLC được xây dựng cho hệ thống điều khiển công nghiệp quy mô lớn với độ tin cậy cao, khả năng chịu nhiễu và vận hành liên tục, trong khi vi điều khiển tập trung vào tối ưu chi phí, kích thước nhỏ gọn và tiêu thụ điện năng thấp, phù hợp cho các dự án nhúng và tự động hóa gia đình hoặc thiết bị thông minh.
PLC là một loại thiết bị tự động hóa công nghiệp được thiết kế với nhiều đặc điểm nhằm hạn chế nhiễu từ nguồn điện và nhiễu từ trường, giúp quá trình điều khiển diễn ra ổn định và tin cậy, phù hợp với môi trường nhà xưởng, nhà máy và khu công nghiệp.
Vi điều khiển chủ yếu chỉ bao gồm CPU nên chưa được xử lý liên quan tới phần chống nhiễu nên chỉ ứng dụng trong một số mô hình hoạt động trong gia dụng hoặc nghiên cứu giảng dạy. o Điểm khác biệt tiếp theo giữa PLC và vi điều khiển chính là ngôn ngữ lập trình:
Trong lĩnh vực lập trình tự động hóa và điều khiển công nghiệp, ngôn ngữ bậc thang ladder được sử dụng phổ biến nhất để lập trình PLC Mặc dù nhiều loại PLC sau này đã bổ sung khả năng hỗ trợ nhiều kiểu lập trình khác nhau, gần như tương tự với ngôn ngữ lập trình vi xử lý, ladder vẫn giữ vị thế hàng đầu nhờ tính trực quan, dễ đọc và dễ bảo trì.
Trong các board mạch vi xử lý dùng để điều khiển, ngôn ngữ lập trình phổ biến là C, sau đó được biên dịch thành ngôn ngữ máy và đổ vào CPU để vận hành Sự khác biệt giữa PLC và vi điều khiển chủ yếu ở chi phí: một PLC có thương hiệu tốt thường có giá từ vài triệu đến hàng chục triệu đồng, trong khi board vi điều khiển có giá từ vài trăm nghìn đến vài triệu đồng.
Vậy nên dùng PLC, hay là dùng vi điều khiển?
Việc so sánh PLC và vi điều khiển giúp làm rõ sự giống và khác nhau giữa hai công nghệ điều khiển công nghiệp và nhúng Để quyết định chọn PLC hay vi điều khiển, người đọc cần dựa vào các yếu tố như quy mô hệ thống, số lượng I/O, mức độ phức tạp của logic và yêu cầu về tính determinism; PLC thường có ưu điểm về độ tin cậy, khả năng làm việc trong môi trường công nghiệp khắc nghiệt, dễ mở rộng bằng các module I/O và giao tiếp, cũng như quản lý bảo trì và vận hành theo tiêu chuẩn công nghiệp Trong khi đó, vi điều khiển có chi phí thấp hơn, kích thước nhỏ hơn, tiêu thụ năng lượng thấp và phù hợp cho các dự án nhúng đơn giản, yêu cầu tùy biến cao hoặc xử lý các tác vụ đặc thù ở mức độ thấp Các yếu tố bổ sung như tốc độ đáp ứng, thời gian chu kỳ, khả năng giao tiếp với các chuẩn mạng (Modbus, Ethernet, CAN), cũng như vòng đời sản phẩm và hỗ trợ kỹ thuật sẽ ảnh hưởng đáng kể đến quyết định cuối cùng Tổng kết lại, nếu hệ thống yêu cầu độ ổn định, mở rộng và làm việc bền bỉ trong môi trường công nghiệp, PLC là lựa chọn phù hợp; ngược lại, nếu mục tiêu là chi phí tối ưu và sự linh hoạt cho các bài toán nhúng nhỏ, vi điều khiển sẽ phát huy hiệu quả.
- PLC và vi điều khiển có điểm giống và khác nhau thông qua các so sánh.
Và để sử dụng PLC hay vi điều khiển tùy vào trường hợp chúng ta cần hiểu rõ để lựa chọn.
Vi điều khiển rất phù hợp cho các ứng dụng nhỏ và hoạt động hiệu quả với nguồn điện DC Việc lựa chọn đúng vi điều khiển sẽ giúp giảm chi phí thiết kế và vận hành, mang lại giải pháp tối ưu và tiết kiệm chi phí cho hệ thống của bạn.
Các thiết bị nhỏ gọn đi kèm vi điều khiển là lựa chọn tối ưu cho các sản phẩm công nghệ, vì chúng đáp ứng tốt yêu cầu về kích thước và cho phép cải tiến ứng dụng dễ dàng Nhờ tối ưu kích thước và khả năng mở rộng, các món đồ công nghệ như đồ chơi trẻ em có điều khiển từ xa và xe đạp điện có thể được phát triển và nâng cấp một cách hiệu quả.
Sơ đồ khối của mạch điều khiển
Sơ đồ khối của mạch điểu khiển
Sơ đồ PROTEUS
KHỐI HIỂN THỊ MÀN HÌNH LCD 16X2
KHỐI CẢM BIẾN CẢM BIẾN DHT11