Tải bản đầy đủ (.doc) (34 trang)

thiết kế hệ thông chuông báo giảng đường

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (584.49 KB, 34 trang )

LỜI NÓI ĐẦU
Trong cuộc sống hiện nay, bất cứ đâu ta cũng gặp sản phẩm của các hệ thống
nhúng. Từ chiếc đồng hồ đeo tay đến đồng hổ treo tường, từ chiếc điện thoại bình
dân đến chiếc điện thoại đắt tiền, từ các biển quảng cáo hay các tivi led màu Đó
đều là những sản phẩm nhúng mà dường như chúng hiện hữu mà vô hình. Mọi
người đều không nhận ra chúng và dường như chúng bị lãng quên. Với mục đích
giới thiệu 1 sản phẩm nhỏ của hệ thống nhúng. Đó là hệ thống chuông báo giảng
đường. Một hệ thống giúp làm đơn giản hóa cách báo giờ ra chơi cũng như vào lớp
của 1 trường học.
Do kiến thức chưa sâu, nên hệ thống này chúng em phát triển còn có chỗ
thiếu sót. Mong các thầy cô và các bạn thông cảm và góp ý giúp chúng em phát
triển hệ thống tốt hơn. Chúng em chân thành cảm ơn các thầy cô trong Viện Điện
Tử – Viễn Thông, ĐH Bách Khoa Hà Nội, đặc biệt là TS Nguyễn Hoàng Dũng đã
giúp đỡ chúng em rất nhiều trong quá trình thực hiện và hoàn thiện sản phẩm này.
Hà Nội, ngày tháng năm 2013
Nhóm sinh viên thực hiện
Đồ án tốt nghiệp
MỤC LỤC
LỜI NÓI ĐẦU 1
MỤC LỤC 2
TÓM TẮT ĐỒ ÁN 4
1. Tên đề tài: 4
2. Sinh viên thực hiện: 4
3. Giảng viên hướng dẫn: 4
4. Mục tiêu: 4
5. Nội dung chính: 4
6. Kết quả chính đạt được: 5
MỞ ĐẦU 6
Ý tưởng sơ lược về hệ thống báo chuông giảng đường 7
Xác định phạm vi ứng dụng và mục tiêu của đề tài 7
CHƯƠNG 2 – SƠ ĐỒ KHỐI VÀ CHỨC NĂNG CÁC KHỐI TRONG HỆ THỐNG 8


2.1. Sơ đồ khối của hệ thống 8
2.2. Chức năng các khối và lựa chọn giải pháp cho các khối chính 8
2.2.1. Khối nguồn 8
2.2.3. Khối chấp hành: 9
2.2.4. Khối xử lý trung tâm: 9
2.2.5. Khối đồng hồ thời gian thực RTC: 9
CHƯƠNG 3 – PHÂN TÍCH VÀ THIẾT KẾ PHẦN CỨNG: 11
3.1 Khối nguồn: 11
3.1.1 J2 11
3.1.2 J11 11
3.1.3 LM7805 11
3.2. KHỐI XỬ LÝ TRUNG TÂM 13
3.3 Khối chấp hành và hiển thị 19
3.4. Khối đồng hồ thời gian thực 20
CHƯƠNG 4 – PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM 22
4.1. Nhiệm vụ vi điều khiển ATmega 32 22
4.2. Phân tích lựa chọn công cụ lập trình 22
4.3. Giao diện TWI (Two-Wire Serial Interface)- I2C (Inter-Integrated Circuit) 23
4.4. IC DS1307 – Đồng hồ thời gian thực (Real Time Clock): 28
CHƯƠNG 5 – KẾT QUẢ 30
Trang 2
Đồ án tốt nghiệp
5.1 Sơ đồ nguyên lý toàn bộ mạch 30
5.2 Mạch PCB 31
KẾT LUẬN 33
TÀI LIỆU THAM KHẢO 34
Trang 3
Đồ án tốt nghiệp
TÓM TẮT ĐỒ ÁN
1. Tên đề tài:

Thiết kế hệ thống chuôn báo giảng đường
2. Sinh viên thực hiện:
Quân
Thắng
Thắng
Thắng
Lớp … Khóa …
3. Giảng viên hướng dẫn:
TS Nguyễn Hoàng Dũng
4. Mục tiêu:
Về mặt kỹ thuật: Xây dựng hoàn chỉnh hệ thống có khả năng hẹn giờ báo
chuông giảng đường tự động mà không cần có sự can thiệp của con người khi vận
hành. Đồng hồ thời gian thực đếm chính xác thời gian, đồng thời hiển thị thời gian
đó và thời gian bật đèn lên màn hình LCD. Qua đó ứng dụng vào các hệ thống
chuông báo giờ học đến từng giảng đường hoặc trong các công ty, khu công nghiệp.
Có khả năng ứng dụng nhiều trong cuộc sống trong cuộc sống.
Về mặt thực tiễn: Có thể sử dụng sản phẩm để trở thành một thiết bị hỗ trợ
trong các trường học khu công nghiệp giúp làm tăng tính tự động hóa trong xã hội
và giúp việc quản quản lý dễ dàng và hiệu quả hơn. Trong công nghiệp và thương
mại thì sản phẩm có thể được dùng để trở thành một mô đun nhỏ sử dụng trong
những hệ thống máy lớn hơn nhằm đáp ứng chức năng đóng ngắt tự động các thiết
bị, máy điện, hiển thị thông số thời gian ra ngoài. Việc này giúp kiểm soát tốt các
khâu trung gian trong hệ thống , đồng thời vận hành hệ thống dễ dàng, quản lý và
bảo dưỡng hệ thống nhanh, thuận tiện.
5. Nội dung chính:
Khảo sát các cách đóng ngắt chuông, đèn bằng mạch điện tử, cách thiết kế
mạch, cách hiển thị lên màn hình text LCD…
Trang 4
Đồ án tốt nghiệp
Thiết kế kế chi tiết các khối, các mô đun phần cứng, lập trình phần mềm theo

