Bối cảnh và vấn đề nghiên cứu

Sự phát triển của công nghệ vi mạch tích hợp khả trình đặt ra nhiều cơ hội ứng dụng trong lĩnh vực sản xuất chế tạo, tự động hóa và các hệ thống điều khiển hiện đại. Khác với các bộ vi điều khiển truyền thống hoạt động theo cơ chế tuần tự, vi mạch mảng phần tử logic khả trình (FPGA - Field-Programmable Gate Array) sở hữu cấu trúc xử lý song song với mật độ logic cao và tốc độ làm việc vượt trội, cho phép đáp ứng các bài toán điều khiển thời gian thực phức tạp. Đồ án tốt nghiệp "Tìm hiểu về công nghệ phần cứng FPGA và ứng dụng xây dựng bộ điều khiển cho rô bốt tránh vật cản" được thực hiện bởi sinh viên Lê Văn Tú, lớp Cơ điện tử 02 – K63, chuyên ngành Hệ thống sản xuất tự động, Trường Cơ khí – Đại học Bách khoa Hà Nội, dưới sự hướng dẫn của TS. Dương Văn Lạc. Nghiên cứu được triển khai trong thời gian từ ngày 08/10/2022 đến ngày 08/03/2023.

Mục tiêu và nhiệm vụ nghiên cứu của đồ án tập trung vào các nội dung sau:

  1. Tiếp cận và làm chủ lý thuyết về công nghệ phần cứng vi mạch khả trình FPGA, cấu trúc phần cứng và các ứng dụng điển hình của FPGA trong kỹ thuật.
  2. Nắm vững phương pháp mô tả phần cứng thông qua ngôn ngữ VHDL và quy trình thiết kế, biên dịch, mô phỏng trên phần mềm Quartus II.
  3. Thiết kế, chế tạo và thử nghiệm thành công mô hình xe tự hành cỡ nhỏ có khả năng tự động phát hiện và né tránh vật cản dựa trên bộ điều khiển trung tâm là kit phát triển Altera DE0-CV (chip Cyclone V).

Đối tượng nghiên cứu của đồ án là bộ điều khiển logic số triển khai trên nền tảng FPGA và mô hình xe robot di động tránh vật cản. Phạm vi nghiên cứu bao gồm thiết kế mạch số trên FPGA để giao tiếp với 03 cảm biến siêu âm HC-SR04, phát xung điều chế độ rộng xung (PWM) điều khiển hai động cơ DC GA25 thông qua mạch cầu H L298N, xây dựng hệ thống cấp nguồn di động bằng pin 18650 và hoàn thiện kết cấu cơ khí của robot bằng phương pháp in 3D.

Quá trình hoàn thiện mô hình robot được tác giả chia làm ba giai đoạn:

  • Giai đoạn 1 (Thiết kế mô hình tạm thời): Khung xe được dựng bằng tấm nhựa mica để tiết kiệm chi phí, cho phép tháo lắp và định vị các thiết bị ngoại vi, cảm biến, động cơ và mạch lái động cơ nhằm phục vụ quá trình chạy thử và gỡ lỗi điều khiển.
  • Giai đoạn 2 (Thiết kế hệ thống điều khiển): Xây dựng khối phân phối nguồn điện và triển khai thuật toán tiếp nhận tín hiệu từ cảm biến khoảng cách, từ đó xử lý logic để điều khiển hướng di chuyển và vận tốc bánh xe thông qua mạch công suất.
  • Giai đoạn 3 (Thiết kế khung xe và lắp đặt hoàn chỉnh): Sau quá trình hiệu chỉnh bố trí linh kiện và sửa lỗi chương trình điều khiển, tác giả lập bản vẽ thiết kế cơ khí và gia công thân, nắp vỏ khung xe hoàn chỉnh bằng công nghệ in 3D.

Cơ sở lý thuyết và phương pháp

