1. Giới thiệu Servo motor
Servo motor là một trong những dạng hộp động cơ điện quan trọng với góc con quay nằm trong khoảng từ 0 – 180°. Servo motor thường dùng để làm đóng ngắt các hệ thống một phương pháp tự động.Bạn sẽ xem: Điều khiển dc servo bằng arduino
2. Xây cất mạch điều khiển Servo motor với board Arduino
Mạch tinh chỉnh Servo motor với Arduino bao gồm 1 board Arduino, 1 Servo motor, rất có thể thêm 1 biến chuyển trở để tinh chỉnh góc quay của Servo motor.Để Servo motor hoạt động, đề nghị cấp nguồn mang lại Servo motor. Một chân của motor phải liên kết với một chân của Arduino có tác dụng xuất xung PWM (~3, ~ 5, ~ 6, ~ 9, ~ 10, ~ 11) để chịu đựng sự tinh chỉnh của Arduino.Bạn đang xem: Lập trình điều khiển servo motor với board mạch arduino
Có thể sử dụng thêm biến đổi trở để tinh chỉnh góc cù của Servo motor.
3. Chương trình tinh chỉnh Servo motor
Điều khiển góc quay của Servo motor từ bỏ 0-180° với ngược lạiĐể lập trình điều khiển và tinh chỉnh Servo motor, bọn họ sử dụng tủ sách . Tủ sách này đã được tích phù hợp sẵn trong Arduino IDE đề xuất không nên cài đặt. Nên khai báo một đối tượng người tiêu dùng Servo để thay mặt cho Servo motor kết nối với Arduino. Cần sử dụng hàm write() để gán góc quay cho Servo motor. Góc quay của Servo motor có giá bán trị trong khoảng từ 0 – 180.#include //Khai báo thư viện tinh chỉnh và điều khiển ServoServo myservo;//Khai báo đối tượng người sử dụng Servoint servo
Pin = 9;//Chân kết nối Servo với Arduinovoid setup() myservo.attach(servo
Pin);//Khai báo chân liên kết Servo với Arduinovoid loop() for(int pos = 0; pos =1; pos-=1) myservo.write(pos);//Gán góc quay cho Servo delay(15); Kết quảĐiều khiển góc tảo của Servo motor bằng biến trởXem lại biện pháp lập trình sử dụng biến trở trong bài xích Lập trình điều khiển DC motor cùng với board mạch Arduino. Khi quý giá điện áp lấy ra từ biến hóa trở biến hóa thì góc con quay của Servo motor núm đổi.#include //Khai báo thư viện điều khiển Servo
Servo myservo;//Khai báo đối tượng người sử dụng Servoint servo
Pin = 9;//Chân kết nối Servo với Arduinoint rv = A0;//Chân liên kết biến trở cùng với Arduinovoid setup() myservo.attach(servo
Pin);//Khai báo chân liên kết Servo cùng với Arduinovoid loop() int value = analog
Read(rv);//Đọc quý giá điện áp từ thay đổi trở int pos = map(value,0,1023,0,180);//chuyển thang đo của value trường đoản cú 0-1023 lịch sự 0-180 myservo.write(pos);//Gán góc quay đến ServoKết quả
Bài viết từ bây giờ xin giới thiệu 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 bọn họ đã tò mò về cách tinh chỉnh động cơ DC cùng AC Servo. Bây giờ chúng ta cùng nhau khám phá cách điều khiển một loại bộ động cơ thông dụng nửa là RC Servo bởi pwm.
Điều khiển hộp động cơ RC servo bởi pwm
Download 5 mạch điều khiển và tinh chỉnh Motor DC Pdf với mô phỏng
Content Summary
1 1. Tò 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 PWM1. Mày mò về hộp động cơ servo
1.1 Động cơ RC servo là gì
Khác với các loại bộ động cơ DC, AC servo trong công nghiệp thực hiện encoder để ý kiến vị trí. Động cơ servo là loại hộp động cơ một chiều dễ dàng có cảm biến phản hồi vị trí là một trong biến trở. Vị trí thực tiễn được so sánh với địa chỉ mục tiêu, bộ điều khiển sẽ phụ thuộc vào sai số này để chuyển đổi vị tri thực tế đúng với yêu cầu.
Động cơ RC servo được sử dụng trong xác định bánh lái của thuyền, camera, cảm biến và áp dụng thông dụng trong tinh chỉnh góc quay những khớp của robot.
Điều khiển bộ động cơ DC servo
Điều khiển động cơ AC servo hãng LS
Điều khiển động cơ AC servo Dorna thương hiệu Tecorp
1.2 cấu trúc động cơ RC servo
Động cơ servo bao gồm 4 cỗ phận: động cơ một chiều, vỏ hộp số, biến hóa trở và mạch điều khiển.
Cấu tạo động cơ rc servo
+ Động cơ DC có tốc độ cao và moment thấp nên đề nghị hộp số để giảm tốc độ và tăng moment giúp điều khiển xuất sắc vị trí. Tốc độ sau thời điểm 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 những lúc động cơ tảo thì đổi thay trở cũng mặt khác quay theo. Thay đổi trở quay đang ứng với động cơ quay theo một góc hoàn hảo so với địa chỉ ban đầu. Mạch tinh chỉnh và điều khiển đọc điện áp từ phát triển thành trở và đối chiếu với năng lượng điện áp của tín hiệu điều khiển. Ở một trong những động cơ rc servo tất cả tích thích hợp thêm mạch cầu H để kiểm soát và điều chỉnh động cơ quay theo chiều trái lại khi động cơ quay qua vị trí ước ao muốn. Cho đến khi không đúng số giữa hai biểu thị điện áp này bằng 0.
1.3 nguyên lý đ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 nên là 50 Hz, góc cù của đụng cơ phụ thuộc vào vào phạm vi của xung điều khiển. Một số loại động cơ này còn có giới hạn về góc quay, góc quay buổi tối đa là 180 độ.
+ cho ví dụ phạm vi xung 1 mS ứng cùng với góc quay động cơ là 0 độ, phạm vi 1,5 m
S ứng với góc xoay là 90 độ với 2m
S ứng với góc cù 180 độ. Góc quay có thể khác nhau so với các nhiều loại động cơ của những nhãn hiệu không giống nhau.
Góc con quay của hễ cơ dựa 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 được 3 chân VCC, bộc lộ và chân GND. Màu sắc dây những chân của bộ động cơ servo sẽ chuyển đổi tùy theo đơn vị sản xuất. Tuy vậy ta thấy đa số các chân của bộ động cơ sẽ lao lý theo color 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 thị – white color hoặc vàng, chân ngỏ vào của dấu hiệu điều khiển
+ VCC – Chân cấp cho nguồn cho động cơ và mạch điều khiển, thường là 5V.
Xem thêm: 7 Cơn Đau Bụng Trên Rốn Sau Khi Sinh Thường Gặp Và Bí Quyết Giảm Đau Nhanh
2. Điều khiển động cơ servo bằng PWM Arduino
2.1 lý do lựa lựa chọn Arduino điều khiển và tinh chỉnh servo RC
+ Như đã trình diễn ở trên, bộ động cơ servo yêu cầu xung tinh chỉnh PWM để chuyển động một cách bao gồm xác. Tất cả nhiều phương pháp để tạo xung điều khiển và tinh chỉnh PWM, trong đó dùng vi điều khiển và tinh chỉnh sẽ có khá nhiều ưu điểm rộng để điều khiển và tinh chỉnh servo hiệu quả. Với Arduino là 1 sự chọn lọc hoàn hảo. Với mã nguồn mở, chi tiêu rẻ, các hàm tính năng dễ sử dụng.
+ phần mềm lập trình Arduino IDE hỗ trợ thư viện tinh chỉnh và điều khiển Servo, rất có thể sử dụng các hàm điều khiển servo dễ dàng.
+ Trên mỗi board mạch Arduino có một trong những chân điều khiển và tinh chỉnh PWM. Bên trên board Arduino UNO có 4 chân PWM gồm tần số 490 Hz với 2 chân PWM có tần số 980 Hz.
+ xem xét khi thực hiện thư viện Servo bắt buộc sử dụng một trong những bộ timer phía bên trong Arduino, rõ ràng là timer 1. Điều này gây trở ngại cho các thư viện khác cần thực hiện bộ timer tương tự như
2.2 lựa chọn nguồn cung cấp cho mạch
+ Động cơ SG90 sẽ chuyển động tốt cùng với nguồn cung ứng với nguồn 5V cung cấp từ Arduino vì chưng 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 tất cả moment bự như MG9995 hoặc khi gồm gắn thêm tải thì dòng điện có thể lớn hơn chiếc cấp về tối đa của Arduino. Giống hệt như một số loại hộp động cơ khác, khi chuyển động có thể hình thành nhiễu trên đường dây cấp cho nguồn. Lúc nhiễu trê tuyến phố dây cấp cho nguồn mang đến vi điều khiển và một số thiết bị khác sẽ dẫn mang đến sai số.
Vì vậy cho nên cấp nguồn ko kể cho động cơ servo, kết nối GND cùng chân tín hiệu 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 cung cấp gần động cơ để giảm nhiễu.
điều khiển bộ động cơ servo MG9995 bởi pwm
2.3 Lập trình tinh chỉnh và điều khiển servo RC bởi PWM
a. Điều khiển servo xoay từ 0 cho 180 độ và ngược lại+ kết nối mạch không thể đơn giản hơn, trong ví dụ này thực hiện chân 9 là chân tín hiệu điều khiển servo. Chân 9 là một trong những trong 6 chân có tác dụng phát xung PWM, các chân vạc xung sẽ sở hữu được ký hiệu là vết “~”.
Điều khiển bộ động cơ servo RC bởi pwm
+ Hãy xem code lấy một ví dụ trong mục File/ Examples/ Servo/ Sweep
Trong lấy một ví dụ này tinh chỉnh và điều khiển động cơ servo tảo một 180 độ sau đó dừng 2s và trở về vị trí lúc đầu 0 độ. Từng bước một quay là 1 trong những độ, thời hạn chờ để động cơ đạt mang lại vị trí tinh chỉnh và điều khiển là 15mS. Do thời hạn chờ rất bé, buộc phải ta nhận thấy động cơ con quay liên tục.
***************************************************
/* Sweep – Điều khiển bộ động cơ servo bằng arduino
by BARRAGAN
*/
#include // Khai báo thư viện servo
Servo myservo;// Tạo đối tượng người tiêu dùng tên myservo
int pos = 0;//Tạo biến chuyển nhận giá trị góc quay
void setup()
myservo.attach(9,500,2500); // Chân 9, chu kỳ Min, Max
void loop()
//Điều khiển servo tảo 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 để hộp động cơ đạt cho vị trí pos
delay(500); //Khi quay mang đến vị trí góc 180 độ dừng 2s
//Điều khiển servo trở lại vị trí 0 độ
for (pos = 180; pos >= 0; pos -= 1) //Biến pos đã chạy từ 180 về 0
myservo.write(pos);
delay(15);
delay(500); //Khi quay mang đến vị trí góc 0 độ dừng 2s
}
***************************************************
Video xem thêm mô phỏng điều khiển servo bởi pwm trên phần mềm Proteus
Video thực tiễn điều khiển hộp động cơ servo bởi arduino
b. Điều khiển hộp động cơ servo luân phiên theo đổi thay trở+ Ở lấy ví dụ này ta sẽ cần sử dụng Arduino hiểu giá trị trở nên trở tinh chỉnh góc tảo của động cơ servo bởi PWM. Động cơ đã quay theo thay đổi trở.
1. Trình làng Servo motor
Servo motor là một trong những dạng hộp động cơ điện quan trọng đặc biệt với góc con quay nằm trong tầm từ 0 – 180°. Servo motor thường dùng để đóng ngắt các khối hệ thống một cách tự động.
2. Xây đắp mạch tinh chỉnh Servo motor cùng với board Arduino
Mạch tinh chỉnh và điều khiển Servo motor với Arduino bao gồm một board Arduino, 1 Servo motor, có thể thêm 1 đổi mới trở để điều khiển và tinh chỉnh góc xoay của Servo motor.Để Servo motor hoạt động, phải cấp nguồn cho Servo motor. Một chân của motor phải liên kết với một chân của Arduino có tác dụng xuất xung PWM (~3, ~ 5, ~ 6, ~ 9, ~ 10, ~ 11) để chịu đựng sự điều khiển của Arduino.Có thể dùng thêm trở thành trở để tinh chỉnh góc cù của Servo motor.
3. Chương trình điều khiển và tinh chỉnh Servo motor
Điều khiển góc quay của Servo motor từ 0-180° và ngược lạiĐể lập trình điều khiển và tinh chỉnh Servo motor, chúng ta sử dụng thư viện . Thư viện này đã có được tích phù hợp sẵn trong Arduino IDE nên không đề xuất cài đặt. Buộc phải khai báo một đối tượng Servo để đại diện cho Servo motor liên kết với Arduino. Sử dụng hàm write() nhằm gán góc quay cho Servo motor. Góc tảo của Servo motor có giá trị trong vòng từ 0 – 180.#include //Khai báo thư viện tinh chỉnh ServoServo myservo;//Khai báo đối tượng người dùng Servoint servo
Pin = 9;//Chân liên kết Servo với Arduinovoid setup() myservo.attach(servo
Pin);//Khai báo chân liên kết Servo với Arduinovoid loop() for(int pos = 0; pos =1; pos-=1) myservo.write(pos);//Gán góc quay cho Servo delay(15); Kết quả
Điều khiển góc con quay của Servo motor bằng biến trởXem lại giải pháp lập trình thực hiện biến trở trong bài xích Lập trình tinh chỉnh và điều khiển DC motor cùng với board mạch Arduino. Khi giá trị điện áp kéo ra từ biến chuyển trở đổi khác thì góc cù của Servo motor nạm đổi.
#include //Khai báo thư viện điều khiển và tinh chỉnh Servo
Servo myservo;//Khai báo đối tượng người sử dụng Servoint servo
Pin = 9;//Chân kết nối Servo với Arduinoint rv = A0;//Chân liên kết biến trở với Arduinovoid setup() myservo.attach(servo
Pin);//Khai báo chân kết nối Servo cùng với Arduinovoid loop() int value = analog
Read(rv);//Đọc cực hiếm điện áp từ biến đổi trở int pos = map(value,0,1023,0,180);//chuyển thang đo của value từ bỏ 0-1023 sang trọng 0-180 myservo.write(pos);//Gán góc quay mang đến ServoKết quả