IC thời gian thực DS1307

Một phần của tài liệu ĐỒNG HỒ LED QUAY RGB (Trang 27)

2.3.1. Tổng quan về DS1307.

Hình 2.9: Hình dạng DS1307

DS1307 là chip đồng hồ thời gian thực (RTC : Real-time clock) có hình dạng như Hình 2.9. 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. DS1307 được đọc và ghi thông qua giao diện nối tiếp I2C nên cấu tạo bên ngoài rất đơn giản.

 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.

Bảng 2.4: Tổ chức các thanh ghi thời gian

Bộ 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.

 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.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.

2.4. PIC 12F629

2.4.1. Tổng quan về PIC 12F629

Hình 2.16: Hình ảnh PIC12F629.

PIC 12F629 là vi điều khiển có kiến trúc Havard và được chế tạo bởi Microchip Technology, bắt nguồn là chữ viết tắt của “Programmable Intelligent Computer” (Máy tính khả trình thông minh). Nó là vi điều khiển với kiến trúc RISC, chạy một lệnh 1 chu kỳ máy. PIC 12F629 thuộc dòng PIC low-end (độ dài mã lệnh 12 bit).

 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

2.5. Cảm biến đo nhiệt độ độ ẩm DHT11 2.5.1. Giới thiệu 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.

Hình 2.19: Cảm biến DHT11.

DHT11 có cấu tạo 4 chân như hình. Nó sử dụng giao tiếp số theo chuẩn 1 dây.

 Thông số kỹ thuật: - Đo độ ẩm: 20%-95% - Nhiệt độ: 0-50ºC - Sai số độ ẩm ±5% - Sai số nhiệt độ: ±2ºC 2.5.2. Nguyên lý hoạt động Hình 2.20: Kết nối DHT11 với vi xử lý.

 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.

Sau 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:

 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:

2.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.

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.

2.9. EEPROM 24C16

Hình 2.29: Hình ảnh Eeprom 24C16

Eeprom 24C16 (như Hình 2.29) là sản phẩm của hãng ATMEL, là bộ nhớ dữ liệu có thể lưu được dữ liệu khi bị mất điện. Giao tiếp theo giao thức I2C. Nó thuộc dòng 24CXX của ATMEL, tùy vào bộ nhớ của từng dòng mà sẽ có hệ số riêng:

- AT24C01A: 128x8(1K) - AT24C02: 256x8(2K) - AT24C04: 512x8(4K) - AT24C08A: 1024x8 (8K) - AT24C16A: 2048x8 (16K)  Thông số kỹ thuật:

 Sơ đồ chân như Hình 2.30:

Hình 2.30: Sơ đồ chân Eeprom 24C16

Chân Vcc-GND: nối nguồn và mass

Chân A0,A1,A2: định địa chỉ của Eeprom. Chân SDA,SCL: giao tiếp I2C.

Hình 2.31: Sơ đồ khối Eeprom 24C16

Như trên Hình 2.31 là sơ đồ khối, ta có thể tham khảo để hiểu rõ hơn cấu tạo Eeprom.

2.10. Cảm biến từ Hall

Phát hiện vào năm 1880 bởi Edwin Hall, khi đặt một từ trường vuông góc với hướng của dòng điện trong kim loại hay chất bán dẫn thì xuất hiện một điện trường vuông góc với cả hướng của dòng điện và hướng của từ trường như Hình 2.32. Đây là một trong những hiệu ứng được sử dụng rộng rãi trong công nghệ sensor.

Hình 2.33: Hình dạng và sơ đồ chân cảm biến Hall

Hình dạng cảm biến hall thực tế như Hình 2.33. Cảm biến có kích thước khá nhỏ, 1 chân nguồn Vcc, 1 chân GND, và 1 ngõ ra Out. Ngõ ra sẽ bị thay đổi từ thấp lên cao khi qua vùng có từ trường. Dựa trên ứng dụng này nhóm dùng hall để xác định tọa độ điểm gốc cho mạch.

2.11. Mắt thu hồng ngoại

Hình 2.34: Hình dạng mắt thu hồng ngoại

Mắt thu hồng ngoại ( Hình 2.34) có chức năng chuyển sóng hồng ngoại phát ra từ remote thành đúng dạng tín hiệu số ứng với phím được bấm. Khi không có sóng tới tín hiệu ra trên chân Data ở mức cao.

Ngoài những linh kiện trên còn có nhiều linh kiện hổ trợ khác như tụ điện, trở, cuộn cảm, ở đây nhóm không trình bày cụ thể thêm.

CHƯƠNG 3: THIẾT KẾ

3.1. Sơ đồ khối và sơ đồ nguyên lý toàn mạch. 3.1.1. Sơ đồ khối

Hình 3.1: Sơ đồ khối toàn hệ thống.

Hình 3.1 mô tả hệ thống sơ đồ khối của mạch. Bao gồm 7 khối chính. Mỗi khối có những chứng năng khác nhau, cụ thể sẽ được trình bày rỏ như bên dưới theo từng phần. Các khối tuy mang chức năng khác nhau song có mối quan hệ tương hỗ cho nhau để ra được sản phẩm hoàn thiện cuối cùng.

 Trên hình 3.2 là sơ đồ nguyên lý của toàn mạch. Trong đó bao gồm nhiều khối khác nhau, nói 1 cách tổng thể nguyên lý chung như sau:

- Về nguyên tắc hiển thị là do hiện tượng lưu ảnh trên mắt. Mạch led này được chia làm 240 cột , ứng với mỗi chế độ khác nhau thì mỗi cột sẽ mang nhiệm vụ xuất dữ liệu tương ứng với cột đó. Xuất hết 240 cột ta được 1 hình ảnh hoàn thiện, vì số lần sáng tắt liên tục vượt qua khả năng đáp ứng của mắt nên ta thấy như là liên tục. Tốc độ động cơ sẽ có sự dao động lúc nhanh lúc chậm. Vậy nên ta sử dụng cảm biến hall để xác định điểm gốc và tính toán thời gian chênh lệch mỗi cột cho chính xác, từ đó mạch có thể đáp ứng được khi tốc độ thay đổi. Để hiển thị được thời gian mạch sử dụng DS1307 để đọc thời gian thực bao gồm ngày tháng năm, giờ phút giây, DS1307 được kết nối 1 pin 3V để tranh bị sai giờ khi mất điện nguồn trực tiếp. Khi chạy sai giờ DS1307 cho phép đặt lại

Một phần của tài liệu ĐỒNG HỒ LED QUAY RGB (Trang 27)