Thông qua đề tài: “Thiết kế đồng hồ điện tử sử dụng LCD16x2, DS1307, PIC18F4520” nhóm em đã rút ra được nhiều bài học rất bổ ích, học tập được tinh thần làm việc nhóm một cách hiệu quả. Liên hệ zalo hỗ trợ: 0395751673
CƠ SỞ LÝ THUYẾT
Giới thiệu về LCD
Sản xuất từ năm 1970, màn hình LCD là một loại vật liệu có khả năng phản xạ ánh sáng khi điện áp thay đổi, hoạt động dựa trên nguyên tắc ánh sáng nền (Back Light) Mỗi điểm ảnh trong màn hình LCD được cấu thành từ một transistor nhỏ, có thể ở một trong hai trạng thái: cho phép ánh sáng đi qua hoặc không Điểm ảnh bao gồm ba yếu tố màu cơ bản: đỏ, xanh lá và xanh dương Trước đây, màn hình LCD tiêu thụ nhiều điện năng và có độ tương phản thấp, cho đến khi các nhà khoa học Anh phát hiện ra những cải tiến mới.
Biphenyl là vật liệu chính trong tinh thể lỏng, đóng vai trò quan trọng trong sự phát triển của màn hình LCD, loại màn hình đã trở nên phổ biến Ban đầu, LCD xuất hiện trên các thiết bị như máy tính cầm tay, trò chơi điện tử và đồng hồ điện tử Hiện nay, màn hình LCD được thiết kế nhỏ gọn, nhẹ, tiết kiệm không gian, cung cấp chất lượng hình ảnh tốt và tiêu thụ ít năng lượng.
- 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS, RW, EN).
- 5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2.
- Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu giúp ta cấu hình ở chế độ đọc hoặc ghi.
LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang làm.
Giới thiệu về PIC 18F4520
Chip vi điều khiển PIC18F4520, sản xuất bởi Microchip, thuộc dòng họ PIC Đây là một bộ vi điều khiển 8 bit dựa trên kiến trúc RISC, với bộ nhớ chương trình 32KB ISP flash cho phép ghi xóa hàng nghìn lần Nó cũng được trang bị 256B EEPROM và 2KB SRAM, mang lại khả năng lưu trữ lớn trong thế giới vi xử lý 8 bit.
Với 33 chân có thể sử dụng cho các kết nối vào hoặc ra i/O, 32 thanh ghi, 3 bộ timer/counter có thể lập trình, có các gắt nội và ngoại (2 lệnh trên một vector ngắt), giao thức truyền thông nối tiếp USART, SPI, I2C Ngoài ra có thể sử dụng bộ biến đổi số tương tự 10 bít (ADC/DAC) mở rộng tới 12 kênh, khả năng lập trình được watchdog timer, hoạt động với 5 chế độ nguồn, có thể sử dụng tới 2 kênh điều chế độ rộng xung (PWM)…
Kích thước bộ nhớ chương trình:
32kB Độ rộng bus dữ liệu 8 bit Độ phân giải ADC: 10 bit
Tần số đồng hồ tối đa: 40 MHz
Kích thước Dữ liệu RAM: 1.5 kB Điện áp cấp vận hành: 2 V to 5.5 V
Nhiệt độ làm việc tối thiểu: - 40 C
Nhiệt độ làm việc tối đa: + 85 C
Loại bộ nhớ chương trình: Flash
Loại RAM dữ liệu: RAM
Kích thước ROM dữ liệu: 256 kB
Loại ROM dữ liệu: Flash
Số lượng kênh ADC: 13 Channel
Số bộ hẹn giờ/bộ đếm: 1 Timer Điện áp cấp nguồn - Tối đa: 5.5 V Điện áp cấp nguồn - Tối thiểu:
Bảng 1-1: Thông số kĩ thuật PIC18F4520
Giới thiệu về chip DS1307
DS1307 là chip đồng hồ thời gian thực (RTC) do Dallas Semiconductor, một công ty thuộc Maxim Integrated Products, sản xuất Chip này có khả năng lưu trữ thời gian với 7 thanh ghi 8-bit, bao gồm giây, phút, giờ, ngày trong tuần, ngày, tháng và năm Bên cạnh đó, DS1307 còn có 1 thanh ghi điều khiển ngõ ra phụ và 56 thanh ghi trống có thể sử dụng như RAM Giao tiếp với DS1307 được thực hiện qua giao diện nối tiếp I2C (TWI của AVR), giúp cấu trúc bên ngoài của chip rất đơn giản DS1307 có sẵn trong hai dạng gói SOIC và DIP với 8 chân.
Các chân của DS1307 được mô tả như sau:
- X1 và X2: là 2 ngõ kết nối với 1 thạch anh 32.768KHz làm nguồn tạo dao động cho chip.
- VBAT: cực dương của một nguồn pin 3V nuôi chip.
- GND: chân mass chung cho cả pin 3V và Vcc.
Hình 1-3 Sơ đồ chân DS1307
Vcc là nguồn cung cấp cho giao diện I2C, thường là 5V và được sử dụng chung với vi điều khiển Cần lưu ý rằng nếu Vcc không được cấp nguồn trong khi VBAT vẫn được cấp, thì DS1307 vẫn hoạt động, nhưng không thể thực hiện việc ghi và đọc dữ liệu.
SQW/OUT là chân ngõ phụ tạo xung vuông (Square Wave / Output Driver) với tần số có thể lập trình Chân này không liên quan đến chức năng chính của DS1307 là đồng hồ thời gian thực, vì vậy chúng ta sẽ không kết nối chân này khi lắp mạch.
- SCL và SDA là 2 đường giao xung nhịp và dữ liệu của giao diện I2C mà chúng ta đã tìm hiểu trong bài TWI của AVR.
- Có thể kết nối DS1307 bằng một mạch điện đơn giản.
Ngôn ngữ lập trình nhúng
MPLAB IDE (Môi trường phát triển tích hợp) là công cụ lý tưởng cho việc phát triển ứng dụng trên vi điều khiển nhúng của Microchip Người dùng có thể viết, chỉnh sửa và gỡ lỗi mã nguồn, đảm bảo ứng dụng hoạt động mượt mà trên vi điều khiển Bên cạnh đó, IDE cung cấp các công cụ thiết kế mạch vi điều khiển phù hợp với từng loại vi điều khiển mà nhà phát triển sử dụng Sau khi thiết kế mạch, người dùng tiếp tục phát triển firmware, chương trình điều khiển cách phần cứng thực hiện ứng dụng IDE cũng tích hợp trình biên dịch, chuyển đổi mã nguồn thành mã mà phần cứng có thể nhận diện và thực thi.
MPLAB IDE là đa nền tảng, điều này có nghĩa là nó có thể chạy trên các hệ thống Windows, Mac OS X và Linux
Hình 1-4 Phần mềm MPLAB IDE
Phần mềm thiết kế phần cứng
Altium Designer là phần mềm chuyên dụng cho thiết kế PCB (Printed Circuit Board) và mạch điện tử, được phát triển bởi Altium Limited Phần mềm này mang đến một môi trường tích hợp, hỗ trợ toàn bộ quy trình thiết kế từ ý tưởng ban đầu đến sản xuất PCB.
Altium Designer 21 giữ vững sự cân bằng hoàn hảo giữa tính thân thiện với người dùng và hiệu suất cao Các tính năng như định tuyến tương tác và kiểm tra quy tắc thiết kế (DRC) giúp người dùng thiết kế PCB với độ chính xác tối ưu.
Kết luận chương 1
Trong chương trước, chúng ta đã khám phá kiến thức tổng quát về đồng hồ điện tử, bao gồm cơ sở lý thuyết và các linh kiện thiết yếu để thiết kế một mô hình đồng hồ điện tử thông minh Ở chương 2, chúng ta sẽ tiến hành thiết kế phần cứng và phần mềm cho mô hình đồng hồ điện tử này.
THIẾT KẾ MÔ HÌNH ĐỒNG HỒ ĐIỆN TỬ
Mục đích yêu cầu
- Hiển thị LCD thời gian thực với bộ thời gian thực DS1307.
- Có cài đặt thời gian bằng nút nhấn để thay đổi thời gian.
- Kích thước màn hình LCD 16x2.
- Dùng IC DS1307 để hiển thị thời gian thực và có nút nhấn để điều chỉnh thời gian.
- Pin CMOS 3V dùng để cấp nguồn cho IC thời gian thực vẫn chạy đúng giờ ngay cả khi mất điện.
2.1.3 Các yêu cầu cụ thể
- Thiết kế, lắp ráp, đo kiểm thử phần cứng gồm:
+ Sử dụng nguồn 5V có nhiệm vụ cung cấp nguồn điện 5V cho mạch được hoạt động ổn định.
+ Khối vi điều khiển, khối nút nhấn, khối hiển thị LCD, khối thời gian thực.
- Hiển thị trên màn hình LCD Có thể hiển thị được giờ, phút, giây ở hàng đầu tiên và hiển thị được thứ, ngày, tháng, năm ở hàng thứ 2.
- Các nút nhấn có thể điều chỉnh được thời gian và điều chỉnh các qua lại giữa giờ, phút, thứ, ngày, tháng, năm.
- Thiết kế phần mềm.(Vẽ lưu đồ thuật toán và viết chương trình trên
- Đánh giá kết quả thực nghiệm.
Sơ đồ khối
Hình 2-6 Lưu đồ khối toàn mạch
Khối nguồn: Sử dụng nguồn cấp DC 5V có nhiệm vụ cung cấp nguồn điện
5V cho mạch được hoạt động ổn định
Khối vi xử lý sử dụng vi xử lý PIC18F4520 với các chân RB0 và RB1 làm ngõ vào cho hai nút điều chỉnh Chân RD0, RD1 và RD2 lần lượt đảm nhận chức năng RS, R/W và EN để điều khiển LCD Hai chân RC3 (SCL) và RC4 (SDA) được sử dụng để giao tiếp với DS1307 Nguồn cấp chính được cung cấp từ khối nguồn 5V, với nhiệm vụ chính là giao tiếp và điều khiển các khối khác để thực hiện các chức năng theo yêu cầu của mạch với chương trình đã được lập trình.
Các nút nhấn SET1 SW và SET2 SW khi được nhấn sẽ giảm điện áp xuống mức 0 Nút SW1 được sử dụng để tăng giá trị thời gian, trong khi SW2 dùng để điều chỉnh thời gian theo ngày, tháng, năm, giờ và phút Ngoài ra, khi nhấn nút RESET1 SW, chương trình sẽ được khôi phục về trạng thái ban đầu.
Hình 2-8 Khối vi xử lý
Màn hình LCD 16X2 hoạt động ở chế độ 4 bit, được kết nối và điều khiển bởi vi xử lý Các chân 15 và 16 cung cấp nguồn điện và mass để màn hình hoạt động Biến trở 10K được sử dụng để điều chỉnh độ tương phản của màn hình Màn hình có khả năng hiển thị các ký tự cơ bản trong bảng mã ASCII với 2 dòng và 16 cột.
Khối thời gian thực: sử dụng IC thời gian thực DS1307 với giao tiếp chuẩn
I2C Thạnh Anh 32,768kHz cung cấp tín hiệu dao động chính xác cho IC thời gian thực U2 Pin 3V đảm bảo nguồn cung cấp cho IC thời gian thực, giúp nó hoạt động đúng giờ ngay cả khi mất điện Các điện trở kéo R1 và R2 có giá trị 10K.
Thời gian sẽ được chạy tự động trong U2:
Khối nạp chip: dùng để nạp chương trình cho vi điều khiển pic18f4520
Mô phỏng và thiết kế phần cứng
Các bước vẽ sơ đồ trên Proteus:
Hình 2-11 Khối thời gian thực
B3: Nạp code vào vi điều khiển
B4: Chạy và nhận kết quả
Chúng ta sử dụng phần mềm Altium Designer để thiết kế mạch in cho sản phẩm.
Các bước thiết kế mạch in:
Hình 2-13 Sơ đồ nguyên lý
B2: Sắp xếp linh kiện và vẽ thành khối phù hợp với công dụng B3: Update sang PCB và sắp xếp
B4: Đi dây và phủ đồng cho mạch
2.3.3 Kết luận chương 2 Ở chương 2 này , nhóm đã tìm hiểu được nguyên lý hoạt động động cũng như chương trình điều khiển của mạch và thiết kế phần cứng cho mạch in.Chương 3, nhóm
KẾT QUẢ THỰC HIỆN
Sản phẩm
B1: Cấp nguồn 5v cho mạch, LCD hiển thị thời gian đọc được từ DS1307.
Hình 3-16 Sản phẩm hoàn thiện
B2: Sử dụng 2 nút: Option, up để thiết lập thời gian.
1 Option: chọn các chế độ giờ, phút, giây
B3: Quay trở lại màn hình LCD ban đầu.
Kết quả đạt được
Sau đây là một số hình ảnh chức năng đạt được:
Đánh giá kết quả làm việc nhóm
Các thành viên trong nhóm hoàn thành tốt các nhiệm vụ được giao, làm đúng hạn và trước thời gian quy định.
Trong quá trình thiết kế đồ án, mỗi thành viên đều thể hiện sự sáng tạo, logic và hiệu quả trong ý kiến của mình Sự tích cực và nhiệt huyết trong thảo luận đã giúp các ý tưởng được bày tỏ một cách sôi nổi.
Nhờ có sự cố gắng không ngừng nghỉ của cả nhóm Mục tiêu chung của đề tài đã được hoàn thành theo đúng tiến độ được giao.
KẾT LUẬN – HƯỚNG PHÁT TRIỂN
Thông qua đề tài “Thiết kế đồng hồ điện tử sử dụng LCD16x2, DS1307, PIC18F4520”, nhóm em đã học hỏi được nhiều bài học quý giá và phát triển tinh thần làm việc nhóm hiệu quả Mặc dù thiết kế đồng hồ hiển thị trên LCD không phải là một đề tài mới hay lớn, nhưng nó rất phổ biến và hữu ích trong cuộc sống hàng ngày Qua dự án này, em đã tích lũy được nhiều kiến thức bổ ích và kinh nghiệm quý giá.
- Đã hoàn thành đề tài theo đúng yêu cầu và ý tưởng đề ra.
- Kiểm chứng được những kiến thực học, giúp ích rất nhiều trong việc hoàn thành đề tài.
- Có thêm nhiều kinh nghiệm hơn khi làm việc theo nhóm.
- Biết cách chế tạo một chiếc đồng hồ đơn giản. Ưu điểm:
- Các linh kiện trong mạch đươc sắp xếp 1 cách gọn gàng.
- Mạch chạy ổn định chưa có lỗi nào phát sinh.
- Chạy đủ các thông tin như: thứ, ngày, tháng, năm, giờ, phút, giây Nhược điểm:
- Chưa có lớp bảo vệ để ngăn oxi hóa và bảo vệ các linh kiện cho thiết bị.
- Chưa có chức năng báo thức.
- Lắp thêm lớp bảo vệ để ngăn oxi hóa và các tác động bên ngoài dẫn đến
- Hoạt động độc lập trên nguồn pin
- Hiển thị thông tin về ngày âm lịch
- Cài đặt lịch làm việc
- Hiển thị thêm thông tin về nhiệt độ.