.29 Nguồn tự tế dùng trên xe

Một phần của tài liệu Thiết kế xe lăn hỗ trợ người khuyết tật (Trang 59)

❖ Các thông số:

Loại Pin Lithium-ion

Điện áp tiêu chuẩn 24V

Dung lượng pin 20Ah

Dòng xả tối đa liên tục 10A

Điện áp sạc 42V

Trọng lượng Pin 3.5kg

Tiêu chuẩn CE,RoHS, Msds chứng nhận

49

Chương 4

QUY TRÌNH THIẾT KẾ

4.1 Sơ đồ khối

4.1.1 Thiết kế sơ đồ khối hệ thống

Hình 4. 1 Sơ đồ khối hệ thống

Chức năng các khối

- Khối nguồn: cung cấp nguồn ổn định cho toàn mạch hoạt động.

- Khối điều khiển trung tâm: thu thập các tín hiệu từ khối nhận dạng giọng nói và khối thu phát Wifi sau đó xử lí điều khiển khối công suất động cơ.

- Khối thu phát wifi: là cầu nối trung gian để nhận, gửi dữ liệu từ điện thoại và khối trung tâm để xử lí các hoạt đơng điều khiển

- Khối cơng suất điều khiển động cơ: nhận tín hiệu từ khối điều khiển trung tâm để điều khiển động cơ.

- Điện thoại Android: truyền, nhận dữ liệu qua lại với khối thu phát wifi.

- Khối nhận dạng giọng nói: Truyền dữ liệu đến khối điều khiển trung tâm để

50

4.1.2 Khối điều khiển trung tâm

Khối điều khiển trung tâm: thu thập các tín hiệu từ khối thu phát Wifi sau đó xử lí điều khiển khối cơng suất động cơ.

Hiện nay trên thị trường có rất nhiều dịng vi điều khiển khác nhau như PIC, AVR, 8051, Raspberry, Arduino... Tất cả đều có thể đáp ứng được yêu cầu đặt ra nhưng nhóm chọn Arduino vì nó có những ưu điểm sau:

- Giá thành rẻ, dễ sử dụng, là module hoàn chỉnh sử dụng vi điều khiển AVR.

- Kích thước nhỏ gọn.

- Là dịng vi điều khiển mã nguồn mở, có nhiều thư viện hổ trợ cho các module

chức năng khác nhau, trình biên dịch đơn giản, dễ sử dụng.

4.1.3 Khối thu phát Wifi

Chức năng của khối thu phát Wifi trong mơ hình này là để giao tiếp giữa khối điều khiển trung tâm và điện thoại, là cầu nối trung gian để nhận dữ liệu từ điện thoại sau đó gửi tới khối trung tâm để xử lí các hoạt đơng điều khiển và nhận dữ liệu ngược lại từ khối trung tâm để hiện thị lên trên điện thoại. Trên thị trường hiện nay có khá nhiều module Wifi hỗ trợ vi điều khiểu giao tiếp với thiết bị khác thông qua kết nối Wifi, một số module Wifi thường được sử dụng trong thực tế là: ESP8266-12E, module WiFi MT7687F IoT, ESP8266 NodeMCU,…

Tuy nhiên, dựa theo yêu cầu của đề tài thì module Wifi dùng để tạo điểm truy cập wifi (Wifi Access Point) cho phép các thiết bị khác kết nối, giao tiếp và điều khiển khiển nên nhóm thực hiện quyết định chọn module ESP8266 NodeMCU vì các lý do như: giá thành rẻ, tốc độ truyền phù hợp, dễ dàng tìm mua, sử dụng các mã nguồn mở thuận tiện cho việc lập trình và phù hợp với khả năng của sinh viên.

Điện áp hoạt động của ESP8266 NodeMCU là 5V và dòng hoạt động là 300mA.

4.1.4 Khối nhận dạng giọng nói

Để mạch nhận dạng giọng nói VR3 hoạt động ta sử dụng mức điện áp cấp vào là 5V lấy từ khối giảm áp. Hai chân Tx và Rx của mạch nhận dạng giọng nói VR3 ta