Về cơ sở lý thuyết, đồ án xây dựng trên nền tảng kiến trúc vi mạch số khả trình FPGA. Khác với các dòng chip lập trình được thế hệ trước như PAL, PLA hay CPLD (vốn chỉ chứa từ vài nghìn đến hàng chục nghìn cổng logic cấu tạo từ các khối logic khả trình đơn giản SPLD), kiến trúc FPGA là mảng các khối logic khả trình (Configurable Logic Blocks - CLB) liên kết với nhau qua hệ thống ma trận dây nối và các khối vào/ra (I/O). Phần tử logic cơ bản bên trong là các Logic Module (LM) dựa trên bảng tra cứu (Look-Up Table - LUT) có từ 4 đến 6 đầu vào và 1 đầu ra, cho phép triển khai các hàm logic tổ hợp ở dạng tổng các tích (Sum of Products - SOP). Cấu hình liên kết logic của FPGA được lưu trữ trong bộ nhớ truy cập ngẫu nhiên tĩnh (SRAM), do đó cần ROM ngoại vi để nạp lại dữ liệu cấu hình mỗi khi cấp nguồn. Bên cạnh đó, tác giả sử dụng khung lý thuyết về ngôn ngữ mô tả phần cứng VHDL (Very High Speed Integrated Circuit Hardware Description Language), chuẩn hóa theo tiêu chuẩn IEEE 1076-1987, với cấu trúc chuẩn gồm ba phần: khai báo thư viện (Library), thực thể (Entity) định nghĩa các chân I/O và tham số generic, và kiến trúc (Architecture) mô tả hành vi chức năng của mạch số.

Phương pháp nghiên cứu được triển khai bao gồm:

  • Phương pháp phân tích và thiết kế hệ thống số: Xây dựng các khối chức năng độc lập bằng VHDL theo phương pháp thiết kế cấu trúc từ dưới lên (Bottom-Up) và từ trên xuống (Top-Down), phân tách hệ thống thành các khối tạo xung kích hoạt (trigger), khối đo độ rộng xung phản hồi (echo) để tính khoảng cách, khối chia tần số xung nhịp và khối điều chế độ rộng xung (PWM).
  • Phương pháp tính toán và xử lý tín hiệu cảm biến: Sử dụng nguyên lý phản xạ sóng siêu âm với vận tốc truyền âm trong không khí là 340 m/s (tương đương 29,412 µs/cm cho hành trình một chiều, hay 58 µs/cm cho hành trình hai chiều đi và về).
  • Phương pháp thực nghiệm và kiểm thử: Sử dụng công cụ mô phỏng Waveform Editor (ModelSim) tích hợp trong môi trường Quartus II để kiểm chứng dạng sóng thời gian của các khối logic số trước khi nạp phần cứng; kiểm thử vận hành thực tế mô hình xe trên địa hình thực tế để tinh chỉnh ngưỡng phát hiện vật cản.

Nguồn dữ liệu của đồ án xuất phát từ tài liệu kỹ thuật của nhà sản xuất Altera/Intel dành cho kit DE0-CV và chip Cyclone V 5CEBA4F23C7N, tài liệu thông số kỹ thuật của cảm biến siêu âm HC-SR04, IC điều khiển động cơ L298N, động cơ DC GA25 và hệ thống pin lithium-ion 18650.

Thiết kế và triển khai hệ thống

Hệ thống điều khiển robot tránh vật cản được thiết kế bao gồm phần cứng điều khiển trung tâm, khối cảm biến, khối chấp hành, khối nguồn và các mô-đun phần mềm VHDL được tổng hợp trực tiếp trên vi mạch FPGA.

