Trong cuộc sống ngàynay, để có thể kiểm soát được thời gian, con người đã phát minh ra đồng hồ.Theo dòng thời gian phát triển của khoa học công nghệ, con người ngày càng sởhữu cho mình n
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐIỆN - ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH –
-
-ĐỒ ÁN ĐIỆN TỬ 1NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ VIỄN THÔNG
Trang 2LỜI NÓI ĐẦUNgạn ngữ có câu “Thời gian là vàng” nhấn mạnh đến vai trò của thời gian đốivới cuộc sống của con người Thời gian là thứ tài sản vô giá, do đó mỗi ngườiđều sở hữu một kho tài sản giá trị vô hình nhưng không phải ai cũng có thể nhậnthức đúng đắn và tận dụng có hiệu quả thứ tài sản ấy Trong cuộc sống ngàynay, để có thể kiểm soát được thời gian, con người đã phát minh ra đồng hồ.Theo dòng thời gian phát triển của khoa học công nghệ, con người ngày càng sởhữu cho mình những chiếc đồng hồ không chỉ dùng để kiểm soát thời gian, màcòn được nâng cấp thêm nhiều chức năng hiện đại hơn do chính tay nhữngngười kỹ sư kỹ thuật phát triển Vì vậy sau một thời gian học tập, kế thừa, rènluyện ở khoa Điện – Điện tử trường Đại học sư phạm kỹ thuật TP.HCM, vàđược sự đồng ý của thầy ThS Nguyễn Duy Thảo nhóm chúng em đã được giao
đề tài Thiết kế một mạch đồng hồ sử dụng module thời gian thực RTC DS1307
có thể hiệu chỉnh bằng nút nhấn để làm đề tài đồ án điện tử 1
Nội dung đồ án của nhóm được chia làm 4 chương:
CHƯƠNG 1: DẪN NHẬP
CHƯƠNG 2: THIẾT KẾ MẠCH
CHƯƠNG 3: THI CÔNG
CHƯƠNG 4: KẾT QUẢ, ĐÁNH GIÁ
Bằng sự cố gắng nỗ lực của bản thân và đặc biệt là sự giúp đỡ tận tình, chuđáo của thầy giáo ThS Nguyễn Duy Thảo, nhóm em đã hoàn thành đồ án đúngthời hạn Do thời gian làm đồ án có hạn và trình độ còn nhiều hạn chế nênkhông thể tránh khỏi những thiếu sót Nhóm em rất mong nhận được sự đónggóp ý kiến của các thầy cô cũng như là của các bạn sinh viên để bài đồ án nàyhoàn thiện hơn nữa Em xin chân thành cảm ơn thầy giáo ThS Nguyễn DuyThảo đã tạo điều kiện giúp đỡ em trong thời gian qua
Trang 3NHẬN XÉT CỦA GIÁO VIÊN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
…………
………
………
………
………
………
………
………
Trang 4………
………
1 CHƯƠNG 1: DẪN NHẬP 1.1 Lý do chọn đề tài.
Để có thể biết được những ứng dụng cụ thể của kỹ thuật số trong đời sống,chúng ta hãy đi tìm hiểu về chiếc đồng hồ số, một vật dụng hằng ngày đơn giảnnhưng rất cần thiết Đồng hồ ra đời để giúp mọi người quản lý tốt thời gian củamình, là một thiết bị mà hầu như bất cứ ai cũng phải dùng tới Một chiếc đồng
hồ cơ, xem giờ bằng cách nhìn vào kim chỉ ở vạch chia thời gian sẽ gây khókhăn cho người sử dụng Nhưng đối với đồng hồ số, thời gian được hiển thị rõràng bằng các chữ số sẽ dễ dàng sử dụng hơn, thậm chí chúng ta còn có thể càiđặt hẹn giờ cho nó nữa, điều mà những chiếc đồng hồ cơ bình thường khó màlàm được
Để có thể thiết kế được, chúng ta phải cần có kiến thức về môn điện tử cơbản, kỹ thuật số, hiểu được cấu trúc và chức năng của một số IC số, các cổnglogic và một số kiến thúc về các linh kiện điện tử… Chính vì thế, sau một thờigian học tập và tìm hiểu các tài liệu về các môn kỹ thuật số, nhóm chúng em xinđược thiết kế một mạch đồng hồ số sử dụng RTC DS1307 hiển thị thời gian thực
vô cùng chính xác để làm đề tài đồ án điện tử 1
Do kiến thức và trình độ năng lực còn hạn hẹp nên trong quá trình thực hiện
đề tài không thể tránh khỏi thiếu sót, kính mong nhận được sự thông cảm và góp
ý của thầy và các bạn để đồ này có thể hoàn thiện hơn Chúng em xin chân thànhcảm ơn
1.2 Mục tiêu đề tài.
Thiết kế một mạch đồng hồ số chạy trên pin, hiển thị giờ, phút, giây trên led 7đoạn Đồng hồ dùng RTC DS1307 chạy thời gian thực nên tính chính xác rấtcao
Trang 51.3 Giới hạn đề tài.
Mạch hiển thị giờ, phút, giây trên tất cả là 6 led 7 đoạn
Mạch sử dụng Arduino và kết nối với module RTC DS1307 bằng phương thứcI2C
Sử dụng nguồn 5V từ adapter để cung cấp cho toàn mạch
1.4 Kế hoạch nghiên cứu.
Thời gian thực hiện đồ án: 10 tuần
Tuần 1: Nhận tên đề tài: đề tài mạch đồng hồ số chạy trên pin, chỉnh được giờ,phút
Tuần 2, 3: Tiến hành vẽ sơ đồ khối
Tuần 4, 5: Phân tích sơ đồ khối, vẽ mạch nguyên lý
Tuần 6, 7, 8: Mua linh kiện, gắn trên Testboard
Tuần 9, 10: Viết báo cáo
2 CHƯƠNG 2: THIẾT KẾ MẠCH 2.1 Bài toán thiết kế.
Thiết kế một mạch đồng hồ số chạy trên pin, hiển thị giờ, phút, giây trên led
7 đoạn Đồng hồ dùng module thời gian thực RTC DS1307 hiển thị chính xácthời gian
2.2 Sơ đồ khối hệ thống.
ADAPTER
5V
ARDUINO UNO
KHỐI THANH GHI
KHỐI HIỂN THỊ
RTC DS1307
NÚT NHẤN
Trang 6Hình 2-1: Sơ đồ khối mạch đồng hồ số hiển thị led 7 đoạn
Chức năng và nhiệm vụ của từng khối:
2.3.1.1 Cấu tạo của Arduino Uno
Arduino Uno là một bo mạch vi điều khiển dựa trên chip Atmega328P Uno có
14 chân I/O digital ( trong đó có 6 chân xuất xung PWM), 6 chân Input analog,
1 thạch anh 16MHz, 1 cổng USB, 1 jack nguồn DC, 1 nút reset
Cổng USB: đây là loại cổng giao tiếp để ta upload code từ PC lên vi điều khiển Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máytính
Jack nguồn: để chạy Arduino thỉ có thể lấy nguồn từ cổng USB ở trên, nhưng không phải lúc nào cũng có thể cắm với máy tính được Lúc đó ta cần một nguồn từ 9V đến 12V
Có 14 chân vào/ra số đánh số thứ tự từ 0 đến 13, ngoài ra có một chân nối đất (GND) và một chân điện áp tham chiếu (AREF)
Vi điều khiển AVR: đây là bộ xử lí trung tâm của toàn bo mạch Với mỗi mẫu Arduino khác nhau thì con chip là khác nhau Ở con Arduino Uno này thì sử dụng ATMega328
Trang 7Sơ đồ chân của Arduino Uno2.3.1.2 Thông số kỹ thuật
Điện áp đầu vào (giới hạn) 6-20V
Chân vào/ra (I/O) số: 14 (6 chân có thể cho đầu ra PWM)
Dòng điện trong mỗi chân I/O 40mA
Dòng điện chân nguồn 3.3V 50mA
2.3.1.3 Vi điều khiển của Arduino Uno
Vi điều khiển của Arduino Uno
Trang 8Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8, ATmega168, ATmega328 Bộ não này có thể xử lí những 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, làm một trạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,
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 túi tiền không cho phép, bạn có thể sử dụng các loại vi điều khiển khác 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đ.2.3.1.4 Nguồn
Có hai cách cấp nguồn chính cho bo mạch Uno: Cổng USB và jack DC.Giới hạn điện áp cấp cho Uno là 6-20V Tuy nhiên, dải điện áp khuyên dùng là 7-12V (tốt nhất là 9V) Lý do là nếu nguồn cấp dưới 7V thì điện
áp ở chân 5V có thể thấp hơn 5V và mạch có thể hoạt động không ổn định, nếu nguồn cấp lớn hơn 12V có thể gây nóng bo mạch hoặc phá hỏng
Các chân nguồn trên Uno:
- Vin: Chúng ta có thể cấp nguồn cho Uno thông qua chân này Cách cấp nguồn này ít được sử dụng
- 5V: Chân này có thể cho nguồn 5V từ bo mạch Uno Việc cấp nguồn vào chân này hay chân 3.3V đều có thể phá hỏng bo mạch
- 3.3V: Chân này cho nguồn 3.3V và dòng điện maximum là 50mA
Semiconductor (một công ty thuộc Maxim Integrated Products) Chip này có 7 thanh ghi 8-bit chứa thời gian là: giây, phút, giờ, thứ (trong tuần), ngày, tháng, năm Ngoài ra DS1307 còn có 1 thanh ghi điều khiển ngõ ra phụ và 56 thanh ghitrống có thể dùng như RAM DS1307 được đọc và ghi thông qua giao diện nối tiếp I2C (TWI của AVR) nên cấu tạo bên ngoài rất đơn giản DS1307 xuất hiện
ở 2 gói SOIC và DIP có 8 chân như trong hình
Trang 9Hai gói cấu tạo chip DS1307Cá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
- V BAT: 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
- Vcc: nguồn cho giao diện I2C, thường là 5V và dùng chung với vi điều khiển Chú ý là nếu Vcc không được cấp nguồn nhưng VBAT được cấp thì DS1307 vẫn đang hoạt động (nhưng không ghi và đọc được)
- SQW/OUT: một ngõ phụ tạo xung vuông (Square Wave / Output Driver), tần số của xung được tạo có thể được lập trình Như vậy chân này hầu như không liên quan đến chức năng của DS1307 là đồng hồ thời gian thực, chúng ta
sẽ bỏ trống chân này khi nối 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 như trong hình 2
Mạch ứng dụng đơn giản của DS1307
Cấu tạo bên trong DS1307 bao gồm một số thành phần như mạch nguồn, mạch dao động, mạch điều khiển logic, mạch giao điện I2C, con trỏ địa chỉ và các thanh ghi (hay RAM) Do đa số các thành phần bên trong DS1307 là thành phần
“cứng” nên chúng ta không có quá nhiều việc khi sử dụng DS1307 Sử dụng DS1307 chủ yếu là ghi và đọc các thanh ghi của chip này Vì thế cần hiểu rõ 2 vấn đề cơ bản đó là cấu trúc các thanh ghi và cách truy xuất các thanh ghi này thông qua giao diện I2C
Trang 10Bộ nhớ DS1307 có tất cả 64 thanh ghi 8-bit được đánh địa chỉ từ 0 đến 63 (từ 0x00 đến 0x3F theo hệ hexadecimal) Tuy nhiên, thực chất chỉ có 8 thanh ghi đầu là dùng cho chức năng “đồng hồ” (tôi sẽ gọi là RTC) còn lại 56 thanh ghi bỏtrông có thể được dùng chứa biến tạm như RAM nếu muốn Bảy thanh ghi đầu tiên chứa thông tin về thời gian của đồng hồ bao gồm: giây (SECONDS), phút (MINUETS), giờ (HOURS), thứ (DAY), ngày (DATE), tháng (MONTH) và năm (YEAR) Việc ghi giá trị vào 7 thanh ghi này tương đương với việc “cài đặt” thời gian khởi động cho RTC Việc đọc giá từ 7 thanh ghi là đọc thời gian thực mà chip tạo ra Ví dụ, lúc khởi động chương trình, chúng ta ghi vào thanh ghi “giây” giá trị 42, sau đó 12s chúng ta đọc thanh ghi này, chúng ta thu được giá trị 54 Thanh ghi thứ 8 (CONTROL) là thanh ghi điều khiển xung ngõ ra SQW/OUT (chân 6) Tuy nhiên, do chúng ta không dùng chân SQW/OUT nên
có thề bỏ qua thanh ghi thứ 8 Tổ chức bộ nhớ của DS1307 được trình bày trong hình
Tổ chức bộ nhớ của DS1307
Thanh ghi giây (SECONDS): thanh ghi này là thanh ghi đầu tiên trong bộ nhớ
của DS1307, địa chỉ của nó là 0x00 Bốn bit thấp của thanh ghi này chứa mãBCD 4-bit của chữ số hàng đơn vị của giá trị giây Do giá trị cao nhất của chữ sốhàng chục là 5 (không có giây 60 !) nên chỉ cần 3 bit (các bit SECONDS6:4) là
có thể mã hóa được (số 5 =101, 3 bit) Bit cao nhất, bit 7, trong thanh ghi này là
1 điều khiển có tên CH (Clock halt – treo đồng hồ), nếu bit này được set bằng 1
bộ dao động trong chip bị vô hiệu hóa, đồng hồ không hoạt động Vì vậy, nhấtthiết phải reset bit này xuống 0 ngay từ đầu Thanh ghi phút (MINUTES): có địa chỉ 0x01, chứa giá trị phút của đồng
hồ Tương tự thanh ghi SECONDS, chỉ có 7 bit của thanh ghi này được dùnglưu mã BCD của phút, bit 7 luôn luôn bằng 0 Thanh ghi giờ (HOURS): có thể nói đây là thanh ghi phức tạp nhất trongDS1307 Thanh ghi này có địa chỉ 0x02 Trước hết 4-bits thấp của thanh ghi nàyđược dùng cho chữ số hàng đơn vị của giờ Do DS1307 hỗ trợ 2 loại hệ thống
Trang 11hiển thị giờ (gọi là mode) là 12h (1h đến 12h) và 24h (1h đến 24h) giờ, bit6(màu green trong hình 4) xác lập hệ thống giờ Nếu bit6=0 thì hệ thống 24hđược chọn, khi đó 2 bit cao 5 và 4 dùng mã hóa chữ số hàng chục của giá trị giờ.
Do giá trị lớn nhất của chữ số hàng chục trong trường hợp này là 2 (=10, nhịphân) nên 2 bit 5 và 4 là đủ để mã hóa Nếu bit6=1 thì hệ thống 12h được chọn,với trường hợp này chỉ có bit 4 dùng mã hóa chữ số hàng chục của giờ, bit 5(màu orangetrong hình 4) chỉ buổi trong ngày, AM hoặc PM Bit5 =0 là AM vàbit5=1 là PM Bit 7 luôn bằng 0 (thiết kế này hơi dở, nếu dời hẳn 2 bit mode vàA-P sang 2 bit 7 và 6 thì sẽ đơn giản hơn)
Tổ chức các thanh ghi thời gian
Ngoài các thanh ghi trong bộ nhớ, DS1307 còn có một thanh ghi khác nằm riênggọi là con trỏ địa chỉ hay thanh ghi địa chỉ (Address Register) Giá trị của thanh ghi này là địa chỉ của thanh ghi trong bộ nhớ mà người dùng muốn truy cập Giátrị của thanh ghi địa chỉ (tức địa chỉ của bộ nhớ) được set trong lệnh Write Thanh ghi địa chỉ là phần màu đỏ trong hình, cấu trúc DS1307
Trang 12Cấu trúc DS1307
2.3.3 Khối thanh ghi:
2.3.3.1 Khảo sát thanh ghi 74HC595
IC 74HC595 là IC ghi dịch 8bit kết hợp chốt dữ liệu, đầu vào nối tiếp đầu ra song song, và đầu ra 3 trạng thái
Đặc tính thông số kỹ thuật 74HC595:
Điện áp hoạt động: 2V đến 6V
Mức tiêu thụ điện: 80uA
Điện áp đầu ra bằng điện áp hoạt động
Ứng dụng: IC 74HC595 thường dùng trong các mạch quét led 7, led matrix đểtiết kiệm số chân VDK tối đa (3 chân) Có thể mở rộng số chân vi điều khiển bao nhiêu tùy thích mà không IC nào có thể làm dc bằng việc mắc nối tiếp đầu vào dữ liệu các IC với nhau
Trang 13Sơ đồ chân và ý nghĩa các chân
Bảng sự thật IC 74HC5952.3.3.2 Cách sử dụng thanh ghi dịch 74HC595
-Nó có tám đầu ra và 3 chân đầu vào bao gồm chân dữ liệu, chân xung nhịp của thanh ghi lưu trữ và chân xung nhịp của thanh ghi dịch Kết nối chân 8 với đất
và chân 16 với nguồn điện áp + 5V
Trang 14- Chân cho phép đầu ra (~ OE) phải được nối đất để kích hoạt các chân đầu ra của thanh ghi dịch Chân reset chính sẽ xóa bộ nhớ của thanh ghi dịch nếu nó được kích với tín hiệu mức thấp Đó là lý do tại sao nó nên được giữ ở mức cao.
- Khi có xung cạnh tích cực ở chân 11, thanh ghi dịch sẽ nhận các đầu vào ở đường dữ liệu
- Các đầu ra của thanh ghi lưu trữ được kết nối với các chân đầu vào của thanh ghi lưu trữ/chốt
- Các đầu vào này được đưa tới đầu ra chân chốt khi có xung cạnh tích cực tại chân 12
2.3.3.3 Bộ ghi dịch 74HC595 hoạt động như thế nào?
74HC595 có hai thanh ghi (có thể được coi là “vùng chứa bộ nhớ"), mỗi thanh ghi chỉ có 8-bit dữ liệu Cái đầu tiên được gọi là Thanh ghi dịch Thanh ghi dịch nằm sâu trong các mạch IC
Bất cứ khi nào đặt một xung clock cho 595, hai điều xảy ra: Các bit trong Thanh ghi dịch di chuyển sang trái một bước Ví dụ: Bit 7 nhận giá trị trước đó ở bit 6, bit 6 nhận giá trị của bit 5, v.v
Bit 0 trong thanh ghi dịch chấp nhận giá trị hiện tại trên chân DATA Tại cạnh lên của xung, nếu chân dữ liệu ở mức cao, thì giá trị 1 sẽ được đẩy vào thanh ghi dịch Nếu không, nó là 0
Khi pin Latch được bật, nội dung của thanh ghi dịch được sao chép vào thanh ghi thứ hai, được gọi là Storage / Latch Register Mỗi bit của thanh ghi lưu trữ được kết nối với một trong các chân đầu ra QA-QH của vi mạch, vì vậy nói chung, khi giá trị trong thanh ghi lưu trữ thay đổi, các đầu ra cũng vậy
Cách hoạt động 74hc595
Trang 152.3.4 Khối hiển thị.
-Có 2 loại led hiển thị phổ biến là anode Chung và cathode Chung.Với LED cathode Chung: để led sáng thì các chân của led phải ở mức 1(VCC)
Với LED anode Chung: để led sáng thì các chân của led phải ở mức 0(GND)
-Giới thiê ¥u Led 7 đoạn loại anode Chung:
Gồm 7 led xếp lại với nhau theo hình mẫu Một chân của con LED đượcnối chung lại với nhau
Hình 2-16: Sơ đồ led 7 đoạn Cathode chung.
Trang 16Trạng thái hoạt động của led 7 đoạn cathode chung
2.4 Tính toán thông số kỹ thuật.
Khối hiển thị: Sử dụng loại led 0,56 inch(14,20mm)
Áp rơi trên mỗi đoạn từ 1,8÷2,3V với dòng 30mA.Do vậy cần phải có điện trởhạn dòng cho led Để cho hiển thị tốt ta chọn dòng là 14mA Ta có:
V =V R CC V ˗ led = 5 – 2 =3 (V)
= R = ˃
3 14.10−3 = 215 ( )
Trang 17Khối thanh ghi dịch sử dụng IC 74HC595, một mạch đồng bộ thời gian thực sửdụng 74HC595, một tần số xung clock khoảng 20 MHz hoặc thấp hơn sẽ là lựachọn an toàn và hợp lý.
Dòng điện tiêu thụ:
Icc_dynamic ≈ 20MHz × 1mA
1 MHz¿ 20mATổng dòng tiêu thụ:
Icc_total = 0.08mA + 20mA = 20.08mACông suất:
P = 5V × 20.08mA = 100.4 (mW)Module RTC DS1307 có công suất tiêu thụ là:
P=5V×1.5mA=7.5(mW)Tổng công suất mạch:
P= 1176 + 100.4 + 7.5 = 1284 (mW)Dòng cung cấp cho mạch là:
I =P/5V = 256.78 (mA)Vậy mạch nguồn có áp là 5V DC và dòng là 1A đủ để cấp dòng và cấp áp chotoàn mạch