1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ Án môn học 1 tên Đề tài thiết kế hệ thống Đồng hồ thời gian thực

29 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Thiết kế hệ thống đồng hồ thời gian thực
Tác giả Ngô Nguyễn Khánh Huy
Người hướng dẫn ThS. Triệu Văn Trung
Trường học Học Viện Hàng Không Việt Nam
Chuyên ngành Điện - Điện tử
Thể loại đồ án môn học
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 29
Dung lượng 1,07 MB

Nội dung

Mạch đồng hồ thời gian thực không chỉ giúp chúng ta theo dõi thời gian một cách chính xác, mà còn cung cấp những lợi ích đáng giá trong các ứng dụng như hệ thống định vị toàn cầu GPS, tr

Trang 1

HỌC VIỆN HÀNG KHÔNG VIỆT NAM

Khoa Điện - Điện tử

Trang 2

HỌC VIỆN HÀNG KHÔNG VIỆT NAM

Khoa Điện - Điện tử

Trang 3

HỌC VIỆN HÀNG KHÔNG VIẸT NAM

KHOA ĐIỆN - ĐIỆN TỬ

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

- Viết bài báo cáo thu hoạch

3 Ngày giao đồ án môn học: 13/09/2023

4 Ngày hoàn thành đồ án môn học: 13/11/2023

5 Họ tên người hướng dẫn: ThS Triệu Văn Trung

T/p Hồ Chí Minh, ngày … tháng … Năm …

GIẢNG VIÊN HƯỚNG DẪN

Trang 4

HỌC VIỆN HÀNG KHÔNG VIỆT NAM

KHOA ĐIỆN - ĐIỆN TỬ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

1 Tên đề tài: THIẾT KẾ HỆ THỐNG ĐỒNG HỒ THỜI GIAN THỰC

2 Họ tên giảng viên hướng dẫn: ThS TRIỆU VĂN TRUNG

Trang 5

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

………

………

………

………

………

…………

Phần đánh giá:

 Ý thức thực hiện:

 Nội dụng thực hiện:

 Hình thức trình bày:

 Tổng hợp kết quả:

Điểm bằng số: Điểm bằng chữ:

(Quy định về thang điểm và lấy điểm tròn theo quy định của trường)

Tp Hồ Chí Minh, ngày tháng năm 20…

GIẢNG VIÊN HƯỚNG DẪN (Ký và ghi rõ họ tên)

Trang 6

MỤC LỤC

PHẦN I TỔNG QUAN VỀ ĐỒ ÁN 3

Chương 1 Giới thiệu 3

1.1 Lý do chọn đề tài 3

1.2 Mục tiêu nghiên cứu 3

1.3 Đối tượng và phạm vi nghiên cứu 3

1.4 Phương pháp nghiên cứu 3

1.5 Kết cấu của đề tài 4

Chương 2 CƠ SỞ LÝ THUYẾT 5

2.1 Một số nghiên cứu liên quan đến đề tài 5

2.2 Một số khái niệm lý thuyết liên quan đến vấn đề nghiên cứu 5

2.3 Các linh kiện sử dụng 6

2.3.1 Vi điều khển PIC16F877A 6

2.3.2 IC DS1307 7

2.3.3 Màn hình LCD 16x02 8

PHẦN II NỘI DUNG VÀ KẾT QUẢ 10

Chương 3 TÍNH TOÁN VÀ THIẾT KẾ 10

3.1 Sơ đồ khối và nguyên lý hoạt động của mạch 10

3.1.1 Sơ đồ khối toàn mạch 10

3.1.2 Nguyên lý hoạt động của mạch 10

3.2 Lưu đồ thuật toán 12

3.3 Sơ đồ nguyên lý 13

Chương 4 THI CÔNG VÀ KẾT QUẢ 18

4.1 Thi công mạch 18

4.2 Mạch thực tế 19

4.3 Kết quả kiểm thử mạch 19

PHẦN III KẾT LUẬN VÀ KIẾN NGHỊ 20

