ĐỒng hỒ hiỂn thỊ thỜi gian thỰc vÀ nhiỆt ĐỘ

40
BCÔNG THƢƠNG TRƢỜNG CAO ĐẲNG CÔNG THƢƠNG TP.HCM KHOA: ĐIỆN ĐIỆN TBMÔN: ĐIỆN TCÔNG NGHIP ĐỒ ÁN: VI ĐIỀU KHIN ĐỀ TÀI: ĐỒNG HHIN THTHI GIAN THC VÀ NHIỆT ĐỘ GVHD: Th.S Đào Thành Sung SVTH1: Phm Tn Huân MSSV: 2116060091 SVTH2: Nguyn Văn Hảo MSSV: 2116060019 Tp. HChí Minh, Tháng 6 Năm 2019

Upload: others

Post on 07-Nov-2021

3 views

Category:

Documents


1 download

TRANSCRIPT

BỘ CÔNG THƢƠNG

TRƢỜNG CAO ĐẲNG CÔNG THƢƠNG TP.HCM

KHOA: ĐIỆN – ĐIỆN TỬ

BỘ MÔN: ĐIỆN TỬ CÔNG NGHIỆP

ĐỒ ÁN: VI ĐIỀU KHIỂN

ĐỀ TÀI: ĐỒNG HỒ HIỂN THỊ THỜI GIAN

THỰC VÀ NHIỆT ĐỘ

GVHD: Th.S Đào Thành Sung

SVTH1: Phạm Tấn Huân

MSSV: 2116060091

SVTH2: Nguyễn Văn Hảo

MSSV: 2116060019

Tp. Hồ Chí Minh, Tháng 6 Năm 2019

2

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

LỜI MỞ ĐẦU

Hiện nay phát triển không ngừng về mọi mặt, trong đó điện tử, tự động hóa đóng

một vai trò nay với sự không nhỏ. Điện tử góp phần vào quá trình tự động hóa mọi thứ

giúp con ngƣời hiện đại hóa cuộc sống và các hệ thống tự động hóa điều khiển đã dần

thay thế cho sức ngƣời trong các công việc trong gia đình cũng nhƣ cơ quan, trƣờng

học, xí nghiệp,… và một hệ thống tự động đơn giản trong đó là hệ thống “Đồng Hồ

Hiển Thị Thời Gian Thực” trong các trƣờng học, gia đình, xí nghiệp.

Vấn đề đồng hồ hiển thị thời gian thực là vấn đề cần thiết ở bất cứ trƣờng học,

gia đình, xí nghiệp nào, giúp mọi ngƣời biết thời gian để sắp xếp công việc. Chính vì

thế chúng em thiết kế mạch đồng hồ hiển thị thời gian thực.

3

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

LỜI CẢM ƠN

Em xin chân thành cám ơn thầy Đào Thành Sung đã tận tình hƣớng dẫn và tạo

điều kiện thuận lợi cho em hoàn thành tốt đồ án này .Em xin chân thành cám ơn quý

thầy cô trong khoa điện tử cùng các bạn sinh viên trong lớp và khoa đã đóng góp ý

kiến và trao đổi kinh nghiệm trong quá trình thực hiện và hoàn thành đề tài này.

Trong quá trình thực hiện đề tài không thể tránh khỏi sai sót, kính mong quý

thầy cô góp ý và chỉ dẫn để ngƣời thực hiện hoàn thiện hơn trong đồ án vi điều khiển

này.

Ngƣời thực hiện:

( Ký và ghi rõ họ tên)

Phạm Tấn Huân

Nguyễn Văn Hảo

4

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN MÔN HỌC

Tên đề tài: ĐỒNG HỒ HIỂN THỊ THỜI GIAN THỰC VÀ NHIỆT ĐỘ

Ngày giao đề tài: 19/02/2019; Tuần thứ: 2

Ngày hoàn thành đề tài: 05/6/2019; Tuần thứ: 17

Sinh viên thực hiện:

Họ tên sinh viên 1: Phạm Tấn Huân MSSV: 2116060091

Họ tên sinh viên 2: Nguyễn Văn Hảo MSSV: 2116060019

Tuần/ngày Nội dung – công việc thực hiện

Tuần 2-3

(18/2-03/3)

Chọn nhóm và đăng ký đồ án vi điều khiển

Gặp giáo viên hƣớng dẫn đề xuất đề tài đồ án

Chờ giáo viên hƣớng dẫn xét duyệt đề tài đồ án

Tuần 4-7

(04/3-31/3)

Tìm hiểu, lên ý tƣởng và thiết kế sơ đồ nguyên lý

Viết code cho vi điều khiển và mô phỏng trên phần mềm proteus

Tuần 8-9-10

(01/4-21/4)

Kiểm tra sơ đồ nguyên lý ,sửa lỗi và giải thích nguyên lý hoạt

động của mạch

Tuần 11-15

(22/4-26/5) Bắt đầu thi công mạch, chỉnh sửa lỗi và lắp ráp mạch

Tuần 16

(27/5-02/6)

Tiến hành viết báo cáo và đƣa cho giáo viên hƣớng dẫn xem rồi

chỉnh sửa

Tuần 17

(03/6-09/6) Nộp đồ án và báo cáo hoàn chỉnh trƣớc khi bảo vệ

