TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI BÁO CÁO ĐỒ ÁN 1 Giảng Viên: TS.Nguyễn Hoàng Nam Tìm hiểu và thiết kế một bo mạch Arduino Uno Sinh viên thực hiện: Trần Văn Hợp. Bộ môn: kỹ thuật điều khiển và tự động hóa.
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI BÁO CÁO ĐỒ ÁN Tìm hiểu thiết kế bo mạch Arduino Uno TRẦN VĂN HỢP hop.tv173924@sis.hust.edu.vn Ngành Kỹ thuật điều khiển tự động hóa Giảng viên hướng dẫn: Bộ mơn: Viện: TS Nguyễn Hồng Nam Kỹ thuật đo tin học công nghiệp Điện Hà Nội, 6-2020 NHẬN XÉT CỦA GIẢNG VIÊN …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… …………………………………………………………… Ký tên Mở đầu Ngày giới với phát triển mạnh mẽ khoa học – cơng nghệ góp phần giúp chất lượng sống người không ngừng nâng cao Thêm vào xâm nhập trực tiếp internet vào sống ngày nhiều Nhu cầu người ngày cao đưa đến thách thức địi hỏi khơng ngừng ngành, lĩnh vực khác nhu cầu thiết yếu người sống Arduino bo mạch thông dụng Được giới thiệu vào năm 2005, nhà thiết kế Arduino cố gắng mang đến phương thức dễ dàng, không tốn cho người yêu thích, sinh viên giới chuyên nghiệp để tạo thiết bị có khả tương tác với môi trường thông qua cảm biến cấu chấp hành Những ví dụ phổ biến cho người yêu thích bắt đầu bao gồm robot đơn giản, điều khiển nhiệt độ phát chuyển động Đi với mơi trường phát triển tích hợp (IDE) chạy máy tính cá nhân thơng thường cho phép người dùng viết chương trình cho Aduino ngơn ngữ C C++ Dưới hướng dẫn thầy Nguyễn Hoàng Nam dựa sở kiến thức học tìm hiểu, em xin thực đề tài : Thiết kế mạch Arduino UNO Lời cảm ơn Trước hết em xin gửi lời cảm ơn tới thầy Nguyễn Hoàng Nam hướng dẫn dạy để em hoàn thành báo cáo đồ án Vì hiểu biết cịn hạn hẹp lần đầu làm đồ án nên đồ án em nhiều thiếu sót, em mong nhận góp ý, sửa đổi từ phía thầy để đồ án em hoàn thiện Em xin chân thành cảm ơn! Hà nội, 6-2020 MỤC LỤC Chương Tổng quan bo mạch Arduino 1.1 Giới thiệu Arduino 1.2 Các loại bo mạch Arduino Chương 2: Giới thiệu Arduino Uno 2.1 Cấu tạo Arduino Uno 2.2 Thông số kỹ thuật .10 2.3 Vi điều khiển Arduino Uno 11 2.4 Nguồn .11 Chương 3: Thiết kế mạch Arduino Uno 13 3.1 Giới thiệu qua phần mềm Altium 18 13 3.1.1 Altium Designer gì? .13 3.1.2 Đặc trưng Altium Designer 13 3.2 Thiết kế mạch Arduino Uno Altium Designer 18 .14 3.2.1 Sơ đồ nguyên lý 14 3.2.1.1 Thiết kế nguồn .15 3.2.1.2 Thiết kế mạch dao động .17 3.2.1.3 Thiết kế mạch reset 17 3.2.1.4 Thiết kế mạch nạp 18 3.2.1.5 Thiết kế vi điều khiển Atmega328-PU 19 3.2.2 Bảng mạch PCB 19 3.2.2.1 Các phím tắt thiết kế PCB 19 3.2.2.2 Quy trình vẽ mạch PCB .20 3.2.3 Các linh kiện mạch 25 TÀI LIỆU THAM KHẢO 27 DANH MỤC Hình 1.1 Các loại mạch Arduino Hình 2.1 Ảnh Arduino Uno Hình 2.2 Ảnh chi tiết Arduino Uno vị trí linh kiện 10 Hình 2.3 Vi điều khiển Arduino Uno R3 11 Hình 3.1 Giao diện schematic Altium Designer 18 13 Hình 3.2 Sơ đồ nguyên lý Arduino .15 YHình 3.3 Sơ đồ cấp nguồn qua Jack DC 15 Hình 3.4 Sơ đồ cấp nguồn qua USB 16 Hình 3.5 Sơ đồ mạch giao động 17 Hình 3.6 Sơ đồ mạch Reset .17 Hình 3.7 Sơ đồ mạch nạp 18 YHình 3.8 Sơ đồ vi điều khiển Atmega328-PU 19 Hình 3.9 Up file Schematic sang PCB 20 Hình 3.10 Engneering Change Order 21 Hình 3.11 Hình sau xuất file sang PCB 21 Hình 3.12 Sắp xếp linh kiện 22 YHình 3.13 Hiển thị chân cần đấu với .22 YHình 3.14 Các layer PCB 23 Hình 3.15 Nối dây linh kiện 23 Hình 3.16 Sơ đồ PCB mặt trước .24 Hình 3.17 Sơ đồ PCB mặt sau 24 DANH MỤC HÌNH VẼ Bảng 3.1 Các linh kiện mạch Chương Tổng quan bo mạch Arduino 1.1 Giới thiệu Arduino Arduino tảng mã nguồn mở sử dụng để xây dựng ứng dụng điện tử tương tác với với môi trường thuận lợi Arduino thực gây sóng gió thị trường người dùng DIY (là người tự chế sản phẩm mình) tồn giới vài năm gần đây, gần giống với Apple làm thị trường thiết bị di động Số lượng người dùng cực lớn đa dạng với trình độ trải rộng từ bậc phổ thông lên đến đại học làm cho người tạo chúng phải ngạc nhiên mức độ phổ biến - Arduino khởi động vào năm 2005 dự án dành cho sinh viên trại Interaction Design Institute Ivrea Ivrea, Italy - Arduino board mạch vi xử lý, nhằm xây dựng ứng dụng tương tác với với môi trường thuận lợi Phần cứng bao gồm board mạch nguồn mở thiết kế tảng vi xử lý AVR Atmel 8bit, ARM Atmel 32-bit Những Model trang bị gồm cổng giao tiếp USB, chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác - Arduino tảng mà thiết bị phần cứng làm sẵn chuẩn hóa, người dùng việc chọn thứ cần, ráp lại chạy Bạn muốn làm xe điều khiển từ xa ? Arduino cung cấp cho bạn module điều khiển động có sẵn, mạch điều khiển có sẵn, mạch thu phát sóng khơng dây có sẵn Arduino kết nối - Hệ thống cảm biến đa dạng chủng loại (đo đạc nhiệt độ, độ ẩm, gia tốc, vận tốc, cường độ ánh sáng, màu sắc vật thể, lưu lượng nước, phát chuyển động, phát kim loại, khí độc,…),… 3.1 Giới thiệu qua phần mềm Altium 18 3.1.1 Altium Designer gì? - Altium Designer trước có tên gọi quen thuộc Protel DXP, công cụ vẽ mạch điện tử mạnh Được phát triển hãng Altium Limited Altium designer phần mềm chuyên nghành sử dụng thiết kế mạch điện tử Nó phần mềm mạnh với nhiều tính thú vị, nhiên phần mềm cịn người biết đến so với phần mềm thiết kế mạch khác orcad hay proteus - Giao diện Altium Designer 18 Hình 3.1 Giao diện schematic Altium Designer 18 3.1.2 Đặc trưng Altium Designer - Giao diện thiết kế, quản lý chỉnh sửa thân thiện, dễ dàng biên dịch, quản lý file, quản lý phiên cho tài liệu thiết kế - Hỗ trợ mạnh mẽ cho việc thiết kế tự động, dây tự động theo thuật toán tối ưu, phân tích lắp ráp linh kiện Hỗ trợ việc tìm giải pháp thiết kế 13 chỉnh sửa mạch, linh kiện, netlist có sẵn từ trước theo tham số - Mở, xem in file thiết kế mạch dễ dàng với đầy đủ thông tin linh kiện, netlist, liệu vẽ, kích thước, số lượng… - Hệ thống thư viện linh kiện phong phú, chi tiết hoàn chỉnh bao gồm tất linh kiện nhúng, số, tương tự… - Đặt sửa đối tượng lớp khí, định nghĩa luật thiết kế, tùy chỉnh lớp mạch in, chuyển từ schematic sang PCB, đặt vị trí linh kiện PCB - Mô mạch PCB 3D, đem lại hình ảnh mạch điện trung thực khơng gian chiều, hỗ trợ MCAD-ECAD, liên kết trực tiếp với mơ hình STEP, kiểm tra khoảng cách cách điện, cấu hình cho 2D 3D - Hỗ trợ thiết kế PCB sang FPGA ngược lại 3.2 Thiết kế mạch Arduino Uno Altium Designer 18 Thiết kế mạch Arduino Uno bao gồm phần: - Sơ đồ nguyên lý (schematic) - Bảng mạch PCB 3D 3.2.1 Sơ đồ nguyên lý Sơ đồ nguyên lý mạch Arduino Uno thiết kế bao gồm: - Khối nguồn - Khối mạch dao động - Khối reset - Khối mạch nạp - Khối vi điều khiển Atmega328-PU 14 Hình 3.2 Sơ đồ nguyên lý Arduino Uno 3.2.1.1 Thiết kế nguồn Có cách cấp nguồn cho Board mạch - Qua Jack Dc - Qua USB Hình 3.3 Sơ đồ cấp nguồn qua Jack DC 15 Hình 3.4 Sơ đồ cấp nguồn qua USB Đối với Jack DC - Nguồn cấp vào Jack DC Pin Dải điện áp khuyên dùng – 12 V (tốt 9V) - Điện áp từ Jack DC sau qua Diode bảo vệ D2 gọi điện áp VIN - Diode D2 có nhiệm vụ bảo vệ, trì dịng DC vào mạch - Tụ C4 có dụng cung cấp điện áp tạm thời cho chân Vin nguồn đột ngột bị sụt áp - Tụ C5 C6 để lọc điện áp cấp cho tải tiêu thụ lấy từ chân OUT IC MC3326D-3.3G, tụ C5 có dụng cung cấp điện áp tạm thời cho tải điện áp tải đột ngột bị sụt áp, tụ C6 trở kháng lớn, C6 có tác dụng lọc nhiễu điện áp đầu Đối với USB - F1 cầu chì tự phục hồi, trường hợp bạn sử dụng dây cáp USB để cấp nguồn tổng dịng tiêu thụ khơng q 500mA Nếu khơng cầu chì ngăn khơng cho dịng điện chạy qua Trong trường hợp có nguồn cung cấp Board Arduino sử dụng nguồn cung cấp Trong trường hợp có nguồn cung cấp Arduino ưu tiên lựa chọn nguồn cung cấp từ Jack DC thay từ cổng USB 16 3.2.1.2 Thiết kế mạch dao động Hình 3.5 Sơ đồ mạch dao động - Mạch giao động tạo xung clock giúp cho vi điều khiển hoạt động, thực thi lệnh… Board mạch Arduino Uno sử dụng thạch anh 16Mhz làm nguồn dao động - Mạch giao động tạo xung clock giúp cho vi điều khiển hoạt động, thực thi lệnh 3.2.1.3 Thiết kế mạch reset Hình 3.6 Sơ đồ mạch reset Để vi điều khiển thực khởi động lại chân RESET phải mức logic LOW (~0V) khoản thời gian đủ yêu cầu Chức mạch Reset: 17 - Reset tay: Khi nhấn nút, chân RESET nối với GND, làm cho MCU RESET Khi không nhấn nút chân Reset kéo 5V - Reset tự động: Reset tự động thực cấp nguồn cho vi điều khiển nhờ phối hợp điện trở nối lên nguồn tụ điện nối đất Thời gian tụ điện nạp giúp cho chân RESET mức LOW khoản thời gian đủ để vi điều khiển thực reset - Khởi động vi điều khiển trước nạp chương trình 3.2.1.4 Thiết kế mạch nạp Hình 3.7 Sơ đồ mạch nạp - Máy tính giao tiếp với Board mạch Arduino qua chuẩn giao tiếp USB (D+/D-), thông qua IC FT232RL FTDI IC có nhiệm vụ chuyển đổi chuẩn giao tiếp USB thành chuẩn giao tiếp UART để nạp chương trình giao tiếp truyền nhận liệu với máy tính (Serial) - Mạch hoạt động tốt chế độ 5V 3V3, mạch có sẵn led cho tín hiệu TXD RXD, giúp theo dõi trực tiếp trạng thái tín hiệu - Driver hỗ trợ Mac OS X, Linux, Windows 18 3.2.1.5 Thiết kế vi điều khiển Atmega328-PU Hình 3.8 Sơ đồ vi điều khiên Atmega328-PU 3.2.2 Bảng mạch PCB 3.2.2.1 Các phím tắt thiết kế PCB Các phím tắt thiết kế mạch in: + A - A: Đi dây tự động + Ctrl + M: Đo kích thước + Ctrl + Shift + Lăn chuột: chuyển lớp + D - O: Chỉnh thông số mạch + D - R: Thay đổi luật cho vẽ (kích thước đường dây, lỗ via, khoảng cách linh kiện, ) + D - S - R: Định lại kích thước bo mạch + D - T - A: Hiển thị hết tất lớp + D - T - S: Hiển thị lớp tín hiệu (Top - Bottom - Multi) + L: Khi di chuyển linh kiện lật linh kiện lớp Top Bottom (Bottom Top) + P - T: Đi dây tay 19 + P - V: Lấy lỗ via + P - G: phủ đồng + P - L: Định kích thước cho mạch (Keep Out Layer) + P - R: Vẽ đường mạch theo ý muốn + Q (Ctrl + Q): Thay đổi đơn vị (mm mil) + Shift + R: Thay đổi chế độ dây (Cắt - Không cho cắt - Đẩy dây) + Shift + S: Chỉ cho phép lớp chọn (các lớp lại ẩn) + Shift + Space: Thay đổi chế độ đường dây (Tự - Theo luật Vuông 90 độ - Cong) + TAB: Hiện cửa sổ thay đổi thông tin thao tác + T - U - A: Xóa tất đường mạch + T - E: Bo tròn đường dây chân linh kiện + V - B: Xoay vẽ 180 độ + V - F: Hiển thị toàn vẽ 3.2.2.2 Quy trình vẽ mạch PCB Quy trình vẽ bảng mạch PCB - Bước 1: Sau vẽ xong sơ đồ Schematic kiểm tra đầy đủ, ta nhấn vào Design chọn Update PCB Document .PcbDoc Hình 3.9 Up file Schematic sang PCB - Bước 2: Cửa sổ Engneering Change Order xuất Tiếp theo chọn Validate Changes Excute Changes Nếu hàng tích v hết File bạn khơng bị lỗi, cịn tích x phải sửa lỗi x 20 Hình 3.10 Engneering Change Order Sau xuất sang PCB ta sau: Hình 3.11 Hình sau xuất file sang PCB - Bước 3: Đưa linh kiện vào xếp theo khối schematic Sắp xếp linh kiện phù hợp theo khối hình vẽ schematic 21 Hình 3.12 Sắp xếp linh kiện - Bước 4: Nối dây linh kiện với a) Nhấn Ctrl+ vị trí chân cần đấu Hình 3.13 Hiển thị chân cần đấu với b) Sử dụng layer khác để hồn thiện vẽ Có nhiều loại layer thiết kế PCB: Bottom Layer, Top Layer, Mechanical 1, Mechanical 13… Trong hình vẽ sử dụng lớp layer 22 Bottom Layer Top Layer Hình 3.14 Các layer PCB Tiến hành vẽ chân lại với ta có hình: Hình 3.15 Nối dây linh kiện Sau nối dây xong, phủ đồng xong sử dụng phím 1,3,9,0, SHIFT+chuột phải để quan sát bảng mạch theo mơ hình 3D Kết ta có sau: 23 Hình 3.16 Sơ đồ PCB mặt trước Hình 3.17 Sơ đồ PCB mặt sau 3.2.3 Các linh kiện mạch Bảng 3.1 Các linh kiện mạch 24 ST T Ký kiệu Footprint Giá tiền Y1 HC-49S 20005000VND R1,R2,R3, R4,R5,R6, R7 0805 D1 Led Red 5mm D3,D4 Led Blue 0805 1000SMD 2000VND S1 Switch SMD C1,C2,C3,C 6,C7,C8 0805 C4,C5 Cap Alum ATMEGA32 28-DIP 8-PU(IC1) FT232RL (IC2) 28-SSOP 10 USB (H1) 11 MC33269D3.3G (U1) USB connector 800mA 8SOIC Địa mua https://linhkien888 vn/thach-anh16mhz-49s-smd 10k(50c) https://banlinhkien vn/ https://linhkien888 vn/