như đề xuất thiết kế.
Ghép nối hệ thống, chạy thử nghiệm và sửa lỗi toàn hệ thống.
6. Kết quả chính đạt được:
Sau một thời gian nghiên cứu, em đã xây dựng, thiết kế được hệ thống báo
chuông giảng đường tự động, theo thời gian thực với tính năng hiệu quả và tính ứng
dụng cao. Thiết kế được các khối chức năng, mô đun phần cứng và lập trình phần
mềm mềm dẻo cho phép sử dụng tùy theo yêu cầu cụ thể của mục đích sử dụng. Hệ
thống đáp ứng được những chỉ tiêu kỹ thuật cũng như đảm bảo tính khả thi để triển
khai thực tế.
Trang 5
Đồ án tốt nghiệp
MỞ ĐẦU
Hiện tại Trường chúng ta có nhiều giảng đường, việc thông báo kết thúc tiết
học cùng lúc, đúng giờ sẽ rất nếu phải thực hiện thủ công thì sẽ trơ nên khó khăn,
vậy nên việc nguyên cứu để chế tạo bộ điều khiển chuông tự động cho các giảng
đường là việc cần thiết. Nếu nguyên cứu thành công và được đưa vào sử dụng thì nó
sẽ có khả năng thông báo giờ chính xác mà không cần ngươi điều hiển.
Việc điều khiển là khá đơn giản. Nếu dùng tay thì chỉ cần mắc song song
nhiều chuông và bật công tắc là xong nhưng để đảm bảo chính xác về mặt thời gian,
sau thời gian học chuông được ngắt thì có thể việc con người điều khiển là không
được chính xác do một số nguyên nhân khách quan. Từ đó, nhóm chúng em đã nảy
ra một ý tưởng xây dựng thiết bị báo chuông giảng đường tự động.
Đây là đề tài còn khá mới lạ đối với sinh viên như chúng em, vì vậy trong
quá trình thực hiện, chúng em đã gặp rất nhiều khó khăn. Nhưng chúng em cũng đã
nhận được rất nhiều sự giúp đỡ của các thầy cô giáo. Sự hỗ trợ đó không chỉ là sự
giúp đỡ về mặt kiến thức mà còn là sự củng cố về mặt kinh nghiệm thực tế và tinh
thần. Chúng em xin chân thành cảm ơn các thầy cô trong Viện Điện Tử – Viễn
Thông, ĐH Bách Khoa Hà Nội, đặc biệt là TS Nguyễn Hoàng Dũng đã giúp đỡ
chúng em rất nhiều trong quá trình thực hiện và hoàn thiện sản phẩm này.
Trang 6

Đồ án tốt nghiệp
CHƯƠNG 1 – TỔNG QUAN ĐỀ TÀI
Ý tưởng sơ lược về hệ thống báo chuông giảng đường
Tiếng trống trường đã quen thuộc với những ai đã từng ngồi ghế nhà trường.
Cuộc sống hiện đại đã dần thay thế tiếng trống bằng tiếng chuông điện. Thường
ngày việc vào ra các tiết học là khá nhiều nên việc bật tắt các thiết bị báo chuông là
khá lớn. Chính vì thế có thể dẫn đền sai lệch hoặc nhầm lẫn cho người điều khiển.
Chỉ cần một công tắc nối tiếp với một chuông điện và nối trực tiếp vào nguồn là ta
có thể báo tiết học như ta mong muốn. Vì vậy, với nhu cầu báo vào tiết và hết tiết
vào đúng thời, mà không cần phải trực tiếp xem giờ và bật chuông, chúng em đã có
ý tưởng về một hệ thống điều khiển báo chuông giảng đường tự động, theo thời
gian tiết học trong ngày.
Hệ thống sẽ có bộ đếm thời gian, kết hợp với việc dùng vi điều khiển hoặc vi
xử lý để điểu khiển. Sau đó qua rơ le để điều khiển đóng ngắt các bộ chuông.
Xác định phạm vi ứng dụng và mục tiêu của đề tài
Đề tài có thể được ứng dụng dùng để điều khiển hệ thống đèn điện hành lang
hoặc hệ thống đèn đường đóng ngắt theo thời gian định sẵn. Việc này giúp cho
người vận hành hệ thống có thể dễ dàng quản lý
Hơn nữa, mở rộng hơn, hệ thống có thể trở thành một mô đun điều khiển
đóng ngắt các thiết bị điện khác theo thời gian định sẵn giúp cho cả khả năng tối ưu
hóa được các quá trình điều khiển.
Trang 7
Đồ án tốt nghiệp
CHƯƠNG 2 – SƠ ĐỒ KHỐI VÀ CHỨC NĂNG CÁC KHỐI TRONG HỆ
THỐNG
2.1. Sơ đồ khối của hệ thống
Hình 2.1. Sơ đồ khối của hệ thống
2.2. Chức năng các khối và lựa chọn giải pháp cho các khối chính
2.2.1. Khối nguồn
+ Chức năng: cung cấp điện áp làm việc cho các khối khác trong mạch. Có 2

