Bài viết hôm nay xin ra mắt với những bạn nội dung bài viết điều khiển servo RC bởi pwm. Ở các bài viết trước chúng ta đã mày mò về cách điều khiển và tinh chỉnh động cơ DC và AC Servo. Từ bây giờ chúng ta cùng nhau khám phá cách tinh chỉnh và điều khiển một loại hộp động cơ thông dụng nửa là RC Servo bằng pwm.

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

*

Điều khiển động cơ RC servo bằng pwm


Mục lục

1 1. Mày mò về hộp động cơ servo2 2. Điều khiển động cơ servo bằng PWM Arduino2.3 2.3 Lập trình điều khiển servo RC bởi PWM

1. Tìm hiểu về bộ động cơ servo

1.1 Động cơ RC servo là gì

Khác với những loại hộp động cơ DC, AC servo vào công nghiệp áp dụng encoder để đánh giá vị trí. Động cơ servo là loại hộp động cơ một chiều dễ dàng và đơn giản có cảm ứng phản hồi vị trí là một trong biến trở. Vị trí thực tế được đối chiếu với địa điểm mục tiêu, bộ điều khiển và tinh chỉnh sẽ nhờ vào sai số này để đổi khác vị tri thực tế đúng với yêu thương cầu.

Động cơ RC servo được sử dụng trong định vị bánh lái của thuyền, camera, cảm biến và áp dụng thông dụng trong điều khiển góc quay những khớp của robot.

Điều khiển động cơ DC servo

Điều khiển động cơ AC servo hãng sản xuất LS

Điều khiển bộ động cơ AC servo Dorna hãng Tecorp

1.2 cấu tạo động cơ RC servo

Động cơ servo bao hàm 4 bộ phận: bộ động cơ một chiều, hộp số, trở thành trở và mạch điều khiển.

*

Cấu tạo hộp động cơ rc servo

+ Động cơ DC có tốc độ cao cùng moment phải chăng nên cần hộp số nhằm giảm vận tốc và tăng moment góp điều khiển tốt vị trí. Tốc độ sau khi qua hộp giảm tốc khoảng 60 vòng/phút.

+ biến hóa trở được nối với vỏ hộp số hoặc trục của đụng cơ, nên lúc động cơ tảo thì đổi mới trở cũng đồng thời quay theo. Biến chuyển trở quay đang ứng với động cơ quay theo một góc hoàn hảo và tuyệt vời nhất so với vị trí ban đầu. Mạch tinh chỉnh và điều khiển đọc điện áp từ biến hóa trở và so sánh với năng lượng điện áp của biểu thị điều khiển. Ở một số động cơ rc servo có tích hòa hợp thêm mạch cầu H để điều chỉnh động cơ cù theo chiều trái lại khi động cơ quay qua vị trí mong muốn. Cho đến khi sai số giữa hai dấu hiệu điện áp này bằng 0.

1.3 nguyên tắc điều khiển động cơ servo bằng pwm

+ Động cơ RC servo được điều khiển bằng cách cấp một chuỗi xung PWM. Tần số của xung điều khiển và tinh chỉnh nên là 50 Hz, góc tảo của rượu cồn cơ phụ thuộc vào vào độ rộng của xung điều khiển. Loại động cơ này có giới hạn về góc quay, góc quay tối đa là 180 độ.

+ đến ví dụ độ rộng xung 1 mS ứng cùng với góc quay động cơ là 0 độ, phạm vi 1,5 mS ứng cùng với góc quay là 90 độ cùng 2mS ứng với góc tảo 180 độ. Góc quay rất có thể khác nhau so với các các loại động cơ của các nhãn hiệu không giống nhau.

*

Góc tảo của hễ cơ nhờ vào xung điều khiển

1.4 kết nối động cơ Rc servo

