Nghiên cứu, thiết kế mô hình chốt khóa điện tử tự động rfid – solenoid
Trang 1BỘ 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Ệ
Trang 22
Trang 3NHÓM THỰC HIỆN ĐỒ ÁN
3
Trang 4TÓ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 ArduinoNano, 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 trong quá trì phát triển (dev) và gỡ lỗi (debug) Từ đó học đưakiến thức vào thực tiễn, giúp sinh viên nắm bắt được kiến thức thực tế, vận dụng và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ănglà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ảnxuất rẻ hơn, thiết bị trở nên nhỏ gọn, dễ lắm đặt
4
TRƯỞNG NHÓM
Trường Đại học Nông Lâm
Thành phố Hồ Chí Minh
Trang 5MỤC LỤC
DANH MỤC HÌNH
5
Trang 6DANH MỤC BẢNG
6
Trang 71 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ớitố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áclệ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ànphí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ảotrì, 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ậcphổ 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ácvớ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ônngữ 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ệntượ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ầnmềm…
Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt theo tên của vị vuavà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ả, tintứ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
Trang 8IC 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éolê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éolê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àoReset
+ 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ềukhiển 8 bits với cấu trúc tập lệnh đơn giản hóa-RISC(Reduced Instruction SetComputer), 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ầnvà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ằngbootloader 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
Trang 9Khi 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ớimá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ấpnguồ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ầmnguồ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ânAnalog là A6 và A7 giúp tăng số chân đọc Analog cho các ứng dụng cần đến nhiềuchân Analog
Lưu ý: chân A6 và A7 chỉ có thể đọc không thể xuất.
Trang 10Hì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ềulợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino chính là nằm ở phầnmề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ìnhArduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Window, Mac và
Trang 11Linux 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ônngữ 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ủ ( http://arduino.cc/ ) 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ằngsó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ốngthu 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 quacổ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ự độngtrừ 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 trongrấ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ượngquả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ữ
Trang 12liệu Đầu đọc reader cho phép giao tiếp với thẻ RFID qua sóng radio ở khoảng cáchtrung 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à trongquả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ênhà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ảnhà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 đượcgắ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ẻ RFIDnhư 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 maymặc, giày dép
Trang 13Sử 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
Trang 14Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rấtnhiề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àinguyê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
Trang 15*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 choLCD 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ầnquan 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
Bảng 1: Chức năng các chân của LCD
Châ
n
Ký
1 Vss 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
2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với
VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
+ 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
“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 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
7 -
14
DB0 -
DB7
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 :+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB
Trang 16Thư viện LyquidCrystal.h
Thư viện LiquidCrystal là thư viện điều khiển LCD trên Arduino, nó được xâydự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áchnhanh 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ợpvới con IC HD44780 (con điều khiển module LCD), tuy nhiên, trên thị trường mìnhtoà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ôngcầ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ềukhiể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ếtkhả năng của LCD thì bạn cần 7 + 4 = 11 chân ở Arduino (không cần thiết sử dụngcá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
Trang 17Hì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 chonhiề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 haotrê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
Trang 182.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ồnxung (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 : Sosá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 Đưavà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
- Giải nhiệt độ hoạt động là : −65˚C to +150˚C
- Điện áp ổn định đầu ra :
Trang 19Hì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 Namkhô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ể thaykhá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íasau Ở đâ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