bài tập lớn môn dung sai và kĩ thuật đo đề tài đề tài chế tạo cánh tay điều khiển bằng cảm biến emg

24 0 0
Tài liệu đã được kiểm tra trùng lặp
bài tập lớn môn dung sai và kĩ thuật đo đề tài đề tài chế tạo cánh tay điều khiển bằng cảm biến emg

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nội dung nghiên cứu Nghiên cứu về cảm biến EMG và cánh tay robot tập trung vào việc kết hợp công nghệ electromyography cảm biến EMG với cánh tay robot để phát triển hệ thống cơ giới hóa,

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM

Trang 2

2 Mục lục

PHẦN 1: TỔNG QUAN 5

1.1 Tính cấp thiết của đề tài 5

1.2 Nội dung nghiên cứu 5

2.4.1 Cảm biến EMG A10-09 9

2.4.2 Arduino Uno R3 DIP 10

3.2 Sơ đồ điều khiển 22

3.3 Nguyên lý hoạt động của toàn hệ mạch 22

TÀI LIỆU THAM KHẢO 24

Trang 4

4

LỜI CẢM ƠN

Quá trình thực hiện bài tập lớn nhóm đã có những trải nghiệm thú vị từ việc tìm hiểu và mua linh kiện, qua đó có thêm hiểu biết về việc lựa chọn và tìm mua các thiết bị như cảm biến, arduino v.v Một số khó khăn gặp phải trong quá trình thực hiện là kiến thức về hệ thống điều khiển còn yếu, thời gian gấp rút nên cơ cấu kẹp chưa kịp thực hiện Do đó, bài tập của chúng em không tránh khỏi những thiếu xót, chúng em rất vui nếu nhận được những lời góp ý từ thầy và các bạn để giúp chúng em hoàn thiện hơn Một lần nữa em xin cảm ơn thầy Trần Nguyên Duy Phương đã tạo điều kiện cho chúng em được tìm hiểu và thực hiện một dự án nhỏ nhưng vô cùng thú vị và có tính ứng dụng thực tế cao

Trang 5

5

PHẦN 1: TỔNG QUAN

1.1 Tính cấp thiết của đề tài

Cơ thể của con người là tài sản quý báu và giá trị nhất của họ Bởi vì cơ thể con người rất phức tạp, việc thay thế một bộ phận của cơ thể một người đã mất đi, đặc biệt là một bàn tay, là một nhiệm vụ khó khăn Trong nhiều thế kỷ, các nhà nghiên cứu đã cố gắng sử dụng các thiết bị nhân tạo để thay thế các bộ phận cơ thể con người bị mất đi Cho đến gần đây, thiết kế AI chỉ mới bắt đầu Các nhà nghiên cứu đã phát triển nhiều loại chi nhân tạo với nhiều mục đích và giá thành khác nhau, từ những vật thay thế đơn giản như chân gỗ hoặc tay gỗ đến những vật liệu phát triển theo thời gian và tích hợp tín hiệu cảm biến Chính vì lý do này mà nhóm em đã quyết định nghiên cứu và thiết kế một cánh tay robot có năm motor dựa trên cảm biến EMG

1.2 Nội dung nghiên cứu

Nghiên cứu về cảm biến EMG và cánh tay robot tập trung vào việc kết hợp công nghệ electromyography (cảm biến EMG) với cánh tay robot để phát triển hệ thống cơ giới hóa, hoặc hoạt động bionic, dựa trên tín hiệu điện sinh học từ cơ bắp Cảm biến EMG thu thập tín hiệu điện từ cơ bắp khi chúng hoạt động Hệ thống sử dụng tín hiệu này để phân tích ý định và chuyển động của người sử dụng

Mục tiêu của nghiên cứu là tối ưu hóa khả năng tương tác và điều khiển giữa cánh tay robot và người Người dùng có thể kiểm soát cánh tay robot một cách tự nhiên và chính xác hơn bằng cách sử dụng tín hiệu điện sinh học từ cơ bắp, giống như cánh tay của người

Trong quá trình nghiên cứu, nhóm nghiên cứu có thể sử dụng công nghệ này để giúp người tàn tật, cải thiện khả năng làm việc trong môi trường nguy hiểm hoặc thậm chí đưa nó vào lĩnh vực giải trí và thể thao Nghiên cứu cũng tập trung vào việc tối ưu hóa hiệu suất của cảm biến EMG và cánh tay robot để đảm bảo tính a toàn, linh hoạt và chính xác của chúng

Trang 6

