PDA

View Full Version : Động cơ RC Servo


falleaf
20-01-2006, 03:04 PM
www.tailieuvietnam.net/download/Motors/SERVO_1.PDF
www.tailieuvietnam.net/download/Motors/SERVO_2.PDF
www.tailieuvietnam.net/download/Motors/SERVO_3.PDF

Đây là các tài liệu cơ bản về động cơ Servo đã được dịch lại và có bổ sung. Tuy nhiên, một điều các bạn cần phải lưu ý là trong bản dịch và có bổ sung này, có rất nhiều từ ngữ dùng sai, vì các tài liệu này chúng tôi đã dịch từ hồi năm thứ 3 đại học, và không có thời gian chỉnh sửa.

Các bạn có thể dùng tài liệu này như một tài liệu tham khảo, nhưng lưu ý đừng chất vấn về những từ ngữ sai của nó, bởi vì tôi đọc sơ lại thấy rất nhiều chỗ sai, nhưng thực sự không còn thời gian để chỉnh sửa, nên đành chấp nhận công bố tài liệu này cho các bạn. Nếu có bạn nào có thời gian chỉnh sửa tài liệu, mong các bạn sau khi tổng hợp tài liệu có thể viết một tài liệu tốt hơn và cung cấp cho chúng tôi để phổ biến phiên bản tốt hơn.

Chân thành cảm ơn và chúc may mắn đầu năm mới.

Chúc vui.

falleaf
21-01-2006, 03:28 PM
http://www.seattlerobotics.org/guide/servohack.html

Làm thế nào để có thể quay động cơ Servo 360 độ?

Trang web trên sẽ giúp các bạn điều đó.

Đơn giản, gồm 2 bước chính, một là cắt bỏ khấc chặn của hộp số động cơ, hai là thay lại phần cảm biến vị trí bằng 2 con trở. Trên trang web hướng dẫn thực hành rất đơn giản và chi tiết.

Nếu bạn nào có thời gian, xin dịch sơ bộ trang web này và post lên picvietnam.

Chúc vui.

mechatronic
05-03-2006, 12:44 AM
Sao mình ko đọc được mấy file pdf ở trên nhỉ?

nhh
01-04-2006, 02:53 PM
Anh F !

Cơ điện tử sử dụng động cơ stepper và servo rất nhiều.Nhưng thật đáng tiếc là ở nhà trường ko được thực hành !
Để giúp tụi em ko bị bỡ ngỡ khi tiếp xúc,anh có thể vẽ mạch với các thông số thật của động cơ (cả stepper và servo) cho tụi em tự mày mò lập trình điều khiển được ko anh!

Chắc là anh rất bận!Anh cố gắng giúp tụi em với !
Cảm ơn anh!

hoanf
03-07-2006, 06:55 PM
Anh Falleaf ơi!
Anh coi lại cái link tải tài liệu dùm em cái.
Để em tải tải liều về nghiên cứu động cơ Servo.
Em cám ơn nhiều.
Chúc vui vẻ.

hoangminh1234
09-10-2006, 02:43 PM
tụi mình đã làm việc với động cơ rc này nhờ sự help của anh LaMuaThu một cách thành công. Để mình viết thêm tí kinh nghiệm thực tế cho các bác làm là chạy ko cần đắn đo suy nghĩ là làm thế có đúng ko? Bị sai cái gì thì mình xin được viết về hai cái sai của tụi mình khi làm việc với động cơ RC:
Ông anh cho mượn cái RC servo về điều khiển, mình làm theo đúng lý thuyết hoài mà nó ko chạy. Thất vọng lắm,nhưng sau đó nhờ sự giúp đỡ của thầy Huỳnh Văn Kiểm thì mọi chuyện đã xong xuôi trót lọt. Các sai lầm mà tụi mình đã gặp:

