3.4.1 Lựa chọn bộ thu tín hiệu EEG
Đề tài sử dụng bộ đo điện não Emotiv EPOC+ 14 kênh do thiết kế nhỏ gọn có kích thước 9x15x15cm. Khối lượng 170g gồm có 14 kênh cảm biến toàn bộ não trong đó có
2 kênh F7 và F8 để thu tín hiệu chuyển động của mắt (vì bộ Emotiv 4 kênh không có kênh F8) nên ta phải sử dụng bộ đo điện não từ 14 kênh trở lên mới có đầy đủ 2 kênh F7 và F8 để thu tín hiệu điện não. Có hỗ trợ kết nối không dây sử dụng bluetooth 4.0 khoảng cách truyền dữ liệu trong phạm vi 15m vì đề tài không cần truyền tín hiệu trong phạm vi xa.
Hình 3.13: Bộ đo điện não Emotiv EPOC+ 14 kênh.
3.4.2 Thiết kế khối xử lý tín hiệu
Vì Emotiv hỗ trợ phần mềm trên hệ điều hành của máy tính nên ta không sử dụng
tín hiệu, hỗ trợ tốt việc giao tiếp các thiết bị ngoại vi và module từ bên ngoài (bluetooth, UART, HDMI…).
3.4.3 Thiết kế khối nhận dữ liệu bluetooth
Dữ liệu sau khi được xử lý sẽ được truyền đến cho bộ xử lý trung tâm để điều khiển động cơ. Với mục đích hạn chế sự phức tạp trong truyền dữ liệu có dây và tăng tính linh hoạt khi điều khiển thiết bị thì truyền dữ liệu không dây bằng bluetooth là giải pháp hợp lý nhất. Trên thị trường hiện nay có khá nhiều module bluetooth hỗ trợ vi điều khiển giao tiếp với thiết bị khác nhau thông qua kết nối bluetooth. Một số module bluetooth thường được sử dụng trong thực tế như: module bluetooth HC-05, module bluetooth HC-06. Tuy nhiên module bluetooth HC-05 là lựa chọn tối ưu cho đề tài này vì giá thành rẻ hơn so với các module khác, dễ dàng mua ở thị trường Việt Nam được nhiều người sử dụng và đánh giá ổn định. Các thông số phù hợp với hệ thống gồm:
Nguồn sử dụng là 5V nằm trong ngưỡng hoạt động 3~5 VDC của HC-05.
Dòng điện khi hoạt động: khi Pairing 30 mA, sau khi pairing hoạt động truyền nhận bình thường 8 mA.
Thiết kế nhỏ gọn: 15.2*35.7*5.6mm.
Khoảng cách truyền dữ liệu trong phạm vi 15m.
Truyền dữ liệu nối tiếp, giao tiếp với Arduino Nano thông qua chân TX, RX chuẩn UART ít dây kết nối đơn giản không phức tạp (so với chuẩn SPI) mà đáp ứng được dữ liệu truyền đi ít bị thất thoát.
Công suất tiêu thụ 0.15W. Ta có sơ đồ nguyên lý như sau:
Hình 3.14: Sơ đồ nguyên lý của mạch nhận và truyền dữ liệu Bluetooth HC-05 với Arduino Nano.
3.4.4 Thiết kế bộ xử lý trung tâm
Khối xử lý trung tâm: thu thập tín hiệu từ máy tính bằng bluetooth rồi gửi tín hiệu điều khiển qua driver A4988 thông qua board mở rộng DRV8825 để điều khiển động cơ của khung cánh tay. Với yêu cầu trên ta đều có thể sử dụng nhiều loại vi điều khiển khác nhau như PIC, AVR, 8051, Raspberry, Arduino... làm khối xử lý đều có thể đáp ứng được đầy đủ yêu cầu của hệ thống nhưng trong đề tài chọn Arduino nano vì nó có những ưu điểm sau:
Giá thành rẻ hơn so với các dòng arduino uno, mega...., dễ sử dụng là module hoàn chỉnh sử dụng chip ATmega328.
Kích thước nhỏ gọn 1.85cm x 4.3cm so với những dòng arduino khác.
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.
Thời gian đáp ứng nhanh 62.5ns.
Arduino nano có 14 chân I/O đáp ứng đủ kết nối với các module trong đề tài. Công suất tiêu thụ 0.2W.
3.4.5 Thiết kế bộ điều khiển
Hiện nay, trên thị trường có nhiều driver điều khiển động cơ bước như TB6560, L298, LV8729, ULN2003, A4988… Nhưng trong đề tài sử dụng module điều khiển driver A4988 vì nó có những ưu điểm sau phù hợp với đề tài:
Giá thành rẻ hơn so với module còn lại, dễ tìm kiếm trên thị trường.
A4988 là bộ chuyển đổi và bảo vệ quá dòng điều khiển động cơ bước chế độ DMOS, mạch có bộ ổn định dòng điện.
Thích hợp điều khiển động cơ bước 8V~35V, 2A. Giao tiếp và điều khiển đơn giản.
Chế độ điều khiển: full, half, 1/4, 1/8 và 1/16.
Điều chỉnh biến trở để thay đổi dòng ngõ ra max, tốc độ bước cao hơn. Tự động dò cường độ dòng điện.
Có mạch shutdown khi quá nhiệt, quá áp và quá dòng. Công suất tiêu thụ 0.02W.
Hình 3.15: Sơ đồ kết nối chân của driver A4988 với động cơ bước.
3.4.6 Lựa chọn động cơ
Sử dụng động cơ bước size 42 có khả năng quay chính xác góc, lập trình dễ dàng, kích thước tương đối nhỏ gọn, lại có khả năng chịu tải lớn nên được sử dụng rất nhiều trong các máy móc, robot. Về hoạt động: động cơ bước không quay theo cơ chế thông thường, chúng quay theo từng bước nên có độ chính xác rất cao. Chúng làm việc nhờ các bộ chuyển mạch điện tử đưa các tín hiệu điều khiển vào stator theo thứ tự và một tần số nhất định. Tổng số góc quay của roto tương ứng với số lần chuyển mạch, cũng như chiều quay và tốc độ quay của rotor phụ thuộc vào thứ tự chuyển đổi và tần số chuyển đổi. Trong đề tài này thì nhóm sử dụng để quay cánh tay trợ lực giúp hỗ trợ cho con người. Động cơ có momen xoắn 400N.cm thì lực nâng được tính như sau: F = 400/20 = 20 N (trong đó 20 là chiều dài của cánh tay), động cơ có thể nâng tối đa 2.04kg (lấy gia tốc trọng trường bằng 9.8m/s2). Công suất tiêu thụ của động cơ 2.3W nằm trong tầm hoạt động của driver A4988.
Ưu điểm:
Có thể điều khiển chính xác góc quay. Giá thành thấp.
Nhược điểm:
Về cơ bản dòng từ drive tới cuộn dây động cơ không thể tăng hoặc giảm trong lúc hoạt động. Do đó, nếu bị quá tải động cơ sẽ bị trượt bước gây sai lệch trong điều khiển.
3.4.7 Thiết kế khối nguồn
Khối nguồn có chức năng cung cấp điện áp ổn định cho mạch. Thiết kế khối sạc cho pin Lipo 2000mAh 3.7V - 1A gồm 3 cell pin kết nối lại với nhau thông qua mạch sạc điện áp ngõ ra 11.1V để cung cấp cho động cơ theo sơ đồ hình 3.16 sau:
Hình 3.16: Sơ đồ kết nối pin lipo với mạch sạc.
Động cơ step sử dụng pin lipo dung lượng 6000mAH (từ 3 pin 2000mAH), điện áp đầu ra 11.1VDC (sau khi kết nối 3 pin lại với nhau). Sử dụng bộ nguồn sạc pin với đầu vào 12VDC.
Bảng 3.1: Thống kê dòng tải của các linh kiện. Linh kiện Arduino Nano HC05 Step motor A4988 Tổng dòng tiêu thụ: I MAX (3.25)
Từ bảng 3.1 ta thay vào công thức (3.25) ta có:
I
MAX
Công suất tiêu thụ của hệ thống:
Chọn khối nguồn là 3 pin LIPO 2000mAh (1A) – 3,7V là đủ để cung cấp cho mạch và động cơ hoạt động.
Nên ta có thể tính được thời lượng sử dụng PIN là:
t
t: là thời gian sử dụng điện từ pin (giờ). A: Dung lượng pin (mAh).
V: Điện áp pin (Volt). P: Công suất tải (W).
η: Hệ số sử dụng pin. Thông thường η=0,7.
t
3.5 SƠ ĐỒ NGUYÊN LÝ CỦA BỘ ĐIỀU KHIỂN KHUNG CÁNH TAY TRỢ LỰC LỰC
Sơ đồ nguyên lý của bộ điều khiển gồm khối nguồn cung cấp nguồn cho toàn bộ mạch hoạt động và được sạc thông qua giắc cắm DC 12V. Arduino nano (bộ xử lý trung tâm) truyền dữ liệu nối tiếp (chuẩn UART) kết nối với module bluetooth HC-05 và nhận dữ liệu liên tục từ máy tính gửi xuống thông qua bluetooth. Board arduino nano xử lý dữ liệu sau đó gửi lệnh điều khiển nâng hoặc hạ cánh tay qua cho driver A4988, sau đó driver sẽ điều khiển động cơ bước theo đúng lệnh mà ta đã lập trình.
Hình 3.17: Sơ đồ nguyên lý của bộ điều khiển cánh tay.
3.6 THIẾT KẾ BỘ LỌC
Tín hiệu EEG có rất nhiều tín hiệu nhiễu. Có nhiều nguyên nhân gây ra nhiễu trong quá trình thu EEG: da ẩm ướt, điện trở tiếp xúc, hoạt động của cơ, môi trường tiến hành thí nghiệm. Chính vì vậy mà việc loại bỏ nhiễu là cần thiết.
Hình 3.18: Tín hiệu thô EEG chưa qua xử lý.
Hình 3.18 mô tả tín hiệu EEG thu được bằng thiết bị Emotiv EPOC+. Có thể thấy tín hiệu EEG thu được có biên độ dao động trong khoảng từ 3500uV đến 6000uV. Để có thể xử lý dễ dàng, tín hiệu cần được loại bỏ nhiễu với nhiễu baseline drift, baseline wander. Có thể dùng phương pháp phân tích phổ tần số để xác định tần số của nhiễu. Hình 3.19 trình bày phổ tần số của tín hiệu thô, biên độ cao tập trung ở dải tần số thấp nhỏ hơn 1Hz. Tín hiệu EEG nằm trong khoảng lớn hơn 1Hz. Nên biên độ sóng ở dải tần số dưới 1Hz, có độ lớn hơn rất nhiều so với biên độ sóng ở dải tần lớn hơn 1Hz. Có thể gây nên sự sai lệch cho tín hiệu. Cần thiết phải loại bỏ tín hiệu dưới 1Hz, để thu được tín hiệu ít nhiễu hơn, thuận lợi cho việc xử lý phát hiện tín hiệu chớp mắt.
Để loại bỏ các thành phần tín hiệu có tần số thấp sử dụng bộ lọc thông cao có tần số cắt 1Hz. Sử dụng bộ lọc IIR với những ưu điểm đã nêu ra ở mục 2.2 bộ lọc thông cao.
Hàm truyền bộ lọc IIR:
H (z)
Đáp ứng xung của bộ lọc được thể hiện ở hình 3.20:
(3.25)
Hình 3.20: Đáp ứng xung bộ lọc thông cao.
Tín hiệu trước khi lọc được thể hiện bằng đường màu xanh có biên độ dao động xung quanh giá trị 4000uV. Tín hiệu sau khi được loại bỏ nhiễu baseline wander trở nên ổn định hơn trước được thể hiện bằng đường màu cam nhưng vẫn giữ nguyên được tín hiệu chớp mắt được thể hiện như hình 3.21.
Hình 3.21: Tín hiệu EEG trước và sau khi lọc nhiễu.
Tín hiệu sau khi lọc nhiễu loại bỏ baseline wander, tuy nhiên tín hiệu vẫn còn nhiều gai nhọn nhỏ, có thể ảnh hưởng đến việc xử lý xác định các đỉnh của tín hiệu. Để loại bỏ các gai nhọn này, sử dụng bộ lọc trung bình để lọc và làm mịn tín hiệu. Tiến hành lọc tín hiệu với nhiều bộ lọc có chiều dài khác nhau.
Hình 3.22: Tín hiệu được làm mịn với chiều dài bộ lọc trung bình khác nhau.
Tín hiệu được làm mịn với bộ lọc có chiều dài bằng 5, 7, 9 kết quả được thể hiện
ở hình 3.22 với bộ chiều dài bằng 5 tín hiệu giảm bớt nhiễu đáng kể. Với yêu cầu là xử lý trong thời gian thực, ưu tiên chọn chiều dài bộ lọc thấp nhất để giảm bớt khối lượng xử lý cũng như thời gian xử lý. Với lý do trên nên bộ lọc có có chiều dài bằng 5 được chọn.
Chương 4
4.1 GIỚI THIỆU
Với mạch nguyên lý đơn giản không quá nhiều linh kiện thì việc thiết kế mạch in là không cần thiết. Các module được kết nối với nhau bằng dây tín hiệu nhằm giảm bớt diện tích hộp điều khiển cũng như giảm bớt chi phí thi công mạch. Sau khi đã thiết kế, lắp ráp xong, để hệ thống có thể vận hành cần có chương trình điều khiển và khi hệ thống đã hoạt động cần có hướng dẫn sử dụng, các thao tác để mọi người đều có thể sử dụng được khung cánh tay.
4.2 THI CÔNG BỘ ĐIỀU KHIỂN KHUNG CÁNH TAY
Mô hình sử dụng linh kiện và các module của nhà sản xuất có sẵn trên thị trường nên sẽ không có sơ đồ mạch in. Sau khi đã thiết kế xong sơ đồ nguyên lý cho từng khối, tiến hành lắp ráp từng khối lại với nhau theo sơ đồ nguyên lý dựa trên phần cứng. Trước khi tiến hành thi công mạch cần chuẩn bị các linh kiện trong bảng 4.1 sau:
Bảng 4.1: Danh sách các module và linh kiện liên quan.
STT Tên linh kiện
1 Arduino nano
2 Module bluetooth HC- 05
3 Động cơ step 42
4 Driver A4988
5 Pin LIPO 2000mAh
6 Mạch sạc và bảo vệ 3S 20A
7 Jack sạc 12V
Các linh kiện của hệ thống sẽ được thiết kế sắp xếp dựa trên mô hình phần cứng như hình 4.1 có 2 ngõ vào input là nguồn 12V-1A cung cấp nguồn để sạc cho pin. Một cổng Mini-B USB để nạp chương trình cho Arduino Nano và một ngõ ra output để điều khiển động cơ bước.
Hình 4.1: Sơ đồ bố trí sắp xếp các module trong hộp bộ điều khiển.
Lắp ráp khối nguồn cho bộ điều khiển động cơ
(a) Vị trí khối nguồn. (b) Vị trí công tắc nguồn và lỗ sạc.
Hình 4.2: Lắp ráp khối nguồn cho bộ điều khiển động cơ.
Tiến hành lắp ráp khối nguồn vào bộ điều khiển động cơ. Từ 3 pin lipo 2000mAH, 3.7VDC-1A kết nối lại với nhau thông qua mạch sạc để tạo điện áp đầu ra 11.1VDC đi qua công tắc rồi mới cung cấp nguồn cho mạch hoạt động. Khi hết pin ta có thể sạc lại cho pin qua jack cắm sạc đã được kết nối sẵn với mạch sạc. Sau khi kết nối dây xong tiến hành dùng đồng hồ vạn năng để kiểm tra ngõ ra của nguồn xem đúng 11.1VDC-1A không rồi ta mới cung cấp vào cho mạch được thể hiện như hình 4.2.
Lắp ráp khối vi xử lý trung tâm Arduino Nano vào bộ điều khiển
Tiến hành lắp ráp board Arduino Nano V3.0 vào bộ điều khiển. Sau khi lắp ráp xong tiến hành cấp nguồn 11.1VDC vào ngõ Vin của Arduino Nano. Từ board điều khiển nano có ngõ ra 5VDC ta cung cấp cho module bluetooth HC-05 và driver A4988
hoạt động. Tiến hành nạp chương trình cho Arduino Nano rồi xem kết quả trên Serial Port để kiểm tra xem board còn hoạt động được không. Kiểm tra nguồn lại lần nữa bằng đồ hồ vạn năng để đảm bảo board hoạt động tốt nhất được trình bày như hình 4.3.
.
Hình 4.3: Lắp ráp khối vi xử lý trung tâm Arduino Nano vào bộ điều khiển.
Lắp ráp mạch điều khiển động cơ A4988 thông qua board DRV8825 vào bộ điều khiển
Hình 4.4: Lắp ráp mạch điều khiển động cơ A4988 thông qua board DRV8825 vào bộ điều khiển.
Ta tiến hành kết nối dây cho các chân ENABLE, DIRECTION, STEP vào lần lượt các chân A3, A4, A5 của board Arduino Nano. VMOT kết nối với nguồn 11.1VDC, VDD cấp 5VDC, GND nối vào GND. Bốn dây điều khiển động cơ A+ A- B+ B- nối vào động cơ theo nhà sản xuất cung cấp, kiểm tra kết nối dây lại lần nữa để đảm bảo ta không mắc sai dây như hình 4.4.
Lắp ráp khối nhận tín hiệu Bluetooth HC-05
Sau khi lắp ráp, tiến hành kiểm tra để xem mô-đun Bluetooth có hoạt động tốt không. Kết nối Tx Rx của HC05 với A10, A11 của Arduino Nano đồng thời cấp nguồn 5VDC, GND cho module và bật chế độ AT để xem mô-đun Bluetooth có còn hoạt động không. Sau khi kết nối dây giữa các module lại với nhau xong, kiểm tra lại từng dây kết
nối. Rồi mới tiến hành cấp nguồn cho bộ điều khiển và nạp chương trình vào arduino nano để chạy thử xem mạch có hoạt động được không như hình 4.5.
Hình 4.5: Lắp ráp khối nhận tín hiệu Bluetooth HC-05.
4.3 THI CÔNG MÔ HÌNH KHUNG CÁNH TAY
Bên cạnh hoàn thành board mạch điều khiển khung cánh tay trợ lực, nhóm tiến hành thiết kế mô hình khung cánh tay trợ lực hỗ trợ con người bằng phần mềm Solidworks. Hình 4.6 được chụp từ phần mềm thiết kế Solidworks cho thấy các mặt cắt của mô hình như mặt chiếu đứng, chiếu ngang, chiếu bằng và góc nghiêng của mô hình. Vật liệu được chọn nhựa PLA 1.75mm màu xám thiết kế và sẽ thi công theo mô hình này.
(c) Mặt chiếu bằng. (d) Mô hình cánh tay.
Hình 4.6: Hình ảnh mô hình 3D các mặt cắt của khung cánh tay trợ lực.
Hình 4.7: Các thành phần của khung cánh tay trợ lực.
Cấu tạo chính của khung cánh tay trợ lực gồm 3 phần:
Bộ khung cánh tay trợ lực gồm: 3 ốp đỡ cho tay và 2 thanh nhôm định hình 20x20mm.
Bộ hộp số giảm tốc tỉ lệ 1:40 có đường kính trong là 42mm đường kính ngoài 60mm.
Hộp điều khiển có kích thước 101x105x65mm.