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

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ành

47 1 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

Thông tin cơ bản

Tiêu đề Thiết kế xe điều khiển bằng tay và xe tự hành
Tác giả Trần Công Hùng, Hoàng Xuân Hưng, Lê Anh Tuấn, Đỗ Văn Minh
Người hướng dẫn Th.S Nguyễn Thị Huyền Trang
Trường học Đại học Đà Nẵng
Chuyên ngành Vi điều khiển
Thể loại báo cáo bài tập lớn
Năm xuất bản 2023
Thành phố Đà Nẵng
Định dạng
Số trang 47
Dung lượng 13,6 MB

Cấu trúc

  • Chương 1. Giới thiệu (0)
    • 1.1. Tổng quan (0)
      • 1.1.1. Bối cảnh thực hiện đề tài (0)
      • 1.1.2. Lý do chọn đề tài (8)
      • 1.1.3. Vấn đề cần giải quyết (8)
    • 1.2. Phương pháp, kết quả (9)
      • 1.2.1. Phương pháp triển khai thực hiện (9)
      • 1.2.2. Kết quả đạt được (9)
    • 1.3. Cấu trúc báo cáo (9)
  • 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 (11)
    • 2.2. Linh kiện (14)
      • 2.2.1. Module Arduino Uno R3 (14)
      • 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 (29)
      • 2.4.4. Phần mềm điều khiển xe (32)
  • Chương 3. Xe tự hành (34)
    • 3.1. Hệ thống xe tự hành (34)
      • 3.1.1. Sơ đồ khối (34)
      • 3.1.2. Chức năng các khối (34)
      • 4.1.3. Nguyên lý hoạt động (37)
    • 3.2. Linh kiện (38)
      • 3.2.1. Arduino Uno R3 (38)
      • 3.2.2. Module cảm biến line giao tiếp Arduino (43)
      • 3.2.3. Động cơ DC (44)
      • 3.2.4. Khung xe (44)
    • 3.3. Thiết kế phần cứng (45)
      • 3.3.1. Cảm biến vật cản hồng ngoại V1 (45)
      • 3.3.2. Sơ đồ mạch mô phỏng trên Proteus (45)
      • 3.3.3. Lưu đồ thuật toán (46)
  • KẾT LUẬN (47)

Nội dung

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

Giới thiệu

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 bao gồm việc tìm hiểu các phương pháp nghiên cứu, thiết kế xe và lý thuyết lập trình Arduino Qua đó, chúng tôi sẽ xây dựng cấu trúc lập trình giúp người thiết kế thao tác dễ dàng 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ị.

- Một xe điều khiển bằng tay có khả năng sử dụng tay gắp;

- Một slide tiếng Anh đính kèm.

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.)

Xe điều khiển bằng tay

Hệ thống xe điều khiển

- 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.

Hình 1: Sơ đồ khối xe điều khiển bằng tay

Khối điều khiển trên điện thoại Android bao gồm các nút bấm cho phép người dùng điều chỉnh hướng di chuyển và tốc độ của xe Để hoạt động hiệu quả, khối điều khiển cần được kết nối với module Bluetooth của xe thông qua sóng vô tuyến.

Phần xe bao gồm bộ vi xử lý điều khiển, pin hoặc bộ sạc, động cơ và hệ thống lái Bộ vi xử lý nhận tín hiệu từ bộ điều khiển, điều khiển động cơ để điều chỉnh 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 tín hiệu điện, được lắp đặt trên bánh xe hoặc trục để di chuyển xe Hệ thống lái xe hoạt động hiệu quả nhờ vào sự điều khiển chính xác này.

Khối xử lý trung tâm

Khối Module Bluetooth Khối nguồn

Khối Driver động cơ bên phải và bên trái có thể được điều khiển bằng cách điều chỉnh góc quay của bánh xe hoặc áp dụng hệ thống lái chính xác hơn, nhằm đảm bảo xe di chuyển theo hướng mong muốn.

Khi người dùng thao tác các nút trên ứng dụng điều khiển, tín hiệu sẽ được truyền đến xe qua sóng vô tuyến Bộ vi xử lý trong xe tiếp nhận và xử lý tín hiệu, từ đó điều khiển động cơ và hệ thống lái để đáp ứng yêu cầu của người điều khiển.