1. Động cơ RC, trước khi điều khiển, hãy chắc chắn rằng động cơ còn tốt. Động cơ của ông anh cho mình mượn hư tong từ đời nào. Vậy mà ảnh nói tốt làm tui và Nguyên điều khiển muốn khùng mà ko chạy.Sau đó thầy kiểm cho mượn cái RCservo khác để điều khiển thì nó chaỵ tốt. NHƯNG...
2. Nó cứ cà giật cà giật như gà mắc thóc ?? Tại sao vậy trời ?? Thầy kiểm suy nghĩ rồi nói con này lúc hoạt động tiêu thụ dòng quá lớn làm reset microchip => giải pháp tăng dòng biến áp , sau đó tụi mình thay biến áp 1A thành biến áp 3A . Mọi chuyện hoàn toàn theo ý muốn.
3. RC servo là gì? Một câu quan trọng mình muốn nhấn manh khi điều khiển RCservo là:
"Ta dùng độ rộng xung đưa vào dây tín hiệu RC servo để điều khiển vị trí của động cơ. "
Có nghĩa là độ rộng xung nhỏ, góc quay nhỏ, độ rộng xung lớn thì góc quay lớn. Nhỏ và lớn bao nhiêu thì các bạn newbie chịu khó đọc tài liệu anh Falleaf. Còn đối với các bạn đọc rồi thì nói thế là đủ !

Chỉ cần biết 3 điều đó thì chắc chắn bạn điều khiển được rcservo!

tungthanh
17-10-2006, 09:58 AM
Chào mọi người, mình muốn học về rc servo,dang muốn mua 1 con về xài,nhưng ko biết mua ở đâu. mình dang o tphcm.Nếu d7uợc mong chi giáo
cam on truơc

luanktd
28-06-2007, 09:51 PM
các bạn cho mình hỏi về bộ điều khiển động co servo MR-J20A, mình tìm hoài ko thấy , nhãn thì ghi cua MITSUBISHI nhưng mình tìm hoài ko thấy

falleaf
28-06-2007, 10:54 PM
Chào mọi người, mình muốn học về rc servo,dang muốn mua 1 con về xài,nhưng ko biết mua ở đâu. mình dang o tphcm.Nếu d7uợc mong chi giáo
cam on truơc

Liên hệ internet@vieltek.com để mua.

Còn câu hỏi của bạn bên dưới thì cái động cơ Mitsu gì đó đâu phải RC Servo. Nó là động cơ servo đó chứ. Phải lên những trang chuyên kinh doanh sản phẩm công nghiệp tìm mới có.

Chúc vui

luanktd
29-06-2007, 08:18 PM
Mình đã lên tìm rồi nhưng vẫn không thấy .mình lên cả trang Mítu nhưng vẫn kô thấy . Số là cái động cơ nó chi quay được có 1 hay 2 s là nó ngừng hẳn ko quay luôn , mình ko biết sửa làm sao cả

tranducbinh
24-07-2007, 12:06 PM
Minh đang mô phỏng diều khiển động cơ RC trên proteus. Khi xuất xung PWM ra động cơ thì thấy động cơ quay một mạch tới 90 độ rôi dừng hẳn. dù có chỉnh độ rộng xung như thế nào đi nữa nhưng nó vẫn quay đúng 90 rôi dừng. Bây giờ không biết làm sao để cho nó quay 45 độ được. Ai biết chỉ giúp với.

Đọc tài liệu của anh F thì thấy Độ rộng xung phải là 1-2ms nhưng mình thấy xung của mình chỉ khỏng vai trăm us thôi (cao lắm là 812us), không biết làm sao để tạo xung khoảng ms. Xin mọi người hảy gợi ý cho nhé
Cam ơn nhiều.

#include <16F877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=10000000)

void main(){

setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_16, 127, 1);
set_pwm1_duty(200);
}

dinhlam
18-07-2008, 12:01 PM
anh falleaf ơi, cho em hỏi động cơ trong các trụ bơm xăng dầu thường dùng là động cơ gì, và thường xài con vi điều khiển nào để điều khiển nó. Thanks anh nhìu

