1. Trang chủ
  2. » Giáo Dục - Đào Tạo

thiết kế chế tạo bảng mạch vi điều khiển thực hiện chứcnăng điều khiển thời gian, cài đặt hẹn giờ tự động

19 176 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 0,94 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đặt vấn đề Yêu cầu đề tài đặt ra là thiết kế chế tạo bảng mạch vi điều khiển thực hiện chức năng điều khiển thời gian, cài đặt hẹn giờ tự động điều khiển bật tắt thiết bị điện sử dụng Vi

Trang 1

MỤC LỤ

LỜI MỞ ĐẦU

Chương 1: TỔNG QUAN VỀ ĐỀ TÀI 1

1.1 Đặt vấn đề 1

1.2 Phân tích yêu cầu thiết kế 1

1.2.1 Yêu cầu tính năng 1

1.2.2 Yêu cầu phi tính năng 2

1.2.3 Yêu cầu về hoạt động của mạch điện 2

1.3 Bảng phân công công việc 2

1.4 Cơ sở lý thuyết 3

1.4.1 IC thời gian thực DS1307 3

1.4.2 IC Vi điều khiển Atmega 16 4

1.4.3 LCD 16X2 6

Chương 2: THIẾT HỆ THỐNG 7

2.1 Sơ đồ khối tổng thể của mạch điện 7

2.2 Nguyên lý và cấu tạo của các khối chức năng 8

2.2.1 Khối nguồn 8

2.2.2 Khối thời gian thực 9

2.2.3 Khối hiển thị - LCD 16x2 11

2.2.4 Khối Relay 12

2.2.5 Cổng nạp chip 12

Chương 3: KẾT QUẢ THỰC HIỆN SẢN PHẨM 14

3.1 Sơ đồ nguyên lý, layout và danh mục linh kiện 14

3.1.1 Sơ đồ nguyên lý 14

3.1.2 Sơ đồ mạch in 15

3.1.3 Danh mục linh kiện 15

Trang 2

3.3.1 Hướng ứng dụng 18 3.3.2 Ưu điểm, nhược điểm của đề tài 18

TÀI LIỆU THAM KHẢO 19

Trang 3

Chương 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Đặt vấn đề

Yêu cầu đề tài đặt ra là thiết kế chế tạo bảng mạch vi điều khiển thực hiện chức năng điều khiển thời gian, cài đặt hẹn giờ tự động điều khiển bật tắt thiết bị điện sử dụng Vi điều khiển AVR Atemega 16 Đề tài sử dụng IC thời gian thực DS1307, có tác dụng đếm thời gian, Vi điều khiển AVR Atemega 16 chỉ thực hiện đặt thời gian để đưa vào DS1307, sau đó đọc giá trị thời gian từ DS1307 ra Vi điều khiển còn có chức năng nhận các tín hiệu đặt thời gian từ các nút bấm, sau đó xử lí để đưa ra thời gian phù hợp từ đó bật tắt thiết bị điện mong muốn Đề tài đã chọn LED và LCD để thực hiện chức năng hiển thị các thông tin và các trạng thái có liên quan trong đề tài

Từ việc phân tích và khảo sát trên, nhóm đã đưa ra các vấn đề chính cần giải quyết của yêu cầu đề tài đặt ra là:

- Tìm hiểu kiến thức cơ bản Vi điều khiển AVR Atemega 16, đặc biệt là giao tiếp giữa Vi điều khiển và DS1307

- Xây dựng sơ đồ khối, từ đó xây dựng nguyên lí và mô phỏng mạch trên phần mềm Orcard (Orcard Capture)

- Thiết kế mạch in trên phần mềm Orcard (Orcard Layout)

- Thực hiện lắp ráp linh kiện trên mạch in

- Tìm hiểu mạch nạp USPISP và phần mềm nạp Progisp để thực hiện nạp code cho Vi điều khiển AVR Atemega 16

- Viết báo cáo tổng hợp về quy trình thực hiện đề tài

1.2 Phân tích yêu cầu thiết kế

1.1.1 Yêu cầu tính năng

Mạch có các yêu cầu tính năng sau:

- Vi điều khiển: Vi điều khiển AVR Atemega 16

