Giới thiệu dự án

Trong kỷ nguyên công nghiệp 4.0 và chuyển đổi số, công nghệ tự hành (Autonomous Systems) và phương tiện tự hành dẫn đường tự động (Automated Guided Vehicles - AGV) đóng vai trò then chốt trong chuỗi cung ứng logistics, dây chuyền sản xuất thông minh và giám sát công nghiệp. Theo thống kê từ các tổ chức nghiên cứu thị trường tự động hóa quốc tế, nhu cầu triển khai AGV và robot tự hành trong công nghiệp tăng trưởng kép (CAGR) trên 15.8% mỗi năm. Tuy nhiên, các giải pháp vi điều khiển truyền thống (như 8051, PIC hay AVR) khi ứng dụng trong xử lý đa nhiệm điều khiển xe tự hành thường gặp giới hạn về năng lực tính toán, dung lượng bộ nhớ và khả năng mở rộng thuật toán thông minh trong tương lai.

Đồ án tốt nghiệp "Sử dụng kit Raspberry chế tạo xe tự vận hành" được thực hiện bởi sinh viên Di Trọng Khoa và Đỗ Văn Phú (Khoa Điện - Điện tử, Trường Đại học Sư phạm Kỹ thuật TP.HCM, dưới sự hướng dẫn của ThS. Nguyễn Duy Thảo) nhằm giải quyết bài toán cốt lõi: phát triển nền tảng xe tự hành thông minh có khả năng di chuyển độc lập, định hướng tránh vật cản không chạm và theo dõi chuyển động đối tượng trong không gian làm việc thực tế chưa được lập bản đồ trước.

                  +-----------------------------------+
                  |   Bộ nguồn độc lập (5V & 9V DC)   |
                  +-----------------+-----------------+
                                    |
+---------------------+   +---------v-----------+   +----------------------+
| Khối Cảm biến:      |   |  Khối Điều khiển    |   | Khối Chấp hành:      |
| - Siêu âm SRF05     +-->|  Trung tâm          +-->| - Servo SG90 (Quét)  |
| - 2x Hồng ngoại HN2 |   |  Raspberry Pi B+    |   | - Driver L9110 + DC  |
+---------------------+   |  (BCM2835 / Linux)  |   +----------------------+
                          +---------^-----------+
+---------------------+             |               +----------------------+
| Khối Nút nhấn:      +-------------+               | Khối Hiển thị:       |
| - MODE, OK, INC/DEC +---------------------------->| - LCD Nokia 5110     |
+---------------------+                             |   (Chuẩn SPI)        |
                                                    +----------------------+

Mục tiêu của dự án:

  1. Nghiên cứu kiến trúc phần cứng máy tính đơn bo (Single Board Computer - SBC) Raspberry Pi Model B+, cấu trúc hệ điều hành nhúng Linux (Raspbian) và kỹ thuật quản lý GPIO.
  2. Thiết kế giải thuật định lượng khoảng cách bằng sóng siêu âm qua module SRF05 với độ chính xác cao và thời gian trễ tối thiểu.
  3. Tích hợp cơ cấu quét 3 hướng (Trái $0^\circ$ - Thẳng $90^\circ$ - Phải $180^\circ$) sử dụng động cơ Micro Servo TowerPro SG90 để thu thập dữ liệu không gian 3 chiều trước mặt xe.
  4. Lập trình hệ thống điều khiển đa chế độ (Chế độ tự hành tránh vật cản và Chế độ theo dõi đối tượng di động qua cảm biến hồng ngoại HN2) bằng ngôn ngữ Python.
  5. Thiết kế khối giao tiếp hiển thị trực quan thông số vận hành và cấu hình tốc độ động cơ qua màn hình Graphic LCD Nokia 5110 (PCD8544) giao tiếp SPI cùng hệ thống nút bấm tương tác trực tiếp.