Xác nhận của giáo viên hƣớng dẫn

(Ký và ghi rõ họ và tên)

5

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN

Nhận xét chung:

….......................................................................................................................................

….......................................................................................................................................

….......................................................................................................................................

….......................................................................................................................................

….......................................................................................................................................

….......................................................................................................................................

….......................................................................................................................................

….......................................................................................................................................

….......................................................................................................................................

….......................................................................................................................................

….......................................................................................................................................

….......................................................................................................................................

….......................................................................................................................................

Đánh giá: (Đƣợc phép bảo vệ hay không đƣợc phép bảo vệ)

….......................................................................................................................................

….......................................................................................................................................

….......................................................................................................................................

TPHCM, ngày …. tháng .… năm 2019

Giáo viên hƣớng dẫn

(Ký và ghi rõ họ tên)

6

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

LỜI CAM ĐOAN

Đề tài này là do nhóm của chúng em tự thực hiện dựa vào một số tài liệu tham

khảo và chúng em xin cam đoan đề tài này không sao chép bất kỳ công trình đã có

trƣớc đó. Nếu có sao chép nhóm chúng em hoàn toàn chịu trách nhiệm.

TP.HCM, ngày 26 tháng 5 năm 2019

Ký tên

Phạm Tấn Huân

Nguyễn Văn Hảo

7

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

MỤC LỤC

Lời mở đầu……………………………………………………………………………..2

Lời cảm ơn……………………………………………………………………………..3

Lịch trình thực hiện …………………………………………………………………...4

Nhận xét của GVHD ....................................................................................................... 5

Lời cam đoan................................................................................................................6

Mục lục ........................................................................................................................... .7

Danh mục hình................................................................................................................9

Danh mục bảng...............................................................................................................9

CHƢƠNG 1. TỔNG QUAN VỀ MẠCH ĐỒNG HỒ HIỂN THỊ THỜI GIAN THỰC

VÀ NHIỆT ĐỘ ..............................................................................................................10

1.1. Sơ đồ khổi mạch đồng hồ hiển thị thời gian thực và nhiệt độ…………………...10

1.2. Mục đích và yêu cầu đồ án……………………………………………………….10

1.2.1. Mục đích.......................................................................................................10

1.2.2. Yêu cầu…………………………………………………………………….10

1.2.3. Nhiệt độ động cơ chạy………………………….………………………….10

1.2.4. Cài đặc báo thức……………………..…………………………….………10

1.3. Danh sách linh kiện trong mạch…………………………………………….……11

CHƢƠNG 2. CƠ SỞ LÝ THUYẾT ..............................................................................12

2.1. IC thời gian thực ds 1307………………………………………...………...…….12

2.2. IC vi điều khiển Atmega16………………………………………………………13

2.2.1. Giới thiệu…………………………………………………………………..13

2.2.2. Sơ đồ chân của atmega16………………………………………………….14

2.3. LCD 16X2…………………………………………………………………….….15

2.3.1. Giới thiệu…………………………………………………………………..15

2.3.2. Sơ đồ chân của LCD 16X2……………………………………...…………16

2.4. Cấu tạo và nguyên lý hoạt động của động cơ……………………………………16

2.4.1 Cấu tạo của động cơ………………………………………………..…….16

2.4.2 Nguyên lý hoạt động của động cơ………………….………………………17

8

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

CHƢƠNG 3. THIẾT KẾ - THI CÔNG.........................................................................18

3.1 Sơ đồ nguyên lý của mạch hiển thị thời gian và nhiệt độ………………………..18

3.1.1 Khối công suất………………………………………………………...….18

3.1.2 Khối vi điều khiển…………………………………………………………19

3.1.3 Khối nút nhấn…………………………………………………………….20

3.1.4 Khối thời gian thực ………………………………………………………..21

3.1.5 Khối hiển thị LCD16………………………………………………………22

3.2 Sơ đồ mạch in của mạch hiển thị thời gian thực và nhiệt độ…………………...23

3.2.1 Mô hình thực tế của mạch………………………………………………..24

3.3 Code chƣơng trình ...................................................................................................25

CHƢƠNG 4. KẾT LUẬN .............................................................................................39

TÀI LIỆU THAM KHẢO ................................................................................................40

9

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

DANH MỤC HÌNH

Hình 1.1: Sơ đồ khối mạch đồng hồ hiển thị thời gian thực và nhiệt độ ............... 10

Hình 2.1: IC thời gian thƣc DS1307 ...................................................................... 12

Hình 2.2: IC Atmega16 .......................................................................................... 13

Hình 2.3: Sơ đồ chân Atmega16 ............................................................................ 14

Hình 2.4: LCD 16X2 .............................................................................................. 15

Hình 2.5: Sơ đồ cấu tạo của động cơ ..................................................................... 16

Hình 3.1: Khối công suất ....................................................................................... 17

Hình 3.2: Khối vi điều khiển .................................................................................. 18

Hình 3.3: Khối nút nhấn ......................................................................................... 19

Hình 3.4: Khối thời gian thực ................................................................................. 20

Hình 3.5: Khối hiển thì LCD16X2 ......................................................................... 21

Hình 3.6: Sơ đồ nguyên lý chung ........................................................................... 22

Hình 3.7: Sơ đồ mạch in ......................................................................................... 22

