Tải bản đầy đủ (.pdf) (43 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.95 MB, 43 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

BỘ CÔNG THƯƠNG

<b>TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH KHOA CƠNG NGHỆ ĐIỆN TỬ </b>

PHAN NGUYỄN TẤN THÀNH NGUYỄN ĐÌNH THĂNG

<b>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 </b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

THƠNG TIN CHUNG

Họ và tên sinh viên:

1) Phan Nguyễn Tấn Thành ... MSHV: 19440191 2) Nguyễn Đình Thăng ... MSHV: 19432461

Lớp : DTVT15ATT ... Khóa: 2019-2023 ...

Chuyên ngành : ĐIỆN TỬ VIỄN THÔNG - ... Mã chuyên ngành: 751302 ...

SĐT : 0963681854 0899905432 –Email : ...

: ...

Địa chỉ liên hệ :14, Phan Văn Trị, P7, Gò Vấp, Tp.HCM ...

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

Người hướng dẫn TS. Nguyễn Hoàng Việt : ...

SĐT : 0943863333 ...

Email : ...

Cơ quan công tác : Trường ĐH Công Nghiệp TP HCM ...

<i>Tp. Hồ Chí Minh, ngày 7 tháng 11 năm 20</i>23<i>….… </i><b>Người hướng dẫn </b><i>(Ký và ghi rõ họ tên) </i>Sinh viên <i>(Ký và ghi rõ họ tên) </i> Phan Nguyễn Tấn Thành

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

2. Mục tiêu của đề tài ... 6

3. Đối tượng và phạm vi nghiên cứu ... 7

4. Ý nghĩa thực tiễn của đề tài ... 7

5. Ý nghĩa khoa học của đề tài... 7

<b>CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI ... 8 </b>

1.1<i> Tổng quan đề tài xe điều khiển bằng giọng nói</i> ... 8

1.2<i> Sơ đồ khối của đề tài:</i> ... 8

<b>CHƯƠNG 2CƠ SỞ LÝ THUYẾT</b> ... 9

2.1<i> Giới thiệu phần cứng :</i> ... 9

2.1.1 Giới thiệu STM32F103C8T6 là gì ? ... 9

2.1.2 Thông số kỹ thuật ... 10

2.1.3 Cảm biến siêu âm HC-SR04 ... 13

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

2.1.5 Mạch thu phát RF UART 433Mhz HC-12 ... 16

2.2<i> Giới thiệu phần mềm</i> ... 17

2.2.1 Công nghệ nhận dạng giọng nói ... 17

<b>CHƯƠNG 3PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG</b> ... 20

3.1<i> Cấu tạo </i>mơ hình ... 20

3.2<i> Thiết kế hệ thống và Tính tốn:</i> ... 20

3.2.1 Thiết kế sơ đồ khối của hệ thống: ... 20

3.2.2 Sơ đồ nguyên lý: ... 21

3.2.3 Phân tích hệ thống: ... 21

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

4.6<i> Viết chương trình nhận dạng giọng nói trên máy tính:</i> ... 32

4.7<i> Lưu đồ giải thuật:</i> ... 33

<b>CHƯƠNG 5THỰC NGHIỆM VÀ ĐÁNH GIÁ</b> ... 35

Save to a Studylist

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Hình 7 Thư viện C# trong nhận dạng giọng nói ... 17

Hình 8 Cơng nghệ nhận dạng giọng nói gắn liền với trí tuệ nhân tạo ... 19

Hình 9 Sơ đồ lắp đặt phần cứng ... 20

Hình 10 sơ đồ ngun lý mơ hình ... 21

Hình 11 Mơ hình sau khi lắp ... 22

Hình 12 giao diện khởi động STM32CubeMX ... 23

Hình 13 Lựa chọn vi điều khiển ... 24

Hình 14 STM32F103C8T6 trong CubeMX ... 25

Hình 15 kết thúc setting và chọn phần mềm viết code ... 25

Hình 16 Chọn phần mềm KeilC để viết code ... 26

Hình 17 Hồn thành code và build thành cơng ... 27

Hình 18 cài đặt phần mềm Microsoft Visual Studio ... 27

Hình 19 tạo project để viết chương trình ... 28

Hình 20 code chương trình ... 29

Hình 21 bắt đầu chạy mơ phỏng ... 29

Hình 22 Lưu đồ giải thuật ... 33

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

M<b>Ở ĐẦU</b>

<b>1. Đặt vấn đề </b>

Trong kỷ nguyên hiện đại, sự phát triển của công nghệ nhận dạng giọng nói đã đánh dấu bước tiến vượt bậc trong lĩnh vực AI và tự động hóa. Việc sử dụng giọng nói để điều khiển thiết bị khơng chỉ mang lại tiện ích trong sinh hoạt mà cịn nâng cao khả năng của công nghệ hiện đại.

Công nghệ điều khiển bằng giọng nói đang dần thay thế nút bấm và thiết bị điều khiển truyền thống. Từ nhà thông minh đến xe hơi, từ đèn thông minh đến các thiết bị gia dụng, tất cả đều hướng tới việc giảm thiểu sự tương tác vật lý và tăng cường sự tiện lợi.

Một lĩnh vực nổi bật trong ứng dụng công nghệ này là xe hơi điều khiển bằng giọng nói, cho phép người dùng điều khiển xe mà không cần chạm vào bất kỳ bộ phận nào, mở ra một kỷ nguyên mới trong ngành công nghiệp AI.

<b>2. Mục tiêu của đề tài </b>

Mục tiêu của đề tài là thiết kế và thi công một hệ thống xe mơ hình có khả năng điều khiển được bằng giọng nói qua máy tính. Sử dụng các thành phần chính như:

Viết chương trình cho STM32F103C8T6 Module điều khiển động cơ L298N Mạch thu phát RF UART 433Mhz HC-12 Cảm biến HC-SR04.

Cơng nghệ nhận dạng giọng nói.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>3. Đối tượng và phạm vi nghiên cứu </b>

Đối tượng của dự án này bao gồm những người muốn tìm hiểu về kết hợp giữa cơng nghệ giọng nói và điều khiển xe tự động. Phạm vi nghiên cứu tập trung vào việc phát triển phần mềm và phần cứng để tạo ra một hệ thống hoạt động linh hoạt, chính xác và ổn định.

4<b>. Ý nghĩa thực tiễn của đề tài</b>

Hệ thống điều khiển xe bằng giọng nói khơng chỉ hỗ trợ người dùng với khả năng di chuyển tự động mà cịn có thể sử dụng rộng rãi trong các ngành như hệ thống giao thơng thơng minh và các ứng dụng giải trí khác.

<b>5. Ý nghĩa khoa học của đề tài </b>

Đề tài này góp phần vào lĩnh vực trí tuệ nhân tạo và điều khiển tự động bằng cách nghiên cứu và phát triển các phương pháp điều khiển xe thông qua giọng nói. Nó mở ra những cánh cửa mới cho việc ứng dụng cơng nghệ giọng nói trong các hệ thống điều khiển tự động.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI</b>

1.1 T<b>ổng quan đề tài xe điều khiển bằng giọng nói</b>

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

1.2<b> Sơ đồ khối của đề tài:</b>

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

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>CHƯƠNG 2 CƠ SỞ LÝ THUYẾT </b>

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. Cổng USB 2.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.0V đến 3.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

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

2.1.2 Thơng số kỹ thuật Kích cỡ: 53.34 x 15.24 mm.

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

Tích hợp đèn LED chỉ báo trạng thái nguồn, LED PC13, và nút Reset.

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

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

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.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

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.<b> Ứng dụng</b>:

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

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Máy in và các thiết bị ngoại vi2.1.3 Cảm biến siêu âm HC SR04-

a.<b> Cấu tạo</b>

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%. b. <b>Nguyên lý hoạt động:</b>

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ố lồ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 tốn dựa trên phương trình liên quan.

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Hình 4 Nguyên lý hoạt động HC SR04

𝑆 =(𝑣 ×𝑡)2Trong đó:

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

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

a.<b> Cấu tạo L298N</b>

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.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

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

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

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.

2.1.5 Mạch thu phát RF UART 433Mhz HC-12 a.<b> Cấu tạo mạch RF</b>:

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 đến1 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ếtbị điều khiển từ xa, xe điều khiển từ xa, cũng nhưthuthập thông tin từ cáccảm biếntừ xa. Mạch này hoạt động ở tần số 433MHz và có thể hoạt động ở mức điện áptừ3.2V đến 5.5V. Nó bao gồm các chân: VCC, GND, TXD, RXD, chân Set và chân Wake.

<b>b. Nguyên lý hoạt động: </b>

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.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Hình 6 Mạch thu phát RF UART 433Mhz HC-12

2.2<b> Giới thiệu phần mềm</b>

2.2.1 Cơng nghệ nhận dạng giọng nói

Hình 7 Thư viện C# trong nhận dạng giọng nói

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Thư viện C# hỗ trợ nhận diện giọng nói là một bộ cơng cụ, gói phần mềm, hoặc API (Interface Lập trình Ứng dụng) được thiết kế để giúp ứng dụng C# có khả năng nhận diện và xử lý giọng nói từ người dùng. Điều này thường được sử dụng trong các ứng dụng như trợ lý ảo, hệ thống điều khiển giọng nói, hoặc các ứng dụng ghi âm.

Dưới đây là một giải thích về một số khái niệm chính và tính năng của các thư viện C# hỗ trợ nhận diện giọng nói:

Speech Recognition Engine (Động cơ nhận diện giọng nói): Thư viện thường cung cấp một động cơ nhận diện giọng nói, một thành phần chính để xử lý và phân tích tín hiệu âm thanh từ microphone hoặc nguồn âm thanh khác.

Ngữ Pháp (Grammar): Ngữ pháp xác định những từ và cấu trúc ngữ pháp mà hệ thống có thể nhận diện. Người phát triển có thể định nghĩa ngữ pháp để chỉ định loại từ vựng hoặc cú pháp cụ thể mà hệ thống sẽ nhận diện.

Sự Kiện Nhận Diện (Recognition Events): Thư viện thường cung cấp các sự kiện (events) mà ứng dụng có thể đăng ký để xử lý khi một từ hoặc cụm từ được nhận diện. Điều này cho phép ứng dụng thực hiện các hành động cụ thể dựa trên ngữ cảnh. Quản lý Thiết Bị Âm Thanh: Các thư viện thường hỗ trợ quản lý và cấu hình thiết bị

âm thanh, chẳng hạn như microphone, để đảm bảo rằng hệ thống có thể thu âm và xử lý âm thanh một cách hiệu quả.

Dưới đây là một số ví dụ về các thư viện C# phổ biến trong lĩnh vực nhận diện giọng nói:

System.Speech.Recognition: Là một phần của .NET Framework, cung cấp các lớp để thực hiện nhận diện giọng nói trong ứng dụng C#.

Microsoft Speech SDK: Một bộ cơng cụ mạnh mẽ của Microsoft cung cấp các tính năng nhận diện giọng nói và tổng hợp giọng nói.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

Google Cloud Speech-to-Text API: Cho phép tích hợp dịch vụ nhận diện giọng nói từ Google Cloud vào ứng dụng C#.

Hình 8 Cơng nghệ nhận dạng giọng nói gắn liền với trí tuệ nhân tạo

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG </b>

3.1<b> Cấu tạo mô hình</b>

Mơ hình xe điều khiển được thiết kế với các thành phần sau: Trung tâm điều khiển: STM32F103C8T6.

Module phát hiện vật càn: module cảm biến siêu âm SR04. Mạch thu phát : RF HC-12

Mạch công suất: mạch cầu H ( L298N ).

Khung xe: gồm 2 động cơ ,1 bánh đa hướng, tấm khung xe.3.2<b> Thiết kế hệ thống và Tính tốn:</b>

3.2.1 Thiết kế sơ đồ khối của hệ thống:

Hình 9 Sơ đồ lắp đặt phần cứng

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

b. Tính tốn:

S d ng bử ụ ộ chia áp để chuyển đổi điện áp từ 5V xuống 3,3V và mắc điện trở chân echo song song.

𝑣<small>0</small>=𝑣<sub>𝑖</sub>. <sup>𝑅</sup><sup>2</sup>𝑅<small>1</small>+𝑅<sub>2</sub> <sup>=5𝑉.</sup>

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b>CHƯƠNG 4 CÀI ĐẶT PHẦN MỀM </b>

4.1<b> Cài đăt phần mềm</b>: Chuẩn bị:

1 máy vi tính 1 STM32F103C8T6

Mạch thu phát RF UART 433Mhz HC-12 4.2<b> Phần mềm </b>STM32CubeMX:

<b>Bước 1: </b>

Tải phần mềm STM32CubeMX. Chọn “ACCESS TO MCU SELECTOR”

Hình 12 giao diện khởi động STM32CubeMX

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<b>Bước 2: </b>

Tại khung Commercial nhập “STM32F103C8T6” và chọn vi xử lý.

Hình 13 Lựa chọn vi điều khiển

<b>Bước 3: </b>

Bắt đầu setting cho các chân của vi xử lý

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

Hình 14 STM32F103C8T6 trong CubeMX

<b>Bước 4: </b>

Chọn phần mềm viết code → GENERATE CODE

Hình 15 kết thúc setting và chọn phần mềm viết code

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

4.3 P<b>hần mềm</b> KeilC v5:

<b>Bước 1: sau khi tạo code từ CubeMX → chuyển sang phần mềm KeilC → chọn </b>

main.c và bắt đầu biết code

Hình 16 Chọn phần mềm KeilC để viết code

<b>Bước 2: </b>

Hồn thành code và build thành cơng

</div>

×