Phạm vi và giới hạn đề tài:

  • Phạm vi hoạt động: Địa hình bề mặt phẳng, ít dốc, trong nhà hoặc môi trường thí nghiệm công nghiệp quy mô nhỏ.
  • Đặc tính vật cản: Vật cản cứng, chiều cao tối thiểu $\ge 15\text{ cm}$, không có bề mặt hấp thụ hoặc tán xạ làm triệt tiêu sóng siêu âm $40\text{ kHz}$.
  • Khoảng cách phát hiện: Vùng an toàn kích hoạt dừng và chuyển hướng tránh vật cản là $d \le 20\text{ cm}$; khoảng cách bám đuôi đối tượng ở chế độ theo dõi là $d \approx 7\text{ cm}$.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Các giải pháp xe tự hành tự chế trên thị trường học thuật và công nghiệp nhẹ hiện nay chủ yếu được phân loại theo nền tảng điều khiển vi xử lý:

Tiêu chí so sánh Hệ thống Vi điều khiển 8-bit (8051 / PIC16F) Hệ thống Nền tảng Arduino Uno (ATmega328P) Hệ thống Nền tảng Đồ án (Raspberry Pi Model B+)
Tốc độ xung nhịp CPU 11.0592 MHz - 20 MHz 16 MHz 700 MHz (Broadcom BCM2835)
Bộ nhớ RAM 128 Bytes - 1 KB 2 KB SRAM 512 MB SDRAM (Chia sẻ GPU)
Hệ điều hành Bare-metal (Không OS) Bare-metal / FreeRTOS đơn giản Raspbian Linux OS (Đa luồng, Preemptive)
Khả năng mở rộng ngoại vi Hạn chế, cần mạch nạp ngoài Trung bình (Shield UART/I2C/SPI) Rất cao (4x USB 2.0, Camera CSI, Ethernet, SPI, I2C)
Ngôn ngữ phát triển Assembly, Embedded C C/C++ (Arduino framework) Python (Rộng mở cho AI/Computer Vision)
Nhược điểm lớn nhất Khó nâng cấp thuật toán thông minh Xử lý đa tác vụ nặng kém hiệu quả Tiêu thụ dòng cao hơn, cần bảo vệ nguồn GPIO

Phân loại yêu cầu hệ thống theo mô hình MoSCoW:

  • Must have (Bắt buộc): Nhận diện vật cản $< 20\text{ cm}$ bằng cảm biến siêu âm; cơ cấu servo quét tìm hướng đi thông thoáng; điều khiển 2 động cơ DC độc lập qua module cầu H; dừng khẩn cấp khi đường bị chặn 3 hướng.
  • Should have (Nên có): Chế độ xe theo dõi (bám đối tượng) bằng 2 cảm biến hồng ngoại 2 bên; hiển thị menu trạng thái và tốc độ qua màn hình LCD Nokia 5110.
  • Could have (Có thể có): Nút bấm hiệu chỉnh tốc độ PWM và chuyển đổi mode trực tiếp; kết nối quản lý từ xa qua SSH trên mạng Wi-Fi/LAN.
  • Won't have (Chưa thực hiện): Điều hướng theo bản đồ SLAM bằng LiDAR; nhận diện hình ảnh qua Camera OpenCV (dành cho hướng phát triển tiếp theo).

Thiết kế hệ thống

Danh mục công nghệ và phiên bản phần cứng/phần mềm:

  • Bộ điều khiển trung tâm: Raspberry Pi Model B+ (SoC Broadcom BCM2835, ARM1176JZF-S, xung nhịp $700\text{ MHz}$, $512\text{ MB}$ RAM).
  • Hệ điều hành: Raspbian OS Wheezy/Jessie kernel 4.x (Linux nhúng).
  • Ngôn ngữ và Thư viện: Python 2.7 / 3.x, RPi.GPIO library (quản lý chân I/O và điều xung PWM mềm), thư viện driver đồ họa PCD8544.
  • Cảm biến khoảng cách: Cảm biến siêu âm SRF05 (Tần số $40\text{ kHz}$, phạm vi $2\text{ cm} - 400\text{ cm}$).
  • Cảm biến tiệm cận: 02 Module cảm biến hồng ngoại HN2 (Khoảng cách nhận biết $2 - 60\text{ cm}$, tích hợp bộ so sánh LM393).
  • Mạch điều khiển công suất động cơ: Module L9110 Dual Motor Driver (Điện áp làm việc $2.5\text{ V} - 12\text{ V}$, dòng liên tục $800\text{ mA/kênh}$).
  • Động cơ chấp hành: 02 Động cơ DC giảm tốc $12\text{ V}$ (Tỉ số truyền hộp số $64:1$, tốc độ trục ra $120\text{ RPM}$, momen xoắn $1.72\text{ Nm}$) và 01 Động cơ Micro Servo TowerPro SG90 ($9\text{g}$, góc quét $180^\circ$, lực kéo $1.8\text{ kg}\cdot\text{cm}$).
  • Module hiển thị: Graphic LCD Nokia 5110 (Độ phân giải $84 \times 48\text{ pixels}$, bộ điều khiển tích hợp PCD8544, giao tiếp SPI).