loại điện áp được sử dụng trong hệ thống điều khiển đèn hành lang tự động:
220VACvà 5VDC. Trong đó, nguồn xoay chiều được chọn là nguồn điện dân dụng
220VAC – 50Hz, dùng cho chuông báo hoạt động. Mạch sử dụng loại nguồn một
chiều 5V dùng để điều khiển Rơ-le bật tắt chuông và nuôi các mạch logic, bao gồm
cả khối điều khiển trung tâm sử dụng vi điều khiển AVR 8-bit và khối đồng hồ thời
gian thực sử dụng IC DS1307.
+ Giải pháp: nguồn xoay chiều được lựa chọn là mạng điện lưới trong nhà
220V rất tiện lợi. Trong khi đó, để tạo ra được mức điện áp 1 chiều là 5V mà vẫn có
Trang 8
KHỐI NGUỒN
AC: 220V
DC: 5V, 12V
KHỐI NGUỒN
AC: 220V
DC: 5V, 12V
KHỐI CHẤP
HÀNH
(ĐIỀU KHIỂN
CHUÔNG)
KHỐI CHẤP
HÀNH
(ĐIỀU KHIỂN
CHUÔNG)
KHỐI XỬ LÝ
TRUNG TÂM
(ATMEGA 32)
KHỐI XỬ LÝ
TRUNG TÂM
(ATMEGA 32)
KHỐI

ĐỒNG HỒ
THỜI GIAN
THỰC
KHỐI
ĐỒNG HỒ
THỜI GIAN
THỰC
220 VAC
12 VDC
220V AC
5V DC
Đồ án tốt nghiệp
thể đảm bảo được tính nhỏ gọn, tiện lợi, dễ sử dụng cũng như an toàn cho người
dùng, giải pháp được đưa ra là sử dụng 1 adapter 5VDC – 500mA, để biến đổi trực
tiếp nguồn xoay chiều 220V thành nguồn 1 chiều 5V. Do đặc thù mạch làm việc
liên tục nhiều ngày, nhiều giờ, vấn đề công suất cũng như hao tổn năng lượng luôn
được đặt lên hàng đầu.
2.2.3. Khối chấp hành:
+ Chức năng: thực hiện nhiệm vụ bật/tắt chuông báo, với yêu cầu phải cách
ly được nguồn xoay chiều 220V (dùng cung cấp cho chuông) với nguồn logic 1
chiều 5V ( nuôi các IC, MCU)
+ Giải pháp: với chức năng rất đơn giản, chỉ bật/tắt chuông thông qua tín
hiệu điều khiển từ MCU ở tần số rất thấp thì lựa chọn Rơ-le để đóng cắt mạch là 1
giải pháp khá hợp lý. Giá thành rẻ(chưa đến 10.000VND), cách ly nguồn tốt(cách ly
hoàn toàn giữa nguồn logic đóng cuộn dây, và nguồn chạy qua các tiếp điểm), kích
thước nhỏ gọn, khả năng chịu dòng tốt, có thể làm việc ở môi trường nhiệt độ cao,
là rất nhiều những ưu điểm mà rơ-le có được, hoàn toàn phù hợp với yêu cầu của hệ
thống.
2.2.4. Khối xử lý trung tâm:
+ Chức năng: nhận các lệnh điều khiển: phím bấm từ người sử dụng hay tín

hiệu trả về từ khối đồng hồ thời gian thực RTC, từ đó đưa ra các tín hiệu cho khối
chấp hành, để bật/tắt chuông báo. Ngoài ra còn có chức năng lưu trữ, hiển thị,
+ Giải pháp: Sử dụng vi điều khiển Atmega 32
2.2.5. Khối đồng hồ thời gian thực RTC:
+ Chức năng: tạo ra 1 chiếc đồng hồ điện tử chạy theo thời gian thực. Nhờ có
khối đồng hồ mà người dùng có thể đặt chính xác thời gian vào tiết và ra chơi. VD:
7h sang vào tiết 1, 7h45 hết tiết 1,
+ Giải pháp: với chức năng là đồng hồ thời gian thực thì không gì phù hợp
hơn là IC DS1307. Là 1 IC chuyên dụng cho các ứng dụng thời gian thực, DS1307
cho ta thấy khả năng làm việc chính xác và bền bỉ đáng ngạc nhiên. Sử dụng thạch
anh ngoài với tần số làm việc 32,768kHz, DS1307 cho sai số cực nhỏ, cùng thời
Trang 9
Đồ án tốt nghiệp
gian làm việc 10 năm liên tục với pin ngoài 3V (đồng hồ sẽ vẫn chạy khi bị mất
nguồn nuôi 5V). Thêm vào đó là khả năng ghi/đọc thời gian 1 cách nhanh chóng và
tiện lợi qua chuẩn giao tiếp I2C.
Trang 10
Đồ án tốt nghiệp
CHƯƠNG 3 – PHÂN TÍCH VÀ THIẾT KẾ PHẦN CỨNG:
3.1 Khối nguồn:
J 1
5 V
1
2
V C C
C 1 2
2 5 v - 4 7 0 u F
C 1 3
1 6 v - 4 7 0 u F
U 1 6

L M 7 8 0 5
V I
1
G N D
2
V O
3
C 1 4
1 n
C 1 5
1 n
D 4 5
L E D
R 4 6
1 k
(1) Nguon
-
+
D 4 6
B R 8 0 5 D
2
1
3
4
J 2
9 V
1
2
D 4 7
D I O D E

