[AVR] Thiết Kế Hệ Thống Chiếu Sáng Đèn Đường | ATmega16

 

Thiết Kế Hệ Thống Chiếu Sáng Đèn Đường

Yêu cầu của đề tài

- Hiển thị thời gian lên màn hình LCD.
- Điều chỉnh thời gian.
- Khi đến thời gian đã cài đặt thì tự động bật đèn đường chiếu sáng, khi trời sáng thì tắt đèn.
- Giá trị thời gian cài đặt được bằng các nút nhấn, hiển thị lên màn hình LCD.

Phân tích thiết kế

Linh kiện

Vi điều khiển ATmega16

Màn hình LCD1602

Hình 1: Màn hình LCD1602
Giới thiệu
LCD 1602 (Liquid Crystal Display) được dùng trong rất nhiều các ứng dụng của VĐK. LCD 1602 có rất nhiều ưu điểm so với các dạng hiển thị khác như: khả năng hiển thị kí tự đa dạng (kí tự đồ họa, chữ, số, ); đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau dễ dàng , tiêu tốn rất ít tài nguyên hệ thống, giá thành rẻ,…
Thông số kỹ thuật

-         Điện áp MAX : 7V

-         Điện áp MIN : - 0,3V

-         Điện áp ra mức thấp : <0.4V

-         Điện áp ra mức cao : > 2.4

-         Hoạt động ổn định : 2.7-5.5V

-         Dòng điện cấp nguồn : 350uA - 600uA

-         Nhiệt độ hoạt động : - 30 - 75 độ C

Chức năng từng chân của LCD1602

-         Chân số 1 - VSS : chân nối đất cho LCD được nối với GND của mạch điều khiển.

-         Chân số 2 - VDD : chân cấp nguồn cho LCD, được nối với VCC=5V của mạch điều khiển.

-         Chân số 3 - VE : điều chỉnh độ tương phản của LCD.

-         Chân số 4 - RS : chân chọn thanh ghi, được nối với logic "0" hoặc logic "1":

·        Logic “0”: Bus DB0 - DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read).

·        Logic “1”: Bus DB0 - DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD.

-         Chân số 5 - R/W : chân chọn chế độ đọc/ghi (Read/Write), được nối với logic “0” để ghi hoặc nối với logic “1” đọc.

-         Chân số 6 - E : chân cho phép (Enable). Sau khi các tín hiệu được đặt lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân này như sau:

·        Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào thanh ghi bên trong khi phát hiện một xung (high-to-low transition) của tín hiệu chân E.

·        Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp.

-         Chân số 7 đến 14 - D0 đến D7: 8 đường của bus dữ liệu dùng để trao đổi thông tin với MPU. Có 2 chế độ sử dụng 8 đường bus này là: Chế độ 8 bit (dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7) và Chế độ 4 bit (dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7).

-         Chân số 15 - A : nguồn dương cho đèn nền.

-         Chân số 16 - K : nguồn âm cho đèn nền.

IC DS1307

DS1307 là chip đồng hồ thời gian thực (RTC : Real-time clock), khái niệm thời gian thực ở đây được dùng với ý nghĩa thời gian tuyệt đối mà con người đang sử dụng, tình bằng giây, phút, giờ…DS1307 là một sản phẩm của Dallas Semiconductor (một công ty thuộc Maxim Integrated Products). Chip này có 7 thanh ghi 8-bit chứa thời gian là: giây, phút, giờ, thứ (trong tuần), ngày, tháng, năm. Ngoài ra DS1307 còn có 1 thanh ghi điều khiển ngõ ra phụ và 56 thanh ghi trống có thể dùng như RAM. 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. DS1307 xuất hiện ở 2 gói SOIC và DIP có 8 chân.
Hình 2: IC DS1307
Các chân của DS1307 được mô tả như sau:
X1 và X2: là 2 ngõ kết nối với 1 thạch anh 32.768KHz làm nguồn tạo dao động cho chip.
VBAT: cực dương của một nguồn pin 3V nuôi chip.
GND: chân mass chung cho cả pin 3V và Vcc.
Vcc: nguồn cho giao diện I2C, thường là 5V và dùng chung với vi điều khiển.
Chú ý là nếu Vcc không được cấp nguồn nhưng VBAT được cấp thì DS1307 vẫn đang hoạt động (nhưng không ghi và đọc được).
SQW/OUT: một ngõ phụ tạo xung vuông (Square Wave / Output Driver), tần số của xung được tạo có thể được lập trình. Như vậy chân này hầu như không liên quan đến chức năng của DS1307 là đồng hồ thời gian thực, chúng ta sẽ bỏ trống chân này khi nối mạch.
SCL và SDA là 2 đường giao xung nhịp và dữ liệu của giao diện I2C.
Hình 3: Mạch ứng dụng đơn giản của DS1307
Cấu tạo bên trong DS1307 bao gồm một số thành phần như mạch nguồn, mạch dao động, mạch điều khiển logic, mạch giao điện I2C, con trỏ địa chỉ và các thanh ghi (hay RAM). Do đa số các thành phần bên trong DS1307 là thành phần “cứng” nên chúng ta không có quá nhiều việc khi sử dụng DS1307. Sử dụng DS1307 chủ yếu là ghi và đọc các thanh ghi của chip này. Vì thế cần hiểu rõ 2 vấn đề cơ bản đó là cấu trúc các thanh ghi và cách truy xuất các thanh ghi này thông qua giao diện I2C. Phần này chúng ta tìm hiểu cấu trúc các thanh ghi trước và cách truy xuất chúng sẽ tìm hiểu trong phần 2, điều khiển DS1307 bằng PIC.
Bộ nhớ DS1307 có tất cả 64 thanh ghi 8-bit được đánh địa chỉ từ 0 đến 63 (từ 0x00 đến 0x3F theo hệ hexadecimal). Tuy nhiên, thực chất chỉ có 8 thanh ghi đầu là dùng cho chức năng “đồng hồ” (RTC) còn lại 56 thanh ghi bỏ trông có thể được dùng chứa biến tạm như RAM nếu muốn. Bảy thanh ghi đầu tiên chứa thông tin về thời gian của đồng hồ bao gồm: giây (SECONDS), phút (MINUETS), giờ (HOURS), thứ (DAY), ngày (DATE), tháng (MONTH) và năm (YEAR). Việc ghi giá trị vào 7 thanh ghi này tương đương với việc “cài đặt” thời gian khởi động cho RTC. Việc đọc giá từ 7 thanh ghi là đọc thời gian thực mà chip tạo ra. Ví dụ, lúc khởi động chương trình, chúng ta ghi vào thanh ghi “giây” giá trị 42, sau đó 12s chúng ta đọc thanh ghi này, chúng ta thu được giá trị 54. Thanh ghi thứ 8 (CONTROL) là thanh ghi điều khiển xung ngõ ra SQW/OUT (chân 6). Tuy nhiên, do chúng ta không dùng chân SQW/OUT nên có thề bỏ qua thanh ghi thứ 8.

Relay 5 VDC

Hình 4: Relay 5V
Relay hay còn gọi là rơ – le là tên gọi theo tiếng Pháp, là một công tắc (khóa K) điện từ được vận hành bởi một dòng điện tương đối nhỏ có thể bật hoặc tắt một dòng điện lớn hơn nhiều. Bản chất của relay là một nam châm điện (một cuộn dây trở thành một nam châm tạm thời khi dòng điện chạy qua nó) và hệ thống các tiếp điểm đóng cắt có thiết kế module hóa dễ dàng lắp đặt. Bạn có thể nghĩ relay sẽ như một loại đòn bẩy điện vậy, khi chúng ta kích nó bằng một dòng điện nhỏ thì nó sẽ bật “đòn bẩy” một thiết bị nào đó đang sử dụng dòng điện lớn hơn nhiều.
Điện áp và dòng điện được relay chuyển mạch sẽ rất khác so với tín hiệu được sử dụng để kích hoạt hoặc cấp điện cho relay. Nói tóm lại rơ-le hay relay là một thiết bị thông dụng, gọn nhẹ, giá thành dễ tiếp cận và được sử dụng rộng rãi trong đời sống hằng ngày của chúng ta.


Hình 6: Sơ đồ chân của Relay 5V
Thông số kỹ thuật:
• Điện áp kích hoạt (điện áp trên cuộn dây): 5 VDC
• Dòng kích hoạt (dòng điện danh định): 70mA
• Dòng tải AC tối đa: 10A – 250/125 VAC
• Dòng tải DC tối đa: 10A – 30/28 VDC
• Thời gian hoạt động: 10ms
• Chuyển mạch tối đa: 300 lần/phút

Module cảm biến ánh sáng

Hình 7: Module cảm biến ánh sáng
Giới thiệu

Cảm biến cường độ ánh sáng quang trở rất nhạy cảm với cường độ ánh sáng môi trường thường được sử dụng để phát hiện độ sáng môi trường xung quanh và cường độ ánh sáng. Khi cường độ ánh sáng môi trường xung quanh bên ngoài vượt quá một ngưỡng quy định, ngõ ra của module D0 là mức logic thấp. Ngoài ra còn có ngõ ra Analog ở chân A0 để xử lí mức độ ánh sáng.

Cảm biến cường độ ánh sáng phát hiện cường độ ánh sáng, sử dụng bộ cảm biến photoresistor loại nhạy cảm, cho tín hiệu ổn định, rõ ràng và chính xác hơn so với quang trở độ nhạy có thể tùy chỉnh. Thiết kế đơn giản nhưng hiệu quả và độ tin cậy cao, độ nhiễu thấp do được thiết kế mạch lọc tín hiệu trước khi so sánh với ngưỡng.

Thân thiện với người dùng hơn khi hổ trợ cả 2 dạng tín hiệu ngõ ra dạng số (tín hiệu 0 1) và dạng analog.

Ứng dụng

  • Điều khiển thiết bị bật tắt theo ánh sáng
  • Điều khiển đèn chiếu sáng tự động
  • Hệ thống cảnh báo chống trộm sử dụng kết hợp với module lazer
  • Đo nhịp tim
  • Truyền tải dữ liệu bằng thu nhận xung laser
Thông số kỹ thuật
  • Điện áp hoạt động 3.3 – 5 V
  • Kết nối 4 chân với 2 chân cấp nguồn (VCC và GND) và 2 chân tín hiệu ngõ ra (AO và DO).
  • Hỗ trợ cả 2 dạng tín hiệu ra Analog và TTL. Ngõ ra Analog 0 – 5V tỷ lệ thuận với cường độ ánh sáng, ngõ TTL tích cực mức thấp.
  • Độ nhạy cao với ánh sáng được tùy chỉnh bằng biến trở .
  • Kích thước 32 x 14mm

Các chức năng chính

- Hiển thị thời gian lên màn hình LCD.
- Điều chỉnh thời gian.
- Đọc tín hiệu cảm biến ánh sáng quang trở.
- Khi đến thời gian đã cài đặt thì tự động bật đèn đường chiếu sáng, khi trời sáng thì tắt đèn.
- Giá trị thời gian cài đặt được bằng các nút nhấn, hiển thị lên màn hình LCD.

Triển khai

Thiết kế phần cứng

Sơ đồ nguyên lý


Thiết kế phần mềm

- Hệ thống sử dụng phần mềm Proteus để mô phỏng và vẽ mạch.

Video


Download Project

Mô phỏng sơ đồ nguyên lý: Tại đây

Mô phỏng mạch in: Tại đây

File mạch in (PDF): Tại đây

CodeVisionAVR:  Tại đây

Chúc Các Bạn Thành Công!

Đinh Xuân Hậu

Đinh Xuân Hậu Trường: Đại học Sư phạm Kỹ thuật Hưng Yên Khoa: Công nghệ Thông tin Bộ môn: Hệ thống Thông tin

Đăng nhận xét

Mới hơn Cũ hơn