harakiri_09
06-08-2008, 04:11 PM
Các anh có thể cho em lại tài liệu về RC servo, tài liệu ở trên link bị đai rồi.

xichlo7
28-09-2008, 04:20 AM
link die rùi, ai update lại hộ với? Đang cần gấp >"<

0509592
28-09-2008, 08:30 PM
update lại cái link đi bác falleaf:
thanks!

ETVN
09-10-2008, 09:39 AM
www.tailieuvietnam.net/download/Motors/SERVO_1.PDF
www.tailieuvietnam.net/download/Motors/SERVO_2.PDF
www.tailieuvietnam.net/download/Motors/SERVO_3.PDF

Đây là các tài liệu cơ bản về động cơ Servo đã được dịch lại và có bổ sung. Tuy nhiên, một điều các bạn cần phải lưu ý là trong bản dịch và có bổ sung này, có rất nhiều từ ngữ dùng sai, vì các tài liệu này chúng tôi đã dịch từ hồi năm thứ 3 đại học, và không có thời gian chỉnh sửa.

Các bạn có thể dùng tài liệu này như một tài liệu tham khảo, nhưng lưu ý đừng chất vấn về những từ ngữ sai của nó, bởi vì tôi đọc sơ lại thấy rất nhiều chỗ sai, nhưng thực sự không còn thời gian để chỉnh sửa, nên đành chấp nhận công bố tài liệu này cho các bạn. Nếu có bạn nào có thời gian chỉnh sửa tài liệu, mong các bạn sau khi tổng hợp tài liệu có thể viết một tài liệu tốt hơn và cung cấp cho chúng tôi để phổ biến phiên bản tốt hơn.

Chân thành cảm ơn và chúc may mắn đầu năm mới.

Chúc vui.

Hic.Link die rồi Bác ơi. Bác xem lại dùm e cái

camuoi
29-10-2008, 10:10 PM
Hic.Link die rồi Bác ơi. Bác xem lại dùm e cái
Link nè :http://www.mediafire.com/?glmm3h3gumo

congadientu
31-10-2008, 04:40 PM
Máy anh có thể cho biết thêm về tốc độ của RC servo ko? Muốn điều khiển thêm tốc độ thì sao? Ai biết có thể chỉ giáo ko? Thanks trước.

tinh0206
12-11-2008, 09:56 PM
mình đang tìm hiểu về động cơ servo cho chương trình học của mình có bạn nào biết xin tra lời giúp mình .Mình muốn hỏi hiện giờ trên thị trường có bao nhiêu loại động cơ servo, giá của từng loai là bao nhiêu? bạn nào biết trả lời giúp mình Thank ! địa chỉ email của mình"tinh0206@yahoo.com"

cn_m2e
23-11-2008, 09:50 AM
cai link ve dc servo bi DIE rui! phien falleaf up lai dum/ Thanks

Hi@hi
09-12-2008, 11:02 AM
Máy anh có thể cho biết thêm về tốc độ của RC servo ko? Muốn điều khiển thêm tốc độ thì sao? Ai biết có thể chỉ giáo ko? Thanks trước.

có 2 cách điều khiển tốc độ:
- trong các khoản thời gian giống nhau nhưng góc quay khác nhau.
- cùng một góc quay nhưng thời gian khác nhau.

tôi đã đièu khiển tốc độ cùng lúc nhiều đông cơ và thấy cách một là tốt nhất, chúc bạn thành công.

inventor_bk
17-12-2008, 11:49 PM
anh có thể cho em xin mạch điều khiển đcơ Servo được không. Với 1 code mẫu của chương trình điều khiển ĐCơ servo. Thanks

belun2101
23-12-2008, 02:20 PM
anh falleaf.theo em biết động cơ servo là động cơ xác định vị trí theo góc quay nhờ có vôn kế,nhưng để động cơ servo hoạt động được công suất lớn cần có độ rộng xung từ
1-2s.nhưng để thiết kế mạch điều khiên như thế nào mới có được xung đầu vào rộng như vậy. động cơ servo có dây tín hiệu phản hồi thì nó xủe lý như thế nào?
giúp em nhé .cảm ơn nhiều..........