Chương 5 Kết luận và kiến nghị 20

5.1 Kết luận 20

5.1.1 Kết quả hoạt động của mạch so với mục tiêu đề ra 20

Trang 7

5.1.2 Ưu điểm 20

5.1.3 Nhược điểm 20

5.2 Kiến nghị 20

5.2.1 Hướng ứng dụng của đề tài 20

5.2.2 Hướng phát triển của đề tài (khắc phục nhược điểm) 20

Trang 8

LỜI NÓI ĐẦU

Trong thời đại ngày nay, thời gian đóng vai trò quan trọng trong cuộc sống của chúng ta Từ việc đo lường thời gian để quản lý công việc hàng ngày đến việc đồng bộ hóa thông tin trên toàn cầu, một hệ thống đồng hồ thời gian thực chính xác và đáng tin cậy là không thể thiếu

Mạch đồng hồ thời gian thực không chỉ giúp chúng ta theo dõi thời gian một cách chính xác, mà còn cung cấp những lợi ích đáng giá trong các ứng dụng như

hệ thống định vị toàn cầu (GPS), truyền thông không dây, đo lường khoảng cách,

và nhiều ứng dụng khác Qua quá trình thực hiện đồ án, tôi đã đạt được một số kết quả đáng kể Tôi đã thành công trong việc thiết kế một hệ thống thời gian thực Tuy nhiên, tôi cũng đã gặp phải một số thách thức và vấn đề trong quá trình nghiên cứu và thực hiện đồ án Những vấn đề này đã đặt ra những thách thức đáng kể và

đã yêu cầu sự sáng tạo và linh hoạt để vượt qua Chúng ta sẽ đi sâu vào cách mà mạch đồng hồ thời gian thực hoạt động, cũng như cách bạn có thể thiết kế và xây dựng một mạch đồng hồ thời gian thực đơn giản

Trang 9

DANH MỤC HÌNH VẼ

Hình 2.1: Sơ đồ chân của PIC16F877A………6

Hình 2.2: Sơ đồ chân của ds1307……… 7

Hình 2.3: Sơ đồ chân LCD 16x02……….8

Hình 3.1: Sơ đồ khối toàn mạch……… 10

Hình 3.2: Lưu đồ thuật toán……… 12

Hình 3.3:Sơ đồ nguyên lí toàn mạch……… 13

Hình 3.4: Sơ đồ khối nguồn ……… 13

Hình 3.5: Sơ đồ khối của PIC16F877A……… 14

Hình 3.6: Sơ đồ khối của nút nhấn……… 15

Hình 3.7: Sơ đồ khối LCD1602……… 16

Hình 3.8: Sơ đồ khối của ds1307……… 17

Hình 4.1: Mạch thực tế………19

Trang 10

để thực hành kỹ năng lập trình và thiết kế mạch điện tử

1.2 Mục tiêu nghiên cứu

Mục tiêu của nghiên cứu có thể bao gồm:

- Nắm vững nguyên lý hoạt động của vi mạch RTC DS1307

- Hiểu và áp dụng các giao thức truyền thông như I2C để kết nối vi mạch với vi điều khiển

- Phát triển ứng dụng cụ thể sử dụng DS1307 như đồng hồ đa chức năng hoặc hệ thống ghi log thời gian

1.3 Đối tượng và phạm vi nghiên cứu

- Đối tượng nghiên cứu: Sinh viên, những người làm vi mạch điện tử hoặc người muốn hiểu sâu về vi mạch RTC DS1307

- Phạm vi nghiên cứu: Tập trung vào việc nắm vững cách kết nối và lập trình vi mạch DS1307

1.4 Phương pháp nghiên cứu

- Tìm hiểu lý thuyết: Nghiên cứu tài liệu liên quan về nguyên lý hoạt động của vi mạch DS1307 và các nguyên tắc điều khiển thời gian