Sơ đồ phân bố chân GPIO trên Raspberry Pi Model B+:

Chân ngoại vi Chân vật lý (Pin Number) Ký hiệu GPIO (BCM) Chức năng kỹ thuật
SRF05 Trigger Pin 38 GPIO 20 Xuất xung kích phát sóng siêu âm ($10\ \mu\text{s}$)
SRF05 Echo Pin 40 GPIO 21 Nhận xung phản hồi (Thời gian mức cao tỉ lệ khoảng cách)
Servo PWM Signal Pin 22 GPIO 25 Xuất xung điều khiển góc quét Servo ($50\text{ Hz}$, $0.5 - 2.5\text{ ms}$)
Driver L9110 Motor A Pin 13, Pin 11 GPIO 27, GPIO 17 Điều khiển chiều quay và tốc độ PWM Bánh Trái
Driver L9110 Motor B Pin 7, Pin 12 GPIO 04, GPIO 18 Điều khiển chiều quay và tốc độ PWM Bánh Phải
IR Sensor Left / Right Pin 35, Pin 37 GPIO 19, GPIO 26 Đọc tín hiệu logic phát hiện vật cản hông trái/phải
LCD Nokia 5110 (SPI) Pin 23, 19, 16, 24, 18 GPIO 11, 10, 23, 8, 24 CLK, DIN, D/C (Data/Cmd), CE (Chip Enable), RST
Hệ thống Nút nhấn Pin 33, 8, 21, 29 GPIO 13, 14, 9, 5 Phím MODE, phím OK, phím TĂNG, phím GIẢM

Thiết kế an toàn và tương thích nguồn điện:

Hệ thống sử dụng cơ chế cách ly nguồn 2 tầng (Dual Isolated Power Supply):

  1. Nguồn điều khiển logic (5V/2A DC): Sử dụng pin sạc dự phòng cấp qua cổng Micro USB nuôi bo mạch Raspberry Pi B+, cảm biến SRF05, màn hình LCD và động cơ Servo SG90 (dòng tiêu thụ đỉnh $\approx 1.2\text{ A}$).
  2. Nguồn tải công suất động cơ (9V DC): Sử dụng pack 6 pin AA $1.5\text{ V}$ nối tiếp cấp riêng cho mạch L9110 và 2 động cơ DC. Thiết kế này triệt tiêu hoàn toàn hiện tượng sụt áp đột ngột và chống xung nhiễu điện từ (Back-EMF) do chổi than động cơ đánh lửa ngược về bo xử lý trung tâm, đảm bảo Raspberry Pi không bị khởi động lại ngoài ý muốn (brown-out reset).

Implementation và kết quả

Development process & Core Algorithms

Quá trình phát triển hệ thống được tổ chức thành 5 module giải thuật độc lập nhưng liên kết chặt chẽ qua luồng điều khiển của chương trình chính.

                           +-------------------+
                           |   Khởi tạo hệ     |
                           |   thống & GPIO    |
                           +---------+---------+
                                     |
                                     v
                       +-------------+-------------+
                       |    Quét nút nhấn MODE     |
                       +-------------+-------------+
                                     |
                    +----------------+----------------+
                    |                                 |
           [MODE = 1: Tự hành]               [MODE = 2: Bám đuôi]
                    v                                 v
     +--------------+--------------+   +--------------+--------------+
     | Đo khoảng cách trước (SRF05)|   | Đọc 2 cảm biến hồng ngoại   |
     +--------------+--------------+   +--------------+--------------+
                    |                                 |
             [d < 20cm ?]                      [Xử lý logic theo]
          /               \                    [vị trí vật cản  ]
       (Yes)              (No)                        |
        /                    \                        v
