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

1
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.
2
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

3
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 180o) 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 (0o,180o)
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 độ
4
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 %dn”, k);
}
Đoạn code trên điều khiển động cơ quay 70o 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 %dn”, 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.

5

More Related Content

PDF
Servo 1
PDF
Servo 2
PDF
Bao cao servo
PDF
Vận hành, bảo dưỡng tủ điện điều khiển công nghiệp
PPTX
Bao cao dong co BLDC
DOC
Ngân hàng câu hỏi Lí thuyết - Máy điện 2 - Năm 2017
PDF
Đề tài: Nâng cấp hệ truyền động quay chi tiết của máy mài, HOT
PDF
Đề tài: Thiết kế, chế tạo và điều khiển robot xe đua dò line, HAY
Servo 1
Servo 2
Bao cao servo
Vận hành, bảo dưỡng tủ điện điều khiển công nghiệp
Bao cao dong co BLDC
Ngân hàng câu hỏi Lí thuyết - Máy điện 2 - Năm 2017
Đề tài: Nâng cấp hệ truyền động quay chi tiết của máy mài, HOT
Đề tài: Thiết kế, chế tạo và điều khiển robot xe đua dò line, HAY

What's hot (20)

DOCX
Bao cao do an dieu khien dong co dc
PDF
4 c3 dong co khong dong bo
DOC
Ngân hàng câu hỏi Lí thuyết - Máy điện 2 - Năm 2016
PDF
Đồ án thiết kế robot dò đường
PDF
Ôn tập máy điện 1 - Năm 2020 (update)
PDF
Giới thiệu ac servo sgdm sigma ii của yaskawa
DOCX
Điều khiển động cơ sử dụng atmega16
DOC
Dcn thuc hanh_dien_pham_van_tuan
PDF
động cơ BLDC
PDF
Phân tích so sánh cơ cấu nâng hạ hàng ở cần trục sử dụng động cơ không đồng b...
PDF
Chuong 2 dieu khien toc do dong co mot chieu (slides 1-25)
PDF
Lập trình và sử dụng máy phay OKUMA (hệ OSP)
PDF
Giáo trình thiết kế mạch logic số
PDF
Bao ve dong co kđb 3 pha
PDF
Dong co 1_pha_2933
PDF
Đề cương ôn tập Khí cụ điện - Năm 2017
PDF
Dien - Khi nen SMC
PDF
Chapter 1 Fundamental concepts of electrical drives
PDF
Do an-mo-hinh-dieu-khien-toc-do-dong-co-dien-mot-chieu-bang-vi-dieu-khien-ho-...
PDF
Cải thiện chất lượng điều khiển hệ thống máy phát điện sức gió sử dụng máy đi...
Bao cao do an dieu khien dong co dc
4 c3 dong co khong dong bo
Ngân hàng câu hỏi Lí thuyết - Máy điện 2 - Năm 2016
Đồ án thiết kế robot dò đường
Ôn tập máy điện 1 - Năm 2020 (update)
Giới thiệu ac servo sgdm sigma ii của yaskawa
Điều khiển động cơ sử dụng atmega16
Dcn thuc hanh_dien_pham_van_tuan
động cơ BLDC
Phân tích so sánh cơ cấu nâng hạ hàng ở cần trục sử dụng động cơ không đồng b...
Chuong 2 dieu khien toc do dong co mot chieu (slides 1-25)
Lập trình và sử dụng máy phay OKUMA (hệ OSP)
Giáo trình thiết kế mạch logic số
Bao ve dong co kđb 3 pha
Dong co 1_pha_2933
Đề cương ôn tập Khí cụ điện - Năm 2017
Dien - Khi nen SMC
Chapter 1 Fundamental concepts of electrical drives
Do an-mo-hinh-dieu-khien-toc-do-dong-co-dien-mot-chieu-bang-vi-dieu-khien-ho-...
Cải thiện chất lượng điều khiển hệ thống máy phát điện sức gió sử dụng máy đi...
Ad

Viewers also liked (20)