betabeta
18-01-2009, 08:59 PM
link lai die roi anh F ui!

robinson4u
09-02-2009, 10:52 AM
anh cho em hỏi chỗ bán động cơ servo loai nhỏ Hitec 322-HD ở hà nội.em tìm mãi mà chả có chỗ nào bán loại này cả.em đang cần mua loại động cơ servo loại nhỏ,dùng cho mô hình robot

vuduchoan
13-02-2009, 01:21 PM
Link nè :http://www.mediafire.com/?glmm3h3gumo

Cái này cũng chết rồi bác ơi.
Mong bác nào có tải lên cho anh em cái khác.
Cảm ơn các bác nhiều.

thanco112
15-06-2009, 05:52 PM
Hic hic, link die hết rồi. Có bác nào còn tài liệu này up lên dùm với ạ.

nguyenhuypt87
29-10-2009, 10:25 PM
các bác ơi em đang làm đề tài về động cơ secvo bác nào có tài liệu tiếng việt thì giúp em cái!

hangocminh1989
22-01-2010, 10:34 AM
mấy cái link die sạch rùi bác F ơi,anh em nào có rùi thì up lại cho bọn em với hichic

hector
29-01-2010, 11:11 AM
up lai link giup em di may anh oi.

nguyenvi0804
04-02-2010, 03:35 PM
có ai biết động cơ bước 1,8 độ bán ở đâu không cho em biết với

nguyenvi0804
04-02-2010, 03:36 PM
ah em đang ở hà nội

minhtienbk
01-03-2010, 10:22 PM
Các bạn muốn mua thì có thể liên hệ mình , giá 100k/con (new 100%) kèm code C để test :) , liên hệ chữ ký nhé
http://www.discount-rc-toys.com/USERIMAGES/TOWERPRO9G.JPG

yukinohana
08-03-2010, 09:52 AM
Sao nhiều người phản ánh link die mà ko ai có up lại cho pà con với....
Mình mới down được tài liệu này về servo r/c up lên cho mọi người nè.....
http://www.mediafire.com/?yjttwlzywmy

motu
10-03-2010, 11:30 PM
Các bạn muốn mua thì có thể liên hệ mình , giá 100k/con (new 100%) kèm code C để test :) , liên hệ chữ ký nhé
http://www.discount-rc-toys.com/USERIMAGES/TOWERPRO9G.JPG

Giá cao vậy bạn, mình mua con này ở mấy chỗ bán RC toy có 70k ah, sorry o phải chọc phá chuyện làm ăn của bạn mà tại có sao nói vậy :D

phamdinh
16-03-2010, 04:29 PM
Uhm. Mình cũng mới mua cái động cơ này giá chỉ có 70k à. Mình mua về chỉ để thử cách hack cho nó quay 360 độ. Mình đang làm đồ án về Omni robot. Tiện thể mình muốn tham khảo mọi người Omni mình nên dùng ba bánh hay bốn bánh nhỉ??? Động cơ RC servo mua cũ ngoài nhật tảo là không có rồi, mà để mua được cùng loại với nhau cũng rất khó. => chỉ còn cách là mua mới, tuy nhiên giá cả thì cần phải nghiên cứu kỹ. Hihihi ^_^ làm đồ án kỳ này nhịn ăn là cái chắc rùi. Đầu tư cho tương lai, xin mọi ngừoi cho mình ít lời khuyên cũng như kinh nghiệm làm robot. Mình xin cảm ơn!!

