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ềukhiển, giám sát từ xa, đặc biệt
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG
TIN
VÀ TRUYỀN THÔNG VIỆT - HÀN
KHOA KĨ THUẬT MÁY TÍNH & ĐIỆN TỬ
ĐỒ ÁN VI ĐIỀU KHIỂN
ĐỀ TÀI: THIẾT KẾ XE ĐIỀU KHIỂN
Nhóm : Rô Bô Trái Cây
Sinh viên thực hiện : Nguyễn Văn Công Toàn 21CE118
Dương Ngọc Hưng Trương Quốc Tú Lưu Quang Vũ Phan Vũ Nhật Vinh Bùi Nhật Linh Lương Văn Huấn
Giảng viên hướng dẫn: ThS NGUYỄN THỊ HUYỀN TRANG
Trang 2Đà Nẵng, tháng 4 năm 2023
Trang 3TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT - HÀN
KHOA KĨ THUẬT MÁY TÍNH & ĐIỆN TỬ
ĐỒ ÁN VI ĐIỀU KHIỂN
ĐỀ TÀI: THIẾT KẾ XE ĐIỀU KHIỂN
Nhóm : Rô Bô Trái Cây
Sinh viên thực hiện : Nguyễn Văn Công Toàn 21CE118
Giảng viên hướng dẫn: ThS NGUYỄN THỊ HUYỀN TRANG
Đà Nẵng, tháng 4 năm 2023
Trang 4MỞ ĐẦU
Ngà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ều phương thứctruyền đạt thông tin thì phương thức truyền thông tin bằng công nghệ 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ềukhiể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ềucô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át triển từ lâu và luôn được cảitiế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 naychư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ăng thêm sự lựa chọncho ng ời sử dụng, sản phẩm được sản xuất trong nước nên giá 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 dò line được ứng dụng trong đời sống ngày càng nhiềunhư robot vận chuyển hàng hóa, kiểm tra nguy hiểm, xe lăn cho người khuyết tật…Nhưng điểm hạn chế của các robot dò line hiện tại là tính thiếu linh hoạt và khả năngthí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 dò line nhằm nâng cao tính linh hoạ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 dòline” để làm đồ án môn Vi điều khiển
Trang 5LỜI CẢM ƠN
Nhóm xin gửi lời cảm ơn chân thành đến quý thầy cô Trường Đại học Côngnghệ Thông tin và Truyền thông Việt – Hàn đã truyền đạt cho nhóm những kiến thức
và bài học quý báu trong học kỳ vừa qua
Nhóm xin trân trọng gửi lời cảm ơn đến cô giáo ThS Nguyễn Thị HuyềnTrang giảng viên Trường Đại học Công nghệ Thông tin và Truyền thông Việt - Hàn đãtận tình hướng dẫn và giúp đỡ nhóm trong suốt quá trình làm đồ án, giúp nhóm cóthêm nhiều kiến thức bổ ích, và hiểu rõ hơn vấn đề mình nghiên cứu Và trong thờigian làm đồ án vừa qua, cô đã giành nhiều thời gian quý báu và tâm huyết để hướngdẫn nhóm hoàn thành đồ án này
Dưới đây là kết quả của quá trình tìm hiểu và nghiên cứu mà nhóm đã đạtđược trong học kỳ vừa qua Tuy có nhiều cố gắng học hỏi trau dồi để nâng cao kiếnthức nhưng không thể tránh khỏi những sai sót Nhóm rất mong được những sự góp ýquý báu của các thầy giáo, cô giáo cũng như tất cả các bạn để đồ án của nhóm đượchoàn thiện hơn
Nhóm xin chân thành cảm ơn!
Đa Nng, ngay … tháng … năm 2022
Sinh viên
Trang 6NHẬN XÉT CỦA GIẢNG VIÊN
……… ………
……… ………
……… ………
……… ………
……… ………
……… ………
……… ………
………
………
……… ………
………
………
……… ………
……… ………
……… ………
………
……… ………
……… ………
……… ………
………
………
……… ………
……… …………
Đa Nng, ngay … tháng … năm 2022.
Giảng viên hướng dẫn
Trang 7MỤC LỤC
MỞ ĐẦU 3
LỜI CẢM ƠN 4
NHẬN XÉT CỦA GIẢNG VIÊN 5
MỤC LỤC 6
DANH MỤC HÌNH ẢNH 7
CHƯƠNG 1 TỔNG QUAN 8
1.1 Lý do chọn đề tài 8
1.2 Mục đích thực hiện đề tài 8
1.3 Nhiệm vụ thực hiện đề tài 9
1.4 Cấu trúc đồ án 9
CHƯƠNG 2 XE ĐIỀU KHIỂN BẰNG TAY 10
2.1 Thiết kế hệ thống điều khiển 10
2.1.1 Sơ đồ khối 10
2.1.2 Nguyên lý hoạt động 10
2.1.3 Chức năng của các khối 10
2.2 Lựa chọn linh kiện 12
2.2.1 Moduke Arduino Uno R3 12
2.2.2 Module Bluetooth HC-05 14
2.2.3 Một số linh kiện khác 15
2.3 Thiết kế phần cứng 17
2.3.1 Sơ đồ mạch 17
2.3.2 Sơ đồ mạch thực 17
2.3.3 Lưu đồ thuật toán 18
2.4 Phần mềm Arduino uno R3 19
2.4.1 Mô tả phần mềm 19
2.4.2 Mã lập trình xe điều khiển bằng tay 21
2.4.3 Phần mềm App điều khiển xe (Bluetooth RC Controller) 25
CHƯƠNG 3 XE TỰ HÀNH 28
3.1 Thiết kế hệ thống điều khiển 28
3.1.1 Sơ đồ khối 28
3.1.2 Chức năng của các khối 28
3.2 Thiết kế phần cứng 30
3.2.1 Arduino Uno 30
3.2.2 Cảm biến siêu âm 30
3.3 Phần mềm 31
3.3.1 Thuật toán 31
3.3.2 Mã lập trình xe điều tự hành 32
KẾT LUẬN 38
TÀI LIỆU THAM KHẢO 41
Trang 8DANH MỤC HÌNH ẢNH
Hình 2.1 Sơ đồ khối xe điều khiển bằng tay 10
Hình 2.2 Module khối nguồn 10
Hình 2.3 Module Bluetooth HC-05 11
Hình 2.4 Module Arduino Uno R3 12
Hình 2.5 Vi điều khiển Arduino 13
Hình 2.6 Module Bluetooth HC-05 14
Hình 2.7 Động cơ và bánh xe 15
Hình 2.8 Module điều khiển động cơ L298N 16
Hình 2.9 Khung xe 4 bánh 16
Hình 2.10 Pin 18650 và khay pin 16
Hình 2.11 Sơ đồ mạch xe điều khiển bằng tay 17
Hình 2.12 Mạch mô phỏng xe điều khiển trên Protus 17
Hình 2.13 Lưu đồ thuật toán cho Arduino 18
Hình 2.14 Giao diện chương trình viết Arduino 19
Hình 2.15 Vùng lệnh chương trình 20
Hình 2.16 Vùng thông báo (debug) 20
Hình 2.17 Code xe điều khiển bằng tay 24
Hình 2.18 Sơ đồ hoạt động của phần mềm điều khiển 25
Hình 2.19 Lưu đồ thuật toán của phần mềm điều khiển 25
Hình 2.20 Giao diện phần mềm Arm robot 26
Hình 2.21 Giao diện kết nối thiết bị Bluetooth 27
Hình 3.1 Sơ đồ khối xe tự hành 28
Hình 3.2 Module khối nguồn 28
Hình 3.3 Module Arduino Uno R3 29
Hình 3.4 Sơ đồ nguyên lý của 1 cặp led cảm biến dò line 30
Hình 3.5 Cảm biến hồng ngoại TCRT5000 31
Hình 3.6 Xe dò line trên đường thẳng 31
Hình 3.7 Giải thuật điều khiển tốc độ động cơ bằng PID 34
Hình 3.8 Code xe dò line 36
Hình 3.9 Xe điều khiển Bluetooth kết hợp cánh tay robot 37
Hình 3.10 Xe dò line sử dụng thuật toán PID 37
Trang 9CHƯƠNG 1 TỔNG QUAN 1.1 Lý do chọn đề tài
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ềukhiể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ềucô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át triển từ lâu và luôn được cảitiế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ệnnay 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ăng thêm sự lựachọn cho ng ời sử dụng, sản phẩm được sản xuất trong nước nên giá 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àng nhiềunhư robot vận chuyển hàng hóa, kiểm tra nguy hiểm, xe lăn cho người khuyế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ếu linh hoạt và khả năngthí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 linh hoạt cho xe
Module Arduino Uno R3: thiết kế hệ thống sử dụng để giao tiếp module Bluetooth, điều khiển các thiết bị, phần mềm hỗ trợ lập trình Arduino, ngôn ngữ lập trình C++
Trang 10 Hệ điều hành Android: kiến trúc hệ điều hành Android, chu kỳ hoạt động các ứng dụng chạy trên hệ điều hành Android, phần mềm hỗ trợ lập trình Android Studio, ngôn ngữ lập trình Java,viết phần mềm ứng dụng.
1.3 Nhiệm vụ thực hiện đề tài
Học tập, nắm vững các ngôn ngữ cần thiết để ứng dụng vào việc thiết kế
Tìm hiểu, đọc các nguồn tài liệu, thông tin tham khảo
Nghiên cứu tình hình thực tế, qua sách báo, hoặc internet
Trước tiên, chế tạo được phần cứng khung xe điều kiển Khung xe phải đảm bảo bền chắc và đạt độ chính xác nhất định về việc bố trí cácbánh xe và động cơ thông qua việc vẽ trên phần mềm và cắt CNC Tiếp theo là công đoạn lập trình Arduino dựa trên những kiến thức đã học được để lập trình xe điều khiển Và cuối cùng là tạo app điều kiển
Chương 2 Thiết kế xe điều khiển bằng tay
Chương 3 Thiết kế xe dò line
Kết luận
Trang 11CHƯƠNG 2 XE ĐIỀU KHIỂN BẰNG TAY
2.1 Thiết kế hệ thống điều khiển
Hình 2.1 Sơ đồ khối xe điều khiển bằng tay
Hình 2.2 Module khối nguồn
Trang 12Khố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 áp LM2596S sử dụng các tụ có khảnăng lọc nhiễu cao và trữ điện tốt Ngoài ra trên module có sẵn đèn LED báo hiệu hoạtđộng của mạch nguồn
2.1.3.2 Khối module Bluetooth
Trên thị trường hiện nay có khá nhiều module Bluetooth hỗ trợ vi điều khiểugiao tiếp với thiết bị khác thông qua kết nối Bluetooth, một số module Bluetooththường được sử dụng trong thực tế như: module Bluetooth HC-05, module BluetoothHC-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ới truyền dữ liệuđiều khiển thiết bị, dễ dàng mua ở thị trường Việt Nam, được nhiều người sử dụng vàđánh giá là rất ổn định
Hình 2.3 Module Bluetooth HC-05
2.1.3.3 Khối xử lí trung tâm
Arduino UNO R3 dùng vi điều khiển ATmega328 Bộ não này có thể xử línhững 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ềukhiển từ xa, điều khiển động cơ bước, điều khiển động cơ serve, làm một trạm đo nhiệt
độ – độ ẩm và hiển thị lên màn hình LCD,… hay những ứng dụng khác
Trang 13Hình 2.4 Module Arduino Uno R3
2.1.3.4 Khối điều khiển xe
Tất cả các loại điện thoại chạy hệ điều hành android có thể cài ứng dụngandroid, ứng dụng được viết bằng ngôn ngữ Java nhằm tạo ra một giao diện trực quan,
dễ sử dụng cho việc điều khiển và giám sát các thiết bị điện
2.2 Lựa chọn linh kiện
2.2.1 Moduke Arduino Uno R3
2.2.1.1 Thông số kĩ thuật
Vi điều khiển: ATmega 328 họ 8 bit
Điện áp hoạt động: 5 VDC (chỉ được cấp qua cổng USB)
Tần số hoạt động: 16 MHz
Dòng tiêu thụ: 30 mA + Điện áp vào khuyên dùng: 7-12 VDC
Điện áp vào giới hạn: 6-20 VDC + Số chân Digital I/O: 14 ( 6 chân hardware PWM) + Số chân analog: 6 ( độ phân giải 10 bit)
Dòng tối đa trên mỗi chân I/O: 30 mA
Dòng ra tối đa (5V): 500mA
Trang 14 Dòng ra tối đa (3.3V): 50mA
Bộ nhớ flash: 32KB với 0.5KB dùng để bootloader
2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báokhi lập trình sẽ lưu ở đây Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớRAM Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạnphải bận tâm Khi mất điện, dữ liệu trên SRAM sẽ bị mất
1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory):đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vàođây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM
Các cổng vào ra: Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tínhiệ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ỗi châ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)
Trang 152.2.2 Module Bluetooth HC-05
Bluetooth là chuẩn truyền thông không dây để trao đổi dữ liệu ở khoảng cáchngắn.Chuẩn truyền thông này sử dụng sóng radio ngắn(UHF radio) trong dải tần sốISM (2.4 tới 2.485 GHz) Khoảng cách truyền của module này vào khoảng 15m
Trang 162.2.2.2 Sơ đồ chân HC-05 gồm có:
KEY: Chân này để chọn chế độ hoạt động AT Mode hoặc Data Mode VCC chân này có thể cấp nguồn từ 3.6V đến 6V bên trong module đã
có một ic nguồ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ức logic 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
Trang 172.2.3.2 Mạch khuếch đại dòng điện + 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ơ, chiếu sáng,…
Nguyên tắc hoạt động cơ bản: dòng tại ngõ vào Inn sẽ được khuếch đại thành dòng tại ngõ ra Outn
Driver: L298N tích hợp hai mạch cầu H
Điện áp cung cấp: 5 ~ 12VDC
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
2.2.3.3 Các thành phần khác
Hình 2.8 Module điều khiển động cơ L298N
Hình 2.9 Khung xe 4 bánh
Trang 18Hình 2.10 Pin 18650 va khay pin
2.3 Thiết kế phần cứng
2.3.1 Sơ đồ mạch
2.3.1.1 Sơ đồ mạch thực
2.3.1.2 Sơ đồ mạch mô phỏng trên proteus
Hình 2.11 Sơ đồ mạch xe điều khiển bằng tay
Trang 19Hình 2.12 Mạch mô phỏng xe điều khiển trên Protus
2.3.2 Lưu đồ thuật toán
Hình 2.13 Lưu đồ thuật toán cho Arduino
Trang 20Hình 2.14 Giao diện chương trình viết Arduino
Trang 21Hình 2.15 Vùng lệnh chương trình
2.4.1.3 Vùng viết chương trình
Bạn sẽ viết các đoạn mã của mình tại đây
2.4.1.4 Vùng thông báo (debug)
Những thông báo từ IDE sẽ được hiển thị tại đây Để ý rằng góc dưới cùng bênphải hiển thị loại board Arduino và cổng COM được sử dụng Luôn chú ý tới mục nàybởi nếu chọn sai loại board hoặc cổng COM, bạn sẽ không thể upload được code củamình
Hình 2.16 Vùng thông báo (debug)
Trang 222.4.2 Mã lập trình xe điều khiển bằng tay
Trang 25Hình 2.17 Code xe điều khiển bằng tay
2.4.3 Phần mềm App điều khiển xe (Arm Robot)
Ứng dụng này cho phép bạn kiểm soát một Arduino dựa trên RC xe quaBluetooth Điều này được thực hiện bằng cách sử dụng một kích hoạt Bluetooth điệnthoại Android
Trang 262.4.3.1 Sơ đồ hoạt động của App
2.4.3.2 Lưu đồ thuận toán phần mềm App điều khiển
2.4.3.3 Giao diện App điều khiển
Hình 2.18 Sơ đồ hoạt động của phần mềm điều khiển
Hình 2.19 Lưu đồ thuật toán của phần mềm điều khiển
Trang 27Hình 2.20 Giao diện phần mềm Arm robot
Giao diện chính của App gồm các chức năng chính sau:
App có thể sự dụng các nút để Tiến, lùi, xoay trái, xoay phải xe điều khiển mình đẫ tạo từ phần cứng
Có nút cài đă để kêt nối Bluetooth từ điện thoại vào xe điều khiển Giao diện phụ của nút cài đặt:
Khi nhấn đúp kết nối với thiết bị, thì có thông báo kết nối thiết bị Bluetooththành công thì chúng ta có thể điều khiển được xe điều khiển từ xa trong vòng 10m –
m và có thể sử dụng các nút trong giao diện chính để xe hoạt động
Trang 28Hình 2.21 Giao diện kết nối thiết bị Bluetooth
Trang 29CHƯƠNG 3 XE DÒ LINE 3.1 Thiết kế hệ thống điều khiển
Hình 3.22 Sơ đồ khối xe tự hanh
Hình 3.23 Module khối nguồn
Trang 303.1.2.2 Khối xử lí trung tâm
Arduino UNO R3 dùng vi điều khiển ATmega328 Bộ não này có thể xử línhững 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ềukhiển từ xa, điều khiển động cơ bước, điều khiển động cơ servo, làm một trạm đonhiệt độ – độ ẩm và hiển thị lên màn hình LCD,… hay những ứng dụng khác
3.1.2.3 Khối cảm biến (Sensor)
Cảm biến quang dò đường là thành phần quan trọng không thể thiếu trong điềukhiển lộ trình chạy của Robot một cách chính xác và đẹp mắt Sơ đồ mạch được lựachọn là kiểu thông dụng do đơn giản nhưng để nâng cao khả năng nhận dạng vạchtrắng (hoặc vạch màu) và phù họp với việc dùng chung nguồn vi điều khiến +12V, ta
sẽ nâng cao điện áp cung cấp cho cảm biến, tăng số led phát ánh sáng trắng
Trước hết, cần có quan niệm ánh sáng gồm ánh sáng nhìn thấy được (có màusắc) và ánh sáng không thấy được (hồng ngoại ) Và chúng ta đều biết, màu sắc củamột vật là do ánh sáng phản xạ từ nó ra, tức là một vật có màu nào thì sẽ hấp thu tất cảánh sáng khác trừ màu của chính nó Trong đó, màu trắng là màu phản xạ lại tất cả ánhsáng chiếu tới, còn màu đen là màu hấp thụ toàn bộ ánh sáng Sân thi đấu Robocarnhìn chung là một nền màu trắng được dán vạch đen Bộ dò đường gồm tập hợp một
Hình 3.24 Module Arduino Uno R3