Hình 3.8: Sơ đồ mạch in PDF. ................................................................................ 23

Hình 3.9: Mô hình của mạch đồng hồ hiển thị thời gian thực và nhiệt độ ............. 23

DANH MỤC BẢNG

Bảng 2.1: chức năng các chân IC DS1307……………………………………..12

Bảng 2.2: sơ đồ chân của LCD 16X2…………………………………………..16

10

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

CHƢƠNG 1: TỔNG QUAN VỀ MẠCH HIỂN THỊ THỜI GIAN

THỰC VÀ NHIỆT ĐỘ

1.1 Sơ đồ khối mạch đồng hồ hiển thị thời gian thực và nhiệt độ

Hình 1.1 Sơ đồ khối mạch đồng hồ hiển thị thời gian thực và nhiệt độ

1.2 Mục đích và yêu cầu của đồ án

1.2.1 Mục đích

Hệ thống hiển thị thời gian thực và nhiệt độ.

Hệ thống có khả năng chỉnh lại giờ.

Nhiệt độ hiển thị thay đổi theo nhiệt độ môi trƣờng.

Hệ thống động cơ đƣợc dùng đi dây điện đồng bộ 12V(DC).

1.2.2 Yêu cầu

Hệ thống làm việc ổn định.

Có khả năng đƣa mô hình vào ứng dụng trong thực tế.

1.2.3 Nhiệt độ động cơ chạy

Nhiệt độ cài đặc để động cơ chạy là >33 độ.

1.2.4 Cài đặt báo thức

Thời gian báo thức mặc định là 21h16’, có thể thay đổi trên nút nhấn.

LM35

LCD 16x2

Khối vi điều

khiển

DS1307

Động cơ

12V(DC)

Khối nguồn

Nút nhấn

11

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

1.3 Danh sách linh kiện trong mạch

Động cơ 12V(DC)

Pin CR2025 3v

Màn hình LCD 16*2a

IC Atmega16

DS1307

Biến trở cúc áo

Trở thanh 10k

Trở 220R, 4K7

Thạch anh

Diode 1N4007

Nút nhấn 2 chân

Tụ 33pF

Led đơn

Relay 12V

Băng trở

Transistor C2383, C1815

Lm35

Buzzer

12

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

CHƢƠNG 2: CƠ SỞ LÝ THUYẾT

2.1 IC thời gian thực DS1307

H nh 2 1 IC Thời gian thực DS1307

DS1307 là chip thời gian thực hay RTC (Read time clock), thời gian thực ở đây

là tính chính xác về thời gian tuyệt đối cho thời gian mà con ngƣời đang sử dụng: Thứ,

ngày, tháng, năm, giờ, phút, giây. Thời gian đƣợc lƣu trữ trong DS1307 cho đến năm

2100.

DS1307 đƣợc chế tạo bởi Dallas Semiconductor, chip có cấu tạo bên ngoại khá

đơn giản. Chip DS1307 có 8 chân và chúng ta hay dùng là dạng Dip và thứ tự các chân

nó đƣợc mô tả nhƣ hình.

Chip DS1307 có 7 thanh ghi 8 bit mỗi thanh ghi này chứa: Thứ, ngày, tháng,

năm, giờ, phút, giây. DS1307 đƣợc đọc thông qua chuẩn truyền thông I2C nên do đó

để đọc đƣợc và ghi từ DS1307 thông qua chuẩn truyền thông này.

Bảng 2.1 Chức năng các chân IC DS1307

Chân Tên Chức năng

1 X1 Kết nối đến thạch anh 32.768Khz làm nguồn dao động cho chip

2 X2

3 Vbat Kết nối đến cực dƣơng của Pin dự phòng, có điện áp tiêu chuẩn

khoảng 3V

4 GND Kết nối đến mass

5 SDA Chân dữ liệu khi kết nối đến bus I2C

6 SCL Chân nhận xung clock đồng bộ khi kết nối bus I2C

7 SQW/OUT Ngõ xuất xung vuông, tần số có thể lập trình để thay đổi từ 1Hz,

4Khz, 8 Khz, 32 Khz

8 VCC Nguồn cấp chính, khoảng 5VDC

13

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

2.2 IC VĐK Atmega16

2.2.1. Giới thiệu

Atmega16 là một họ vi điều khiển do hãng Atmel sản xuất (Atmel cũng là nhà

sản xuất dòng vi điều khiển 89C51 mà có thể bạn đã từng nghe đến). AVR là chip vi

điều khiển 8 bits với cấu trúc tập lệnh đơn giản hóa-RISC(Reduced Instruction Set

Computer), một kiểu cấu trúc đang thể hiện ƣu thế trong các bộ xử lí.

Vi điều khiển Atmega16 hiệu suất cao, công suất thấp Atmel 8-bit AVR RISC

dựa trên kết hợp 16KB bộ nhớ flash có thể lập trình, 1KB SRAM, 512B EEPROM,

một 10-bit A / D chuyển đổi 8-kênh, và một giao diện JTAG cho on-chip gỡ lỗi. Thiết

bị hỗ trợ thông lƣợng của 16 MIPS ở 16 MHz và hoạt động giữa 4,5-5,5 volt.

Vi điều khiển Atmega16 thực hiện hƣớng dẫn trong một chu kỳ đồng hồ duy