+------v-----+          +-----v------+         +------+------+
| Dừng xe    |          | Chạy thẳng |         | Điều hướng  |
| Quét Servo |          +------------+         | bám đối     |
| L: 0°, R:180°|                               | tượng       |
| Chọn hướng |                                 +-------------+
| thoáng nhất|
+------------+

1. Thuật toán đo khoảng cách bằng Cảm biến Siêu âm SRF05:

Cảm biến hoạt động bằng cách nhận một xung kích $10\ \mu\text{s}$ trên chân Trigger, sau đó phát 8 chu kỳ sóng $40\text{ kHz}$. Thời gian chân Echo duy trì ở mức cao ($t_{echo} = t_{end} - t_{start}$) chính là thời gian sóng truyền đi và dội về. Với vận tốc âm thanh trong không khí là $v = 34300\text{ cm/s}$ ở $20^\circ\text{C}$, khoảng cách $d$ được tính theo công thức:

$$d = \frac{(t_{end} - t_{start}) \times 34300}{2}\ (\text{cm})$$

import RPi.GPIO as GPIO
import time

TRIG_PIN = 20
ECHO_PIN = 21

def setup_ultrasonic():
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(TRIG_PIN, GPIO.OUT)
    GPIO.setup(ECHO_PIN, GPIO.IN)
    GPIO.output(TRIG_PIN, False)
    time.sleep(0.05)  # Ổn định cảm biến

def measure_distance():
    # Phát xung Trigger 10 micro-giây
    GPIO.output(TRIG_PIN, True)
    time.sleep(0.00001)
    GPIO.output(TRIG_PIN, False)

    start_time = time.time()
    stop_time = time.time()

    # Bắt cạnh lên của Echo
    while GPIO.input(ECHO_PIN) == 0:
        start_time = time.time()

    # Bắt cạnh xuống của Echo
    while GPIO.input(ECHO_PIN) == 1:
        stop_time = time.time()

    # Tính toán thời gian bay và chuyển đổi sang cm
    elapsed_time = stop_time - start_time
    distance = (elapsed_time * 34300) / 2
    return round(distance, 2)

2. Thuật toán quét môi trường và ra quyết định chuyển hướng thông minh:

Khi phát hiện khoảng cách thẳng $d_{straight} \le 20\text{ cm}$, hệ thống kích hoạt hàm phanh xe tức thời, sau đó xoay Servo SG90 sang trái $0^\circ$ và sang phải $180^\circ$ để thu thập $d_{left}$ và $d_{right}$.

SERVO_PIN = 25
GPIO.setup(SERVO_PIN, GPIO.OUT)
servo_pwm = GPIO.PWM(SERVO_PIN, 50)  # Tần số 50Hz (Chu kỳ 20ms)
servo_pwm.start(7.5)                 # Góc 90 độ (Chính giữa)

def scan_surroundings():
    # Xoay servo sang Trái (0 độ)
    servo_pwm.ChangeDutyCycle(2.5)
    time.sleep(0.4)
    dist_left = measure_distance()

    # Xoay servo sang Phải (180 độ)
    servo_pwm.ChangeDutyCycle(12.5)
    time.sleep(0.5)
    dist_right = measure_distance()

    # Trả servo về vị trí Thẳng (90 độ)
    servo_pwm.ChangeDutyCycle(7.5)
    time.sleep(0.3)

    return dist_left, dist_right

def autonomous_navigation_cycle():
    dist_center = measure_distance()
    if dist_center > 20.0:
        motor_forward(speed=70)
    else:
        motor_stop()
        time.sleep(0.1)
        d_left, d_right = scan_surroundings()
        
        if d_left <= 20.0 and d_right <= 20.0:
            motor_backward(speed=60)
            time.sleep(0.5)
            motor_turn_left(speed=70)
            time.sleep(0.6)
        elif d_left > d_right:
            motor_turn_left(speed=70)
            time.sleep(0.4)
        else:
            motor_turn_right(speed=70)
            time.sleep(0.4)

