ĐỀ TÀI: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN ĐỘNG CƠ SERVO BẰNG TÍN HIỆU CƠ BẮP Tp... Mục tiêu nghiên cứu Mục tiêu chính của đề tài là thiết kế hệ thống điều khiển động cơ Servo bằng tín hiệu c
Trang 1ĐỀ TÀI: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN ĐỘNG CƠ SERVO BẰNG TÍN HIỆU CƠ BẮP
Tp Hồ Chí Minh − 04/2024
GVHD: TS Trần Nguyên Duy Phương SVTH: Ngô Hữu Hậu
MSSV: 1913303
Trang 2MỤC LỤC
CHƯƠNG 1: TỔNG QUAN 1
1.1 Tính cấp thiết của đề tài 1
1.2 Mục tiêu nghiên cứu 1
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2
2.1 Cảm biến EMG 2
2.1.1 Giới thiệu chung 2
2.1.2 Nguyên lí hoạt động 2
2.1.3 Cơ sở đo lường 3
2.1.4 Các ứng dụng trong đời sống 4
2.2 Arduino 5
2.2.1 Giới thiệu chung 5
2.2.2 Ứng dụng 6
2.3 Động cơ Servo 6
2.3.1 Giới thiệu chung 6
2.3.2 Ứng dụng 7
CHƯƠNG 3: THIẾT BỊ THỬ NGHIỆM 9
3.1 Cảm biến EMG A10-09 9
3.2 Arduino Uno R3 10
3.3 Động cơ Servo SG90 12
3.4 Adapter, breadboard và hệ thống dây nối 13
CHƯƠNG 4: TIẾN HÀNH THỬ NGHIỆM 15
4.1 Sơ đồ nối dây 15
4.2 Code điều khiển 16
4.3 Kết quả thử nghiệm và nhận xét 17
TÀI LIỆU THAM KHẢO 19
Trang 3CHƯƠNG 1: TỔNG QUAN
1.1 Tính cấp thiết của đề tài
Phần lớn mỗi người chúng ta đều được tạo hoá ban tặng một cơ thể lành lặn và khoẻ mạnh, phát triển dần theo năm tháng Tuy nhiên, cuộc sống thường nhật luôn tiềm ẩn những mối hiểm nguy khiến con người ta phải chịu thiệt thòi khi bị tổn thương hoặc mất đi một trong những bộ phận cơ thể của mình Việc phục hồi, tái tạo chức năng của các bộ phận bị
hư tổn hay mất đi trên cơ thể người hiện đang là một chủ đề thu hút sự chú ý của nhiều nhà nghiên cứu và được xem là tiềm năng thúc đẩy sự phát triển của nhiều lĩnh vực Cơ thể sinh học được xem như một thành công trong quá trình nghiên cứu chủ đề này Để hiểu rõ hơn về chủ đề này, nhóm thực hiện bài tập lớn với đề tài “Thiết kế hệ thống điều khiển động cơ Servo bằng tín hiệu cơ bắp”
Hình 1.1: Đôi chân sinh học được ứng dụng trên cơ thể người
1.2 Mục tiêu nghiên cứu
Mục tiêu chính của đề tài là thiết kế hệ thống điều khiển động cơ Servo bằng tín hiệu
cơ bắp được thu nhận thông qua cảm biến EMG, tín hiệu được xử lý và điều khiển động
cơ bằng vi điều khiển Arduino Hệ thống điều khiển được thiết kế bao gồm 1 vi điều khiển Arduino, 2 cảm biến EMG và 2 động cơ Servo
Trang 4CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Cảm biến EMG
2.1.1 Giới thiệu chung
Điện cơ đồ EMG (Electromyography) là một kỹ thuật y học để đánh giá và ghi lại hoạt động điện do cơ xương tạo ra EMG được ghi nhận tín hiệu bằng máy đo điện cơ nhằm phát hiện các bất thường, mức độ kích hoạt hoặc để phân tích cơ chế sinh học chuyển động của con người hay động vật Có hai kiểu đo điện cơ thường gặp là đo điện cơ bằng điện cực kim và đo điện cơ bằng điện cực bề mặt Hình 2.1 thể hiện hai loại kiểu đo này
Hình 2.1: Các kiểu đo điện cơ đồ EMG thường gặp
2.1.2 Nguyên lí hoạt động
Tín hiệu điện cơ EMG (Electromyography) được đo bằng dòng điện sinh ra trong suốt quá trình co, giãn cơ Tín hiệu này được thu nhận từ bất kỳ các cơ quan nào có sự thay đổi đặc tính vật lý Thông thường tín hiệu EMG là một hàm thời gian và được mô tả trong giới hạn của biên độ, tần số và pha Do đó nó là một tín hiệu phức tạp, được kiểm soát bởi
hệ thống thần kinh, phụ thuộc vào cấu trúc giải phẫu và đặc điểm sinh lý của cơ Tín hiệu EMG có thể được phát hiện trong dải tần số 0-500 Hz và để hiểu được sự hình thành của
Trang 5Như đã 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, 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 Trong trường hợp của những động tác cần độ chính xác và nhỏ, chỉ một số MU được kích hoạt Ngược lại, khi cần lực lớn hơn, nhiều MU lớn hơn được kích hoạt đồng thời Mỗi đợt tín hiệu EMG phản ánh hành động của các đơn vị vận động (MU) - đơn vị cơ bắp cơ bản nhất Tín hiệu EMG không chỉ ghi lại hoạt động cơ bắp mà còn chứa thông tin về sự trao đổi hóa học trong cơ thể, như các ion kali (K+) và natri (Na+), tạo ra tiềm năng hành động (AP) trong các đơn vị cơ bắp.Điều này không chỉ mang lại thông tin về sự hoạt động cơ bắp, mà còn giúp hiểu rõ hơn về cách não và hệ thần kinh tương tác, điều khiển các động tác vận động,
và phản ứng của cơ thể trong các hoạt động thể chất và sinh hoạt hàng ngày
2.1.3 Cơ sở đo lường
Hệ vận động của con người bao gồm hai phần: Phần thụ động bao gồm hệ xương và
hệ liên kết các xương (khớp xương), trong khi phần vận động liên quan đến hệ cơ và hoạt động được điều khiển hoàn toàn bởi hệ thần kinh Cơ thể con người có ba hệ cơ chính và được minh họa ở hình 2.2: cơ vân (hay cơ xương), cơ vận động nội tạng (cơ trơn hoặc cơ tạng) và cơ vận động tim (cơ tim)
Cơ xương được các gân và xương gắn vào và tác động đến chuyển động của xương
Cơ trơn có ở trong thành của các cơ quan và cấu trúc như thực quản, dạ dày, phế quản, mạch máu,…
Cơ tim (myocardium) có cấu trúc giống cơ xương và tìm thấy ở tim
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
Trang 6Hình 2.2: Các hệ cơ chính trong cơ thể người
2.1.4 Các ứng dụng trong đời sống
Ứng dụng của cảm biến EMG rất đa dạng, trong đó nổi bật nhất là ứng dụng liên quan đến vấn đề tạo ra một cánh tay sinh học nhân tạo sử dụng như cánh tay thật Ngoài ra còn
có các ứng dụng đáng chú ý khác như:
Nghiên cứu đối xứng trong dáng đi
Xác định trạng thái khoẻ mạnh hay mệt mỏi của cơ bắp
Xác định sự hồi phục của người bị liệt cơ
Theo dõi hoạt động của các vận động viên thể thao
Trang 72.2 Arduino
2.2.1 Giới thiệu chung
Arduino là một bo mạch vi điều khiển được xây dựng và phát triển bởi Arduino.cc,
là một nền tảng mã nguồn mở, được sử dụng để xây dựng các dự án điện tử có khả năng liên kết và tương tác tốt Arduino có cả phần mềm và phần cứng hỗ trợ giúp quá trình xây dựng các dự án thuận tiện và dễ dàng hơn
Phần cứng gồm một board mạch mã nguồn mở (thường gọi là vi điều khiển) có thể lập trình được
Các phần mềm hỗ trợ phát triển tích hợp IDE (Integrated Development Environment) dùng để soạn thảo, biên dịch mã và nạp chương trình cho board
Hình 2.3: Phần mềm và phần cứng của Arduino
Ngày nay, Arduino đang được sử dụng rộng khắp trên toàn thế giới nói chung và Việt Nam nói riêng nhờ vào sự thuận tiện và hữu dụng mà Arduino mang lại cho người dùng
Trang 8Không giống như các bo mạch trước đây, Arduino chỉ cần sử dụng cáp USB để tải mã mới lên bo mạch Ngoài ra, phần mềm Arduino IDE sử dụng phiên bản đơn giản của C, C++ cùng với sự phát triển mạnh mẽ của các diễn đàn giúp việc học lập trình dễ dàng hơn Từ
đó, có thể thấy rằng Arduino đang đóng một vai trò rất quan trọng và góp phần trong quá trình phát triển của nhiều lĩnh vực
2.2.2 Ứng dụng
Nói tới ứng dụng của Arduino phải kể tới một số lĩnh vực như sau:
Arduino làm Robot với khả năng đọc những thiết bị cảm biến, điều khiển động cơ… Arduino giúp bộ xử lý trung tâm hoạt động nhiệm vụ của mình qua nhiều loại robot
Game tương tác: Arduino sử dụng để tương tác với màn hình, Joystick,… khi chơi game như Mario, Tetris,…
Máy bay không người lái
Điều khiển đèn tín hiệu giao thông, hiệu ứng đèn led nhấp nháy
Làm máy in 3D
Thiết kế đàn bằng ánh sáng
2.3 Động cơ Servo
2.3.1 Giới thiệu chung
Động cơ Servo là một hệ thống truyền động theo cơ chế hồi tiếp vòng kín, nhận và thực hiện tín hiệu một cách nhanh chóng và chính xác theo lệnh từ PLC Nó được sử dụng
để điều chỉnh vị trí, mô-men phù hợp với các ứng dụng khác nhau và thay đổi tốc độ cực
kỳ nhanh (đáp ứng ở ms).Động cơ Servo nhận tín hiệu từ bộ điều khiển và cung cấp lực chuyển động cần thiết cho các thiết bị máy móc khi vận hành với tốc độ và độ chính xác cực kỳ cao
Động cơ Servo hiện đang được ứng dụng rất nhiều và được chia thành 2 loại chính: động cơ AC Servo và động cơ DC Servo AC Servo có thể xử lý các dòng điện cao và
có xu hướng được sử dụng trong máy móc công nghiệp DC Servo không được thiết kế cho các dòng điện cao và thường phù hợp hơn cho các ứng dụng nhỏ
Trang 9Động cơ Servo bao gồm hai cuộn dây là cuộn dây stato và roto, ngoài ra còn có hai ổ trục ở mặt trước và mặt sau để trục có thể chuyển động tự do Cuộn dây stato được quấn trên phần đứng yên của động cơ, nó đóng vai trò là thỏi nam châm hút từ trường, hỗ trợ động cơ hoạt động Khi dòng điện được dẫn qua các cuộn dây quấn đặt bên trong lõi thép,
nó sẽ tạo ra một lực cảm ứng điện từ để chuyển đổi từ năng lượng điện thành năng lượng
cơ học Dây quấn roto được quấn trên phần quay của động cơ, còn được gọi là dây quấn phần ứng của động cơ Roto là 1 nam châm vĩnh cửu, là phần chuyển động trong hệ thống điện từ của động cơ điện Lực tương tác giữa các cuộn dây và các từ trường điện tích tạo
ra một mô-men xoắn xoay quanh trục quay của roto
Hình 2.4: Cấu tạo của động cơ Servo
2.3.2 Ứng dụng
Động cơ Servo được ứng dụng trong nhiều lĩnh vực khác nhau như:
Điều khiển vị trí và chuyển động của thang máy
Điều khiển chuyển động của robot với khả năng bật tắt mượt mà và định vị chính xác
Duy trì chất lỏng thủy lực trong hệ thống thủy lực
Duy trì tốc độ của xe
Trang 10 Động cơ Servo còn được sử dụng cho cả định vị phương vị và trục độ cao của ăngten
và kính thiên văn, thường được sử dụng bởi đài quan sát thiên văn vô tuyến quốc gia
Trang 11CHƯƠNG 3: THIẾT BỊ THỬ NGHIỆM
3.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 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
Nhóm sử dụng module cảm biến EMG A10-09 vì nó đã tích hợp hoàn toàn các chức năng của một khối cảm biến trong 1 bo mạch có kích thước nhỏ gọn, thẩm mỹ và giá thành phù hợp
Hình 3.1: Cảm biến EMG A10-09
Trang 12Thông số kỹ thuật của cảm biến EMG A10-09:
Được thiết kế cho Vi Điều Khiển
tử Cùng với giá thành phù hợp, Arduino Uno R3 được nhóm lựa chọn để sử dụng trong quá trình nghiên cứu đề tài này
Arduino Uno R3 là một bảng mạch vi điều khiển nguồn mở dựa trên vi điều khiển Microchip Atmega328 được phát triển bởi Arduino.cc, tương thích với hầu hết các loại Arduino Shield trên thị trường, có thể gắn thêm các module mở rộng để thực hiện thêm các chức năng khác Bảng mạch được trang bị các bộ chân đầu vào/đầu ra Digital và Analog
có thể giao tiếp với các bảng mạch mở rộng, ngoài ra nó còn có các chân nguồn với chức năng khác nhau như:
Các chân 5V, 3.3V là chân dùng để cấp nguồn đầu ra cho các thiết bị chứ không phải chân cấp nguồn vào
Vin (Voltage Input): dùng để cấp nguồn ngoài cho Arduino Uno, nối dương cực vào chân này và cực âm vào chân GND
GND (Ground): cực âm của nguồn điện cấp cho Arduino Uno, khi sử dụng các thiết
bị sử dụng những nguồn điện riêng biệt thì phải nối các chân này
IOREF: điện áp hoạt động của Arduino, có mức điện áp là 5V, không được sử dụng
để lấy nguồn từ chân này
Trang 13 RESET: Việc nhấn nút RESET trên mạch Arduino tương tự như khi nối chân RESET với GND qua điện trở 10 kΩ
Hình 3.2: Bảng mạch Arduino Uno R3
Thông số kỹ thuật của Arduino Uno R3
Trang 143.3 Động cơ Servo SG90
Servo SG90 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, nó 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ừ 0o – 180o Động cơ có tốc độ phản ứng nhanh, được tích hợp sẵn Driver điều khiển động cơ, dễ dàng điều khiển góc quay bằng phương pháp điều chỉnh độ rộng xung PWM
Động Cơ Servo SG90 là loại động cơ được dùng phổ biến trong các mô hình điều khiển nhỏ, đơn giản và có giá thành thấp nên được nhóm sử dụng để thực hiện bài tập lớn này
Trang 153.4 Adapter, breadboard và hệ thống dây nối
Nguồn Adapter 9V 2A
Adapter giúp chuyển đổi điện áp thông qua quá trình giảm áp dòng điện đi vào và điều chỉnh định mức phù hợp cho dòng điện đi ra, là công cụ không thể thiếu trong việc cung cấp nguồn điện của thiết bị
Hình 3.4: Nguồn Adapter 9V 2A
Thông số kỹ thuật của nguồn Adapter 9V 2A:
Điện áp đầu vào: AC100-240V 50/60Hz
Điện áp ra: 9 VDC
Dòng điện ra: Max 2A
Jack DC 2 đầu: 5.5 x 2.5 mm , 4.0 x 1.7 mm
Trọng lượng: 75g
Trang 16Breadboard
Breadboard là một công cụ hay thiết bị trong lĩnh vực điện tử, thường được sử dụng
để xây dựng mô hình nguyên mẫu của mạch điện tử mà không cần hàn hoặc sử dụng các kết nối cố định Breadboard được thiết kế để giúp người làm việc trong lĩnh vực điện tử dễ dàng tạo và thay đổi mạch điện mà không cần sử dụng các kỹ thuật làm mạch cố định
Hình 3.5: Breadboard
Dây nối
Trang 17CHƯƠNG 4: TIẾN HÀNH THỬ NGHIỆM
4.1 Sơ đồ nối dây
Những thiết bị sử dụng được mắc với nhau như bên dưới:
Hình 4.1: Những thiết bị sử dụng được nối dây với nhau
Trang 184.2 Code điều khiển
Trang 194.3 Kết quả thử nghiệm và nhận xét
Sau khi tiến hành nối dây các thiết bị như Hình 4.1 theo sơ đồ chân và nhập code vào phần mềm Arduino IDE, nhóm tiến hành dán các điện cực bề mặt lên cánh tay rồi tiến hành
co bóp như Hình 4.2, thu được kết quả như thể hiện Hình 4.3
Hình 4.2: Dán các điện cực bề mặt lên cánh tay
Hình 4.3: Kết quả thu được từ cảm biến EMG khi co bóp cánh tay
Trang 20Nhận xét
Trong quá trình thí nghiệm và nhận kết quả có thể thấy tín hiệu điện dưới dạng Analog được truyền về Arduino qua bộ cảm biến EMG nhờ các động tác nắm và thả của bàn tay Tín hiệu EMG được xử lí và hiển thị theo thời gian thực đồng thời trên máy tính nhờ phần mềm Arduino IDE Tuy nhiên thiết bị còn tồn tại một số hạn chế về độ chính xác cao do chất lượng linh kiện đi kèm theo giá thành Vướng mắc về sai số trong quá trình thu thập
dữ liệu đo đạc như: dung sai của các linh kiện điện tử, nhiễu do môi trường bên ngoài và các thành phần bên trong mạch điện tử, sai số khi điện cực gắn trên da…
Trang 21TÀI LIỆU THAM KHẢO
[1] Nguyen Hieu (17/03/2017) Giới thiệu cảm biến cơ bắp và ứng dụng, 04/2024, từ http://arduino.vn/bai-viet/1443-gioi-thieu-cam-bien-co-bap-va-ung-dung
[2] TOTOLINK Việt Nam (15/08/2020) Arduino là gì? Những ứng dụng của arduino trong đời sống con người, 04/2024, từ https://www.totolink.vn/article/531-arduino-la-gi-nhung-ung-dung-cua-arduino-trong-doi-song-con-nguoi.html
[3] Daco.vn (2018) Động cơ Servo là gì? Cấu tạo, nguyên lí hoạt động và ứng dụng Servo Motor trong công nghiệp, 04/2024, từ https://daco.vn/san-pham/dong-co-servo-la-gi-cau-tao-nguyen-ly-hoat-dong-va-ung-dung-cua-servo-motor-trong-cong-nghiep-7907[4] thegioiic EMG A10-09 Mạch Cảm Biến Cơ Bắp, 04/2024, từ https://www.thegioiic.com/emg-a10-09-mach-cam-bien-co-bap
[5] Robot STEAM Vietnam Giới thiệu về Arduino Uno R3, 04/2024, từ https://robotsteam.vn/arduino-uno-r3
[6] thegioiic SG90 Động cơ Servo 180 độ, 1.2-2.4 Kg.cm, 4.8→6V, 04/2024, từ https://www.thegioiic.com/sg90-dong-co-servo-180-do-1-2-2-4-kg-cm-4-8-6v