F 1
F U S E
F 2
F U S E
Hình 3.1: Sơ đồ nguyên lý khối nguồn
3.1.1 J2
Giắc cắm lấy nguồn adapter 9 - 12V
3.1.2 J11
Giắc cắm lấy nguồn 5V từ adapter 5VDC Để an toàn và chống quá dòng,
module nguồn sử dụng 1 cầu chì 2A, ngoài ra còn có Diode D11 nhằm chống ngược
cực khi người dùng đưa nguồn không đúng vào mạch.
3.1.3 LM7805
Với những mạch điện không đòi hỏi độ ổn định của điện áp quá cao, sử dụng
IC ổn áp thường được người thiết kế sử dụng vì mạch điện khá đơn giản.Các loại ổn
áp thường được sử dụng là IC 78xx, với xx là điện áp cần ổn áp.Ví dụ 7805 ổn áp
5V, 7812 ổn áp 12V.Việc dùng các loại IC ổn áp 78xx tương tự nhau, dưới đây là
minh họa cho IC ổn áp 7805.
Sơ đồ phía dưới IC 7805 có 3 chân:
- Chân số 1 là chân IN
- Chân số 2 là chân GND
- Chân số 3 là chân OUT
Trang 11
Đồ án tốt nghiệp
Hình 3.2 IC7805
Ngõ ra OUT luôn ổn định ở 5V dù điện áp từ nguồn cung cấp thay đổi.Mạch này
dùng để bảo vệ những mạch điện chỉ hoạt động ở điện áp 5V (các loại IC thường
hoạt động ở điện áp này). Nếu nguồn điện có sự cố đột ngột: điện áp tăng cao thì
mạch điện vẫn hoạt động ổn định nhờ có IC 7805 vẫn giữ được điện áp ở ngõ ra
OUT 5V không đổi.
Mạch trên lấy nguồn một chiều từ một máy biến áp với điện áp từ 7V đến 9V

để đưa vào ngõ IN. Khi kết nối mạch điện, do nhiều nguyên nhân, người dùng dễ
nhầm lẫn cực tính của nguồn cung cấp khi đấu nối vào mạch, trong trường hợp này
rất dễ ảnh hưởng đến các linh kiện trên board mạch. Vì lí do đó một diode cầu được
lắp thêm vào mạch, diode cầu đảm bảo cực tính của nguồn cấp cho mạch theo một
chiều duy nhất, và nguời dùng cũng không cần quan tâm đến cực tính của nguồn khi
nối vào ngõ IN nữa.
Chú ý: điện áp đặt trước IC78xx phải lớn hơn điện áp cần ổn áp từ 1.5V đến
2V
Tụ điện đóng vai trò ổn định và chống nhiễu cho nguồn. (có thể bỏ hai tụ điện
nếu mạch điện không đòi hỏi).
Do vi điều khiển ATmega32 và các linh kiện khác dung nguồn điện 5V nên ta
thiết kế bộ nguồn theo 2 cách :
- Dùng IC ổn áp đưa các điện áp đầu vào lớn hơn 5V và cho điện 5V ở đầu ra. Ưu
điểm của loại nguồn này là khỏe và cho ta nhiều giá trị điện áp hạ xuống. ví dụ
như ta sử dụng nguồn DC12V thì ta có thể sử dụng dc các thiết bị 12V, có thể
biến đổi thêm nhiều mức điện áp như 9V sử dụng 7809 và nhiều mức khác ngoài
5V. Do nguồn điện này lơn và từ nhiều nguồn khác nhau như adapter, nguồn
acquy, từ các biến áp và đây là lý do ta cần sử dụng chỉnh lưu cầu. Chỉnh lưu
cầu có tác dụng đưa điện áp AC từ biến áp về DC, và ta cắm nguồn thoải mái
mà không sợ bị nhầm cực gây hư hại đến linh kiện trong mạch. Chỉnh lưu cầu có
thể dùng 4 con diode hoặc sử dụng cầu diode có sẵn, cầu diode thì nhỏ gọn hơn
là sử dụng 4 diode thương. Do công suất của mạch sử dụng ko lớn nên ta chỉ cần
Trang 12
Đồ án tốt nghiệp
cầu diode 2A là phù hợp. Cũng như lấy nguồn bằng adapter 5V ta cũng sử dụng
conector 2 chân để lấy điện áp đưa vào cầu diode để lấy điện áp DC. Ta cần sử
dụng các tụ phân cực để lọc điện áp vì khi sử dụng nguồn biến áp qua chỉnh lưu
thì điện áp vẫn còn gợn sóng chưa được phẳng nên ta cần sử dụng tụ hóa có điện
áp hơn hơn 1,5 lần điện áp mắc vào nó. Vì khi điện áp quá độ hay tăng đột ngột
cũng ko làm hỏng tụ. Điện dung của tụ càng to thì khả năng ổn định và lọc