hangocminh1989
16-03-2010, 05:29 PM
Uhm. Mình cũng mới mua cái động cơ này giá chỉ có 70k à. Mình mua về chỉ để thử cách hack cho nó quay 360 độ. Mình đang làm đồ án về Omni robot. Tiện thể mình muốn tham khảo mọi người Omni mình nên dùng ba bánh hay bốn bánh nhỉ??? Động cơ RC servo mua cũ ngoài nhật tảo là không có rồi, mà để mua được cùng loại với nhau cũng rất khó. => chỉ còn cách là mua mới, tuy nhiên giá cả thì cần phải nghiên cứu kỹ. Hihihi ^_^ làm đồ án kỳ này nhịn ăn là cái chắc rùi. Đầu tư cho tương lai, xin mọi ngừoi cho mình ít lời khuyên cũng như kinh nghiệm làm robot. Mình xin cảm ơn!!

bạn ơi robot omi bạn làm tới đâu rùi?mình làm được cái cơ bán đầu tiên là dk robot chạy bằng 3 bánh rùi.vấn đề tiếp theo là cho nó di chuyển nhiều hướng mà không cần xoay robot! à wen,mình làm robotino ko phải omi nhưng nó cũng giống nhau phải không?có gì chúng ta hỗ trợ nhau nhé

hangocminh1989
16-03-2010, 05:30 PM
Các bạn muốn mua thì có thể liên hệ mình , giá 100k/con (new 100%) kèm code C để test :) , liên hệ chữ ký nhé
http://www.discount-rc-toys.com/USERIMAGES/TOWERPRO9G.JPG

bạn ơi,có thể cho mình 1 bản code c tét cái rc dc ko bạn?thank nhiều nha
mail của mình nè: hangocminh1989@yahoo.com.vn

phamdinh
17-03-2010, 10:36 AM
bạn ơi robot omi bạn làm tới đâu rùi?mình làm được cái cơ bán đầu tiên là dk robot chạy bằng 3 bánh rùi.vấn đề tiếp theo là cho nó di chuyển nhiều hướng mà không cần xoay robot! à wen,mình làm robotino ko phải omi nhưng nó cũng giống nhau phải không?có gì chúng ta hỗ trợ nhau nhé

Oh. Bạn chắc làm hơn mình rồi, mình chưa làm được nhiều lắm vì thiết bị mà mình tìm mua giá cả hơi cao, nên còn đang gặp rắc rối trong việc chọn lựa phần cứng. Uhm, có gì mọi người hỗ trợ lẫn nhau. ^_^

phamdinh
17-03-2010, 10:48 AM
RC servo sau khi hack là sẽ bỏ lun cái vôn kế bên trong của nó. Vậy xin hỏi mọi người ta sẽ cần bao nhiêu xung/giây để động cơ quay liên tục 360 độ nhỉ???? Mình sẽ dựa vào tỷ lệ quay của động cơ mà mình mua phải không ạ??? Có thể viết ví dụ cho mình được không?? Mình dùng PIC và quen xài CCS.
Xin cảm ơn mọi người!!

motu
25-03-2010, 04:45 PM
RC servo sau khi hack là sẽ bỏ lun cái vôn kế bên trong của nó. Vậy xin hỏi mọi người ta sẽ cần bao nhiêu xung/giây để động cơ quay liên tục 360 độ nhỉ???? Mình sẽ dựa vào tỷ lệ quay của động cơ mà mình mua phải không ạ??? Có thể viết ví dụ cho mình được không?? Mình dùng PIC và quen xài CCS.
Xin cảm ơn mọi người!!

Mình không rành lắm nhưng lúc trước mày mò test con RC này khi áp xung với tần số lớn hơn 50Hz thì nó quay liên tục dù mình o bỏ vôn kế của nó, bạn test thử xem sao.

haruoi
11-05-2010, 11:12 PM
Các bác cho em hỏi với nhé: Em vừa mua con động cơ servo có tất cả 6 đầu dây, trong đó có 2 dây cấp nguồn động cơ, còn 4 dây tín hiệu từ encorder. Theo em nghĩ thì trong 4 dây thì có 2 dây cấp nguồn còn 2 dây xuất tín hiệu 0/1 . Các bác hướng dẫn e cách nhận biết các đầu dây và cách thức sử dụng ntn với nhé. Em dùng mạch VDK 89c52. Em phải kết nối các dây ntn để nhận được tín hiệu từ encorder? Mong các bác chỉ giáo.

