Thiết kế thi công xe mô hình điều khiển bằng giọng nói thông qua máy tính

Thiết kế & thi công xe mô hình điều khiển bằng giọng nói qua máy tính. Tìm hiểu quy trình, linh kiện & ứng dụng công nghệ điều khiển hiện đại.

Người đăng

Ẩn danh

Thể loại

Khóa Luận Tốt Nghiệp

2023

43
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan dự án xe mô hình điều khiển bằng giọng nói 2023

Trong bối cảnh công nghệ 4.0, sự phát triển của trí tuệ nhân tạo (AI) và tự động hóa đã mở ra nhiều ứng dụng đột phá. Một trong những lĩnh vực nổi bật là công nghệ nhận dạng giọng nói, cho phép tương tác giữa người và máy trở nên tự nhiên hơn. Đề tài thiết kế thi công xe mô hình điều khiển bằng giọng nói thông qua máy tính là một minh chứng rõ ràng cho xu hướng này. Mục tiêu chính của dự án là xây dựng một hệ thống xe mô hình có khả năng nhận lệnh và di chuyển theo chỉ thị giọng nói của người dùng. Hệ thống này không chỉ thay thế các phương thức điều khiển truyền thống như nút bấm hay tay cầm, mà còn mang lại sự tiện lợi và trải nghiệm hiện đại. Phạm vi nghiên cứu của đề tài tập trung vào việc tích hợp các thành phần phần cứng và phát triển phần mềm để tạo ra một mô hình hoạt động ổn định và chính xác. Các đối tượng nghiên cứu chính bao gồm vi điều khiển STM32F103C8T6, các module cảm biến và truyền nhận tín hiệu. Về mặt khoa học, dự án góp phần vào việc nghiên cứu các phương pháp điều khiển tự động, ứng dụng AI vào hệ thống nhúng. Về mặt thực tiễn, mô hình này có thể được phát triển thành các sản phẩm hỗ trợ người khuyết tật, ứng dụng trong hệ thống giao thông thông minh hoặc trong lĩnh vực giải trí. Sơ đồ khối tổng thể của hệ thống bao gồm khối nhận lệnh (máy tính và micro), khối xử lý trung tâm (vi điều khiển STM32), khối chấp hành (động cơ) và các khối phụ trợ như cảm biến và module truyền thông. Quá trình hoạt động bắt đầu khi máy tính nhận tín hiệu giọng nói, xử lý và chuyển thành dữ liệu điều khiển. Dữ liệu này sau đó được gửi không dây đến xe mô hình, nơi vi điều khiển tiếp nhận và ra lệnh cho động cơ hoạt động tương ứng.

1.1. Mục tiêu và ý nghĩa của xe điều khiển bằng giọng nói

Mục tiêu cốt lõi của đề tài là thiết kế và chế tạo thành công một chiếc xe mô hình có khả năng phản hồi chính xác các lệnh điều khiển bằng giọng nói. Các lệnh cơ bản bao gồm di chuyển tiến, lùi, rẽ trái, rẽ phải và dừng lại. Hệ thống phải đảm bảo độ trễ thấp và độ chính xác cao trong việc nhận dạng và thực thi lệnh. Ý nghĩa khoa học của dự án nằm ở việc khám phá và áp dụng các thuật toán xử lý tín hiệu số và học máy vào một hệ thống điều khiển thực tế. Nó mở ra hướng nghiên cứu mới về tương tác người-máy trong các hệ thống tự động. Về mặt thực tiễn, sản phẩm này là một công cụ học tập quý giá cho sinh viên ngành kỹ thuật điện tử, tự động hóa, giúp củng cố kiến thức về hệ thống nhúng, lập trình vi điều khiển và truyền thông không dây. Xa hơn, công nghệ này có thể được mở rộng để ứng dụng trong các phương tiện tự hành, robot hỗ trợ trong công nghiệp và đời sống.

1.2. Sơ đồ khối tổng thể của hệ thống điều khiển xe mô hình

Hệ thống được cấu trúc dựa trên một sơ đồ khối chặt chẽ. Khối đầu vào là một máy tính (PC) được trang bị micro để thu nhận tín hiệu giọng nói. Phần mềm trên PC sẽ phân tích và chuyển đổi giọng nói thành các lệnh điều khiển cụ thể. Các lệnh này sau đó được truyền đi thông qua mạch thu phát RF HC-12. Tại xe mô hình, một module RF HC-12 khác đóng vai trò là khối nhận tín hiệu. Tín hiệu nhận được sẽ được gửi đến khối xử lý trung tâm, là vi điều khiển STM32F103C8T6. Đây là bộ não của toàn bộ chiếc xe, chịu trách nhiệm xử lý thông tin và đưa ra quyết định. Từ khối trung tâm, tín hiệu điều khiển được gửi đến khối công suất, sử dụng module L298N, để điều khiển trực tiếp hai động cơ DC, giúp xe di chuyển. Ngoài ra, hệ thống còn có khối cảm biến, sử dụng cảm biến HC-SR04, để phát hiện vật cản, đảm bảo an toàn trong quá trình vận hành tự động.