Khối chức năng Thiết bị / Linh kiện Thông số kỹ thuật chính
Bộ điều khiển trung tâm Bo mạch Altera DE0-CV Chip Cyclone V 5CEBA4F23C7N; 49.000 phần tử logic (LEs); 3.080 Kbits bộ nhớ nhúng; 4 bộ PLL; 64MB SDRAM bus 16-bit; EPCS64; tích hợp mạch nạp USB Blaster trên bo; 2 cổng mở rộng GPIO 2x20; điện áp vào 5V DC.
Khối cảm biến 03 module siêu âm HC-SR04 Điện áp hoạt động: 5V DC; dòng tiêu thụ: 15mA; tần số phát siêu âm: 40kHz; cự ly phát hiện: 2cm – 4m; góc quét cảm biến: < 15 độ; độ chính xác: 3mm; biên độ xung ra: mức cao 5V, mức thấp 0V.
Khối động cơ 02 động cơ DC GA25 Điện áp cung cấp: 3 – 12V DC; tốc độ trục động cơ chưa qua hộp số: 5600 rpm; tỷ số truyền hộp số: 1/45; tốc độ qua hộp số: 30 rpm (ở 3V), 60 rpm (ở 6V), 130 rpm (ở 12V).
Khối công suất động cơ Mạch cầu H L298N Chip L298 tích hợp ổn áp 78M05; điện áp cấp cho tải động cơ tối đa: 46V; dòng ra tối đa: 2A/kênh; công suất tối đa: 25W; điện áp logic: 5V; hỗ trợ tín hiệu điều khiển hướng và chân ENA, ENB cho xung PWM.
Khối cấp nguồn Bộ 03 pin 18650 mắc nối tiếp Cung cấp điện áp danh định xấp xỉ 12V, dòng điện 3A cấp cho driver L298N; trích nguồn 5V từ IC 78M05 trên driver để nuôi bo mạch DE0-CV và các cảm biến HC-SR04.

Hệ thống logic được tổ chức thành các khối chức năng cụ thể trên nền VHDL:

  • Khối bộ đếm (counter): Nhận tín hiệu xung nhịp đồng hồ hệ thống clk (50 MHz) và tín hiệu enable, thực hiện tăng giá trị đầu ra counter_output thêm 1 đơn vị ở mỗi sườn dương của xung nhịp; cho phép xóa về 0 khi có tín hiệu reset tích cực mức thấp (mức 0).
  • Khối phát xung kích hoạt (trigger_generator): Tạo chu kỳ phát sóng siêu âm lặp lại cho cảm biến. Dựa vào bộ đếm với chu kỳ xung nhịp 20ns (tương ứng tần số 50 MHz), một biến tạm được thiết lập để so sánh với ngõ ra bộ đếm. Bộ phát tạo xung kích hoạt chân Trig định kỳ 100ms một lần, đồng thời tự động phát tín hiệu thiết lập lại nếu phát hiện lỗi hoặc nhiễu nhằm tránh bỏ sót vật cản.
  • Khối xử lý cảm biến siêu âm (ultrasonic): Khi tín hiệu Trig kết thúc, ngõ vào Echo từ cảm biến chuyển lên mức 1. Khối logic sử dụng biến đếm thời gian độ rộng xung pulse_width. Ngưỡng đếm được thiết lập tương đương giá trị 55.000 chu kỳ nhịp, tương ứng với quãng đường sóng siêu âm lan truyền hai chiều khoảng 15cm. Nếu xung Echo kết thúc trước ngưỡng 55.000, tín hiệu báo vật cản obstacle được gán lên mức logic 1, ngược lại gán về mức logic 0.
  • Khối ghép cảm biến (three_ultrasonic): Sử dụng câu lệnh liên kết cổng PORT MAP trong VHDL để kết nối song song 03 cảm biến siêu âm đặt ở ba góc khác nhau (chính diện, lệch trái, lệch phải) nhằm mở rộng không gian nhận biết vật cản phía trước robot.
  • Khối chia tần số (clock_divider): Do xung nhịp mặc định của bo mạch DE0-CV là 50 MHz quá cao đối với các mạch băm xung điều khiển động cơ DC (dễ gây nóng và tổn hại động cơ), khối chia tần thực hiện hạ tần số xung nhịp xuống dải tần phù hợp cho mạch công suất.
  • Khối điều chế độ rộng xung (PWM): Điều khiển tỷ số chu kỳ nhiệm vụ (duty cycle) từ 0% đến 100% dựa trên xung nhịp sau khi chia tần, từ đó thay đổi điện áp hiệu dụng đưa vào chân ENA, ENB của driver L298N để điều chỉnh vận tốc hai bánh xe.

Quy trình triển khai trên phần mềm Quartus II được thực hiện tuần tự: Khởi tạo dự án bằng New Project Wizard, gán đúng mã chip Cyclone V 5CEBA4F23C7N, soạn thảo mã nguồn VHDL, thực hiện biên dịch và tổng hợp mạch qua công cụ Analysis & Synthesis. Sau khi hoàn thành cú pháp và mạch logic, tác giả sử dụng công cụ Pin Planner để gán chân vật lý cho các tín hiệu I/O của thiết kế với chuẩn điện áp I/O Standard là 3.3V – LVTTL và dòng danh định Current Strength là 16mA. Quá trình kiểm tra dạng sóng được mô phỏng trên công cụ Simulation Waveform Editor (ModelSim), kiểm chứng mạch chia tần số giảm 64 lần. Cuối cùng, tập tin cấu hình được nạp xuống bộ nhớ SRAM của chip thông qua cửa sổ Programmer với kết nối cáp USB Blaster tích hợp.

Kết cấu cơ khí của xe tự hành được chế tạo gồm hai chi tiết chính: phần thân khung xe chịu lực (bố trí động cơ GA25, gá cảm biến siêu âm, khay chứa pin 18650, driver L298N) và phần nắp trên (dùng để cố định bo mạch DE0-CV và bảo vệ các kết nối dây), toàn bộ được in 3D hoàn chỉnh theo bản vẽ thiết kế.

Nội dung chính theo từng chương

Chương 1. Tổng quan về FPGA

Chương này trình bày toàn diện về lịch sử hình thành, kiến trúc phần cứng và các phạm vi ứng dụng của công nghệ vi mạch khả trình FPGA:

  • Lịch sử phát triển: FPGA được phát minh đầu tiên bởi Ross Freeman (người đồng sáng lập công ty Xilinx) vào năm 1984. Kiến trúc mới cho phép dung lượng tích hợp vượt bậc, từ 100.000 cổng logic lên đến hàng tỷ cổng logic, khắc phục giới hạn tối đa vài nghìn đến chục nghìn cổng của các dòng PAL, PLA và CPLD.
  • Cấu trúc phần cứng: Phân tích ba phần tử cốt lõi của FPGA gồm khối logic khả trình (CLB), mạng lưới kết nối nội bộ lập trình được và khối vào/ra (I/O Block). Khối Logic Module (LM) chứa các bảng tra cứu (LUT) có cấu hình từ 4 đến 6 đầu vào dựa trên bộ nhớ khả trình để biểu diễn các hàm logic dạng SOP kết hợp cùng flip-flop. Logic Module hoạt động ở 4 chế độ: chế độ thông thường, chế độ LUT mở rộng, chế độ số học và chế độ số học chia sẻ.
  • Cơ chế lưu trữ và nhân nhúng: Đa số FPGA hiện đại sử dụng công nghệ SRAM để lưu cấu hình nên cần ROM ngoại vi đi kèm để duy trì dữ liệu khi mất điện. Chip FPGA tích hợp các khối nhớ phân tán (BRAM), bộ nhân cộng (MAC/DSP slice) và các nhân xử lý logic cứng (hard-core IP) hoặc logic mềm (soft-core IP).
  • Lĩnh vực ứng dụng: Điểm qua vai trò của FPGA trong viễn thông (cấu trúc hàng đợi FIFO, bộ lọc FIR, giải thuật biến đổi IFFT cho trạm gốc 5G/6G, WiMAX); trong quốc phòng (xử lý tín hiệu RADAR thích nghi, số hóa dữ liệu RF qua ADC); trong công nghệ vũ trụ (chống lỗi do bức xạ vũ trụ bằng giải thuật EDAC và kiến trúc dự phòng bộ ba TMR trên quỹ đạo Trái Đất cao HEO); trong công nghiệp ô tô (xử lý dữ liệu cảm biến LiDAR và camera trước bằng thị giác máy tính và mạng nơ-ron); trong trung tâm dữ liệu/máy chủ (xử lý gói tin mạng, mã hóa dữ liệu với độ trễ tối thiểu); và trong y tế (xử lý hình ảnh độ phân giải cao cho các thiết bị MRI, CT scan, siêu âm và theo dõi điện tim ECG).