phẳng điện áp càng cao nhưng lớn quá thì sẽ gây sụt điện khi mới cung cấp
nguồn vì tụ cần được nạp đầy trong thời gian ấy trước khi tu hoạt động bình
thường. Như vậy ở tại đầu ra của cầu diode ta nên chọn loại tụ có trị số 35V –
1000uF. Loại tụ thứ 2 là tụ gốm để chống nhiễu ta sử dụng tụ 100nF thường đọc
là tụ 104. Phần chính của khối nguồn là IC nguồn. Để lấy được điện áp 5V từ
điện áp cao hơn 5V ta có thể sử dụng điện trở phân áp hoặc diode zenner nhưng
cách này cho dòng điện ko cao và thường không ổn định. Các khác dùng IC ổn
áp thì ta có thể dùng ổn áp xung như LM2575-5V, LM2576-5V hoặc LM1117-
5V. Các loại IC nguồn này cho dòng ra cao và điện áp ổn định nhưng do mạch
điện ko yêu cầu dòng cao (<1A) nên ta sử dụng IC LM7805 có ưu điểm rẻ, dễ sử
dụng, mạch điện tương đối nhỏ gọn và dễ sử dụng. IC LM7805 có nhược điểm
tỏa nhiều nhiệt khi sử dụng với điện áp cao và cho ra dòng điện khá khiếm tốn
(<1A) nhưng phù hợp với mạch ta sử dụng. Cũng giống như đầu vào ta mắc tụ
gốm và tụ hóa để chống nhiễu vào lọc điện áp ra. Để bảo vệ, trước khi đi vào
mạch điện ta cho qua 1 cầu chì. Cầu chì có giá trị 1A để mạch hoạt động an toàn
và bảo vệ khi có sự cố.
3.1.3 LED BÁO NGUỒN
Đèn led báo khi có nguồn. Led có điện áp hoạt động là 2,2V với led đỏ nên
ta mắc nối tiếp qua 1 điện trở 330 Ohm.
3.2. KHỐI XỬ LÝ TRUNG TÂM
Với việc xử lý rất nhiều dữ liệu, điều khiển bật tắt đèn theo thời gian thực,
giao tiếp với DS1307 qua giao diện I2C thì chúng em đã lựa chọn được vi điều
khiển Atmega 32 cho đồ án này.
Trang 13
Đồ án tốt nghiệp
Sau đây là một số đặc điểm của vi điều khiển Atmega 32:
 Atmega32 là 1 trong những dòng vi điều khiển 8-bit mạnh mẽ nhất hiện nay,
thuộc họ AVR của hãng Atmel,có 40 chân trong đó có 32 chân I/O, 2 chân giao
tiếp I2C (SCL và SDA),hỗ trợ sử dụng thạch anh ngoài lên đến 16MHz.
 Nhân AVR kết hợp tập lệnh rút gọn với 32 thanh ghi đa năng. Tất cả các thanh

ghi liên kết trực tiếp với khối xử lý số học và logic (ALU) cho phép 2 thanh ghi
độc lập được truy cập trong một lệnh đơn trong 1 chu kỳ đồng hồ. Kết quả là tốc
độ nhanh gấp 10 lần các bộ vi điều khiển CISC thường.
 Dưới đây là hình vẽ sơ đồ chân của VĐK ATmega32:
Hình 3.3 :Sơ đồ chân Atmega32
 Atmega32 gồm có 4 port I/O: port A,port B,port C và port D.
 Port A gồm 8 chân từ PA0 đến PA7:là cổng vào tương tự cho chuyển đổi
tương tự sang số.Nó cũng là cổng vào/ra hai hướng 8 bít trong trường hợp không
sử sụng làm cổng chuyển đổi tương tự,có điện trở nối lên nguồn dương bên
Trang 14
Đồ án tốt nghiệp
trong.Port A cung cấp đường địa chỉ dữ liệu vao/ra theo kiểu hợp kênh khi dùng
bộ nhớ bên ngoài.
 Port B gồm 8 chân từ PB0 đến PB7:là cổng vào/ra hai hướng 8 bít, có điện trở
kéo lên bên trong.Port B cung cấp các chức năng ứng với các tính năng đặc biệt
của Atmega32.
 Port C gồm các chân từ PC0 đến PC7:là cổng vào/ra hai hướng 8 bit,có điện
trở nối lên nguồn dương bên trong. Port C cung cấp các địa chỉ lối ra khi sử dụng
bộ nhớ bên ngoài và đồng thời cung cấp ứng với các tính năng đặc biệt của
Atmega32.
 Port D gồm các chân từ PD0 đến PD7:là cổng vào/ra hai hướng 8 bít,có điện
trở nối lên nguồn dương bên trong. Port D cung cấp các chức năng ứng với các
tính năng đặc biệt của Atmega32.
 Chân nguồn Vcc (chân số 10 và chân số 30):điện áp nguồn nuôi của Atmega32
từ 4.5v đến 5.5v.
 Chân Reset (chân số 9): reset trạng thái chip
 Chân GND (chân số 11 và chân 31):chân nối đất.
 Chân XTAL1,XTAL2 là hai chân nối thạch anh ngoài (chân số 12 và
chân số 13): Atmega32 hỗ trợ sử dụng thạch anh ngoài lên tới16MHz
(trong đồ án chúng em sử dụng thạch anh 8MHz)

 Chân ICP(chân số 20):là chân vào cho chức năng bắt tín hiệu cho bộ
định thời/đếm 1.
 Chân OC1B(chân số 18):là chân ra cho chức năng so sánh lối ra bộ
định thời/đếm 1.
 Chân INT1(chân số 17):chân ngõ vào ngắt.
Trang 15
Đồ án tốt nghiệp
Hình 3.4: Sơ đồ cấu trúc bên trong của Atmega32.
Trang 16
Đồ án tốt nghiệp
ATmega32 có các đặc tính sau:
• 32Kbytes bộ nhớ ISP Flash với Read-While-Write capacities.
• 2Kbytes RAM.
• 1024 bytes EEPROM.
• 32 đường I/O đa năng.
• 32 thanh ghi đa năng.
• JTAG interface.
• On-chip Debug and Program.
• 3 bộ định thời phức hợp với chế độ so sánh.
• Ngắt ngoài và trong.
• Bộ truyền nhận nối tiếp USART lập trình được.
• Bộ giao tiếp nối tiếp định hướng 2 dây.
• 8 kênh, 10bit ADC với ngưỡng vào lựa chọn khác nhau độ lợi lập
trình được.
• Bộ WatchDog Timer khả trình với dao động nội.
• Port SPI nối tiếp.
• Hệ thống ngắt để tiếp tục hàm.
 ATmega32 có các chế độ tiết kiệm năng lượng như sau:
 Chế độ nghỉ (Idle) CPU trong khi cho phép bộ truyền tin nối tiếp đồng bộ