Khối nguồn cung cấp dòng điện và điện thế ổn định, đảm bảo an toàn cho mạch Mạch ổn áp có khả năng tạo ra điện áp thấp hơn điện áp đầu vào và duy trì mức áp này bất chấp sự thay đổi của điện áp đầu vào Module ổn áp LM2596 sử dụng các tụ điện có khả năng lọc nhiễu tốt và lưu trữ điện hiệu quả, đồng thời được trang bị đèn LED để báo hiệu hoạt động của mạch nguồn.

Khối Module Bluetooth cho phép vi điều khiển giao tiếp với các thiết bị khác qua kết nối Bluetooth Một số module Bluetooth phổ biến được sử dụng trong thực tế bao gồm module Bluetooth HC-05 và HC-06.

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 Khối xử lí trung tâm.

Hình 3: Khối Module Bluetooth HC05

- Khối trung tâm xử lý:

Khối trung tâm của Arduino Uno R3 sử dụng vi điều khiển ATmega328P, có nhiệm vụ điều khiển hoạt động trên board, xử lý dữ liệu từ cảm biến và thiết bị ngoại vi, cũng như điều khiển thiết bị đầu ra như động cơ và đèn LED Vi điều khiển này có khả năng tiếp nhận tín hiệu đầu vào từ các cảm biến và cung cấp tín hiệu điều khiển cho các thiết bị đầu ra Arduino Uno R3 được trang bị cổng USB để kết nối với máy tính, cho phép nạp chương trình, giao tiếp và truyền nhận dữ liệu Ngoài ra, nó còn có khả năng kiểm soát nguồn điện trên board, bao gồm quản lý nguồn vào và nguồn ra.

Arduino Uno R3 là nền tảng lý tưởng cho việc phát triển ứng dụng điện tử và IoT, cho phép lập trình thực hiện nhiều chức năng như đọc cảm biến, điều khiển động cơ và đèn LED, hiển thị dữ liệu trên màn hình LCD, cũng như kết nối với các module như WiFi, Bluetooth và GSM.

Hình 4: Khối xử lý trung tâm Arduino Uno R3

Khối driver động cơ là thiết bị điện tử thiết yếu dùng để điều khiển động cơ, điều chỉnh các thông số như dòng điện, điện áp và tốc độ quay Các chức năng cơ bản của khối driver động cơ bao gồm việc tối ưu hóa hiệu suất hoạt động và đảm bảo sự ổn định trong quá trình vận hành.

Khối driver động cơ có khả năng điều chỉnh dòng điện cung cấp cho động cơ, đảm bảo rằng dòng điện luôn duy trì ở mức an toàn và phù hợp với nhu cầu của từng ứng dụng.

Khối driver động cơ có khả năng điều chỉnh điện áp đầu vào, giúp động cơ hoạt động an toàn và hiệu quả Đồng thời, nó cũng có thể điều chỉnh tốc độ quay của động cơ thông qua việc thay đổi tần số và độ rộng xung điều khiển.

Khối driver động cơ đóng vai trò quan trọng trong việc bảo vệ động cơ bằng cách cung cấp các chức năng như bảo vệ quá tải, bảo vệ quá nhiệt, bảo vệ ngắn mạch và bảo vệ dòng điện.

Khối driver động cơ có khả năng giao tiếp với hệ thống điều khiển thông qua các giao thức như UART, I2C hoặc SPI Điều này cho phép thực hiện các chức năng điều khiển động cơ từ xa và thu thập thông số liên quan đến động cơ.

Hình 5: Khối Driver động cơ

Linh kiện

Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)

Tần số hoạt động 16 MHz

Dòng tiêu thụ khoảng 30mA Đ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

Dòng ra tối đa (5V) 500 mA

Dòng ra tối đa (3.3V) 50 mA

Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader

Hình 6: Thông số Arduino Uno R3

Arduino UNO có thể được cung cấp nguồn 5V qua cổng USB hoặc từ nguồn ngoài với điện áp khuyên dùng từ 7-12V DC và giới hạn là 6-20V Sử dụng pin vuông 9V là lựa chọn hợp lý khi không có nguồn từ cổng USB Tuy nhiên, nếu nguồn cấp vượt quá giới hạn, Arduino UNO sẽ bị hỏng.