- Thực hành: Xây dựng mạch thử nghiệm sử dụng DS1307, thực hiện các thí nghiệm để kiểm tra và hiểu rõ về hoạt động của vi mạch

Trang 11

- Lập trình: Sử dụng ngôn ngữ lập trình PIC-C compiler để viết mã điều khiển cho

vi mạch DS1307, tương tác với vi điều khiển PIC16F877A

1.5 Kết cấu của đề tài

Đề tài gồm có 5 phần:

- Phần giới thiệu: Trình bày về lý do chọn đề tài, mục tiêu nghiên cứu, đối tượng

và phạm vi nghiên cứu

- Phần cơ sở lý thuyết: Trình bày các kiến thức cơ bản liên quan đến giao thức I2C,

về lập trình điều khiển thời gian, các nguyên tắc về lập trình trên PIC16F877A và các kiến thức về LCD1602

- Phần tính toán và thiết kế: Mô tả về việc kết nối vi mạch DS1307 với vi điều khiển PIC16F877A, kết nối hiển thị trên lcd1602 và lập trình điều khiển trên PIC-

Trang 12

Chương 2 CƠ SỞ LÝ THUYẾT 2.1 Một số nghiên cứu liên quan đến đề tài

Trong lĩnh vực vi mạch RTC và ứng dụng của chúng, đã có nhiều nghiên cứu và

dự án được tiến hành Một số ví dụ về các nghiên cứu liên quan:

- Ứng dụng đồng hồ thời gian thực trong Internet of Things (IoT): Trong lĩnh vực IoT, vi mạch RTC được sử dụng rộng rãi để đồng bộ hóa thời gian trong các hệ thống mạng không dây Nghiên cứu này tập trung vào việc kết hợp vi mạch RTC với các thiết bị IoT để đảm bảo thời gian chính xác trong các ứng dụng truyền thông

- Ứng dụng của vi mạch RTC trong công nghệ y tế: Nghiên cứu này tập trung vào việc sử dụng vi mạch RTC trong các thiết bị y tế để ghi log thời gian cho việc theo dõi sức khỏe, quản lý liều lượng thuốc, và đồng bộ hóa thời gian trong các thiết bị

y khoa…

2.2 Một số khái niệm lý thuyết liên quan đến vấn đề nghiên cứu

- RTC (Real-Time Clock): RTC là viết tắt của Real-Time Clock, là một thiết bị điện tử được thiết kế để giữ và theo dõi thời gian thực, bất kể việc thiết bị chính nó

có hoạt động hay tắt nguồn

- Giao thức I2C (Inter-Integrated Circuit): I2C là một giao thức truyền thông điều khiển nhiều thiết bị trên cùng một dây truyền dẫn Giao thức này cho phép nhiều thiết bị kết nối với một bus duy nhất, giúp giảm số lượng chân kết nối và tối ưu hóa việc sử dụng chân của vi điều khiển

Trang 13

2.3 Các linh kiện sử dụng

2.3.1 Vi điều khển PIC16F877A

Hình 2.1: Sơ đồ chân của PIC16F877A

- PIN 1- MCLR: Chân reset

+ Hoạt động ở mức thấp (luôn được cấp nguồn 5V, nếu được cấp 0V thì vi diều khiển sẽ bị reset)

+ Một nút nhấn và một điện trở được kết nối với chân Chân đã được cấp 5V Khi muốn reset IC, chỉ cần nhấn nút sẽ đưa chân MCLR về 0V, từ đó bộ điều khiển được reset

- PIN 2 – RA0/AN0: Có thể hoạt động ở 2 chế độ

+ RA0: Digital I/O, AN0: Analog input 0

- PIN 3: RA1/AN1:

+RA1: Digital I/O, AN1; Analog input 1

- PIN 13 – OSC1/CLKO: Ngõ vào dao động thạch anh hoặc xung clock ngoài

Trang 14

- PIN14 – OSC2/CLKO: Ngõ ra dao động thạch anh Một thạch anh được nối giữa

