Tải bản đầy đủ (.docx) (39 trang)

Nghiên cứu, thiết kế mô hình chốt khóa điện tử tự động rfid – solenoid

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 (4.91 MB, 39 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM
KHOA CƠ KHÍ - CÔNG NGHỆ

BÁO CÁO TỔNG KẾT
ĐỒ ÁN MÔN KỸ THUẬT VI ĐIỀU KHIỂN
Đồ án:
NGHIÊN CỨU, THIẾT KẾ CHẾ TẠO MÔ HÌNH
CHỐT KHÓA ĐIỆN TỬ TỰ ĐỘNG RFID – SOLENOID
Giáo viên hướng dẫn:
ThS. NGUYỄN VÕ NGỌC THẠCH

Tp. Hồ Chí Minh, tháng 12 năm 2016


2


NHÓM THỰC HIỆN ĐỒ ÁN

3


TÓM TẮT
Tên đồ án: Nghiên cứu, thiết kế mô hình chốt khóa điện tử tự động rfid – solenoid.

Trong thực tế đã có những ứng dụng về thẻ từ RFID cụ thể là các bãi giữa xe tự
động, gian hàng tự động, văn phòng, khách sạn... Để hiểu rõ hơn về cách thức hoạt
động của giao tiếp thẻ từ RFID – Solenoid. Bộ xử lý sử dụng vi điều khiển Arduino
Nano, thực hiện truyền tín hiệu đến bộ phận công tác và lưu dữ liệu trên bộ nớ
EEPROM của Arduino – Bộ nhớ không mất đi khi mất nguồn cấp. Từ lý thuyết về


nhận tín hiệu từ nút nhấn, cảm biến, xuất tín hiệu đến bộ phận công tác, ứng dụng điện
tử công suất trong tính toán thiết kế mạch nguồn, xuất thông tin trên LCD và gửi trả dữ
liệu về Serial
Monitor
quá trìLâm
phát triển (dev) và gỡ lỗi (debug). Từ đó học đưa
Trường
Đạitrong
học Nông
TRƯỞNG NHÓM
kiến thức vào
thực tiễn,
giúpChí
sinh
viên nắm bắt được kiến thức thực tế, vận dụng và
Thành
phố Hồ
Minh
phát triển trong tương lai.
Tiến hành chế tạo thử nghiệm từ đó khảo nghiệm sơ bộ và đánh giá khả năng
làm việc của thiết bị.
Thời gian thực hiện: 1 tháng, từ tháng 01/12/2016 đến tháng 31/12/2016.
Cấp quản lý: Khoa – Bộ môn
Lớp: DH14CD. Khoa /Bộ môn: Khoa Cơ khí – Công nghệ/Bộ môn Cơ điện tử
Họ và tên giáo viên hướng dẫn (học hàm, học vị): ThS. Nguyễn Võ Ngọc Thạch
Đơn vị chủ trì: Khoa Cơ khí – Công nghệ, Trường Đại học Nông Lâm Tp.HCM
Mục đích: Hiện nay trên thị trường có rất nhiều ứng dụng từ vi điều khiển, thiết kế mô
hình sẽ giúp sinh viên nắm bắt và vận dụng kiến thức đã có trong phát triển kĩ năng và
làm việc thực tế. Từ đó đưa ra các sản phẩm ngày càng hoàng thiện giá thành cho sản
xuất rẻ hơn, thiết bị trở nên nhỏ gọn, dễ lắm đặt.


4


MỤC LỤC

DANH MỤC HÌNH

5


DANH MỤC BẢNG

6


1. TỔNG QUAN
1.1 Đặt vấn đề
Ngày nay sự phát triển của nghành vi điều khiển, kỷ thuật số và các hệ thống
điều khiển đã được tự động hoá. Với những kỹ thuật tiên tiến như vi xử lý, vi mạch số
được ứng dụng vào lĩnh vực điều khiển, thì các hệ thống điều khiển cơ khí thô sơ, với
tốc độ xử lý chậm ít chính xác được thay thế bằng hệ thống điều khiển tự động với các
lệnh chương trình đã được thiết lập trước.
Vi điều khiển là thành phần chính nhưng để một cỗ máy vận hành được thì cần
có thiết bị ngoại vi đầu vào và đầu ra như cảm biến, nút nhấn, LCD, màn hình, bàn
phím, van điện,v.v…
Để tìm hiểu kỹ hơn về vi điều khiển từ bản chất đến cách thức hoạt động, bảo
trì, nhóm thực hiện đồ án trên mô hình nhận dạng và khóa cửa tự động thông qua thẻ
từ RFID – dùng khóa điện Solenoid và lưu trữ dữ liệu trên bộ nhớ EEPROM.
Vì sao nhóm lại chọn bộ nhớ EEPROM thay vì sử dụng chíp nhớ ngoài sẽ

được nêu rõ trong quá trình thực hiện đồ án.
1.2 Mạch vi điều khiển arduino
Arduino là một bước ngoặc lớn trong ngành cơ điện tử trên toàn thế giới kể từ
khi nó ra đời. Số lượng người dùng cực lớn và đa dạng với trình độ trải rộng từ bậc
phổ thông lên đến đại học. Arduino là một bo mạch xử lý được dùng để nạp tương tác
với các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc
điểm nổi bật ở Arduino là môi trường phát triển ứng dụng dễ sử dụng, với một ngôn
ngữ lập trình có thể tiếp cận một cách nhanh chóng. Và điều này đã làm nên hiện
tượng Arduino chính là mức giá thấp và tính chất nguồn mở từ phần cứng tới phần
mềm…
Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt theo tên của vị vua
vào thế kỉ thứ 19 là King Arduin, Arduino chính thức được đưa ra giới thiệu vào năm
2005 như là một công cụ dành cho các sinh viên. Mặc dù không được tiếp thị gì cả, tin
tức về Arduino vẩn được lan truyền một cách mạnh mẽ với những lời nhận xét tích cực
về Arduino từ những người đã từng sử dụng qua.

7


IC Mega328P AU 1632
Arduino Nano là board Arduino rất nhỏ, sử dụng IC Mega328 AU 1632, đây
là phần quan trọng nhất trong mạch Arduino Nano.

Hình 1: ATMEGA328P
+ VCC: cung cấp điện áp
+ GND: nối mass
+ Port B (PB7:0): là một 8-bit bi-directional cổng I / O với điện trở kéo
lên bên trong (được chọn cho mỗi bit)
+ Port C (PC5:0): là một 7-bit bi-directional cổng I / O với điện trở kéo
lên bên trong (được chọn cho mỗi bit).

+ PC6/RESET: Nếu RSTDISBL Fuse được lập trình, PC6 được sử dụng như
một I / O pin. Lưu ý rằng các đặc tính điện của PC6 khác với các chân khác của Port
C. Nếu RSTDISBL Fuse chưa được lập trình, PC6 được sử dụng như một đầu vào
Reset.
+ Port D: là một 8-bit bi-directional cổng I / O với điện trở kéo lên bên trong
+ AREF: là cổng tương tự cho các chuyển đổi AD
+ AVCC: AVCC là điện áp cung cấp pin cho chuyển đổi AD.
IC Mega328P AU 1632 là chip Atmel 8-bit AVR RISC 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í. AVR có nhiều
đặc tính hơn hẳn, hơn cả trong tính ứng dụng (dễ sử dụng) và đặc biệt là về chức năng:
- 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 C.
8


Arduino Nano
Board Arduino Nano 5V 16MHz mặc định sử dụng nguồn 5V và IC
ATmega328 chạy ở xung nhịp 16MHZ. Nhưng trên board có sẵn ngõ vào VIN (RAW)
để cấp nguồn thông qua mạch điều áp. Nguồn vào cho ngõ RAW có thể từ 3.3V - 12V
(max 12V)
+ RAW: cấp nguồn thông qua mạch điều áp
+ Vcc: cấp nguồn 5V hoặc 3.3V
Thông số về bộ nhớ
+ Flash: 32k Bytes
+ EEPROM: 1K Bytes

+ RAM: 2K Bytes
Vì sử dụng chung dòng chip ATmega328 nên việc lập trình và thiết kế ứng dụng
hoàn toàn tương tự board Arduino Uno R3. Ngoài ra có 1 sự khác biệt nhỏ là board
Arduino Nano có tới 8 cổng analog.
Khi cần nạp code cho board chỉ cần sử dụng dây nối USB Type B để kết nối với
máy tính vì trên board đã tính hợp sẵn mạch nạp và giao tiếp sang chuẩn Serial UART
để nạp cho board Arduino Nano và sau khi nạp xong, có thể rút dây cáp ra và cấp
nguồn cho board tự hoạt động độc lập. Cách kết nối board Arduino Nano:
Khi sử dụng nguồn ngoài, chúng ta sẽ cấp nguồn 6V – 9V vào chân “RAW” để
cấp nguồn nuôi cho board, chú ý là chân “RAW” chứ không phải là chân “VCC” vì
chân VCC chính là ngõ vào hoặc ra điện áp 5V của mạch, nếu chúng ta cấp nhầm
nguồn > 5V vào chân VCC sẽ gây ra cháy Chip Atmega328-AU trên board.
Arduino Nano có 30 cổng với:
+ Cổng Digital: 2-13
+ Analog: AD0-AD7
+ Chân nguồn: +9V, +5V, Ground
+ RX, TX
Cũng như board Arduino Pro Mini, board Arduino Nano cũng có thêm 2 chân
Analog là A6 và A7 giúp tăng số chân đọc Analog cho các ứng dụng cần đến nhiều
chân Analog.
Lưu ý: chân A6 và A7 chỉ có thể đọc không thể xuất.

9


Hình 2: Sơ đồ chân Arduino Nano
1.3 Giới thiệu về Arduino IDE và ngôn ngữ lập trình cho Arduino
Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiều
lợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino chính là nằm ở phần
mềm. Môi trường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và

dựa trên nền tảng C/c++ rất quen thuộc với người làm kỹ thuật. Và quan trọng là số
lượng thư viện code được viết sẵn và chia sẻ bởi cộng đồng mở là cực kỳ lớn.
Arduino IDE là phần mềm dủng để lập trình cho Arduino, môi trường lập trình
Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Window, Mac và
10


Linux. Do có tinh chất nguồn mở nên môi trường lập trình này hoàn toàn miển phí và
có thể mở rộng thêm bởi người dùng có kinh nghiệm.
Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++. Và ngôn
ngữ lập trình này dựa trên nền tảng ngôn ngữ C của AVR nên người dùng hoàn toàn có
thể nhúng code viết bẳng AVR vào chương trình. Hiện tại, Arduino IDE có thể tải từ
trang chủ ( bao gồm nhiều phiên bản khác nhau kèm theo
những tính năng bổ sung.
1.4 RFID (Radio Frequency Identification)
RFID (Radio Frequency Identification) là công nghệ nhận dạng đối tượng bằng
sóng vô tuyến. Công nghệ này cho phép nhận biết các đối tượng thông qua hệ thống
thu phát sóng radio, từ đó có thể giám sát, quản lý hoặc lưu vết từng đối tượng. Như
trường hợp trên, bạn đi siêu thị, bỏ hàng vào xe đẩy và chỉ đơn giản đẩy thẳng xe qua
cổng giám sát. Một thiết bị tự động nhận dạng từng món hàng bạn mua và tự động
trừ vào tài khoản thanh toán của bạn. Nhanh và tiện lợi biết bao! Đó chỉ là một trong
rất nhiều ứng dụng tiện ích của công nghệ RFID.

Hình 3: Các thành phần của một hệ thống RFID
Cấu trúc hệ thống RFID
Hệ thống RFID gồm hai thành phần chính: thẻ RFID (RFID tag) và đầu đọc
(reader). Thẻ RFID có gắn chip silicon và ăng ten radio dùng để gắn vào đối tượng
quản lý như sản phẩm, hàng hóa, động vật hoặc ngay cả con người… Thẻ RFID có
kích thước rất nhỏ, cỡ vài cm. Bộ nhớ của con chip có thể chứa từ 96 đến 512 bit dữ
11



liệu. Đầu đọc reader cho phép giao tiếp với thẻ RFID qua sóng radio ở khoảng cách
trung bình từ 0,5-30 mét, từ đó truyền dữ liệu về hệ thống máy tính trung tâm.
Công nghệ RFID được ứng dụng rộng rãi trong nhiều lĩnh vực, nhất là trong
quản lý và tồn trữ hàng hóa. Ví dụ, dùng những thẻ RFID theo dõi nhiệt độ gắn lên
hàng hóa có thể giúp nhà sản xuất theo dõi nhiệt độ trong kho lạnh. Những thẻ này sẽ
truyền dữ liệu qua đầu đọc, đầu đọc liên tục truyền dữ liệu thu được từ các thẻ để
truyền về máy tính trung tâm và lưu lại dữ liệu thu được. Từ đó, nhà sản xuất có thể
truy cập vào internet từ bất cứ nơi nào cũng có thể theo dõi được dữ liệu bảo quản
hàng hóa của mình trong các kho lạnh.

Hình 4: Quản lý ra vào cổng công ty thông qua RFID

Ngoài ra còn có thể sử dụng thẻ RFID cấy vào vật nuôi để nhận dạng nguồn gốc
và theo dõi vật nuôi tránh thất lạc và bị đánh cắp. Trong thư viện, các thẻ RFID được
gắn với các cuốn sách giúp giảm thời gian tìm kiếm và kiểm kê, chống được tình trạng
ăn trộm sách. Một số lĩnh vực có khả năng sử dụng một số lượng lớn các thẻ RFID
như thẻ thông minh, chứng minh nhân dân, hộ chiếu điện tử, hàng hóa trong siêu thị,
quản lý hành lý trong hàng không, hệ thống giao thông công cộng, các ngành may
mặc, giày dép...

12


1.5 Mạch RFID RC522

Hình 5: Module đọc thẻ từ RC522

Module đọc thẻ RC522 có thể đọc được các loại thẻ có kết nối không dây như

NFC, thẻ từ... Module có các thông số chính như:
Điện áp nuôi: 3.3V;
Dòng điện nuôi :13-26mA
Tần số hoạt động: 13.56MHz
Khoảng cách hoạt động: 0 ~ 60 мм
Cổng giao tiếp: SPI, tốc độ tối đa 10Мbps
Kích thước: 40мм х 60мм
Có khả năng đọc và ghi.
Sử dụng giao tiếp ISP
1.6 LCD 16x2 (1602A) – Thư viện LyquidCrystal trong Arduino IDE
Giới thiệu về LCD 1602A

Hình 6: LCD 1602A xanh dương
13


Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất
nhiều các ứng dụng của VĐK. LCD có rất nhiều ưu điểm so với các dạng 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ẽ…
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên hình 7
là loại LCD thông dụng.
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển bên trong lớp vỏ và
chỉ đưa các chân giao tiếp cần thiết. Các chân này được đánh số thứ tự và đặt tên như
Hình 6:

Hình 7: Các chân nối của LCD 1602A

14



Châ
n


hiệu

Mô tả

Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với
GND của mạch điều khiển
Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với
2
VDD
VCC=5V của mạch điều khiển
3
VEE
Điều chỉnh độ tương phản của LCD.
Chân chọn thanh ghi (Register select). Nối chân RS với logic “0”
(GND) hoặc logic “1” (VCC) để chọn thanh ghi.
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD
4
RS
(ở 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 chọn chế độ đọc/ghi (Read/Write). Nối chân R/W với logic
5

R/W
“0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để
LCD ở chế độ đọc.
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 E.
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp
nhận) thanh ghi bên trong nó 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
Bảng 1: Chứchiện
năngcạnh
các lên
chân(low-to-high
của LCD transition) ở chân E và được LCD giữ
ở bus đến khi nào chân E xuống mức thấp.
Tám đườ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 :
7DB0 - + Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB
14
DB7
là bit DB7.
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới
DB7, bit MSB là DB7
15
Nguồn dương cho đèn nền
16
GND cho đèn nền

1

Vss

*Ghi chú: Ở chế độ “đọc”, nghĩa là MPU sẽ đọc thông tin từ LCD thông qua
các chân DBx. Còn khi ở chế độ “ghi”, nghĩa là MPU xuất thông tin điều khiển cho
LCD thông qua các chân DBx.
Đối với Arduino với thư viện có sẵn ta chỉ cần tìm hiểu đến dây mà không cần
quan tâm đến chi tiết về cách thức hoạt động của các thanh ghi dịch trên LCD mà chỉ
cần quan tâm cách thực hiện thư viện LyquidCrystal.h trên Arduino IDE.
15


Thư viện LyquidCrystal.h
Thư viện LiquidCrystal là thư viện điều khiển LCD trên Arduino, nó được xây
dựng để cho các bạn có thể lập trình điều khiển các module LCD ô vuông một cách
nhanh chóng mà không cần phải lập trình nhiều. Thư viện này được viết để phù hợp
với con IC HD44780 (con điều khiển module LCD), tuy nhiên, trên thị trường mình
toàn thấy các con LCD của Trung Quốc và thư viện này vẫn hoạt động tốt. Nghĩa là,
bạn chỉ cần mua module LCD về và gắn vào Arduino, nạp code là chạy được, không
cần quan tâm đến IC điều khiển LCD.
Phương pháp điều khiển mạch hiển thị
Module LCD có thể được điều khiển ở chế độ: 4-bit điều khiển và 8-bit điều
khiển. Với cách dùng ở chế độ 4-bit, bạn cần 7 chân ở Arduino, và nếu muốn dùng hết
khả năng của LCD thì bạn cần 7 + 4 = 11 chân ở Arduino (không cần thiết sử dụng
cách này). Ngoài ra, hầu hết các hàm trong thư viện LiquidCrystal của Arudino ở chế
độ 4-bit thì mọi thứ đều hoạt động tốt. Vì vậy, chúng ta sẽ mắc mạch ở chế độ 4-bit
điều khiển và thực hiện theo phương án này.
Ví dụ 1: Ví dụ hiển thị đơn giản với LCD 1602A – Arduino Nano
//Thêm thư viện LiquitCrystal - có sẵn, không cần cài thêm

#include <LiquidCrystal.h>
//Khởi tạo với các chân
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
//Thông báo đây là LCD 1602A (16 cột, 2 hàng)
lcd.begin(16, 2);
//In ra màn hình lcd dòng chữ HOC VDK
lcd.print("HOC VDK");
}
void loop() {
// Đặt con trỏ vào cột 0, dòng 1
// Lưu ý: dòng 1 là dòng thứ 2, lòng 0 là dòng thứ 1.
lcd.setCursor(0, 1);
// In ra dòng chữ DH14CD
lcd.print("DH14CD");
}

16


Hình 8: Ví dụ hiển thị đơn giản với Arduino – LCD 1602A

2. THIẾT KẾ VÀ CHẾ TẠO
2.1 Thiết kế mạch nguồn.
Đầu tiên điện lưới quốc gia thông qua biến áp biến đổi về nguồn 24V sau đó
thông qua diode cầu nắn thành một chiều thông qua LM2576-5V để biến đổi dòng
điện thành 5V cấp cho mạch điều khiển, LCD và Relay 5V hoạt động, do cấp cho
nhiều linh kiện nên đòi hỏi dòng phải cao và điều đó khiến nhóm quyết định không sử
dụng IC 7805 trong trường hợp này, dòng max của 7805 chỉ ở 1A và rất nóng, tổn hao
trên điện trở nhiều. Đó cũng là nhược điểm của IC nguồn tuyến tính. Thay vào đó sử

dụng LM2576-5V lắp mạch nguồn xung theo nguyên lý nguồn Buck, với dòng điện
định mức lên đến 3A ra tải.
2.1.1 Một số tính năng chính của LM2576
+ Điện áp đầu ra của các Serial là 3.3V, 5V, 12V, 15V và điện áp điều chỉnh
+ Điện áp điều chỉnh được từ 1.25V đến 37V. Với điện áp đầu vào là lớn nhất
+ Dòng đầu ra định mức là 3A
+ Điện áp đầu vào định mức là 40V có thể lớn 60V tùy từng dòng Serial
+ Chỉ giao tiếp với 5 chân đầu vào ra
+ Tần số đóng cắt chuẩn 52Khz[separator]
+ Hiệu suất cao
+ Bảo vệ quá dòng và quá nhiệt

17


2.1.2 Sơ đồ cấu tạo của LM2576

Hình 9: Sơ đồ cấu tạo bên trong LM2576

Ở trên là sơ đồ cấu tạo bên trong của LM2576. Nguyên tắc dựa theo nguồn
xung (Nguồn Buck). Điện áp đầu ra được điều chỉnh liên tục để đảm bảo cho điện áp
đầu ra luôn giữa ở một giá trị cố định. Trong sơ đồ cấu tạo thì LM2576 gồm khối : So
sánh, tạo dao động, công suất, quá dòng...
+ Chân 1 (Vin) : Chân nguồn đầu vào
+ Chân 2 (Vout) : Chân điện áp đầu ra. Tùy thuộc dòng LM2576 mà chân này
có điện áp ra ổn định khác nhau.
+ Chân 3 (GND) : Chân nguồn chung
+ Chân 4 (Feedback) : Chân đưa tín hiệu phản hồi từ đầu ra về đầu vào. Đưa
vào bộ so sánh để điều chỉnh ổn định điện áp
+ Chân 5 (On/Off) : Chân đóng mở. Thường để GND

2.1.3 Thông số chính của LM2576
- Điện áp đầu vào :
+ LM2576 : 45V
+ LM2576HV : 60V
- Dòng điện đầu ra : 3A
- Giải nhiệt độ hoạt động là : −65˚C to +150˚C
- Điện áp ổn định đầu ra :
+ LM2576HVS-3.3 : 3.3V
+ LM2576HVS-5.0 : 5V
+ LM2576HVS-12 : 12V
+ LM2576HVS-15 : 15V
+ LM2576HVS-ADJ : ADJ (1.25V ~ 37V)

18


Hình 10: Sơ đồ nguyên lý mạch nguồn 5V, 24V cấp cho mạch
Tụ lọc đầu vào các bạn có thể lắp theo datasheet tuy nhiên linh kiện ở Việt Nam
không tốt, thông thường ta dùng tụ 1000uF, còn điện áp thì theo giá trị đầu vào. Ở đây
sử dụng tụ 34V 1000uF. Sau đó lắp thêm 1 con 104 ở sau con 1000uF này.
Đối với diode sử dụng loại 1N5822, ngoài con này hiện nay còn có có thể thay
khác, chỉ cần diode xung và có tần số đáp ứng được là có thể thay thế
Cuộn cảm 100uH là theo tiêu chuẩn, tuy nhiên nên dùng từ 220uH đến 330uF.
Cặp tụ lọc đằng sau cũng vậy. Nên ghép 1 con tụ hóa và 1 tụ 104 để lọc nguồn phía
sau. Ở đây sử dụng tụ 2000uF và một tụ gốm 104.
2.1.4. Thiết kế layout

Hình 11: Sử dụng Proteus PCB để thiết kế layout board mạch
Sau khi hoàn tất ta được mạch in như sau, tiến hành ủi mạch và hàn để được
board hoàn chỉnh, trên thực tế hoàn thành sản phẩm như hình 12 và 13.


19


Hình 12: Mạch in cho board nguồn

Hình 13: Hình ảnh thực tế mạch nguồn LM2576T-5V
2.2 Thiết kế mạch điều khiển với Arduino, LCD, Relay
2.2.1 Thử nghiệm trên Proteus 8

20


Hình 14: Sơ đồ nguyên lý mạch điều khiển trên Proteus 8.5
Ban đầu thực hiện các khối LCD, khối Led hiển thị, Loa báo hiệu và Khối
Relay. Vì trong proteus không có phần tử RFID nên bắt buộc tiến hành thử bằng 2 nút
nhấn “thẻ đúng” và “thẻ sai” để tiến hành chạy thử, khảo sát các khối trên đã hoạt
động tốt hay chưa.
Thực hiện viết code và nạp vào “SIMULINO NANO”
Bằng cách kích đúp vào phần tử “SIMULINO NANO” sau đó chọn đường dẫn
đến file .HEX xuất ra từ Arduino IDE tại mục Program File.
Code test trên Proteus
//Khai báo thư viện LCD
#include <LiquidCrystal.h>
//Gán biến lcd
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
void granted(){
digitalWrite(A3, HIGH);
delay(3000);
digitalWrite(A3, LOW);

}//Chương trình con cho relay đóng trong 3s sau đó mở
void reset(){
lcd.clear();
lcd.print("Da xoa du lieu..");
delay(500);
setup();
loop();
}//Chương trình con khi thực hiên nhấn nút reset dữ liệu
void setup() {
//Khai báo các chân OUT/INPUT sẽ sử dụng
pinMode(A3, OUTPUT);

21


pinMode(A4, OUTPUT);
pinMode(A5, OUTPUT);
pinMode(A0, OUTPUT);
pinMode(A1, INPUT);
pinMode(12, INPUT);
pinMode(13, INPUT);
digitalWrite(A3,LOW);
digitalWrite(A4,HIGH);
digitalWrite(A5,LOW);
Serial.begin(9600);
lcd.begin(16,2);
//Cho viết lên Monitor và LCD
Serial.println(F("VDK HKI/16-17"));
lcd.print(F("VDK HKI/16-17"));
//Thực hiện cho còi kêu 3 tiếng beep khi khởi động

digitalWrite(A3, LOW);
digitalWrite(A0, HIGH);
delay(100);
digitalWrite(A0, LOW);
delay(100);
digitalWrite(A0, HIGH);
delay(100);
digitalWrite(A0, LOW);
delay(300);
digitalWrite(A0, HIGH);
delay(800);
digitalWrite(A0, LOW);
delay(1000);
Serial.println(F("ALL READY"));
lcd.setCursor(0,1);
lcd.print(F("All Ready..."));
delay(300);
}
void loop() {
if (digitalRead(A1)) reset();
//Kiểm tra xem có nhấn nút reset không
if (digitalRead(12)){
//Kiểm tra nếu nhấn nút thẻ đúng
Serial.println(F("The chap nhan! "));
lcd.clear();
lcd.print(F("The chap nhan! "));
digitalWrite(A4, LOW);
digitalWrite(A0, HIGH);
delay(300);
digitalWrite(A0, LOW);

digitalWrite(A4, HIGH);
granted();
}
if (digitalRead(13)){
//Kiểm tra nếu nhấn nút thẻ sai
Serial.println(F("Khong dung the "));
lcd.clear();
lcd.print(F("Khong dung the! "));
digitalWrite(A4, LOW);
digitalWrite(A0, HIGH);
delay(300);
digitalWrite(A0, LOW);
digitalWrite(A4, HIGH);
}
}

22


Hình 15: Quá trình nạp file chương trình vào Proteus 8
2.2.2 Kết quả thử nghiệm
Sau khi tiến hành chạy thử thì ta được kết quả như mong muốn; nhấn reset thì
LCD khởi động lại, nhấn đúng thẻ hiển thị trên LCD và Relay đã đóng, nhấn sai thì
hiển thị LCD và Relay không hiện tượng.

Hình 16: Kết quả chạy thử đèn Relay đã sáng sau khi nhấn nút thẻ chấp nhận
Từ đây ta có thể tiếp tục đến với bước tiếp theo là thiết kế layout cho mạch
dựa vào sơ đồ nguyên lý có sẵn và tạo thêm kết nối với mạch RFID RC522.

23



Hình 17: Mạch in layout mạch điều khiển chính
Sau khi thiết kế mạch layout tiến hành in ủi mạch, rửa mạch, hàn ta được
thành phẩm tiến hành dùng VOM đo đạc lại các chân nối và tiến hành khảo sát không
vi điều khiển bằng cách nối các chân tín hiệu vào áp +5V.

24


Hình 18: Quá trình đo đạc thử nghiệm lại kết quả làm mạch
Cuối cùng là kết nối vi điều khiển Arduino Nano và nạp chương trình, hoàn
25


×