Tải bản đầy đủ (.docx) (15 trang)

khung và cấu trúc nhện

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.11 MB, 15 trang )

Chương 2: Thiết kế mô hình Robot nhện

Chương 2
THIẾT KẾ MÔ HÌNH ROBOT NHỆN
2.1 Chọn vật liệu làm khung
Ngoài thị trường khung robot nhện được làm từ nhiều loại vật liệu khác nhau như in
3D, mica, nhôm mỏng,….
Sau đây sẽ là 1 số hình ảnh về các loại khung robot phổ biến có thể thấy.

Hình2.1 khung robot in 3D

Hình 2.2 khung robot bằng mica

3


Chương 2: Thiết kế mô hình Robot nhện

Hình 2.3 khung robot bằng nhôm mỏng
2.2 Thiết kế khung robot
Tuy thuộc vào loại động cơ mà chọn vật liệu để thiết kế khung robot, ở đây nhóm
thực hiện đề tài đã chọn mica làm vật liệu để thiết kế khung.
Sau đây là thiết kế của nhóm thực hiện đề tài.

4


Chương 2: Thiết kế mô hình Robot nhện

Hình 2.4 Khớp số 1 của robot


Hình 2.5 Khớp số 2 của robot

5


Chương 2: Thiết kế mô hình Robot nhện

Hình 2.6 Móng của robot

Hình 2.7 Thân robot
Khớp số 1 gồm 2 miến ở mỗi chân dùng để giữ 2 động cơ servo lại với nhau tạo ra
cử động qua trái qua phải cho mỗi chân. Khớp số 2 dùng để tại ra cử động lên và

6


Chương 2: Thiết kế mô hình Robot nhện
xuống ở mỗi chân. Móng để giúp tạo động tác duỗi ra ở mỗi chân. Phần thân robot
được dùng để gắn arduion và các board chuyên dụng.

Chương 3

7


Chương 2: Thiết kế mô hình Robot nhện

THIẾT BỊ VÀ PHẦN MỀM SỬ DỤNG TRONG ĐỀ TÀI
3.1Tổng quan về Arduino UNO R3:
Nhắc tới dòng mạch Arduino dùng để lập trình, cái đầu tiên

mà người ta thường nói tới chính là dòng Arduino UNO. Hiện
dòng mạch này đã phát triển tới thế hệ thứ 3 (R3).

Hình 3.1 ARDUINO R3
3.1.2 Thông số về Arduino UNO R3:
Arduino Uno được xây dựng với phân nhân là vi điều khiển
ATmega328P sử dụng thạch anh có chu kì dao động là 16 MHz. Với
vi điều khiển này, ta có tổng cộng 14 pin (ngõ) ra / vào được đánh
số từ 0 tới 13 (trong đó có 6 pin PWM, được đánh dấu ~ trước mã
số của pin). Song song đó, ta có thêm 6 pin nhận tín hiệu
analog được đá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 hay thô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
ý:
8


Chương 2: Thiết kế mô hình Robot nhện
 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ồn 3.3V, pin cấp nguồn 5V, pin GND...
3.1.3 Sơ đồ chân

9


Chương 2: Thiết kế mô hình Robot nhện
Hình 3.2 sơ đồ chân Arduino R3

3.2 Động cơ RC Servo
3.2.1 Khái niệm
Động cơ RC Servo 9G là động phổ biến dùng trong các
mô hình điều khiển nhỏ và đơn giản như cánh tay robot. Độ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 độ
rộng xung PWM.

Hình 3.3 Động cơ RC Servo
3.2.2 Thông số kỹ thuật:
Điện áp hoạt động: 4.8-5VDC
Tốc độ: 0.12 sec/ 60 degrees (4.8VDC)
Lực kéo: 1.6KG.CM

Kích thước: 21x12x22mm
Trọng lượng: 9g.
3.2.3 Nguyên lý hoạt động:
Động cơ servo được thiết kế những hệ thống hồi tiếp
vòng kín. Tín hiệu ra của động cơ được nối với một mạch điều
khiển. Khi động cơ quay, vận tốc và vị trí sẽ được hồi tiếp về mạch
điều khiển này. Nếu có bầt kỳ lý do nào ngăn cản chuyển động
quay của động cơ, cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa
đạt được vị trí mong muốn.
3.2.4 Điều khiển động cơ RC Servo