- Kết nối dữ liệu thông tin thời gian với đồng hồ thời gian thực

- Cấu hình cài đặt được thời gian bằng bàn phím

- Nguồn cấp: Input 9 12 VDC Có mạch nguồn ổn áp 5VDC trên bảng mạch

- Màn hình LCD hiển thị thông số thời gian

- LED trạng thái và relay để thực hiện điều khiển khi đến mốc thời gian đặt trước

- Thiết kế đầy đủ các mạch của vi điều khiển: mạch reset, dao động thạch anh,

Trang 4

1.1.2 Yêu cầu phi tính năng

- Kích thước giới hạn: 9x15 cm Sắp xếp linh kiện và đi dây khoa học

- Thiết kế các đầu kết nối hợp lý

- Đảm bảo an toàn về liên động điện

1.1.3 Yêu cầu về hoạt động của mạch điện

- Cài đặt được thời gian cho mạch điện và chạy được thời gian thực

- Cài đặt hẹn giờ và thực hiện điều khiển relay bật/tắt theo thời gian hẹn trước

1.3 Bảng phân công công việc

Tìm hiểu đề

tài

Xác định các yêu cầu thiết kế của đề tài Nguyễn Thành Đông Tìm hiểu kiến thức về Vi điều khiển AVR

chip Atemega 16

Nguyễn Tuấn Thành

Lê Thế Anh Lập kế hoạch chi tiết, phân công công việc

cho quá trình thiết kế sản phẩm Lê Thế Anh

Thiết kế hệ

thống

Thiết kế sơ đồ khối Nguyễn Thành ĐôngNguyễn Tuấn Thành Thiết kế chi tiết từng khối Nguyễn Tuấn ThànhLê Thế Anh

Vẽ mạch nguyên lý và mô phỏng trên

Lập trình cho Vi điều khiển Atemega 16 Nguyễn Tuấn Thành

Hoàn thành

sản phẩm

Thiết kế mạch in trên Orcard Layout Nguyễn Tuấn Thành Mua linh kiện, kiểm tra mạch in Nguyễn Thành Đông

Đo đạc, kiểm tra, đánh giá sản phẩm Nguyễn Thành ĐôngLê Thế Anh

Báo cáo bài

tập lớn Hoàn thành nội dung báo cáo Word

Nguyễn Thành Đông Nguyễn Tuấn Thành

Lê Thế Anh Thuyết trình báo cáo trước giáo viên Lê Thế Anh

Trang 5

1.4 Cơ sở lý thuyết

1.1.4 IC thời gian thực DS1307

Hình 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 chức năng các chân IC DS1307

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

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

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

Trang 6

1.1.5 IC Vi điều khiển Atmega 16

1.1.1.1 Giới thiệu

Atmega 16 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) 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 Atmega 16 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 Atmega 16 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 Atmega 16 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 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 ngôn ngữ lập trình C 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 IC Vi điều khiển Atmega 16

Trang 7

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

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

ATmega 16 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 tham chiếu 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 )

Các PORT của Vi điều khiển:

Trang 8

- 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 không hoạt động, khi PORTA là input thì các điện trở kéo được kích hoạt

- 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 đặc biệt tùy mục đích sử dụng

- 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 xảy ra

- 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 tùy thuộc vào

mụ đích sử dụng

1.1.6 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ình hiển thị

Trang 9

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 4 LCD 16x2 trên thực tế Hình 5 LCD 16x2 dưới dạng sơ đồ chân

Chương 2: THIẾT HỆ THỐNG 1.5 Sơ đồ khối tổng thể của mạch điện

Hình 6 Sơ đồ khối tổng tổng quan

Trang 10

Hình 7 Sơ đồ chi tiết các thành phần của mạch Hình 6 biểu diễn sơ đồ khối tổng quan của toàn bộ đề tài “Mạch vi điều khiển

AVR thực hiện chức năng cài đặt hẹn giờ tự động bật tắt thiết bị điện” Có 6 khối chính như trong hình vẽ:

- Khối nguồn sẽ cung cấp nguồn cho toàn bộ mạch: Khối thời gian thực, Khối điều khiển thiết bị điện, Khối hiển thị và Khối điều khiển chính