Chương 2. Ngôn ngữ VHDL

Nội dung chương 2 tập trung vào cơ sở ngôn ngữ mô tả phần cứng VHDL:

  • Nguồn gốc và tiêu chuẩn: VHDL ban đầu được phát triển phục vụ chương trình vi mạch tích hợp tốc độ rất cao (VHSIC) của Bộ Quốc phòng Hoa Kỳ từ năm 1983 bởi liên danh Intermetrics, IBM và Texas Instruments, sau đó được tiêu chuẩn hóa thành chuẩn IEEE-1076 vào năm 1987.
  • Ưu điểm của ngôn ngữ: Tính công cộng (chuẩn mở không thuộc sở hữu tư nhân), tính độc lập công nghệ chế tạo (không phụ thuộc công nghệ bán dẫn CMOS, nMOS hay GaAs), hỗ trợ mô tả nhiều mức trừu tượng từ mức hành vi hệ thống đến mức cổng logic, khả năng tái sử dụng mô-đun và hỗ trợ phương pháp thiết kế phân cấp cho các dự án phức tạp.
  • Cấu trúc chương trình: Phân tích chi tiết ba thành phần của một mô-đun VHDL gồm khai báo thư viện (IEEE, gói std_logic_1164, std_logic_arith, std_logic_unsigned), khai báo thực thể (entity) mô tả cổng I/O (in, out, inout) cùng tham số generic, và khai báo kiến trúc (architecture).
  • Ba phương pháp mô tả kiến trúc mạch: Tác giả phân tích và minh họa ba cách xây dựng khối cộng toàn phần 1-bit (full_adder) bằng:
    1. Mô tả hành vi (behavioral): Dùng khối tiến trình process, câu lệnh tuần tự if-elsif dựa trên bảng chân lý.
    2. Mô tả luồng dữ liệu (dataflow): Dùng các phương trình Boolean đồng thời với toán tử xor, and, or.
    3. Mô tả cấu trúc (structure): Gọi và ánh xạ các cổng logic cơ bản (AND2, OR2, XOR2) thông qua khai báo component và câu lệnh port map.

Chương 3. Sơ lược về phần mềm Quartus

Chương 3 đóng vai trò tài liệu hướng dẫn kỹ thuật về quy trình làm việc trên môi trường Quartus II của hãng Altera:

  • Tổng quan phần mềm: Môi trường tích hợp hỗ trợ thiết kế cho các dòng CPLD, FPGA Cyclone, SoC và HardCopy ASIC, tích hợp công cụ đa luồng giúp tăng tốc thời gian biên dịch tới 20% và hỗ trợ lập trình phần cứng cấp cao bằng OpenCL.
  • Trình tự thiết lập dự án: Các bước tạo dự án thông qua New Project Wizard, thiết lập thư mục lưu trữ và tên dự án trùng với tên top module, tìm kiếm mã linh kiện Cyclone V 5CEBA4F23C7N trong mục Name Filter, tạo mới tập tin VHDL (.vhd) và thực hiện quá trình tổng hợp logic bằng Analysis & Synthesis.
  • Gán chân và nạp phần cứng: Quản lý gán chân vật lý thông qua giao diện Pin Planner, thiết lập cột I/O Standard chuẩn 3.3V – LVTTL và Current Strength 16mA; biên dịch toàn diện thiết kế (Compile Design); kết nối bo mạch qua cáp nạp USB Blaster và tiến hành nạp cấu hình xuống FPGA qua công cụ Programmer.
  • Kiểm thử chức năng: Thiết lập kịch bản mô phỏng kiểm tra chức năng bằng công cụ University Program VWF và phần mềm ModelSim tích hợp, tiến hành kiểm chứng mạch chia tần số clock_divider hạ tần số tín hiệu xung nhịp hệ thống xuống 64 lần.