GND (Ground) là cực âm của nguồn điện cung cấp cho Arduino UNO Khi sử dụng các thiết bị với nguồn điện riêng biệt, cần phải nối các chân GND này lại với nhau để đảm bảo hoạt động ổn định.

+ 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.

Điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo tại chân IOREF, và giá trị này luôn là 5V Tuy nhiên, không nên lấy nguồn 5V từ chân này vì chức năng chính của nó không phải là cung cấp điện.

+ RESET: Việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ.

Hình 8: Các cổng vào/ ra

Arduino UNO R3 là một board vi điều khiển phổ biến, sử dụng vi điều khiển ATmega328P, với 14 chân input/output kỹ thuật số và 6 chân input analog Board này trang bị tinh thể quartz 16 MHz, cổng USB, cổng nguồn, header ICSP và nút reset Người dùng có thể lập trình board thông qua Arduino IDE, phục vụ cho nhiều dự án từ mạch đơn giản đến 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ó

Vi điều khiển ATmega328 sử dụng hai 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 đạt 40mA Mỗi chân đều được trang bị các điện trở pull-up từ, tuy nhiên, các điện trở này không được kết nối mặc định.

- Một số chân digital có chức năng đặc biệt:

Chân Serial 0 (RX) và 1 (TX) trên Arduino Uno được sử dụng để gửi và nhận dữ liệu TTL Serial, cho phép giao tiếp với các thiết bị khác Kết nối Bluetooth thường được coi là một dạng kết nối Serial không dây Nếu không cần giao tiếp Serial, nên tránh sử dụng hai chân này để tiết kiệm tài nguyên.

Chân PWD (~) 3, 5, 6, 9, 10, và 11 cho phép xuất xung PWM với độ phân giải 8bit, tương ứng với giá trị từ 0 đến 255, tương đương với điện áp từ 0V đến 5V thông qua hàm analogWrite() Điều này có nghĩa là điện áp đầu ra có thể được điều chỉnh linh hoạt từ 0V đến 5V, khác với các chân khác chỉ có mức điện áp cố định là 0V hoặc 5V.

Chân giao tiếp SPI trên bo mạch bao gồm 10 (SS), 11 (MOSI), 12 (MISO) và 13 (SCK) Ngoài việc thực hiện các chức năng cơ bản, bốn chân này còn được sử dụng để truyền và nhận dữ liệu thông qua giao thức SPI với các thiết bị khác.

Trên Arduino UNO, có một đèn LED màu cam (ký hiệu L) được kết nối với chân số 13 Đèn LED này nhấp nháy khi nút Reset được bấm để báo hiệu Khi người dùng sử dụng chân số 13, đèn LED sẽ sáng lên.

Arduino Uno có 6 chân analog (A0 → A5) cho phép đọc giá trị điện áp từ 0V đến 5V với độ phân giải tín hiệu 10bit (0 → 210-1) Bằng cách sử dụng chân AREF trên board, bạn có thể cung cấp điện áp tham chiếu, ví dụ như 2.5V, để đo điện áp trong khoảng từ 0V đến 2.5V, vẫn với độ phân giải 10bit.

Hình 9: Cấu tạo Arduino Uno R3 2.2.2 Module Bluetooth HC05

The HC-05 Bluetooth module is a Bluetooth 2.0 SPP (Serial Port Protocol) device that enables seamless data transmission between connected devices via Bluetooth Its compact size and user-friendly design make it an ideal choice for various applications, while its UART (Universal Asynchronous Receiver/Transmitter) capability facilitates efficient data communication.

Module Bluetooth HC-05 là một thiết bị phổ biến trong nhiều ứng dụng như điều khiển robot, điều khiển thiết bị từ xa và thu thập dữ liệu Nhờ vào kết nối Bluetooth, module này cho phép các thiết bị truyền dữ liệu một cách dễ dàng và linh hoạt.

Module Bluetooth HC-05 có khả năng hoạt động ở hai chế độ, bao gồm chế độ Slave va chế độ Master.