- Khối điều chỉnh ngày giờ và hẹn giờ là 4 nút bấm MODE, UP, DOWN và OK

- Khối điều khiển chính là vi điều khiển Atmega16 sẽ nhận tín hiệu từ Khối điều chỉnh hẹn giờ, sau đó thực hiện xử lý rồi giao tiếp với Khối thời gian thực DS1307 và gọi thời gian Đồng thời với quá trình đó, Khối điều khiển chính cũng gửi dữ liệu đến các Khối điều khiển thiết bị điện và Khối hiển thị

- Khối hiển thị là LCD 16x2 nhận tín hiệu từ khối điều khiển để hiển thị các thông tin về thời gian và thứ - ngày – tháng – năm theo yêu cầu đặt ra

- Khối điều khiển thiết bị điện bao gồm 1 đèn LED báo hiệu và 1 Relay 5V-220V Khi nhận được tín hiệu từ vi điều khiển, đèn LED và Relay sẽ thực hiện chức năng tự động bật/tắt

1.6 Nguyên lý và cấu tạo của các khối chức năng.

1.1.7 Khối nguồn

Hình 8 Sơ đồ khối nguồn

Khối nguồn là mạch ổn áp 5V khá đơn giản sử dụng 7805 Công suất đầu ra khá thấp (5W) Mạch có thể được ứng dụng nhiều trong các mạch điều khiển, mạch

Trang 11

kế với chi phí thấp, nguồn đầu ra ổn định Nhược điểm của nó là công suất đầu ra khá thấp (1A) và hoạt động không ổn định khi có nhiễu bên ngoài Hoạt động được ở giải nhiệt độ khá cao là 0 -125 độ C

IC 7805 có 3 chân cho ta kết nối với nó : Chân 1 là chân nguồn đầu vào, chân 2

là chân GND , chân 3 là chân lấy điện áp ra

- Chân 1 - 2 (Chân điện áp đầu vào) : Đây là chân cấp nguồn đầu vào cho

7805 hoạt động Giải điện áp cho phép đầu vào lớn nhất là 40V

- Chân 3 ( Chân điện áp đầu ra) : Đây là chân cho lấy điện áp đầu ra ổn định 5V Đảm bảo đầu ra ổn định luôn nằm trong giải từ (4.75V đến 5.25V)

Để đảm bảo tản nhiệt tốt cho 7805 khi chạy với tải Khi công suất tăng lên thì

do 7805 là linh kiện bán dẫn công suất nên rất nóng khi tải lớn Để tráng hỏng linh kiện và cho linh kiện hoạt động trong nhiệt độ bình thường thì cần phải tản nhiệt tốt

2.1.1.2 Thành phần lọc nguồn và lọc nhiễu

Các tụ C1 và C3 là các tụ hóa dùng để lọc điện áp Vì đây là điện áp 1 chiều nhưng chưa được phằng vẫn còn các gợn nhấp nhô nên các tụ này có tác dụng lọc nguồn cho thành điện áp một chiều phẳng

- Tụ C1 là lọc nguồn đầu vào cho 7805 Tụ này là tụ hóa phải có điện dung đủ lớn để lọc phẳng điện áp đầu vào và điện áp tụ chịu đựng phải lớn hơn điện

áp đầu vào

- Tụ C3 là lọc nguồn đầu ra cho 7805 Tụ này cũng là tụ hóa dùng để lọc nguồn đầu ra cho băng phẳng

Trong thành phần một chiều còn có các sóng điều hòa bậc 2, 3 , sóng nhấp nhô

có tần số cao, nhiễu bên ngoài Các sóng này ảnh hưởng đến hoạt động của 7805 Nếu trong mạch tồn tại những thành phần sóng này sẽ làm sai sót khó phát hiện trong mạch làm cho mạch hoạt động không ổn định

- Hai tụ lọc nhiễu tần số cao C2 và C4 là tụ không phân cực Hai tụ này lọc các thành phần trên cho đầu vào và đầu ra đảm bảo cho mạch hoạt động bình thường

1.1.8 Khối thời gian thực

Khối thời gian thực sử dụng IC DS1307 DS1307 là một IC thời gian thực với nguồn cung cấp nhỏ, dùng để cập nhật thời gian và ngày tháng với 56 bytes SRAM