USART, giao tiếp 2 dây, chuyển đổi A/D, SRAM, bộ đếm bộ định thời, cổng

SPI và hệ thống các ngắt vẫn hoạt động.
 Chế độ Power-down lưu giữ nội dung của các thanh ghi nhưng làm đông
lạnh bộ tạo dao động, thoát khỏi các chức năng của chip cho đến khi có ngắt
ngoài hoặc là reset phần cứng.
 Chế độ Power-save đồng hồ đồng bộ tiếp tục chạy cho phép chương trình
sử dụng giữ được đồng bộ thời gian nhưng các thiết bị còn lại là ngủ.
Trang 17
Đồ án tốt nghiệp
 Chế độ ADC Noise Reduction dừng CPU và tất cả các thiết bị còn lại ngoại
trừ đồng hồ đồng bộ và ADC, tối thiểu hoá switching noise trong khi ADC
đang hoạt động.
 Chế độ standby, bộ tạo dao động (thạch anh/bộ cộng hưởng) chạy trong khi
các thiết bị còn lại ngủ. Các điều này cho phép bộ vi điều khiển khởi động rất
nhanh trong chế độ tiêu thụ công suất thấp.
Thiết bị được sản xuất sử dụng công nghệ bộ nhớ cố định mật độ cao của
Atmel. Bộ nhớ On-chip ISP Flash cho phép lập trình lại vào hệ thống qua giao
diện SPI bởi bộ lập trình bộ nhớ cố định truyền thống hoặc bởi chương trình On-
chip Boot chạy trên nhân AVR. Chương trình boot có thể sử dụng bất cứ giao
điện nào để download chương trình ứng dụng trong bộ nhớ Flash ứng dụng.
Phần mềm trong vùng Boot Flash sẽ tiếp tục chạy trong khi vùng Application
Flash được cập nhật, cung cấp thao tác Read-While-Write thực sự. Bằng việc kết
hợp 1 bộ 8-bit RISC CPU với In-System Self-Programmable Flash trong chỉ
nguyên vẹn 1 chip ATmega32 là một bộ vi điều khiển mạnh có thể cung cấp giải
pháp có tính linh động cao, giá thành rẻ cho nhiều ứng dụng điều khiển nhúng.
U 2 1
A t m e g a 3 2 - D I P
P B 0
1
P B 1
2

P B 2 / I N T 2
3
P B 3 / O C 0
4
P B 4 / S S
5
P B 5 / M O S I
6
P B 6 / M I S O
7
P B 7 / S C K
8
R E S E T
9
V C C
1 0
G N D
1 1
X T A L 1
1 2
X T A L 2
1 3
P D 0 / R X
1 4
P D 1 / T X
1 5
P D 2 / I N T 0
1 6
P D 3 / I N T 1
1 7

P D 4 / O C 1 B
1 8
P D 5 / O C 1 A
1 9
P D 6
2 0
P A 0
4 0
P A 1
3 9
P A 2
3 8
P A 3
3 7
P A 4
3 6
P A 5
3 5
P A 6
3 4
P A 7
3 3
A R E F
3 2
G N D
3 1
A V C C
3 0
P C 7
2 9

P C 6
2 8
P C 5
2 7
P C 4
2 6
P C 3
2 5
P C 2
2 4
S D A / P C 1
2 3
S C L / P C 0
2 2
P D 7 / O C 2
2 1
P A 7e
Y 2 1
8 M
C 2 1
2 2 p F
( 2 ) A T M E G A 3 2
J 2 1
c h a n n a p I S P
1 09
87
65
43
21
C 6

1 n
C 7
1 n
V C C
M I S O
P B 4
S C K
P D 6
R E S E T
M O S I
P D 7
P B 0
P B 1
P B 2
P B 3
C 2 2
2 2 p F
R E S E T
V C C
C 2 4 1 0 3
V C C
P B 4
P D 0
P D 1
X T A L 1
P D 2
X T A L 2
P D 3
M I S OP B 6
P D 4

S C KP B 7
P D 5
M O S IP B 5
P C 1S D A
P C 0S C L
P C 7
P C 6
P C 5
P C 4
P C 3
P C 2
P A 0
P A 1b
P A 2f
P A 3a
P A 4g
C 4
1 n
P A 5c
P A 6d
Hình 3.5: Khối xử lý trung tâm với Atmega32
Trang 18
Đồ án tốt nghiệp
3.3 Khối chấp hành và hiển thị
J 3
7 s e g X 4
1
2
3
4

5
6
1 2
1 1
1 0
9
8
7
( 2 ) L e d 7 s e g
R 4 9
1 k
R 5 0
1 k
R 5 1
1 k
R 5 2
1 k
P B 2
P B 1
P B 0
P B 3
a
f
b
e
d
c
g
Hình 3.4.2: Hiển thị LED 7 đoạn
U 1 3O p t o 4

1
2 3
4
( 4 ) R E L A Y
D 4 4
D I O D E
V C C
Q 1
M O S F E T _ E N _ G D S
L S 1
R E L A Y S P D T
3
5
4
1
2
R 4 8
1 k
c h u o n g
R 4 5
3 3 0
D 4 2
L E D
R 4 4
3 3 0
c h u o n g
J 4 0
C O N 2
2
1

