Điều Khiển Nhiều Servo Bằng Arduino

Trong giải đáp này, họ sẽ điều khiển và tinh chỉnh một động cơ Servo bởi Arduino Uno. Động cơ Servo được thực hiện khi cần phải có sự di chuyển chính xác trục hoặc vị trí. Loại động cơ này không phù hợp cho những ứng dụng tốc độ cao. Nó chỉ phù hợp với các ứng dụng có tốc độ thấp, mô-men xoắn trung bình và yên cầu vị trí bao gồm xác. Những bộ động cơ này thường được sử dụng trong số máy cánh tay robot, tinh chỉnh và điều khiển bay và hệ thống điều khiển.

Bạn đang xem: Điều khiển nhiều servo bằng arduino


Chuẩn bị

Phần cứng

Linh kiệnSố lượng
Arduino Uno1
Động cơ servo SG901
Tụ năng lượng điện 100 μF1
Biến trở 10kΩ1
Breadboard1
Dây cắn Breadboard

Phần mềm: Arduino IDE

Giới thiệu hộp động cơ Servo

*

Động cơ servo là sự phối kết hợp của hộp động cơ DC, hệ thống điều khiển vị trí, bánh răng. địa chỉ của trục của động cơ DC được điều chỉnh bởi những thiết bị năng lượng điện tử tinh chỉnh và điều khiển trong servo, dựa trên tỷ số trách nhiệm (duty ratio) của biểu thị PWM sinh sống chân SIGNAL.

Nói một cách đơn giản điện tử tinh chỉnh điều chỉnh vị trí trục bằng phương pháp điều khiển động cơ DC. Dữ liệu tương quan đến địa chỉ của trục được gửi vào chân SIGNAL. Tài liệu vị trí để điều khiển và tinh chỉnh phải được gửi bên dưới dạng dấu hiệu PWM trải qua chân dấu hiệu (SIGNAL) của bộ động cơ servo.

Xem thêm: Viêm Lỗ Chân Lông Ở Chân To, 3 Tips Trị Viêm Lỗ Chân Lông Ở Chân Đơn Giản

Tần số của biểu đạt PWM (Pulse Width Modulated) gồm thể chuyển đổi tùy theo nhiều loại mô tơ servo. Điều đặc biệt ở đây là hệ số trọng trách (DUTY RATIO) của dấu hiệu PWM. Dựa trên hệ số trách nhiệm này, các thiết bị năng lượng điện tử điều khiển điều chỉnh trục.

Trong một tế bào tơ servo analog thông thường, tín hiệu PWM cùng với khoảng thời gian 20 ms được thực hiện để tinh chỉnh động cơ. Tín hiệu đôi mươi ms tất cả tần số 50 Hz.

Chiều rộng của xung được biến hóa giữa 1 cùng 2 ms để điều khiển vị trí trục rượu cồn cơ.

*

Chương trình

#include //khai báo tủ sách servoServo myservo; //khai báo đối tượng người sử dụng myservo để tinh chỉnh và điều khiển servoint servoPin = 9; //khai báo chân điều khiển và tinh chỉnh servoint angle = 0; //đặt vị trí lúc đầu của servo theo độvoid setup() myservo.attach(servoPin); // cho thấy thêm động cơ servo được đã tích hợp servoPin

void loop() for (angle = 0; angle myservo.write(angle); // khiến cho servo đi mang lại vị trí trong trở nên ‘angle’delay(15); // chờ 15ms nhằm servo có được vị trí đófor (angle = 180; angle >= 0; angle -= 1) // đi từ 180 độ mang đến 0 độ mỗi bước là 1 độmyservo.write(angle); // khiến cho servo đi cho vị trí trong trở thành ‘angle’delay(15); // hóng 15ms nhằm servo đạt được vị trí đó}

Thí nghiệm 2

Sơ vật mạch

*

Chương trình

#include //khai báo thư viện servoServo servo; //khởi chế tác thư viện servoint servoPin = 9; //điểu khiển servo qua chân số 9 của Arduinoint potPin = 0; // chân analog được liên kết với biến hóa trởint val; // biến đổi để đọc giá trị analog tự chân analogint angle; // vươn lên là cho góc mà chúng ta sẽ tính toánvoid setup() servo.attach(servoPin); // cho biết động cơ servo được gắn vào servoPinvoid loop() val = analogRead(potPin); // đọc quý giá của thay đổi trở (giá trị tự 0 mang đến 1023)angle = map(val, 0, 1023, 0, 180); // chuyển giá trị analog (0-1023) phát âm được từ vươn lên là trở sang trọng số đo độ (0-180 độ)// dùng làm điều khiển góc quay đến servoservo.write(angle); // cho servo cù một góc là angle độdelay(15); //