II. Nền tảng phần cứng cho xe điều khiển bằng giọng nói là gì

Để hiện thực hóa dự án thiết kế thi công xe mô hình điều khiển bằng giọng nói, việc lựa chọn và phối hợp các linh kiện phần cứng đóng vai trò vô cùng quan trọng. Mỗi thành phần được chọn đều có chức năng riêng biệt và phải tương thích với nhau để tạo thành một hệ thống hoàn chỉnh. Trái tim của mô hình là vi điều khiển STM32F103C8T6, một MCU 32-bit mạnh mẽ dựa trên lõi ARM Cortex-M3. Nó chịu trách nhiệm nhận dữ liệu từ module thu RF, xử lý logic điều khiển và gửi lệnh đến các cơ cấu chấp hành. Để điều khiển động cơ, hệ thống sử dụng module điều khiển động cơ L298N. Module này là một mạch cầu H, cho phép vi điều khiển dễ dàng điều khiển chiều quay và tốc độ của hai động cơ DC một cách độc lập. Giao tiếp không dây giữa máy tính và xe mô hình được đảm nhiệm bởi cặp mạch thu phát RF UART 433Mhz HC-12. Module này nổi bật với khả năng truyền nhận dữ liệu ở khoảng cách xa và giao tiếp nối tiếp đơn giản, giúp giảm thiểu độ phức tạp trong lập trình. Cuối cùng, để tăng tính thông minh và an toàn, xe được trang bị cảm biến siêu âm HC-SR04. Cảm biến này có khả năng đo khoảng cách đến vật cản phía trước, giúp xe tự động dừng lại hoặc thực hiện hành động né tránh, ngăn ngừa va chạm. Tất cả các linh kiện này được cấp nguồn bởi pin Lion 4.2V và lắp đặt trên một khung xe mica chắc chắn, tạo nên một mô hình hoàn chỉnh và sẵn sàng cho việc lập trình và thử nghiệm.

2.1. Vi điều khiển STM32F103C8T6 Bộ não của hệ thống

Vi điều khiển STM32F103C8T6 được chọn làm đơn vị xử lý trung tâm nhờ hiệu năng cao và các tính năng phong phú. Nó được trang bị bộ xử lý ARM Cortex-M3 32-bit với tốc độ lên đến 72MHz, cùng với 64KB bộ nhớ Flash và 20KB SRAM. Cấu hình này hoàn toàn đủ khả năng để xử lý các tác vụ phức tạp của dự án, từ việc giao tiếp UART với module RF đến việc tạo xung PWM để điều khiển động cơ và đọc dữ liệu từ cảm biến. STM32F103C8T6 hỗ trợ nhiều chuẩn giao tiếp phổ biến như I2C, SPI, và đặc biệt là UART, rất cần thiết cho việc kết nối với module RF HC-12. Các chân GPIO đa năng cho phép kết nối linh hoạt với các linh kiện ngoại vi khác. Trong dự án này, các chân của STM32 được cấu hình để nhận dữ liệu từ chân RX của module RF, xuất tín hiệu điều khiển đến các chân input của L298N, và giao tiếp với cảm biến siêu âm.

2.2. Module L298N và cảm biến HC SR04 trong xe mô hình

Module điều khiển động cơ L298N là một thành phần không thể thiếu. Nó hoạt động như một bộ khuếch đại dòng điện, nhận tín hiệu logic mức thấp từ vi điều khiển và cung cấp dòng điện đủ lớn để vận hành động cơ DC. Module này có thể điều khiển hai động cơ độc lập, với khả năng đảo chiều quay thông qua việc thay đổi mức logic trên các chân IN1, IN2, IN3, IN4. Các chân Enable (ENA, ENB) cho phép điều khiển tốc độ động cơ thông qua kỹ thuật điều chế độ rộng xung (PWM). Trong khi đó, cảm biến siêu âm HC-SR04 đóng vai trò là "đôi mắt" của xe. Nó hoạt động bằng cách phát ra một chùm sóng siêu âm và đo thời gian sóng phản xạ lại. Dựa trên thời gian này, vi điều khiển có thể tính toán chính xác khoảng cách đến vật cản. Khi khoảng cách nhỏ hơn một ngưỡng an toàn đã định (ví dụ 20cm), hệ thống sẽ tự động dừng xe để tránh va chạm. Sự kết hợp giữa L298N và HC-SR04 giúp chiếc xe không chỉ di chuyển theo lệnh mà còn có khả năng tự bảo vệ.

2.3. Vai trò của mạch thu phát RF UART 433Mhz HC 12