Hình 3.4.3: Khối chấp hành điều khiển chuông sử dụng Rơ-le
Khối chấp hành sử dụng 1 rơ-le loại 5 chân – 5Vdc để điều khiển bật tắt
chuông báo. Chuông được sử dụng là loại chuông 220VAC – 50Hz – 85dB. Để
đóng mở rơ-le dùng tín hiệu từ vi diều khiển, ở đây sử dụng thêm 1 Mosfet kênh N
loại IRF630, nhằm cho nguồn 5V chạy qua cặp cực nam châm của Rơ-le. Diode
D44 để chống dòng ngược từ cuộn dây nam châm xông ngược vào mạch, D21 là
Led báo rơ-le đóng.
Trang 19
Đồ án tốt nghiệp
3.4. Khối đồng hồ thời gian thực
D 1
( 3 ) R T C _ M O D U L E
C 5
1 n
Y 3
3 2 , 7 6 8
S C L
S D A
V C C
R 1 1 0 k
R 2 1 0 k
B T 1N g u o n D C
R 3
3 3 0
V C C
U 1 2
D S 1 3 0 7
X 1
1
X 2

2
V b a t
3
G N D
4
S D A
5
S C L
6
S Q W / O U T
7
V c c
8
Hình 3.5: Khối đồng hồ thời gian thực sử dụng IC DS1307
DS1307 là IC chuyên dụng cho các ứng dụng thời gian thực, giao tiếp với vi
điều khiển qua giao diện I2C (Inter-Integrated Circuit). DS1307 là “đồng hồ” thời
gian thực (Real Time Clock - RTC)sử dụng năng lượng thấp, mã hóa ngày giờ theo
chuẩn BCD (Binary Coded Decimal).
Sau đây là số đặc điểm chính của DS1307:
• RTC quản lý thời gian theo giây, phút, giờ, thứ, ngày, tháng và năm
• Giao tiếp qua I2C
• Bộ nhớ RAM với các thanh ghi 8-bit đa năng, cho khả năng đọc ghi nhanh
chóng và lâu dài
• Hoạt động trong dải nhiệt độ từ -40 độ đến 85 độ C
• Sử dụng nguồn cấp logic 5V làm nguồn hoạt động chính. Ngoài ra còn có thể
sử dụng pin ngoài 3V, giúp đồng hồ vẫn hoạt động ngay cả khi không còn
nguồn nuôi chính.
• Thời lượng sử dụng pin ngoài 3V lên tới 10 năm
• Sử dụng bộ dao động ngoài thạch anh 32.768kHz
Trang 20

Đồ án tốt nghiệp
Với những ưu điểm trên, DS1307 hoàn toàn phù hợp với yêu cầu đặt ra của đồ
án, cho phép người dùng theo dõi, cài đặt, điều khiển đèn theo thời gian trong ngày,
theo từng tuần, tháng và năm, với độ sai lệch cực nhỏ.
Trang 21
Đồ án tốt nghiệp
CHƯƠNG 4 – PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM
4.1. Nhiệm vụ vi điều khiển ATmega 32
Vi điều khiển Atmega 32 sẽ xử lý các thông tin từ khối nhập dữ liệu và khối
đồng hồ thời gian thực. Từ các thông tin đó, Atmega32 sẽ đưa ra các tín hiệu điều
khiển phù hợp đóng/mở rơ-le.
Các chức năng của hệ thống:
• Cho phép người dùng căn chỉnh lại thời gian của đồng hồ nếu có sai lệch.
Người dùng có thể sử dụng 4 phím bấm của khối nhập dữ liệu, tiến hành
chỉnh sửa thời gian: giây, phút, giờ, chỉnh sửa thứ, ngày, tháng, năm cho phù
hợp với thời điểm hiện tại, nếu như có sai lệch
• Cho phép người dùng cài đặt giờ báo chuông, chỉnh sửa giờ, phút, giây trong
ngày mong muốn bật chuông tự động.
• Cho phép người dùng xóa giờ đã hẹn trong ngày. Tùy chọn cho phép người
dùng bỏ chế độ hẹn giờ của chuông khi không muốn hẹn giờ nữa.
• Cho phép người dùng bật tắt chuông thủ công. Tùy chọn này hỗ trợ người sử
dụng khi mong muốn điều khiển đèn 1 cách thủ công mà không cần đợi đến
giờ hẹn. Từ đó có thể tăng tính mềm dẻo của hệ thống, vừa là hệ thống điều
khiển bật tắt chuông, vừa là hệ thống hẹn giờ bật chuông.
Từ những tùy chọn đó của người sử dụng mà vi điều khiển Atmega32 có thể
điều khiển báo chuông theo đúng mong muốn.
4.2. Phân tích lựa chọn công cụ lập trình
Atmega 32 có thể được lập trình bằng ngôn ngữ Assembly hoặc cũng có thể
được lập trình bằng ngôn ngữ C. Do tính tiện dụng, trình bày khoa học và dễ dàng
cho việc debug, chúng em quyết định lựa chọn ngôn ngữ C cho đồ án báo chuông tự