Khi hoạt động ở chế độ Slave, module sẽ nhận các kết nối Bluetooth từ thiết bị chủ và chuẩn bị truyền dữ liệu qua các cổng UART Khi dữ liệu được gửi đến, module sẽ chuyển tiếp dữ liệu này tới thiết bị chủ qua kết nối Bluetooth.

Khi ở chế độ Master, module sẽ quét và kết nối với các thiết bị Bluetooth khác Sau khi kết nối thành công, module sẽ có khả năng truyền và nhận dữ liệu qua cổng UART.

Để kết nối module Bluetooth HC-05, bạn cần kết nối các chân điện của nó với chân cắm của vi điều khiển hoặc board Arduino Sau khi kết nối, bạn 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ối Bluetooth.

Thiết kế phần cứng

2.3.1 Sơ đồ mạch mô phỏng trên Proteus

Hình 14: Sơ đồ mạch xe điều khiển mô phỏng trên Proteus

Hình 15: Lưu đồ thuật toán xe điều khiển

Các phần mềm thiết kế xe

Phần mềm Proteus là công cụ phổ biến trong lĩnh vực điện tử và kỹ thuật điện, cho phép người dùng thiết kế và kiểm tra mạch điện tử trước khi chế tạo thực tế Với giao diện thân thiện và nhiều thành phần mô phỏng, Proteus giúp người dùng phân tích hành vi mạch trong các điều kiện khác nhau, tối ưu hóa thiết kế để nâng cao hiệu suất Đặc biệt, khả năng mô phỏng hệ thống vi điều khiển làm cho Proteus trở thành lựa chọn hàng đầu cho thiết kế hệ thống nhúng.

Phần mềm Proteus hỗ trợ nhiều loại vi điều khiển từ các nhà sản xuất nổi tiếng như Atmel, Microchip và Texas Instruments Nó đi kèm với trình gỡ lỗi tích hợp, cho phép người dùng kiểm tra mã và khắc phục sự cố hiệu quả Proteus là công cụ mạnh mẽ cho kỹ sư điện và điện tử, giúp tiết kiệm thời gian và chi phí trong quá trình xây dựng và thử nghiệm nguyên mẫu vật lý.

Hình 16: Giao diện phần mềm Proteus

+ Dễ dạng tạo ra một sơ đồ nguyên lý từ đơn giản đến phức tạp

+ Dễ dàng chỉnh sữa các đặc tính của linh kiện trên sơ đồ nguyên lý.

+ Hỗ trợ kiểm tra lỗi thiết kế trên sơ đồ nguyên lý Có thể xem và lưu lại phần báo lỗi.

+ Phần mềm chạy mô phỏng và phân tích các tính chất của một mạch điện một cách chính xác

Proteus cung cấp công cụ biên dịch cho các họ vi xử lý như MSC51, AVR, HC11, cho phép người dùng tạo ra các tệp hex để nạp vào vi xử lý, cùng với tệp dsi để xem và kiểm tra từng bước trong quá trình mô phỏng.

Phần mềm Proteus cung cấp nhiều mô hình linh kiện để mô phỏng, từ vi điều khiển phổ biến đến các linh kiện ngoại vi như LED, LCD, Keypad và cổng RS232 Người dùng có thể mô phỏng một hệ vi điều khiển hoàn chỉnh và phát triển phần mềm cho hệ thống tương thích với các giao thức vật lý Đặc biệt, Proteus cho phép người dùng tự tạo linh kiện tương tác, giúp thực hiện các mô phỏng với tính tương tác cao, giống như hoạt động của mạch thực.

- Nhược điểm: Phần vẽ mạch có giao diện chưa được hấp dẫn và đẹp mắt.

Arduino IDE là phần mềm mã nguồn mở lý tưởng cho lập trình và phát triển dự án trên bo mạch vi điều khiển Arduino, với giao diện thân thiện và ngôn ngữ lập trình đơn giản hóa dựa trên C Phần mềm hỗ trợ nhiều loại bo mạch như Arduino Uno, Mega và Nano, cùng với một cộng đồng người dùng lớn cung cấp vô số tài nguyên như hướng dẫn và diễn đàn Arduino IDE tương thích với Windows, Linux và Mac OS, giúp tiếp cận người dùng rộng rãi Đây là công cụ tuyệt vời cho cả người mới bắt đầu và chuyên gia muốn thực hiện các dự án sáng tạo.

