Đồng hồ led quay dùng led RGB phối thành nhiều màu, dùng remote mp3 điều khiển, hiển thị đồng hồ kim, đồng hồ số, chạy chữ nhập từ remote, hiển thị hình ảnh, do nhiêt đồ, độ amr rồi hiển thị, điều khiển bằng remote mp3..
Trang 1PHẦN I
GIỚI THIỆU
Trang 3Chuyên ngành: Điện tử công nghiệp Mã ngành: 141
I TÊN ĐỀ TÀI:
THIẾT KẾ VÀ THI CÔNG ĐỒNG HỒ LED QUAY ĐA SẮC
II NHIỆM VỤ
1 Các số liệu ban đầu :
Đã tìm hiểu về sản phẩm led quay ở đồ án năm trước và những sản phẩm có trên thị trường, các phương pháp điều khiển và hiển thị thông tin trên led quay
Tham khảo tài liệu về sản phẩm led quay và cách lập trình
2 Nội dung thực hiện :
Hiển thị được 2 dạng đồng hồ là đồng hồ số và đồng hồ kim trên nền led quay Hiển thị ngày tháng năm dương lịch
Cho phép hẹn giờ thay đổi hiệu chỉnh thời gian, ngày, tháng, năm
Đo và hiển thị được nhiệt độ và độ ẩm
Nhập được kí tự, đoạn text từ remote, hiển thị được logo
Đổi màu led và chuyển chế độ đa dạng và linh hoạt
Giải mã remote mp3 để điều khiển đồng hồ và có chế độ chuyển màu tự động III NGÀY GIAO NHIỆM VỤ: 03/03/2015
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 13/06/2015
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Trần Thanh Mai
ThS Trần Thanh Mai
Trang 5Bộ Môn Điện Tử Công Nghiệp
Tp Hồ Chí Minh, ngày 30 tháng 5 năm 2015
Tên đề tài: THIẾT KẾ VÀ THI CÔNG ĐỒNG HỒ LED QUAY ĐA SẮC
Gặp giảng viên để nhận đề tài chính thức
Lập bảng kế hoạch, thu thập thông tin sản phẩm
Tìm hiểu led RGB, phương pháp hiển thị led quay
Tuần 3
(16-22/3)
Chọn phương pháp cấp nguồn cho mạch và chọn động cơ cho mạch quay
Chọn và tìm hiểu thông tin các linh kiện thực hiện
Làm quen và viết 1 số chương trình cho AVR
Tuần 4
(23-29/3)
Mô phỏng truyền dữ liệu 74hc595
Viết chương trình và mô phỏng cho DHT11,DS1307 Tuần 5,6
(30-12/4)
Tìm hiểu về cân bằng cho led quay
Vẽ sơ đồ nguyên lý và đi layout cho mạch
Giãi mã remote và tạo font cho led ma trận
Tuần 7,8
(13-26/4)
Thi công mạch, lắp đặt cấp điện động cơ, mạch
Kiểm tra chỉnh sửa hoàn thiện phần cứng
Viết chương trình demo hiển thị ký tự
Viết báo cáo luận văn
Chỉnh sửa và hoàn thiện mạch
Tuần 15
(8-14/6)
Hoàn thiện
GV HƯỚNG DẪN
ThS Trần Thanh Mai
Trang 6Đặc biệt chúng tôi xin cảm ơn đến Th.s Trần Thanh Mai và Thầy Nguyễn Ngọc Minh đã đồng trực tiếp hướng dẫn tận tình, chỉ bảo, giúp đỡ để chúng tôi có thể hoàn thành tốt đồ án của mình
Cùng gửi lời cám ơn đến những người bạn, người anh, tập thể 11141DT2A đã giúp đỡ, góp ý trong quá trình chúng tôi làm đồ án để có thể hoàn thiện tốt hơn
Cuối cùng, chúng tôi tha thiết gửi lời cảm ơn đến gia đình của chúng tôi, những người luôn bên cạnh động viên để chúng tôi có thể hoàn thành tốt ước
mơ của mình
Trân trọng
Nhóm thực hiện đồ án Nguyễn Ngọc Tuấn Trần Hoàng Đăng
Trang 7LỜI NÓI ĐẦU
Cuộc sống ngày càng phát triển hơn với sự bùng nổ về khoa học kỹ thuật, mang lại nhiều tiện ích hơn, ứng dụng hơn nhằm đáp ứng cho nhu cầu ngày càng thiết thực
và khó tính của nhân loại Góp phần không thể thiếu để mang lại những thành tựu to lớn là sự phát triển không ngừng của kỹ thuật điện tử
Theo dòng thời gian những chiếc đồng hồ được ra đời với muôn vàn hình dạng khác nhau nhằm đáp ứng nhu cầu độc, lạ của con người, từ những chiếc đồng hồ kim đơn thuần đến hiển thị trên led 7 đoạn, LCD, rồi led ma trận Song sự sáng tạo và mới
mẻ trong 1 sản phẩm là điều luôn cần thiết Vậy nên nhóm đã chọn đề tài “THIẾT KỀ
VÀ THI CÔNG ĐỒNG HỒ LED QUAY ĐA SẮC” để nghiên cứu và phát triển
Đề tài luận văn này tập trung xây dựng một chương trình với nhiều tính ứng dụng
từ đo thời gian thực hiển thị các thông tin cần thiết về ngày tháng năm, đến đo nhiệt độ,
độ ẩm, kết hợp nhập các đoạn text giúp người dùng nhập nội dung như mình mong muốn, kèm theo có thể hiển thị được logo Với hi vọng tạo ra 1 sản phẩm có tính ứng dụng trong thực tế, mang tính chất trang trí song cũng có thể kết hợp tạo ra 1 sản phẩm quảng cáo mang tính chất mới lạ và độc đáo
Với mong muốn tạo ra 1 sản phẩm nhiều tính năng, song thời gian làm đề tài cũng khá ngắn ngủi nên nhóm em cũng có tham khảo nhiều tài liệu trên mạng, có học hỏi thừa kế những kiến thức của các thế hệ đi trước và phát triển trên nền đã có chứ không
đi xây dựng lại toàn bộ Mặc dù nhóm cũng đã cố gắng nhiều với sự hướng dẫn tận tình, theo sát giúp đỡ của GVHD khi nhóm cần thông tin, với sự giúp đỡ bạn bè song chắc chắn vẫn không thể nào tránh khỏi những thiếu sót Chúng em mong nhận được ý kiến của Thầy/Cô, các bạn và những ai quan tâm về đề tài
Xin chân thành cảm ơn.!
Nhóm thực hiện đồ án
Trang 9NỘI DUNG TRANG
PHẦN I : GIỚI THIỆU
Nhiệm vụ đồ án i
Lời cảm ơn iii
Lời nói đầu iv
Mục lục v
Liệt kê hình vẽ và bảng vii
PHẦN II : NỘI DUNG
CHƯƠNG I: DẪN NHẬP 2
1.1 Đặt Vấn Đề 2
1.2 Các Yêu Cầu Đạt Được Và Hạn Chế Của Đề Tài 2
1.3 Mục Đích Nghiên Cứu 3
1.4 Ý Tưởng Thiết Kế 3
1.5 Phương Pháp Nghiên Cứu 3
CHƯƠNG II: CƠ SỞ LÝ THUYẾT 4
2.1 Tống Quan Về Các Phương Pháp Quét Led 4
2.1.1 Phương Pháp Quét Led 7 Đoạn 4
2.1.2 Phương Pháp Quét Led Ma Trận 4
2.1.3 Phương Pháp Hiển Thị Led Quay 5
2.2 Giới Thiệu Về Vi Điều Khiển ATmega 32A 6
2.2.1 Tổng Quan Về ATmega 32A 6
2.2.2 Sơ Đồ Chân ATmega 32A 7
2.2.3 Tổ chức bộ máy của ATmega 32A 8
2.3 IC thời gian thực DS1307 12
2.3.1 Tồng quan về DS1307 12
2.3.2 Cấu Tạo Bên Trong DS1307 12
2.3.3 Khái Quát Về Giao Diện I2C 14
2.4 PIC12F629 17
2.4.1 Tổng Quan Về Pic12F629 17
2.4.2 Sơ Đồ Chân Pic 12F629 17
2.5 Cảm Biến Đo Nhiệt Độ, Độ Ẩm DHT11 19
2.5.1 Giới Thiệu 19
2.5.2 Nguyên Lý Hoạt Động 19
2.6 IC Ghi Dịch 74HC595 21
2.7 LED RGB SMD1210 23
2.8 LM2596 23
Trang 102.11 Mắt Thu Hồng Ngoại 27
CHƯƠNG III: THIẾT KẾ 28
3.1 Sơ Đồ Khối Và Nguyên Lý Toàn Mạch 28
3.1.1 Sơ Đồ Khối 28
3.1.2 Sơ Đồ Nguyên Lý Toàn Hệ Thống 29
3.2 Sơ Đồ Nguyên Lý Từng Khối Và Chức Năng 31
3.2.1 Khối Nguồn 31
3.2.2 Khối Thời Gian Thực 32
3.2.3 Khối EEPROM 32
3.2.4 Khối Cảm Biến 33
3.2.5 Khối Xử Lý Trung Tâm 34
3.2.6 Khối Phát Thu Hồng Ngoại 35
3.2.7 Khối Hiển Thị 37
3.2.8 Khối Truyền Dữ Liệu 38
3.3 Sơ đồ mạch in 40
CHƯƠNG IV : XÂY DỰNG LƯU ĐỒ ĐIỀU KHIỂN 41
4.1 Xây Dựng Ý Tưởng Cho Sản Phẩm 41
4.2 Lưu Đồ Chương Trình Chính 42
4.3 Lưu Đồ Chương Trình Con 44
CHƯƠNG V : THI CÔNG 50
5.1 Hàn Linh Kiện Lên PCB 50
5.2 Thi Công Phần Động Cơ Và Quấn Dây Cho Truyền Điện Không Dây 51
5.3 Kết Quả Đạt Được Sau Thi Công 58
CHƯƠNG VI : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61
6.1 Kết Luận 61
6.2 Hướng Phát Triển 61
PHẦN III: PHỤ LỤC 62
Trang 11Hình Trang
Hình 2.1: Sơ đồ quét 4 led 7 đoạn 4
Hình 2.2: Led ma trận 8x8 5
Hình 2.3: Phương pháp hiển thị led quay ngang 5
Hình 2.4: Hình dạng Atmega32 loại thường và dán 6
Hình 2.5: Sơ đồ chân ATmega32A thường 7
Hình 2.6: Sơ đồ chân ATmega32A dán 7
Hình 2.7: Bộ nhớ SRAM 8
Hình 2.8: Sơ đồ khối Atmega32A 11
Hình 2.9: Hình dạng DS1307 12
Hình 2.10: Sơ đồ chân của chip DS1307 loại DIP và SMD 12
Hình 2.11: Sơ đồ khối bên trong chip DS1307 13
Hình 2.12: Giao tiếp I2C 15
Hình 2.13: Điều kiện START và STOP 15
Hình 2.14: Quá trình truyền nhận 1 bit dữ liệu 16
Hình 2.15: Dữ liệu được truyền trên gao diện I2C 16
Hình 2.16: Hình ảnh PIC12F629 17
Hình 2.17: Sơ đồ chân PIC 12F629 17
Hình 2.18: Sơ đồ khối PIC 12F629 18
Hình 2.19: Cảm biến DHT11 19
Hình 2.20: Kết nối DHT11 với vi xử lý 19
Hình 2.21: Quá trình truyền dữ liệu 20
Hình 2.22: Hình ảnh IC 74HC595 21
Hình 2.23: Sơ đồ chân IC 74HC595 21
Hình 2.24: Sơ đồ khối IC 74HC595 22
Hình 2.25: Hình ảnh led RGB SMD 1210 23
Hình 2.26: Sơ đồ chân led RGB SMD 1210 23
Hình 2.27: Hình ảnh LM2596 24
Hình 2.28: Sơ đồ chân LM2596 24
Hình 2.29: Hình ảnh EEPROM 24C16 25
Hình 2.30: Sơ đồ chân EEPROM 24C16 25
Hình 2.31: Sơ đồ khối EEPROM 26C16 26
Hình 2.32: Hiệu ứng từ 26
Hình 2.33: Hình dạng và sơ đồ chân cảm biên Hall 27
Hình 2.34: Hình dạng mắt thu hồng ngoại 27
Hình 3.1: Sơ đồ khối toàn hệ thống 28
Hình 3.2: Sơ đồ nguyên lý toàn hệ thống 29
Hình 3.3: Sơ đồ nguyên lý khối nguồn 31
Trang 13Hình 3.6 : Sơ đồ nguyên lý khối cảm biến 33
Hình 3.7: Sơ đổ nguyên lý khối xử lý trung tâm 35
Hình 3.8: Remote phát tín hiệu 35
Hình 3.9: Khối giải mã tín hiệu từ remote 36
Hình 3.10: Khung truyền dữ liệu khi 1 kênh được nhấn 36
Hình 3.11: Sơ đồ nguyên lý khối hiển thị 37
Hình 3.12: Sơ đồ nguyên lý khối truyền dữ liệu 39
Hình 3.13: Sơ đồ mạch in mặt top 40
Hình 3.14: Sơ đồ mạch in mặt bottom 40
Hình 4.1: Mô tả mối liên hệ các phân lớp 41
Hình 4.2a: Lưu đồ chương trình chính (phần 1) 42
Hình 4.2b: Lưu đồ chương trình chính (phần 2) 43
Hình 4.3: Chương trình con C1_change_color 44
Hình 4.4a: Chương trình con C1_increase_mode 45
Hình 4.4b: Chương trình con C1_reduce_mode 45
Hình 4.5: Chương trình con C2_change_menu_edit 46
Hình 4.6: Chương trình con C3_fix_time 47
Hình 4.7: Chương trình ngắt 48
Hình 4.8: Chương trình con đọc dữ liệu DHT11 49
Hình 5.1: Mạch PCB sau khi gắn và hàn linh kiện 50
Hình 5.2: Động cơ DC 12V 51
Hình 5.3: Cắt khung động cơ 51
Hình 5.4: Tách rời động cơ và phần vỏ ngoài 52
Hình 5.5: Bắt ốc trên động cơ 52
Hình 5.6: Quấn dây đồng lớp đầu tiên 53
Hình 5.7: Quấn dây đồng lớp thứ 2 53
Hình 5.8: Cố dịnh 2 đầu dây đồng 53
Hình 5.9: Quấn dây cuộn phát 54
Hình 5.10: Cố định cuộn phát vào thân motor 54
Hình 5.11: Gắn cuộn thu vào mạch 55
Hình 5.12: Gắn động cơ vào khung mica 55
Hình 5.13: Gắn nam châm vào khung mica 56
Hình 5.14: Hình ảnh mặt sau 56
Hình 5.15: Kết nối mạch với động cơ 57
Hình 5.16: Mạch truyền điện không dây 57
Hình 5.17: Hình ảnh sau khi kết nối và cố định mạch 58
Hình 5.18: Hình ảnh sản phẩm hiển thị màu xanh 58
Hình 5.19: Hình ảnh sản phẩm hiển thị màu đỏ 59
Trang 15Hình 5.22: Kết quả hiển thị logo trường 60
Bảng Bảng 2.1: Lựa chọn Clock 9
Bảng 2.2: Lựa chọn tần số hoạt động 9
Bảng 2.3: Các ngắt của Atmega32A 10
Bảng 2.4: Tổ chức các thanh ghi thời gian 13
Trang 16PHẦN II
NỘI DUNG
Trang 17CHƯƠNG 1: DẪN NHẬP
1.1 Đặt vấn đề
Với sự bùng nổ và phát triển nhanh chóng của hàng loạt ngành nghề như hiện nay Mỗi ngành lại mang trong mình 1 sứ mệnh riêng nhằm đáp ứng những yêu cầu ngày càng cao của con người Trong đó ngành điện tử cũng vậy, là 1 trong những ngành
đi đầu của thời đại, ứng dụng trong hầu hết các lĩnh vực Vậy nên là những thế hệ đi sau, chúng em cũng mong mỏi mang trong mình những khát khao, nhưng đam mê để
có thể tìm hiểu, nghiên cứu, phát triển, và góp 1 chút sức mình vào công cuộc đổi mới Theo dòng lịch sử, từ những linh kiện đơn giản nhất đến những linh kiện phức tạp dần được chế tạo ra Trong đó ta không thể không nhắc đến led, 1 sản phẩm rất phổ biến nhưng lại mang trong mình những ứng dụng không hề nhỏ đặc biệt là trong lĩnh vực trang trí và quảng cáo.Vậy nên nhóm chúng em đã chọn led làm đề tài để tìm hiểu
và phát triển Cụ thể 1 sản phẩm “ ĐỒNG HỒ LED QUAY ĐA SẮC ” được chúng
em chọn làm hướng nghiên cứu chính Kết hợp với ứng dụng của VĐK ATmega32A, cảm biến DHT11, IC DS1307 và những linh kiện khác để tạo nên 1 sản phẩm led quay
để bàn nhỏ gọn đáp ứng được yêu cầu thời gian cũng như đo nhiệt độ và độ ẩm với mục đích trang trí hay ứng dụng quảng cáo
1.2 Các yêu cầu cần đạt được và hạn chế của đề tài
Các yêu cầu đạt được:
- Hiển thị được 1 đồng hồ cơ bản giờ phút giây trên nền đống hồ số và đồng hồ kim Hiển thị được thứ, ngày, tháng năm
- Cài đặt được thời gian, cập nhật thời gian thực thông qua DS1307
- Hẹn giờ và báo led
- Đo được nhiệt độ, độ ẩm
- Nhập được đoạn text
- Hiển thị được logo
- Đổi màu đa dạng cho hiển thị
Hạn chế của đề tài:
- Sản phẩm còn khá lớn, làm giảm tốc độ động cơ nên còn bị nhòe
Trang 181.3 Mục đích nghiên cứu
Dựa vào những kiến thức đã học, các yêu cầu từ thực tế đặt Chúng em muốn tìm
hiểu sâu hơn và rèn luyện khả năng lập trình Vậy nên chúng em muốn thiết kế và thi công 1 sản phẩm nghiên về lập trình để củng cố những kiến thức đã được học.Trong quá trình nghiên cứu và thực hiện đề tài này giúp cho người thực hiện:
- Tăng khả năng tự học, tự nghiên cứu và giải quyết vấn đề
- Tiếp xúc trực tiếp với thực tế, nâng cao kinh nghiệm nghề nghiệp chuyên ngành
- Phải nắm vững và vận dụng những kiến thức chuyên ngành, tìm hiểu nghiên cứu tài liệu qua internet, sách vở, giáo trình nước ngoài và các mạch điện và mô hình thực tế liên quan để thi công phần cứng
1.4 Ý tưởng thiết kế
Sử dụng IC DS1307 để đọc thời gian thực và DHT11 để đo nhiệt độ, độ ẩm, kết hợp 32led RGB để hiển thị dựa trên phương pháp quay led Khi led quay dựa trên hiện tượng xuất dữ liệu như led ma trận mà ở đây sẽ xuất dữ liệu hàng, còn dữ liệu cột được tính sau 1 thời gian trễ Vì động vơ quay nhanh nên mắt ta không đáp ứng kịp xem như
là liên tục Dựa vào những ý tưởng trên để thiết kế được sản phẩm với nhiều ứng dụng khác nhau
1.5 Phương pháp nghiên cứu
Trong đề tài này nhóm tôi đã sử dụng các phương pháp nghiên cứu:
- Phương pháp tham khảo tài liệu : Bằng cách thu thập thông tin từ sách, và truy cập từ internet
- Phương pháp quan sát : Khảo sát các module có sẵn trên thị trường và các sản phẩm thông quan các video trên internet
- Phương pháp thực nghiệm : Từ những ý tưởng và kiến thức của mình kết hợp sự hướng dẫn của giáo viên, nhóm đã thực hiện nghiên cứu thử nghiệm và chọn ra phương án phù hợp nhất với khả năng của nhóm và thời gian làm đề tài
- Nhóm chọn phương pháp thừa kế và phát triển Dựa trên những tài liệu đã có, đọc hiểu và thừa kế phát triển sản phẩm Nhóm tập trung vào khai khác những vần đề mà các đồ án khác chưa làm và thừa kế những cái đồ án khác đã làm chứ không đi chi tiết đến toàn bộ
Trang 19CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về các phương pháp quét led
2.1.1 Phương pháp quét led 7 đoạn
Hình 2.1: Sơ đồ quét 4 led 7 đoạn
Trong phương pháp này như minh họa Hình 2.1 trên thì 8 chân dữ liệu của các led 7 đoạn sẽ được nối chung và điều khiển chung cùng nhận tín hiệu Nhưng tại một thời điểm thì chỉ cho phép một led sáng bằng cách điều khiển chân nguồn cho led đó Với cách làm như vậy sẽ tiết kiệm được chân của vi điều khiển và dùng vào mục đích khác Phương pháp này có nhược điểm là nếu dùng nhiều led và thời gian quét nhanh thì led sẽ sáng mờ, còn nếu thời gian quét chậm thì khi quan sát sẽ thấy led chớp nháy Tuy nhiên thì led 7 đoạn chỉ hiển thị được các con số và một ít chữ cái
2.1.2 Phương pháp quét led ma trận
Ma trận led bao gồm nhiều led đơn bố trí thành hàng và cột trong một vỏ Các tín hiệu điều khiển cột được nối với Anode của tất cả các led trên cùng một cột Các tín hiệu điều khiển hàng cũng được nối với Cathode của tất cả các led trên cùng một hàng,
tham khảo thêm như Hình 2.2 Trong điều khiển led ma trận ta không thể sử dụng
phương pháp hiện thị tĩnh vì sẽ có 1 số led không mong muốn sẽ sáng cùng các led điều khiển Vậy nên phải sử dụng phương pháp quét ( hiển thị động )
Trang 20
Hình 2.2: Led ma trận 8x8
2.1.3 Phương pháp hiển thị led quay
Đây là phương pháp dựa vào nguyên lý quét led ma trận và tính lưu ảnh của mắt, được mô tả như Hình 2.3 Phương pháp led quay có điểm khác với hai phương pháp trên là điều khiển led trong trạng thái led đang quay, điểm này mang đến sự mới lạ hơn so với led 7 đoạn và led ma trận
Hình 2.3: Phương pháp hiển thị led quay ngang
Phương pháp quay led có 2 dạng: quay đứng và quay ngang Nhưng dù là phương pháp nào thì cách xuất dữ liệu cũng không khác nhau Nếu phương pháp quét led ma trận thì có hàng và cột thì led quay chỉ có hàng mà không có cột, cột trong led quay
Trang 21được tính sau 1 khoản thời gian trể Đối với led quay đứng thì các ký tự khi hiển thị sẽ
dễ quan sát hơn, nếu nhìn từ xa các ký tự hiển thị gần như trên cùng mặt phẳng, kích thước font chữ đều nhau Đối với led quay ngang như Hình 2.3 thì các ký tự hiển thị trên một vòng tròn do đó kích thước font chữ không đều, đặc biệt là các ký tự sẽ bị cong gây khó quan sát Tuy nhiên đây lại là lợi thế phù hợp với đề tài khi hiển thị đồng
hồ kim theo phong cách cổ điển
2.2 Giới thiệu về vi điều khiển ATmega32A
và ngắt ngoài Cốt lõi của AVR là sự kết hợp các câu lệnh phong phú với 32 thanh ghi
đa mục đích Hình dạng ATMega 32A thực tế như Hình 2.4
Hình 2.4: Hình dạng ATmega32A loại thường và dán
Thông số cơ bản của ATmega32A:
- ATmega32A có 44 chân, trong đó có 32 chân I/O Với 8 kênh ADC Có 32kB
bộ nhớ Flash, 1024B EEprom, 2kB SRAM
- Có 3 Timer/Counter, trong đó có 2 Timer/Counter 8 bit và 1 Timer/Counter 16 bit Có ngắt trong và ngắt ngoài
Trang 22- Chuẩn truyền thông nối tiếp USART, giao diện SPI đồng bộ, giao tiếp I2C
- Có sẵn các kênh băm xung PWM, bộ định thời Watchdog
2.2.2 Sơ đồ chân ATmega32A
Hình 2.5: Sơ đồ chân ATmega32A thường
Hình 2.6: Sơ đồ chân ATmega32A dán
Trang 23ATmega32A gồm có 4 port: port A, port B, port C và port D với cách bố trí chân như Hình 2.5 và Hình 2.6 Port A gồm 8 chân từ PA0 đến PA7 Port B với 8 chân PB0 đến PB7, tương tự cho Port C và D Tại các chân đều là I/O(Input/Output) 2 hướng 8 bit linh hoạt Ngoài ra với mỗi chân tại mỗi Port khác nhau lại mang những tính năng đặc biệt khác nhau Để hiểu rõ hơn ta có thể tham khảo datasheet theo link đính kèm
2.2.3 Tổ chức bộ nhớ của ATmega32A
Để có được hiệu năng cao nhất và khả năng làm việc song song, AVR sử dụng cấu trúc Harvard – với sự phân chia bộ nhớ và các bus cho chương trình và dữ liệu Các lệnh trong bộ nhớ chương trình được thực thi với 1 cấp sử lí liên lệnh đơn Trong khi lệnh đang được xử lí thì lệnh tiếp theo được nạp tiếp từ bộ nhớ chương trình
Bộ nhớ chương trình là bộ nhớ flash có thể lập trình lại được ở trong hệ thống Không gian nhớ Flash được chia ra làm 2 phần, phần chương trình khởi động và phần chương trình ứng dụng Dữ liệu SRAM có thể dễ dàng được truy cập đến thông qua 5 kiểu địa chỉ khác nhau được hỗ trợ ở trong cấu trúc của AVR
Hình 2.7: Bộ nhớ SRAM
Trang 24
Các bộ nhớ:
- Bộ nhớ Flash: 32K bytes được quản lý như 16K x 16 do hầu hết các lệnh của AVR có chiều dài 16 hoặc 32 bit
- Bộ nhớ SRAM: 2K byte dùng để lưu biến và đánh địa chỉ như Hình 2.7
- Bộ nhớ Eeprom: 1K bytes Bộ nhớ Eeprom không bị mất dữ liệu khi mất nguồn,
có thể ghi đọc trong lúc chạy chương trình, dùng để lưu các tham số
Bảng 2.1: Lựa chọn Clock
Bảng 2.2: Lựa chọn tần số hoạt động
Trang 25Bảng 2.3: Các ngắt của ATmega32A
Các ngắt:
- Khi có ngắt xảy ra, vi điều khiển sẽ tự động lưu các tham số của chương trình
và nhảy đến chương trình con thực hiện ngắt
- Các ngắt của Atmega32A được trình bày như Bảng 2.3
- Tất cả các ngắt đều có một vectơ ngắt riêng trong bảng vecto ngắt
- Các ngắt có quyền ưu tiên theo vị trí vector ngắt của nó Vector ngắt có địa chỉ càng thấp thì ngắt càng được ưu tiên hơn
Trang 26Hình 2.8: Sơ đồ khối ATmega32A
Để hiểu 1 cách tổng quan và sự kết nối giữa các khối với nhau như thế nào bên trong ATmega32A ta xem Hình 2.8
Trang 27 Các chân của DS1307 được mô tả như Hình 2.10 Để rõ hơn ta có thể tham khảo link datasheet đính kèm
2.3.2 Cấu tạo DS1307
Cấu tạo bên trong DS1307 như Hình 2.15 bao gồm: mạch nguồn, mạch dao động, mạch điều khiển logic, mạch giao diện I2C, con trỏ địa chỉ và các thanh ghi (hay RAM)
Sử dụng DS1307 chủ yếu là việc 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 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 cho RTC.Việc đọc giá từ 7 thanh ghi là quá trình đọc thời gian thực mà RTC tạo ra
Hình 2.10: Sơ đồ chân của chip DS1307 loại DIP và SMD
Trang 29Bộ nhớ DS1307 như Bảng 2.4 có tất cả 64 thanh ghi 8-bit được đánh địa chỉ từ 0 đến 63 (từ 0x00h đến 0x3Fh) Với 8 thanh ghi đầu cho chức năng “đồng hồ”, còn lại
56 thanh ghi có thể được dùng chứa biến tạm như RAM Cụ thể trình bày bên dưới:
- Thanh ghi giây (SECONDS): Địa chỉ là 0x00 Bốn bit thấp chứa mã BCD 4-bit của chữ số hàng đơn vị của giá trị giây Bit 7 là 1 bit điều khiển có tên CH (Clock halt – treo đồng hồ), CH=1 bộ dao động trong chip bị vô hiệu hóa, đồng hồ không hoạt động Vì vậy, nhất thiết phải reset bit này xuống 0 ngay từ đầu
- Thanh ghi phút (MINUTES): Địa chỉ 0x01h, 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ùng lưu mã BCD của phút, bit thứ 7 luôn luôn bằng 0
- Thanh ghi giờ (HOURS): Địa chỉ 0x02h Bốn bit thấp dùng cho chữ số hàng đơn
vị của giờ DS1307 hỗ trợ 2 loại hệ thống hiển thị giờ là: 12h và 24h giờ, bit thứ
6 được dùng để xác lập hệ thống giờ Bit 6 = 0 thì hệ thống 24h được chọn, Bit thứ 6 = 1 thì hệ thống 12h được chọn khi đó Bit thứ 5 = 0 là AM và bit thứ 5 = 1
là PM
- Thanh ghi thứ (DAY – ngày trong tuần): Địa chỉ 0x03h Thanh ghi DAY chỉ mang giá trị từ 1 đến 7 tương ứng từ Chủ nhật đến thứ 7 trong 1 tuần Vì thế, chỉ có 3 bit thấp trong thanh ghi này có nghĩa Các bit còn lại luôn bằng 0
- Thanh ghi ngày (DATE – ngày trong tháng): Địa chỉ 0x04h Thanh ghi DATE có giá trị từ 1 đến 31, chỉ có 5 bit đầu tiên là có nghĩa Các bit còn lại luôn bằng 0
- Thanh ghi tháng (MONTH): Địa chỉ 0x05h Thanh ghi MONTH mang giá trị từ 1 đến 12, chỉ có 4 bit đầu tiên là có nghĩa Các bit còn lại bằng 0
- Thanh ghi năm (YEAR): Địa chỉ 0x06h Thanh ghi YEAR mang giá trị từ 0 đến
99 Chip DS1307 chỉ dùng cho 100 năm, nên giá trị năm chỉ có 2 chữ số, phần đầu của năm do người dùng tự thêm vào
2.3.3 Khái quát giao diện I2C
I2C là một chuẩn truyền thông nối tiếp đồng bộ do hãng điện tử Philips Semiconductor sáng lập và xây dựng thành chuẩn năm 1990 Một giao tiếp I2C gồm
có 2 dây: SDA và SCL Hai dây này được nối nguồn thông qua điện trở kéo lên.SDA
là đường truyền dữ liệu 2 hướng, còn SCL là đường truyền xung đồng hồ và chỉ theo một hướng được nêu rõ như Hình 2.12
Trang 30 Một bus I2C có thể hoạt động ở nhiều chế độ khác nhau:
- Một chủ một tớ (one master – one slave)
- Một chủ nhiều tớ (one master – multi slave)
- Nhiều chủ nhiều tớ (Multi master – multi slave
Có nhiều thiết bị cùng nối vào một bus I2C, nhưng sẽ không nhầm lẫn, vì mỗi thiết bị có một địa chỉ duy nhất Cần giao tiếp thiết bị nào master nó sẽ gửi 7 bit địa chỉ của thiết bị đó ra bus ngay sau xung START và bit thứ 8 điều khiển hướng truyền R/W Điều kiện START và STOP (Hình 2.13): START được thiết lập khi SDA từ cao xuống thấp, SCL ở mức cao STOP khi SDA đổi từ thấp lên cao, SCL cao
Hình 2.13: Điều kiện START và STOP
Định dạng dữ liệu truyền: Dữ liệu được truyền trên bus I2C theo từng bit, bit dữ liệu được truyền đi tại mỗi sườn lên của xung đồng hồ trên đường dây SCL, quá trình thay đổi dữ liệu ở mức thấp, mô tả như Hình 2.14
Hình 2.12: Giao tiếp I2C
Trang 31Hình 2.14: Quá trình truyền nhận 1 bit dữ liệu
Mỗi byte dữ liệu được truyền có độ dài là 8 bit.Số byte có thể truyền trong một lần là không hạn chế Mỗi byte được truyền đi theo sau là một bit ACK, bit MSB sẽ được truyền đi đầu tiên Sau 8 xung clock thì dữ liệu đã được truyền đi, ở xung clock thứ 9 thì bit ACK được truyền đi báo hiệu đã nhận đủ 8 bits Thiết bị truyền sau khi nhận được bit ACK sẽ tiếp tục thực hiện quá trình truyền hoặc kết thúc Khi không nhận được đúng địa chỉ hay muốn kết thúc quá trình giao tiếp, thiết bị nhận sẽ gởi một xung Not_ACK (NACK) để báo cho thiết bị chủ biết Thiết bị chủ sẽ tạo ra xung STOP
để kết thúc hay lặp lại một xung START để bắt đấu quá trình mới
Hình 2.15: Dữ liệu được truyền trên giao diện I2C
Hình 2.21 Quá trình truyền nhận 1 bit dữ liệu
Trang 32 Thông số của PIC 12F629
- Bộ nhớ Flash 1024 words,SRAM 64 bytes.,EEPROM 128 bytes, 35 cấu trúc lệnh đọc Tốc độ hoạt động: Lên đến 20Mhz Khả năng thực hiện ngắt
- Năm cổng I/O,1 bộ so sánh, 1 bộ ngắt,2 timer Chế độ SLEEP Mode tiết kiệm năng lượng
2.4.2 Sơ đồ chân PIC 12F629
PIC 12F629 có 5 chân I/O GP0,GP1,GP2,GP4,GP5 Mỗi chân trong VĐK còn thực hiện thêm những chức năng cho riêng mình như dùng làm ngắt ngoại, ngắt timer
hay kết nối thạch anh ngoại….Sơ đồ chân chi tiêt như hình 2.24
Hình 2.17: Sơ đồ chân PIC 12F629
Trang 33Hình 2.18: Sơ đồ khối PIC 12F629
Trang 342.5 Cảm biến đo nhiệt độ độ ẩm DHT11
2.5.1 Giới thiệu
DHT11 là cảm biến nhiệt độ và độ ẩm, hình ảnh thực tế như Hình 2.19 Nó ra đời sau và được sử dụng thay thế cho dòng SHT1x ở những nơi không cần độ chính xác cao về nhiệt độ và độ ẩm
Trang 35 Nguyên lý hoạt động:
Sơ đồ kết nối với vi điều khiển như Hình 2.20 Để có thể giao tiếp với DHT11 theo chuẩn one-wire vi xử lý thực hiện theo 2 bước như bên dưới và mô tả quá trình truyền dữ liệu như Hình 2.21:
- Bước 1: Gửi tín hiệu Start
MCU thiết lập chân DATA là Output Kéo chân DATA xuống 0 trong khoảng thời gian >18ms Khi đó DHT11 sẽ hiểu MCU muốn đo giá trị nhiệt độ và độ ẩm MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào Sau khoảng 20-40us, DHT11
sẽ kéo chân DATA xuống thấp Nếu >40us mà chân DATA không được kéo xuống thấp nghĩa là không giao tiếp được với DHT11.Chân DATA sẽ ở mức thấp 80us sau
đó nó được DHT11 kéo nên cao trong 80us Bằng việc giám sát chân DATA, MCU
có thể biết được có giao tiếp được với DHT11 không Nếu tín hiệu đo được DHT11 lên cao, khi đó hoàn thiện quá trình giao tiếp của MCU với DHT
- Bước 2: Đọc giá trị trên DHT11
DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte Trong đó:
Byte 1, byte 2: giá trị phần nguyên và thập phân của độ ẩm (RH%)
Byte 3, byte 4: giá trị phần nguyên và thập phân của nhiệt độ (TC)
Byte 5 : Kiểm tra tổng
Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm và nhiệt độ
là chính xác, nếu sai thì kết quả đo không có nghĩa Sau khi giao tiếp được với
DHT11, DHT11 sẽ gửi liên tiếp 40 bit 0 hoặc 1 về MCU, tương ứng chia thành 5 byte kết quả của Nhiệt độ và độ ẩm
Hình 2.21: Quá trình truyền dữ liệu
Trang 36Sau khi tín hiệu được đưa về 0, ta đợi chân DATA của MCU được DHT11 kéo lên
1 Nếu chân DATA là 1 trong khoảng 26-28 us thì là 0, còn nếu tồn tại 70us là 1 Do
đó trong lập trình ta bắt sườn lên của chân DATA, sau đó delay 50us Nếu giá trị đo được là 0 thì ta đọc được bit 0, nếu giá trị đo được là 1 thì giá trị đo được là 1 Cứ như thế ta đọc các bit tiếp theo
2.6 IC ghi dịch 74HC595
Hình 2.22: Hình ảnh IC 74HC595
IC 74HC595 là IC ghi dịch 8 bit kết hợp chốt dữ liệu, đầu vào nối tiếp đầu ra nối tiếp hoặc song song, và có hình dạng thực tế như Hình 2.22 Ta có thể kết hợp nhiều IC 74HC595 với nhau nhờ mắc nối tiếp đầu vào dữ liệu các IC lại với nhau
Sơ đồ chân:
Hình 2.23: Sơ đồ chân IC 74HC595
Trang 37 Chức năng các chân ( sơ đồ chân xem Hình 2.23):
- Input (Chân 14) : Đầu vào dữ liệu nối tiếp Tại 1 thời điểm xung clock chỉ đưa vào được 1 bit
- Output Q0=>Q7 : Trên các chân (15,1,2,3,4,5,6,7): Xuất dữ liệu khi chân chân 13 tích cực ở mức thấp và có một xung tích cực ở sườn âm tại chân chốt 12
- Output enable (Chân 13) : Chân cho phép tích cực ở mức thấp (0) Khi ở mức cao, không có đầu ra nào được cho phép
- Chân 9: Chân dữ liệu nối tiếp Nếu dùng nhiều 74HC595 mắc nối tiếp nhau thì chân này đưa vào đầu vào của con tiếp theo khi đã dịch đủ 8bit
- Shift clock (Chân 11): Chân vào xung clock Khi có 1 xung clock tích cực ở sườn dương(từ 0 lên 1) thì 1bit được dịch vào IC
- Latch clock (Chân 12) : Xung clock chốt dữ liệu Khi có 1 xung clock tích cực
ở sườn dương thì cho phép xuất dữ liệu trên các chân output
- Reset (Chân 10): Khi chân này ở mức thấp (mức 0) thì dữ liệu bị xóa trên chip)
Sơ khối bên trong được trình bày như Hình 2.24:
Hình 2.24: Sơ đồ khối 74HC595
Trang 382.7 Led RGB SMD1210
Hình 2.25: Hình ảnh led RGB SMD1210
Led RGB SMD1210 (Hình 2.25) là led 3 màu thuộc loại anode chung thuộc linh kiện dán
Sơ đồ chân led được trình bày như Hình 2.26
Hình 2.26: Sơ đồ chân led RGB SMD 1210
LED RGB với 3 màu cơ bản tương ứng 3 led bên trong, nhưng thực tế khi lập trình hay điều khiển cho led ta có thể thực hiện phối màu để có thể tạo ra được rất nhiều màu trong thực tế nhằm đáp ứng được sự đa dạng màu sắc
2.8 IC LM2596
IC LM2596 là IC ổn áp kiểu Buck (xung), hoạt động ở tần số 150KHz, ngõ ra
có thể là 3.3V, 5V, 12V tùy loại LM 2596 có dòng ngõ ra lớn, đạt tới 3A nên ta chọn
để làm IC ổn áp trong khối nguồn Hình dạng thực tế như Hình 2.27
Trang 39
Hình 2.27: Hình ảnh LM2596
Sơ đồ chân LM2596 như Hình 2.28:
Hình 2.28: Sơ đồ chân LM2596 ICLM2596 có 5 chân như Hình 2.28, chức năng chân cũng đã được thể hiện rõ
trên hình ICLM2596 có tác dụng ổn áp, tạo ra nguồn 5V cấp nguồn cho toàn mạch hoạt động Tấm kim loại phía sau được kết nối và có tác dụng như 1 chân mass Đặc biết LM2596 chịu được dòng lớn 3-5A Vì mạch hoạt động với tổng dòng khá lớn, tầm hơn 1.5A khi các led đều sáng Nên đây là lí do vì sao nhóm chọn LM2596 mà không chọn IC7805