Để hiện thực hóa việc điều khiển từ xa, mạch thu phát RF UART 433Mhz HC-12 được sử dụng làm cầu nối không dây. Module này hoạt động ở tần số 433MHz, cho phép truyền dữ liệu ổn định trong khoảng cách lên tới 1 km trong điều kiện lý tưởng. Ưu điểm lớn nhất của HC-12 là giao tiếp thông qua chuẩn UART (TXD, RXD), giúp việc kết nối và lập trình với vi điều khiển trở nên cực kỳ đơn giản. Trong hệ thống, một module HC-12 được kết nối với máy tính (thông qua một bộ chuyển đổi USB-UART) để đóng vai trò là máy phát. Module còn lại được gắn trên xe và kết nối với STM32F103C8T6, đóng vai trò là máy thu. Khi phần mềm trên máy tính nhận dạng được lệnh giọng nói, nó sẽ mã hóa lệnh thành một ký tự hoặc chuỗi và gửi qua cổng COM ảo đến module phát. Module này sẽ truyền dữ liệu dưới dạng sóng radio. Module thu trên xe sẽ nhận sóng này, giải điều chế và gửi dữ liệu gốc đến vi điều khiển qua chân RXD. Cơ chế này đảm bảo việc truyền lệnh điều khiển diễn ra nhanh chóng và đáng tin cậy.

III. Hướng dẫn lập trình hệ thống nhận dạng giọng nói trên PC

Phần mềm là linh hồn của hệ thống xe mô hình điều khiển bằng giọng nói. Quá trình phát triển phần mềm bao gồm hai phần chính: chương trình nhận dạng giọng nói trên máy tính và firmware cho vi điều khiển STM32. Đối với chương trình trên máy tính, môi trường phát triển được lựa chọn là Microsoft Visual Studio với ngôn ngữ lập trình C#. Đây là một lựa chọn tối ưu nhờ sự hỗ trợ mạnh mẽ của .NET Framework cho các tác vụ đa phương tiện, bao gồm cả nhận dạng giọng nói. Thư viện System.Speech.Recognition của C# cung cấp một bộ công cụ mạnh mẽ để xây dựng các ứng dụng có khả năng nghe và hiểu lệnh của người dùng. Chương trình được thiết kế với một giao diện đồ họa đơn giản, cho phép người dùng chọn cổng COM để kết nối với module RF và bắt đầu quá trình nhận dạng. Các lệnh giọng nói cần nhận dạng được định nghĩa trước trong một bộ ngữ pháp (Grammar), ví dụ: "Run", "Back", "Left", "Right", "Stop", "Auto", "Manual". Khi động cơ nhận dạng giọng nói (Speech Recognition Engine) phát hiện một từ hoặc cụm từ khớp với ngữ pháp, một sự kiện sẽ được kích hoạt. Trong trình xử lý sự kiện này, chương trình sẽ gửi một ký tự tương ứng với lệnh đó qua cổng COM. Ví dụ, lệnh "Run" có thể tương ứng với ký tự 'T' (Tới), "Left" tương ứng với 'L' (Trái). Quá trình này biến đổi tín hiệu âm thanh thành dữ liệu số mà xe mô hình có thể hiểu được.

3.1. Sử dụng Microsoft Visual Studio và thư viện C

Để bắt đầu, một dự án Windows Forms App (.NET Framework) được tạo trong Microsoft Visual Studio. Thư viện System.Speech cần được thêm vào tham chiếu của dự án. Lập trình viên sẽ khởi tạo một đối tượng thuộc lớp SpeechRecognitionEngine để thực hiện việc nhận dạng. Một đối tượng Grammar được xây dựng từ một danh sách các chuỗi (string) chứa các lệnh điều khiển. Ví dụ: Choices commands = new Choices(); commands.Add(new string[] {"Run", "Stop", "Left", "Right"});. Sau đó, GrammarBuilderGrammar được sử dụng để tải bộ lệnh này vào động cơ nhận dạng. Sự kiện SpeechRecognized là quan trọng nhất, nó sẽ được kích hoạt mỗi khi một lệnh được nhận dạng thành công. Bên trong hàm xử lý sự kiện này, chương trình sẽ lấy kết quả nhận dạng (e.Result.Text) và thực hiện một hành động tương ứng, cụ thể là gửi dữ liệu qua đối tượng SerialPort đã được cấu hình để kết nối với module RF.

3.2. Xây dựng bộ ngữ pháp Grammar cho các lệnh điều khiển

Bộ ngữ pháp đóng vai trò quyết định đến độ chính xác của công nghệ nhận dạng giọng nói. Một bộ ngữ pháp được xác định rõ ràng sẽ giúp hệ thống tập trung vào các từ khóa quan trọng và bỏ qua các tiếng ồn hoặc từ ngữ không liên quan. Trong dự án này, bộ ngữ pháp được xây dựng đơn giản, chỉ bao gồm các từ lệnh đơn lẻ: "Hi" (để kiểm tra kết nối), "Run" (tiến), "Back" (lùi), "Left" (trái), "Right" (phải), "Stop" (dừng), "Auto" (chế độ tự động), và "Manual" (chế độ thủ công). Việc sử dụng tiếng Anh cho các lệnh giúp tăng độ chính xác vì các thư viện nhận dạng giọng nói thường được tối ưu hóa tốt hơn cho ngôn ngữ này. Mỗi lệnh sau khi được nhận dạng sẽ được ánh xạ tới một ký tự duy nhất để gửi đi. Ví dụ: 'H' cho "Hi", 'T' cho "Run", 'B' cho "Back",... Cách tiếp cận này giúp giảm thiểu lượng dữ liệu cần truyền và đơn giản hóa logic xử lý trên vi điều khiển.

