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

Báo cáo Vi Điều Khiển

43 0 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 đề Báo cáo cuối kì Robocar
Tác giả Nguyễn Hữu Minh Thông, Phạm Thanh Doãn, Phan Minh Quân, Ngô Tấn Phước, Nguyễn Trung Nguyên, Trần Nhơn Nhật, Đặng Giáp, Nguyễn Thành Trung, Bùi Văn Ý
Người hướng dẫn THS. Nguyễn Thị Huyền Trang
Trường học Trường Đại học Công nghệ Thông tin & Truyền thông Việt Hàn
Chuyên ngành Kỹ thuật Máy tính & Điện tử
Thể loại Báo cáo cuối kì
Năm xuất bản 2024
Thành phố Đà Nẵng
Định dạng
Số trang 43
Dung lượng 4,75 MB

Cấu trúc

  • PHẦN 1: TỔNG QUAN (11)
    • 1.1 Giới thiệu về Robocar (11)
    • 1.3 Phần mềm thiết kế (11)
      • 1.3.1. Arduino IDE (11)
      • 1.3.2. Proteus 8 Professional (12)
  • PHẦN 2: CƠ SỞ LÝ THUYẾT (14)
    • 2.1 Arduino Uno R3 (14)
      • 2.1.1. Giới thiệu về Arduino Uno R3 (14)
      • 2.1.2. Các chân nguồn (14)
      • 2.1.3. Các chân vào/ra của Arduino Uno R3 (15)
      • 2.1.4. Ứng dụng của Arduino Uno R3 (16)
      • 2.1.5. Thông số kỹ thuật (17)
    • 2.2 Module Bluetooth HC05, HC06 (17)
      • 2.2.1. Thông số kỹ thuật Module Thu Phát Bluetooth HC-05 (19)
      • 2.2.2. Thiết lập mặc định (19)
    • 2.3 Module điều khiển động cơ L298N (20)
    • 2.4 Động cơ servo SG90 (22)
    • 2.5 Động cơ motor DC 5V (23)
  • PHẦN 3: XE ĐIỀU KHIỂN (25)
    • 3.1 Thiết kế hệ thống điều khiển (25)
      • 3.1.1. Sơ đồ khối (25)
      • 3.1.2. Chức năng các khối (25)
      • 3.1.3. Nguyên lý hoạt động (27)
    • 3.2 Linh kiện (29)
    • 3.3 Thiết kế phần cứng (29)
      • 3.3.1 Sơ đồ mạch (31)
      • 3.3.2. Lưu đồ thuật toán (32)
    • 3.4 Phần mềm (32)
  • PHẦN 4: XE TỰ HÀNH (35)
    • 4.1 Thiết kế hệ thống điều khiển (35)
      • 3.1.4. Sơ đồ khối (35)
      • 3.1.5. Chức năng các khối (35)
      • 3.1.6. Nguyên lý hoạt động (37)
    • 4.2 Linh kiện (38)
    • 4.3 Thiết kế phần cứng (39)
      • 4.3.1. Sơ đồ mạch (39)
      • 4.3.2. Lưu đồ thuật toán (0)
    • 4.4 Mã nguồn (40)

Nội dung

Bài báo cáo này tập trung vào nghiên cứu và phát triển các loại xe điều khiển từ xa và xe dò line. Nội dung bao gồm các phần chính sau: Giới thiệu chung: Tổng quan về xe điều khiển từ xa và xe dò line. Ứng dụng của xe điều khiển trong các lĩnh vực như giải trí, giáo dục và nghiên cứu khoa học. Xe điều khiển từ xa: Nguyên lý hoạt động và cấu tạo của xe điều khiển từ xa. Các loại xe điều khiển phổ biến trên thị trường. Phân tích chi tiết về hệ thống điều khiển, động cơ, pin và các linh kiện liên quan. Thuật toán điều khiển: Mô tả các thuật toán điều khiển xe từ xa, bao gồm thuật toán điều khiển tốc độ và hướng di chuyển. Các thuật toán xử lý tín hiệu từ bộ điều khiển để điều khiển động cơ và bánh xe. Xe dò line Nguyên lý hoạt động và cấu tạo của xe dò line. Các cảm biến được sử dụng trong xe dò line như cảm biến hồng ngoại, cảm biến quang. Ứng dụng của xe dò line trong các cuộc thi robot và trong nghiên cứu công nghệ tự động hóa. Thuật toán dò line: Mô tả các thuật toán dò line, bao gồm thuật toán theo dõi đường kẻ và điều chỉnh hướng đi. Cách sử dụng dữ liệu từ các cảm biến để điều khiển động cơ và bánh xe nhằm duy trì xe trên đường kẻ. Thiết kế và thực hiện: Quy trình thiết kế và lắp ráp một chiếc xe điều khiển và xe dò line từ đầu. Các bước cài đặt phần mềm và lập trình cho xe dò line để nó có thể theo dõi đường kẻ. Kết quả và đánh giá: Kết quả thử nghiệm và đánh giá hiệu suất của các mẫu xe. Những khó khăn gặp phải trong quá trình thực hiện và cách khắc phục. Kết luận: Tóm tắt các điểm chính của bài báo cáo. Định hướng phát triển trong tương lai cho các dự án liên quan đến xe điều khiển và xe dò line.