- Thư viện hỗ trợ phong phú:

Hình 17: Thư viện Library Manager

- Giao diện đơn giản, dễ sử dụng:

Arduino IDE sở hữu giao diện thân thiện và dễ sử dụng, giúp người dùng thao tác một cách thuận tiện Dưới đây là một số tính năng quan trọng mà người dùng thường xuyên áp dụng.

Hình 18: Một số tính năng thường dùng

+ Nút kiểm tra chương trình (Verify): giúp dò lỗi phần code định truyền xuống bo mạch Arduino.

+ Nút tải đoạn code vào bo mạch Arduino (Upload): giúp nhập đoạn code vào bo mạch Arduino.

+ Vùng lập trình: người dùng sẽ viết chương trình tại khu vực này.

+ Thanh Menu: gồm những thẻ chức năng nằm trên cùng như File, Edit,Sketch, Tools, Help.

2.4.3 Code điều khiển xa và động cơ server cánh tay

Hình 19: Mã nguồn xe điều khiển _ 1

Hình 20: Mã nguồn xe điều khiển _ 2

Hình 21: Mã nguồn xe điều khiển _ 3

Hình 22: Mã nguồn xe điều khiển _ 4

Hình 23: Mã nguồn xe điều khiển _ 5

Hình 24: Mã nguồn xe điều khiển _ 6

Hình 25: Mã nguồn xe điều khiển _ 7

Hình 26: Mã nguồn xe điều khiển_ 8 2.4.4 Phần mềm điều khiển xe

Xe điều khiển từ xa Bluetooth (Bluetooth RC car) cho phép người dùng điều khiển xe thông qua smartphone hoặc tablet nhờ vào ứng dụng điều khiển Công nghệ Bluetooth giúp người dùng điều khiển xe từ xa mà không cần giữ liên lạc trực tiếp Các tính năng phổ biến của xe Bluetooth RC bao gồm di chuyển tiến, lùi, quay trái, quay phải, cũng như tăng tốc và giảm tốc độ.

Hình 27: Ứng dụng Bluetooth RC Car

Xe tự hành

Hệ thống xe tự hành

Hình 28: Sơ đồ khối xe tự hành 3.1.2 Chức năng các khối

Hình 29: Chức năng các khối trong xe tự hành

Khối nguồn là thiết bị tạo ra dòng điện và điện thế ổn định, đảm bảo an toàn cho mạch điện Mạch ổn áp có nhiệm vụ hạ điện áp đầu vào xuống mức thấp hơn và duy trì ổn định mức áp này, bất chấp sự thay đổi của điện áp đầu vào Module ổn áp LM298 được trang bị các tụ lọc nhiễu hiệu quả và khả năng trữ điện tốt Bên cạnh đó, module còn tích hợp đèn LED để báo hiệu tình trạng hoạt động của mạch nguồn.

Khối giao tiếp người sử dụng là cầu nối giữa người dùng và hệ thống điều khiển xe, cho phép người dùng tương tác trực tiếp với hệ thống Nó cung cấp thông tin về trạng thái xe và các hoạt động đang diễn ra, bao gồm hiển thị thông tin, điều khiển xe, gửi tín hiệu đến hệ thống điều khiển, cùng với việc cảnh báo và thông báo cho người dùng.

Khối điều khiển motor là thiết bị quan trọng trong việc điều khiển chuyển động của motor, cung cấp tín hiệu để motor hoạt động theo các thao tác cần thiết Nó đảm bảo điều chỉnh tốc độ, hướng quay và vị trí của motor, thực hiện các chức năng chính nhằm tối ưu hóa hiệu suất hoạt động.

+ Tính toán và điều khiển động cơ với các thông số như tốc độ quay, mô- men xoắn và hướng quay.

+ Điều khiển hệ thống động cơ bằng tín hiệu điện từ bộ điều khiển, bao gồm các bộ điều khiển điện áp biến thiên và điện áp xoay chiều.

+ Tích hợp các cảm biến và giải thuật để đo vị trí và tốc độ quay của động cơ.