Testing và validation

Quá trình kiểm thử thực tế được thực hiện qua 100 chu kỳ chạy thử nghiệm trên sa bàn có các loại chướng ngại vật dạng hộp carton, vách tường gỗ và vật thể trụ tròn.

Tình huống kiểm thử (Test Scenario) Số lần thử nghiệm Số lần thành công Tỷ lệ chính xác (%) Thời gian phản hồi trung bình
Phát hiện vật cản thẳng diện rộng ($>15\text{ cm}$) 30 30 100.0% $28.4\text{ ms}$
Phát hiện góc tường và vật cản hẹp ($<5\text{ cm}$) 20 18 90.0% $32.1\text{ ms}$
Quét tìm hướng trái/phải và quẹo chính xác 25 24 96.0% $420.0\text{ ms}$ (Bao gồm xoay servo)
Lùi xe thoát hiểm khi gặp hẻm cụt cả 3 hướng 15 14 93.3% $510.0\text{ ms}$
Chế độ bám đuôi đối tượng di động ($v \le 0.3\text{ m/s}$) 10 9 90.0% $45.0\text{ ms}$

Đánh giá hiệu năng hoạt động:

  • Độ trễ xử lý logic (Response Latency): Hệ thống trên Raspberry Pi xử lý vòng lặp điều khiển chỉ mất $\approx 12 - 35\text{ ms}$, hoàn toàn đáp ứng thời gian thực cho tốc độ di chuyển của xe ($0.4 - 0.8\text{ m/s}$).
  • Mức tiêu thụ tài nguyên: CPU load trung bình của Raspbian khi chạy script Python đạt mức $8.5% - 14.2%$, dung lượng RAM tiêu thụ chiếm $42\text{ MB} / 512\text{ MB}$ ($<10%$), cho thấy tiềm năng dự phòng tài nguyên rất lớn để tích hợp thuật toán xử lý ảnh.

Đổi mới và đóng góp

  1. Kiến trúc điều khiển trên nền tảng Linux nhúng: Khác biệt hoàn toàn với các giải pháp vi điều khiển truyền thống chạy bare-metal đơn luồng, việc ứng dụng Raspberry Pi cho phép hệ thống vận hành đa tác vụ (Multitasking), quản lý kết nối mạng song song với việc điều khiển phần cứng.
  2. Cơ chế phân ly nguồn điện thông minh: Đã giải quyết triệt để lỗi xung ngược từ cảm ứng động cơ sang bo mạch điện tử nhạy cảm, giảm thiểu hiện tượng treo vi xử lý xuống mức $0%$.
  3. Cơ cấu cảm biến chủ động quét 3 hướng: Thay vì phải lắp đặt 3 cảm biến siêu âm cố định tốn kém chân I/O và dễ gây hiện tượng giao thoa sóng âm (Cross-talk), việc sử dụng 1 cảm biến SRF05 gắn trên đỉnh Motor Servo SG90 giúp tiết kiệm $66.7%$ chi phí phần cứng cảm biến siêu âm mà vẫn đảm bảo tầm nhìn quét $180^\circ$.
  4. Tích hợp giao diện hiển thị đồ họa PCD8544 trực tiếp: Hiển thị thời gian thực khoảng cách đo được, chế độ hoạt động hiện tại (Tự hành / Theo dõi) và cho phép can thiệp tinh chỉnh Duty Cycle của động cơ mà không cần nạp lại mã nguồn.

Ứng dụng thực tế và triển khai

+-------------------------------------------------------------------------+
|                  HỆ SINH THÁI ỨNG DỤNG THỰC TẾ                          |
+-------------------------------------------------------------------------+
| [Nhà kho Logistics]    --> Vận chuyển kiện hàng nhẹ tự động trong line  |
| [Bệnh viện / Khử khuẩn]--> Gắn bình xịt khử trùng di chuyển tự động     |
| [Giám sát Công nghiệp] --> Tuần tra khu vực nguy hiểm, truyền tin Wi-Fi |
| [Giáo dục Đào tạo]     --> Kit học tập Robotics & IoT mã nguồn mở       |
+-------------------------------------------------------------------------+