motu
12-05-2010, 12:16 AM
RC servo mình dùng dành cho mấy đồ chơi RC chỉ có 3 dây, 2 dây nguồn 1 dây tín hiệu, loại 6 dây chưa thấy.

hangocminh1989
09-07-2010, 12:58 AM
Các bác cho em hỏi với nhé: Em vừa mua con động cơ servo có tất cả 6 đầu dây, trong đó có 2 dây cấp nguồn động cơ, còn 4 dây tín hiệu từ encorder. Theo em nghĩ thì trong 4 dây thì có 2 dây cấp nguồn còn 2 dây xuất tín hiệu 0/1 . Các bác hướng dẫn e cách nhận biết các đầu dây và cách thức sử dụng ntn với nhé. Em dùng mạch VDK 89c52. Em phải kết nối các dây ntn để nhận được tín hiệu từ encorder? Mong các bác chỉ giáo.

vậy là dc servo rùi...bác lên mạng tìm tài liệu nhìu lắm mà...chúc may mắn

vanmanh1988
27-07-2010, 10:31 PM
Uhm. Mình cũng mới mua cái động cơ này giá chỉ có 70k à. Mình mua về chỉ để thử cách hack cho nó quay 360 độ. Mình đang làm đồ án về Omni robot. Tiện thể mình muốn tham khảo mọi người Omni mình nên dùng ba bánh hay bốn bánh nhỉ??? Động cơ RC servo mua cũ ngoài nhật tảo là không có rồi, mà để mua được cùng loại với nhau cũng rất khó. => chỉ còn cách là mua mới, tuy nhiên giá cả thì cần phải nghiên cứu kỹ. Hihihi ^_^ làm đồ án kỳ này nhịn ăn là cái chắc rùi. Đầu tư cho tương lai, xin mọi ngừoi cho mình ít lời khuyên cũng như kinh nghiệm làm robot. Mình xin cảm ơn!!

HI.
mình cũng đang làm cái này.việc điều khiển robot chạy đa hướng không khó. nhưng một điều làm mình vất vả là điều khiển robot chạy đến một vị trí chính xác.
robot chi chạy đúng trên sân thi đấu robocon thôi ,còn trên nền gạch thì không chính xác vì bị trược bánh.
mình làm con này sử dụng 3 bánh omi đặt lệch nhau 120 độ
bạn có gạp trường hợp ở trên không có jif tụi mình trao đổi.
nick: vanmanh_1988

ykien_cuatoi
23-12-2010, 08:49 PM
sao thế.đợi hoài không thấy ai đăng hết ta

opto
23-01-2011, 09:04 PM
điều khiển một động co rcservo thi dễ rùi. còn điều khiển kiểu này có ai làm được chưa
http://www.youtube.com/watch?v=0il8uEUCGtk

opto
23-01-2011, 09:19 PM
đây là code cho 1 servo:

#include "16F84.H"
#define CP_off |= 0x3FFF // copy protect off for 16F84
#pragma config CP_off, PWRTE=on, WDTE=off, FOSC=XT

/* assign names to ports and pins */
#pragma bit SERVO @ PORTB.1
#pragma bit RESET_S @ PORTA.0
#pragma bit TURN_C @ PORTA.1
#pragma bit TURN_A @ PORTA.2

/* function prototypes */
void delay_min (void);
void delay_var (char n);
void pause (void);

void main( void)
{
PORTB = 0b.0000.0000; /* initial value */
TRISB = 0b.0000.0000; /* Port B all o/p */
PORTA = 0b.0.0111; /* initial value */
TRISA = 0b.1110.0111; /* xxx0 0001 */

char position=107; // total time 1.5ms center position

while(1) // endless loop
{
SERVO=1;
delay_min();
if (position>0)
delay_var(position);
SERVO=0;
pause(); // 20 ms delay before next pulse
if ((TURN_C==0)&&(position<255))
position++;
if ((TURN_A==0)&&(position>0))
position--;
if (RESET_S==0)
position=107; // center the servo
}

} // end of main