IV. Quy trình thiết kế và thi công xe mô hình điều khiển STM32

Việc thiết kế thi công xe mô hình điều khiển bằng STM32F103C8T6 yêu cầu một quy trình bài bản, từ cấu hình phần cứng đến lập trình firmware. Bước đầu tiên là sử dụng phần mềm STM32CubeMX. Đây là công cụ đồ họa của STMicroelectronics giúp người dùng cấu hình các chân (pin) và các ngoại vi của vi điều khiển một cách trực quan. Trong STM32CubeMX, các chân GPIO được thiết lập cho việc điều khiển động cơ, chân UART được kích hoạt để giao tiếp với module RF, và các chân Timer được cấu hình để tạo tín hiệu PWM và đọc tín hiệu từ cảm biến siêu âm. Sau khi hoàn tất cấu hình, STM32CubeMX sẽ tự động tạo ra một bộ mã nguồn khởi tạo (initialization code) cho dự án. Bộ mã này sau đó được mở bằng môi trường phát triển tích hợp (IDE) KeilC v5. Tại đây, lập trình viên sẽ viết logic điều khiển chính trong tệp main.c. Firmware của xe phải thực hiện các nhiệm vụ chính: liên tục lắng nghe dữ liệu từ cổng UART, phân tích dữ liệu nhận được, và điều khiển động cơ tương ứng. Lưu đồ giải thuật cho chương trình là một vòng lặp vô tận. Trong vòng lặp, chương trình kiểm tra xem có dữ liệu mới từ UART không. Nếu có, nó sẽ đọc ký tự lệnh. Dựa trên ký tự này (ví dụ 'T', 'L', 'R', 'B', 'S'), chương trình sẽ gọi các hàm điều khiển động cơ tương ứng như DiTien(), ReTrai(), DungLai(). Đồng thời, trong chế độ tự động, chương trình phải liên tục đọc giá trị từ cảm biến HC-SR04 để kiểm tra vật cản và thực hiện hành động né tránh khi cần thiết.

4.1. Cấu hình chân vi điều khiển với phần mềm STM32CubeMX

Quá trình cấu hình trong STM32CubeMX là nền tảng cho việc lập trình. Đầu tiên, người dùng chọn đúng mã vi điều khiển là STM32F103C8T6. Tiếp theo, các ngoại vi được kích hoạt. Ví dụ, USART1 được bật ở chế độ Asynchronous để giao tiếp với module RF, với chân PA9TXPA10RX. Các chân GPIO, ví dụ PB0, PB1, PB2, PB3, được cấu hình là GPIO_Output để kết nối với các chân IN1, IN2, IN3, IN4 của module L298N. Đối với cảm biến siêu âm, một chân được cấu hình là Output (chân Trigger) để phát xung và một chân khác được cấu hình là Input (chân Echo) để nhận xung phản hồi. Một bộ định thời (Timer) được sử dụng để đo chính xác độ rộng của xung Echo, từ đó suy ra khoảng cách. Sau khi thiết lập xong, mục Project Manager cho phép chọn IDE là MDK-ARM (cho KeilC) và nhấn GENERATE CODE để tạo dự án.

4.2. Lập trình firmware điều khiển động cơ và cảm biến trên KeilC

Trong môi trường KeilC, lập trình viên viết mã C để hiện thực hóa logic điều khiển. Cấu trúc mã thường bao gồm các hàm chức năng rõ ràng. Một hàm ngắt nhận UART (HAL_UART_RxCpltCallback) được sử dụng để xử lý dữ liệu ngay khi nó được nhận về, giúp hệ thống phản ứng nhanh hơn. Các hàm điều khiển động cơ như Go_Forward(), Go_Back(), Turn_Left(), Turn_Right(), và Stop() được định nghĩa. Mỗi hàm này sẽ đặt các chân GPIO điều khiển module L298N ở mức logic (0 hoặc 1) phù hợp để tạo ra chuyển động mong muốn. Ví dụ, để đi thẳng, IN1IN3 được đặt ở mức 1, trong khi IN2IN4 ở mức 0. Đối với cảm biến, một hàm Read_Ultrasonic() được viết để phát một xung ngắn (10μs) trên chân Trigger, sau đó đo thời gian chân Echo ở mức cao. Khoảng cách được tính bằng công thức S = (thời gian * tốc độ âm thanh) / 2. Cuối cùng, trong vòng lặp chính while(1), chương trình sẽ dựa vào ký tự lệnh nhận được và dữ liệu khoảng cách để ra quyết định điều khiển xe.

V. Phân tích kết quả xe mô hình điều khiển bằng giọng nói 2023