TỔNG QUAN

Giới thiệu về Robocar

Robocar là cuộc thi được tổ chức thường niên do khoa Kỹ Thuật Máy Tính & Điện Tử của trường VKU tổ chức cho những sinh viên đã hoặc đang theo học học phần Vi Điều Khiển.

Cuộc thi với hình thức theo nhóm, mỗi nhóm từ 8-9 người Nhiệm vụ là phải tự chế tạo và thiết kế 2 xe (Racing Car và Self-driving Car) để tham gia đường đua với thể thức tiếp sức gồm 2 phần: đường đua Autonomous Car, đường đua Racing Car, các xe phải hoàn thành đường đua với những nhiệm vụ được BTC định sẵn.

Và 2 xe này cũng là sản phẩm để thi kết thúc học phần môn Vi Điều Khiển, với yêu cầu xe phải chạy được và hiểu được thuật toán, cách thức hoạt động của xe.

Mục tiêu của cuộc thi Robocar thứ nhất là để tạo sân chơi cho các sinh viên có thể giao lưu, cạnh tranh với nhau, tiếp đến là có thể ứng dụng các kiến thức đã được học qua học phần Vi Điều Khiển vào thực tế.

Tìm hiểu về các linh kiện điện tử như: Động cơ DC 5V, Arduino UNO R3, ESP32, mạch điều khiển động cơ L298N… hiểu được nguyên lí hoạt động và cách nối dây, từ đó có thể kết hợp các linh kiện lại với nhau để có thể tạo ra sản phẩm mong muốn.

Tạo ra được Xe điều khiển bánh xích với cánh tay gắp và Xe tự hành (Dò line) có thể hoạt động tốt Hai xe phải được thiết kế đẹp cũng như tối ưu được khả năng hoạt động, chạy nhanh, không lỗi và có thể tiết kiệm được chi phí.

Phần mềm thiết kế

Arduino IDE được viết tắt (Arduino Integrated Development Environment) là một trình soạn thảo văn bản, giúp bạn viết code để nạp vào bo mạch Arduino.

Khi người dùng viết mã và biên dịch, IDE sẽ tạo file Hex cho mã File Hex là các file thập phân Hexa được Arduino hiểu và gửi đến bo mạch bằng cáp USB Mỗi bo

Arduino đều được tích hợp một bộ vi điều khiển, bộ vi điều khiển sẽ nhận file Hex và chạy theo mã được viết.

Proteus 8 Professional là phần mềm dùng để vẽ lược đồ, phác thảo PCB và mô phỏng sơ đồ Phần mềm này được phát triển bởi Labcenter Electronic Ltd.

* Proteus sẽ công cấp cho người dùng các tính năng như:

Hình 1 Phần mềm Arduino IDE

+ Tạo bản vẽ sơ đồ

+ Tạo hoá đơn vật liệu

Ngoài những ưu điểm như giúp người dùng có thể tương tác với các mô phỏng chạy thử, sử dụng công tắc… Có sẵn dụng cụ ảo đo điện thì phần mềm vẫn có nhược điểm đó là giao diện vẫn chưa thân thiện với người dùng.

CƠ SỞ LÝ THUYẾT

Arduino Uno R3

2.1.1 Giới thiệu về Arduino Uno R3

Arduino Uno R3 được sử dụng vi điều khiển ATmega328, tương thích với hầu hết các loại Arduino Shield trên thị trường, có thể gắn thêm các module mở rộng để thực hiện thêm các chức năng như điều khiển motor, kết nối wifi hay các chức năng khác

Sử dụng ngôn ngữ lập trình C, C++ hoặc Arduino, một ngôn ngữ bắt nguồn từ

C, C++ trên phần mềm riêng cho lập trình Arduino IDE.

Hình 3 Arduino Uno R3 2.1.2 Các chân nguồn

Arduino Uno R3 được cấp nguồn 5V qua cáp usb hoặc cấp nguồn ngoài thông qua Adaptor chuyển đổi, với điện áp khuyên dùng là khoảng 6-9V Có thể cấp nguồn từ máy tính qua cổng usb về

● Các chân 5V, 3.3V là chân dùng để cấp nguồn đầu ra cho các thiết bị chứ không phải chân cấp nguồn vào.

● Vin (Voltage Input): Dùng để cấp nguồn ngoài cho Arduino Uno, nối dương cực vào chân nà và cực âm vào chân GND.

● GND(Ground): Cực âm của nguồn điện cấp cho Arduino Uno Khi sử dụng các thiết bị sử dụng những nguồn điện riêng biệt thì phải nối các chân này.

