Trường đại học
Trường Đại Học Kỹ ThuậtChuyên ngành
Công Nghệ Thông TinNgười đăng
Ẩn danhThể loại
Đồ Án Tốt Nghiệp2023
Phí lưu trữ
30 PointMục lục chi tiết
Tóm tắt
Trong bối cảnh công nghệ phát triển, nhu cầu về an ninh và bảo mật cho tài sản cá nhân ngày càng tăng cao. Các loại khóa cơ khí truyền thống bộc lộ nhiều nhược điểm về độ an toàn, dễ bị sao chép hoặc phá khóa. Để giải quyết vấn đề này, thiết kế hệ thống khóa cửa điện tử sử dụng PIC16F877A đã trở thành một giải pháp tối ưu, đặc biệt trong lĩnh vực đồ án điện tử và hệ thống nhúng. Đề tài này tập trung vào việc nghiên cứu và phát triển một hệ thống khóa cửa sử dụng mật khẩu, được điều khiển bởi vi điều khiển PIC16F877A – một linh kiện mạnh mẽ, giá thành hợp lý và phổ biến. Hệ thống không chỉ cung cấp tính năng cơ bản như đóng/mở cửa mà còn tích hợp các chức năng nâng cao như thay đổi mật khẩu, hiển thị thời gian thực và cảnh báo an ninh. Việc xây dựng một mạch khóa cửa điện tử hoàn chỉnh không chỉ đáp ứng nhu cầu thực tiễn mà còn là nền tảng vững chắc để sinh viên và các nhà nghiên cứu làm quen với việc lập trình vi điều khiển, giao tiếp giữa các module và thiết kế phần cứng. Đây là một bước đệm quan trọng để tiếp cận các công nghệ phức tạp hơn trong lĩnh vực nhà thông minh và IoT.
Mục tiêu chính của đề tài là xây dựng một hệ thống khóa cửa điện tử hoạt động ổn định và có độ bảo mật cao hơn so với khóa cơ truyền thống. Cụ thể, hệ thống phải đáp ứng các yêu cầu: cho phép người dùng nhập mật khẩu để mở cửa, thay đổi mật khẩu khi cần thiết, và phát ra cảnh báo khi có hành vi xâm nhập trái phép (nhập sai mật khẩu nhiều lần). Về mặt học thuật, đồ án này có ý nghĩa quan trọng trong việc cung cấp kiến thức thực tế về hệ thống nhúng. Người thực hiện sẽ được rèn luyện kỹ năng từ việc đọc PIC16F877A datasheet, lựa chọn linh kiện, thiết kế sơ đồ nguyên lý, lập trình C cho PIC bằng trình biên dịch CCS C, và cuối cùng là thi công mạch thực tế. Quá trình này giúp củng cố lý thuyết đã học và phát triển tư duy giải quyết vấn đề kỹ thuật một cách hệ thống, tạo nền tảng cho các dự án phức tạp hơn trong tương lai.
Việc lựa chọn vi điều khiển PIC16F877A làm bộ não xử lý trung tâm cho hệ thống khóa cửa điện tử dựa trên nhiều ưu điểm vượt trội. Thứ nhất, PIC16F877A là một vi điều khiển 8-bit thuộc họ PIC tầm trung của Microchip, có kiến trúc RISC với 35 lệnh đơn giản, giúp việc lập trình trở nên dễ dàng hơn. Thứ hai, nó có giá thành phải chăng nhưng lại được tích hợp nhiều tính năng mạnh mẽ như bộ nhớ Flash 8K, RAM 368 bytes, và bộ nhớ dữ liệu EEPROM 256 bytes – rất phù-hợp để lưu trữ mật khẩu ngay cả khi mất điện. Thứ ba, PIC16F877A có 33 chân I/O, đủ khả năng để giao tiếp với nhiều thiết bị ngoại vi cùng lúc như màn hình LCD 16x2, bàn phím ma trận 4x4, và các module cảm biến khác. Sự phổ biến của nó cũng đồng nghĩa với việc có một cộng đồng hỗ trợ lớn và nhiều tài liệu tham khảo, giúp quá trình nghiên cứu và gỡ lỗi trở nên thuận tiện.
Để thiết kế hệ thống khóa cửa điện tử sử dụng PIC16F877A thành công, việc lựa chọn và hiểu rõ chức năng của từng linh kiện là vô cùng quan trọng. Một hệ thống hoàn chỉnh bao gồm bốn khối chính: khối nguồn, khối điều khiển trung tâm, khối ngõ vào, và khối chấp hành/hiển thị. Khối nguồn, thường sử dụng IC LM7805, có nhiệm vụ chuyển đổi điện áp xoay chiều 220V thành nguồn một chiều 5V ổn định để cung cấp cho toàn mạch. Khối điều khiển trung tâm chính là vi điều khiển PIC16F877A đã được phân tích ở trên. Khối ngõ vào là nơi nhận lệnh từ người dùng, bao gồm bàn phím ma trận 4x4 để nhập mật khẩu và module thời gian thực DS1307 để hiển thị giờ. Cuối cùng, khối chấp hành và hiển thị thực thi lệnh từ vi điều khiển, bao gồm động cơ servo hoặc chốt cửa solenoid để đóng/mở khóa, loa buzzer để báo động, và màn hình LCD 16x2 để giao tiếp trực quan với người dùng. Việc lựa chọn đúng linh kiện không chỉ đảm bảo mạch hoạt động ổn định mà còn tối ưu hóa chi phí và hiệu năng cho sản phẩm.
Khối ngõ vào đóng vai trò cầu nối giữa người dùng và hệ thống. Bàn phím ma trận 4x4 là một thiết bị phổ biến, cho phép người dùng nhập mật khẩu và các lệnh điều khiển khác. Nguyên lý hoạt động của nó dựa trên việc quét các hàng và cột để xác định phím nào được nhấn, sau đó gửi tín hiệu tương ứng về cho vi điều khiển PIC. Bên cạnh đó, module thời gian thực (RTC) DS1307 là một IC chuyên dụng để theo dõi thời gian (giây, phút, giờ, ngày, tháng, năm) một cách chính xác ngay cả khi hệ thống mất nguồn chính, nhờ có pin dự phòng. DS1307 giao tiếp với PIC16F877A thông qua chuẩn I2C, chỉ sử dụng hai dây SCL và SDA, giúp tiết kiệm chân vi điều khiển. Việc tích hợp DS1307 không chỉ hiển thị thời gian mà còn có thể mở rộng cho các tính năng an ninh nâng cao như ghi lại lịch sử truy cập.
Khối chấp hành là nơi thực thi các lệnh vật lý. Trong đề tài này, động cơ servo được sử dụng để mô phỏng cơ cấu đóng/mở cửa. Servo được điều khiển bằng phương pháp điều rộng xung (PWM), cho phép vi điều khiển ra lệnh cho nó quay đến một góc chính xác (ví dụ: 0 độ để khóa, 90 độ để mở). Loa buzzer đóng vai trò là thiết bị cảnh báo an ninh và bảo mật. Nó sẽ phát ra âm thanh khi nhập sai mật khẩu hoặc khi hệ thống phát hiện hành vi cố tình dò mật khẩu (sai quá 3 lần). Để giao tiếp với người dùng, màn hình LCD 16x2 là lựa chọn lý tưởng. Nó có khả năng hiển thị 2 dòng, mỗi dòng 16 ký tự, đủ để thông báo trạng thái ("ENTER PASSWORD", "DOOR IS OPENED"), hiển thị thời gian, và hướng dẫn người dùng trong quá trình thay đổi mật khẩu. Giao tiếp với LCD giúp hệ thống trở nên thân thiện và dễ sử dụng hơn.
Sau khi hoàn tất thiết kế phần cứng, giai đoạn xây dựng chương trình và mô phỏng đóng vai trò quyết định đến sự thành công của hệ thống khóa cửa điện tử. Quá trình này bắt đầu bằng việc xây dựng một lưu đồ giải thuật chi tiết, mô tả logic hoạt động của toàn bộ hệ thống, từ khi khởi động, nhận mật khẩu, kiểm tra, xử lý các trường hợp đúng/sai cho đến các chức năng phụ. Dựa trên lưu đồ này, code khóa cửa điện tử được viết bằng ngôn ngữ C, sử dụng trình biên dịch CCS C hoặc MPLAB X IDE. Ngôn ngữ C cho phép lập trình ở mức độ cao, dễ hiểu và quản lý, trong khi các trình biên dịch chuyên dụng cung cấp nhiều thư viện hỗ trợ sẵn cho việc giao tiếp với LCD, bàn phím và các module khác. Trước khi nạp chương trình vào chip thật bằng mạch nạp PICkit, việc mô phỏng Proteus là một bước không thể thiếu. Proteus cho phép kiểm tra hoạt động của cả sơ đồ nguyên lý và mã nguồn, giúp phát hiện và sửa lỗi một cách nhanh chóng, giảm thiểu rủi ro hỏng hóc linh kiện và tiết kiệm thời gian.
Lưu đồ giải thuật là bản đồ tư duy của chương trình, trực quan hóa toàn bộ quy trình hoạt động. Đối với mạch khóa cửa điện tử, lưu đồ bắt đầu với khối "Khởi tạo", nơi các cổng I/O, LCD và các biến được thiết lập. Tiếp theo, chương trình vào một vòng lặp vô hạn để quét bàn phím ma trận 4x4. Khi có phím được nhấn, chương trình sẽ kiểm tra đó là phím số, phím xác nhận ('A'), hay phím chức năng ('C' để đổi mật khẩu). Nếu người dùng nhập đủ mật khẩu và nhấn 'A', chương trình sẽ so sánh chuỗi vừa nhập với mật khẩu được lưu trong EEPROM. Nếu khớp, nó sẽ điều khiển động cơ servo để mở cửa. Nếu không khớp, biến đếm lỗi sẽ tăng lên. Khi biến đếm lỗi vượt quá một ngưỡng nhất định (ví dụ 3 lần), hệ thống sẽ kích hoạt chế độ báo động. Lưu đồ chi tiết giúp việc viết code khóa cửa điện tử trở nên logic và ít sai sót.
Phần mềm mô phỏng Proteus là một công cụ cực kỳ mạnh mẽ cho các đồ án điện tử. Nó cho phép người thiết kế xây dựng một bản sao ảo của mạch điện. Quá trình mô phỏng bắt đầu bằng việc vẽ lại sơ đồ nguyên lý trong môi trường ISIS của Proteus, lựa chọn các linh kiện từ thư viện có sẵn như PIC16F877A, LCD16x2, Keypad, Servo Motor. Sau khi vẽ xong mạch, người dùng biên dịch file mã nguồn C trong CCS để tạo ra file .HEX. File .HEX này sau đó được nạp vào vi điều khiển ảo trong Proteus. Khi nhấn nút "Play", Proteus sẽ thực thi chương trình và mô phỏng hoạt động của mạch theo thời gian thực. Người dùng có thể tương tác với mạch ảo, chẳng hạn như nhấn các phím trên keypad và quan sát phản ứng trên LCD hoặc chuyển động của servo. Bước này giúp xác minh tính đúng đắn của cả thiết kế phần cứng và logic phần mềm trước khi thi công thực tế.
Thiết kế phần cứng là bước biến sơ đồ nguyên lý trên lý thuyết thành một sản phẩm vật lý hoạt động được. Quy trình này yêu cầu sự cẩn thận và chính xác, bắt đầu từ việc sử dụng các phần mềm chuyên dụng như EasyEDA hoặc Altium để thiết kế mạch in (PCB). Một mạch khóa cửa điện tử được thiết kế tốt sẽ đảm bảo các đường tín hiệu không bị nhiễu, các linh kiện được bố trí hợp lý và tối ưu về không gian. Sau khi thiết kế PCB hoàn tất, file thiết kế sẽ được xuất ra để tiến hành thi công. Các phương pháp thi công phổ biến bao gồm ủi nhiệt, ăn mòn bằng hóa chất, hoặc đặt hàng gia công chuyên nghiệp. Khi đã có bo mạch PCB, bước cuối cùng là hàn các linh kiện lên bo mạch theo đúng vị trí đã thiết kế. Quá trình này đòi hỏi kỹ năng hàn tốt để đảm bảo các mối nối chắc chắn và không bị chập. Một sản phẩm hoàn thiện không chỉ hoạt động đúng chức năng mà còn phải có tính thẩm mỹ và độ bền cao, thể hiện sự chuyên nghiệp của người thiết kế.
EasyEDA là một công cụ thiết kế mạch điện tử tự động (EDA) dựa trên nền tảng web, rất mạnh mẽ và hoàn toàn miễn phí. Nó cho phép người dùng dễ dàng chuyển đổi từ sơ đồ nguyên lý (schematic) sang thiết kế mạch in (PCB layout). Giao diện của EasyEDA trực quan, với thư viện linh kiện phong phú, bao gồm cả các model 3D. Người dùng có thể sắp xếp vị trí các linh kiện, đi dây (routing) tự động hoặc thủ công. Một ưu điểm lớn của EasyEDA là khả năng kiểm tra quy tắc thiết kế (DRC - Design Rule Check) để phát hiện các lỗi tiềm ẩn như khoảng cách giữa các đường mạch quá gần hoặc đường mạch quá mỏng. Sau khi hoàn thành thiết kế, người dùng có thể xuất ra file Gerber để gửi đi gia công PCB một cách dễ dàng. Việc sử dụng EasyEDA giúp chuẩn hóa quy trình thiết kế, đảm bảo chất lượng và giảm thiểu sai sót.
Sau khi có bo mạch PCB và đầy đủ linh kiện, quá trình thi công bắt đầu. Bước đầu tiên là hàn các linh kiện lên mạch theo thứ tự ưu tiên: các linh kiện nhỏ, điện trở, tụ điện trước, sau đó đến các IC, header và các linh kiện lớn. Cần đặc biệt chú ý đến chiều của các linh kiện như diode, IC. Sau khi hàn xong, cần kiểm tra lại toàn bộ mạch để đảm bảo không có mối hàn nào bị chập hoặc hở. Bước tiếp theo là cấp nguồn cho mạch và sử dụng đồng hồ vạn năng (VOM) để đo điện áp tại các điểm quan trọng, đảm bảo nguồn 5V được cấp ổn định. Cuối cùng, sử dụng mạch nạp PICkit để nạp file .HEX vào vi điều khiển PIC16F877A. Sau khi nạp code thành công, hệ thống sẽ bắt đầu hoạt động. Việc kiểm tra toàn diện các chức năng như nhập mật khẩu, mở cửa bằng động cơ servo, đổi mật khẩu, và báo động là bước cuối cùng để xác nhận sản phẩm hoạt động đúng như thiết kế.
Sau quá trình thiết kế, thi công và kiểm thử, hệ thống khóa cửa điện tử sử dụng PIC16F877A đã chứng minh được khả năng hoạt động ổn định và đáp ứng các yêu cầu cơ bản đã đề ra. Hệ thống cung cấp một giải pháp an ninh và bảo mật hiệu quả hơn so với khóa cơ, với giao diện người dùng trực quan thông qua màn hình LCD 16x2. Tuy nhiên, như bất kỳ đồ án điện tử nào, sản phẩm vẫn tồn tại một số ưu và nhược điểm cần được đánh giá khách quan. Việc nhận diện rõ những điểm này là cơ sở quan trọng để đề ra các hướng phát triển và nâng cấp trong tương lai. Từ một mô hình cơ bản, hệ thống hoàn toàn có thể được cải tiến để tích hợp các công nghệ xác thực tiên tiến hơn, kết nối với mạng internet, và trở thành một phần không thể thiếu trong một hệ sinh thái nhà thông minh toàn diện. Sự linh hoạt của vi điều khiển PIC cho phép mở rộng và tùy biến gần như không giới hạn, mở ra nhiều tiềm năng nghiên cứu và ứng dụng thực tiễn.
Ưu điểm lớn nhất của mô hình là chi phí thấp, linh kiện dễ tìm và dễ dàng thi công, rất phù hợp cho mục đích học tập và nghiên cứu. Hệ thống có độ bảo mật cao hơn khóa cơ nhờ sử dụng mật khẩu và có cơ chế báo động. Giao diện người dùng đơn giản, dễ sử dụng. Tuy nhiên, mô hình cũng có nhược điểm. Cơ cấu chấp hành sử dụng động cơ servo có độ bền và lực khóa không cao bằng chốt cửa solenoid chuyên dụng. Hệ thống chưa có chức năng khôi phục mật khẩu khi người dùng quên. Ngoài ra, việc chỉ sử dụng mật khẩu vẫn tiềm ẩn nguy cơ bị nhìn trộm. Hiệu suất của mạch cũng có thể bị ảnh hưởng bởi nhiễu điện từ nếu thiết kế PCB không được tối ưu.
Hệ thống khóa cửa hiện tại là một nền tảng tuyệt vời để phát triển các tính năng nâng cấp, hướng tới một giải pháp nhà thông minh toàn diện. Hướng phát triển khả thi nhất là tích hợp các phương thức xác thực đa dạng hơn để tăng cường an ninh và bảo mật. Có thể thêm module cảm biến vân tay AS608 để tạo ra một khóa cửa vân tay, hoặc sử dụng module RFID RC522 để thiết kế khóa cửa bằng thẻ từ. Một hướng nâng cấp khác là kết nối hệ thống với Internet thông qua module Wi-Fi ESP8266. Điều này cho phép người dùng điều khiển và giám sát khóa cửa từ xa qua ứng dụng di động, nhận thông báo khi có người ra vào hoặc khi có cảnh báo đột nhập. Những cải tiến này không chỉ nâng cao tính tiện dụng mà còn đưa sản phẩm đến gần hơn với các ứng dụng thương mại thực tế.
Bạn đang xem trước tài liệu:
Thiết kế khóa điện tử sử dụng pic16f877a đồ án hệ thống nhúng kỹ thuật điện tử viễn thông