51

kết nối chéo với hai chận Rx và Tx của ESP8266 như hình trên đề truyền dữ liệu qua lại với ESP8266.

Hình 4. 2 Sơ đồ kết nối VR3

4.1.5 Khối công suất điều khiển động cơ

Động cơ được chọn trong mơ hình là động cơ giảm tốc DC để điều khiển xe chạy tiến, lùi, xoay trái, xoay phải, điều chỉnh tốc độ nhanh chậm theo ý muốn.

Hình 4. 3 Khối cơng suất điều khiển động cơ

52

4.1.6 Khối nguồn

Khối nguồn có chức năng tạo dịng và áp ổn định cung cấp cho mạch

Hình 4. 4 Nguồn thực tế dùng cho xe lăn điện

❖ Các thông số:

Loại Pin Lithium-ion

Điện áp tiêu chuẩn 24V

Dung lượng pin 20Ah

Dòng xả tối đa liên tục 10A

Điện áp sạc 42V

Trọng lượng Pin 3.5kg

Tiêu chuẩn CE,RoHS, Msds chứng nhận

Bảng 4. 1 Thông số kỹ thuật của nguồn

❖ Cơng suất tiêu thụ:

•Dịng ESP8266 1 chân GPIO là 20mA, trong hệ thống này sử dụng 8 chân GPIO nên dịng sẽ là 160mA.

•Dịng module 1 chân là 40mA, sử dụng 2 chân nên số dịng là 80mA. •Do đó, có tổng dịng là 240mA.

53

•Cơng suất tiêu thụ của hệ thống là: P = U*I = 5 *0.24= 1.2 W

❖ Tính thời gian sử dụng của xe:

Thời gian sử dụng của ắc quy phụ thuộc vào dung lượng của ắc quy và công suất của tải theo công thức dưới đây:

t = (A * V * ƞ)/ P

•Trong đó:

t: là thời gian sử dụng của ắc quy (giờ)

A: Dung lượng của ắc quy (Ah) V: Điện áp ắc quy (VDC)

ƞ: Hệ số sử dụng của ắc quy (Accu) ≈ 0.8 P: công suất tải (W)

Thời gian sử dụng bình

Do xe được điều khiển với 2 tốc độ nên ở mỗi mức độ sẽ có 1 thời gian sử dụng khác nhau, qua thực nghiệm và tính tốn đã cho ra kết quả:

t= (20*24*0.8) / (1.2+10x2) = 18.1h

Tương tự như vậy ta có được thời gian sử dụng khi tăng tốc: t= (20*24*0.8) / (1.2+20x2) = 9.3h

54

4.2 Sơ đồ nguyên lý

4.2.1 Sơ đồ ngun lí của tồn hệ thống

Sơ đồ nguyên lý của hệ thống được thể hiện rõ trong Hình 4.4

55

4.2.2 Sơ đồ nguyên lí của khối nhận diện giọng nói

Arduino lấy nguồn từ LM2596, sau đó cung cấp nguồn cho mạch nhận diện giọng nói VR3 và nhận tín hiệu từ VR3. Đối với mạch nhận diện giọng nói, cần phải học qua arduino để có thể nhận dạng tín hiệu.

Hình 4. 6 Sơ đồ ngun lý của khối nhận diện giọng nói

4.2.3 Sơ đồ nguyên lí của khối điều khiển động cơ bằng Arduino

Arduino cấp nguồn cho 2 mạch điều khiển động cơ. Mạch điều khiển động cơ BTS7960 được kết nối với Arduino với 2 chức năng chính là dùng để điều khiển motor quay thuận hoặc nghịch. Các tín hiệu từ VR3 sẽ được Arduino xử lý và xuất ra để điểu khiển bts7960 trái và bts7960 phải

Chân L_EN và R_EN dùng để điều khiển tốc độ của động cơ Chiều chuyển động của motor:

Khi R_PWM=1 và L_PWM=0 thì motor quay theo chiều thuận Khi R_PWM=0 và L_PWM=1 thì motor quay theo chiều nghịch Khi R_PWM=0 và L_PWM=0 thì motor sẽ khơng quay

Hình 4. 7 Sơ đồ nguyên lí của khối điều khiển động cơ bằng Arduino

56

4.2.4 Sơ đồ nguyên lí của khối điều khiển động cơ bằng Esp8266

Cũng tương tự như Arduino, mạch thu phát wifi esp8266 cũng dùng để điều khiển các chân L_EN, R_EN, L_PWM và R_PWM

Nhờ nguồn cấp cho BTS7960 có sẵn từ Arduino, thì esp8266 sẽ khơng cần cấp VCC và GND và cách điều khiển BTS7960 cũng tương tự như Arduino

Hình 4. 8 Sơ đồ nguyên lí của khối điều khiển động cơ bằng Esp8266

4.2.5 Sơ đồ nguyên lí của khối nguồn động cơ

Hình 4. 9 Sơ đồ nguyên lí của khối nguồn động cơ

Với mạch điều khiển động cơ BTS7960 điều khiển các động cơ cần điện áp lớn thì nguồn pin 24V là nguồn thích hợp

Khi nhận tín hiệu từ L_EN, R_EN, L_PWM và R_PWM

Khi R_PWM=1 và L_PWM=0 thì M+sẽ được cấp nguồn dương (B+) và M- sẽ được cấp nguồn âm (B-), làm cho motor quay theo chiều thuận

Khi R_PWM=0 và L_PWM=1 thì M+sẽ được cấp nguồn dương (B-) và M- sẽ được cấp nguồn âm (B+), làm cho motor quay theo chiều nghịch

Khi R_PWM=0 và L_PWM=0 thì M+ và M- sẽ không nhận nguồn

57

Chương 5

THI CƠNG

5.1. Lập trình hệ thống

5.1.1 Lưu đồ giải thuật tồn hệ thống

Hình 5. 1 Lưu đồ giải thuật toàn hệ thống

Giải thích lưu đồ tồn hệ thống: Khi cấp điện hệ thống, chương trình bắt đầu chạy. Nguồn vào là các tín hiệu từ app (khi người dùng nhấn các phím điều hướng trên), các lệnh thoại từ giọng nói của người đọc.

58

Đầu tiên sẽ kiểm tra xem có bất kì giọng đọc nào khơng, nếu có thì sẽ tiếp tục kiểm tra là có đang nhấn app hay khơng. Nếu lúc đó cũng có tín hiệu từ app thì sẽ ưu tiên thực hiện lệnh của app, nếu khơng có tín hiệu từ app thì mới thực hiện lệnh của giọng nói.

Nếu đầu tiên thấy khơng có lệnh nào từ giọng nói, sẽ bắt đầu tiếp tục kiểm tra rằng app có tín hiệu điều khiển hay khơng, nếu có thì sẽ thực hiện lệnh nhận được từ app. Nếu khơng có lệnh từ cả app và của cả giọng nói thì sẽ quay lại từ đầu để thực hiện phần nói hoặc nhấn lại và đi kiểm tra tiếp tục.

59

5.1.2 Lưu đồ giải thuật điều khiển bằng App Blynk

Hình 5. 3 Lưu đồ giải thuật bằng App Blynk

Giải thích lưu đồ điều khiển bằng app:

Khi cấp nguồn cho hệ thống hoạt động, ta bắt đầu nhập tín hiệu đầu vào bằng cách nhấn đè nút bất kì mà ta muốn điều khiển của app trên màn hình điện thoại.

Khối kiểm tra phím điều hướng xe lăn: Khi có nhấn đè một trong các nút tới, lui, trái, phải (chỉ được nhấn một phím) thì lệnh đó sẽ kích hoạt tín hiệu điều khiển lên mức 1 và được gửi sang chương trình chính để điều khiển xe theo hướng đó. Khi bng phím ra hoặc chuyển hướng thì tín hiệu điều khiển sẽ quay về mức 0.

60

