Ta có thể không cần đến cả máy tính để điều khiển servo. Một IC 555 có thể cung cấp các xung cần thiết cho servo.
Hình 7: Một phương pháp phổ biến dùng IC 555 để điều khiển servo.
Khi hoạt động, IC 555 sinh ra một tín hiệu xung có chu kỳ nhiệm vụ khác nhau để điều khiển hoạt động của servo. Chỉnh Vôn kếđể định vị servo. Vì IC 555 có thể dễ dàng tạo xung rất dài và rất ngắn nên servo có thể hoạt động ngoài vị trí biên thông thường. Khi servo gặp vật cản và kêu lạch cạch ta phải ngắt nguồn lập tức, nếu không các bánh răng bên trong sẽ bị trờn.
Dùng bộ xử lý chuyên nghiệp:
Các máy thu R/C được thiết kế với tối đa 8 servo. Máy thu nhận xung số từ máy phát, bắt đầu bằng một xung dài đồng bộ, sau đó là các xung của 8 servo, mỗi xung dành cho một servo. 8 xung cộng với xung đồng bộ mất khoảng 20 ms. Điều này có nghĩa là dãy xung có thể lặp lại 50 lần / giây, ta gọi đó là tỉ lệ lặp lại (refresh rate).
Khi tỉ lệ này giảm, các servo không cập nhật đủ nhanh và sẽ bị mất vị trí.
Trừ khi mạch điện tử ta dùng có thể cung cấp xung đồng thời cho nhiều servo (đa nhiệm vụ - multi-tasking), mạch điều khiển sẽ không thể cung cấp các xung lặp lại đủ nhanh. Vì vậy ta có thể dùng bộ xử lý servo chuyên nghiệp. Bộ này có thểđiều khiển 5, 8 động cơ hay nhiều hơn một cách độc lập, sẽ làm giảm bớt chương trình tổng cộng của máy tính hay bộ vi xử lý mà ta đang dùng.
Ưu điểm chính của bộ xử lý servo chuyên nghiệp là ta có thểđiều khiển đồng thời nhiều servo ngay cả khi máy tính, bộ vi xử lý không “đa nhiệm vụ”.
Ví dụ: giả sử robot cần 24 servo, có thể là một robot hình nhện 8 chân, mỗi chân có 3 servo, mỗi servo điều khiển một bậc tự do của chân. Phương pháp ta sử dụng là phân chia công việc cho 3 bộ xử lý servo, mỗi bộ có thể điều khiển 8 servo. Mỗi bộ xử lý chịu trách nhiệm cho một loại bậc tự do: một cho sự quay của cả 8 chân, một cho “độ linh hoạt” của các chân và một cho sự quay của đốt cuối của chân.
Các bộ xử lý servo chuyên nghiệp phải được dùng với máy tính hay bộ vi xử lý vì chúng cần được cung cấp dữ liệu thời gian thực để điều khiển servo. Dữ liệu này thường được gửi trong một công thức dữ liệu chuỗi. Một dãy các byte gửi từ máy tính hay bộ vi xử lý được bộ xử lý servo giải mã, mà mỗi byte sẽ tương ứng một servo. Những bộ xử lý servo điển hình có ghi chú các ứng dụng và các chương trình mẫu của các máy tính và bộ vi xử lý thông dụng nhưng để đảm bảo ta cần có kiến thức về lập trình và truyền chuỗi.
Sử dụng lớn hơn 7,2V:
Các servo được thiết kếđể sử dụng với bộ pin R/C recharge, có điện thế từ 4,8 – 7,2V, phụ thuộc vào số pin sử dụng. Các servo cho phép khoảng điện thế vào khá rộng và bộ 4 pin AA 6V đã cung cấp đủ điện. Tuy nhiên khi pin hết, điện thế giảm, servo không còn nhanh như lúc đầu. Khi điện thế khoảng 4 hay 4,5V, servo thậm chí không chạy.
Nếu điện thế cao hơn thông thường thì sao? Thực ra, nhiều servo có thể chạy tạm khi điện thế lên đến khoảng 12V mà không hoặc ít gây hậu quả. Tuy nhiên đa số servo bắt đầu nóng lên ở 9 hay 10V và chúng sẽ không thể hoạt động lâu nếu không được nghỉđể làm nguội.
Trừ khi ta cần tăng moment xoắn hay tăng tốc độ, tốt hơn là giữ điện thế cung cấp cho servo không vượt quá 9V, tốt nhất là trong khoảng 4,8 – 7,2V. Ta cũng cần tham khảo bảng dữ liệu của servo để xác định các yêu cầu điện thếđặc biệt khác.
Làm việc với dải chết và tránh dải chết:
Tất cả servo đều thể hiện cái gọi là dải chết. Dải chết của servo là thời gian sai lệch lớn nhất giữa tín hiệu điều khiển ngõ vào và tín hiệu tham chiếu nội sinh ra bởi vị trí của Vôn kế. Nếu thời gian sai lệch nhỏ hơn dải chết – 5 hay 6 ms – servo không cần phải điều chỉnh động cơđể sửa sai lệch.
Nếu không có dải chết, servo phải liên tục dò tới lui để tìm điểm tương thích chính xác giữa tín hiệu vào và tín hiệu tham chiếu nội của nó. Dải chết cho phép servo giảm thiểu sự dò tìmnày và sẽ lấy điểm lân cận điểm cần tìm mặc dù không được chính xác lắm.
Dải chết thay đổi tùy theo servo và được coi như một thông số của servo. Dải chết điển hình dài 5 µs. Nếu servo quay 180o trong dải 1000 µs thì dải chết 5 µs chỉ chiếm 1/200. Ta không cần lưu ý tới ảnh hưởng của dải chết nếu mạch điều khiển có độ phân giải thấp hơn dải chết.
Tuy nhiên nếu mạch điều khiển có độ phân giải cao hơn dải chết, một sự thay đổi nhỏ về giá trị độ rộng xung có thể không ảnh hưởng. Ví dụ: nếu bộ xử lý có độ phân giải là 2 µs và nếu servo có dải chết 5 µs thì sự thay đổi 1 hay 2 giá trị - tức là 2 hay 4 µs trong bề rộng xung - sẽ không ảnh hưởng lên servo.
Như vậy ta nên chọn servo có dải chết hẹp nếu ta cần độ chính xác và mạch điều khiển hay môi trường lập trình có độ phân giải đủ lớn. Ngược lại ta không cần lưu ý tới dải chết.
Servo điển hình đáp ứng cho tín hiệu từ 1 – 2 µs. Trong thực tế, nhiều servo có thểđược cung cấp bởi xung ngắn hay dài hơn để tối đa hóa giới hạn quay. Dải 1 – 2 µs thực ra có thể quay servo theo hai hướng nhưng không thể quay toàn bộ theo cả hai hướng. Tuy nhiên ta không biết giá trị nhỏ nhất và lớn nhất của servo cho đến khi ta chạy thử. Cần lưu ý: thử nghiệm này có thể nguy hại vì vận hành động cơ servo ở giới hạn có thể làm cơ cấu đụng vật cản bên trong, nếu để lâu các bánh răng của servo sẽ bị hư.
Nếu ta chỉ cần quay servo tới vị trí max, hãy chọn lực mạch điều khiển. Bắt đầu bằng cách thay đổi bề rộng xung một lượng nhỏ hơn 1 ms, có thể là 10 µs. Sau mỗi lần thay đổi, dùng chương trình điều khiển đẩy servo trở lại vị trí giữa / vị trí trung hòa.
Khi nghe thấy servo gặp vật cản bên trong (tiếng lạch cạch), lúc đó ta đã tìm được giá trị biên dưới của servo. Lặp lại quá trình để tìm giá trị biên trên. Có những servo có cận dưới là 250 µs, cận trên là 2200 µs. Tuy nhiên các servo khác bị hạn chế đến nỗi chúng thậm chí không thể hoạt động trong dải 1- 2 ms. Các giá trị biên này cũng khác nhau đối với từng loại và từng nhãn hiệu servo.