Chương 4. Thiết lập bộ điều khiển với FPGA và xây dựng mô hình cho robot tự tránh vật cản

Đây là chương trọng tâm của đồ án, trình bày việc kết hợp giữa tính toán phần cứng và mô tả thuật toán điều khiển:

  • Lựa chọn linh kiện và cấu hình phần cứng: Phân tích chi tiết thông số bo mạch DE0-CV (Cyclone V), cảm biến khoảng cách siêu âm HC-SR04, động cơ DC GA25 kèm hộp số giảm tốc và driver công suất L298N.
  • Thiết kế hệ thống điện và khối nguồn: Đánh giá nhu cầu điện áp và dòng điện của các tải ngoại vi; lựa chọn cấu hình 03 cell pin 18650 mắc nối tiếp cung cấp điện áp xấp xỉ 12V cho động cơ và hạ áp 5V qua IC ổn áp của mạch L298N để nuôi bo mạch FPGA.
  • Hiện thực hóa các khối logic VHDL: Xây dựng chi tiết mã nguồn cho khối counter, khối trigger_generator định thời chu kỳ kích hoạt 100ms, khối ultrasonic đo độ rộng xung Echo với ngưỡng so sánh 55.000 xung đếm (tương ứng khoảng cách an toàn 15cm), khối three_ultrasonic liên kết 03 cảm biến bao quát hướng di chuyển, khối clock_divider và khối pwm băm xung công suất cho động cơ.
  • Chế tạo cơ khí: Quá trình thiết kế mô hình từ khung mica thử nghiệm ban đầu chuyển đổi sang bản vẽ chi tiết và gia công in 3D nắp và thân xe.

Chương 5. Kết luận và định hướng phát triển

Chương tổng kết đánh giá toàn bộ kết quả chế tạo thử nghiệm mô hình thực tế của robot tự hành tránh vật cản, đồng thời nêu rõ các điểm còn tồn tại và các định hướng kỹ thuật cần tiếp tục nâng cấp trong tương lai.

Kết quả và đóng góp

Về kết quả kỹ thuật cụ thể:

  • Đồ án đã thiết kế, chế tạo và vận hành thành công mô hình xe robot di động tự tránh vật cản sử dụng bộ điều khiển trung tâm là vi mạch FPGA Cyclone V 5CEBA4F23C7N trên bo mạch Altera DE0-CV.
  • Khối xử lý tín hiệu cảm biến siêu âm trên FPGA được cấu hình hoạt động chính xác với chu kỳ phát xung kích hoạt định kỳ 100ms và ngưỡng khoảng cách phát hiện chướng ngại vật được xác lập ở mức xấp xỉ 15cm (tương đương giá trị biến đếm thời gian độ rộng xung Echo là 55.000 chu kỳ nhịp).
  • Thiết lập thành công khối chia tần số và khối điều chế độ rộng xung PWM trên VHDL, cho phép điều khiển vận tốc và hướng quay của 02 động cơ DC GA25 (tỷ số truyền 1/45) qua mạch cầu H L298N một cách ổn định, không làm nóng động cơ so với việc cấp trực tiếp tần số gốc 50 MHz.
  • Hoàn thiện cấu trúc phần cứng di động với bộ nguồn 03 pin 18650 mắc nối tiếp (cung cấp nguồn ~12V, 3A) và khung vỏ robot được thiết kế, gia công in 3D khép kín gồm hai phần thân và nắp.
  • Đồ án được Giáo viên hướng dẫn - TS. Dương Văn Lạc đánh giá mức điểm 10 tuyệt đối với nhận xét sinh viên có tác phong làm việc độc lập, chủ động, bước đầu làm chủ được công nghệ phần cứng FPGA và ngôn ngữ VHDL để tạo ra các vi mạch logic số điều khiển hệ thống cơ điện tử.