void delay_min (void) // 750 uS including overhead
{
char n=248;
do ; while(--n>0);
nop(); // padding to produce precise time
}
// delay = 2 + 2 + (n x 3) -1 +1 +2 = 750us @ 4MHz
// 2 for call, 2 for preset n, (n x 3)-1 for loop, 1 padding, 2 for return

void delay_var (char n) // adc x 7 uS = 1790us max.
{
do {nop(); nop(); nop(); nop();} while(--n>0);
}
// delay= 2 + 2 + (t x 7) -1 +2 us @ 4MHz

void pause (void) // delay between pulses approx 20 ms
{
char n;
for (n=0;n<26;n++)
{
delay_min(); // 750 us
}
}

opto
23-01-2011, 09:21 PM
còn đây là code cho 4 servo. bạn nào quan tâm chúng ta cùng mổ xẻ nhé:


#include "16C711.H" // Change for your CPU
#include "int16CXX.h"

#pragma config WDTE=off, FOSC=XT, BODEN=on
#pragma config |= 0x3FB0 // Code protect off

char servo_pin; // Variable for port pins
char servo[4]; // Servo position values
char servo_num; // Pointer to current servo position value
char position; // Working servo position value
char window; // 2ms - position value
char boogies; // Interrupt counter
char loops; // Loop counter
char current; // same as servo_num, but outside of interrupt
bit direction; // direction of travel flag

#pragma origin 4

// With .1ms resolution, we can control the servo in 10% steps:
// 10 = 0 degrees (or 100% backward motion) 1.0ms
// 11 = 18 degrees (or 80% backward motion) 1.1ms
// 12 = 36 degrees (or 60% backward motion) 1.2ms
// 13 = 54 degrees (or 40% backward motion) 1.3ms
// 14 = 72 degrees (or 20% backward motion) 1.4ms
// 15 = 90 degrees (or stopped) 1.5ms
// 16 = 108 degrees (or 20% forward motion) 1.6ms
// 17 = 126 degrees (or 40% forward motion) 1.7ms
// 18 = 144 degrees (or 60% forward motion) 1.8ms
// 19 = 162 degrees (or 80% forward motion) 1.9ms
// 20 = 180 degrees (or 100% forward motion) 2.0ms
// So our pulse routine needs to run 1ms + x tenths.
// Next version will (maybe) use hundredths, from 100 to 200.

interrupt scan_servos() {
PORTA = 2; // indicate where we are
T0IF = 0; // Clear TMR0 interrupt flag
int_save_registers // Save status & W reg
char fsr; fsr = FSR; // Save FSR
OPTION = 8; // No TMR0 prescaler
servo_pin = 1; // Set up for first servo
for(servo_num = 0; servo_num <=3; servo_num++) {
position = servo[servo_num]; // get pulse width value
window = 30 - position; // Figure out remainder of 2ms window
PORTB = servo_pin; // Turn on servo pin
TMR0 = 0; // Clear TMR0
do {
TMR0 = 11; // Adjust for execution time
while ( TMR0 < 100 ); // wait 100 uS
} while( --position > 0 ); // for as many as we need
PORTB = 0; // Turn off all servo pins
// Now we have to burn up the remainder of the 2ms total pulse
// window...
if(window > 0) {
do {
TMR0 = 11; // Adjust for execution time
while ( TMR0 < 100 ); // wait 100 uS
} while(--window > 0); // for as many as we need
}
// And set us up for the next servo in line...
servo_pin = servo_pin*2; // Set up for next servo in line
}

// Now we set up for an 8ms delay until the ext interrupt.
// We just spent 8ms pulsing the servos, so in another 12 we
// need to do it again.
int_restore_registers // Retrieve the registers
FSR = fsr; // Restore FSR
OPTION = 5; // 256 prescaler for TMR0
TMR0 = 187; // Set up for 12ms interrupt
boogies++; // Increment boogie counter
PORTA = 0;
}