5.1.3 Lưu đồ giải thuật điều khiển bằng giọng nói

Hình 5. 4 Lưu đồ giải thuật tồn điều khiển bằng giọng nói

Giải thích lưu đồ điều khiển bằng giọng nói:

Khi cấp nguồn khởi động hệ thống thì ta bắt đầu đọc các lệnh thoại mà đã từng huấn luyện (nhanh, tới, lui, trái, phải, dừng) để nạp tín hiệu đầu vào

Đầu tiên, kiểm tra lệnh thoại nói "tới". Nếu có nhận dạng được lệnh "tới" này từ Module nhận dạng giọng nói thì sẽ xuất đi một tín hiệu để báo hiệu có lệnh tới và gửi sang chương trình điều khiển xe lăn theo hướng tới.

61

Nếu đầu tiên khơng nhận được tín hiệu "tới" thì sẽ tiếp tục đi kiểm tra xem có tín hiệu "lui", nếu có tín hiệu "lui" thì cũng gửi tín hiệu đó sang chương trình điều khiển xe và lần lượt cứ thế ta kiểm tra các lệnh "trái", "phải", "dừng","nhanh". Khi thực hiện một lệnh thoại thì các tín hiệu của các lệnh thoại khác sẽ bị quay về mức không.

Riêng đối với lệnh thoại "dừng" nếu có tín hiệu (lên mức 1) thì sẽ làm các tín hiệu khác bị reset trở về mức 0 hết.

5.2. Giao diện điều khiển và hướng dẫn sử dụng app Blynk 5.2.1 Giới thiệu Blynk 5.2.1 Giới thiệu Blynk

Blynk là một phần mềm được thiết kế cho Internet of Things (IoT), phục vụ cho các nhu cầu tiếp cận IoT, là một Platform để chúng ta có thể tự tạo ra một sản phẩm IoT do it yourself (DIY) một cách dễ dàng nhất. Nó có thể:

- Điều khiển các thiết bị phần cứng từ xa. - Hiển thị dữ liệu cảm biến.

- Lưu trữ dữ liệu… và nhiều điều thú vị khác. Blynk hoạt động như thế nào?

Có ba thành phần chính trong nền tảng:

- Blynk App - cho phép tạo giao diện cho sản phẩm bằng cách kéo thả các widget khác nhau mà nhà cung cấp đã thiết kế sẵn.

- Blynk Server - chịu trách nhiệm xử lý dữ liệu trung tâm giữa điện thoại, máy tính bảng và phần cứng. Chúng ta có thể sử dụng Blynk Cloud của Blynk cung cấp hoặc tự tạo máy chủ Blynk riêng của mình. Vì đây là mã nguồn mở, nên mọi người đều có thể dễ dàng intergrate vào các thiết bị và thậm chí có thể sử dụng Raspberry Pi làm server của mỗi cá nhân.

- Library Blynk – support cho hầu hết tất cả các nền tảng phần cứng phổ biến - cho phép giao tiếp với máy chủ và xử lý tất cả các lệnh đến và đi.

62

Bây giờ hãy tưởng tượng: mỗi khi chúng ta nhấn một nút trong ứng dụng Blynk, yêu cầu sẽ chuyển đến server của Blynk, server sẽ kết nối đến phần cứng thông qua library. Tương tự thiết bị phần cứng sẽ truyền dữ liệu ngược lại đến server.

Hình 5. 5 Cách thức giao tiếp

Tính năng, đặc điểm

- Cung cấp API & giao diện người dùng tương tự cho tất cả các thiết bị và phần cứng được hỗ trợ

- Kết nối với server bằng cách sử dụng: - Wifi

- Bluetooth và BLE

- Ethernet

- USB (Serial)

- GSM

Các tiện ích trên giao diện được cung cấp dễ sử dụng:

- Thao tác kéo thả trực tiếp giao diện mà không cần viết mã.

- Dễ dàng tích hợp và thêm chức năng mới bằng cách sử dụng các cổng kết nối

63

- Theo dõi lịch sử dữ liệu.

