Việc nghiên cứu và thiết kếmột bộ sản phẩm điều khiển thiết bị không dây có một ý nghĩa lớn, giúp tăngthêm sự lựa chọn cho người sử dụng, sản phẩm được sản xuất trong nước nêngiá thành r
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT - HÀN
🙠🙠🙠
KHOA KHOA HỌC MÁY TÍNH
BÁO CÁO BÀI TẬP LỚN
MÔN HỌC VI ĐIỀU KHIỂN
ĐỀ TÀI: THIẾT KẾ XE ĐIỀU KHIỂN BẰNG TAY
VÀ XE TỰ HÀNHSinh viên thực hiện: TRẦN CÔNG HÙNG – 21IT615 HOÀNG XUÂN HƯNG – 21IT488
LÊ ANH TUẤN – 21IT320
ĐỖ VĂN MINH – 21IT625
Lớp học phần: VI ĐIỀU KHIỂN (5)
Giảng viên bộ môn: Th.S NGUYỄN THỊ HUYỀN TRANG
Trang 2Thiết kế xe điều khiển bằng tay và xe tự hành
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN
🙠🙠🙠
KHOA KHOA HỌC MÁY TÍNH
BÁO CÁO BÀI TẬP LỚN
MÔN HỌC VI ĐIỀU KHIỂN
ĐỀ TÀI: THIẾT KẾ XE ĐIỀU KHIỂN BẰNG TAY
VÀ XE TỰ HÀNHSinh viên thực hiện: TRẦN CÔNG HÙNG – 21IT615
HOÀNG XUÂN HƯNG – 21IT488
LÊ ANH TUẤN – 21IT320
ĐỖ VĂN MINH – 21IT625
Lớp học phần: VI ĐIỀU KHIỂN (5)
Giảng viên bộ môn: Th.S NGUYỄN THỊ HUYỀN TRANG
LỜI MỞ ĐẦU
Trang 3Thiết kế xe điều khiển bằng tay và xe tự hànhNgày nay chúng ta đang sống trong kỷ nguyên của khoa học công nghệ,đặc biệt là công nghệ thông tin Trong thời đại bùng nổ thông tin và có rất nhiềuphương thức truyền đạt thông tin thì phương thức truyền thông tin bằng côngnghệ số là nhanh và phổ biến nhất, được nhiều người tiếp cận nhất
Trong những năm gần đây, công nghệ truyền nhận dữ liệu không dây đang
có những bước phát triển mạnh mẽ, góp công lớn trong việc phát triển các hệthống điều khiển, giám sát từ xa, đặc biệt là các hệ thống thông minh Hiện nay,
có khá nhiều công nghệ không truyền nhận dữ liệu không dây như RF, Wifi,Bluetooth, NFC Trong đó, Bluetooth là một trong những công nghệ được pháttriển từ lâu và luôn được cải tiến để nâng cao tốc độ cũng như khả năng bảo mật.Trên thị trường Việt Nam hiện nay chưa có nhiều sản phẩm điều khiển thiết bịkhông dây, đa số những sản phẩm hiện
có đều là nhập khẩu từ nước ngoài với giá thành cao Việc nghiên cứu và thiết kếmột bộ sản phẩm điều khiển thiết bị không dây có một ý nghĩa lớn, giúp tăngthêm sự lựa chọn cho người sử dụng, sản phẩm được sản xuất trong nước nêngiá thành rẻ và góp phần phát triển các hệ thống điều khiển thông minh.Bên cạnh đó, các Robot tự hành được ứng dụng trong đời sống ngày càngnhiều như robot vận chuyển hàng hóa, kiểm tra nguy hiểm, xe lăn cho ngườikhuyết tật… Nhưng điểm hạn chế của các robot tự hành hiện tại là tính thiếulinh hoạt và khả năng thích ứng khi làm việc ở những vị trí khác nhau Từ những
lý do đó nảy sinh vấn đề tránh vật cản cho xe tự hành nhằm nâng cao tính linhhoạt cho xe
Vì vậy, nhóm quyết định thực hiện đề tài: “Thiết kế xe điều bằng tay và xe
tự hành” để làm đồ án môn Vi điều khiển.
NHẬN XÉT CỦA GIẢNG VIÊN BỘ MÔN
Trang 4Thiết kế xe điều khiển bằng tay và xe tự hành
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Đà Nẵng, ngày … tháng 05 năm 2023 Giảng viên hướng dẫn
ThS.Nguyễn Thị Huyền Trang
LỜI CẢM ƠN
Trang 5Thiết kế xe điều khiển bằng tay và xe tự hànhChúng em sẽ không thể hoàn thành bài tập lớn này nếu không có sự hướngdẫn và chỉ bảo tận tình của cô Th.S Nguyễn Thị Huyền Trang Chúng em xinchân thành cảm ơn sự chỉ bảo của cô.
Chúng em xin trân trọng cảm ơn quý thầy cô trong Trường Đại Học Côngnghệ thông tin và Truyền thông Việt - Hàn Đại học Đà Nẵng nói chung, cũngnhư các thầy cô Khoa Khoa học máy tính của trường nói riêng đã tận tình giảngdạy, truyền đạt những kiến thức quý báu và tạo điều kiện cho chúng em thựchiện bài tập lớn này để kết thúc học phần của mình ạ
Xin chân thành cảm ơn sự giúp đỡ của các bạn cũng như các anh chị đitrước trong quá trình thực hiện bài tập lớn
Mặc dù đã cố gắng nỗ lực hết mình, song sản phẩm chắc chắn còn nhiềuthiếu sót Chúng em rất mong nhận được sự thông cảm và chỉ bảo tận tình củaquý thầy cô và các bạn
Sinh viên Trần Công Hùng,
Lê Anh Tuấn,
Hoàng Xuân Hưng,
Đỗ Văn Minh.
Trang 6Thiết kế xe điều khiển bằng tay và xe tự hành
MỤC LỤC
Chương 1 Giới thiệu 7
1.1 Tổng quan 7
1.1.1 Bối cảnh thực hiện đề tài 7
1.1.2 Lý do chọn đề tài 7
1.1.3 Vấn đề cần giải quyết 8
1.2 Phương pháp, kết quả 8
1.2.1 Phương pháp triển khai thực hiện 8
1.2.2 Kết quả đạt được 8
1.3 Cấu trúc báo cáo 8
Chương 2 Xe điều khiển bằng tay 9
2.1 Hệ thống xe điều khiển 9
2.1.1 Sơ đồ khối 9
2.1.2 Nguyên lý hoạt động 10
2.1.3 Chức năng 10
2.2 Linh kiện 13
2.2.1 Module Arduino Uno R3 13
2.2.2 Module Bluetooth HC05 18
2.2.3 Module L298N 19
2.2.4 Động cơ( motor) và bánh xe 21
2.2.5 Mạch khuếch đại dòng điện và pin 22
2.2.6 Các thành phần khác 23
2.3 Thiết kế phần cứng 24
2.3.1 Sơ đồ mạch mô phỏng trên Proteus 24
2.3.2 Lưu đồ thuật toán 25
2.4 Các phần mềm thiết kế xe 25
2.4.1 Phần mềm Proteus 25
2.4.2 Phần mềm Arduino IDE 27
2.4.3 Code điều khiển xa và động cơ server cánh tay 30
2.4.4 Phần mềm điều khiển xe 35
Chương 3 Xe tự hành 36
3.1 Hệ thống xe tự hành 36
3.1.1 Sơ đồ khối 36
3.1.2 Chức năng các khối 36
4.1.3 Nguyên lý hoạt động 39
3.2 Linh kiện 41
3.2.1 Arduino Uno R3 41
3.2.2 Module cảm biến line giao tiếp Arduino 45
3.2.3 Động cơ DC 46
3.2.4 Khung xe 46
3.3 Thiết kế phần cứng 47
3.3.1 Cảm biến vật cản hồng ngoại V1 47
3.3.2 Sơ đồ mạch mô phỏng trên Proteus 47
3.3.3 Lưu đồ thuật toán 48
KẾT LUẬN 49
DANH MỤC TÀI LIỆU THAM KHẢO 50
Trang 7Thiết kế xe điều khiển bằng tay và xe tự hành
DANH MỤC HÌNH
Hình 2: Module khối nguồn 12
Hình 3: Khối Module Bluetooth HC05 12
Hình 4: Khối xử lý trung tâm Arduino Uno R3 13
Hình 5: Khối Driver động cơ 14
Hình 6: Thông số Arduino Uno R3 15
Hình 7: Arduino Uno R3 15
Hình 8: Các cổng vào/ ra 16
Hình 9: Cấu tạo Arduino Uno R3 18
Hình 10: Bluetooth HC05 19
Hình 11: Module L298N 20
Hình 12: Động cơ và bánh xe 22
Hình 13: Các thành phần khác 23
Hình 14: Sơ đồ mạch xe điều khiển mô phỏng trên Proteus 24
Hình 15: Lưu đồ thuật toán xe điều khiển 24
Hình 16: Giao diện phần mềm Proteus 25
Hình 17: Thư viện Library Manager 27
Hình 18: Một số tính năng thường dùng 27
Hình 19: Mã nguồn xe điều khiển _ 1 28
Hình 20: Mã nguồn xe điều khiển _ 2 29
Hình 21: Mã nguồn xe điều khiển _ 3 29
Hình 22: Mã nguồn xe điều khiển _ 4 30
Hình 23: Mã nguồn xe điều khiển _ 5 30
Hình 24: Mã nguồn xe điều khiển _ 6 31
Hình 25: Mã nguồn xe điều khiển _ 7 31
Hình 26: Mã nguồn xe điều khiển_ 8 32
Hình 27: Ứng dụng Bluetooth RC Car 32
Hình 28: Sơ đồ khối xe tự hành 33
Hình 29: Chức năng các khối trong xe tự hành 33
Hình 30: Nguyên lý thu - phát sáng 37
Hình 31: Thông số Arduino Uno R3 _ Xe tự hành 38
Hình 32: Arduino Uno R3 _ Xe tự hành 39
Hình 33: Các cổng vào/ ra _ Xe tự hành 40
Hình 34: Cấu tạo Arduino Uno R3 _ Xe tự hành 41
Hình 35: Sơ đồ mô phỏng xe tự hành trên Proteus 44
Hình 36: Lưu đồ thuật toán xe tự hành 45
Chương 1 Giới thiệu 1.1 Tổng quan
1.1.1 Bối cảnh thực hiện đề tài
Với sự bùng nổ của Internet of Things( IoT), vai trò của công nghệ vi điều khiển cũng theo đó mà ngày càng trở nên quan trọng Chúng ta có thể tìm thấy
Trang 8Thiết kế xe điều khiển bằng tay và xe tự hành
vi điều khiển trong tất cả các loại thiết bị điện tử hiện nay Bất kỳ thiết bị nàoliên quan đến đo lường, lưu trữ, điều khiển, tính toán hoặc hiển thị thông tin đềuphải có chip vi điều khiển bên trong Do đó việc học hỏi và ứng dụng những gìhọc được để tạo ra sản phẩm luôn là điều cần thiết hiện nay đối với mỗi ngườihọc nhằm đáp ứng nhu cầu kết nối con người với các loại máy móc từ xa
1.1.2 Lý do chọn đề tài
Hiện nay, các công nghệ tiên tiến phát triển ngày càng mạnh mẽ và đượcứng dụng ngày càng nhiều vào các lĩnh vực kinh tế, sản xuất cũng như đời sốngthường nhật của con người Một điểm tiêu biểu trong việc phát triển các côngnghệ đó phải kể đến việc ứng dụng công nghệ thông tin vào hầu khắp các hoạtđộng Nhờ đó, các công việc được thực hiện nhanh, chính xác và đạt kết quả caohơn rất nhiều Nhưng đi kèm cùng những tiện ích thì những kẻ xấu vẫn đang cònlợi dụng thông tin của nhiều người hoặc sự thiếu hiểu biết để lừa đảo đánh cắpthông tin, dữ liệu
Nhằm ứng dụng những kiến thức học được và tìm cơ hội tìm tòi, phát triểnthêm những thứ mới nhất từ công nghệ vi điều khiển, nhóm chúng em xin phépgiới thiệu đề tài tạo ra xe điều khiển bằng tay và xe tự hành bằng thuật toán dòđường
Do đó, chúng em chọn thực hiện đề tài “Thiết kế xe điều khiển bằng tay và
Trang 9Thiết kế xe điều khiển bằng tay và xe tự hành
1.2 Phương pháp, kết quả
1.2.1 Phương pháp triển khai thực hiện
Phương pháp nghiên cứu đề tài: Tìm hiểu phương pháp nghiên cứu, thiết kế
xe và lý thuyết lập trình Arduino, từ đó xây dựng cấu trúc lập trình, giúp ngườithiết kế dễ dàng thao tác hơn
Kết quả của đề tài: Hoàn thành được số lượng xe theo đề tài, đáp ứng đủyêu cầu chức năng và phi chức năng của các thiết bị
1.2.2 Kết quả đạt được
- Một xe tự hành;
- Một xe điều khiển bằng tay có khả năng sử dụng tay gắp;
- Một bản báo cáo;
- Một slide tiếng Anh đính kèm
1.3 Cấu trúc báo cáo
Chương 1: GIỚI THIỆU (Giới thiệu chung về đề tài, ý nghĩa và các mục tiêu
của đề tài.)
Chương 2: XE ĐIỀU KHIỂN BẰNG TAY (Giới thiệu chi tiết về hệ thống, sơ
đồ, thuật toán và các phần mềm ứng dụng hỗ trợ xe điều khiển bằng tay.)
Chương 3: XE TỰ HÀNH (Giới thiệu chi tiết về hệ thống, sơ đồ, thuật toán
tạo.)
Chương 2 Xe điều khiển bằng tay
2.1 Hệ thống xe điều khiển
2.1.1 Sơ đồ khối
- Phần cứng: Module nguồn, khối xử lý bao gồm module Arduino UnoR3,
mã nguồn Arduino, khối module Bluetooth
- Phần mềm: Khối điều khiển - Điện thoại Android
Trang 10Thiết kế xe điều khiển bằng tay và xe tự hành
Hình 1: Sơ đồ khối xe điều khiển bằng tay
2.1.2 Nguyên lý hoạt động
- Khối điều khiển (Điện thoại Android) sẽ có các nút điều khiển như nútbấm, để người điều khiển có thể điều khiển hướng di chuyển và tốc độcủa xe Nhưng khối điều khiển phải được kết nối với khối modulebluetooth của xe thông qua sóng vô tuyến
- Phần xe bao gồm một bộ vi xử lý điều khiển, một pin hoặc bộ sạc pin,các động cơ và hệ thống lái xe Bộ vi xử lý sẽ nhận tín hiệu điều khiển từ
bộ điều khiển và điều khiển các động cơ để thay đổi hướng di chuyển vàtốc độ của xe
- Các động cơ được điều khiển bởi bộ vi xử lý thông qua các tín hiệu điện
và được lắp đặt trên bánh xe hoặc trục để di chuyển xe Hệ thống lái xe
Khối xử lý trung tâm
Khối Module Bluetooth Khối nguồn
Khối Driver động cơ
Động cơ phải Động cơ trái
Trang 11Thiết kế xe điều khiển bằng tay và xe tự hành
có thể được điều khiển bằng cách thay đổi góc quay của bánh xe hoặc sửdụng hệ thống lái chính xác hơn để đảm bảo xe di chuyển theo hướngmong muốn
- Khi người điều khiển sử dụng các nút điều khiển trên app điều khiển, tínhiệu sẽ được truyền đến phần xe thông qua sóng vô tuyến Bộ vi xử lýtrong xe sẽ xử lý tín hiệu và điều khiển động cơ và hệ thống lái xe đểđáp ứng yêu cầu điều khiển của người điều khiển
2.1.3 Chức năng
- Khối nguồn:
Khối nguồn tạo ra dòng điện và điện thế ổn định cung cấp an toàn cho cảmạch Mạch ổn áp có chức năng tạo ra điện áp nhỏ hơn điện áp đầu vào vàluôn duy trì mức áp này mặc dù áp đầu vào tăng/giảm Module ổn ápLM2596 sử dụng các tụ có khả năng lọc nhiễu cao và trữ điện tốt Ngoài ratrên module có sẵn đèn LED báo hiệu hoạt động của mạch nguồn
Hình 2: Module khối nguồn
- Khối Module Bluetooth:
Khối Module Bluetooth hỗ trợ vi điều khiểu giao tiếp với thiết bị khácthông qua kết nối Bluetooth, một số module Bluetooth thường được sửdụng trong thực tế như: module Bluetooth HC-05, module Bluetooth HC-
06 Tuy nhiên, module Bluetooth HC-05 là lựa chọn tố ưu cho đồ án này vì:giá thành rẻ hơn so với các Module khác, tốc độ hoạt động phù hợp vớitruyền dữ liệu điều khiển thiết bị, dễ dàng mua ở thị trường Việt Nam, đượcnhiều người sử dụng và đánh giá là rất ổn định Khối xử lí trung tâm
Trang 12Thiết kế xe điều khiển bằng tay và xe tự hành
Hình 3: Khối Module Bluetooth HC05
- Khối trung tâm xử lý:
+ Khối trung tâm xử lý của Arduino Uno R3 là vi điều khiển ATmega328P,
có chức năng điều khiển các hoạt động trên board, xử lý dữ liệu từ các cảmbiến hoặc thiết bị ngoại vi, và điều khiển các thiết bị đầu ra Vi điều khiển
có các kênh xử lý tín hiệu đầu vào từ các cảm biến hoặc thiết bị ngoại vi,nhưng cũng có khả năng đầu ra tín hiệu điều khiển các thiết bị đầu ra nhưđộng cơ, đèn LED, màn hình LCD Arduino Uno R3 có cổng USB để kếtnối với máy tính để nạp chương trình, giao tiếp và truyền nhận dữ liệu Bêncạnh đó nó còn có khả năng có khả năng kiểm soát nguồn điện trên boardArduino Uno R3, bao gồm kiểm soát nguồn vào và nguồn ra
+ Arduino Uno R3 là một nền tảng mạnh mẽ để phát triển các ứng dụngđiện tử và IoT, có thể được lập trình để thực hiện các chức năng như đọccảm biến, điều khiển động cơ, điều khiển đèn LED, hiển thị dữ liệu trênmàn hình LCD, kết nối với các module khác như WiFi, Bluetooth hoặcGSM, và nhiều ứng dụng khác
Trang 13Thiết kế xe điều khiển bằng tay và xe tự hành
Hình 4: Khối xử lý trung tâm Arduino Uno R3
- Khối Driver động cơ
Khối driver động cơ là một thiết bị điện tử được sử dụng để điều khiểnđộng cơ bằng cách điều chỉnh các thông số như dòng điện, điện áp và tốc
độ quay của động cơ Các chức năng cơ bản của khối driver động cơ baogồm:
+ Điều khiển dòng điện: Khối driver động cơ có thể điều chỉnh dòng điệnđưa vào động cơ, đảm bảo dòng điện luôn ở mức an toàn và phù hợp vớinhu cầu của ứng dụng
+ Điều khiển điện áp: Khối driver động cơ có thể điều chỉnh điện áp đưavào động cơ để đảm bảo động cơ hoạt động ở mức độ an toàn và hiệu quả.+ Điều khiển tốc độ quay: Khối driver động cơ có thể điều chỉnh tốc độquay của động cơ bằng cách điều chỉnh tần số và độ rộng xung điềukhiển
+ Bảo vệ động cơ: Khối driver động cơ có thể cung cấp các chức năngbảo vệ cho động cơ như bảo vệ quá tải, bảo vệ quá nhiệt, bảo vệ ngắnmạch và bảo vệ dòng điện
+ Giao tiếp với hệ thống điều khiển: Khối driver động cơ có thể được giaotiếp với hệ thống điều khiển bằng các giao tiếp như UART, I2C hoặc SPI,
Trang 14Thiết kế xe điều khiển bằng tay và xe tự hành
để thực hiện các chức năng điều khiển động cơ từ xa hoặc lấy các thông
số về động cơ
Hình 5: Khối Driver động cơ
2.2 Linh kiện
2.2.1 Module Arduino Uno R3
- Thông số Arduino Uno R3:
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Điện áp vào khuyên dùng 7-12V DC
Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Trang 15Thiết kế xe điều khiển bằng tay và xe tự hành
Hình 7: Arduino Uno R3
- Các chân năng lượng:
+ GND( Ground): Cực âm của nguồn điện cấp cho Arduino UNO Khi dùngcác thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải đượcnối với nhau
+ 5V: Cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA
+ 3.3V: Cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA
+ Vin( Voltage Input): Để cấp nguồn ngoài cho Arduino UNO,nối cực dương
của nguồn với chân này và cực âm của nguồn với chân GND
+ IOREF: Điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được
đo ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù không được lấy nguồn 5V từchân này để sử dụng bởi chức năng của nó không phải là cấp nguồn
Trang 16Thiết kế xe điều khiển bằng tay và xe tự hành
+ RESET: Việc nhấn nút Reset trên board để reset vi điều khiển tương đươngvới việc chân RESET được nối với GND qua 1 điện trở 10KΩ
- Các cổng vào/ ra:
Hình 8: Các cổng vào/ ra
+ Arduino UNO R3 là một board vi điều khiển rất phổ biến được phát triển dựatrên vi điều khiển ATmega328P Board có 14 chân input/output kỹ thuật số, 6chân input analog, một tinh thể quartz 16 MHz, cổng kết nối USB, cổng nguồn,một header ICSP và một nút reset Board có thể được lập trình bằng cách sửdụng Arduino IDE và có thể được sử dụng cho nhiều dự án khác nhau, từ cácmạch đơn giản đến các hệ thống phức tạp
+ Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có
2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗichân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiểnATmega328 (mặc định thì các điện trở này không được kết nối)
- Một số chân digital có chức năng đặc biệt:
+ Hai chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận(receive – RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị
Trang 17Thiết kế xe điều khiển bằng tay và xe tự hành
khác thông qua 2 chân này Kết nối bluetooth thường thấy nói nôm na chính làkết nối Serial không dây Nếu không cần giao tiếp Serial, không nên sử dụng 2chân này nếu không cần thiết
+ Chân PWD (~): 3, 5, 6, 9, 10, và 11: cho phép xuất ra xung PWM với độphân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàmanalogWrite() Nói một cách đơn giản, có thể điều chỉnh được điện áp ra ở chânnày từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chânkhác
+ Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài cácchức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giaothức SPI với các thiết bị khác
+ LED 13: Trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấmnút Reset, sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13.Khi chân này được người dùng sử dụng, LED sẽ sáng
+ Arduino Uno có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Với chânAREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng cácchân analog Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùngcác chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn
là 10bit
- Cấu tạo Arduino Uno R3:
Trang 18Thiết kế xe điều khiển bằng tay và xe tự hành
Hình 9: Cấu tạo Arduino Uno R3
2.2.2 Module Bluetooth HC05
- Module Bluetooth HC-05 là một module Bluetooth thuộc loại Bluetooth2.0 SPP (Serial Port Protocol), cho phép các thiết bị khác kết nối với nhauqua giao thức Bluetooth để truyền dữ liệu Module này có kích thước nhỏ,
dễ sử dụng và có khả năng kết nối UART (Universal AsynchronousReceiver/Transmitter) để truyền dữ liệu
- Module Bluetooth HC-05 được sử dụng rộng rãi trong các ứng dụng nhưđiều khiển robot, điều khiển thiết bị từ xa, thu thập và truyền dữ liệu Thông qua kết nối Bluetooth, các thiết bị sử dụng module này có thểtruyền dữ liệu một cách dễ dàng và linh hoạt
Hình 10: Bluetooth HC05
- Nguyên lý hoạt động:
Trang 19Thiết kế xe điều khiển bằng tay và xe tự hành
Module Bluetooth HC-05 có khả năng hoạt động ở hai chế độ, bao gồmchế độ Slave va chế độ Master
+ Khi ở chế độ Slave, module sẽ chấp nhận các kết nối Bluetooth đến từ mộtthiết bị chủ và sẵn sàng truyền dữ liệu qua các cổng UART Khi có dữ liệuđược gửi đến, module sẽ gửi dữ liệu này tới thiết bị chủ thông qua kết nốiBluetooth
+ Khi ở chế độ Master, module sẽ quét và kết nối với các thiết bị khác có tíchhợp Bluetooth Sau khi kết nối thành công, module cũng sẽ sẵn sàng truyềnhoặc nhận dữ liệu qua cổng UART
+ Để kết nối một module Bluetooth HC-05, cần kết nối các chân điện của nóvới các chân cắm của vi điều khiển hoặc board Arduino Sau đó, có thể sửdụng các khối lệnh để điều khiển module và truyền dữ liệu qua kết nốiBluetooth
- Sơ đồ chân HC05:
+ KEY: Chân này để chọn chế độ hoạt động AT Mode hoặc Data Mode VCCchân này có thể cấp nguồn từ 3.6V đến 6V bên trong module đã có một icnguồn chuyển về điện áp 3.3V và cấp cho IC BC417
+ GND nối với chân nguồn GND
+ TXD,RXD đây là hai chân UART để giao tiếp module hoạt động ở mứclogic 3.3V
+ STATE các bạn chỉ cần thả nổi và không cần quan tâm đến chân này
2.2.3 Module L298N
Module L298N là một module điều khiển động cơ (motor driver) được thiết kế
để điều khiển các động cơ DC hoặc motor bước (stepper motor) trong các ứngdụng điện tử
Trang 20Thiết kế xe điều khiển bằng tay và xe tự hành
Hình 11: Module L298N
- Thông số kỹ thuật:
+ Driver: L298N tích hợp hai mạch cầu H
+ Điện áp điều khiển: +5 V ~ +12 V
+ Dòng tối đa cho mỗi cầu H là: 2A (=>2A cho mỗi motor)
+ Điện áp của tín hiệu điều khiển: +5 V ~ +7 V
+ Dòng của tín hiệu điều khiển: 0 ~ 36mA
+ Công suất hao phí: 20W (khi nhiệt độ T = 75 ℃)
+ Nhiệt độ bảo quản: -25 ℃ ~ +130 ℃
- Các chân của L298N:
Module L298N có 15 chân (pin) kết nối và được cấu thành bởi các nhóm chứcnăng khác nhau Dưới đây là danh sách các chân kết nối và chức năng tươngứng của chúng:
+ ENA: Chân Enable A Khi mức cao được cấp vào chân này, động cơ A sẽđược kích hoạt
+ IN1: Chân Input 1 A Khi mức cao được cấp vào chân này, động cơ A sẽquay theo hướng tương ứng
Trang 21Thiết kế xe điều khiển bằng tay và xe tự hành
+ IN2: Chân Input 2 A Khi mức cao được cấp vào chân này, động cơ A sẽquay theo hướng đối diện
+ ENB: Chân Enable B Khi mức cao được cấp vào chân này, động cơ B sẽđược kích hoạt
+ IN3: Chân Input 1 B Khi mức cao được cấp vào chân này, động cơ B sẽquay theo hướng tương ứng
+ IN4: Chân Input 2 B Khi mức cao được cấp vào chân này, động cơ B sẽquay theo hướng đối diện
+ OUT1: Chân Output 1A Kết nối đến động cơ A
+ OUT2: Chân Output 2A Kết nối đến động cơ A
+ OUT3: Chân Output 1B Kết nối đến động cơ B
+ OUT4: Chân Output 2B Kết nối đến động cơ B
+ GND: Chân đất (Ground)
+ VCC: Chân cấp nguồn DC cho module L298N (5V - 35V)
5V: Chân cấp nguồn DC cho logic circuit (+5V)
12V: Chân cấp nguồn DC cho logic circuit (+12V)
+ R-D: Chân thắp sáng đèn LED ở trạng thái bảo vệ quá dòng (OvercurrentProtection)
2.2.4 Động cơ( motor) và bánh xe
Hình 12: Động cơ và bánh xe
Trang 22Thiết kế xe điều khiển bằng tay và xe tự hành
+ Động cơ motor sẽ tạo ra chuyển động quay cho hộp số, từ đó đưa ra động lực
cho bánh xe xoay và di chuyển
+ Động cơ motor DC, được điều khiển bởi dòng điện điều chỉnh động cơ Khốilượng và công suất của động cơ DC phù hợp với trọng lượng và tốc độ của xe,nhằm đảm bảo hoạt động bền bỉ và ổn định
+ Các bánh xe được đặt tại hai đầu của xe và được gắn chặt vào động cơ motor,bánh xe sẽ quay theo động cơ và di chuyển phía trước hoặc phía sau tùy thuộcvào chiều quay của động cơ
2.2.5 Mạch khuếch đại dòng điện và pin
- Khuếch đại dòng điện cho các ứng dụng cần dòng lớn: điều khiển động cơ,
- Dòng tối đa cho mỗi cầu H là: 2A.
- Điện áp của tín hiệu điều khiển: 5 ~ 7VDC.
- Dòng của tín hiệu điều khiển: 0 ~ 36mA.
Trang 23Thiết kế xe điều khiển bằng tay và xe tự hành