Trang 12

số 4 và số 8 của IC Ngoài ra nguồn pin 3V được nối vào chân số 3 của IC là nguồn pin dự trữ khi ngắt nguồn cấp chính, đảm bảo IC vẫn hoạt động bình thường (trong trường hợp mất nguồn nuôi bất chợt, khi khởi động lại mạch không bị sai giờ) Chân 1(X1) và 2(X2) của IC được kết nối với thạch anh có giá trị 32,768KHz để tạo dao động ngoài ra, Để tăng độ ổn định tần số của thạch anh, ta dùng thêm 2 tụ nhỏ C10, C11 (22pF x2), tụ bù nhiệt ổn tần Hai chân 5 và 6 của IC là chân SCL (Serial Clock)

và SDA (Serial Data) nối với 2 cổng SDA, SCL tương ứng của vi điều khiển Atmega16, chúng có chức năng gửi clock và gửi/nhận dữ liệu cho vi điều khiển Chân SDA và SCL thiết kế theo kiểu cực máng hở , đòi hỏi phải có một điện trở kéo trong khi hoạt động

Hình 9: Sơ đồ nguyên lý khối thời gian thực

Hình 10: IC DS1307 Hình 11: Thạch anh 32,768KHz

1.1.9 Khối hiển thị - LCD 16x2

L C D

U 2

L C D

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

E D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 A K

V C C

Trang 13

Hình 12: Sơ đồ nguyên lý khối hiển thị - LCD 16x2

Khối hiển thị sử dụng LCD 16x2, có tác dụng hiển thị thời gian thực và các thông số cài đặt để thực hiện bật tắt thiết bị LCD 16x2 gồm 16 chân Trong đó ta cấp nguồn cho LCD thông qua chân số 1(VSS) và số 2(VDD) Chân số 3 được nối với nguồn thông qua biến trở 10KΩ để điều chỉnh độ tương phản cho LCD Chân số 15 (Backlight Anode) và chân số 16 (Backlight Cathode) lần lượt được nối với dương nguồn và âm nguồn để tắt/bật đèn màn hình LCD

Các chân còn lại của LCD ta kết nối vào port A của Atmega16 như sau: Chân 4 (RS) để lựa chọn thanh ghi lệnh/dử liệu, chân 5 (RW) để quyết định việc đọc/ghi dữ liệu, chân 6 (E) cho phép ghi vào LCD ta lần lượt nối với PA0, PA1, PA2 Các chân từ D0 đến D7 của LCD là các chân trao đổ dữ liệu với vi điều khiển, với đề tài này ta sử dụng chế độ 4 bit ứng với các chân D4 đến D7, được kết nối lần lượt với PA4 đến PA7 của vi điều khiển

1.1.10.Khối Relay

Hình 13: Sơ đồ nguyên lý khối Relay

Khối Relay sử dụng Transistor NPN để kích dòng cho Role đó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ì Q1 không dẫn do không có dòng

IBE nên Rơle không làm việc

- Khi tín hiệu đưa vào là mức 1 (Tức =5V) thì sẽ qua R9 hạn dòng làm cho Q1

Trang 14

- 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

Mục đích của R1 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

1.1.11.Cổng nạp chip

chip

Để thuận tiện trong quá trình nạp chương trình cho vi điều khiển, ta sử dụng phương pháp nạp on-board Trong đề tài này, chúng tôi sử dụng kiểu nạp In-system (ISP - In System Programming), nó được Atmel hỗ trợ Kiểu nạp này sẽ nạp dữ liệu cho chip khi chip đang được gắn trên bo mạch đích thông qua giao diện nạp trình nối tiếp giữa mạch nạp và chip

SPI là kiểu giao tiếp của AVR theo các chân : SCK (SPI bus seria clock - xung nhịp); MISO (SPI bus master Input/slave Ouput ); MOSI (SPI bus Master Output/Slave Input) Ngoài ra ta sử dụng thêm chân RESET, một chân nối nguồn và một chân nối đất Các chân được xếp theo thứ tự như sau: MOSI, MISO, SCK, RESET, VCC, GND

Ngày đăng: 30/03/2020, 20:17

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w