1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo đồ án 1 đề tài tìm hiểu và thiết kế board mạch arduino uno r3

32 3 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung đề tài:Sinh viên tìm hiểu các thông tin cơ bản của Arduino thông qua báo cáo đượcgiảng viên đưa lên MS Teams, sau đó đi vào cụ thể tìm hiểu các thông tin, chứcnăng cũng như nguy

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

BÁO CÁO ĐỒ ÁN 1

Đề tài : Tìm hiểu và thiết kế board mạch Arduino Uno R3

Vũ Tứ Kiên

Kien.VT210496@sis.hust.edu.vn

Ngành KT Điều khiển & Tự động hóa

Giảng viên hướngdẫn:

TS Nguyễn Hoàng Nam

BỘ GIÁO DỤC & ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Chữ ký của GVHD

HÀ NỘI, 1/2024

Trang 2

TRƯỜNG ĐH BÁCH KHOA HÀ NỘIĐộc lập – Tự do - Hạnh phúc

NHIỆM VỤĐỒ ÁN 1

Họ và tên sinh viên: Vũ Tứ Kiên

Khóa 66 Trường: Điện- Điện tử Ngành: KTĐK &TĐH

1 Tên đề tài:

Tìm hiểu và thiết kế board mạch arduino Uno R3

2 Nội dung đề tài:

Sinh viên tìm hiểu các thông tin cơ bản của Arduino thông qua báo cáo đượcgiảng viên đưa lên MS Teams, sau đó đi vào cụ thể tìm hiểu các thông tin, chứcnăng cũng như nguyên lý hoạt động của board mạch Arduino Uno R3 và nếu cóthể thì tìm hiểu thêm về dòng R4 Sử dụng Altium vẽ lại sơ đồ nguyên lý(Schematic) của dòng Arduino đã tìm hiểu, sau đó xuất thành bảng mạch PCB 3D.Báo cáo ghi lại quá trình thực hiện việc tìm hiểu của sinh viên.

3 Thời gian giao đề tài:21/11/20234 Thời gian hoàn thành: 12/01/2024

Trang 3

đồ án vì hiểu biết còn hạn hẹp khó tránh khỏi nhiều thiếu sót, em mong nhậnđược những lời góp ý, chỉnh sửa từ phía thầy để hoàn thiện hơn.

Em xin chân thành cảm ơn thầy!

Tóm tắt nội dung đồ án

Đồ án 1 yêu cầu sinh viên nắm được nguyên lý, cấu tạo cũng như hoạtđộng của một board mạch Arduino Uno R3 đồng thời thiết kế lại bo mạch này.Sử dụng phần mềm Altium designer 21 để thiết kế mạch nguyên lý (schematic)và mạch in PCB 3D của bo mạch Kết quả của đồ án giúp sinh viên tự tìm hiểuvà xây dựng kĩ năng sử dụng phần mềm Altium designer 21 thiết kế mạch,đồng thời hiểu được nguyên lý hoạt động cũng như cấu tạo của board mạchArduino Uno R3 Trong tương lai có thể là môn đồ án 2, sinh viên sẽ xuất bảnthành một mạch in hoàn chỉnh ngoài đời thực.

Mục lục

CHƯƠNG 1.Tìm hiểu về bo mạch Arduino 6

1.1 Giới thiệu về Arduino 6

1.2 Các loại board mạch Arduino thông dụng 7

CHƯƠNG 2.Board mạch Arduino Uno 8

Sinh viên thực hiện

Ký và ghi rõ họ tênKiênVũ Tứ Kiên

Trang 4

2.1 Cấu tạo 8

2.2 Thông số kỹ thuật của Arduino Uno R3 10

2.3 Vi điều khiển Atmega328 của Arduino Uno R3 10

2.4 Cấp nguồn cho board mạch Arduino Uno R3 11

CHƯƠNG 3.Thiết kế board mạch Arduino Uno R3 12

3.1 Phần mềm sử dụng 12

3.1.1 Tìm hiểu về Altium Designer 21 12

3.1.2 Altium Designer 21 có lại những lợi ích gì? 12

3.2 Thiết kế board mạch Arduino Uno R3 13

3.2.1 Thiết kế sơ đồ nguyên lý (schematic) 13

3.2.1.1 Thiết kế khối nguồn 14

3.2.1.2 Thiết kế khối vi điều khiển ATmega328-PU 17

Trang 5

Danh mục hình vẽ

Hình 1.1 Một số bo mạch Arduino 8

Hình 2.1 Board mạch Arduino Uno 9