Kịch bản ứng dụng thực tế:

  • Xe tự hành vận chuyển trong nhà kho thông minh (Smart Warehousing): Ứng dụng khung gầm và giải thuật tránh vật cản để vận chuyển hàng hóa nội bộ trong kho bãi mà không cần dán đường ray từ tính cố định dưới sàn.
  • Robot tuần tra và giám sát môi trường: Nhờ nền tảng Raspberry Pi có sẵn cổng kết nối camera CSI và USB, xe có thể lắp thêm camera để truyền video streaming thời gian thực qua mạng Wi-Fi về trung tâm chỉ huy.

Phân tích Chi phí - Lợi ích (Cost-Benefit Analysis):

  • Chi phí vật tư chế tạo: Tổng chi phí hoàn thiện mô hình ước tính $\approx 1.200.000 - 1.500.000\text{ VNĐ}$ (Bao gồm Raspberry Pi, động cơ, khung gầm mica, cảm biến và pin).
  • Hiệu quả kinh tế: So với các robot giáo dục hoặc module AGV công nghiệp nhập khẩu có giá thành hàng chục triệu đồng, mô hình này cung cấp giải pháp tự chủ công nghệ với giá chỉ bằng $10 - 15%$, dễ dàng thay thế linh kiện tại thị trường Việt Nam.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại:

  • Vật cản đặc biệt: Cảm biến siêu âm gặp khó khăn khi phát hiện các vật liệu có tính hấp thụ âm cao (như mút xốp, rèm vải dày) hoặc bề mặt nghiêng góc $>45^\circ$ làm chùm sóng phản xạ đi hướng khác.
  • Bề mặt di chuyển: Xe chưa tích hợp hệ thống giảm xóc cơ khí độc lập nên chỉ hoạt động tối ưu trên mặt sàn phẳng.
  • Độ mượt điều khiển (Soft PWM): Việc tạo xung PWM mềm thông qua thư viện RPi.GPIO trên hệ điều hành Linux non-realtime đôi khi xuất hiện độ giật nhẹ ở góc xoay Servo khi CPU bị quá tải tác vụ nền.

Hướng phát triển trong tương lai:

  1. Nâng cấp Xử lý ảnh số (Computer Vision): Tích hợp Raspberry Pi Camera Module v2 kết hợp thư viện OpenCV để nhận diện biển báo giao thông, vạch kẻ đường (Lane Detection) và nhận diện chướng ngại vật bằng thuật toán Deep Learning (MobileNet SSD / YOLO-Tiny).
  2. Xây dựng bản đồ 2D/3D (SLAM): Bổ sung cảm biến Laser Lidar 2D (như RPLidar A1) và cảm biến quán tính IMU (MPU6050) để chạy hệ điều hành robot ROS (Robot Operating System), cho phép xe tự vẽ bản đồ nhà xưởng và tìm đường đi ngắn nhất theo thuật toán $A^*$ hoặc Dijkstra.
  3. Điều khiển giám sát qua Web Server / IoT: Xây dựng Web Dashboard trên nền tảng Flask/NodeJS để người quản trị có thể giám sát trạng thái xe, tọa độ và điều khiển từ xa qua giao thức WebSockets hoặc MQTT.

Đối tượng hưởng lợi

  • Sinh viên ngành Kỹ thuật Điện tử - Viễn thông, Tự động hóa, Cơ điện tử: Cung cấp tài liệu tham khảo toàn diện, từ sơ đồ kết nối chân phần cứng, giải thuật xử lý ngắt, điều khiển động cơ đến lập trình Python trên Linux.
  • Kỹ sư và Lập trình viên Embedded / IoT: Nắm bắt kỹ thuật giao tiếp các module ngoại vi chuẩn SPI (Nokia 5110), PWM, cảm biến siêu âm trên môi trường SoC hiệu năng cao.
  • Các doanh nghiệp vừa và nhỏ (SMEs): Cơ sở nền tảng để nghiên cứu và tùy biến thành các giải pháp robot vận chuyển tự động AGV cỡ nhỏ phục vụ sản xuất.

