MÔ PHỎNG CHUYỂN ĐỘNG CÁNH TAY DÙNG cảm BIẾN GIA tốc (có code và sơ đồ mạch) MÔ PHỎNG CHUYỂN ĐỘNG CÁNH TAY DÙNG cảm BIẾN GIA tốc (có code và sơ đồ mạch) MÔ PHỎNG CHUYỂN ĐỘNG CÁNH TAY DÙNG cảm BIẾN GIA tốc (có code và sơ đồ mạch)
Trang 1MÔ PHỎNG CHUYỂN ĐỘNG CÁNH TAY DÙNG CẢM BIẾN GIA TỐC
Trang 2MỤC LỤC
DANH MỤC CÁC HÌNH VẼ VII DANH MỤC CÁC BẢNG BIỂU VIII DANH MỤC CÁC TỪ VIẾT TẮT IX
CHƯƠNG 1 GIỚI THIỆU CHUNG 1
1.1 GIỚI THIỆU 1
1.2 GIỚI THIỆU ĐỀ TÀI 1
CHƯƠNG 2 LINH KIỆN SỬ DỤNG VÀ PHẦN MỀM 2
2.1 ARDUINO UNO R3 2
2.2 CẢM BIẾN GIA TỐC MPU-6050 4
2.3 MODULE BLUETOOTH CH-05 5
2.4 MODULE BLUETOOTH CH-05 7
2.5 USB TO TTL PL2303 8
CHƯƠNG 3 THIẾT KẾ MẠCH 10
3.1 SƠ ĐỒ KHỐI 10
3.2 NGUYÊN LÝ HOẠT ĐỘNG 11
CHƯƠNG 4 KẾT QUẢ MÔ PHỎNG 12
4.1 MÔ PHỎNG TRÊN IDE: 12
4.2 MÔ PHỎNG TRÊN UNITY 3D: 22
CHƯƠNG 5 KẾT LUẬN 22
4.1 KẾT LUẬN: 22
4.1.1 Ưu điểm: 22
4.1.2 Nhược điểm: 22
4.2 HƯỚNG PHÁT TRIỂN: 22
TÀI LIỆU THAM KHẢO 7
PHỤ LỤC A 8
Trang 4DANH MỤC CÁC HÌNH VẼ
HÌNH 2-1: ARDUINO UNO R3 3
HÌNH 2-2: MPU-6050 5
HÌNH 2-3: MODULE BLUETOOTH HC-05 7
HÌNH 2-4: MODULE BLUETOOTH HC-06 8
HÌNH 2-5: USBE TO TLL PL2303 9
Trang 5DANH MỤC CÁC B
BẢNG 2-1: THÔNG SỐ KĨ THUẬT CỦA ARDUINO UNO 4
YBẢNG 2-2: THÔNG SỐ KĨ THUẬT CỦA MPU-6050 5
YBẢNG 2-3: HƯỚNG DẪN NỐI DÂY HC-05 2
YBẢNG 2-4: HƯỚNG DẪN NỐI DÂY HC-06 8
YBẢNG 2-5: HƯỚNG DẪN NỐI DÂY PL2303 9
Trang 6DANH MỤC CÁC TỪ VIẾT TẮT
BDT Broadband Digital Terminal
FFT Fast Fourier Transform
MIMO Multi-Input Multi-Output
Trang 71.2 Giới thiệu đề tài
Đề tài ‘’MÔ PHỎNG CHUYỂN ĐỘNG CÁNH TAY BẰNG CẢM BIẾN GIATỐC’’ được thực hiện bằng cách lắp các cảm biến lên nhiều vị trí khác nhau trêncánh tay để mô phỏng hoạt động của cánh tay bằng mô hình 3D Kết quả đề tài này
có thể được áp dụng vào y tế để điều trị những chấn thương của cánh tay do sai tưthế trong quá trình tập thể thao
Mô Phỏng Chuyển Động Cánh Tay
Trang 8đánh kí hiệu từ A0 - A5, 6 pin này cũng có thể sử dụng được như các pin ra / vào
bình thường (như pin 0 - 13) Ở các pin được đề cập, pin 13 là pin đặc biệt vì nối
trực tiếp với LED trạng thái trên board
Trên board còn có 1 nút reset, 1 ngõ kết nối với máy tính qua cổng USB và 1 ngõcấp nguồn sử dụng jack 2.1mm lấy năng lượng trực tiếp từ AC-DC adapter haythông qua ắc-quy nguồn
Khi làm việc với Arduino board, một số thuật ngữ sau cần được lưu ý:
Flash Memory: bộ nhớ có thể ghi được, dữ liệu không bị mất ngay cả khi tắt điện Về vai trò, ta có thể hình dung bộ nhớ này như ổ cứng để chứa dữ liệu trên board Chương trình được viết cho Arduino sẽ được lưu ở đây Kích thước của vùng nhớ này thông thường dựa vào vi điều khiển được sử dụng,
ví dụ như ATmega8 có 8KB flash memory Loại bộ nhớ này có thể chịu được khoảng 10,000 lần ghi / xoá
RAM: tương tự như RAM của máy tính, sẽ bị mất dữ liệu khi ngắt điện nhưng bù lại tốc độ đọc ghi xoá rất nhanh Kích thước nhỏ hơn Flash
Memory nhiều lần
EEPROM: một dạng bộ nhớ tương tự như Flash Memory nhưng có chu kì ghi / xoá cao hơn - khoảng 100,000 lần và có kích thước rất nhỏ Để đọc / ghi dữ liệu ta có thể dùng thư viện EEPROM của Arduino
Ngoài ra, board Arduino còn cung cấp cho ta các pin khác nhau như pin cấp nguồn3.3V, pin cấp nguồn 5V, pin GND
Dòng tối đa trên mỗi chân I/0 là 30mA, dòng ra tối đa ( 5V ) là 500mA và dòng ratối đa ( 3V ) là 50mA
Vi điều khiển ATmega328 có các bộ nhớ sau:
-32KB cho flash memory: để lưu các đoạn lệnh lập trình
-2KB cho SRAM: để lưu giá trị các biến khi lập trình Khi mất điện, dữ liệu trênSRAM sẽ bị mất
Mô Phỏng Chuyển Động Cánh Tay
Trang 10Trang 4/17
Bảng 2-1 : Thông số kĩ thuật của Arduino UNO
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)Dòng tối đa trên mỗi chân I/O 30 mA
1.4 Cảm biến gia tốc góc MPU-6050
- MPU6050 là một cảm biến 6 trục, có chứa một gia tốc 3 trục và con quay hồichuyển 3 trục Cảm biến này hoạt động ở điện áp 3.3V và sử dụng giaotiếp I2C với tốc độ tối đa là 400kHz Các cảm biến bên trong MPU-6050
sử dụng bộ chuyển đổi tương tự - số ( Analog to Digital Converter – ADC) 16-bit cho ra kết quả chi tiết về góc quay, toạ độ… Với 16-bit sẽ có
216=65536 giá trị cho 1 cảm biến
- Tuỳ thuộc vào yêu cầu sử dụng mà cảm biến MPU-6050 có thể hoạt động ởchế độ xử lý cao hoặc chế độ đo góc quay chính xác MPU-6050 có khả năng
đo ở phạm vị :
Mô Phỏng Chuyển Động Cánh Tay
Trang 11Module bluetooth HC-05 được điều khiển bằng tập lệnh AT để thực hiện các tác vụmong muốn Để module bluetooth chuyển từ chế độ thông thường sang điều khiểnbằng AT, ta có 2 cách sau :
Mô Phỏng Chuyển Động Cánh Tay
GN
SCL Chân SCL trong giao tiếp I2C
SDA Chân SDA trong giao tiếp I2C
XDA Chân dữ liệu (kết nối với cảm biến khác) XCL Chân xung (kết nối với cảm biến khác) AD0 Bit0 của địa chỉ I2C2
Trang 12Trang 6/17
- Cấp nguồn cho HC-05 ( Vcc và Gnd ) đồng thời cấp mức điện áp cao ( Vcc )cho chân Key của module bluetooth Khi đó giao tiếp bằng tập lệnh AT vớimodulebangwf² oongcr Serial ( Tx và Rx ) với baud rate là 38400
- Cấp nguồn cho HC-05 trước sau đó cấp mức điện áp cao cho chân Key củamodule Bây giờ, có thể giao tiếp với module bằng tập lệnh AT với baud rate
Trang 13Hình 2-4 : Module Bluetooth HC-06 [4]
Bảng 2-3 : Hướng dẫn nối dây
Mô Phỏng Chuyển Động Cánh Tay
Trang 141 LED báo tín hiệu Tx và 1 LED báo tín hiệu Rx.
Hình 2-5 : USB To TTL PL2303 [5]
Bảng 2-4 : Hướng dẫn nối dây
Mô Phỏng Chuyển Động Cánh Tay
Trang 15HC-06HC-05
Trang 16Trang 10/17
1.9 Nguyên lý làm việc
Khi xoay cảm biến gia tốc MPU-6050 thì thông số các giá trị của cảm biến gia tốc
và con quay hồi chuyển sẽ thay đổi, sau đó những thông số này sẽ được gởi vềArduino và truyền đến Module Bluetooth HC-06
Module HC-06 đóng vai trò Slave sẽ gửi data thu được từ cảm biến gia tốc
MPU-6050 đến module HC-05 Module Bluetooth HC-05 hoạt động ở chế độ Master,giao tiếp bằng tập lệnh AT và được kết nối với máy tính thông qua USB SerialPL2303
Phần mềm mô phỏng Unity 3D sẽ đọc data thu được từ Module Bluetooth HC-05
và tiến hành mô phỏng chuyển động trên mô hình 3D
Mô Phỏng Chuyển Động Cánh Tay
Trang 17Trang 11/17
CHƯƠNG 4 KẾT QUẢ MÔ PHỎNG
1.10 Mô phỏng trên IDE
1.11 Mô phỏng trên Unity 3D
Mô Phỏng Chuyển Động Cánh Tay
Trang 18Trang 12/17
CHƯƠNG 5 KẾT LUẬN
1.12 Kết luận
1.1.1 Ưu điểm
Mạch chạy tốt, mô phỏng đúng với chuyển động cơ thể, ít bị trôi
Mạch đơn giản, dễ thực hiện, ứng dụng được trong nhiều lĩnh vực cuộc sống
Trang 19http://machtudong.vn/sanpham/bluetooth-module-3v-55v-ket-noi-serial-slave-[5] http://machtudong.vn/sanpham/usb-to-ttl-serial-pl2303hx.html
Mô Phỏng Chuyển Động Cánh Tay
Trang 20Wire.begin();
Wire.beginTransmission(MPU2);
Wire.write(0x6B); //PWR_MGMT_1 register Wire.write(0); // set to zero (wake up MPU6050) Wire.endTransmission(true);
Trang 21Trang 15/17
// put your main code here, to run repeatedly:
// get value for first MPU having address of 0x68