động này.
Trang 22
Đồ án tốt nghiệp
Có rất nhiều công cụ lập trình có thể sử dụng để lập trình.Có thể kể đến
là:Codevision, C-free, AVRStudio, WinAVR, … Nhưng để thuận tiện và dễ dàng
chúng em xin lựachọn phần mềm lập trình cho vi điều khiển Atmega32 là
AVRStudio, với phiên bản được sử dụng là 4.13 và trình biên dịch WinAVR 2010.
4.3. Giao diện TWI (Two-Wire Serial Interface)- I2C (Inter-Integrated Circuit)
TWI (Two-Wire Serial Interface) là một module truyền thông nối tiếp đồng
bộ trên các chip AVR dựa trên chuẩn truyền thông I
2
C. I
2
C là viết tắc của từ Inter-
Integrated Circuit là một chuẩn truyền thông do hãng điện tử Philips Semiconductor
sáng lập và xây dựng thành chuẩn năm 1990. Phiên bản mới nhất của I2C là V3.0
phát hành năm 2007. Trong phạm vi đồ án em chỉ xin giới thiệu giao thức TWI
được giới thiệu trong datasheet của các chip AVR từ Atmel. Tuy nhiên, về cơ bản
TWI trong AVR hoàn toàn tương thích I2C, do đó tìm hiểu TWI của AVR không
chỉ giúp chúng ta giao tiếp giữa các AVR với nhau mà có thể dùng TWI để điều
khiển bất kỳ một thiết bị nào theo chuẩn I2C(các chip nhớ, bộ DAC, ADC, đồng hồ
thời gian thực, ).
TWI (I2C) là một truyền thông nối tiếp đa chip chủ (tạm dịch của cụm từ multi-
master serial computer bus). Khái niệm “multi-master” được hiểu là trong trên
cùng một bus có thể có nhiều hơn một thiết bị làm Master, đồng thời một Slave có
thể trở thành một Master nếu nó có khả năng. Ví dụ trong một mạng TWI của nhiều
AVR kết nối với nhau, bất kỳ một AVR nào đều có thể trở thành Master ở một thời
điểm nào đó. Tuy nhiên nếu một mạng dùng một AVR điều khiển các chip nhớ
(như EEPROM AT24C1024 chẳng hạn) thì khái niệm “multi-master” không tồn tại
vì các chip nhớ được thiết kế sẵn là Slave, không có khả năng trở thành master.

TWI (I2C) được thực hiện trên 2 đường SDA (Serial DATA) và SCL (Serial Clock)
trong đó SDA là đường truyền/nhận dữ liệu và SCL là đường xung nhịp. Căn cứ
theo chuẩn I2C, các đường SDA và SCL trên các thiết bị có cấu hình “cực góp mở”
(open-drain hoặc open-collector, tham khảo các mạch số dùng transistor để hiểu
thêm), nghĩa là cần có các “điện trở kéo lên” (pull-up resistor) cho các đường này.
Trang 23
Đồ án tốt nghiệp
Ở trạng thái nghỉ (Idle), 2 chân SDA và SCL ở mức cao. Hình 4.1 mô tả một mô
hình mạng TWI (I2C) cơ bản.
Hình 4.3.1. Mạng TWI (I2C) với nhiều thiết bị và 2 điện trở kéo lên cho SDA,
SCL.
Tiếp theo chúng ta tìm hiểu một số khái niệm và đặc điểm của TWI.
• Master: là chip khởi động quá trình truyền nhận, phát đi địa chỉ của
thiết bị cần giao tiếp và tạo xung giữ nhịp trên đường SCL.
• Slave: là chip có một địa chỉ cố định, được gọi bởi Master và phục vụ
yêu cầu từ Master.
• SDA- Serial Data: là đường dữ liệu nối tiếp, tất cả các thông tin về địa
chỉ hay dữ liệu đều được truyền trên đường này theo thứ tự từng bit
một. Chú ý là trong chuẩn I2C, bit có trọng số lớn nhất (MSB) được
truyền trước nhất, đặc điểm này ngược lại với chuẩn UART.
• SCL –Serial Clock: là đường giữ nhịp nối tiếp. TWI (I2C) là chuần
truyền thông nối tiếp đồng bộ, cần có 1 đường tạo xung giữ nhịp cho
quá trình truyền/nhận, cứ mỗi xung trên đường giữ nhịp SCL, một bit
dữ liệu trên đường SDA sẽ được lấy mẫu (sample). Dữ liệu nối tiếp trên
đường SDA được lấy mẫu khi đường SCL ở mức cao trong một chu kỳ
giữ nhịp, vì thế đường SDA không được đổi trạng thái khi SCL ở mức
Trang 24
Đồ án tốt nghiệp
cao (trừ START và STOP condition). Chân SDA có thể được đổi trạng
thái khi SCL ở mức thấp.

Hình 4.3.2: Biểu đồ thời gian mức tín hiệu các chân SDA, SCL
• START Condition-Điều kiện bắt đầu: từ trạng thái nghỉ, khi cả SDA
và SCL ở mức cao nếu Master muốn thực hiện một “cuộc gọi”, Master
sẽ kéo chân SDA xuống thấp trong khi SCL vẫn cao. Trạng thái này gọi
là START Condition (chúng ta gọi tắt là S).
• STOP Condition-Điều kiện kết thúc: sau khi thực hiện truyền/nhận dữ
liệu, nếu Master muốn kết thúc quá trình nó sẽ tạo ra một STOP
condition. STOP condition được Master thực hiện bằng cách kéo chân
SDA lên cao khi đường SCL đang ở mức cao. STOP condition chỉ
được tạo ra sau khi địa chỉ hoặc dữ liệu đã được truyền/nhận.
• REPEAT START – Bắt đầu lặp lại: khoảng giữa START và STOP
condition là khoảng bận của đường truyền, các Master khác không tác
động được vào đường truyền trong khoảng này. Trường hợp sau khi kết
thúc truyền/nhận mà Master không gởi STOP condition lại gởi thêm 1
START condition gọi là REPEAT START. Khả năng này thường được
Trang 25

×