nhất, các thiết bị đạt đƣợc thông lƣợng gần 1 MIPS mỗi MHz, cân bằng điện năng tiêu

thụ và tốc độ xử lý.

AVR Atmega16 so với các chip vi điều khiển 8 bits khác, AVR có nhiều đặc

tính hơn hẳn, hơn cả trong tính ứng dụng (dễ sử dụng) và đặc biệt là về chức năng.

Gần nhƣ chúng ta không cần mắc thêm bất kỳ linh kiện phụ nào khi sử dụng

AVR, thậm chí không cần nguồn tạo xung clock cho chip (thƣờng là các khối thạch

anh).

Thiết bị lập trình (mạch nạp) cho AVR rất đơn giản, có loại mạch nạp chỉ cần vài

điện trở là có thể làm đƣợc. một số AVR còn hỗ trợ lập trình on – chip bằng

bootloader không cần mạch nạp…

Bên cạnh lập trình bằng ASM, cấu trúc AVR đƣợc thiết kế tƣơng thích C. Nguồn

tài nguyên về source code, tài liệu, application note…rất lớn trên internet. Nguồn tài

nguyên về source code, tài liệu, application note…rất lớn trên internet.

H nh 2.2 IC Atmega 16

14

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

2.2.2 Sơ đồ chân của Atmega16

Hình 2.3 Sơ đồ chân Atmega16

Gồm có 40 chân:

- Chân 1 đến 8 : Cổng nhập xuất dữ liệu song song B (PORTB) nó có thể đc sử dụng

các chức năng đặc biệt thay vì nhập xuất dữ liệu.

- Chân 9 : RESET để đƣa chip về trạng thái ban đầu.

- Chân 10 : VCC cấp nguồn nuôi cho vi điều khiển.

- Chân 11,31 : GND 2 chân này đc nối với nhau và nối đất.

- Chân 12,13 : 2 chân XTAL2 và XTAL1 dùng để đƣa xung nhịp từ bên ngoài vào

chip.

- Chân 14 đến 21 : Cổng nhập xuất dữ liệu song song D (PORTD) nó có thể đc sử

dụng các chức năng đặc biệt thay vì nhập xuất dữ liệu.

- Chân 22 đến 29 : Cổng nhập xuất dữ liệu song song C (PORTC) nó có thể đc sử

dụng các chức năng đặc biệt thay vì nhập xuất dữ liệu.

- Chân 30 : AVCC cấp điện áp so sánh cho bộ ADC.

- Chân 32 : AREF điện áp so sánh tín hiệu vào ADC.

- Chân 33 đến 40 : Cổng vào ra dữ liệu song song A (PORTA) ngoài ra nó còn đc tích

hợp bộ chuyển đổi tín hiệu tƣơng tự sang tín hiệu số ADC (analog to digital converter

2, Vào ra của vi điều khiển.

- PORTA (PA7 … PA0) : là các chân số 33 đến 40. Là cổng vào ra song song 8 bít khi

không dùng ở chế độ ADC. Bên trong có sẵn các điện trở kéo, khi PORTA là output

thì các điện trở kéo ko hoạt động, khi PORTA là input thì các điện trở kéo đc kích

hoạt.

15

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

- PORTB (PB7 ... PB0) : là các chân số 1 đến 8. Nó tƣơng tự nhƣ PORTA khi sử dụng

vào ra song song. Ngoài ra các chân của PORTB còn có các chức năng đặt biệt sẽ đc

nhắc đến sau.

- PORTC (PC7 ... PC0) : là các chân 22 đến 30. Cũng giống PORTA và PORTB khi là

cổng vào ra song song. Nếu giao tiếp JTAG đc bật, các trở treo ở các chân PC5(TDI),

PC3(TMS), PC2(TCK) sẽ hoạt động khi sự kiện reset sảy ra. Chức năng giao tiếp

JTAG và 1 số chức năng đặc biệt khác sẽ đc nghiên cứu sau.

- PORTD (PD7 ... PD0) : là các chân 13 đến 21. Cũng là 1 cổng vào ra song song

giống các PORT khác, ngoài ra nó còn có 1 số tính năng đặc biệt sẽ đc nghiên cứu sau.

3, mạch cấp nguồn nuôi cho vi điều khiển 4, mạch cấp giao động ngoài cho vi điều

khiển dùng thạch anh 5, Mạch nạp avr910 usb.

2.3. LCD 16X2

LCD16x2 là một màn hình hiển thị bao gồm nhiều ma trận nhỏ, khi hoạt động thì

LCD16x2 sẽ hiển thị các kí tự trong bảng mã ASCII .Vi điều khiển gửi các tín hiệu

khởi tạo cho LCD16X2, sau đó hiển thị các đƣợc kí tự lên màn hìnhhiển thị.

2.3.1 Gới thiệu

Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) đƣợc sử dụng trong rất nhiều

các ứng dụng của VĐK. LCD có rất nhiều ƣu điểm so với các dạng hiển thị khác: Nó

có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa), dễ dàng đƣa

vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ

thống và giá thành rẽ.

Hình 2.4 LCD 16X2

16

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

2.3.2 Sơ đồ chân của LCD 16X2

Bảng 2.2 Sơ đồ chân của LCD 16X2