Hình 2.2 Sơ đồ chân của Arduino Uno R3 10

Hình 2.3 Sơ đố vị trí linh kiện của Arduino Uno R3 10

Hình 2.4 Vi điều khiển của Arduino Uno R3 11

Hình 3.1 Giao diện của phần mềm Altium Designer 21 13

Hình 3.2 Sơ đồ nguyên lí (schematic) của Arduino Uno R3 14

Hình 3.3 Sơ đồ nguyên lí của Arduino Uno R3 sau khi thiết kế trong AltiumDesigner 21 15

Hình 3.14 Xuất file schematic sang PCB 23

Hình 3.15 Hình sau khi xuất file sang PCB 23

Hình 3.16 Board mạch sau khi sắp xếp các linh kiện 24

Hình 3.17 Nối chân các linh kiện 24

Hình 3.18 Mạch sau khi phủ đồng 25

Hình 3.19 Hình 3D mặt trước board mạch 25

Hình 3.20 Hình 3D mặt sau board mạch 26

Hình 3.21 Vi điều khiển ATmega328 27

Hình 3.22 Bản schematic mới sau khi thay đổi các linh kiện cho phù hợp với kíchthước 5x5cm 28

Hình 3.23 Đình hình kích thước mạch 28

Hình 3.24 Board mạch sau khi 4 lỗ cố định 29

Hình 3.25 Mặt trước của board mạch sau khi được sắp xếp, đi dây và phủ đồng 30

Hình 3.26 Mặt sau của board mạch 30

Hình 3.27 Hình 3D mặt trước khi hoàn thiện của board mạch 31

Hình 3.28 Hình 3D mặt sau khi hoàn thiện của board mạch 31

Trang 6

CHƯƠNG 1.Tìm hiểu về bo mạch Arduino

1.1 Giới thiệu về Arduino

Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng các ứngdụng điện tử tương tác với nhau hoặc với môi trường được thuận lợi hơn Từ khi xuấthiện trong cộng đồng mã nguồn mở và lập trình phần cứng, Arduino thực sự đã gâysóng gió trên thị trường người dùng DIY (là những người tự chế ra sản phẩm củamình) trên toàn thế giới trong vài năm gần đây Số lượng người dùng ngày càng lớnvà đa dạng khiến cho cả những người tạo ra chúng cũng phải ngạc nhiên về mức độphổ biến.

Arduino ra đời vào năm 2005 tại thị trấn Ivrea thuộc nước Ý, xuất hiện nhưmột công cụ khiêm tốn dành cho các sinh viên của giáo sư Massimo Banzi, là mộttrong những người phát triển Arduino, tại trường Interaction Design Instistute Ivrea(IDII).

Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tácvới nhau hoặc với môi trường được thuận lợi hơn Phần cứng bao gồm một boardmạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARMAtmel 32-bit Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 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ácnhau.

Arduino có thể kết nối với:

- Các cảm biến đa dạng về chủng loại như: cảm biến nhiệt độ, độ ẩm, vận tốc,ánh sáng, gia tốc, màu sắc, lưu lượng nước, hồng ngoại,…;

- Các thiết bị hiển thị như: 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áchoặc các kết nối không dây thông dụng như: 3G, Wifi, Bluetooth, GPRS, 2.4Ghz,…;

- Định vị GPS, nhắn tin SMS,…

Những chuẩn giao tiếp của Arduino: Serial, USB, SPI, TWI (I2C)

Môi trường lập trình board mạch Arduino sử dụng vô cùng đơn giản, dễ sửdụng với ngôn ngữ lập trình Wiring dễ hiểu và dựa trên nền tảng C/C++ rất quenthuộc với người làm kỹ thuật Với số lượng thư viện code được viết sẵn và chia sẻbởi cộng đồng mã nguồn mở là cực kỳ lớn.

1.2 Các loại board mạch Arduino thông dụng

Có 5 loại board mạch Arduino phổ biến:

Trang 7

- Arduino Uno- Arduino Ethernet- Arduino Yun- Arduino Nano

- Arduino Mega ADK

Hình 1.1 Một số bo mạch Arduino

Kết luận: Trên đây ta đã tìm hiểu sơ qua về dòng board mạch Arduino.

Chương 2 dưới đây sẽ là tìm hiểu về dòng board mạch được sử dụng trong đồ án 1của chúng ta là board mạch Arduino Uno.

Trang 8

CHƯƠNG 2.Board mạch Arduino Uno

2.1 Cấu tạo

Hình 2.2 Board mạch Arduino Uno

- Arduino Uno là một dòng board mạch Arduino vi điều khiển dựa trên chip

Atmega328P Arduino Uno có 14 chân I/O digital (trong đó có 6 chân xuất xungPWM), 6 chân Input Analog, 1 thạch anh 16MHz, 1 cổng USB, 1 jack nguồn DC, 1nút reset.

- Cổng USB: đây là loại cổng giao tiếp để ta truyền code từ PC lên vi điều

khiển Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển vàmáy tính.

- Jack nguồn: để chạy Ardino thì có thể lấy nguồn từ cổng USB ở trên, nhưng

không phải lúc nào cũng có thể cắm với máy tính Lúc đó ta cần có một nguồn DC ổnđịnh từ 9 – 12V.

- 14 chân I/O: được đánh số thứ tự từ 0 đến 13, ngoài ra còn 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 board mạch Với mỗi

dòng Arduino khác nhau thì sử dụng những con chip khác nhau Ở dòng ArduinoUno R3 thì sử dụng ATMega328.

Sơ đồ vị trí linh kiện của Arduino Uno R3:

Trang 9

Hình 2.3 Sơ đồ chân của Arduino Uno R3

Hình 2.4 Sơ đố vị trí linh kiện của Arduino Uno R3

2.2 Thông số kỹ thuật của Arduino Uno R3

Vi điều khiển Atmega328 họ 8 bit

Điện áp hoạt động 5V DC (cấp qua cổng USB)

Trang 10

Điện áp đầu vào 7-12V DCĐiện áp đầu vào (giới hạn) 6–20V DC

Chân vào/ra (I/O) số 14 (6 chân hardware PWM)Chân vào tương tự 6 (độ phân giải 10 bit)Dòng điện trong mỗi chân I/

40 mADòng điện chân nguồn 3.3V 50 mADòng ra tối đa (5V) 500 mA

Bộ nhớ trong 32KB (Atmega328)SRAM 2KB (Atmega328)EEPROM 1 KB (Atmega328)Tần số hoạt động 16MHz

Bảng 2.1 Thông số kỹ thuật của Arduino Uno R3

2.3 Vi điều khiển Atmega328 của Arduino Uno R3

Hình 2.5 Vi điều khiển của Arduino Uno R3

- Arduino Uno R3 có thể sử dụng 3 vi điều khiển họ 8 bit AVR là Atmega8,Atmage168, Atmega328 Bộ não này có thể xử lí những tác vụ đơn giản như điềukhiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển tự xa, làm một trạm khítượng thu nhỏ hiển thị lên trên màn hình LCD,…

- Thiết kế tiêu chuẩn của Arduino Uno R3 sử dụng vi điều khiển Atmega328với giá thành hiện tại là khoảng 78000 đồng trên tme.com chưa kể thuế Tuy nhiênnêu yêu cầu phần cứng của bạn không cao thì có thể sử dụng các loại vi điều khiểnkhác có chức năng tương đương như Atmega 8 (bộ nhớ flash 8KB) hoặc Atmega168(bộ nhớ flash 16KB) với giá thành chỉ 30000-60000 đồng.

2.4 Cấp nguồn cho board mạch Arduino Uno R3

- Có 2 cách cấp nguồn chính cho board mạch Arduino Uno R3: Sử dụng cổngUSB và jack DC.

Trang 11

+ Dải điện áp giới hạn nhà sản xuất đưa ra cho Arduino là 6-20V Tuy nhiênkhông nên dùng dải điện áp giới hạn mà nên dùng trong khoảng điện áp khuyên dùngcủa nhà sản xuất đưa ra là 7-12V (thường được cấp nguồn bằng pin vuông 9V), nếucấp nguồn lớn hơn 12V liên tục có thể gây nóng board mạch hoặc làm hỏng.

- Các chân nguồn trên board mạch Arduino Uno R3:

+ Vin: có thể cấp nguồn trực tiếp cho board mạch Arduino Uno R3 thông quachân này Tuy nhiên cách cấp nguồn này ít được sử dụng.

+ 5V: chân 5V bỏ qua bộ điều chỉnh điện áp và tất cả các biện pháp an toàn cótrên Arduino Uno, vì vậy nếu đầu vào vượt quá 5V (5,5 là giới hạn trên tối đa), bomạch có thể bị hỏng.

+ 3.3V: Chân dùng cho nguồn 3.3V với dòng điện tối đa là 50mA.

+ GND: chân đất, tránh nhầm lẫn chân GND với các chân nguồn khác gâyhỏng board mạch.

Trang 12

CHƯƠNG 3.Thiết kế board mạch Arduino Uno R3

3.1 Phần mềm sử dụng

Trong học phần đồ án 1, để vẽ sơ đồ nguyên lý (schematic) và xuất thành mạchPCb, chúng ta sử dụng phần mềm Altium Designer phiên bản 21.

3.1.1 Tìm hiểu về Altium Designer 21

Altium Designer được phát triển bởi hãng Altium Limited.

Altium Designer 21 là một trong những phần mềm thiết kế PCB công nghệ caonhất trong ngành hiện nay Phần mềm cung cấp chức năng hiệu suất cao và các tínhnăng nâng cao để làm việc trên các bo mạch phức tạp nhất một cách dễ dàng.

Với Designer 21, Altium tiếp tục duy trì sự cân bằng hoàn hảo giữa thân thiệnvới người dùng và hiệu suất Với các tính năng như định tuyến tương tác và DRC,cho phép bạn thiết kế PCB của mình với độ chính xác cao.

Hình 3.6 Giao diện của phần mềm Altium Designer 21

3.1.2 Altium Designer 21 có lại những lợi ích gì?

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ỗ trợ mạnh mẽ cho việc thiết kế tự động, đi 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 các giải pháp thiết kế hoặc chỉnh sửamạch, linh kiện, netlist có sẵn từ trước 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 linhkiện, netlist, dữ liệu bản vẽ, kích thước, số lượng…

Trang 13

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ấtcả các linh kiện nhúng, số, tương tự…

Đặt và sửa đối tượng trên các lớp cơ khí, định nghĩa các luật thiết kế, tùy chỉnhcác lớp mạch in, chuyển từ schematic sang PCB, đặt vị trí linh kiện trên PCB.

Mô phỏng mạch PCB 3D, đem lại hình ảnh mạch điện trung thực trong khônggian 3 chiều, hỗ trợ MCAD-ECAD, liên kết trực tiếp với mô hình STEP, kiểm trakhoảng cách cách điện, cấu hình cho cả 2D và 3D

Hỗ trợ thiết kế PCB sang FPGA và ngược lại.

3.2 Thiết kế board mạch Arduino Uno R3

Nhiệm vụ thiết kế board mạch Arduino Uno R3 bao gồm 2 phần:- Vẽ lại sơ đồ nguyên lý (schematic) của Arduino Uno R3

- Chuyển sang dạng bảng mạch PCB 3D

3.2.1 Thiết kế sơ đồ nguyên lý (schematic)

Sơ đồ nguyên lý của mạch Arduino Uno R3 được thiết kế bao gồm:- Thiết kế nguồn

- Thiết kế mạch dao động- Thiết kế mạch reset- Thiết kế mạch nạp

- Khối vi điều khiển Atmega328-PU

Hình 3.7 Sơ đồ nguyên lí (schematic) của Arduino Uno R3

Trang 14

Hình 3.8 Sơ đồ nguyên lí của Arduino Uno R3 sau khi thiết kế trong AltiumDesigner 21

3.2.1.1.Thiết kế khối nguồn

Sử dụng bộ chuyển đổi AC sang DC cắm vào đầu nối thùng Nguồn vào sửdụng Jack DC (7-12V), đường kính 2,1mm Chốt trung tâm là cực dương và ống bọcbên ngoài được nối đất.

Hình 3.9 Nguồn vào 7-12V

Nguồn vào sử dụng cổng USB B, dòng điện cung cấp cho board mạch là500mA ở điện áp 5V nếu kết nối được liệt kê và 100mA ở điện áp 5V nếu kết nốikhông được liệt kê.

Trang 15

Hình 3.11 Opamp LMV358 và Mofset FDN340P

Điện áp từ Jack DC sau khi qua Diode bảo vệ D1 thì được gọi là điện áp VIN.Điện áp VIN qua cầu phân áp để tạo thành VIN/2 để so sánh với điện áp 3.3V VìVIN/2 >3.3V nên điện áp đầu ra của OPamp là 5V, điều này làm cho Mosfet khôngđược kích, nguồn cung cấp cho board Arduino là từ Jack DC sau khi qua ổn áp.

Khối điều áp tạo ra các điện áp 5V và 3.3V để cung cấp cho vi điều khiển vàcũng là điểm cấp nguồn cho các thiết bị bên ngoài sử dụng Mạch Arduino sử dụngIC ổn áp NCP1117 để tạo điện áp 5V từ nguồn cung cấp lớn và IC ổn áp LP2985 đểtạo điện áp 3.3V Đây đều là những IC ổn áp tuyến tính, tuy hiệu suất không caonhưng ít gợn nhiễu và mạch đơn giản.

