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.
Tổng quan về bo mạch Arduino
Giới thiệu về Arduino
Arduino là nền tảng mã nguồn mở nổi bật, cho phép xây dựng các ứng dụng điện tử tương tác hiệu quả Trong những năm gần đây, Arduino đã tạo ra cơn sốt trong cộng đồng DIY toàn cầu, tương tự như thành công của Apple trong lĩnh vực thiết bị di động Sự đa dạng và số lượng người dùng, từ học sinh đến sinh viên đại học, đã khiến ngay cả những nhà sáng lập cũng phải ngạc nhiên về độ phổ biến của nền tảng này.
- Arduino được khởi động vào năm 2005 như là một dự án dành cho sinh viên trại Interaction Design Institute Ivrea tại Ivrea, Italy.
Arduino là một board mạch vi xử lý mở, giúp xây dựng các ứng dụng tương tác với nhau và với môi trường Phần cứng sử dụng vi xử lý AVR Atmel 8-bit hoặc ARM Atmel 32-bit, với các model hiện tại trang bị 1 cổng USB, 6 chân đầu vào analog và 14 chân I/O kỹ thuật số, tương thích với nhiều board mở rộng khác.
Arduino là nền tảng phần cứng chuẩn hóa, cho phép người dùng dễ dàng chọn và lắp ráp các linh kiện cần thiết Nếu bạn muốn chế tạo xe điều khiển từ xa, Arduino cung cấp đầy đủ các module như điều khiển động cơ, mạch điều khiển và mạch thu phát sóng không dây.
Arduino có thể kết nối những gì
Hệ thống cảm biến đa dạng bao gồm các loại như cảm biến đo 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 hiện chuyển động, phát hiện kim loại và khí độc.
- Các thiết bị hiển thị (màn hình LCD, đèn LED,…).
- Các module chức năng (shield) hỗ trợ kêt nối có dây với các thiết bị khác hoặc các kết nối không dây thông dụng (3G, GPRS, Wifi, Bluetooth, 315/433Mhz, 2.4Ghz,…), …
- Định vị GPS, nhắn tin SMS,…
Các loại bo mạch Arduino
Có 5 loại Arduino phổ biến:
Một số hình ảnh về các loại bo mạch Arduino
Hình 1.1 Các loại mạch Arduino
Giới thiệu Arduino Uno
Cấu tạo Arduino Uno
Arduino Uno là một bo mạch vi điều khiển dựa trên chip Atmega328P.
Uno có 14 chân I/O digital ( trong đó có 6 chân xuất xung PWM), 6 chân Input analog, 1 thạch anh 16MHz, 1 cổng USB, 1 jack nguồn DC, 1 nút reset.
Cổng USB là giao tiếp quan trọng cho việc tải mã từ máy tính lên vi điều khiển, đồng thời cũng cho phép truyền dữ liệu giữa vi điều khiển và máy tính qua giao tiếp serial.
Để cung cấp nguồn cho Arduino, bạn có thể sử dụng cổng USB Tuy nhiên, trong trường hợp không thể kết nối với máy tính, bạn sẽ cần một nguồn điện từ 9V đến 12V.
- Có 14 chân vào/ra số đánh số thứ tự từ 0 đến 13, ngoài ra có một chân nối đất (GND) và một chân điện áp tham chiếu (AREF)
Vi điều khiển AVR là bộ xử lý trung tâm của toàn bộ bo mạch, và mỗi mẫu Arduino sẽ sử dụng một loại chip khác nhau Cụ thể, Arduino Uno sử dụng chip ATMega328.
Sơ đồ chi tiết của Uno R3:
Hình 2.2 Ảnh chi tiết Arduino Uno và vị trí linh kiện
Thông số kỹ thuật
Vi xử lý: Atmega328 Điện áp hoạt động: 5V Điện áp đầu vào: 7-12V Điện áp đầu vào (Giới hạn): 6-20V
Chân vào/ra (I/O) số: 14 ( 6 chân có thể cho đầu ra PWM)
Dòng điện trong mỗi chân I/O: 40mA
Dòng điện chân nguồn 3.3V: 50mA
Vi điều khiển của Arduino Uno
Hình 2.3 Vi điều khiển của Arduino Uno R3
Arduino UNO sử dụng ba vi điều khiển 8 bit AVR: ATmega8, ATmega168 và ATmega328 Với bộ não này, Arduino UNO có khả năng thực hiện các tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lý tín hiệu cho xe điều khiển từ xa, và tạo ra một trạm đo nhiệt độ - độ ẩm hiển thị trên màn hình LCD.
Arduino UNO được thiết kế với vi điều khiển ATmega328, có giá khoảng 90.000đ Nếu bạn cần một giải pháp tiết kiệm hơn, có thể xem xét các vi điều khiển khác như ATmega8 (8KB bộ nhớ flash) với giá khoảng 45.000đ hoặc ATmega168 (16KB bộ nhớ flash) với giá khoảng 65.000đ, vẫn đảm bảo chức năng tương đương.
Nguồn
Có hai cách cấp nguồn chính cho bo mạch Uno: cổng USB và jack DC.
Giới hạn điện áp cho Uno là từ 6 đến 20V, nhưng dải điện áp khuyên dùng là 7 đến 12V, với mức tối ưu là 9V Nếu nguồn cấp dưới 7V, điện áp ở chân 5V có thể thấp hơn 5V, dẫn đến hoạt động không ổn định của mạch Ngược lại, nếu nguồn cấp lớn hơn 12V, có thể gây nóng bo mạch hoặc làm hỏng thiết bị.
Các chân nguồn trên Uno:
- Vin : chúng ta có thể cấp nguồn cho Uno thông qua chân này Cách cấp nguồn này ít được sử dụng.
- 5V : Chân này có thể cho nguồn 5V từ bo mạch Uno Việc cấp nguồn vào chân này hay chân 3.3 V đều có thể phá hỏng bo mạch.
- 3.3V : Chân này cho nguồn 3.3 V và dòng điện maximum là 50mA.
Thiết kế mạch Arduino Uno
Giới thiệu qua phần mềm Altium 18
Altium Designer, trước đây được gọi là Protel DXP, là một trong những công cụ vẽ mạch điện tử hàng đầu hiện nay, được phát triển bởi Altium Limited Phần mềm này chuyên dụng cho thiết kế mạch điện tử, sở hữu nhiều tính năng mạnh mẽ và thú vị Mặc dù vậy, Altium Designer vẫn chưa được nhiều người biết đến như các phần mềm thiết kế mạch khác như Orcad hay Proteus.
Hình 3.1 Giao diện schematic Altium Designer 18
3.1.2 Đặc trưng của Altium Designer
- Giao diện thiết kế, quản lý và chỉnh sửa thân thiện, dễ dàng biên dịch, quản lý file, quản lý phiên bản cho các tài liệu thiết kế.
Hệ thống cung cấp hỗ trợ mạnh mẽ cho thiết kế tự động và đi dây tự động dựa trên thuật toán tối ưu Nó cho phép phân tích lắp ráp linh kiện và tìm kiếm các giải pháp thiết kế hoặc chỉnh sửa mạch, linh kiện, netlist đã có sẵn theo các tham số mới.
- Mở, xem và in các file thiết kế mạch dễ dàng với đầy đủ các thông tin linh kiện, netlist, dữ liệu bản vẽ, kích thước, số lượng…
- Hệ thống các thư viện linh kiện phong phú, chi tiết và hoàn chỉnh bao gồm tất cả các linh kiện nhúng, số, tương tự…
Đặt và điều chỉnh các đối tượng trên các lớp cơ khí, xác định các quy tắc thiết kế, tùy chỉnh các lớp mạch in, chuyển đổi từ sơ đồ nguyên lý sang PCB, và xác định vị trí linh kiện trên PCB là những bước quan trọng trong quá trình thiết kế mạch điện.
Mô phỏng mạch PCB 3D mang đến hình ảnh chân thực của mạch điện trong không gian ba chiều, hỗ trợ tích hợp giữa MCAD và ECAD Công nghệ này cho phép liên kết trực tiếp với mô hình STEP, giúp kiểm tra khoảng cách cách điện và cấu hình cho cả thiết kế 2D và 3D.
- Hỗ trợ thiết kế PCB sang FPGA và ngược lại.
Thiết kế mạch Arduino Uno trên Altium Designer 18
Thiết kế mạch Arduino Uno bao gồm 2 phần:
- Sơ đồ nguyên lý (schematic)
Sơ đồ nguyên lý của mạch Arduino Uno được thiết kế bao gồm:
- Khối vi điều khiển Atmega328-PU
Hình 3.2 Sơ đồ nguyên lý của Arduino Uno
Có 2 cách cấp nguồn cho Board mạch
Hình 3.3 Sơ đồ cấp nguồn qua Jack DC
Hình 3.4 Sơ đồ cấp nguồn qua USB
- Nguồn cấp vào Jack DC có thể là Pin Dải điện áp khuyên dùng là 7 – 12 V (tốt nhất 9V)
- Điện áp từ Jack DC sau khi qua Diode bảo vệ D2 thì được gọi là điện áp VIN.
- Diode D2 có nhiệm vụ bảo vệ, duy trì dòng DC vào mạch
- Tụ C4 có các dụng cung cấp điện áp tạm thời cho chân Vin khi nguồn đột ngột bị sụt áp
Tụ C5 và C6 được sử dụng để lọc điện áp cung cấp cho tải tiêu thụ từ chân OUT của IC MC3326D-3.3G Tụ C5 cung cấp điện áp tạm thời cho tải khi xảy ra sụt áp đột ngột, trong khi tụ C6 với trở kháng lớn có tác dụng lọc nhiễu điện áp đầu ra.
- F1 là một cầu chì tự phục hồi, trong trường hợp bạn chỉ sử dụng dây cáp
USB để cấp nguồn thì tổng dòng tiêu thụ không được quá 500mA Nếu không cầu chì sẽ ngăn không cho dòng điện chạy qua.
Khi chỉ có một nguồn cung cấp, Board Arduino sẽ sử dụng nguồn đó Nếu có cả hai nguồn cung cấp, Arduino sẽ ưu tiên nguồn từ Jack DC thay vì từ cổng.
3.2.1.2 Thiết kế mạch dao động
Hình 3.5 Sơ đồ mạch dao động
Mạch giao động trên board mạch Arduino Uno sử dụng thạch anh 16MHz để tạo ra các xung clock, giúp vi điều khiển hoạt động và thực thi lệnh hiệu quả.
- Mạch giao động tạo ra các xung clock giúp cho vi điều khiển hoạt động, thực thi lệnh
Hình 3.6 Sơ đồ mạch reset
Để vi điều khiển thực hiện khởi động lại thì chân RESET phải ở mức logic LOW (~0V) trong 1 khoản thời gian đủ yêu cầu.
Chức năng của mạch Reset:
- Reset bằng 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 được kéo 5V.
Reset tự động là quá trình diễn ra ngay khi vi điều khiển được cấp nguồn, nhờ vào sự kết hợp giữa điện trở nối lên nguồn và tụ điện nối đất Thời gian nạp của tụ điện đảm bảo chân RESET duy trì ở mức LOW trong khoảng thời gian đủ để vi điều khiển thực hiện quá trình reset.
- Khởi động vi điều khiển trước khi nạp chương trình mới.
Hình 3.7 Sơ đồ mạch nạp
Máy tính kết nối với board mạch Arduino qua giao thức USB (D+/D-) thông qua IC FT232RL của FTDI IC này chuyển đổi giao tiếp USB thành giao tiếp UART, cho phép nạp chương trình và truyền nhận dữ liệu giữa máy tính và Arduino.
- Mạch có thể hoạt động tốt ở chế độ 5V hoặc 3V3, trên mạch có sẵn 2 led
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.1 Các phím tắt trong thiết kế PCB
Các phím tắt trong thiết kế mạch in:
+ Ctrl + Shift + Lăn chuột: chuyển lớp
+ D - O: Chỉnh thông số của mạch.
+ D - R: Thay đổi các luật cho bản vẽ (kích thước đường dây, lỗ via, khoảng cách các 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 cả các lớp
+ D - T - S: Hiển thị các lớp tín hiệu (Top - Bottom - Multi)
+ L: Khi đang di chuyển linh kiện lật linh kiện giữa lớp Top và Bottom (Bottom và Top)
+ 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)
Sử dụng tổ hợp phím Shift + R để thay đổi chế độ đi dây, bao gồm cắt, không cho cắt và đẩy dây Để chỉ hiển thị lớp đang chọn, hãy nhấn Shift + S, giúp ẩn các lớp còn lại Ngoài ra, bạn có thể thay đổi chế độ đường dây bằng cách nhấn Shift + Space, với các tùy chọn như tự do, theo luật, vuông 90 độ và cong.
+ TAB: Hiện cửa sổ thay đổi thông tin khi đang thao tác.
+ T - U - A: Xóa tất cả các đường mạch
+ T - E: Bo tròn đường dây chân linh kiện
+ V - F: Hiển thị toàn bộ bả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 khi vẽ xong sơ đồ Schematic và kiểm tra đầy đủ, thì ta nhấn vào Design và chọn Update PCB Document .PcbDoc
Sau khi xuất sang PCB ta được hình như sau:
Hình 3.11 Hình sau khi xuất file sang PCB
- Bước 3: Đưa các linh kiện vào và sắp xếp theo từng khối như schematic
Sắp xếp các linh kiện phù hợp theo từng khối như trong hình vẽ schematic.
Hình 3.12 Sắp xếp các linh kiện
- Bước 4: Nối dây của các linh kiện với nhau a) Nhấn Ctrl+ vị trí chân cần đấu
Bottom Layer và Top Layer.
Hình 3.14 Các layer trong PCB
Tiến hành vẽ các chân còn lại với nhau ta có hình:
Hình 3.15 Nối dây các linh kiện
Sau khi nối dây xong, phủ đồng xong sử dụng các 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 quả ta có như sau:
Hình 3.16 Sơ đồ PCB mặt trước
Ký kiệu Footprint Giá tiền Địa chỉ mua
5000VND https://linhkien888. vn/thach-anh- 16mhz-49s-smd
0805 10k(50c) https://banlinhkien. vn/ https://linhkien888. vn/
3 D1 Led Red 5mm