Chương 4 : THI CÔNG HỆ THỐNG
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 Giá trị Số lượng
1 Arduino nano 5V-30mA 1
2 Module bluetooth HC- 05 3.3-5V, 30mA 1
3 Động cơ step 42 2.3V_1.2A 1
4 Driver A4988 8~35V, 1-2A 1
5 Pin LIPO 2000mAh 3.7V-1A 3
6 Mạch sạc và bảo vệ 3S 20A 12.6-14V, 20A 1
7 Jack sạc 12V 1
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 ngồi 60mm.
Hộp điều khiển có kích thước 101x105x65mm.
Từ mơ hình 3D đã thiết kế, ta lập bản danh sách các vật liệu cần chuẩn bị để thi công mơ hình như bảng 4.2 ở trên. Ngồi ra để tiến hành lắp ráp cần chuẩn bị thêm bộ dụng cụ cơ khí như bộ khoan tay, bộ vít lục giác, cưa sắt, kéo, dao rọc giấy và keo dán. Sau đó tiến hành lắp ráp mơ hình theo các bước sau:
Bước 2: Ráp các bộ phận trong bộ giảm tốc lại với nhau.
Hình 4.8: Hình ảnh hộp số giảm tốc 1/40 sau khi được lắp ráp.
Bước 3: Ráp thanh nhơm định hình, ốp đỡ cho khung cánh tay trợ lực.
(a) Lắp ráp phần đỡ khuỷu tay. (b) Lắp ráp phần đỡ bắp tay.
Hình 4.9: Ráp thanh nhơm định hình, ốp đỡ cho khung cánh tay trợ lực.
Bước 4: Lắp mạch nguồn và gắn các module vào hộp điều khiển.
Hình 4.10: Hình ảnh bộ điều khiển hồn chỉnh sau khi được kết nối dây.
Bước 5: Tiến hành đi dây và hoàn thiện khung cánh tay trợ lực được thể hiện trong hình
Hình 4.11: Mơ hình cánh tay trợ lực sau khi gia cơng hồn thành.
Bảng 4.2: Chi tiết các bộ phận của khung cánh tay trợ lực.
STT Tên linh kiện Số lượng Chú thích
1 Nhựa in 3D 1 PLA 1.75mm, màu xám
2 Động cơ step 42 1 3 Vòng bi 12x18x4mm 1 4 Vòng bi 40x52x7mm 2 5 Vòng bi 15x24x5mm 2 6 Vòng bi 4x7x2.5mm 32 7 Mica 5mm 2 Đường kính 42mm 8 Ốc M3 6 Dài 30mm 9 Ốc M3 6 Dài 10mm 10 Ốc M3 4 Dài 8mm 11 Ốc M4 6 Dài 8mm
12 Đai ốc chữ T 6 Loại gắn nhơm định hình 20mm
13 Thanh trượt M3 1 cây 20cm Cắt thành 4 đoạn 20mm 14 Nhơm định hình 20x20mm 2 thanh 1 thanh 20cm, 1 thanh 15cm
4.4 LẬP TRÌNH HỆ THỐNG ĐIỀU KHIỂN KHUNG CÁNH TAY 4.4.1 Lưu đồ giải thuật chương trình xử lý tín hiệu EEG 4.4.1 Lưu đồ giải thuật chương trình xử lý tín hiệu EEG
Yêu cầu chương trình
Chương trình xử lý tín hiệu được chạy trên máy tính cần phải có tốc độ xử lý cao. Cụ thể chương trình cần xử lý 128 mẫu dữ liệu trong 1 giây tương ứng với tốc độ lấy mẫu của thiết bị Emotiv EPOC+. Đồng thời sau khi nhận dạng được tín hiệu chớp mắt chương trình cần gửi lệnh điều khiển tương ứng với trạng thái chớp mắt phát hiện được qua bluetooth cho cánh tay.
Sơ đồ khối chương trình
Với những u cầu ở trên, chương trình xử lý tín hiệu EEG sẽ được thiết kế với ý tưởng được trình bày ở dạng sơ đồ khối như hình 4.12. Để giải quyết được bài toán giảm độ trễ do q trình xử lý của máy tính và các tác vụ giao tiếp giữa máy tính và cánh tay. Chương trình được phân ra thành ba khối, trao đổi dữ liệu với nhau qua các bộ đệm có cấu trúc dạng hàng đợi(queue).
Hình 4.12: Sơ đồ khối chương trình thu tín hiệu EEG.
Giải thích sơ đồ khối chương trình:
- Khối nhận và xử lý tín hiệu có chức năng thiết lập kết nối và nhận tín hiệu EEG từ thiết bị Emotiv EPOC+ thơng qua Cortex API.
- Khối giao diện có chức năng hiển thị tín hiệu và trạng thái chớp mắt, phát hiện được thể hiện trực quan bằng hình ảnh hoặc hiển thị chữ. Kèm theo đó khối giao diện cịn có chức năng là cầu nối giao tiếp giữa người và cánh tay với các nút nhấn điều khiển thay đổi các thơng số cũng như điều chỉnh vị trí của cánh tay.
- Khối gửi lệnh điều khiển cho cánh tay có chức năng lấy dữ liệu từ bộ đệm và gửi lệnh đó qua bluetooth đến cho cánh tay. Lệnh điều khiển có được từ xử lý phát hiện tín hiệu chớp mắt hoặc từ người dùng thông qua giao diện.
Lưu đồ giải thuật chương trình chính xử lý tín hiệu
Tín hiệu từ hai cực F7 và F8 sau khi được tiền xử lý (lọc thơng cao, lọc trung bình) sẽ được xử lý nhận dạng chớp mắt trái và chớp mắt phải. Lưu đồ cho giải thuật phát hiện chớp mắt được thể hiện ở hình 4.13. Chương trình lần lượt nhận dạng nháy mắt trái và mắt phải sau đó đem 2 giá trị nhận được so sánh. Có 4 trường hợp có thể xảy ra khi so sánh được liệt kê ở bảng 4.3.
Bảng 4.3: Các trường hợp chớp mắt có thể xảy ra. STT Chớp mắt STT Chớp mắt trái Chớp mắt phải Kết quả 1 1 1 Không xác định 2 1 0 Chớp mắt trái 3 0 1 Chớp mắt phải 4 0 0 Không chớp mắt
Trường hợp 1 cả hai mắt cùng chớp chương trình khơng xác định được lệnh điều khiển chương trình kết thúc sớm. Tương tự với trường hợp 4 cả hai mắt đều không chớp mắt kết quả sẽ là không chớp mắt chương trình sẽ kết thúc sớm. Ngược lại nếu rơi vào trường hợp 2, 3 chớp mắt phải hoặc trái chương trình sẽ lệnh điều khiển thích hợp đến cánh tay tùy theo trường hợp mà chương trình sẽ gửi mã lệnh điều khiển tương ứng.
Hình 4.14: Lưu đồ chương trình phát hiện chớp mắt.
Chương trình phát hiện chớp mắt nhận ngõ vào là tín hiệu ở điện cực F7 hoặc F8. Tiến hành phát hiện đỉnh dương, đỉnh âm trên tín hiệu. Nếu phát hiện là đỉnh dương tính tốn độ rộng đỉnh nếu độ rộng đỉnh trong giới hạn cho phép thì đánh dấu là đỉnh dương
đã xác định (đỉnh dương bằng 1). Tương tự với đỉnh âm chương trình tính giá trị độ rộng đỉnh âm kiểm tra độ rộng nằm trong giới hạn cho phép, đồng thời kiểm tra đỉnh dương đã được xác định trước đó hay chưa nếu có đỉnh dương được xác định thì trả về kết quả là 1 tương ứng với có chớp mắt, ngược lại trả về 0 tương ứng với không chớp mắt.
4.4.2 Lưu đồ chương trình điều khiển cánh tay trợ lực
Hình 4.15: Lưu đồ giải thuật cho chương trình điều khiển khung cánh tay trợ lực.
Giải thích lưu đồ giải thuật hình 4.15:
Khi ta cấp nguồn, Arduino sẽ khởi tạo thư viện, các biến và cấu hình cho các chân sử dụng. Vòng lặp void loop bắt đầu nếu mySerial lớn hơn khơng thì đọc giá trị từ máy tính gửi xuống bằng bluetooth ngược lại quay lại so sánh tiếp.
Giải thích lưu đồ giải thuật hình 4.16:
Module bluetooth HC-05 nhận dữ liệu từ máy tính gửi xuống sau đó truyền dữ liệu nối tiếp (UART) qua arduino nano. Trên máy tính dữ liệu gửi xuống theo chuỗi ký tự, nội dung dữ liệu bắt đầu bằng dấu < và kết thúc bằng dấu >. Sau khi dữ liệu đã được gửi xuống, chương trình con đọc dữ liệu sẽ kiểm tra biến var. Nếu var bằng ‘<’ thì biến trạng thái ghi bằng 1, ngược lại nếu var bằng ‘>’ thì biến trạng thái ghi bằng 0. Nếu biến trạng thái ghi bằng 1 thì biến varl bằng cộng thêm ký tự của biến var vào. Ngược lại ghi
bằng 0 thì biến varl thêm ký tự “>” vào, sau đó giá trị của biến varl sẽ được đưa vào chương trình con lệnh điều khiển.
Hình 4.16: Lưu đồ giải thuật cho chương trình đọc dữ liệu điều khiển.
Hình 4.17: Lưu đồ giải thuật cho chương trình lệnh điều khiển khung cánh tay
Giải thích lưu đồ giải thuật hình 4.17:
Arduino nano gửi chuỗi ký tự “Arduino is ready” lên máy tính, sau khi nhận được chuỗi ký tự máy tính sẽ bắt đầu gửi dữ liệu xuống cho arduino nano, gán biến varl bằng control. Chương trình sẽ kiểm tra nếu control bằng ‘3’ thì sẽ gửi lệnh xuống cho driver điều khiển động cơ cho co tay, ngược lại nếu control bằng ‘4’ thì điều khiển cho động cơ cho duỗi tay ra. Khi khơng có 2 chuỗi ký tự trên thì cho động cơ dừng lại. Ký tự 3 nhận tín hiệu từ cực F8 và ký tự 4 nhận tín hiệu từ cực F7. Khi chớp mắt phải tín hiệu từ cực F8 lớn F7 ngược lại khi chớp mắt trái tín hiệu F7 sẽ lớn hơn F8.
4.5 TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC
Sau khi đã thi cơng xong mơ hình và viết xong chương trình điều khiển cho cánh tay trợ lực. Tiếp theo là viết tài liệu hướng dẫn sử dụng thiết bị cho người dùng sử dụng đúng, tránh trường hợp sai hoặc thiếu 1 bước nào đó mà thiết bị khơng hoạt động được. Hướng dẫn sử dụng và thao tác kết nối cánh tay được trình bày như hình 4.18 sau:
Bước 1: Kiểm tra nguồn của bộ đo điện não Emotiv EPOC+, tiến hành lắp điện cực vào,
sau đó đặt thiết bị lên đầu theo đúng vị trí điện cực mà nhà sản xuất khuyến cáo (xem mục 1.3.1 bên trên).
Bước 2: Tiến hành lắp khung cánh tay trợ vào cánh tay phải cho người sử dụng (nhớ
kiểm tra nguồn trước khi sử dụng), vị trí ban đầu của tay là duỗi thẳng 180 độ.
Bước 3: Kiểm tra kết nối bộ Emotiv EPOC+ bằng Emotiv App xem có kết nối được với
phần mềm chưa. Tiếp theo mở phần mềm Emotiv PRO lên kiểm tra chất lượng tiếp xúc giữa các điện cực với bề mặt da đầu (màu xanh tiếp xúc tốt, màu cam trung bình, màu đỏ kém, màu trắng là chưa tiếp xúc được).
Bước 4: Bật công tắc nguồn của khung cánh tay trợ lực lên, mở phần mềm studio code
ta tiến thành chạy code nhận và xử lý tín hiệu điện não.
Bước 5: Bắt đầu chớp mắt phải để co tay lại, mỗi lần chớp mắt khung cánh tay sẽ di
chuyển 20 độ. Ngược lại mỗi lần chớp mắt trái thì khung cánh tay sẽ duỗi thẳng ra 20 độ, rồi quan sát theo dõi hoạt động của thiết bị (cánh tay chỉ di chuyển trong phạm vi 100 độ). Kiểm tra thiết bị thường xuyên khi vận hành tránh trường hợp thiết bị chạy sai hoặc mất nguồn do hết pin trong quá trình sử dụng.
Chương 5
5.1 KẾT QUẢ THI CÔNG CÁNH TAY TRỢ LỰC
Cánh tay trợ lực sau khi thiết kế và thi cơng hình 5.1, hình 5.2 là sản phẩm hồn thành có chiều dài 38cm, mặt bên của cánh tay có 1 công tắc nguồn và 1 jack cắm sạc. Cánh tay được thiết kế phù hợp với tay phải, người có chiều dài cánh tay trong khoảng từ 35cm đến 45cm. Đường kính cổ tay trong khoảng từ 6cm đến 8cm, bắp tay có đường kính trong khoảng từ 9cm đến 10.5cm.
(a) Mặt trong của cánh tay (b) Mặt bên của cánh tay
Hình 5.1: Mặt trong và mặt bên của khung cánh tay.
Hình 5.2: Sản phẩm hồn thiện khung cánh tay trợ lực.
Hình 5.3 miêu tả người sử dụng bắt đầu vận hành khung cánh tay kết hợp với phần mềm phát hiện chớp mắt và giám sát cánh tay trợ lực. Trong quá trình vận hành, người sử dụng sẽ được đeo khung cánh tay vào tay phải của mình. Khung cánh tay cố định cánh tay người thông qua ốp cổ tay và ốp bắp tay nhờ dây đai co dãn. Người sử dụng bắt đầu chớp mắt trái, chớp mắt phải thơng qua chương trình phát hiện chớp mắt. Để gửi lệnh điều khiển xuống cho cánh tay hoạt động theo ý muốn của người dùng. Hai vị trí giới hạn của cánh tay được miêu tả ở hình 5.4a và 5.4b. Ở vị trí 0° cánh tay không