10


Chương 2: Thiết kế mô hình Robot nhện
Bằng cách viết chương trình điều khiển
void chan1(int a, int b, int c){
int x;
int y;
int z;
x=85+(a-90);//80
y=110+(b-90);//75
z=110+(c-90);//90
pwm.setPWM(0,0,pulseWidth(x));
pwm.setPWM(1,0,pulseWidth(y));
pwm.setPWM(2,0,pulseWidth(z));
}
void chan2(int a, int b, int c){
int x;
int y;

int z;
x=93-(a-90);
y=95-(b-90);
z=70-(c-90);
pwm.setPWM(3,0,pulseWidth(x));
pwm.setPWM(4,0,pulseWidth(y));
pwm.setPWM(5,0,pulseWidth(z));
}
void chan3(int a, int b, int c){
int x;
int y;
int z;
x=95+(a-90);
y=92+(b-90);
z=85+(c-90);
pwm.setPWM(6,0,pulseWidth(x));
pwm.setPWM(7,0,pulseWidth(y));
pwm.setPWM(8,0,pulseWidth(z));
}

11


Chương 2: Thiết kế mô hình Robot nhện

3.3 Module PCA9685.
3.3.1 khái niệm:
Mô-đun này (HCMODU0097) là một bảng đột phá
cho bộ điều khiển PWM 16 kênh NXP PCA9685. Nó có 16 đầu
ra PWM được lập trình đầy đủ với độ phân giải 12 bit, tổng

cộng 4096 bước có thể lập trình với chu kỳ nhiệm vụ được
điều chỉnh từ 0% đến 100%. Ngoài ra, tần số đầu ra của tất
cả 16 kênh có thể được lập trình từ 24Hz đến 1526Hz. Nhằm
mục đích kiểm soát độ sáng của nhiều đèn LED, khả năng lập
trình của các đầu ra PWM của nó có nghĩa là nó cũng có thể
được cấu hình để tạo tín hiệu PWM tương thích với các động
cơ servo tiêu chuẩn. Trên thực tế, mô-đun này đã được thiết
kế với mục đích này với 16 bộ tiêu đề cho phép mọi servo có
tiêu đề tiêu chuẩn được cắm trực tiếp vào mô-đun. Một khối
thiết bị đầu cuối trục vít cung cấp một phương tiện cung cấp
năng lượng cho các servo được gắn từ một PSU 5V bên ngoài
và do đó số lượng servo bạn có thể lái từ vi điều khiển của
mình và do đó không bị giới hạn bởi nguồn cung cấp năng
lượng của bộ vi điều khiển. Đối với người dùng Arduino, với
mô-đun này và thư viện Arduino độc quyền của chúng tôi
(HCPCA9685), chúng ta có thể điều khiển trực tiếp tối đa 16
servo từ Arduino của mình chỉ bằng một vài lệnh.

12


Chương 2: Thiết kế mô hình Robot nhện

Hình 3.3 Module PCA9685.
3.3.2 Thông số kỹ thuật:
Tương thích với điện áp 5V, tuy nhiên có thể điều khiển nó qua
MCU 3.3V và vẫn an toàn khi cấp nguồn 6V cho Servo.
- Tần số PWM có thể điều chỉnh lên khoảng 1.6 KHz.
- Độ phân giải 12 bit cho mỗi ngõ ra servo, có nghĩa là khoảng 4us
tại 60Hz.

- Giao tiếp trực tiếp với Driver bằng chuẩn giao tiếp I2C.
- Có 6 chân địa chỉ vì vậy có thể giao tiếp được với 62 mạch driver
khác nhau trên cùng một đường bus I2C nâng tổng số ngõ ra PWM
là 992 cổng.
- Có thể khai báo điện trở ngõ ra dạng Push-Pull hoặc Open-Drain.
- Có thể nhanh chóng ngắt tín hiệu tất cả các ngõ ra.
3.3.3 Nguyên lý hoạt động:
Mạch Điều Khiển 16 Servo PCA9685 rất thích hợp làm robot cần
dùng nhiều servo, hay điều khiển led với ngõ ra điều khiển
PWM, mạch nhỏ gọn, dễ sử dụng, mở rộng nhiều kênh PWM qua
đường truyền I2C.
Mạch có thể kết nối cùng lúc 62 module tương ứng lên đến 992
kênh PWM, điểm đặc biệt của loại này là khi không nhận đươc tín
hiệu xung gửi đến board, các motor sẽ dừng hoạt động cho đến khi
13