void main(){
T0CS = 0; // T0 on instruction cycle
T0SE = 1; // rising edge
clearRAM(); // start with clear RAM
PORTA = 0;
PORTB = 0; // All outputs off
TRISA = 0;
TRISB = 0; // Port B is all output
OPTION = 5; // Prescaler set to 256
direction = 0;

// Set all servo position registers to the 90 degree mid point.
for(current = 0; current < 4; current++) {
servo[current] = 15;
}
TMR0 = 131; // Set up timer for 8ms
T0IE = 1; // Enable TMR0 interrupt
GIE = 1; // Duh.

// The boogie counter gets updated every 20ms, so 50 boogies
// equals one second. Tip of the hat to bogomips.

// First wait 2 seconds to let us see how the servos do at deadband
while(boogies < 100); // Loop for 2 seconds

// Now do 60 loops of 10% steps once a second, full motion
// range from 10 to 20 and back. Should take 1 minute.
direction = 1;
loops = 0;
PORTA = 1;
do {
boogies = 0; // clear boogie counter
while( boogies < 10 ); // Wait 1/5 second
for(current=0; current < 4; current++) {
if(servo[current] == 25) direction = 0;
if(servo[current] == 5) direction = 1;
if(direction == 0) servo[current]--;
if(direction == 1) servo[current]++;
}
} while(++loops < 60);

// Now recenter the servos for 2 seconds
for(current=0; current < 4; current++) {
servo[current] = 15;
}
boogies = 0;
while(boogies < 100);

// Now we finish up with 10 full-travel swings, 10 to 20,
// with a 2-second delay in between.

loops = 0;
PORTA = 0xD;
do {
boogies = 0;
while(boogies < 100); // 2 second delay
for(current=0; current < 4; current++) {
if(servo[current] == 25) direction = 0;
else if(servo[current] == 5) direction = 1;
else if(servo[current] > 5 && servo[current] < 25) direction = 0;
if(direction == 0) servo[current] = 5;
if(direction == 1) servo[current] = 25;
}
} while(++loops < 10);

// And loop forever.
main();
}

langtul42
08-04-2011, 10:34 PM
pac nao co tai lieu ve dong co rc servo thi share cho minh voi ,dang lam do an ma tim hoai hok thay,......

ah ! minh dag co ban 2 con cam bien sieu am SRF 05 , hoan toan moi , chua qua su dung , gia moi con la 24 USD ,. ban nao co nhu cau thi lien he voi minh nha : 01688956982

delta21
19-04-2011, 01:00 AM
bác opto lấy đoạn code trên ở đâu thê!!!

NBTrung
30-08-2011, 01:37 PM
anh falleaf cho em xin tài liệu rc servo với ạ, link post #1 die rùi.
Nếu k tiện up lên thì cho e vào mail dont.surrender@yahoo.com.vn

dinhquang2410
27-09-2011, 10:34 AM
minh dang lam luan van ve dong co servoRC su dung trong cac thiet bi dieu khien tu xa nhu do choi dieu khien may bay cac bac co ai biet ve phan mem viet code va lam trinh ko chi minh voi,cach thuc hien nhu the nao.thks

tuand1
09-12-2011, 10:42 AM
tìm hoài cũng thấy tài liệu về Servo motor gửi lên cho các bác tham khảo

tuand1
09-12-2011, 10:44 AM
http://www.mediafire.com/?f6t8gsddl70f7lv

chuong_prof
29-02-2012, 10:16 AM
điều khiển một động co rcservo thi dễ rùi. còn điều khiển kiểu này có ai làm được chưa
http://www.youtube.com/watch?v=0il8uEUCGtk
Có ai làm được cái này chưa ta?