Quá trình thực nghiệm và đánh giá là bước cuối cùng để xác định mức độ thành công của dự án thiết kế thi công xe mô hình điều khiển bằng giọng nói. Kết quả được đánh giá trên cả hai phương diện: phần mềm và phần cứng. Về phần mềm, chương trình nhận dạng giọng nói viết bằng C# trên Microsoft Visual Studio hoạt động ổn định. Nó có khả năng nhận diện chính xác các lệnh đã được định nghĩa trong môi trường ít tiếng ồn. Khi người dùng đọc lệnh "Run", "Left" hay "Stop", ứng dụng đều bắt được và gửi đúng ký tự điều khiển qua cổng COM. Tương tự, firmware nạp cho STM32F103C8T6 đã thực thi đúng các chức năng. Xe mô hình phản hồi gần như tức thời với các lệnh nhận được từ máy tính. Các chức năng di chuyển tiến, lùi, rẽ trái, rẽ phải đều hoạt động như thiết kế. Về phần cứng, việc lắp ráp các module L298N, HC-SR04, và RF HC-12 vào khung xe được thực hiện thành công, đảm bảo kết nối chắc chắn và cấp nguồn ổn định. Xe di chuyển linh hoạt trên mặt phẳng. Cảm biến siêu âm hoạt động hiệu quả, có thể phát hiện vật cản trong phạm vi khoảng 20cm và gửi tín hiệu để xe dừng lại, hoàn thành mục tiêu an toàn cơ bản. Nhìn chung, mô hình đã đạt được các mục tiêu đề ra, chứng minh tính khả thi của việc ứng dụng công nghệ nhận dạng giọng nói để điều khiển một hệ thống cơ điện tử.

5.1. Đánh giá hiệu quả của phần mềm nhận dạng giọng nói

Phần mềm nhận dạng giọng nói trên máy tính được đánh giá là thành công cốt lõi của dự án. Việc sử dụng thư viện System.Speech.Recognition của C# đã đơn giản hóa đáng kể quá trình phát triển. Tỷ lệ nhận dạng chính xác cao trong điều kiện lý tưởng (phòng yên tĩnh, khoảng cách gần micro). Tuy nhiên, một số hạn chế đã được ghi nhận. Trong môi trường có nhiều tạp âm hoặc khi người nói có giọng địa phương đặc trưng, độ chính xác có thể giảm xuống. Độ trễ từ lúc phát âm lệnh đến lúc xe thực hiện hành động là có thể nhận thấy, bao gồm thời gian xử lý của máy tính và thời gian truyền tín hiệu RF. Mặc dù vậy, với mục đích là một mô hình nghiên cứu, kết quả này là hoàn toàn chấp nhận được và đã chứng minh được khái niệm của hệ thống.

5.2. Kết quả vận hành thực tế của phần cứng xe mô hình

Phần cứng của xe mô hình đã hoạt động đúng như mong đợi. Xe có thể được điều khiển chính xác thông qua các lệnh giọng nói. Khi nhận lệnh "Run", cả hai động cơ quay cùng chiều để xe tiến thẳng. Khi nhận lệnh "Left", động cơ phải quay tới và động cơ trái quay lùi, giúp xe xoay tại chỗ. Module L298N cung cấp đủ công suất cho động cơ hoạt động mượt mà. Cảm biến HC-SR04 chứng tỏ được vai trò của mình trong việc phát hiện vật cản. Trong các bài kiểm tra, khi xe đang di chuyển và gặp một vật cản phía trước, nó đã tự động dừng lại thành công. Tuy nhiên, một hạn chế của phần cứng là mạch thu phát RF HC-12 có thể bị nhiễu tín hiệu trong môi trường có nhiều sóng điện từ, dẫn đến việc mất lệnh hoặc nhận lệnh sai. Nguồn pin cũng là một yếu tố cần cân nhắc, vì hiệu suất động cơ sẽ giảm khi pin yếu.

VI. Tương lai và hướng phát triển xe điều khiển bằng giọng nói

Dù dự án thiết kế thi công xe mô hình điều khiển bằng giọng nói đã đạt được những kết quả tích cực, vẫn còn nhiều tiềm năng để cải tiến và phát triển trong tương lai. Các hạn chế hiện tại của mô hình mở ra những hướng nghiên cứu mới, hứa hẹn tạo ra những sản phẩm hoàn thiện và có tính ứng dụng cao hơn. Một trong những hạn chế lớn nhất là sự phụ thuộc vào máy tính để xử lý giọng nói. Điều này làm giảm tính di động và linh hoạt của hệ thống. Hơn nữa, độ chính xác của công nghệ nhận dạng giọng nói còn bị ảnh hưởng bởi môi trường ồn ào và giọng điệu của người nói. Vấn đề về độ trễ trong giao tiếp RF và bảo mật cũng là những thách thức cần được giải quyết nếu muốn ứng dụng vào thực tế. Hướng phát triển trong tương lai có thể tập trung vào việc tích hợp các thuật toán học máy phức tạp hơn để cải thiện khả năng nhận dạng và hiểu ngôn ngữ tự nhiên. Việc chuyển từ xử lý trên máy tính sang xử lý nhúng trực tiếp trên xe là một bước tiến quan trọng. Đồng thời, việc kết hợp thêm nhiều loại cảm biến khác và áp dụng các công nghệ giao tiếp tiên tiến hơn sẽ giúp chiếc xe trở nên thông minh và đáng tin cậy hơn, mở đường cho các ứng dụng trong robot tự hành, xe thông minh và các hệ thống tương tác người-máy thế hệ mới.