2.4 Cấu tạo và nguyên lý hoạt động của động cơ

2.4.1 Cấu tạo của động cơ.

Hình 2.5 Sơ đồ cấu tạo của động cơ

Động cơ có cấu tạo gồm các phần chính:

1. Cánh quạt.

2. Ổ bi.

3. Cuộn ứng(phần tĩnh).

4. Cuộn cảm(phần quay).

5. Trục.

6. Dây điện đầu ra.

17

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

2.4.2 Nguyên lý hoạt động của động cơ.

Bộ phận chính trong động cơ chính là cuộn cảm và cuộn ứng. Động cơ có cấu tạo

chính là một cuộn dây điện quấn quanh một lõi kim loại từ tính nhƣ sắt hay thép.

Chúng hoạt động trên nguyên lý rất đơn giản nhƣ sau: Khi có dòng điện đi qua cuộn

dây chúng sẽ tạo ra một từ trƣờng trong lõi kim loại. Cuộn dây sẽ khuếch đại từ trƣờng

này và khi đó nam châm điện có thể hút các vật chất bằng sắt thép xung quanh nó

giống nhƣ một nam châm vĩnh cửu thông thƣờng.

Khi relay đóng lại thì dòng điện 12V(DC) sẽ đƣợc khép kín, nó sẽ đi vào trong hệ

thống mạch của động cơ. Khi đó động cơ hoạt động, phần tĩnh tạo ra từ trƣờng làm

trục và phần quay chạy. Trục và phần quay đƣợc cố định bởi ổ bi, cánh quạt đƣợc gắng

vào trục nên tạo ra gió.

Cũng với nguyên tắc này, ngƣời ta có thể thiết kế ra nhiều loại động cơ có kích thƣớc

và tốc độ quay khác nhau.

18

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

CHƢƠNG 3: THIẾT KẾ - THI CÔNG

3.1 Sơ đồ nguyên lý đồng hồ hiển thị thời gian thực và nhiệt độ

3.1.1 Khối công suất

Do động cơ sử dụng nguồn điện 12V(DC) nên ta dụng Tranzitor điều khiển

cuộn hút relay hoặc công tắc tơ, relay và công tắc tơ có tác dụng cách li về điện với

mạch động lực và nó điều khiển đóng ngắt động cơ.

Hình 3.1 Khối công suất

Ở hình vẽ trên ta sử dụng Trans C1815 để kích dòng cho Relay đóng tiếp điểm thƣờng

mở, nguyên lý hoạt động nhƣ sau:

– Khi “Tín hiệu” đƣa vào là mức 0 (Tức =0V) thì Q2 không dẫn do không có dòng

IBE >> Relay không làm việc.

– Khi “Tín hiệu” đƣa vào là mức 1 (Tức =5V) thì sẽ qua R3 hạn dòng làm cho Q2 dẫn

thông lúc này ta có dòng Ice là dòng điện chạy qua cuộn dây >> Q2 >> MASS, Relay

(12V) đóng tiếp điểm thƣờng mở (điều khiển thiết bị nào đó).

– Diot D1 trong mạch có tác dụng chống lại dòng điện cảm ứng do cuộn đây sinh ra

làm hỏng tranzitor. Relay dùng để điều khiển động cơ.

Mục đích của R3 là tạo dòng vào cực B của trans tới ngƣỡng bão hòa để trans hoạt

động nhƣ 1 chiếc khóa có điều kiện.

19

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

3.1.2 Khối vi điều khiển (Atmega16)

Các chân 1-8 thuộc PORTB của vi điều khiển, trong đó từ chân 1-5 đƣợc nối với

khối nút nhấn để tao tín hiệu và điều chỉnh thông số trên LCD16X2 . Chân số 39 nối

với khối công suất để điều khiển chuông báo thức.

Các chân 14-15-16-18-19-20-21 thuộc PORTD của vi điều khiển là ngõ ra của LCD

16X2. Chân số 17 nối với khối công suất để điều khiển động cơ.

Vi điều khiển muốn hoạt động đƣợc cần có một nguồn tạo dao động. Trong các mạch

vi điều khiển thƣờng sử dụng thạch anh để tạo dao động.

Để tăng độ ổn định tần số, ngƣời ta dùng thêm 2 tụ nhỏ C4, C5 (33pF x2), tụ bù nhiệt

ổn tần.

Khi không có mạch dao động thạch anh vô tình bằng cách nào đó bị kéo lên mức 1

(5V) thì vi điều khiển sẽ không hoạt động, vậy nên khi mạch không chạy nên kiểm tra

xem mạch dao động thạch anh đã đúng hay chƣa.

Hình 3.2 Khối vi điều khiển

20

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

3.1.3 Khối nút nhấn

Hình 3.3 Khối nút nhấn

Sử đụng các nút nhấn để tạo tín hiệu vào để điều chỉnh các thông số trên LCD các nút

nhấn lần lƣợt là UP - MODE – DOWN-CHEDO-CHUYEN đƣợc kết nối với các chân

1-2-3-4-5 thuộc PORTB của vi điều khiển.

MODE: điều chỉnh những thông số mà ta muốn thây đổi trên LCD

UP: tăng giá trị của thông số trên LCD

DOWN: giảm giá trị thông số trên LCD