Câu hỏi thường gặp

1. Tại sao đề tài sử dụng Raspberry Pi thay vì Arduino Uno để chế tạo xe tránh vật cản?

Arduino rất tốt cho các tác vụ điều khiển I/O đơn giản nhưng hạn chế về dung lượng bộ nhớ ($2\text{ KB}$ SRAM) và tốc độ xung nhịp ($16\text{ MHz}$). Việc chọn Raspberry Pi B+ ($700\text{ MHz}$, $512\text{ MB}$ RAM, chạy hệ điều hành Linux) tạo bước đệm hoàn hảo để mở rộng hệ thống sang xử lý ảnh bằng Camera, truyền dữ liệu qua Internet (IoT) và chạy các thuật toán AI phức tạp mà không cần thay đổi phần cứng trung tâm.

2. Làm thế nào để khắc phục hiện tượng nhiễu nguồn làm khởi động lại Raspberry Pi khi động cơ quay?

Hệ thống bắt buộc phải sử dụng 2 nguồn pin độc lập: 1 nguồn $5\text{ V}/2\text{ A}$ chất lượng cao cấp riêng cho Raspberry Pi, cảm biến và servo; 1 nguồn $9\text{ V}$ (pack pin AA) cấp cho mạch L9110 và 2 động cơ DC. Đồng thời, nối chung cực âm (Common GND) giữa hai khối nguồn để đảm bảo mức điện áp tham chiếu logic đồng nhất.

3. Cảm biến siêu âm SRF05 đo khoảng cách có bị ảnh hưởng bởi ánh sáng môi trường không?

Không. SRF05 sử dụng sóng cơ học (sóng âm tần số $40\text{ kHz}$), do đó hoàn toàn miễn nhiễm với ánh sáng mạnh, bóng tối hay khói bụi. Đây là ưu điểm vượt trội của cảm biến siêu âm so với các loại cảm biến quang hay hồng ngoại trong môi trường ánh sáng phức tạp.

4. Màn hình LCD Nokia 5110 giao tiếp với Raspberry Pi theo chuẩn gì và có ưu điểm gì?

Nokia 5110 (IC điều khiển PCD8544) giao tiếp thông qua chuẩn bus nối tiếp SPI đồng bộ (gồm các đường CLK, DIN, D/C, CE, RST). Màn hình này hiển thị được cả ký tự chữ và đồ họa bitmap ($84 \times 48\text{ pixels}$), tiêu thụ điện năng cực thấp ($<1\text{ mA}$) và hoạt động tốt ở mức điện áp logic $3.3\text{ V}$ chuẩn của Raspberry Pi.

5. Chi phí ước tính và thời gian cần thiết để tự chế tạo một mô hình xe tương tự?

Tổng chi phí linh kiện dao động từ $1.200.000\text{ VNĐ}$ đến $1.500.000\text{ VNĐ}$. Một sinh viên hoặc người tự học có kiến thức cơ bản về mạch điện tử và Python có thể hoàn thành việc lắp ráp phần cứng và nạp chương trình chạy thử nghiệm trong vòng từ 1 đến 2 tuần làm việc.


Kết luận

Đồ án tốt nghiệp "Sử dụng kit Raspberry chế tạo xe tự vận hành" đã hoàn thành xuất sắc các mục tiêu đề ra: thiết kế thành công mô hình phần cứng cơ cấu xe 2 bánh chủ động gọn nhẹ; làm chủ kiến trúc nhúng Raspberry Pi Model B+; phát triển giải thuật đo khoảng cách và tránh chướng ngại vật đa hướng thông minh đạt độ chính xác trên $95%$; xây dựng giao diện tương tác trực quan với màn hình LCD Nokia 5110 và bàn phím chức năng.

Công trình không chỉ mang giá trị học thuật sâu sắc trong việc ứng dụng Single Board Computer vào lĩnh vực Robotics mà còn mở ra tiềm năng ứng dụng thực tiễn cao trong chế tạo các phương tiện tự hành AGV, robot khử khuẩn và xe tuần tra công nghiệp thông minh phục vụ đời sống xã hội.