PDF
Giao trinh-solidwork[bookbooming.com]
PDF
bctntlvn (61).pdf
DOC
Cantudong phanvan thang_dh04td
PDF
Hướng dẫn kết nối s7300 với citect (cáp USB MIP)
PDF
Hướng dẫn sử dụng máy Phay Heidenhain đời mới_Manualplus (demo)
PDF
Wincc tiengviet-140823183548-phpapp02
PDF
Tài Liệu Điều Khiển Từ Xa Bằng Hồng Ngoại
PDF
Tài liệu profibus
PDF
13 DC Bước - Bàn phím DAC
PDF
Viết Ngôn Ngữ Lập Trình 8051 PIC AVR
PDF
Mang truyen thong siemen
PDF
Báo cáo TTTN lập trình S7300 và hệ thống SCADA
DOC
Tài liệu PCL tổng hợp
PDF
Lập trình C cho VĐK 8051
PDF
Solidwork giao trinh xong chentrang
PDF
Vi Điều Khiển Ứng Dụng AT89s52
PDF
Chuong 6 truyen thong noi tiep
PDF
Lập trình PLC S7 1200 tiếng Việt-Chuong 7 truyền thông điểm điểm
PDF
Các loại ic
PDF
ĐIỆN TỬ CƠ BẢN NÂNG CAO
Giao trinh-solidwork[bookbooming.com]
bctntlvn (61).pdf
Cantudong phanvan thang_dh04td
Hướng dẫn kết nối s7300 với citect (cáp USB MIP)
Hướng dẫn sử dụng máy Phay Heidenhain đời mới_Manualplus (demo)
Wincc tiengviet-140823183548-phpapp02
Tài Liệu Điều Khiển Từ Xa Bằng Hồng Ngoại
Tài liệu profibus
13 DC Bước - Bàn phím DAC
Viết Ngôn Ngữ Lập Trình 8051 PIC AVR
Mang truyen thong siemen
Báo cáo TTTN lập trình S7300 và hệ thống SCADA
Tài liệu PCL tổng hợp
Lập trình C cho VĐK 8051
Solidwork giao trinh xong chentrang
Vi Điều Khiển Ứng Dụng AT89s52
Chuong 6 truyen thong noi tiep
Lập trình PLC S7 1200 tiếng Việt-Chuong 7 truyền thông điểm điểm
Các loại ic
ĐIỆN TỬ CƠ BẢN NÂNG CAO
Ad

Similar to Servo 3 (20)

PDF
Giáo trình robocon nhiều tác giả
PDF
Bai1_Van-hanh-robot_23333333333333333333333021-01-20.pdf
PPTX
TÌM HIỂU ROBOT CÔNG NGHIỆP TRONG HỆ THỐNG FMS
PDF
Bai2_Giao-tiep-robot-machine-controller_2021-01-20.pdf
DOC
Cam bien trong robot(sensor robot)
PDF
dongco khong cdong bno ba pha acc fj.pdf
DOCX
Nhập môn bài 2 sao chép - sao chép (1)
PDF
Motion control systems_lec - This is Servo Control System
PPTX
Động cơ AC servo.pptx
DOCX
Code robot sumo cho cac ban tham khao nhe
PDF
Hướng dẫn sử dụng biến tần 3G3JX
DOCX
trangtranghahahahahahahahafawshascascacaw
PDF
Gia cong bang robot voi NX - Nguyen Phuoc Hai.pdf
PDF
Thực hành gia công bằng Robot trên NX10
PPTX
Robot abb lap trinh irb 1100 thao lap.pptx
PPTX
Tài liệu điện, cơ khí
PDF
Altivar 31 vietnamese_final_3755
PDF
Van hanh may tien
PDF
Arduino + GorillaShield + Các mô-đun IO + mBlock5 + Các khối mở rộng.pdf
Giáo trình robocon nhiều tác giả
Bai1_Van-hanh-robot_23333333333333333333333021-01-20.pdf
TÌM HIỂU ROBOT CÔNG NGHIỆP TRONG HỆ THỐNG FMS
Bai2_Giao-tiep-robot-machine-controller_2021-01-20.pdf
Cam bien trong robot(sensor robot)
dongco khong cdong bno ba pha acc fj.pdf
Nhập môn bài 2 sao chép - sao chép (1)
Motion control systems_lec - This is Servo Control System
Động cơ AC servo.pptx
Code robot sumo cho cac ban tham khao nhe
Hướng dẫn sử dụng biến tần 3G3JX
trangtranghahahahahahahahafawshascascacaw
Gia cong bang robot voi NX - Nguyen Phuoc Hai.pdf
Thực hành gia công bằng Robot trên NX10
Robot abb lap trinh irb 1100 thao lap.pptx
Tài liệu điện, cơ khí
Altivar 31 vietnamese_final_3755
Van hanh may tien
Arduino + GorillaShield + Các mô-đun IO + mBlock5 + Các khối mở rộng.pdf

Servo 3

  • 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 1
  • 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. 2
  • 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 3
  • 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 180o) 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 (0o,180o) 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 độ 4
  • 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 %dn”, k); } Đoạn code trên điều khiển động cơ quay 70o 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 %dn”, 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. 5