● IOREF: Điện áp hoạt động của Arduino, có mức điện áp là 5V Không được sử dụng để lấy nguồn từ chân này.

● RESET: Việc nhấn nút RESET trên mạch arduino tương tự như khi nối chân

RESET với GND qua điện trở 10KΩ.

2.1.3 Các chân vào/ra của Arduino Uno R3

Arduino Uno R3 có 14 chân digital dùng để đọc ghi dữ liệu Chúng chỉ hoạt động ở 2 mức điện áp 0V và 5V với các dòng vào/ra tối đa trên mỗi chân là 40 mA

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

- 2 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 các thiết bị khác thông qua

2 chân này, như gắn thêm màn hình LCD để hiển thị.

- Chân PWM: 3, 5,6,9, 10 và 11: Cho phép bạn xuất xung PWM với độ phân giải

8 bit(giá trị từ 0 -> 2 8 -1 tương ứng với 0 - 5V

- Chân giao tiếp SPI: 10(SS), 11(MOSI), 12(MISO), 13(SCK) Ngoài chức năng thông thường, 4 chân này có thể truyền phát dữ liệu bằng giao thức SPI tới các thiết bị khác

- LED 13: Trên arduino có 1 đèn led, khi bấm nút reset thì đèn led này sẽ nhấp nháy để báo hiệu Nó được nối với chân số 13 Khi chân này được sử dụng, đèn led sẽ sáng.

- Arduino Uno R3 có 6 chân analog (A0 -> A5) cung cấp độ phân giải 10 bit(0 →

2 10 -1) để đọc giá trị điện áp trong khoảng 0 -> 5V.

- Arduino Uno còn có 2 chân A4(SDA) và A5(SCL) để hỗ trợ giao tiếp I2C/TWI với các thiết bị khác.

2.1.4 Ứng dụng của Arduino Uno R3

Arduino Uno R3 được sử dụng phổ biến trong việc tự thiết kế ra các mạch điện tử như điều khiển led, gửi dữ liệu lên lcd, điều khiển motor hay được gắn thêm các Shield để kết nối nhiều module cảm biến khác để thực hiện thêm nhiều chức năng mở rộng như gửi dữ liệu qua wifi.

Ngoài ra, trên thị trường còn có nhiều biến thể của Arduino Uno để thực hiện thêm các tính năng chuyên dụng, ví dụ như mCore, Orion trên mBot được chuyên dụng với việc dễ dàng phân biệt các loại module nào có thể sử dụng cắm vào trên các cổng để trẻ dễ dàng sử dụng

Hình 4 Ứng dụng Arduino Uno R3

Module Bluetooth HC05, HC06

Module thu phát Bluetooth HC-05 dùng để thiết lập kết nối Serial giữa 2 thiết bị bằng sóng bluetooth Điểm đặc biệt của module bluetooth HC-05 là module có thể hoạt động được ở 2 chế độ: MASTER hoặc SLAVE Trong khi đó, bluetooth module HC-06 chỉ hoạt động ở chế độ SLAVE.

+ Ở chế độ SLAVE: bạn cần thiết lập kết nối từ smartphone, laptop, usb bluetooth để dò tìm module sau đó pair với mã PIN là 1234 Sau khi pair thành công, bạn đã có 1 cổng serial từ xa hoạt động ở baud rate 9600.

+ Ở chế độ MASTER: module sẽ tự động dò tìm thiết bị bluetooth khác (1 module bluetooth HC-06, usb bluetooth, bluetooth của laptop…) và tiến hành pair chủ động mà không cần thiết lập gì từ máy tính hoặc smartphone.

Module Bluetooth thu phát HC-05 được thiết kế nhỏ gọn ra chân tín hiệu giao tiếp cơ bản và nút bấm để vào chế độ AT COMMAND, mạch được thiết kế để có thể cấp nguồn và giao tiếp qua 3.3VDC hoặc 5VDC, thích hợp cho nhiều ứng dụng khác nhau: Robot Bluetooth, điều khiển thiết bị qua Bluetooth….

2.2.1 Thông số kỹ thuật Module Thu Phát Bluetooth HC-05

● Điện áp hoạt động: 3.3 ~ 5VDC

● Mức điện áp chân giao tiếp: TTL tương thích 3.3VDC và 5VDC.

● Dòng điện khi hoạt động: khi Pairing 30 mA, sau khi pairing hoạt động truyền nhận bình thường 8 mA.

● Baudrate UART có thể chọn được: 1200, 2400, 4800, 9600, 19200, 38400,

● Support profiles: Bluetooth serial port (master and slave)

● Bluetooth protocol: Bluetooth specification v2.0 + EDR

● Modulation: GFSK (Gaussian frequency shift keying)

● Rate: Asynchronous: 2.1 Mbps (max.)/160 kbps

● Security features: authentication and encryption

● Thiết lập UART mặc định: Baudrate 9600, N, 8, 1.

● Pairing code mặc định: 1234 hoặc 0000.

● Để vào chế độ AT COMMAND, bấm và giữ nút trước khi cấp nguồn, LED sẽ nháy 2s baud rate cho chế đọ AT COMMAND là 38400 Chân TX nối với chân

RX Lưu ý các lệnh AT đều là chữ in hoa.

● Cấp nguồn và không nhấn nút sẽ chạy bình thường LED sẽ nháy nhanh

● Chân EN chỉ nhận mức logic TTL 3V3 Không có chức năng chọn vào chế độ

Module điều khiển động cơ L298N

L298N là module điều khiển động cơ trong các xe DC và động cơ bước. Module có một IC điều khiển động cơ L298 và một bộ điều chỉnh điện áp 5V 78M05. Module L298N có thể điều khiển tối đa 4 động cơ DC hoặc 2 động cơ DC với khả năng điều khiển hướng và tốc độ.

Hình 7 Module điều khiển động cơ L298N

* Cấu hình sơ đồ chân L298N

Bảng 1 Cấu hình sơ đồ chân L298N

IN1 & IN2 Các chân đầu vào điều khiển hướng quay động cơ A IN3 & IN4 Các chân đầu vào điều khiển hướng quay của Động cơ B ENA Kích hoạt tín hiệu PWM cho Động cơ A

VIB Kích hoạt tín hiệu PWM cho Động cơ B

OUT1 & OUT2 Chân đầu ra cho động cơ A

OUT3 & OUT4 Chân đầu ra cho Động cơ B

5V Cấp nguồn cho mạch logic bên trong IC L298N

Động cơ servo SG90

Động cơ Servo SG90 là một loại động cơ được sử dụng rộng rãi trong các dự án lập trình Arduino Dưới đây là một số thông tin về nó:

Cấu tạo bên trong động cơ Servo SG90:

+ Động cơ DC: Tạo chuyển động quay của trục đầu ra bằng cách cấp điện áp. + Hệ thống điều khiển: Bao gồm bộ điều khiển và mạch phản hồi Bộ điều khiển nhận tín hiệu từ nguồn điều khiển (như Arduino) và điều chỉnh tín hiệu để kiểm soát chuyển động của động cơ Mạch phản hồi (potentiometer) cung cấp thông tin về vị trí hiện tại của động cơ.

+ Hệ thống giảm tốc: Động cơ Servo SG90 thường đi kèm với hệ thống giảm tốc để tăng lực xoắn và giảm tốc độ quay Hệ thống này giúp đạt độ chính xác cao hơn trong việc điều chỉnh vị trí.

+ Hoạt động của động cơ Servo SG90:

+ Nhận tín hiệu điều khiển: Tín hiệu PWM (Pulse Width Modulation) từ nguồn điều khiển (như Arduino) điều chỉnh vị trí.

+ Điều chỉnh vị trí: Bộ điều khiển so sánh tín hiệu điều khiển với vị trí hiện tại của động cơ Dựa trên sự khác biệt, bộ điều khiển điều chỉnh tín hiệu để tạo ra chuyển động quay.

+ Phản hồi vị trí: Mạch phản hồi gửi thông tin về vị trí hiện tại của động cơ cho bộ điều khiển.

Sơ đồ chân động cơ Servo SG90:

+ 5V: Chân dương cấp nguồn cho động cơ servo.

+ GND: Chân âm nối đất.

+ Control: Chân tín hiệu điều khiển để điều chỉnh vị trí của động cơ (được gửi dưới dạng xung PWM).

Động cơ motor DC 5V

* Động cơ DC 5V là loại động cơ điện một chiều sử dụng nguồn điện áp 5V để hoạt động Loại động cơ này thường được sử dụng trong các ứng dụng điện tử nhỏ gọn, yêu cầu tiêu thụ điện thấp và dễ dàng điều khiển.

- Roto: Là phần quay của động cơ, bao gồm các lõi thép dẫn điện.

- Stator: Là phần cố định của động cơ, bao gồm các cuộn dây tạo ra từ trường.

- Bộ góp: Là bộ phận giúp chuyển đổi hướng dòng điện trong roto để tạo ra chuyển động quay liên tục.

- Chổi than: Là bộ phận tiếp xúc với bộ góp để truyền dòng điện vào roto.

* Nguyên lý hoạt động: Khi cung cấp điện áp 5V cho động cơ, dòng điện sẽ chạy qua các cuộn dây ở stato, tạo ra từ trường Từ trường này tương tác với từ trường của roto, tạo ra mô-men xoắn làm roto quay Hướng quay của roto phụ thuộc vào hướng của dòng điện trong các cuộn dây stato.

- Kích thước nhỏ gọn, nhẹ nhàng.

- Dễ dàng điều khiển tốc độ và hướng quay bằng cách điều chỉnh điện áp và dòng điện.

- Tuổi thọ ngắn hơn so với các loại động cơ khác do sự mài mòn của chổi than.

- Có thể tạo ra tiếng ồn và tia lửa điện.

- Động cơ DC 5V được sử dụng rộng rãi trong các thiết bị điện tử nhỏ gọn như đồ chơi, robot, máy in, quạt, v.v.

- Cũng được sử dụng trong các ứng dụng tự động hóa và điều khiển.

* Một số lưu ý khi sử dụng động cơ DC 5V:

- Nên sử dụng nguồn điện ổn định để đảm bảo động cơ hoạt động trơn tru.

- Tránh để động cơ hoạt động quá tải trong thời gian dài.

- Vệ sinh động cơ định kỳ để loại bỏ bụi bẩn và bôi trơn các bộ phận chuyển động.

XE ĐIỀU KHIỂN

Thiết kế hệ thống điều khiển

Hình 8 Sơ đồ khối xe điều khiển

Chức năng: Cung cấp năng lượng cho toàn bộ hệ thống Robocar.

Thành phần: Pin hoặc ắc quy.

Lưu ý: Nên bổ sung thêm khối Power Management để quản lý năng lượng hiệu quả, bao gồm:

Chuyển đổi nguồn: Chuyển đổi điện áp từ pin sang điện áp phù hợp cho các khối khác.

Quản lý năng lượng: Theo dõi mức năng lượng pin, điều chỉnh mức tiêu thụ điện năng để tối ưu hóa thời gian hoạt động.

Chức năng: Xử lý dữ liệu từ các cảm biến, điều khiển động cơ, xử lý thông tin từ hệ thống định vị và giao tiếp.

Thành phần: Arduino, Raspberry Pi, hoặc các vi điều khiển khác.

Lưu ý: Vi điều khiển đóng vai trò trung tâm điều khiển, cần có khả năng xử lý đa nhiệm, quản lý bộ nhớ hiệu quả.

Chức năng: Thu thập thông tin về môi trường xung quanh và trạng thái của Robocar.

Thành phần: Cảm biến hồng ngoại (IR), cảm biến siêu âm (Ultrasonic), camera, cảm biến gia tốc (Accelerometer), cảm biến độ nghiêng (Gyroscope), v.v.

Lưu ý: Nên bổ sung thêm các loại cảm biến khác như cảm biến khoảng cách, cảm biến nhiệt độ, cảm biến ánh sáng để tăng khả năng nhận biết môi trường của Robocar.

● Động cơ và bộ điều khiển động cơ (Motor and Motor Driver):

Chức năng: Điều khiển chuyển động của Robocar.

Thành phần: Động cơ DC, động cơ servo, động cơ bước (Stepper motor), và bộ điều khiển động cơ (Motor drivers).

Lưu ý: Nên bổ sung thêm khối Motion Control để quản lý và điều khiển chuyển động của Robocar, bao gồm: Điều khiển tốc độ: Điều chỉnh tốc độ của động cơ. Điều khiển hướng: Điều khiển hướng di chuyển của Robocar. Điều khiển vị trí: Điều khiển vị trí chính xác của Robocar.

Chức năng: Giao tiếp không dây hoặc có dây để điều khiển Robocar từ xa hoặc thu thập dữ liệu.

Thành phần: Module Bluetooth, Wi-Fi, hoặc RF.

Lưu ý: Nên bổ sung thêm khối Communication System để quản lý các giao thức truyền thông, đảm bảo tính ổn định và an toàn trong quá trình giao tiếp.

Chức năng: Cấu trúc vật lý hỗ trợ tất cả các thành phần khác.

Thành phần: Khung xe bằng nhựa, kim loại hoặc vật liệu khác phù hợp với thiết kế.

Lưu ý: Nên lựa chọn vật liệu phù hợp với trọng lượng, kích thước và mục đích sử dụng của Robocar.

● Hệ thống định vị (Navigation System):

Chức năng: Xác định vị trí, hướng di chuyển và lập kế hoạch đường đi cho Robocar. Thành phần: GPS, la bàn điện tử, cảm biến quán tính, thuật toán định vị.

Lưu ý: Hệ thống định vị đóng vai trò quan trọng trong việc điều khiển tự động, cần đảm bảo độ chính xác và khả năng hoạt động ổn định.

● Hệ thống điều khiển (Control System):

Chức năng: Xử lý thông tin từ các cảm biến, đưa ra quyết định và điều khiển các bộ phận của Robocar.

Thành phần: Thuật toán điều khiển, logic điều khiển, giao diện người dùng.

Xe điều khiển từ xa (RC) hoạt động dựa trên sự kết hợp giữa hai bộ phận chính: bộ điều khiển và xe điều khiển.

 Thiết bị cầm tay, ứng dụng điện thoại: Đây là bộ phận bạn cầm trong tay để điều khiển xe và cánh tay.

 Cần điều khiển: Thường có hai cần điều khiển chính: o Cần điều khiển hướng: Dùng để điều khiển xe di chuyển tiến, lùi, trái và phải. o Cần điều khiển tốc độ: Dùng để điều khiển tốc độ di chuyển của xe.

 Nút bấm chức năng: Ngoài ra, bộ điều khiển có thể có các nút bấm chức năng khác để điều khiển các tính năng phụ của xe, như bật đèn, còi, v.v Đối với cánh tay thì là đóng, mở tay gắp, xoay đế, v.v.

 Bộ thu sóng, bluetooth điện thoại: Bộ thu sóng nhận tín hiệu từ bộ điều khiển và truyền đến bo mạch chủ của xe.

 Bo mạch chủ: Là trung tâm điều khiển của xe, nhận tín hiệu từ bộ thu sóng và điều khiển động cơ, servo, v.v.

 Động cơ: Cung cấp năng lượng cho xe di chuyển.

 Servo: Các bộ phận cơ điện nhỏ, dùng để điều khiển các bộ phận chuyển động của xe, như bánh lái, phuộc nhún, v.v.

 Bộ thu sóng: Nhận tín hiệu từ bộ điều khiển và truyền đến bo mạch chủ của xe.

 Pin: Cung cấp năng lượng cho xe hoạt động.

 Khi bạn di chuyển cần điều khiển, nút bấm trên điện: Cần điều khiển, nút bấm sẽ gửi tín hiệu điện đến bộ điều khiển

 Bộ điều khiển: Mã hóa tín hiệu từ cần điều khiển thành dạng sóng vô tuyến phù hợp Phát sóng vô tuyến đến xe điều khiển.

 Xe điều khiển: Bộ thu sóng trên xe nhận tín hiệu vô tuyến từ bộ điều khiển. Giải mã tín hiệu và truyền đến bo mạch chủ.

 Bo mạch chủ: Dựa trên tín hiệu nhận được, bo mạch chủ sẽ điều khiển động cơ, servo và các bộ phận khác để thực hiện các hành động mong muốn (di chuyển tiến, lùi, trái, phải, bật đèn, v.v.).

 Sóng AM (Amplitude Modulation): Loại sóng này có tầm hoạt động ngắn (khoảng 100m) và dễ bị nhiễu bởi các thiết bị điện tử khác.

 Sóng FM (Frequency Modulation): Loại sóng này có tầm hoạt động xa hơn(khoảng 300m) và ít bị nhiễu hơn sóng AM.

Linh kiện

Bảng 2 Linh kiện xe điều khiển

Tên linh kiện Số lượng Giá tiền (VNĐ)

Mạch điều khiển động cơ L298N 1 38.000đ

Bộ khung động cơ xe tank 1 450.000đ

Servo 5 100.000đ Đế pin 3 cells 1 15.000đ Đế pin 2 cells 1 10.000đ

Mạch Bluetooth HC-05 2 130.000đ Đèn laser 1 10.000đ

Thiết kế phần cứng

- Xe có hình dạng hộp chữ nhật để tạo không gian lớn cho các bộ phận và linh kiện bên trong.

- Thiết kế phải đảm bảo tính cơ động và linh hoạt để di chuyển và thao tác trong môi trường khác nhau.

- Sử dụng bánh xe tăng (tank tracks) để cung cấp khả năng di chuyển linh hoạt trên mọi địa hình.

- Bánh xe tăng cũng có thể cung cấp khả năng quay và xoay trên chỗ.

- Thiết kế một cần cẩu hoặc tay cầm linh hoạt có thể xoay và nâng lên xuống.

- Tích hợp cơ chế gắp chắc chắn để nắm bắt và di chuyển đồ vật một cách an toàn và ổn định.

- Cung cấp một bộ điều khiển bằng tay đơn giản nhưng hiệu quả, có thể là một bộ điều khiển từ xa hoặc một thiết bị điều khiển bằng cách sử dụng tay hoặc ngón tay.

- Bao gồm các nút điều khiển hoặc thiết bị cảm ứng để điều khiển di chuyển và hoạt động của tay gắp.

- Sử dụng pin hoặc nguồn điện có dây để cung cấp năng lượng cho xe.

- Đảm bảo rằng hệ thống nguồn điện có thể hoạt động lâu dài để đáp ứng các nhu cầu sử dụng.

- Tích hợp các cảm biến bluetooth để hỗ trợ việc điều khiển từ xa và cải thiện khả năng nhận biết môi trường xung quanh.

- Các cảm biến có thể giúp tránh các vật cản và nguy hiểm khi di chuyển hoặc thực hiện các thao tác gắp đồ vật.

- Đảm bảo rằng xe có các tính năng an toàn như cảm biến va chạm để tránh va chạm không mong muốn.

- Bảo đảm rằng tất cả các phần cơ và điện tử được thiết kế và lắp đặt một cách an toàn và ổn định.

* Mạch mô phỏng điều khiển xe Tank:

Hình 9 Sơ đồ mạch xe Tank

* Mạch mô phỏng điều khiển cánh tay:

Hình 10 Sơ đồ mạch điều khiển cánh tay 3.3.2 Lưu đồ thuật toán

Phần mềm

* Ứng dụng điều khiển: Bluetooth RC Cotroller.

* Mã nguồn: https://github.com/NTNguyen055/Robocar

* 1 vài hình ảnh code của xe điều khiển:

Hình 12 Mã nguồn xe điều khiển(Tank)

Hình 13 Mã nguồn điều khiển cánh tay

XE TỰ HÀNH

Thiết kế hệ thống điều khiển

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

Cảm biến dò line (Line Sensor): Phát hiện vị trí của đường line trên đường đua.

Cảm biến tránh chướng ngại vật (Obstacle Sensor): Phát hiện chướng ngại vật trên đường đua.

Vi điều khiển (Microcontroller): Xử lý dữ liệu từ các cảm biến, điều khiển động cơ, thực thi thuật toán dò line và tránh chướng ngại vật. Động cơ và bộ điều khiển động cơ (Motors and Motor Drivers): Điều khiển chuyển động của xe.

Nguồn điện (Power Supply): Cung cấp năng lượng cho toàn bộ hệ thống.

Quản lý năng lượng (Power Management): Quản lý mức năng lượng pin, điều chỉnh mức tiêu thụ điện năng.

Thuật toán dò line (Line Following Algorithm): Xử lý dữ liệu từ cảm biến dò line để điều khiển xe di chuyển theo đường line.

Thuật toán tránh chướng ngại vật (Obstacle Avoidance Algorithm): Xử lý dữ liệu từ cảm biến tránh chướng ngại vật để điều khiển xe tránh chướng ngại vật.

Dò line: Xe di chuyển theo đường line bằng cách sử dụng thuật toán dò line.

Phát hiện chướng ngại vật: Cảm biến tránh chướng ngại vật phát hiện chướng ngại vật trên đường đua.

Tránh chướng ngại vật: Khi phát hiện chướng ngại vật, xe sẽ tạm dừng dò line và thực thi thuật toán tránh chướng ngại vật Thuật toán này sẽ điều khiển xe di chuyển theo hướng khác để tránh chướng ngại vật.

Tiếp tục dò line: Sau khi tránh chướng ngại vật, xe sẽ tiếp tục dò line để di chuyển theo đường đua.

Cảm biến đường (line sensors): Xe cần được trang bị cảm biến line để có thể nhận biết đường đi dựa trên màu sắc Cảm biến này có thể là các cảm biến quang điện hoặc cảm biến hồng ngoại có khả năng phát hiện màu sắc.

Bộ xử lý (processor): Xe cần có một bộ xử lý mạnh mẽ để xử lý dữ liệu từ các cảm biến và ra quyết định về hướng di chuyển tiếp theo của xe.

Hệ thống điều khiển (control system): Hệ thống điều khiển của xe cần được thiết kế để điều chỉnh tốc độ và hướng đi của xe dựa trên dữ liệu từ cảm biến line.

Nguồn năng lượng (power source): Xe cần được cung cấp năng lượng từ một nguồn pin hoặc nguồn điện khác để có thể hoạt động trong thời gian dài.

Cấu trúc vật liệu (material structure): Cần xem xét cấu trúc vật liệu của xe để đảm bảo đủ chắc chắn và nhẹ nhàng để di chuyển một cách linh hoạt trên mặt đường.

Hệ thống điều hướng (navigation system): Nếu cần thiết, bạn có thể tích hợp hệ thống điều hướng GPS hoặc cảm biến khoảng cách để giúp xe điều hướng tránh các vật cản trên đường.

Giao diện người dùng (user interface): Nếu cần thiết, có thể tích hợp giao diện người dùng để cài đặt các thông số hoạt động của xe hoặc hiển thị thông tin về hành trình.

Hệ thống an toàn (safety features): Xe cần được trang bị các tính năng an toàn như cảm biến va chạm để tránh va đập với các vật thể hoặc người khác trên đường.

Phần mềm và thuật toán (software and algorithms): Đặc biệt quan trọng là phần mềm và thuật toán được sử dụng để xử lý dữ liệu từ các cảm biến và đưa ra quyết định phản ứng của xe.

Kiểm tra và hiệu chỉnh (testing and calibration): Sau khi thiết kế, cần thực hiện các bước kiểm tra và hiệu chỉnh để đảm bảo hoạt động chính xác của xe trên các loại đường và điều kiện khác nhau.

Là một loại robot được thiết kế để di chuyển tự động theo một đường kẻ đã được định sẵn Loại robot này thường được sử dụng trong các ứng dụng như sản xuất, kho bãi và vận chuyển.

Xe tự hành sử dụng module dò line 5 kênh để xác định vị trí của chính nó trên đường bằng cách quét và phân tích dữ liệu từ 5 cảm biến dò line.

Các cảm biến này sẽ phát hiện các đường kẻ sơn trên mặt đường và tạo ra tín hiệu điện tương ứng.

Bằng cách phân tích các tín hiệu này, module có thể xác định được vị trí của xe trên đường và điều khiển hướng di chuyển của xe để duy trì đúng làn đường.

● Nguyên lý hoạt động cơ bản của xe dò line robot bao gồm:

Phát hiện đường kẻ: Xe dò line robot sử dụng các cảm biến để phát hiện đường kẻ Các loại cảm biến phổ biến bao gồm:

Cảm biến hồng ngoại: Cảm biến này phát ra tia hồng ngoại và nhận diện sự khác biệt về độ phản xạ giữa đường kẻ và nền.

Xử lý tín hiệu: Tín hiệu từ các cảm biến được gửi đến bộ xử lý trung tâm

(CPU) của robot CPU sẽ xử lý tín hiệu để xác định vị trí của đường kẻ và đưa ra quyết định điều khiển robot. Điều khiển robot: CPU sẽ gửi tín hiệu điều khiển đến các động cơ của robot để điều chỉnh hướng và tốc độ di chuyển của robot.

● Dưới đây là sơ đồ mô tả nguyên lý hoạt động của xe dò line robot:

Cảm biến => Bộ xử lý trung tâm (CPU) => Động cơ

Linh kiện

Bảng 3 Link kiện xe tự hành Tên linh kiện Số lượng Giá tiền dự kiến (VNĐ)

Mạch điều khiển động cơ L298N 1 38.000đ

Bộ khung động cơ 2 bánh 1 70.000đ

Cảm biến hồng ngoại TCRT 5000 1 45.000đ Đế pin 2 cells 1 10.000đ

Thiết kế phần cứng

Hình 15 Sơ đồ mạch xe tự hành

Mã nguồn

* Link code Github của xe dò line: https://github.com/NTNguyen055/Robocar

* 1 vài hình ảnh code của xe dò line:

Hình 17 Mã nguồn xe tự hành

KẾT LUẬN & HƯỚNG PHÁT TRIỂN

Trong quá trình nghiên cứu, học tập và thực hành tập làm dự án Robocar thì em nhận thấy rằng việc thiết kế xe điều khiển, xe dò line hiệu quả và thu hút người dùng đòi hỏi sự kết hợp hoàn hảo giữa nhiều chức năng khá phức tạp, linh hoạt và dễ sử dụng cùng với việc nhận tín hiệu và điều khiển một cách nhanh chóng, chính xác. Đồng thời, việc tối ưu hóa mã nguồn, cấu tạo để tối đa hóa trải nghiệm người dùng cũng đóng vai trò quan trọng trong việc thu hút và giữ chân người dùng

Nhận thức được các vấn đề trên, do vậy em đã cố gắng hoàn thiện sản phẩm có thể đáp ứng được đẩy đủ các yêu cầu của dự án Nhưng bên cạnh đó, việc chưa có nhiều kinh nghiệm nên dự án Robocar còn có một số chức năng chưa được hoàn thiện Kết cấu nhìn chưa được thu hút, còn sơ xài và còn nhiều vấn đề thiếu xót Với mong muốn nhận được nhiều nhận xét, góp ý của thầy cô giảng viên để em có thể cải thiện những kĩ năng cũng như củng cố các kiến thức để có thể hoàn thiện sản phẩm sau này được tốt hơn và chất lượng hơn.

- Tập trung cập nhật các tính năng tốt hơn, tối ưu các tính năng đã được xây dựng.

- Đảm bảo bộ khung chắc chắn, tốc độ nhanh ổn định, điều khiển linh hoạt.

- Cải thiện tốc độ nhận tín hiệu, ứng dụng điều khiển mới mẻ với nhiều tính năng.

Ngày đăng: 14/06/2024, 12:23

HÌNH ẢNH LIÊN QUAN

Bảng 1. Cấu hình sơ đồ chân L298N - Báo cáo Vi Điều Khiển
Bảng 1. Cấu hình sơ đồ chân L298N (Trang 21)
Hình 8. Sơ đồ khối xe điều khiển - Báo cáo Vi Điều Khiển
i ̀nh 8. Sơ đồ khối xe điều khiển (Trang 25)
Hình 9. Sơ đồ mạch xe Tank - Báo cáo Vi Điều Khiển
i ̀nh 9. Sơ đồ mạch xe Tank (Trang 31)
Hình 10. Sơ đồ mạch điều khiển cánh tay 3.3.2. Lưu đồ thuật toán - Báo cáo Vi Điều Khiển
i ̀nh 10. Sơ đồ mạch điều khiển cánh tay 3.3.2. Lưu đồ thuật toán (Trang 32)
Bảng 3. Link kiện xe tự hành Tên linh kiện Số lượng Giá tiền dự kiến (VNĐ) - Báo cáo Vi Điều Khiển
Bảng 3. Link kiện xe tự hành Tên linh kiện Số lượng Giá tiền dự kiến (VNĐ) (Trang 38)
4.3.1. Sơ đồ mạch - Báo cáo Vi Điều Khiển
4.3.1. Sơ đồ mạch (Trang 39)
w