Tải bản đầy đủ (.pdf) (5 trang)

Tài liệu Gắn các liên kết cơ khí vào servo ppt

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 (251.2 KB, 5 trang )


1
Gắn các liên kết cơ khí vào servo

Một trong những tiện lợi khi dùng servo R/C cho robot là có nhiều cách khác nhau
để gắn các thứ vào servo. Trong mô hình máy bay và xe hơi, các servo thường được
gắn một số loại liên kết kéo đẩy.

Ví dụ: trong máy bay, servo điều khiển bánh lái được nối với một liên kết kéo đẩy
gắn vào bánh lái. Khi servo quay, liên kết sẽ kéo tới lui như sau

Hình 8: Bánh lái được gắn vào thân máy bay bằng một khớp bản lề nên khi liên kết
chuyển động, bánh lái sẽ đập tới lui.

Ta có thể dùng cùng một phần cứng thiết kế cho mô hình máy bay và xe hơi cho
robot sử dụng servo.

Gắn bánh xe vào servo:

Servo được hiệu chỉnh để có thể quay nguyên vòng thường được dùng cho việc di
chuyển robot và được trang bị cho các bánh xe. Vì servo thích hợp với các robot vừa
và nhỏ (nhỏ hơn 3 pound) nên các bánh xe chỉ có đường kính vào khoảng 2 –5 inch.
Các bánh xe đường kính lớn hơn làm robot chạy nhanh hơn nhưng chúng sẽ nặng
hơn. Ta không thể dùng bánh xe có đường kính 7 – 10 inch vì như vậy mỗi bánh đã
nặng 1,5 pound trong khi giới hạn khối lượng robot chỉ có 3 pound.

Phương pháp chung để gắn bánh xe vào servo là dùng đĩa điều khiển tròn quay
cùng với servo


2




Hình 9: Mặt dưới của đĩa khớp với trục ra của servo.
Ta có thể dán keo hay bắt vít bánh xe vào mặt trên của đĩa.

Sau đây là một số ý tưởng:

Lốp Lego balloon lớn: có mayơ lõm ăn khớp chính xác với đĩa điều khiển của nhiều
loại servo. Ta có thể dán đĩa vào vành bánh xe.

Lốp nhẹ: phổ biến trong mô hình máy bay, có thể dán hay bắt vít vào đĩa điều khiển.
Lốp có nhiều loại đường kính khác nhau. Nếu muốn ta có thể tán nhỏ mayơ của lốp
để nó ăn khớp mịn hơn với đĩa điều khiển.

Bánh răng dán hay bắt vít vào đĩa điều khiển có thể được dùng như một bánh xe
thay thế hay một bánh răng dẫn động cho bánh xe gắn vào một trục khác.

Trong tất cả trường hợp này cần phải duy trì đường vít để có thể siết chặt đĩa điều
khiển vào servo. Khi gắn bánh xe hay lốp ta không được chắn lỗ vít. Nếu cần ta có
thể chèn vít vào đĩa điều khiển trước, sau đó mới gắn lốp xe. Cần đảm bảo mayơ của
bánh xe đủ rộng đối với đường kính của tua vít để có thể siết vít vào trục ra của
servo.


Gắn servo vào thân robot

Servo phải được gắn chặt vào thân robot để động cơ không bị rớt ra khi robot
chuyển động. Một số phương pháp thường dùng:

Duct tape / Electrical tape: các vật nhờn trên dây đàn hồi nên servo làm chính nó

lỏng ra. Dây còn để lại vết nhớt tích lũy.

3

Vòng và móc: sự liên kết chính xác của các nửavòng và móc có thể phức tạp, có
nghĩa là mỗi khi ta thay thế servo, bánh xe sẽ bị một sai lệch nhỏ về góc so với thân
robot. Điều này làm việc lập trình lặp khó khăn hơn.

Tie wrap: ta phải buộc chặt tie wrap để giữ servo cố định, trử khi robot làm bằng
kim loại hay nhựa cứng

Các phương pháp gắn cứng như dán, bắt vít, cài then servo lên thân robot là những
giải pháp tốt vì nó giảm hư hỏng.

Gắn servo bằng keo:
Dán keo là cách nhanh và dễ nhất để gắn servo lên thân robot làm bằng bất kỳ vật
liệu nào bao gồm bìa cứng và nhựa. Ta chỉ cần dùng keo dán loại chắc như keo
epoxy, keo nóng chảy (hot melt). Keo nóng chảy không tạo khói như keo epoxy và
cũng mau cứng hơn. Trước khi dán keo ta phải làm sạch và làm nhám bề mặt để
dính tốt hơn.

Gắn servo bằng bắt vít hay cài then:
Nhược điểm của việc gắn servo dùng keo là không bền. Để phạm vi linh hoạt lớn
hơn ta nên dùng cách bắt vít hay cài then. Tất cả servo đều có lỗ gắn trên khung, ta
chỉ cần khoan các lỗ tương ứng trên thân robot.

Khung servo chứa nhiều máy phát vô tuyến và các servo riêng biệt (1 – 3 cái). Trên
khung cũng có thêm các lỗ tương ứng để ta có thể gắn vào mặt bên hay đáy robot.
Đa số khung làm bằng nhựa nên rất dễ khoan thêm lỗ.
Ta có thể tự làm khung servo bằng nhôm hay nhựa.



Hình 10: thể hiện một mẫu nhưng không theo tỉ lệ 1:1

4
Dẫn động servo

Dùng máy phát chức năng:

Một động cơ DC 3 dây có 3 dây vào: dây đỏ nối nguồn, dây đen nối đất, dây trắng /
vàng nối với tín hiệu điều khiển. Một trong những cách đơn giản nhất để kiểm tra
hay dẫn động servo là sử dụng máy phát chức năng để tạo xung, có thể dùng hàm
xung vuông của máy phát chức năng. Ta nên điều chỉnh biên độ của xung vuông để
tương thích với nguồn cung cấp cho servo.

Một khi ta đã điều chỉnh biên độ của xung vuông, ta cũng có thể điều chỉnh độ rộng
của dải xung bằng cách điều chỉnh tần số của tín hiệu. Đối với động cơ servo, điểm
trung hòa (độ rộng xung mà tại đó động cơ được giữ ở góc 180
o
) vào khoảng 1,52
ms. Bất kỳ xung nào có độ rộng nhỏ hơn 1,52 ms sẽ làm cho động cơ quay một góc
nhỏ hơn 90
o
và ngược lại. Chú ý rằng động cơ servo chỉ quay trong khoảng (0
o
,180
o
)
nếu chưa được hiệu chỉnh. Góc quay này tương ứng với độ rộng xung từ 0,8 – 2,5
ms. Vậy ta phải đảm bảo độ rộng xung tạo ra nằm trong khoảng này.


Đối với servo được hiệu chỉnh để quay liên tục, nó sẽ không quay tại độ rộng xung
trung hòa, quay theo chiều kim đồng hồ nếu độ rộng xung nhỏ hơn độ rộng xung
trung hòa, ngược chiếu kim đồng hồ nếu độ rộng xung lớn hơn (nhưng vẫn phải
nằm trong vùng giới hạn trên).

Dùng bảng Handy Board:

Trong đa số các ứng dụng ta không thể dùng máy phát chức năng để dẫn động động
cơ servo. Một trong những cách tiện lợi nhất là dùng Handy Board. Chương trình C
có một thư viện cho phép điều khiển động cơ servo, dùng ngõ vào số 9 – PA7, một
công cụ điều khiển hai chiều. Thư viện này có thể được đưa lên Handy Board bằng
cách load file nhị phân servo.icb và servo.c (file ta ghi chương trình không được đặt
tên là servo.c)

Sau đây là các hàm của thư viện để điều khiển servo:
void servo_on (): cho PA7 phát xung
void servo_off (): không cho PA7 phát xung
int servo (int period): đặt độ dài xung điều khiển.

Giá trị chính là số lần phần dương của xung chữ nhật được tạo ra trên PA7 trong 5
µs để điều khiển servo. Giá trị nhỏ nhất có thể là 1400, lớn nhất là 4860. Giá trị trả về
của hàm là chu kỳ thực sự mà phần mềm tạo ra. Ở điểm trung hòa, giá trị này là
2950 khi động cơ servo chưa điều chỉnh và là 2570 khi động cơ đã điều chỉnh
int resvo_rad (float angle): đặt góc quay của servo theo radian
int resvo_deg (float angle): đặt góc quay của servo theo độ

5

Chương trình mẫu:


Đoạn code sau minh họa cách dùng các hàm thư viện để dẫn động động cơ servo:
float period=70.0;
int k;
servo_on;
while(1){
k = servo_deg(period);
printf(“angle is %d\n”, k);
}

Đoạn code trên điều khiển động cơ quay 70
o
và hiển thị vị trí hiện thời lên màn hình
LCD (theo µs của xung). Nếu động cơ được hiệu chỉnh để quay liên tục, động cơ sẽ
quay liên tục theo chiều kim đồng hồ.
int period=1400.0;
int k;
servo_on;
while(1){
k = servo(period);
printf(“period is %d\n”, k);
period = period + 100;
}

Đoạn code trên điều khiển động cơ chưa hiệu chỉnh quay một lượng nhỏ cho đến
hki đụng vật cản cơ học. Động cơ sẽ bắt đầu lại ở vị trí 0 sau khi vượt quá giá trị chu
kỳ lớn nhất. Động cơ đã hiệu chỉnh thì sẽ quay theo và ngược chiều kim đồng hồ
liên tiếp. Đấu tiên khi giá trị chu kỳ nhỏ hơn giá trị trung hòa, động cơ quay theo
chiều kim đồng hồ, sau khi vượt quá giá trị chu kỳ trung hòa sẽ quay ngược chiều
kim đồng hồ. Sau khi vượt quá giá trị chu kỳ lớn nhất giá trị sẽ trở về 1400 và động

cơ lại quay theo chiều kim đồng hồ. Ta có thể quan sát điều này trên màn hình LCD.




×