Điện cơ (EMG) là một phương pháp kỹ thuật được sử dụng để đánh giá và ghi lại hoạt động điện của cơ Tín hiệu EMG có thể được thu thập từ bề mặt da, dưới da và bên trong cơ, mang đến các mức thông tin đa dạng Nó được coi là bộ khuếch đại sinh học của các xung thần kinh, giúp cải thiện tỷ lệ tín hiệu so với tạp âm Trong vài thập kỷ gần đây, có sự tiến bộ đáng kể trong công nghệ, bao gồm việc thu nhỏ cảm biến và sử dụng các thuật toán xử lý tín hiệu tiên tiến

Những phát triển này đã hỗ trợ ứng dụng rộng rãi của cảm biến EMG và tín hiệu EMG trong nhiều lĩnh vực Trong lĩnh vực y học điện chẩn đoán (EDX), EMG thường được sử dụng để mở rộng phổ kỹ thuật EDX bằng cách sử dụng điện cực kim để ghi lại hoạt động điện của cơ Trong lĩnh vực robot và phục hồi chức năng, tín hiệu EMG có thể nắm bắt ý định của con người, tạo ra kênh liên lạc giữa con người và robot EMG cũng được áp dụng để đánh giá chức năng nuốt trong các rối loạn thần kinh vận động và ước tính lượng chất lỏng được tiêu thụ

Trang 7

7 Phân tích chuyển động, phản hồi và mô hình chữ viết tay là những lĩnh vực quan trọng khác liên quan đến việc ứng dụng cảm biến và tín hiệu EMG Cảm biến và tín hiệu EMG cũng được tích hợp trong nhiều phòng thí nghiệm nghiên cứu về cơ sinh học, rối loạn vận động, điều khiển vận động, kiểm soát tư thế, sinh lý thần kinh cơ và vật lý trị liệu Bài viết này cố gắng cập nhật những tiến bộ mới nhất trong phát triển cảm biến EMG, ứng dụng của chúng và điều chỉnh tín hiệu EMG thông qua các phương pháp tiếp cận lý thuyết và thực nghiệm

Nhiễu truyền qua các mô là một dấu hiệu của EMG Tín hiệu thu được từ các đơn vị vận động khác nhau cùng một lúc có thể tạo ra sự tương tác lẫn nhau, đặc biệt khi thu được trên da Cảm biến EMG có thể ghi lại tín hiệu trong dải tần số từ 0 đến 500 Hz

Như đã biết, tất cả các tín hiệu đều bắt nguồn từ bộ não Não thực hiện chuỗi điều khiển và truyền các xung thần kinh qua hệ thần kinh, tương tự như dòng điện thông qua dây kim loại, sau đó các dây thần kinh kích thích hoặc kích hoạt Bộ phận vận động (MU), kiểm soát sự co bóp của cơ bắp Đối với các chuyển động lực rất nhỏ, MU được sử dụng, vì càng cần nhiều lực, các đơn vị vận động lớn hơn và lớn hơn đượctuyển dụng để kích hoạt cơ bắp Một MU duy nhất tạo ra tiềm năng hành động (AP), được hiển thị trong hình

Trang 8

8 bên dưới Mỗi tiềm năng hành động xảy ra do sự trao đổi hóa học trong cơ thể của các ion kali (K +) và natri (Na +)

2.3 Cơ sở đo lường của cảm biến EMG

Hệ vận động của con người được chia thành hai phần: Phần thụ động bao gồm bộ xương và hệ liên kết các xương (khớp xương), trong khi phần vận động bao gồm hệ cơ, hoạt động hoàn toàn phụ thuộc vào hệ thần kinh Cơ thể con người có ba hệ cơ chính: cơ xương, cơ trơn và cơ tim

Trang 9

9 Trong phạm vi bài tập lớn, nhóm sẽ giới hạn thiết bị trong việc đo lường và xử lý

tín hiệu cơ xương Điện cực (Đầu đo) được gắn trên vùng cánh tay như hình dưới, để thuận lợi cho quá trình thu thập dữ liệu Điện cực sử dụng là bề mặt (sunface electrode), được dán bên ngoài da (qua các pad), ngay phía trên của cơ cần đo

2.4 Các dụng cụ sử dụng

2.4.1 Cảm biến EMG A10-09

EMG A10-09 là một mạch cảm biến cơ bắp rất dễ sử dụng, dùng để đo hoạt động cơ bắp trong trong nghiên cứu y tế bằng các tín hiệu điện cơ (EMG) Cảm biến sẽ đo lọc, chỉnh lưu hoạt động điện của đầu ra cơ 0-VS Volts để lấy kích thước đầu ra tùy thuộc vào lượng hoạt động cơ bắp được chọn Dây và cảm biến có thể được sử dụng cho các hệ thống điều khiển khác nhau