CHEDO: Cài đặc thời gian báo thức

CHUYEN: Chọn chế độ hiển thị 12h hoặc 24h

21

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

3.1.4 Khối thời gian thực

VCC, GND: nguồn 1 chiều đƣợc cung cấp tới các chân này. VCC là đầu vào 5V.

Khi 5V đƣợc cung cấp thì thiết bị đó có thể truy cập hoàn chỉnh và dữ liệu có thể đọc

và viết.

Khi pin 3V đƣợc kết nối tới ds1307 và vcc nhỏ hơn 1.25Vbat thì quá trình đọc và viết

không đƣợc thực thi, tuy nhiên chức năng timekeeping không bị ảnh hƣởng bởi điện

áp vào thấp khi VCC nhỏ hơn Vbat thì RAM và time keeper sẽ đƣợc ngắt tới nguồn

cung cấp ( 3-5VDC).

Hình 3.4 Khối thời gian thực

Vbat: đầu vào pin cho bất kỳ một chuẩn pin 3V. Điện áp pin phải giữ trong khoảng

2.5-3V để đảm bảo cho thiết bị hoạt động tốt.

SCL (serial clock input): SCL đƣợc xử dụng để đồng bộ sự chuyển dữ liệu trên đƣờng

dây nối tiếp.

SDA (serial data input/output): là chân ra vào cho 2 đƣờng dây nối tiếp. Chân SDA

đƣợc thiết kế theo kiểu cực máng hở, vì vậy phải có điện trở R10=10K và R11=10K

kéo lên trong khi hoạt động.

X1, X2: đƣợc nối với thạch anh với tần số 32,768 kHz. Là một mạch tạo dao động

ngoài, để hoạt động ổn định ta nói thêm 2 tụ C1, C2 với giá trị 33pF.

DS1307 với bộ dao động trong tần số 32,768kHz, với cấu hình này thì chân X1 sẽ

đƣợc nối tín hiệu dao động còn chân X2 thì để hở.

22

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

3.1.5 Khối hiển thị LCD

Hình 3.5 Khối hiển thị LCD16X2

LCD 16X2 và giao tiếp với vi điều khiển (Atmega16):

- Các chân 1,2,3 là các chân VSS , VDD, VEE trong đó VSS chân nối đất , VEE chân

chọn độ tƣơng phản chân này dc chọn qua 1 biến trở 5K một đầu nối VEE , một đầu

nối mass chân VSS, một đầu nối nguồn chân VDD.

- Chân chọn thanh ghi RS (Register Select): Có hai thanh ghi trong LCD, chân RS

(Register Select) đƣợc dùng để chọn thanh ghi, nhƣ sau:

Nếu RS = 0 ở chế độ ghi lệnh nhƣ xóa màn hình , bật tắt con trỏ.

Nếu RS =1 ở chế độ ghi dữ liệu nhƣ hiển thị ký tự , chữ số lên màn hình .

- Chân đọc/ ghi (R/W): Đầu vào đọc/ ghi cho phép ngƣời dùng ghi thông tin lên LCD

khi R/W = 0 hoặc đọc thông tin LCD khi R/W = 1.

- Chân cho phép E (Enable): Chân cho phép E đƣợc sử dụng bởi LCD để chốt dữ liệu

của nó. Khi dữ liệu đƣợc đến chân dữ liệu thì cần có 1 xung từ mức cao xuống mức

thấp ở chân này để LCD chốt dữ liệu, Xung này phải có độ rộng tối thiểu 450ns.

- Chân D4 – D7: 4 chân dữ liệu 8 bít, đƣợc dùng để gửi thông tin lên LCD hoặc đọc

nội dung của các thanh ghi trong LCD. Để hiển thị các chữ cái và các con số chúng ta

gửi các mã ASCII của các chữ cái và các con số tƣơng ứng đến các chân này khi bật

RS =1.

23

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

Hình 3.6 Sơ đồ nguyên lý chung

3.2 Sơ đồ mạch in đồng hồ hiển thị thời gian thực và nhiệt độ

Hình 3.7 Sơ đồ mạch in

24

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

Hình 3.8 Sơ đồ mạch in PDF

3.2.1 Mô hình thực tế của mạch

Hình 3.9 Hình ảnh thực tế của mạch đồng hồ hiển thị thời gian thực

25

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

3.3 Code chƣơng trình

/*******************************************************

This program was created by the

CodeWizardAVR V3.12 Advanced

Automatic Program Generator

© Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com

Project :

Version :

Date : 01/04/2019

Author :

Company :

Comments:

Chip type : ATmega16

Program type : Application

AVR Core Clock frequency: 8,000000 MHz

Memory model : Small

External RAM size : 0

Data Stack size : 256

*******************************************************/

#include <mega16.h>

#include <delay.h>

// Alphanumeric LCD functions

// I2C Bus functions

#asm

.equ __i2c_port=0x15 ;PORTC

.equ __sda_bit=1

.equ __scl_bit=0

#endasm

#include <i2c.h>

26

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

// DS1307 Real Time Clock functions

#include <ds1307.h>

// Alphanumeric LCD functions

#include <alcd.h>

#define up PINB.4

#define mod PINB.3

#define dw PINB.2

#define che_do PINB.0

#define chuyen PINB.1

#define bat PORTA.1

#define ADC_VREF 0xe0 //Lay ap 2.56V, ADLAR=1

// Declare your global variables here

unsigned char h,m,s,gtmod,h_cd,dem;

signed char mod_hen,gio=20,phut=15;

unsigned char ngay,thang,nam,thu;

unsigned int nd;

bit tt_cd,tt_chuyen;

void hienthi()

{

if(tt_chuyen==0)

{

if(tt_cd==0)

{

h_cd=h;

}

else

{

if(h<13) h_cd=h;

else h_cd=h-12;

}

27

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

lcd_gotoxy(0,0);

lcd_putchar(nd/10+0x30);

lcd_putchar(nd%10+0x30);

lcd_putchar(0xdf);

lcd_puts("C ");

lcd_gotoxy(8,0);

lcd_putchar(h_cd/10+0x30);

lcd_putchar(h_cd%10+0x30);

lcd_puts(":");

lcd_putchar(m/10+0x30);

lcd_putchar(m%10+0x30);

lcd_puts(":");

lcd_putchar(s/10+0x30);

lcd_putchar(s%10+0x30);

if(thu==1)

{

lcd_gotoxy(0,1);

lcd_puts("CN ");

}

else

{

lcd_gotoxy(0,1);

lcd_puts("T");

lcd_putchar(thu+0x30);

lcd_puts(" ");

}

lcd_gotoxy(6,1);

lcd_putchar(ngay/10+0x30);

lcd_putchar(ngay%10+0x30);

lcd_puts("/");

28

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

lcd_putchar(thang/10+0x30);

lcd_putchar(thang%10+0x30);

lcd_puts("/20");

lcd_putchar(nam/10+0x30);

lcd_putchar(nam%10+0x30);

}

else

{

lcd_gotoxy(0,0);

lcd_puts("CAI DAT HEN GIO ");

lcd_gotoxy(0,1);

lcd_puts(" ");

lcd_putchar(gio/10+0x30);

lcd_putchar(gio%10+0x30);

lcd_puts(":");

lcd_putchar(phut/10+0x30);

lcd_putchar(phut%10+0x30);

lcd_puts(" ");

}

}

unsigned char read_adc(unsigned char adc_input){

ADMUX=adc_input | ADC_VREF; //Chon kenh ADC va ap so sanh

ADCSRA|=0x40; //Start ADC

while (!(ADCSRA & 0x10)); //Kiem tra co ADC

ADCSRA|=0x10;

return ADCH; //ADC 8bit

}

void cdchuyen()

{

if(chuyen==0)

29

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

{

delay_ms(20);

if(chuyen==0)

{

tt_chuyen=~tt_chuyen;

mod_hen=0;

gtmod=0;

while(chuyen==0);

}

}

}

void cdmod()

{

if(mod==0)

{

delay_ms(20);

if(mod==0)

{

if(tt_chuyen==0)

{

mod_hen=0;

gtmod++;

if(gtmod>6) gtmod=0;

}

else

{

gtmod=0;

mod_hen++;

if(mod_hen>2) mod_hen=0;

}

30

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

while(mod==0);

}

}

}

void cdchedo()

{

if(che_do==0)

{

delay_ms(20);

if(che_do==0)

{

tt_cd=~tt_cd;

while(che_do==0);

}

}

}

void cdup()

{

if(up==0)

{

delay_ms(20);

if(up==0)

{

if(tt_chuyen==0)

{

if(gtmod==1)

{

h++;

if(h>23) h=0;

rtc_set_time(h,m,s);

31

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

}

else if(gtmod==2)

{

m++;

if(m>59) m=0;

rtc_set_time(h,m,s);

}

else if(gtmod==3)

{

thu++;

if(thu>7) thu=1;

rtc_set_date(thu,ngay,thang,nam);

}

else if(gtmod==4)

{

ngay++;

if(ngay>31) ngay=1;

rtc_set_date(thu,ngay,thang,nam);

}

else if(gtmod==5)

{

thang++;

if(thang>12) thang=1;

rtc_set_date(thu,ngay,thang,nam);

}

else if(gtmod==6)

{

nam++;

if(nam>99) nam=1;

rtc_set_date(thu,ngay,thang,nam);

32

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

}

}

else

{

if(mod_hen==1)

{

gio++;

if(gio>23) gio=0;

}

else if(mod_hen==2)

{

phut++;

if(phut>59) phut=0;

}

}

while(up==0);

}

}

}

void cddw()