6.1. Các hạn chế cần khắc phục của mô hình hiện tại

Mô hình hiện tại tồn tại một số hạn chế cần được cải thiện. Đầu tiên, hệ thống nhận dạng giọng nói có thể gặp khó khăn khi xử lý trong môi trường có nhiều tiếng ồn hoặc với các giọng nói có ngữ điệu phức tạp. Thứ hai, việc truyền tín hiệu qua sóng RF 433MHz có thể gây ra độ trễ nhất định và dễ bị nhiễu, ảnh hưởng đến khả năng phản hồi tức thời của xe. Vấn đề bảo mật cũng chưa được quan tâm, hệ thống có thể bị điều khiển bởi một nguồn phát lạ. Cảm biến siêu âm HC-SR04 cũng có điểm yếu, nó có thể hoạt động không chính xác với các vật thể có bề mặt hấp thụ âm thanh hoặc các vật thể quá nhỏ. Cuối cùng, sự phụ thuộc vào máy tính làm cho hệ thống cồng kềnh và kém cơ động.

6.2. Hướng phát triển và nâng cấp xe mô hình trong tương lai

Để nâng cao hiệu quả, hướng phát triển tương lai có thể tập trung vào nhiều khía cạnh. Về phần mềm, có thể sử dụng các mô hình học sâu (Deep Learning) để tăng cường khả năng nhận dạng giọng nói và bổ sung công nghệ xử lý ngôn ngữ tự nhiên (NLP) để xe có thể hiểu các câu lệnh phức tạp hơn. Về phần cứng, có thể thay thế STM32F103C8T6 bằng một vi điều khiển mạnh hơn như ESP32, có tích hợp sẵn Wi-Fi và Bluetooth, cho phép giao tiếp trực tiếp với điện thoại thông minh và loại bỏ sự phụ thuộc vào máy tính và module RF. Việc tích hợp thêm các cảm biến như camera, IMU (cảm biến quán tính) sẽ giúp xe có khả năng tự định vị và lập bản đồ (SLAM). Thay vì chỉ dừng lại, xe có thể được lập trình các thuật toán tránh vật cản thông minh hơn. Cuối cùng, có thể phát triển một hệ thống tương tác đa phương thức (Multi-Modal), kết hợp điều khiển bằng giọng nói với cử chỉ hoặc màn hình cảm ứng, tạo ra trải nghiệm người dùng toàn diện và linh hoạt hơn.

20/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1.1 Tổng quan đề tài xe điều khiển bằng giọng nói Tín hiệu giọng nói được nhận từ micro cắm vào máy tính rồi được xử lý và gửi sang STM32F103C8T6, sau đó gửi tín hiệu điều khiển động cơ đến module điều khiển động cơ L298N. Tùy thuộc vào lệnh điều khiển được nhận, động cơ được kích hoạt để thực hiện các hành động tương ứng. Mạch thu phát RF UART 433Mhz HC- 12 nhận lệnh từ máy tính và điều khiển xe từ khoản cách xa. Cảm biến HC-SR04 nhận biết vật cản ( tối đa 20 cm).2 Sơ đồ khối của đề tài: Hình 1 Sơ đồ khối của đề tài PC nhận tín hiệu giọng nói và chuyển thành tín hiệu RF thông qua Module RF.

Sau đó phát tín hiệu cho mạch thu RF rồi chuyển về khối xử lý trung tâm. Khối trung tâm STM32: chịu trách nhiệm xử lý thông tin từ module RF và chuyển dữ liệu đến hệ thống điều khiển. Khối cảm biến: gửi và nhận thông tin tín hiệu để truyền đến khối trung tâm xử lý, từ đó quản lý động cơ. Khối công suất L298N: thu nhận chỉ thị từ khối trung tâm STM32 để quản lý hoạt động của động cơ.

8 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu phần cứng : 2.1 Giới thiệu STM32F103C8T6 là gì ? STM32F103C8T6 là bộ vi xử lý 32-bit, nằm trong dòng F1 của các chip STM32 sản xuất bởi ST. Vi xử lý sử dụng lõi xử lý ARM Cortex-M3 với tốc độ xử lý lên đến 72 MHz, đi kèm với bộ nhớ Flash lên đến 64 KB để lưu trữ chương trình ứng dụng. Bộ nhớ RAM tích hợp là 20 KB, giúp vi xử lý có đủ không gian để thực hiện các tác vụ nhúng phức tạp. MCU này hỗ trợ nhiều giao tiếp, bao gồm USART, SPI, I2C, CAN, và nhiều chân GPIO để kết nối với nhiều thiết bị và cảm biến khác nhau.0 có sẵn cho việc kết nối với máy tính hoặc các thiết bị khác.

