Mô tơ Servo MG995 với Arduino

0
2024

Mô tơ Servo MG995 là mô tơ servo hạng nặng đáng tin cậy. Nó là một động cơ công suất thấp, hiệu quả về chi phí.

MG995 là thiết kế servo ổ bi kép chống va đập với bánh răng kim loại nên khá khả thi cho sản xuất công nghiệp.

Động cơ có phản ứng nhanh và quay ở tốc độ cao. Nó đi kèm với sức mạnh giữ lớn và dải mô-men xoắn ổn định không đổi.

Chúng được sử dụng rộng rãi trong các dự án chế tạo người máy và sở thích của người tiêu dùng.

Bài đăng này là tổng quan về động cơ và thảo luận về sơ đồ chân, các tính năng, cách làm việc, giao tiếp với Arduino và các ứng dụng của MG995.

giao tiếp với Arduino và các ứng dụng của MG995

Sơ đồ chân của mô tơ Servo MG995

MG995 là một động cơ servo ổ bi kép bền bỉ. Sơ đồ hiển thị bên dưới là sơ đồ chân của Động cơ Servo MG995:

Sơ đồ chân của mô tơ Servo MG995

Cấu hình PIN MG995

Nó là một thiết bị ba đầu cuối. Chi tiết cấu hình pin trong bảng được đề cập dưới đây:

Màu sắc Pin Tên Pin Chi tiết
Red VCC Chân cấp nguồn
Brown GND Tham chiếu Chân điện thế – Kết nối với mặt đất của nguồn điện
Orange PWM Signal Chân đầu vào điều chế độ rộng xung được sử dụng để điều khiển trục quay của động cơ servo MG995

Các tính năng và thông số kỹ thuật của MG995

  • Điện áp hoạt động: 4,8 – 7,2 Volts
  • Nhiệt độ hoạt động: 0 – 550C
  • Tần số hoạt động: 50 Hz
  • Tốc độ động cơ vận hành @ 4,8 V: 0,2 giây / 60 độ
  • Tốc độ động cơ vận hành @ 6 V: 0,16 giây / 60 độ
  • Mô-men xoắn của gian hàng động cơ @ 4,8 V: 8,5 kgf · cm
  • Mô-men xoắn của gian hàng động cơ @ 6.0 V: 10 kgf · cm
  • Chiều rộng băng tần chết: 5 usec
  • Mức độ xoay: 180 độ
  • Trạng thái không hoạt động Mức tiêu thụ hiện tại: 10 mA
  • Mức tiêu thụ hiện tại không tải: 170 mA
  • Mức tiêu thụ hiện tại tải tối đa: 1200 mA
  • Kích thước vật lý: xấp xỉ 40,7 x 19,7 x 42,9 mm

Cách sử dụng mô tơ Servo MG995

Động cơ được cung cấp năng lượng bằng cách sử dụng các chân nguồn là VCC và GND.

Động cơ Servo MG995 có chân đầu vào tín hiệu để quay động cơ. Nguyên lý làm việc của động cơ này là điều chế độ rộng xung.

Động cơ Servo liên quan chỉ có thể hoạt động ở tần số 50 MHz. Bất kỳ giá trị nào nhiều hay ít đều dẫn đến hỏng hóc thiết bị. Đó là lý do tại sao mỗi chu kỳ của tín hiệu PWM là 20 mili giây.

Cách sử dụng mô tơ Servo MG995

Vị trí của trục của động cơ phụ thuộc vào chu kỳ làm việc của tín hiệu. Có một số tính toán tiêu chuẩn cho chuyển động quay độ.

Nếu tín hiệu PWM cao hơn 0,5ms trong một chu kỳ, trục sẽ di chuyển về 0 độ. Để xoay trục động cơ đến 90 độ, tín hiệu phải ở mức hơn 1,5ms. Tương tự, tín hiệu thời gian BẬT 2,5ms dẫn đến vị trí trục 180 độ.

Bằng cách này, chúng ta có thể đo và điều khiển động cơ của mình ở các mức độ mong muốn. Để giữ mọi thứ thuận tiện, các thư viện cụ thể được viết để điều khiển và giao diện động cơ thay vì đặt các giá trị PWM mỗi lần.

Giao tiếp mô tơ Servo MG995 với Arduino UNO

Trong phần này, chúng ta sẽ học cách giao tiếp động cơ servo SG995 với Arduino. Chúng ta sẽ sử dụng Arduino una trong hướng dẫn này, nhưng bạn có thể sử dụng bất kỳ bảng Arduino nào cung cấp ít nhất một đầu ra tín hiệu PWM. Hơn nữa, hầu hết tất cả board Arduino đều cung cấp tín hiệu PWM.

Sơ đồ kết nối MG995