Đóng góp của đồ án:

  • Đồ án cung cấp một tài liệu kỹ thuật hoàn chỉnh về quy trình thiết kế hệ thống nhúng điều khiển chuyển động sử dụng vi mạch số khả trình FPGA thay thế cho các bộ vi điều khiển truyền thống.
  • Xây dựng được mô-đun VHDL tổng quát cho phép đọc đồng thời nhiều cảm biến siêu âm (three_ultrasonic) và điều khiển băm xung PWM mà không bị chiếm dụng tài nguyên tuần tự như trên vi điều khiển đơn nhân.

Hạn chế và hướng nghiên cứu tiếp

Theo nhận xét của Giáo viên hướng dẫn và phần tự đánh giá của tác giả trong đồ án, nghiên cứu còn một số hạn chế:

  • Đối tượng điều khiển của robot còn tương đối đơn giản, thuật toán điều hướng tránh vật cản mới dừng lại ở mức phản xạ cơ bản theo tín hiệu nhị phân từ ngưỡng khoảng cách (15cm).
  • Thiết kế phần cứng chưa xây dựng và tích hợp được các lõi sở hữu trí tuệ (IP Core) cho các chuẩn giao tiếp nối tiếp tiêu chuẩn công nghiệp như UART, I2C, SPI.
  • Chưa liên kết hệ thống logic điều khiển với bộ vi xử lý nhúng mềm Nios II Processor IP Core trên nền tảng FPGA để phân tầng quản lý điều khiển.
  • Do thời gian thực hiện (05 tháng) và nguồn lực nghiên cứu có hạn, độ hoàn thiện của hệ thống cơ khí và các tính năng mở rộng của xe tự hành chưa cao.

Hướng nghiên cứu và phát triển tiếp theo được tác giả và giáo viên hướng dẫn đề xuất:

  • Tích hợp thêm các IP core giao tiếp truyền thông UART, I2C, SPI nhằm mở rộng khả năng kết nối với các cảm biến nâng cao và máy tính nhúng.
  • Nhúng hệ vi xử lý mềm Nios II Processor IP Core vào chip Cyclone V để xây dựng hệ thống điều khiển kết hợp phần cứng/phần mềm (Hardware/Software Co-design), xử lý các thuật toán điều hướng và lập bản đồ phức tạp hơn.
  • Nâng cấp thuật toán tránh vật cản, kết hợp thêm cảm biến đo góc quay hoặc encoder động cơ để nâng cao độ chính xác chuyển động của robot trong không gian thực tế.

Giá trị tham khảo

Đồ án là nguồn tài liệu tham khảo hữu ích cho:

  • Sinh viên các ngành Kỹ thuật Cơ điện tử, Kỹ thuật Điều khiển & Tự động hóa, Kỹ thuật Máy tính và Điện tử - Viễn thông đang bắt đầu tiếp cận công nghệ vi mạch khả trình FPGA và ngôn ngữ VHDL ứng dụng trong điều khiển thiết bị chấp hành.
  • Người làm đề tài nghiên cứu hoặc đồ án tốt nghiệp liên quan đến robot tự hành, xe tự hành (AGV) cỡ nhỏ muốn chuyển dịch từ nền tảng vi điều khiển (như Arduino, STM32, PIC) sang nền tảng vi mạch số chuyên dụng có tính song song cao.
  • Các nội dung có giá trị tham khảo cao trong văn bản bao gồm:
    • Quy trình từng bước thiết lập dự án, gán chân vật lý bằng Pin Planner và nạp mạch bằng Quartus II cho kit phát triển Altera DE0-CV (Cyclone V).
    • Phương pháp mô tả phần cứng VHDL cho các khối đếm xung thời gian thực, đo độ rộng xung Echo của cảm biến siêu âm và mạch tạo xung PWM điều khiển động cơ.
    • Giải pháp ghép nối phần cứng và phối hợp nguồn điện giữa bo mạch FPGA (chuẩn logic 3.3V/5V) với driver công suất L298N và hệ pin 18650.

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

1. Bo mạch FPGA và dòng chip cụ thể được tác giả lựa chọn trong đồ án là gì?