Động cơ servo thông thường sẽ sở hữu 3 chân VCC, biểu lộ và chân GND. Màu sắc dây các chân của động cơ servo sẽ đổi khác tùy theo nhà sản xuất. Tuy nhiên ta thấy đa số các chân của bộ động cơ sẽ chính sách theo màu sắc như sau.

+ GND – Màu đen hoặc nâu, chân MASS cho bộ động cơ và mạch điều khiển.

+ biểu lộ – màu trắng hoặc vàng, chân ngỏ vào của biểu đạt điều khiển

+ VCC – Chân cấp nguồn cho động cơ và mạch điều khiển, thường xuyên là 5V.

2. Điều khiển động cơ servo bằng PWM Arduino

2.1 lý do lựa chọn Arduino điều khiển servo RC

+ Như đã trình bày ở trên, bộ động cơ servo nên xung tinh chỉnh và điều khiển PWM để hoạt động một cách thiết yếu xác. Tất cả nhiều phương pháp để tạo xung tinh chỉnh PWM, trong số đó dùng vi điều khiển sẽ có nhiều ưu điểm hơn để điều khiển và tinh chỉnh servo hiệu quả. Cùng Arduino là một trong sự chắt lọc hoàn hảo. Với mã mối cung cấp mở, túi tiền rẻ, những hàm tác dụng dễ sử dụng.

+ ứng dụng lập trình Arduino IDE cung cấp thư viện điều khiển Servo, rất có thể sử dụng các hàm tinh chỉnh servo dễ dàng.

+ Trên mỗi board mạch Arduino có một số trong những chân điều khiển PWM. Bên trên board Arduino UNO gồm 4 chân PWM bao gồm tần số 490 Hz cùng 2 chân PWM bao gồm tần số 980 Hz.

+ lưu ý khi sử dụng thư viện Servo bắt buộc sử dụng một vài bộ timer phía bên trong Arduino, ví dụ là timer 1. Điều này gây trở ngại cho các thư viện không giống cần sử dụng bộ timer tựa như

2.2 chọn nguồn cung cấp cho mạch

+ Động cơ SG90 sẽ vận động tốt cùng với nguồn cung ứng với mối cung cấp 5V cấp từ Arduino bởi vì moment yếu, dòng điện nhỏ.

*

Điều khiển hộp động cơ servo G90 bởi arduino

+ mặc dù nhiên đối với một số Servo bao gồm moment to như MG9995 hoặc khi gồm gắn thêm mua thì cái điện có thể lớn hơn dòng cấp tối đa của Arduino. Giống như một số loại hộp động cơ khác, khi vận động có thể ra đời nhiễu trên phố dây cung cấp nguồn. Lúc nhiễu trên tuyến đường dây cấp cho nguồn mang đến vi tinh chỉnh và một số thiết bị khác sẽ dẫn đến sai số.

Vì vậy nên cấp nguồn ko kể cho bộ động cơ servo, liên kết GND và chân biểu hiện với Arduino. Có thể sử dụng tụ 100uF hoặc to hơn nối tuy nhiên song cùng với nguồn cấp cho gần động cơ để sút nhiễu.

*

điều khiển hộp động cơ servo MG9995 bởi pwm

2.3 Lập trình tinh chỉnh servo RC bởi PWM

a. Điều khiển servo quay từ 0 mang đến 180 độ và ngược lại

+ kết nối mạch ko thể đơn giản và dễ dàng hơn, trong ví dụ như này sử dụng chân 9 là chân tín hiệu điều khiển và tinh chỉnh servo. Chân 9 là 1 trong những trong 6 chân có tác dụng phát xung PWM, những chân phạt xung sẽ sở hữu được ký hiệu là vệt “~”.

*

Điều khiển bộ động cơ servo RC bằng pwm

+ Hãy coi code lấy một ví dụ trong mục File/ Examples/ Servo/ Sweep