Kết nối các chân điện áp nguồn của động cơ Servo MG995 với chân 5V và chân GND của Arduino UNO. Điều này sẽ cung cấp năng lượng cho động cơ.

Kết nối chân đầu vào PWM của động cơ với chân đầu ra D6 của Arduino PWM để điều khiển và quay động cơ.

Arduino UNO MG995 Servo Motor
5V VCC
GND GND
D6 PWM pin

Sơ đồ đấu dây để hiển thị các kết nối được cung cấp bên dưới:

Sơ đồ kết nối MG995

Code cho Arduino

/* This example Arduino Sketch controls the complete rotation of
 *  SG995 Servo motor by using its PWM and Pulse width modulation technique
 */

#include <Servo.h> // include servo library to use its related functions
#define Servo_PWM 6 // A descriptive name for D6 pin of Arduino to provide PWM signal
Servo MG995_Servo;  // Define an instance of of Servo with the name of "MG995_Servo"
  

void setup() {
  Serial.begin(9600); // Initialize UART with 9600 Baud rate
  MG995_Servo.attach(Servo_PWM);  // Connect D6 of Arduino with PWM signal pin of servo motor

}

void loop() {
  Serial.println("0");// You can display on the serial the signal value
  MG995_Servo.write(0); //Turn clockwise at high speed
  delay(3000);
  MG995_Servo.detach();//Stop. You can use deatch function or use write(x), as x is the middle of 0-180 which is 90, but some lack of precision may change this value
  delay(2000);
  MG995_Servo.attach(Servo_PWM);//Always use attach function after detach to re-connect your servo with the board
  Serial.println("0");//Turn left high speed
  MG995_Servo.write(180);
  delay(3000);
  MG995_Servo.detach();//Stop
  delay(2000);
  MG995_Servo.attach(Servo_PWM);

      
}

Giải thích code

Cài đặt Thư viện & Khai báo Pin: Để dễ dàng giao tiếp, hãy cài đặt thư viện động cơ servo, tức là “Servo.h”.

Sau đó khởi động lại phần mềm Arduino IDE và đưa nó vào bản phác thảo. Tiếp theo là xác định mã pin.

Chúng ta đã kết nối chân tín hiệu của động cơ với chân PWM 6 của Arduino. Hơn nữa, tạo một phiên bản MG995_Servo của các chức năng thư viện servo.

/* This example Arduino Sketch controls the complete rotation of
 *  SG995 Servo motor by using its PWM and Pulse width modulation technique
 */

#include <Servo.h> // include servo library to use its related functions
#define Servo_PWM 6 // A descriptive name for D6 pin of Arduino to provide PWM signal
Servo MG995_Servo;  // Define an instance of of Servo with the name of "MG995_Servo"

void setup: Phần void setup khởi tạo giao tiếp Serial với tốc độ truyền chuẩn là 9600 bps. Nó cũng gắn MG995_Servo vào chân 6.

void setup() {
  Serial.begin(9600); // Initialize UART with 9600 Baud rate
  MG995_Servo.attach(Servo_PWM);  // Connect D6 of Arduino with PWM signal pin of servo motor

}

void loop: Phần vòng lặp được mã hóa để quay động cơ theo chiều kim đồng hồ trước rồi ngược chiều kim đồng hồ.

Khi myservowrite (0) được thực thi, động cơ bắt đầu quay từ phía bên phải trong một khoảng thời gian và sau đó dừng lại trong 2000 mili giây.

Tương tự, khi thực thi myservowrite (180), động cơ quay theo hướng ngược chiều kim đồng hồ lại tạm dừng trong 2000 mili giây.

void loop() {
  Serial.println("0");// You can display on the serial the signal value
  MG995_Servo.write(0); //Turn clockwise at high speed
  delay(3000);
  MG995_Servo.detach();//Stop. You can use deatch function or use write(x), as x is the middle of 0-180 which is 90, but some lack of precision may change this value
  delay(2000);
  MG995_Servo.attach(Servo_PWM);//Always use attach function after detach to re-connect your servo with the board
  Serial.println("0");//Turn left high speed
  MG995_Servo.write(180);
  delay(3000);
  MG995_Servo.detach();//Stop
  delay(2000);
  MG995_Servo.attach(Servo_PWM);
}

Các ứng dụng thực tế

  • Máy bay đồ chơi
  • Người máy
  • hiết bị công nghiệp
  • Drone
  • Kính thiên văn

Bản vẽ 2D của MG995

bản vẽ 2d MG995

Tôi là một người làm việc trong lĩnh vực cơ khí, thiết bị công nghiệp....Blog là nơi tôi chia sẻ thông tin hữu ích đến các bạn đọc.
Subscribe
Notify of
0 Bình luận
Inline Feedbacks
View all comments