+ Bảo vệ động cơ khỏi các hư hỏng và ngừng lại động cơ khi nguy hiểm xảy ra.

Cung cấp tính năng điều khiển bổ sung cho phép người dùng điều chỉnh tốc độ và hướng quay thông qua các tín hiệu điều khiển liên tục hoặc rời rạc.

Khối xử lý trung tâm đóng vai trò quan trọng trong việc thu thập dữ liệu từ cảm biến dò line và xử lý thông tin để điều khiển chuyển động của robot theo đường line Nó so sánh giá trị tín hiệu từ các cảm biến nhằm xác định vị trí của robot, đồng thời tính toán để điều chỉnh tốc độ và hướng di chuyển cho phù hợp Ngoài ra, khối này còn điều khiển nguồn điện cung cấp cho động cơ và các thiết bị điện tử khác, đồng thời bảo vệ hệ thống khỏi tình trạng quá dòng, quá tải và hư hỏng.

Khối cảm biến là thành phần quan trọng trong robot, có chức năng nhận và chuyển đổi các tín hiệu từ môi trường xung quanh thành tín hiệu điện Những tín hiệu này sau đó được gửi đến bộ xử lý để phân tích và điều khiển hoạt động của robot.

Khối cảm biến của robot có khả năng thu thập tín hiệu từ môi trường xung quanh, bao gồm thông tin về nhiệt độ, ánh sáng, âm thanh, hình ảnh và vị trí của các đối tượng.

Khối cảm biến đóng vai trò quan trọng trong việc xử lý tín hiệu, chuyển đổi các tín hiệu thu thập được thành tín hiệu điện và gửi đến bộ xử lý chính của robot Ngoài ra, nó còn cung cấp thông tin về môi trường, giúp bộ xử lý chính phân tích và đưa ra quyết định cho hành động của robot.

Điều khiển robot dựa vào thông tin từ khối cảm biến, cho phép bộ xử lý chính thực hiện các hành động cần thiết để robot hoạt động hiệu quả trong môi trường xung quanh.

Khối giao tiếp vào ra là yếu tố then chốt trong việc kết nối các thiết bị đầu vào và đầu ra với bộ xử lý chính, đóng vai trò quan trọng trong việc điều khiển chuyển động của robot.

Khối giao tiếp vào ra đóng vai trò quan trọng trong việc kết nối các cảm biến input như cảm biến dò line và cảm biến khoảng cách, giúp thu thập thông tin từ môi trường xung quanh một cách hiệu quả.

Khối giao tiếp vào ra có vai trò quan trọng trong việc kết nối các thiết bị output như động cơ, servo và đèn LED, giúp điều khiển chuyển động của robot một cách hiệu quả.

Khối giao tiếp vào ra thực hiện việc xử lý và chuyển đổi tín hiệu từ các thiết bị đầu vào và đầu ra thành tín hiệu điện, nhằm truyền tải thông tin vào và ra khỏi bộ xử lý chính của hệ thống.

Khối giao tiếp vào ra đóng vai trò quan trọng trong việc điều khiển các thiết bị output thông qua các tín hiệu điều khiển từ bộ xử lý chính Đồng thời, nó cũng cung cấp tín hiệu đầu vào từ các cảm biến cho bộ xử lý, giúp phân tích và đưa ra quyết định cho hành động của robot.

- Khối hiển thị: hiển thị thông tin về trạng thái của robot và các thông số cấu hình khác của hệ thống.

Khối hiển thị sẽ cho phép người dùng theo dõi và kiểm tra vị trí của robot trên đường line mà nó đang di chuyển.

Linh kiện

Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)

Tần số hoạt động 16 MHz

Dòng tiêu thụ khoảng 30mA Đ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

Dòng ra tối đa (5V) 500 mA

Dòng ra tối đa (3.3V) 50 mA

Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader

Hình 31: Thông số Arduino Uno R3 _ Xe tự hành

Arduino UNO có thể được cấp nguồn 5V qua cổng USB hoặc từ nguồn ngoài với điện áp khuyên dùng từ 7-12V DC, giới hạn từ 6-20V Sử dụng pin vuông 9V là lựa chọn hợp lý khi không có nguồn từ cổng USB Lưu ý rằng việc cấp nguồn vượt quá giới hạn có thể gây hư hỏng cho Arduino UNO.