Vi điều khiển này hoạt động từ nguồn cung cấp điện từ 2.6V, hỗ trợ hệ thống ngắt và nhiều chế độ tiêu thụ năng lượng để tối ưu hóa hiệu suất và tiêu thụ điện năng. Nó cũng có bộ đồng hồ thời gian thực (RTC) và khả năng tạo xung PWM. Hình 2 Vi xử lý STM32F103C8T6 9 2.2 Thông số kỹ thuật  Kích cỡ: 53.  Trang bị bộ xử lý 32-bit, lõi ARM COTEX M3, với tốc độ tối đa lên đến 72Mhz.

 Bộ nhớ bao gồm: 64 Kb bộ nhớ Flash và 20 Kb SRAM.  Điện áp 5VDC được cung cấp qua cổng Micro USB và chuyển đổi sang 3.3VDC bởi IC nguồn, phục vụ cho vi điều khiển chính.  Sử dụng thạch anh 8Mhz và thạch anh 32Khz cho các ứng dụng liên quan đến RTC.  Được trang bị đầy đủ các chân GPIO và các giao tiếp như: CAN, I2C, SPI, UART, USB, v.

 Tích hợp đèn LED chỉ báo trạng thái nguồn, LED PC13, và nút Reset. Mô tả chân Chân nguồn : VDD, VSS. Điện áp hoạt động từ 2.6V Chân GPIO: Các chân GPIO (PAx, PBx, PCx,.) là các chân IN/OUT với mục đích chung được sử dụng để kết nối với các thiết bị bên ngoài. Chúng có thể được cấu hình thành chân đầu vào đa năng hoặc chân đầu ra đa năng, hoặc theo một trong sáu cài đặt đặc biệt tối đa.

Các chức năng cụ thể phụ thuộc vào cách mà chúng được cấu hình. Chân SPI: STM32F103C8T6 được trang bị giao thức truyền thông SPI, một loại giao thức phổ biến dùng trong giao tiếp kiểu chủ-tớ. 10 Nó thường được áp dụng để thiết lập giao tiếp giữa bộ điều khiển và các thiết bị ngoại vi, bao gồm thanh ghi dịch chuyển và cảm biến, thông qua các chân như SPI1_NSS, SPI1_SCK, SPI1_MISO, và SPI1_MOSI. Chân I2C : STM32F103C8T6 hỗ trợ giao thức truyền thông I2C, đi kèm với hai chân kết nối chính là SDA và SCL.

SCL hoạt động như là đường dẫn tín hiệu đồng hồ nối tiếp, đảm bảo sự đồng bộ trong quá trình truyền dữ liệu qua bus I2C. SDA là chân dữ liệu nối tiếp, chịu trách nhiệm chuyển vận dữ liệu. Giao thức này đặc biệt nhấn mạnh vào sự tương tác chủ- tớ giữa các thiết bị liên kết. Chân UART: Vi điều khiển STM32F103C8T6 cũng tích hợp giao thức truyền thông nối tiếp UART, đi kèm với hai chân quan trọng là Rx và Tx.

Chân Tx, hay chân truyền, chịu trách nhiệm truyền dữ liệu nối tiếp từ vi điều khiển đến các thiết bị khác. Ngược lại, chân Rx, hay chân nhận, đảm bảo việc thu nhận dữ liệu nối tiếp từ các thiết bị ngoại vi về vi điều khiển. Các chân ngoại vi khác:  TIMx_CHx: Chân đầu ra PWM từ bộ đồng hồ thời gian (TIM - Timer) để điều khiển độ sáng, vận tốc độ, hoặc các ứng dụng điều khiển khác.  ADCx_INx: Chân đầu vào cho bộ chuyển đổi ADC để đo giá trị analog.

 CANx_RX, CANx_TX: Chân liên quan đến giao tiếp CAN.  USB_DM, USB_DP: Chân liên quan đến giao tiếp USB.  NRST: Chân thiết lập lại vi điều khiển.  BOOT0, BOOT1: Chân để chọn chế độ khởi động và cấu hình.

11  SWDIO, SWCLK: Chân cho giao tiếp và lập trình thông qua giao diện nối tiếp nhanh (SWD - Serial Wire Debug). Hình 3 Sơ đồ chân STM32F103C8T6 a. Ứng dụng:  Quản lý Robot và đối tượng tự động  Vận hành điện tử và tự động hóa  Thiết bị y tế di động  Thiết bị đo lường, điều khiển  Thiết bị giao tiếp mạng  Điều khiển motor và các thiết bị công nghệ  Hệ thống giám sát năng lượng và hệ thống solar  Hệ thống an ninh và điều khiển bảo mật 12  Máy in và các thiết bị ngoại vi 2.3 Cảm biến siêu âm HC-SR04 a. Cấu tạo Bộ phát: Được làm từ chất liệu gốm, có kích thước khoảng 15mm, dùng để phát ra sóng siêu âm.

Hoạt động dựa trên cơ chế rung động của máy rung, truyền sóng siêu âm vào không khí. Bộ thu: Gồm các thiết bị rung động cơ học, điều chỉnh để phù hợp với sóng siêu âm, chuyển đổi chúng thành năng lượng tại đầu ra của bộ thu. Bộ điều khiển: Được thiết kế để quản lý việc truyền sóng siêu âm từ bộ phát, thông qua mạch điện tích hợp. Điều này cho phép thu nhận tín hiệu và xác định kích thước của vật thể bởi bộ thu.

Nguồn điện DC: Hoạt động ở mức điện áp PCB ± 10%, 24V ± 10%. Nguyên lý hoạt động: Cảm biến siêu âm HC-SR04 đi kèm với bốn chân cơ bản: chân Vcc, chân Trigger, chân Echo và chân Ground. Cảm biến này được sử dụng chủ yếu để đo khoảng cách trực tiếp giữa chính nó và vật cản phía trước. Khi được cấp năng lượng, module này tạo ra sóng âm thanh siêu âm, phát đi trong không khí và phản xạ lại khi gặp vật cản.

Sóng phản xạ này sau đó được thu lại bởi bộ phận thu của cảm biến. HC-SR04 là loại cảm biến siêu âm không tiếp xúc, hoạt động dựa trên nguyên lý tiệm cận siêu âm. Nguyên lý làm việc của nó giống với cách thức định vị bằng tiếng vang ở một số loài động vật như cá da trơn. Trong đó, một máy phát sẽ gửi ra một chùm sóng siêu âm với vận tốc xác định (v) và sau đó đo thời gian (t) mà sóng này mất để phản xạ trở lại từ vật thể.

Khoảng thời gian này tỷ lệ thuận với khoảng cách (R) giữa cảm biến và đối tượng, và từ đó khoảng cách có thể được tính toán dựa trên phương trình liên quan. 13 Hình 4 Nguyên lý hoạt động HC SR04 (𝑣 ×𝑡) 𝑆= 2 Trong đó:  S là khoảng cách từ cảm biến đến vật thể.  v là tốc độ truyền âm thanh trong không khí.  t là thời gian mà sóng âm thanh cần để quay trở lại cảm biến sau khi phản xạ từ vật thể.4 Module điều khiển động cơ L298N a.

Cấu tạo L298N Module này cung cấp hai mức điện áp cho động cơ, là 12V và 5V. Cụ thể: Chân Power và GND: Là nguồn cấp điện cho động cơ. Chân Power dùng để cấp điện áp (12V hoặc 5V), còn chân GND để kết nối mặt đất. Jump A Enable và B Enable: Dùng để kích hoạt và điều khiển các chức năng của động cơ A và B.

Khi jumper được gắn, nó cho phép điều khiển động cơ tương ứng. 14 Các chân Input: IN1, IN2, IN3, IN4: Được sử dụng để nhận tín hiệu điều khiển từ vi điều khiển hoặc bộ điều khiển khác. Chúng xác định hướng và tốc độ quay của động cơ. Output A: Dùng để kết nối với động cơ A.

Cần chú ý kết nối đúng cực âm và dương để đảm bảo động cơ quay đúng hướng. Nếu sử dụng động cơ bước, cần đấu nối các pha một cách phù hợp để đảm bảo hoạt động chính xác của động cơ. Hình 5 Module điều khiển động cơ L298N b. Nguyên lý: Chân enableA và enableB được sử dụng để điều khiển hoạt động của mạch cầu H.

Khi chân này ở mức logic "1", mạch cầu H hoạt động. Khi chân này ở mức logic "0", mạch cầu H không hoạt động. Khi ENA (enableA) ở mức logic "0", động cơ sẽ ngừng quay với bất kỳ tín hiệu đầu vào nào. Khi ENA ở mức logic "1":  Nếu INT1 ở mức logic "1" và INT2 ở mức logic "0", động cơ sẽ quay cùng chiều.

 Nếu INT1 ở mức logic "0" và INT2 ở mức logic "1", động cơ sẽ quay ngược chiều. 15 Nếu cả INT1 và INT2 đều ở mức logic giống nhau (cả hai đều "0" hoặc cả hai đều "1"), động cơ sẽ ngừng hoạt động.5 Mạch thu phát RF UART 433Mhz HC-12 a. Cấu tạo mạch RF: Là một mạch thu phát RF với khả năng truyền dẫn trong khoảng cách lên đến 1 km, nó sử dụng giao thức UART để giao tiếp từ xa và được tích hợp vào các thiết bị điều khiển từ xa, xe điều khiển từ xa, cũng như thu thập thông tin từ các cảm biến từ xa. Mạch này hoạt động ở tần số 433MHz và có thể hoạt động ở mức điện áp từ 3.

Nó bao gồm các chân: VCC, GND, TXD, RXD, chân Set và chân Wake. Nguyên lý hoạt động: Mạch phát: dữ liệu từ vi điều khiển được đưa vào chân TXD, sau đó chuyển đổi thành sóng RF. Tín hiệu modul hóa được phát ra dưới dạng sóng radio ở tần số 433MHz thông qua anten. Mạch thu: Mô-đun thu HC-12 nhận sóng RF từ mô-đun phát hoặc từ các thiết bị khác tương thích ở tần số 433MHz.

Tín hiệu RF được demodul hóa để khôi phục lại dữ liệu ban đầu. Dữ liệu được truyền từ mô-đun thu vào chân RXD, được đọc và xử lý bởi vi điều khiển. 16 Hình 6 Mạch thu phát RF UART 433Mhz HC-12 2.2 Giới thiệu phần mềm 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