2 chân 13 và 14 để cung cấp xung nhịp bên ngoài cho vi điều khiển Ở chế độ RC, ngõ ra của OSC2 bằng ¼ tần số của OSC1, chính là tốc độ của chu kì lệnh

- PIN 18 – RC3/SCK/SCL:

+ RC3: Digital I/O

+ SCK: Clock đồng bộ nối tiếp vào/ra cho chế độ SPI

+ SCL: Clock đồng bộ nối tiếp vào/ra cho chế độ I2C

- PIN 23 – RC4/SDI/SDA:

+ RC4: Digital I/O

+ SDI: SPI data in

+ SDA: I2C data I/O

+ TX: Chân truyền USART

+ CK: Xung clock đồng bộ UART

Hình 2.2: Sơ đồ chân của ds1307

- VCC: Nguồn điện cấp vào 2~5.5V

Trang 15

- X1, X2: thạch anh 32.768kHz kết nối

- Vbat: nguồn pin 3V đầu vào

- GND: nối đất

- SCL, SDA: cổng kết nối giao thức i2c

- SQW/OUT: lập trình tín hiệu đầu ra dạng xung vuông

- IC thời gian thực (RTC) DS1307 có thể đếm giờ, phút, giây, thứ, ngày tháng, năm Giao tiếp với vi điều khiển thông qua chuẩn I2C, và đóng vai trò là slave khi kết nối đến Bus I2C này Có thể đếm thời gian theo định dạng 24 giờ hoặc 12 giờ với chỉ thị AM/PM Ngoài ra bên trong chíp có bộ dò phát hiện mất nguồn và tự động chuyển sang sử dụng nguồn Pin dự phòng

2.3.3 Màn hình LCD 16x02

Hình 2.3: Sơ đồ chân LCD 16x02

- Màn hình LCD1602 xanh lá sử dụng driver HD44780, có khả năng hiển thị 2 dòng với mỗi dòng 16 ký tự Màn hình LCD có độ bền cao, rất phổ biến, nhiều code mẫu và dễ sử dụng thích hợp cho những người mới học và làm dự án

- Điện áp hoạt động: 5V

Trang 16

- Kích thước của màn hình LCD 1602: 8 x 3.6 x 0.8 cm

- Màu nền: xanh dương

- Màu chữ: Màu trắng

- Sơ đồ nối của màn hình LCD1602

+ Chân số 1 - VSS: Chân nối đất cho LCD được nối với GND của mạch điều khiển

+ Chân số 2 - VDD: Chân cấp nguồn cho LCD, được nối với VCC 5V của mạch điều khiển

+ Chân số 3 - VE: Điều chỉnh độ tương phản của LCD

+ Chân số 4 - RS: chân chọn thanh ghi, được nối với logic "0" hoặc logic "1":

Logic “0”: Bus DB0 - DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)

Logic “1”: Bus DB0 - DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD

+ Chân số 5 - R/W: chân chọn chế độ đọc/ghi (Read/Write), được nối với logic “0”

để ghi hoặc nối với logic “1” đọc

+ Chân số 6 - E: chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân này như sau:

Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào thanh ghi bên trong khi phát hiện một xung (high-to-low transition) của tín hiệu chân E

Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp

(low-+ Chân số 7 đến 14 - D0 đến D7: 8 đường của bus dữ liệu dùng để trao đổi thông tin với MPU Có 2 chế độ sử dụng 8 đường bus này là: Chế độ 8 bit (dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7) và Chế độ 4 bit (dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7)

+ Chân số 15 - A: nguồn dương cho đèn nền

+ Chân số 16 - K: nguồn âm cho đèn nền

Trang 17

PHẦN II NỘI DUNG VÀ KẾT QUẢChương 3 TÍNH TOÁN VÀ THIẾT KẾ 3.1 Sơ đồ khối và nguyên lý hoạt động của mạch

3.1.1 Sơ đồ khối toàn mạch

Hình 3.1: Sơ đồ khối toàn mạch

3.1.2 Nguyên lý hoạt động của mạch

- Đọc Thời Gian Từ DS1307:

PIC16F877A sử dụng giao tiếp I2C để đọc dữ liệu thời gian từ DS1307, bao gồm giờ, phút và giây Các giá trị này được lưu trữ trong các thanh ghi của DS1307

- Hiển Thị Thời Gian Lên Màn Hình LCD:

Dữ liệu thời gian đọc được từ DS1307 sau đó được hiển thị lên màn hình LCD Điều này có thể thực hiện thông qua các lệnh hiển thị đặc biệt được gửi từ PIC16F877A đến LCD

- Điều Chỉnh và Tăng Thời Gian:

KHỐI HIỂN THỊ LCD KHỐI VI XỬ LÝ

KHỐI NGUỒN

KHỐI RTC

DS1307

KHỐI NÚT NHẤN

Trang 18

PIC16F877A liên tục kiểm tra trạng thái của nút nhấn chỉnh thời gian và nút nhấn tăng thời gian Khi phát hiện nút được nhấn, nó sẽ thực hiện các bước tương ứng

để điều chỉnh giá trị giờ, phút, giây hoặc ngày, tháng, năm

Trang 19

3.2 Lưu đồ thuật toán

Hình 3.2: Lưu đồ thuật toán

START

CHUYỂN ĐỔI GIÁ TRỊ THỜI GIAN

HIỂN THỊ GIÁ TRỊ LÊN LCD

Đ

S

NHẤN TĂNG

NHẤN SET

GHI THỜI GIAN SAU KHI CHỈNH

VÀO RTC

THOÁT KHỎI HÀM (BREAK;)

KHỞI TẠO LCD ĐỌC THỜI GIAN TỪ RTC

TĂNG GIÁ TRỊ ĐƯỢC CHỌN TRONG

GIỚI HẠN THỜI GIAN

Trang 20

3.3 Sơ đồ nguyên lý

Hình 3.3:Sơ đồ nguyên lí toàn mạch

- Giải thích từng khối và cách lựa chọn linh kiện

Hình 3.4: Sơ đồ khối nguồn

- Khối nguồn: Sử dụng nguồn cấp từ adapter được gắn vào nguồn điện AC 220V

để chuyển sang DC 12V Cấp vào J1 D1 làm nhiệm vụ ngăn không để cấp ngược nguồn làm hỏng mạch Tụ C4 và C5 lọc nguồn cấp vào để tăng tính ổn định cho

Trang 21

nguồn và cho mạch IC 7805 U3 làm nhiệm vụ ổn áp cho ra nguồn điện ổn định 5V với dòng tối đa là 1A Nguồn 5V này sẽ được lọc lại một lần nữa bằng tụ C6

Và được cấp cho toàn bộ mạch hoạt động Đèn LED D2 dùng để báo có nguồn vời R8 = 4.7k hạn dòng cho LED

- Khối vi điều khiển:

Hình 3.5: Sơ đồ khối của PIC16F877A

+ Sử dụng vi xử lý PIC16F877A Với thạch anh giao động 20M để tạo xung nhịp cho PIC Nút nhấn BT5 reset chip Tụ C3 100nF làm tụ Reset tự động cho vi xử lý khi mới cấp nguồn R1 4.7k là trở kéo cho chân Reset

+ Sử dụng các chân RA0 và RA1 làm ngõ vào của 2 nút điều chỉnh Các chân RD4, RC7, RC6, RC5 kết nối đến DATA của LCD ở chế độ 4 bit, Chân RD7 làm chân RS, chân RD5 làm chân EN, RD6 làm chân RW điều khiển cho LCD 2 chân RC3 (SCL) và RC4 (SDA) được hỗ trợ chuẩn giao tiếp I2C dùng để giao tiếp với DS1307 Chân RE0 được dùng để kích hoạt còi báo Nguồn cấp chính từ khối nguồn 5V

Trang 22

+ Với nhiệm vụ chính là giao tiếp và điều khiển các khối khác thành một liên kết 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

Ở đây là đọc thời gian từ RTC sau đó hiển thị lên LCD Đọc 2 nút nhấn để có thể hiệu chỉnh thời gian, hiển thị lên LCD và ghi thời gian đã hiệu chỉnh trở lại vào RTC

- Khối nút nhấn:

Hình 3.6: Sơ đồ khối của nút nhấn

Sử dụng các nút nhấn một tiếp điểm để tạo mức thay đổi logic giúp vi điều khiển

có thể hiểu đươc khi ta tác động nhấn nút Các điện trở R4 R5 là các điện trở kéo lên để xác định mức cao khi không nhấn nút Các nút nhân BT1, BT2 khi được nhấn sẽ kéo dẫn điện xuống mức 0 Với BT1 dùng để chọn chỉnh thời gian, BT3 dùng để tăng giá trị Các nút này có thể đễ dàng thay đổi chức năng cho nhau bằng cách sửa lại trong chương trình

- Khối hiển thị LCD:

Trang 23

Hình 3.7: Sơ đồ khối LCD1602

Màn hình LCD 16X2 ở chế độ 4 bit kết nối và được điều khiển bởi vi xử lý Các chân 15 và 16 được cấp nguồn và cấp mass để sáng nên cho LCD Biến trở 10K được dùng để chỉnh độ tương phản của màn hình Màn hình giúp 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:

Trang 24

Hình 3.8: Sơ đồ khối của ds1307

Sử dụng IC thời gian thực DS1307 với giao tiếp chuẩn I2C Thạnh anh 32.768 giúp tạo giao động chuẩn thời gian cho ic thời gian thực U2 Pin 3V3 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 Các điện trở kéo kên R3 và R2 có giá trị 4.7k để đáp ứng đúng theo chuẩn I2C Thời gian sẽ được chạy tự động trong U2 Các giá trị sẽ được vi điều khiển truy cập đọc và ghi thông qua giao thức chuẩn I2C với 2 dây

Trang 25

Chương 4 THI CÔNG VÀ KẾT QUẢ 4.1 Thi công mạch

- Các bước thi công mạch:

+ Tìm hiểu về từng linh kiện: ds1307, LCD1602, PIC16F877A …

+ Tính toán thông số phù hợp

+ Mô phỏng mạch trên proteus và viết code để đọc tín hiệu I2C

+ Gắn ds1307 vào mô phỏng để đọc giá trị thời gian

+ Hoàn thành chương trình code và bắt đầu vẽ pcb

+ Thử nghiệm trên mạch breakboard bằng cách gắn thử linh kiện và nối dây từ module PIC16F877A vào LCD, kết nối module ds1307 vào mạch PIC cho chạy thử Kết quả đọc được thời gian và xuất ra màn hình

+ Nghiên cứu gắn thêm 2 nút nhấn để chỉnh thời gian, khi thời gian bị sai thì chúng ta có thể chỉnh bằng tay thay vì phải chỉnh trên code phức tạp hơn

+ Tiến hành mua từng linh kiện nhỏ để hoàn thành sản phẩm

+ In mạch và ủi mạch trên miếng đồng sao cho phần mực được dính trên miếng đồng đề khi rửa mạch thì phần mực sẽ không tác dụng với dung dịch Làm cho phần dây dẫn vẫn còn nguyên sau khi chà bằng giấy nhám cho mất phần mực in + Sau khi có được phần mạch đồng, khoang từng lỗ chân cho các linh kiện

+ Gắn chân linh kiện vào từng lỗ khoang từ trước

+ Tiến hành hàn chân cho linh kiện Sau khi hàn xong thì ta dùng kiềm cắt chân linh kiện Sau cùng là kết nối pickit để đỗ code vào trong PIC16F877A và cắt tấm formex cho vừa với mạch để làm đế cho mạch

Ngày đăng: 16/11/2024, 15:12

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w