Chương 2: Thiết kế mô hình Robot nhện
nhận được tín hiệu xung, vì thế không cần vi điều khiển phải liên
tục gửi tín hiệu để giữ vị trí.
Mạch sử sụng nguồn từ 3.3V - 6V, địa chỉ được set trên 6 chân, tần
số điều chỉnh PWM lên đến khoảng 1.6KHz.
3.4 Mạch thu phát NRF 24L01 +24Ghz
3.4.1 khái niệm:

Module sử dụng chip truyền sóng NRF24L01+ mới nhất từ
hãng Nordic với nhiều cải tiến so với chip NRF24L01 cũ về tốc độ
truyền, khoảng cách, độ nhạy, bổ sung thêm pipelines, buffers, và
tính năng auto-retransmit nhưng vẫn tương thích ngược với phiên
bản cũ về cách sử dụng ...NRF24L01+ hoạt động trên dải tần

2.4GHz và sử dụng giao tiếp SPI, khoảng cách tối đa trong điều
khiện không vật cản lên đến 100m.

Hình 3.4 NRF 24L01
3.4.2 Thông số kỹ thuật:
Điện thế hoạt động: 1.9V - 3.6V
Có sẵn anthena sứ 2.4GHz.
Truyền được 100m trong môi trường mở với 250kbps baud.
Tốc độ truyền dữ liệu qua sóng: 250kbps to 2Mbps.
Tự động bắt tay (Auto Acknowledge).
Tự động truyền lại khi bị lỗi (auto Re-Transmit).
Multiceiver - 6 Data Pipes.
Bộ đệm dữ liệu riêng cho từng kênh truyền nhận: 32 Byte
separate TX and RX FIFOs.

Các chân IO đều chịu được điện áp vào 5V.

Lập trình được kênh truyền sóng trong khoảng 2400MHz đến
2525MHz (chọn được 125 kênh).

Thứ tự chân giao tiếp : GND,VCC,CS,CSN,SCK,MOSI,MISO,IQR.










14


Chương 2: Thiết kế mô hình Robot nhện
3.4.3 Nguyên lý hoạt động:
Module NRF24L01 hoạt động ở tần số sóng ngắn 2.4G nên Module
này khả năng truyền dữ liệu tốc độ cao và truyền nhận dữ liệu
trong
điều
kiện
môi
trường

vật
cản.
- Module nRF24L01 có 126 kênh truyền. Điều này giúp nó có thể
truyền dữ liệu trên nhiều kênh khác nhau.
- Chú ý: Điện áp cung cấp cho là 1.9à3.6V. Điện áp thường cung
cấp là 3.3V. Nhưng các chân IO tương thích với chuẩn 5V. Điều này
giúp nó giao tiếp rộng dãi với các dòng vi điều khiển.
3.3.4 Sơ đồ chân

Hình 3.5 : sơ đồ chân NRF 24L01

3.5 Arduino JoyStick Shield.
3.5.1 khái niệm:
Arduino JoyStick Shield được thiết kế để kết hợp với Arduino
như 1 tay cầm điều khiển chuyên nghiệp, Shield hỗ trợ 1 Joystick
và 6 phím nhấn điều khiển linh hoạt, ngoài ra còn có các socket để
thể gắn thêm các mạch như: NRF24L01+, LCD Nokia5110,

Bluetooth HC-06, ngõ ra giao tiếp I2C,....
3.5.2 Thông số kỹ thuật:
Điện áp sử dụng: 5VDC,3.3 VDC
Trên Arduino Joystick Shield gồm có 7 nút nhấn:
- 4 nút điều khiển lớn
- 2 nút điều khiển nhỏ
- Và 1 cần điều khiển joystick 2 trục.

15


Chương 2: Thiết kế mô hình Robot nhện

Hình 3.6 Arduino JoyStick Shield.

16


Chương 2: Thiết kế mô hình Robot nhện

17



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×