- Thông tin liên lạc từ thiết bị đến thiết bị bằng Widget.

- Gửi email, tweet, thông báo realtime, v.v.... được cập nhật các tính năng liên tục và còn rất nhiều các phiên bản.

5.2.2 Hướng dẫn sử dụng app Blynk

(Cách thức cài đặt và setup có trong phần phụ lục)

Chúng ta có giao diện điều khiển như sau:

Hình 5. 6 Giao diện điều khiển xe

Trước khi bắt đầu thiết kế App điều khiển nhóm đã đặt ra một số các yêu cầu về giao diện và tính năng như: giao diện đơn giản, dễ sử dụng, chỉ cần một lần chạm là có thể tiến hành di chuyển. App cũng hướng tới sự đơn giản dễ dàng thao tác.

64

Khi bấm phím “Tiến”, “Lùi”, “Trái”, “Phải”, “ Dừng”:

Hình 5. 7 Khi bấm "Tiến" và "Lùi"

65

Hình 5. 9 Khi bấm "Dừng"

5.3. Giới thiệu phần lập trình vi điều khiển

Giới thiệu phần mềm lập trình Arduino IDE

Mơi trường phát triển tích hợp (IDE) của Arduino là một ứng dụng đa nền tảng được viết bằng Java. Nó được thiết kế để dành cho những người mới tập làm quen với lĩnh vực phát triển phần mềm. Nó bao gồm một chương trình code editor với các chức năng như đánh dấu cú pháp, và tự động canh lề, cũng như compile (biên dịch) và upload chương trình lên board chỉ với 1 cú nhấp chuột.

Đề tài sử dụng phần mềm Arduino IDE để lập trình cho Arduino UNO R3 và ESP8266 NodeMCU. Ngôn ngữ được sử dụng ở ArduinoIDE là C và C++. Tất cả đều là mã nguồn mở, được đóng góp và hỗ trợ rất nhiều từ cộng đồng, rất thích hợp cho những ai mới bắt đầu tìm hiểu hoặc khơng chun để dễ dàng tiếp cận, nắm bắt và triển khai nhanh chóng. Arduino IDE hoạt động được trên cả 3 nền tảng: Windows, MAC OS và Linux

66

Hình 5. 10 Code mẫu

5.4 Hướng dẫn sử dụng bằng giọng nói

(Quy trình cho VR3 học có trong phụ luc)

Bước1: Đối với xe lăn chúng ta nhấn cơng tắc sang vị trí “ON” để cấp nguồn cho xe và hộp điều khiển.

Bước2: Sau khi cấp nguồn cho mơ hình xe thì chúng ta bắt đầu đọc các lệnh điều khiển vào micro đã được huấn luyện cho module nhận dạng giọng nói VR3.

Hình 5. 11 Bộ xử lí VR3 khi vừa bật cơng tắc ON

Khi đó ta bắt đầu nói vào Micro, bộ xử lí sẽ bắt đầu tiếp nhận giọng nói, lọc giọng và nhận dạng như hình bên dưới khi ta đọc lên

67

Hình 5. 12 Khi đọc lệnh "nhanh" vào micro

Hình 5. 13 Khi đọc lệnh "Tiến" và “Lùi” vào micro

Khi đọc lệnh khác 1 lệnh trước đó, hệ thống sẽ tự động xóa lệnh trước đó và cài đặt lại bộ xử lí để tiếp nhận thơng tin kế tiếp. Cũng tương tự như lệnh “Tiến” và “Lùi nhưng lệnh trái và phải được cài đặt để rẽ trái hoặc phải 1 giây:

68

Hình 5. 15 Lệnh "Dừng" để ngắt động cơ

5.5 Thiết kế

5.5.1 Thiết kế mơ hình

Hình 5. 16 Mơ hình xe lăn mơ phỏng

69

5.5.2 Mơ hình thực tế

Một phần của tài liệu Thiết kế xe lăn hỗ trợ người khuyết tật (Trang 59)

Tải bản đầy đủ (PDF)

(102 trang)