Nguyên lý hoạt động cụ thể của cảm biến cơ bắp EMG là tín hiệu EMG xuất phát từ hoạt động điện hoặc điện thế của các sợi cơ trong quá trình co bóp Khi cơ bắp hoạt động (co – dãn), có sự thay đổi cơ học về độ căng của cơ, tạo ra sự biến đổi về dòng điện có thể được cảm biến EMG phát hiện Mỗi khi cơ bắp được kích hoạt, các sợi cơ riêng lẻ bên trong nó sẽ phát sinh xung điện Vì hoạt động EMG (được đo bằng microvolt) tuyến tính liên quan đến lượng co cơ và số lượng cơ co lại - nói cách khác, càng mạnh sự co

Trang 10

10 bóp, càng nhiều sợi cơ hoạt động cùng một lúc, giúp tăng độ điện áp ghi đo được của cảm biến và kích thích hoạt động điện lớn hơn

Cảm biến EMG sẽ tiến hành đo lọc và điều chỉnh hoạt động điện của cơ để thu được kích thước đầu ra tùy thuộc vào mức độ hoạt động cơ bắp được chọn Cảm biến cơ đọc sẽ đo tổng số hoạt động, tạo ra một tín hiệu có độ nhiễu do bao gồm nhiều xung ngẫu nhiên, phát sinh từ hoạt động ngẫu nhiên của từng sợi cơ riêng lẻ, vì một số sợi có thể đang hoạt động trong khi một số khác ở trạng thái nghỉ

2.4.2 Arduino Uno R3 DIP

Arduino Uno R3 DIP có thể ứng dụng vào những mạch đơn giản như mạch cảm biến ánh sáng bật tắt đèn, mạch điều khiển động cơ,… hoặc cao hơn nữa bạn có thể làm những sản phẩm như: máy in 3D, Robot, khinh khí cầu, máy bay không người lái, và các ứng dụng lớn khác

Bo mạch Arduino sử dụng dòng vi xử lý 8-bit mega AVR của Atmel với hai chip phổ biến nhất là ATmega328 và ATmega2560 Các dòng vi xử lý này cho phép lập trình các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh với các loại bộ nhớ

Trang 11

11 ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiều ngõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa dạng như UART, SPI, TWI (I2C)

2.4.3 Động cơ Servo SG90

Servo là một dạng động cơ điện đặc biệt Không giống như động cơ thông thường cứ cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển (bằng xung PPM) với góc quay nằm trong khoảng bất kì từ 00 tới 1800

Trang 12

12

2.4.4 Cảm biến điện nhịp ECG AD8232

AD8232 là một mạch cảm biến nhịp tim đơn dẫn chuyên dụng Cảm biến là một khối điều hòa tín hiệu tích hợp cho ECG và các ứng dụng đo lường thông số sinh học khác Nó được thiết kế để trích xuất, khuếch đại và lọc các tín hiệu sinh học nhỏ trong điều kiện nhiễu, chẳng hạn như các tín hiệu được tạo ra bởi chuyển động hoặc vị trí đặt điện cực từ xa

Với đầu ra analog thì cảm biến này rất dễ kết nối với vi điều khiển để thực hiện các ứng dụng liên quan đến vấn đề nhịp tim,

Trang 13

13

2.4.5 Breadboard MB-102 830

Breadboard MB-102 830 lỗ 165x54mm được sử dụng để gắn các module hoặc linh kiện điện tử, kết nối chúng với nhau bằng các loại dây cắm, dây nối test board giúp test, kiểm tra tính năng 1 cách dễ dàng trước khi tạo thành các thành phẩm hoàn chỉnh

Breadboard MB-102 830 lỗ 165x54mm là loại kích thước chuẩn quốc tế, chất lượng và độ bền cao, có thể sử dụng với 1 số module cấp nguồn được thiết kế chuyên biệt

Trang 14

14

2.4.6 Dây bus

Trang 15

#define EMG_PIN1 1 #define EMG_PIN2 2

Trang 16

16 #define EMG_PIN3 3

#define EMG_PIN4 4 #define EMG_PIN5 5 #define EMG_PIN6 6

const unsigned int numReadings = 200; unsigned int

analogVals1[numReadings],analogVals2[numReadings],analogVals3[numReadings],anal ogVals4[numReadings],analogVals5[numReadings],analogVals6[numReadings];

unsigned int i = 0; /*

* Lấy giá trị trung bình từ giá trị */

float getMean(int * val, int numReadings) { long total = 0;

for (int i = 0; i < numReadings; i++) { total = total + val[i];

}

float avg = total/(float)numReadings; return avg;

} /*

* Độ lệch chuẩn */