Trang 16

Hình 3.12 Điều áp 5V dùng IC NCP1117

Hình 3.13 Điều áp 3.3V dùng IC LP2985

Để bảo vệ được nguồn, quá tải F1 là một cầu chì tự phục hồi, trong trường hợpbạ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 D1 là một Diode,chỉ cho dòng điện 1 chiều chạy qua (từ Jack DC vào mạch), trong trường hợp mạchArduino của bạn có mắc với các thiết bị khác và có nguồn cung cấp lớn hơn nguồnvào Jack DC, nếu có sai sót chập mạch vv thì sẽ không có trường hợp nguồn cácthiết bị bên ngoài chạy ngược vào Adapter.

Đèn báo nguồn có chức năng báo thiết bị đã được cấp nguồn Nếu đã cắmnguồn mà đèn nguôn không sáng thì có thế nguồn cung cấp đã bị hỏng hoặc Jack kếtnối lỏng, hoặc mạch Arduino kết nối với các linh kiện bên ngoài bị ngắn mạch.

Trang 17

Hình 3.14 Đèn báo nguồn

3.2.1.2.Thiết kế khối vi điều khiển ATmega328-PU

Atmega328 là một chíp vi điều khiến được sản xuất bời hãng Atmel thuộc họMegaAVR có sức mạnh hơn hẳn Atmega8 Atmega328 là một bộ vi điều khiển 8 bitdựa trên kiến trúc RISC, bộ nhớ chương trình 32KB ISP flash có thể ghi xóa hàngnghìn lần, 1KB EEPROM một bộ nhớ RAM vô cùng lớn trong thế giới vi xử lý 8 bit(2KB SRAM).

Với 23 chân có thể sử dụng cho các kết nối vào hoặc ra i/O, 32 thanh ghi, 3 bộtimer/counter có thể lập trình, có các ngắt nội và ngoại (2 lệnh trên một vector ngắt),giao thức truyền thông nối tiếp USART, SPI, I2C Ngoài ra có thể sử dụng bộ biếnđồi số tương tự 10 bít (ADC/DAC) mở rộng tới 8 kênh, khả năng lập trình đượcwatchdog timer, hoạt động với 5 chế độ nguồn, có thể sử dụng tới 6 kênh điều chế độrộng xung (PWM), hỗ trợ bootloader Atemega328 có khả năng hoạt động trong mộtdải điện áp rộng (1.8V — 5.5V), tốc độ thực thi (thông luợng) 1MIPS trên 1MHz.

Hình 3.15 Vi xử lý ATmega328-PU

Trang 18

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 MCURESET Khi không nhấn nút chân Reset được kéo 5V

Trang 19

- Reset tự động: Reset tự động được thực hiện ngay khi cấp nguồn cho vi điềukhiển nhờ sự phối hợp giữa điện trở nối lên nguồn và tụ điện nối đất Thời gian tụđiện nạp giúp cho chân RESET ở mức LOW trong 1 khoản thời gian đủ để vi điềukhiển thực hiện reset

- Khởi động vi điều khiển trước khi nạp chương trình mới.

3.2.1.5.Thiết kế mạch nạp

Hình 3.18 Mạch nạp

Vi điều khiển Atmega328P trên board mạch Arduino Uno R3 đã được nạp sẵn1 bootloader, cho phép nhận chương trình mới thông qua chuẩn giao tiếp UART(chân 0 và 1) ở những giây đầu sau khi vi điều khiển Reset

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 một vi điều khiển trung gian là ATmega16U2 hoặc một IC trung gian làCH340 (thường thấy trong các mạch sử dụng chip dán) Vi điều khiển hoặc IC này cónhiệm vụ chuyển đổi chuẩn giao tiếp USB thành chuẩn giao tiếp UART để nạpchương trình hoặc giao tiếp truyền nhận dữ liệu với máy tính (Serial).

Phần thiết kế mạch nạp có tích hợp thêm 2 đèn LED, nên khi nạp chương trìnhsẽ thấy 2 LED này nhấp nháy Còn khi giao tiếp, nếu có dữ liệu từ máy tính gửixuống vi điều khiến thì đèn LED Rx sẽ nháy Còn nếu có đữ liệu từ vi điều khiển gửilên máy tính thì đèn Tx sẽ nháy.

Ngày đăng: 30/05/2024, 18:14

Xem thêm:

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w