Hình 32: Arduino Uno R3 _ Xe tự hành

GND (Ground) là cực âm của nguồn điện cung cấp cho Arduino UNO Khi sử dụng các thiết bị với nguồn điện riêng biệt, cần phải nối các chân GND này lại với nhau để đảm bảo hoạt động ổn định.

+ 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.

Chân IOREF trên Arduino UNO cho phép đo điện áp hoạt động của vi điều khiển, luôn duy trì ở mức 5V Tuy nhiên, không nên sử dụng chân này để cấp nguồn 5V, vì chức năng chính của nó không phải là cung cấp điện.

+ RESET: Việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ.

Hình 33: Các cổng vào/ ra _ Xe tự hành

Arduino UNO R3 là một board vi điều khiển phổ biến, được phát triển dựa trên vi điều khiển ATmega328P Board này bao gồm 14 chân input/output kỹ thuật số, 6 chân input analog, một tinh thể quartz 16 MHz, cổng USB, cổng nguồn, header ICSP và nút reset Với khả năng lập trình qua Arduino IDE, Arduino UNO R3 có thể được áp dụng cho nhiều dự án, từ mạch đơn giản đến 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ó

Vi điều khiển ATmega328 hỗ trợ hai mức điện áp là 0V và 5V, với dòng vào/ra tối đa là 40mA trên mỗi chân Mỗi chân được trang bị các điện trở pull-up, tuy nhiên, mặc định 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:

Chân Serial 0 (RX) và 1 (TX) trên Arduino Uno được sử dụng để truyền (TX) và nhận (RX) dữ liệu TTL Serial, cho phép giao tiếp với các thiết bị khác Kết nối Bluetooth thường được coi là một hình thức kết nối Serial không dây Nếu không có nhu cầu giao tiếp Serial, nên tránh sử dụng hai chân này để tiết kiệm tài nguyên.

Chân PWD (~) 3, 5, 6, 9, 10 và 11 cho phép xuất xung PWM với độ phân giải 8 bit, giúp điều chỉnh điện áp ra từ 0V đến 5V thông qua hàm analogWrite() Điều này mang lại sự linh hoạt hơn so với các chân khác chỉ có mức điện áp cố định là 0V và 5V.

Chân giao tiếp SPI bao gồm 10 (SS), 11 (MOSI), 12 (MISO) và 13 (SCK) Ngoài việc thực hiện các chức năng cơ bản, bốn chân này còn được sử dụng để truyền dữ liệu qua giao thức SPI với các thiết bị khác.

Trên Arduino UNO, có một đèn LED màu cam (ký hiệu L) được kết nối với chân số 13 Khi nhấn nút Reset, đèn LED này sẽ nhấp nháy để báo hiệu trạng thái Người dùng có thể điều khiển đèn LED sáng khi sử dụng chân này.

Arduino Uno có 6 chân analog (A0 đến A5) với độ phân giải tín hiệu 10 bit, cho phép đọc giá trị điện áp trong khoảng từ 0V đến 5V Bằng cách sử dụng chân AREF trên board, bạn có thể cung cấp điện áp tham chiếu, ví dụ, nếu cấp 2.5V vào chân này, các chân analog sẽ đo điện áp trong khoảng từ 0V đến 2.5V với độ phân giải 10 bit.

Hình 34: Cấu tạo Arduino Uno R3 _ Xe tự hành

3.2.2 Module cảm biến line giao tiếp Arduino

Cảm biến dò line Arduino sử dụng cảm biến hồng ngoại TCRT5000 để phát hiện đường trắng và đen với khoảng cách phát hiện từ 1 đến 25mm, giúp dễ dàng cài đặt trên thiết bị Mạch này rất phù hợp cho các thiết bị di chuyển theo đường line và có khả năng phát hiện màu sắc khác nhau.

+ Mạch sử dụng chip so sánh LM393;

+ Dòng điện tiêu thụ:

Ngày đăng: 20/12/2024, 15:19

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

TÀI LIỆU LIÊN QUAN