TRƯỜNG ĐẠI HỌC DUY TÂN KHOA ĐIỆN ĐIỆN TỬ NGUYỄN VĂN CÔNG THÁI THIẾT KẾ CHẾ TẠO ROBOT XE HAI BÁNH CÂN BẰNG TỰ VẬN HÀNH ĐỒ ÁN TỐT NGHIỆP Đà Nẵng, 2022 LỜI CẢM ƠN TRƯỜNG ĐẠI HỌC DUY TÂN KHOA ĐIỆN ĐIỆN. MỤC LỤC LỜI NÓI ĐẦU ........................................................................................................1 CHƯƠNG 1: TỔNG QUAN VỀ ROBOT HAI BÁNH TỰ CÂN BẰNG ............3 1.1 Giới thiệu......................................................................................................3 1.2 Tình hình nghiên cứu trong nước và trên thế giới........................................4 1.2.1 Trong nước ................................................................................................4 1.2.2 Nước ngoài ................................................................................................5 CHƯƠNG 2: THIẾT KẾ HỆ THỐNG...................................................................8 2.1 Thiết kế hệ thống..........................................................................................8 2.1.1 Sơ đồ khối tổng quát của hệ thống ............................................................8 2.1.1 Sơ đồ khối tổng quát của hệ thống ............................................................8 2.1.2 Chức năng của từng khối...........................................................................8 2.2 Thiết kế phần cứng .......................................................................................9 2.2.1 Sơ đồ mạch điện ........................................................................................9 2.2.2 Nguyên lý hoạt động của toàn hệ thống..................................................10 2.2.3 Thông số kỹ thuật của từng thiết bị.........................................................11 2.3 Thiết kế phần mềm .....................................................................................20 2.4 Lưu đồ thuật toán: ......................................................................................21 2.5 Thuật toán điều khiển PID..........................................................................21 2.5.1 Giới thiệu về thuật toán PID....................................................................21 2.5.2 Lựa chọn bộ thông số PID.......................................................................24 2.6 Giới thiệu về Arduino IDE .........................................................................26 2.6.1 Khởi tạo một chương trình ......................................................................27 2.6.2 Cấu trúc của một chương trình trong phần mềm Arduino IDE ..............28 CHƯƠNG 3: THỬ NGHIỆM VÀ THẢO LUẬN ...............................................30 3.1 Môi trường thử nghiệm ..............................................................................30 3.2 Kịch bản .....................................................................................................30 3.3 Kết quả thử nghiệm ....................................................................................32 3.3.1 Thực nghiệm............................................................................................36 3.3.2 Nhận xét ..................................................................................................36 3.4 Giải thích kết quả .......................................................................................36CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .....................................37 TÀI LIỆU THAM KHẢO ....................................................................................38 CHƯƠNG 1: TỔNG QUAN VỀ ROBOT HAI BÁNH TỰ CÂN BẰNG 1.1 Giới thiệu tổng quan Xe hai bánh tự cân bằng là một trong những dự án có rất nhiều ứng dụng trong cuộc sống hiện nay, nó có nhiều ưu điểm và được sử dụng với nhiều mục đích khác nhau như: phục vụ nhu cầu giải trí, tham gia các cuộc thi về xe tự hành và có thể ứng dụng trong quân sự, mặt khác nó vẫn còn tồn tại một số khuyết điểm như: chi phí cao, giới hạn về các địa hình di chuyển. Xe hai bánh tự cân bằng là mô hình xe được thiết kế dựa trên sự hoạt động của mô hình con lắc ngược, là một đối tượng phi tuyến với các tham số bất định. Đặc điểm nổi bật nhất của xe hai bánh tự cân bằng là có thể tự cân bằng, giúp cho xe luôn ở trạng thái cân bằng đứng yên dù xe chỉ có hai bánh và một trục chuyển động. Hiện nay có rất nhiều công trình nghiên cứu về các mô hình robot tự cân bằng nói chung và mô hình xe hai bánh tự cân bằng nói riêng, có rất nhiều nghiên cứu về giải thuật điều khiển xe hai bánh tự cân bằng như: Điều khiển xe hai bánh tự cân bằng sử dụng giải thuật cuốn chiếu (backstepping control), sử dụng giải thuật điều khiển trượt (sliding mode control), giải thuật điều khiển LQR, giải thuật điều khiển thông minh fuzzy, noron, và giải điều khiển PID. Trong số các giải thuật điều khiển trên thì giải thuật điều khiển bằng PID cho thấy được sự đơn giản và dễ sử dụng nhất nên trong đề tài này tôi đã sử dụng giải thuật điều khiển PID để điều khiển xe hai bánh tự cân bằng của mình, nghĩa là khi xe bị ngã về phía trước thì cả hai động cơ sẽ cùng chạy tới để đỡ cho xe đứng lên, khi độ nghiêng của xe càng lớn thì tốc độ của động cơ cũng sẽ càng tăng và ngược lại khi xe bị ngã về phía sau thì cả hai động cơ sẽ lùi lại để đỡ cho xe đứng lên. CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 2.1 Thiết kế hệ thống 2.1.1 Sơ đồ khối tổng quát của hệ thống Hình 2.1: Sơ đồ khối của hệ thống 2.1.2 Chức năng của từng khối Khối nguồn: Khối nguồn có chức năng cấp nguồn cho toàn bộ hệ thống hoạt động, ở đề tài này chúng ta sẽ sử dụng Pin để cấp nguồn cho hệ thống. Khối cảm biến: Có chức năng thu thập dữ liệu, thu thập các thông số về góc nghiêng của xe thông qua Module cảm biến gia tốc 6 bậc tự do MPU6050 sau đó nó sẽ tự xử lý và tính toán rồi gửi dữ liệu về khối điều khiển. Khối điều khiển: Chúng ta sẽ sử dụng vi điều khiển Arduino Uno R3 bởi vì nó dễ lập trình, giá thành rẻ và thiết kế phần cứng cũng khá đơn giản. Đây là khối trung tâm
Trang 1KHOA ĐIỆN- ĐIỆN TỬ
NGUYỄN VĂN CÔNG THÁI
THIẾT KẾ CHẾ TẠO ROBOT XE HAI BÁNH
CÂN BẰNG TỰ VẬN HÀNH
ĐỒ ÁN TỐT NGHIỆP
Đà Nẵng, 2022
Trang 2LỚP : K23 EDT 1
MSSV : 2321179607
Đà Nẵng, 2022
Trang 3giáo trong khoa ĐIỆN – ĐIỆN TỬ , trường ĐẠI HỌC DUY TÂN lời cảm ơn chân thành nhất ạ
Đặc biệt, em xin gửi đến thầy TS Trần Thuận Hoàng , người đã tận tình hướng
dẫn, giúp đỡ em hoàn thành báo cáo đồ án này lời cảm ơn sâu sắc nhất
Cuối cùng em xin cảm ơn các thầy cô trung tâm Điện-Điện Tử CEE Trường Đại Học Duy Tân Các thầy cô đã truyền đạt và hướng dẫn chúng em những kiến thức nền tảng quan trọng của ngành học giúp chúng em vận dụng phát huy vào thực tế đồ án Đồng thời nhà trường đã tạo cho em có cơ hội được học tập nơi mà em yêu thích, chỉ bảo những kiến thức lẫn thực tế mà các thầy cô thông qua việc giảng dạy Qua quãng thời gian học tập tại trường em đã nhận ra nhiều điều mới mẻ và bổ ích trong con đường
em đã chọn để giúp ích cho công việc sau này của bản thân
Vì kiến thức bản thân còn hạn chế, trong quá trình hoàn thiện đồ án này em không tránh khỏi những sai sót, kính mong nhận được những ý kiến đóng góp từ thầy cô trong khoa ạ
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan: Bản đồ án này là toàn bộ công sức tôi bỏ ra nghiên cứu nghiêm túc, thực sự dưới sự hướng dẫn tận tình của thầy Trần Thuận Hoàng, tôi không sao chép của riêng ai Nội dung của đồ án có tham khảo và sử dụng các tài liệu, thông tin trên internet đã được xác nhận theo danh mục tài liệu tham khảo ở cuối quyển khóa luận này
Trang 5CHƯƠNG 1: TỔNG QUAN VỀ ROBOT HAI BÁNH TỰ CÂN BẰNG 3
1.1 Giới thiệu 3
1.2 Tình hình nghiên cứu trong nước và trên thế giới 4
1.2.1 Trong nước 4
1.2.2 Nước ngoài 5
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 8
2.1 Thiết kế hệ thống 8
2.1.1 Sơ đồ khối tổng quát của hệ thống 8
2.1.1 Sơ đồ khối tổng quát của hệ thống 8
2.1.2 Chức năng của từng khối 8
2.2 Thiết kế phần cứng 9
2.2.1 Sơ đồ mạch điện 9
2.2.2 Nguyên lý hoạt động của toàn hệ thống 10
2.2.3 Thông số kỹ thuật của từng thiết bị 11
2.3 Thiết kế phần mềm 20
2.4 Lưu đồ thuật toán: 21
2.5 Thuật toán điều khiển PID 21
2.5.1 Giới thiệu về thuật toán PID 21
2.5.2 Lựa chọn bộ thông số PID 24
2.6 Giới thiệu về Arduino IDE 26
2.6.1 Khởi tạo một chương trình 27
2.6.2 Cấu trúc của một chương trình trong phần mềm Arduino IDE 28
CHƯƠNG 3: THỬ NGHIỆM VÀ THẢO LUẬN 30
3.1 Môi trường thử nghiệm 30
3.2 Kịch bản 30
3.3 Kết quả thử nghiệm 32
3.3.1 Thực nghiệm 36
3.3.2 Nhận xét 36
3.4 Giải thích kết quả 36
Trang 6TÀI LIỆU THAM KHẢO 38
Trang 7Hình 1.2 Robot EquipoiseBot 6
Hình 1.3 Robot hai bánh cân bằng WobblyBot 6
Hình 1.4: Robot hai bánh cân bằng tiltOne 7
Hình 1.5: Robot hai bánh của hãng TOYOTA 7
Hình 2.1: Sơ đồ khối của hệ thống 8
Hình 2.2: Sơ đồ mạch điện 9
Hình 2.3 Mô tả nguyên lí giữ thăng bằng 10
Hình 2.4 Mô tả cách bắt đầu di chuyển 10
Hình 2.5: Vi điều khiển Arduino Uno R3 11
Hình 2.6 Mạch điều khiển động cơ bước A4988 16
Hình 2.7 Arduino CNC Shield 17
Hình 2.8 Hình mạch sạc xả và viên pin khi có mạch sạc xả bảo vệ 18
Hình 2.9 Hình mạch ổn áp và IC LM2596 19
Hình 2.10: Lưu đồ thuật toán 21
Hình 2.11: Logo và giao diện chính của Arduino IDE 26
Hình 2.12: Chức năng các Menu chính 27
Hình 2.13: Mở chương trình mẫu trong Arduino 28
Hình 2.14 Cấu trúc một chương trình trong Arduino IDE 29
Hình 3.1: Mô hình thực tế 30
Hình 3.2: Hiển thị trạng thái của MPU6050 trên IDE 31
Hình 3.3 Hình ảnh Robot vừa khởi động 33
Hình 3.4 Hình ảnh khi nghiêng sang trái 34
Hình 3.5 Hình ảnh khi nghiêng sang phải 35
Trang 8Bảng 3.1: Kết quả thực nghiệm xe đã cân bằng 36
Trang 91 Tính cấp thiết của đề tài
Ngày nay, với sự phát triển nhanh chóng của khoa học kỹ thuật, công nghệ thông tin và các chương trình ứng dụng, đã giúp mở rộng phạm vi phát triển robot góp phần không nhỏ trong quá trình phát triển chung của đất nước Rất nhiều loại robot tân tiến
đã được ra đời phục vụ cho nhiều lĩnh vực như kỹ thuật, y tế, quân sự , công nghiệp Phạm vi ứng dụng robot sẽ mở rộng hơn trong tương lai gần.Trên thế giới hiện nay đã
có rất nhiều nghiên cứu giới với các thuật giải và phương pháp khác nhau cho dẫn đường
rô bốt trong các môi trường trong nhà Những nghiên cứu rất đa dạng, sử dụng nhiều loại cảm biến khác nhau và phục vụ nhiều mục đích khác nhau.Vì thế, tính mở rộng của
hệ thống đang là bài toán rất được quan tâm.Xuất phát từ thực tế đó, bằng những kiến thức đã học ở trường cùng với những kiến thức, tìm tòi từ báo chí sách vở và Internet tôi đã quyết định tìm hiểu về đề tài “Robot hai bánh tự cân bằng”
2 Mục đích nghiên cứu
Mục đích của việc nghiên cứu về xe hai bánh tự cân bằng là nghiên cứu về các ứng dụng của các Module cảm biến cùng với các linh kiện điện tử khác nhằm đáp ứng nhu cầu cuộc sống của con người trong xã hội ngày càng phát triển mạnh về tự động hóa Qua việc nghiên cứu, sinh viên đã có điều kiện ôn lại các kiến thức đã học được tại Trường Đại Duy Tân, từ các kiến thức đã học được sinh viên có thể áp dụng được trong thực tế cũng như nâng cao kiến thức về chuyên môn cho mình
3 Đối tượng
Đối tượng nghiên cứu ở đây là robot hai bánh thông qua sự trợ giúp của cảm biến, mạch điều khiển động cơ , Arduino để tự cân bằng không cần sự trợ giúp của con người trong quá trình vận hành
4 Phương pháp nghiên cứu
Tìm hiểu nguyên lý hoạt động của Module cảm biến gia tốc 6 bậc tự do MPU6050 cùng với cấu tạo của cảm biến gia tốc 6 bậc tự do MPU6050, tìm hiểu nguyên lý hoạt động của mạch điều khiển A4899 để điều khiển động cơ, tìm hiểu về vi điều khiển Arduino Nano cũng như phần mềm viết chương trình cho vi điều khiển, tìm hiểu về kết cấu phần cứng của xe và cách lắp ráp để được một mô hình xe hoàn chỉnh
Trang 105 Nội dung nghiên cứu
Nội dung khóa luận gồm 4 chương:
Chương 1: Tổng quan về robot hai bánh tự cân bằng;
Chương 2: Thiết kế hệ thống;
Chương 3: Thử nghiệm và thảo luận;
Chương 4: Kết luận và hướng phát triển
Trang 11CHƯƠNG 1: TỔNG QUAN VỀ ROBOT HAI BÁNH
TỰ CÂN BẰNG
1.1 Giới thiệu tổng quan
Xe hai bánh tự cân bằng là một trong những dự án có rất nhiều ứng dụng trong cuộc sống hiện nay, nó có nhiều ưu điểm và được sử dụng với nhiều mục đích khác nhau như: phục vụ nhu cầu giải trí, tham gia các cuộc thi về xe tự hành và có thể ứng dụng trong quân sự, mặt khác nó vẫn còn tồn tại một số khuyết điểm như: chi phí cao, giới hạn về các địa hình di chuyển
Xe hai bánh tự cân bằng là mô hình xe được thiết kế dựa trên sự hoạt động của mô hình con lắc ngược, là một đối tượng phi tuyến với các tham số bất định Đặc điểm nổi bật nhất của xe hai bánh tự cân bằng là có thể tự cân bằng, giúp cho xe luôn ở trạng thái cân bằng đứng yên dù xe chỉ có hai bánh và một trục chuyển động
Hiện nay có rất nhiều công trình nghiên cứu về các mô hình robot tự cân bằng nói chung và mô hình xe hai bánh tự cân bằng nói riêng, có rất nhiều nghiên cứu về giải thuật điều khiển xe hai bánh tự cân bằng như: Điều khiển xe hai bánh tự cân bằng sử dụng giải thuật cuốn chiếu (backstepping control), sử dụng giải thuật điều khiển trượt (sliding mode control), giải thuật điều khiển LQR, giải thuật điều khiển thông minh fuzzy, noron, và giải điều khiển PID
Trong số các giải thuật điều khiển trên thì giải thuật điều khiển bằng PID cho thấy được sự đơn giản và dễ sử dụng nhất nên trong đề tài này tôi đã sử dụng giải thuật điều khiển PID để điều khiển xe hai bánh tự cân bằng của mình, nghĩa là khi xe bị ngã về phía trước thì cả hai động cơ sẽ cùng chạy tới để đỡ cho xe đứng lên, khi độ nghiêng của xe càng lớn thì tốc độ của động cơ cũng sẽ càng tăng và ngược lại khi xe bị ngã về phía sau thì cả hai động cơ sẽ lùi lại để đỡ cho xe đứng lên
Trang 121.2 Tình hình nghiên cứu trong nước và trên thế giới
1.2.1 Trong nước
1.2.1.1 Robot hai bánh cân bằng
Hình 1.1: Mô hình robot hai bánh cân bằng
Mô hình robot hai bánh tự cân bằng luận văn thạc sĩ của tác giả Nguyễn Gia Minh Thảo, trường Đại học Bách Khoa TP Hồ Chí Minh
1.2.1.2 Xe hai bánh tự cân bằng
Hình 1.2: Mô hình xe bánh tự cân bằng
Mô hình xe hai bánh của tác giả Nguyễn Tuệ Nhi , làm về robot hai bánh tự cân bằng - self balancing robot trong cộng đồng Arduino Việt Nam
Trang 131.2.2 Nước ngoài
Một số kỹ thuật viên và sinh viên ngành Cơ điện tử, Tự động hóa đã cho ra đời nhiều dạng robot hai bánh cân bằng Sau đây là một số thông tin về các mô hình robot hai bánh tự cân bằng
1.2.2.1 Robot nBot
Robot nBot do ông Anderson sáng chế nBot lấy ý tưởng cân bằng là các bánh xe
sẽ phải chạy theo hướng mà phần trên robot sắp ngã Nếu bánh xe có thể di chuyển để trọng tâm robot luôn rơi vào chính giữa thì robot sẽ giữ được cân bằng
Hình 1.1: Robot nBot
1.2.2.2 EquipoiseBot
EquipoiseBot sử dụng hai cảm biến là cảm biến gia tốc và cảm biến con quay hồi chuyển Góc nghiêng của robot được tính toán từ hai giá trị khác nhau Một từ cảm biến gia tốc bằng cách sử dụng thuật toán Tangens-Funktion và một từ cảm biến con quay hồi chuyển sử dụng phương pháp tích phân Hai giá trị này được kết hợp trong một bộ lọc để cho ra một giá trị mới và được sử dụng cho đầu vào bộ PID để điều khiển các động cơ, giữ cho robot cân bằng
Trang 14Hình 1.2 Robot EquipoiseBot
1.2.2.3 WobblyBot
WobblyBot thực chất là mô hình sử dụng con lắc ngược, được gắn dưới phần thân ở giữa hai bánh xe WobblyBot được thiết kế với phần dưới của robot nặng hơn nhiều
so với phần trên giúp robot có khả giữ cân bằng tốt nhất
Hình 1.3 Robot hai bánh cân bằng WobblyBot
1.2.2.4 TiltOne
TiltOne là một robot hai bánh cân bằng với chiều cao 90 cm và có khả năng chở tải trọng lên tới 50 kg Nguyên lý hoạt động cũng giống như các robot hai bánh có kích thước nhỏ hơn, sử dụng hai cảm biến là cảm biến gia tốc và cảm biến con quay hồi chuyển và thuật toán PID để điều khiển robot cân bằng
Trang 15Hình 1.4: Robot hai bánh cân bằng tiltOne
1.2.2.5 Robot kiểu rolling của hãng TOYOTA
Đây là robot có công dụng phục vụ con người do hãng TOYOTA thiết kế Mẫu robot này có khả năng di chuyển nhanh và ít chiếm không gian Đồng thời đôi tay của robot có thể làm nhiều công việc khác nhau, chủ yếu được sử dụng với mục đích giải trí
Hình 1.5: Robot hai bánh của hãng TOYOTA
Trang 16CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 2.1 Thiết kế hệ thống
2.1.1 Sơ đồ khối tổng quát của hệ thống
Hình 2.1: Sơ đồ khối của hệ thống
2.1.2 Chức năng của từng khối
Khối nguồn: Khối nguồn có chức năng cấp nguồn cho toàn bộ hệ thống hoạt động, ở đề tài này chúng ta sẽ sử dụng Pin để cấp nguồn cho hệ thống
Khối cảm biến: Có chức năng thu thập dữ liệu, thu thập các thông số về góc
nghiêng của xe thông qua Module cảm biến gia tốc 6 bậc tự do MPU6050 sau đó nó sẽ tự xử lý và tính toán rồi gửi dữ liệu về khối điều khiển
Khối điều khiển: Chúng ta sẽ sử dụng vi điều khiển Arduino Uno R3 bởi vì nó dễ
lập trình, giá thành rẻ và thiết kế phần cứng cũng khá đơn giản Đây là khối trung tâm
Trang 17khối cảm biến, sau đó nó sẽ xử lý và xuất tín hiệu điều khiển ra các Port để điều khiển động cơ thông qua mạch điều khiển A4988
Khối động cơ: Khối động cơ sẽ nhận các tín hiệu điều khiển từ khối điều khiển sau
đó nó sẽ di chuyển theo yêu cầu của khối điều khiển để giữ cho xe luôn ở trạng thái cân bằng
2.2 Thiết kế phần cứng
2.2.1 Sơ đồ mạch điện
Hình 2.2: Sơ đồ mạch điện
Trang 182.2.2 Nguyên lý hoạt động của toàn hệ thống
Hình 2.3 Mô tả nguyên lí giữ thăng bằng Đối với xe ba hay bốn bánh, việc thăng bằng và ổn định của chúng là nhờ trọng tâm của chúng nằm trong bề mặt chân đế do các bánh xe tạo ra Đối với các xe hai bánh
có cấu trúc như xe đạp, việc thăng bằng khi không di chuyển là hoàn toàn không thể, vì thế việc thăng bằng của xe đạp dựa theo tính chất con quay hồi chuyển ở hai bánh xe khi đang quay Còn đối với xe hai bánh tự cân bằng, là loại xe chỉ có hai bánh với trục của hai bánh xe trùng với nhau, để cho xe cân bằng trọng tâm của xe cần được giữ nằm ngay giữa các bánh xe Điều này giống như ta giữ một cây gậy thẳng đứng ở lòng bàn tay
Thực ra trọng tâm của xe không được biết nằm ở vị trí nào, cũng không có cách nào để tìm ra nó, và có thể không có khả năng di chuyển bánh xe đủ nhanh để giữ nó luôn ở dưới toàn bộ trọng tâm
Về mặt kỹ thuật, góc giữa sàn xe và chiều trọng lực có thể biết được Vì vậy cần phải giữ thân trên thẳng đứng, vuông góc với sàn xe ( góc cân bằng khi ấy là zero)
Hình 2.4 Mô tả cách bắt đầu di chuyển
Trang 19đẩy nghiêng về sau, xe sẽ đi lùi Đây là một phân tích lý tính
2.2.3 Thông số kỹ thuật của từng thiết bị
2.2.3.1 Vi điều khiển Arduino Uno R3
Arduino Uno R3 dùng vi điều khiển họ 8bit AVR Atmega328 Arduino Uno R3
có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 9V DC
+ Atmega 328 có 2 nhiệm vụ chính :
1 Nhận tín hiệu điều khiển từ máy tính thông qua cổng giao thức UART
2 Điều khiển mạch điều khiển động cơ => Điều khiển chiều quay và tốc độ của động cơ => Điều khiển hướng đi và tốc độ di chuyển của Robot
Hình 2.5: Vi điều khiển Arduino Uno R3
Thông số kỹ thuật:
Chip điều khiển chính : ATmega328;
Điện áp hoạt động của Arduino là 5V;
Điện áp đầu vào được đề xuất nằm trong khoảng từ 7V đến 12V;
Điện áp i/p (giới hạn) là 6V đến 20V;
Chân đầu vào và đầu ra kỹ thuật số: 14;
Chân đầu vào và đầu ra kỹ thuật số (PWM): 6;
Chân i/p analog là 6 chân;
Dòng điện DC cho mỗi chân I/O là 20Ma;
Dòng DC được sử dụng cho pin là 3.3V là 50Ma;
Bộ nhớ Flash 32KB và bộ nhớ 0.5KB được bộ tải khởi đông sử dụng;
Trang 20+ Sơ đồ chân vi điều khiển
Hình 2.6 Sơ đồ chân của Atmega 328
Digital: Các chân I/O digital (chân số 2 – 13 ) được sử dụng làm chân nhập, xuất
tín hiệu số thông qua các hàm chính : pinMode(), digitalWrite(), digitalRead() Điện áp hoạt động là 5V, dòng điện qua các chân này ở chế độ bình thường là 20mA, cấp dòng quá 40mA sẽ phá hỏng vi điều khiển
Analog :Uno có 6 chân Input analog (A0 – A5), độ phân giải mỗi chân là 10 bit
(0 – 1023 ) Các chân này dùng để đọc tín hiệu điện áp 0 – 5V (mặc định) tương ứng với
1024 giá trị, sử dụng hàm analogRead()
PWM : các chân được đánh số 3, 5, 6, 9, 10, 11; có chức năng cấp xung PWM (8
bit) thông qua hàm analogWrite()
UART: Atmega328 cho phép truyền dữ liệu thông qua hai chân 0 (RX) và chân
1 (TX)
2.2.3.2 Module cảm biến gia tốc 6 bậc tự do MPU6050
Cảm biến gia tốc 6 bậc tự do MPU6050 là loại cảm biến gia tốc phổ biến nhất trên thị trường hiện nay, nó được dùng trong mạch với chức năng dùng để đo góc nghiêng
và gia tốc cho xe, để xe nhận biết được góc nghiêng và tự cân bằng, ưu điểm của cảm
Trang 21chuẩn giao tiếp I2C nên lập trình cũng khá đơn giản, ngoài ra thì nó cũng có nhược điểm
Hình 2.7: Module cảm biến gia tốc MPU6050 Thông số kỹ thuật:
Điện áp cung cấp: 3V đến 5V;
3 góc con quay hồi chuyển với độ nhạy 131 LSBs/sps với các độ: ±250, ±500,
±1000 và ±2000 degree/sec;
3 góc gia tốc kế với độ nhạy trong khoảng: ±2g, ±4g, ±8g và ±16g;
MPU6050 có sẵn bộ đệm dữ liệu 1024 byte cho phép vi điều khiển phát lệnh cho cảm biến, và nhận về dữ liệu sau khi cảm biến đã tính toán xong;
Nhiệt độ hoạt động: -40 đến +85 độ C
Trang 22Sơ đồ chân:
VCC: Là chân nối nguồn từ 3V đến 5V;
GND: Là chân nối GND ;
SCL: Là chân có chức năng tạo xung lock đồng bộ ;
SDA: Là chân có chức năng truyền nhận dữ liệu ;
XCL: Là chân xung clock khi có kết nối với cảm biến khác ;
AD0: Bit 0 của địa chỉ I2C;
INT: Chân ngắt
2.2.3.3 Động cơ bước
Động cơ bước hay còn gọi là Step Motor là một loại động cơ chạy bằng điện có
nguyên lý và ứng dụng khác biệt với đa số các động cơ điện thông thường Chúng thực chất là một động cơ đồng bộ dùng để biến đổi các tín hiệu điều khiển dưới dạng các xung điện rời rạc kế tiếp nhau thành các chuyển động góc quay hoặc các chuyển động
của rôto có khả năng cố định roto vào các vị trí cần thiết
Trang 23Momen tự giữ: 0.3N.cm;
Khối lượng động cơ: 105g;
Số dây: 4;
Chiều dài động cơ: 28mm
2.2.3.4 Nguồn Pin Lithium Ion LS 18650
Pin là một loại linh kiện không thể thiếu trong mô hình xe, trong mô hình này dùng
4 pin để nối tiếp thành 14V đủ để cung cấp cho 2 động cơ bước , mạch điều khiển A4988
và Arduino Uno R3
Hình 2.9: PIN 18650
Thông số kỹ thuật:
Pin sạc 18650;
Loại SP : Pin sạc Lithium Ion (Li-Ion);
Dung lượng : 3400mAh;
Kích thước khoảng : 18mmx65mm/ viên;
Điện thế : 3.7V, khi sạc đầy có thể đạt đến 4.2v
Trang 242.2.3.5 Mạch điều khiển động cơ bước A4988
A4988 là driver điều khiển động cơ bước cực kỳ nhỏ gọn, hổ trợ nhiều chế độ làm việc, điều chỉnh được dòng ra cho động cơ, tự động ngắt điện khi quá nóng A4988 hỗ trợ nhiều chế độ hoạt động của động cơ bước lưỡng cực như: Full, Half, 1/2, 1/8 và 1/16
Hình 2.6 Mạch điều khiển động cơ bước A4988
Thông số kỹ thuật:
Công suất ngõ ra lên tới 35V;
Dòng đỉnh 2A;
Có 5 chế độ: full bước, 1/2 bước, 1/4 bước, 1/8 bước, 1/16 bước;
Điểu chỉnh dòng ra bằng triết áp, nằm bên trên Current Limit =VREF×2.5;
Tự động ngắt điện khi quá nhiệt
2.2.3.6 Arduino CNC Shield
Arduino CNC shield V3 là shield mở rộng dành cho Arduino Uno, cho phép điều khiển các máy khắc laser, máy phay cnc hoặc máy in 3D mini Shield cho phép điều khiển tối đa 4 động cơ bước thông qua driver A4988 hoặc DRV8825 (có các jumper để điều khiển động cơ bước theo chế độ full step, haft step, 1/4, 1/8 hoặc 1/16) Ngoài ra còn có thể gắn thêm các công tắc hành trình cho các trục X, Y, Z, E (dành riêng cho máy
in 3D) hay điều khiển đầu khắc CNC, đầu khắc laser và quạt tản nhiệt