Tác giả sử dụng bo mạch phát triển Altera DE0-CV trang bị vi mạch FPGA Cyclone V với mã chip chính xác là 5CEBA4F23C7N. Chip này sở hữu 49.000 phần tử logic khả trình (Programmable Logic Elements), 3.080 Kbits bộ nhớ nhúng, 4 bộ Fractional PLL và tích hợp mạch nạp USB Blaster trực tiếp trên bo mạch.

2. Thuật toán phát hiện vật cản bằng cảm biến siêu âm được cấu hình trong khối logic VHDL như thế nào?

Khối logic trigger_generator phát xung kích hoạt cảm biến định kỳ mỗi 100ms. Khi nhận xung phản hồi Echo, khối ultrasonic sử dụng biến đếm thời gian độ rộng xung pulse_width. Ngưỡng đếm được đặt ở mức 55.000 chu kỳ xung nhịp (ở tần số 50 MHz), tương đương với khoảng cách vật cản khoảng 15cm (tính cả quãng đường đi và về của sóng âm với vận tốc 340 m/s). Nếu chân Echo xuống mức thấp trước khi biến đếm đạt 55.000, tín hiệu obstacle sẽ lập tức bật lên mức 1 để thông báo có vật cản.

3. Tại sao hệ thống cần sử dụng khối chia tần số (clock_divider) trước khi tạo xung PWM điều khiển động cơ?

Xung nhịp hoạt động mặc định của bộ điều khiển FPGA Cyclone V trên bo mạch DE0-CV đạt mức 50 MHz (chu kỳ 20ns). Nếu băm xung trực tiếp ở tần số quá cao này đưa tới mạch công suất L298N và động cơ DC GA25, động cơ sẽ sinh nhiệt rất nhanh và có nguy cơ hỏng hóc trong thời gian ngắn. Khối chia tần số được thiết kế để hạ xung nhịp hệ thống xuống mức tần số thích hợp cho mạch điều khiển động cơ.

4. Hệ thống cấp nguồn cho toàn bộ mô hình xe tự hành được bố trí ra sao?

Nguồn động lực của xe sử dụng bộ 03 cell pin 18650 mắc nối tiếp, cung cấp điện áp xấp xỉ 12V và dòng điện 3A vào đầu vào của driver điều khiển động cơ L298N để cấp cho 02 động cơ GA25. Nguồn điện 5V nuôi bo mạch FPGA Cyclone V và 03 cảm biến siêu âm HC-SR04 được trích xuất từ chân nguồn 5V của IC ổn áp 78M05 tích hợp sẵn trên mạch driver L298N.

5. Giảng viên hướng dẫn đã chỉ ra những hạn chế kỹ thuật nào của đồ án trong bản nhận xét?

Trong phiếu nhận xét đồ án, TS. Dương Văn Lạc chỉ ra rằng đối tượng điều khiển của robot còn đơn giản; sinh viên chưa xây dựng được các khối IP core cho các chuẩn giao tiếp nối tiếp công nghiệp như UART, I2C, SPI và chưa liên kết hệ thống logic với vi xử lý nhúng mềm Nios II Processor IP Core.

Kết luận

Đồ án tốt nghiệp của sinh viên Lê Văn Tú đã hoàn thành trọn vẹn mục tiêu nghiên cứu và ứng dụng công nghệ vi mạch khả trình FPGA vào bài toán điều khiển robot di động tránh chướng ngại vật trong thực tế. Bằng việc làm chủ ngôn ngữ mô tả phần cứng VHDL trên nền tảng chip Cyclone V 5CEBA4F23C7N của bo mạch Altera DE0-CV, tác giả đã thiết kế thành công các khối số đồng bộ để xử lý đồng thời 03 cảm biến siêu âm và phát xung PWM điều khiển động cơ. Toàn bộ hệ thống cơ điện tử từ mạch logic, hệ thống nguồn pin 18650 đến khung vỏ in 3D đều được tích hợp hoàn chỉnh và vận hành ổn định, tạo tiền đề kỹ thuật vững chắc cho các nghiên cứu phát triển hệ thống nhúng phức hợp trên nền FPGA tiếp theo.