{

if(dw==0)

{

delay_ms(20);

if(dw==0)

{

if(tt_chuyen==0)

{

if(gtmod==1)

{

33

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

h--;

if(h==0) h=23;

rtc_set_time(h,m,s);

}

else if(gtmod==2)

{

m--;

if(m==0) m=59;

rtc_set_time(h,m,s);

}

else if(gtmod==3)

{

thu--;

if(thu<1) thu=7;

rtc_set_date(thu,ngay,thang,nam);

}

else if(gtmod==4)

{

ngay--;

if(ngay<1) ngay=31;

rtc_set_date(thu,ngay,thang,nam);

}

else if(gtmod==5)

{

thang--;

if(thang<1) thu=12;

rtc_set_date(thu,ngay,thang,nam);

{ else if(gtmod==6) }

nam--;

if(nam<1) nam=99;

34

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

rtc_set_date(thu,ngay,thang,nam);

}

}

else

{

if(mod_hen==1)

{

gio--;

if(gio<0) gio=23;

}

else if(mod_hen==2)

{

phut--;

if(phut<0) phut=59;

}

{ while(dw==0); }

}

}

void nhap_nhay()

{

dem++;

delay_ms(1);

if(dem<100)

{

if(tt_chuyen==0)

{

if(gtmod==1)

{

lcd_gotoxy(8,0);

lcd_puts(" ");

35

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

}

else if(gtmod==2)

{

lcd_gotoxy(11,0);

lcd_puts(" ");

}

else if(gtmod==3)

{

lcd_gotoxy(0,1);

lcd_puts(" ");

}

else if(gtmod==4)

{

lcd_gotoxy(6,1);

lcd_puts(" ");

}

else if(gtmod==5)

{

lcd_gotoxy(9,1);

lcd_puts(" ");

}

else if(gtmod==6)

{

lcd_gotoxy(12,1);

lcd_puts(" ");

}

else hienthi();

}

else

{

36

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

if(mod_hen==1)

{

lcd_gotoxy(5,1);

lcd_puts(" ");

}

else if(mod_hen==2)

{

lcd_gotoxy(8,1);

lcd_puts(" ");

}

else hienthi();

}

}

else if(dem<200) hienthi();

else

{

dem=0;

nd=read_adc(0);

}

}

void kiem_tra_hen_gio()

{

if((gio==h)&&(phut==m))

{

if(s<16)

{

bat=1;

delay_ms(15);

bat=0;

delay_ms(15);

37

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

}

else bat=0;

}

else bat=0;

}

void main(void)

{

// Alphanumeric LCD initialization

// Connections are specified in the

// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:

// RS - PORTD Bit 0

// RD - PORTD Bit 1

// EN - PORTD Bit 2

// D4 - PORTD Bit 4

// D5 - PORTD Bit 5

// D6 - PORTD Bit 6

// D7 - PORTD Bit 7

// Characters/line: 16

DDRD=0xff;

DDRB=0x00;

DDRC=0xff;

DDRA=0xfE;

lcd_init(16);

i2c_init();

h=20;

m=50;

s=0;

thu=6;

ngay=25;

thang=5;

38

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

nam=19;

// rtc_set_date(thu,ngay,thang,nam);

// rtc_set_time(h,m,s);

ADMUX=ADC_VREF;

ADCSRA=0x86; //Fosc/64

tt_chuyen=0;

mod_hen=0;

gtmod=0;

bat=0;

gio=21;

phut=03;

nd=read_adc(0);

while (1)

{

if((mod_hen==0)&&(gtmod==0))

{

kiem_tra_hen_gio();

rtc_get_time(&h,&m,&s);

rtc_get_date(&thu,&ngay,&thang,&nam);

if(nd>33) PORTD.3=1;

else PORTD.3=0;

}

nhap_nhay();

cdmod();

cdup();

cddw();

cdchedo();

cdchuyen();

}

}

39

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

CHƢƠNG 4: KẾT LUẬN

Nhờ sự giúp đỡ nhiệt tình từ GVHD nên chúng em đã hoàn thành đồ án trong thời

gian quy định, nhƣng do các thành viên trong nhóm còn vƣớng tiết học ở lớp nên đồ

án còn sơ sài, mong các thầy(cô) bỏ qua và cho chúng em thêm ý kiến về đồ án để

chúng em có thể hoàn thiện tốt hơn. Chúng em mong các thầy(cô) bỏ qua các khuyết

điểm để chúng em có thể bảo vệ thành công đồ án.

Những điều đã làm đƣợc trong đồ án này:

- Tìm hiểu đƣợc nguyên lí hoạt động của ATMEGA16.

- Tìm hiểu đƣợc nguyên lí hoạt động của cảm biến đo nhiệt độ LM35.

- Cách ứng dụng thực tế của mạch đồng hồ hiển thị thời gian thực và nhiệt độ

trong đồ án.

Những điều chƣa làm đƣợc trong đồ án này:

- Chƣa hoàn toàn hiểu hết code đồ án.

- Chƣa phân chia thời gian hợp lí để hoàn thành đồ án sớm hơn.

- Chƣa thực sự tìm hiểu thêm về các cảm biến khác ngoài LM35, và các ứng

dụng phổ biến khác của cảm biến đo nhiệt độ.p

-

40

Đồ án: Đồng hồ hiển thị thời gian thực và nhiệt độ GVHD: Th.S Đào Thành Sung

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1]. Lâm Quang Chuyên, 2012, Giáo trình vi điều khiển, Trƣờng Cao đẳng Công

thƣơng Tp. HCM.

[2]. Nguyễn Đình Phú, Nguyễn Trƣờng Duy, 2013, Kỹ Thuật Số, Xuất bản Đại Học

Quốc Gia, Tp.HCM.

Tiếng Anh

[1]. Brander, J., 1985a, Competition Management, Journal of International

Economics, Số 18, trang 83-100.

[2]. Brander, J., 1985b, Benefits of Competition, Journal of International

Economics, Số 18, trang 68-108.

[3]. Jaffe, J. and Westerfield R., 1985, The impact of inflation, Journal of Finance, Số

40, trang 25-34.