Trong lấy một ví dụ này điều khiển động cơ servo con quay một 180 độ kế tiếp dừng 2s và trở lại vị trí lúc đầu 0 độ. Mỗi bước quay là một độ, thời gian chờ để hộp động cơ đạt cho vị trí điều khiển là 15mS. Do thời hạn chờ siêu bé, đề xuất ta nhìn thấy động cơ xoay liên tục.

***************************************************

/* Sweep – Điều khiển hộp động cơ servo bằng arduino

 by BARRAGAN

*/

#include // Khai báo tủ sách servo

Servo myservo;// Tạo đối tượng người dùng tên myservo

int pos = 0;//Tạo vươn lên là nhận quý giá góc quay

void setup()

myservo.attach(9,500,2500); // Chân 9, chu kỳ Min, Max

void loop()

//Điều khiển servo xoay một góc 180 độ

for (pos = 0; pos

myservo.write(pos); //ra lệnh servo con quay một góc “pos”

delay(15); // chờ 15ms để động cơ đạt mang đến vị trí pos

delay(500); //Khi quay mang lại vị trí góc 180 độ dừng 2s

//Điều khiển servo quay về vị trí 0 độ

for (pos = 180; pos >= 0; pos -= 1) //Biến pos đã chạy từ bỏ 180 về 0

myservo.write(pos);

delay(15);

delay(500); //Khi quay cho vị trí góc 0 độ ngừng 2s

}

***************************************************

+ lưu ý: chương trình định nghĩa một đối tượng tên myservo để đại diện thay mặt cho bộ động cơ servo phải điều khiển, nếu điều khiển và tinh chỉnh nhiều servo thì mỗi rượu cồn cơ phải định nghĩa một đối tượng người sử dụng riêng.

Video xem thêm mô phỏng điều khiển và tinh chỉnh servo bằng pwm trên ứng dụng Proteus

Video thực tế điều khiển bộ động cơ servo bằng arduino

b. Điều khiển hộp động cơ servo luân phiên theo đổi mới trở

+ Ở lấy ví dụ như này ta sẽ sử dụng Arduino đọc giá trị biến trở điều khiển và tinh chỉnh góc quay của bộ động cơ servo bởi PWM. Động cơ đang quay theo đổi mới trở.

Xem thêm: Cách Sử Dụng Máy Giặt Aqua 7Kg, Cách Sử Dụng Bảng Điều Khiển Máy Giặt Aqua Aqw

*

Điều khiển servo bởi arduino

***************************************************

/*

 Điều khiển vị trí bộ động cơ servo bởi biến trở arduino

 by Michal Rinott

http://www.arduino.cc/en/Tutorial/Knob

*/

#include // Khai báo thư viện servo

Servo myservo; // Tạo đối tượng người sử dụng tên myservo

int potpin = 2; // chân Analog 0 liên kết biến trở

int val; // phát triển thành đọc giá trị chân Analog

void setup()

myservo.attach(9,500,2500); // Chân 9, Min, Max

void loop()

val = analogRead(potpin); // Đọc giá chỉ trị biến hóa trở 0 – 1023

val = map(val, 0, 1023, 0, 180); // chuyển đổi giá trị val về 0-180

myservo.write(val); //ra lệnh servo con quay một góc “var”

delay(15); // hóng 15 mS để hộp động cơ đạt cho vị trí “var”

***************************************************

Video mô bỏng trên chương trình phần mềm Proteus

Video thực tiễn điều khiển hộp động cơ quay theo phát triển thành trở

Động cơ servo là gì?

Điều khiển động cơ DC servo

Nơi download Arduino, mạch cầu H giá tốt mà hóa học lượng?

Với giá chỉ bán tuyên chiến và cạnh tranh trên những sàn dịch vụ thương mại điện tử được không ít người sử dụng đánh giá cao. Giao hàng tận nơi, với chế độ hoàn trả chi phí nếu sản phẩm bị lỗi bắt buộc khách hàng có thể yên chổ chính giữa đặt thực hiện các thành phầm của bọn chúng tôi.