Cách giao diện động cơ Servo với Arduino

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





Trong bài này, chúng ta sẽ tìm hiểu động cơ servo là gì, chức năng của nó, cách giao tiếp với vi điều khiển và điều gì làm cho động cơ này trở nên đặc biệt so với các động cơ khác.

Là một người đam mê điện tử, chúng ta sẽ bắt gặp nhiều loại động cơ, ở đây chúng ta sẽ xem xét loại động cơ đặc biệt được gọi là động cơ servo.



Động cơ Servo là gì?

Động cơ servo hay đơn giản là động cơ servo là một loại động cơ đặc biệt được thiết kế để điều khiển chính xác vị trí, gia tốc và vận tốc. Không giống như tất cả các loại động cơ khác, servo chỉ có thể quay 180 độ hai chiều. Nó có các bánh răng cơ khí và nút chặn để hạn chế góc quay của servo.

Động cơ servo điển hình:

Động cơ servo được sử dụng trong robot, camera quan sát, ô tô RC, thuyền, máy bay đồ chơi, v.v. Servo được sử dụng ở những nơi chúng ta không cần tiếp tục chuyển động quay, nhưng khóa ở một vị trí cụ thể hoặc di chuyển một số tải với vận tốc được kiểm soát trong giới hạn góc có thể di chuyển.



Servo không chỉ đơn giản là một động cơ như các loại khác, mà nó là mô-đun, kết hợp giữa động cơ DC / AC thông thường, một nhóm bánh răng, thiết bị điện tử điều khiển và hệ thống phản hồi. Hãy xem xét chi tiết từng giai đoạn được đề cập.

Động cơ DC / AC được sử dụng trên mô-đun servo có thể là động cơ không chổi than hoặc có chổi than, trên hầu hết các động cơ DC servo được sử dụng và động cơ AC được sử dụng trong các ứng dụng công nghiệp. Động cơ cung cấp đầu vào quay cho servo. Động cơ quay với tốc độ vài trăm vòng / phút bên trong servo và vòng quay đầu ra nhỏ hơn khoảng 50 lần hoặc hơn RPM của nó.

Giai đoạn tiếp theo là lắp ráp bánh răng, điều khiển góc quay và tốc độ của servo. Bánh răng có thể được làm từ nhựa hoặc kim loại tùy thuộc vào mức độ cồng kềnh của tải trọng. Nói chung, động cơ DC được chạy ở RPM cao và mô-men xoắn thấp, cụm bánh răng sẽ chuyển đổi RPM dư thừa thành mô-men xoắn. Vì vậy, một động cơ nhỏ có thể chịu tải rất lớn.

Giai đoạn tiếp theo là điều khiển điện tử bao gồm MOSFET và IC để điều khiển chuyển động quay của động cơ. Hệ thống phản hồi luôn có trong động cơ servo để theo dõi vị trí hiện tại của cơ cấu chấp hành.

Trong servo nói chung, thành phần phản hồi là một chiết áp, được kết nối trực tiếp với cơ cấu truyền động quay. Chiết áp hoạt động như bộ chia điện áp được cấp cho thiết bị điện tử điều khiển. Phản hồi này giúp điều khiển thiết bị điện tử xác định lượng công suất cung cấp cho động cơ.

Mô tơ servo ở một vị trí cố định sẽ miễn cưỡng di chuyển khỏi vị trí hiện tại của nó nếu có bất kỳ lực bên ngoài nào cố gắng làm phiền. Hệ thống phản hồi giám sát vị trí hiện tại và cấp nguồn cho động cơ chống lại sự xáo trộn bên ngoài.

Kịch bản trên cũng giống như khi servo di chuyển thiết bị truyền động của nó. Hệ thống điều khiển sẽ bù ngoại lực và chuyển động với vận tốc xác định.

Đến đây bạn đã biết khá nhiều về động cơ servo và cơ chế hoạt động của nó. Hãy xem cách điều khiển động cơ servo bằng vi điều khiển.

Động cơ servo có 3 đầu cuối không giống như các động cơ khác có 2 đầu cuối, hai đầu nối cho nguồn cung cấp (danh định 5V) và một đầu cuối cho tín hiệu điều khiển. Các dây được tô màu để dễ dàng xác định các thiết bị đầu cuối.

Các tín hiệu điều khiển của servo là PWM ở tần số 50Hz. Độ rộng xung của tín hiệu xác định vị trí của bộ truyền động. Một động cơ servo sở thích điển hình hoạt động với độ rộng xung từ 1 đến 2 mili giây.

Áp dụng tín hiệu điều khiển độ rộng xung 1 ms sẽ giữ bộ truyền động ở vị trí 0 độ. Áp dụng tín hiệu điều khiển độ rộng xung 2 ms sẽ giữ bộ truyền động ở vị trí 180 độ. Việc áp dụng các tín hiệu trong khoảng từ 1-2 ms sẽ giữ bộ truyền động trong góc 0-180 độ. Điều này có thể được hiểu rõ hơn bằng hình ảnh dưới đây.

Đến đây bạn đã hiểu cách một servo được điều khiển bằng điều chế độ rộng xung (PWM).

Bây giờ chúng ta hãy tìm hiểu cách giao tiếp động cơ servo với Arduino.

Sơ đồ mạch:

cách giao diện động cơ servo với Arduino.

Hệ thống dây điện rất dễ dàng và tự giải thích. Bạn cần nguồn điện bên ngoài nếu bạn đang sử dụng động cơ servo cồng kềnh. Nếu bạn cố gắng cấp nguồn từ nguồn điện của arduino, bạn sẽ kết thúc quá tải cổng USB trên máy tính.

Nếu bạn có servo tương tự được minh họa ở đầu bài viết, thì bạn có thể cấp nguồn cho nó từ nguồn cung cấp 5V arduino, cũng được hiển thị trong nguyên mẫu của tác giả.

Nguyên mẫu của tác giả:

Arduino cần thư viện servo để xử lý nó, điều đó đã làm cho nhiệm vụ của chúng tôi trở nên dễ dàng và nó đã có trong Arduino IDE.

Chương trình:

//--------Program developed by R.Girish--------//
#include
Servo motor
int pos = 0
int t=10
void setup()
{
motor.attach(7)
}
void loop()
{
A:
pos=pos+1
motor.write(pos)
delay(t)
if(pos==180) { goto B}
goto A
B:
pos=pos-1
motor.write(pos)
delay(t)
if(pos==0) { goto A}
goto B
}
//--------Program developed by R.Girish--------//

Chương trình trên sẽ quét bộ truyền động từ 0 đến 180 độ sang phải và 180 độ sang trái 0 độ và chu kỳ lặp lại. Đây là một chương trình đơn giản để kiểm tra servo, bạn có thể cần viết mã của riêng mình cho các ứng dụng tùy chỉnh của bạn.




Một cặp: Mạch điều khiển van bơm nước hai ống Tiếp theo: Tìm hiểu về cách đấu dây bộ điều chỉnh điện áp xe máy