float getStdDev(int * val, int numReadings) { float avg = getMean(val, numReadings); long total = 0;

for (int i = 0; i < numReadings; i++) { total = total + (val[i] - avg) * (val[i] - avg);

Trang 17

17 }

float variance = total/(float)numReadings; float stdDev = sqrt(variance);

return stdDev; }

int topulse(int goc) //chuyển góc thành xung {

int xung = map(goc, 0, 180, SERVOMIN, SERVOMAX); return xung;

}

void setup() {

Serial.begin(115200); mod_1.begin();

mod_1.setOscillatorFrequency(27000000); mod_1.setPWMFreq(60);

}

void loop() {

analogVals1[i] = analogRead(A0); analogVals2[i] = analogRead(A1); analogVals3[i] = analogRead(A2); analogVals4[i] = analogRead(A3); analogVals5[i] = analogRead(A4); analogVals6[i] = analogRead(A5); i++;

if (i>=numReadings) {

Trang 18

18 i=0;

}

float std1 = getStdDev(analogVals1, numReadings); float std2 = getStdDev(analogVals2, numReadings); float std3 = getStdDev(analogVals3, numReadings); float std4 = getStdDev(analogVals4, numReadings); float std5 = getStdDev(analogVals5, numReadings); float std6 = getStdDev(analogVals6, numReadings); Serial.print("Độ lệch chuẩn: ");

Serial.println(std1); Serial.println(" "); Serial.println(std2); Serial.println(" "); Serial.println(std3); Serial.println(" "); Serial.println(std4); Serial.println(" "); Serial.println(std5); Serial.println(" "); Serial.println(std6); Serial.println(" ");

if(std1>THRESHOLD1&&std2>THRESHOLD2&&std3>THRESHOLD3&&std 4>THRESHOLD4&&std5>THRESHOLD5&&std6>THRESHOLD6)

{

handhold(); }

else {

Trang 19

19 handlease();

} }

void handhold(){

mod_1.setPWM(0, 0, topulse(170)); mod_1.setPWM(1, 0, topulse(170)); mod_1.setPWM(2, 0, topulse(170)); mod_1.setPWM(3, 0, topulse(170)); mod_1.setPWM(4, 0, topulse(170)); }

void handlease(){

mod_1.setPWM(0, 0, topulse(10)); mod_1.setPWM(1, 0, topulse(10)); mod_1.setPWM(2, 0, topulse(10)); mod_1.setPWM(3, 0, topulse(10)); mod_1.setPWM(4, 0, topulse(10)); }

Trang 20

20

PHẦN 3: TÍNH TOÁN VÀ THIẾT KẾ

3.1 Lắp mạch

Trang 21

21

Trang 22

22

3.2 Sơ đồ điều khiển

3.3 Nguyên lý hoạt động của toàn hệ mạch

Đo Tín Hiệu EMG:

Khi cơ bắp hoạt động, các tế bào cơ tạo ra tín hiệu điện Cảm biến EMG sử dụng điện cực để thu nhận tín hiệu này

Các điện cực được đặt gần khu vực cơ bắp quan tâm để thu được tín hiệu EMG chính xác

Tín hiệu EMG ban đầu có thể rất nhỏ, nên nó cần được khuếch đại để có thể xử lý được Một bộ khuếch đại được sử dụng để tăng cường amplitudes của tín hiệu

Trang 23

23 thông tin hữu ích về hoạt động cơ bắp

Kết Hợp với Motor:

Dựa trên tín hiệu EMG được xử lý, bạn có thể xác định mức độ hoạt động của cơ bắp Nếu mức độ hoạt động vượt qua một ngưỡng nhất định, bạn có thể kích thích một motor để thực hiện một hành động cụ thể

Điều Khiển Motor:

Khi có tín hiệu kích thích từ cảm biến EMG, một hệ thống điều khiển motor sẽ được kích hoạt để thực hiện một nhiệm vụ cụ thể, chẳng hạn như chuyển động của một cổ tay robot hay một bộ phận cơ bắp nhân tạo khác

Phản Hồi:

Hệ thống có thể được thiết kế để cung cấp phản hồi về tình trạng hoạt động của cơ bắp hoặc về nhiệm vụ được thực hiện bởi motor, tạo một chu kỳ phản hồi để điều chỉnh quá trình điều khiển

Trang 24

24

TÀI LIỆU THAM KHẢO

[1] Nguyễn Hiếu (2017), “Giới thiệu cảm biến cơ bắp và ứng dụng” Truy cập từ: http://arduino.vn/bai-viet/1443-gioi-thieu-cam-bien-co-bap-va-ung-dung

[2] Điện tử (2021), “Cách điều khiển modul relay với Arduino” Truy cập từ: https://istem.com.vn/blog/cach-dieu-khien-modul-relay-voi-arduino

Ngày đăng: 13/05/2024, 15:12

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan