1. Trình làng Servo motor
Servo motor là 1 trong những dạng hộp động cơ điện quan trọng đặc biệt với góc quay nằm trong vòng từ 0 – 180°. Servo motor thường dùng để làm đóng ngắt các khối hệ thống một bí quyết tự động.
Bạn đang xem: Điều khiển dc servo bằng arduino
2. Xây cất mạch điều khiển và tinh chỉnh Servo motor cùng với board Arduino
Mạch điều khiển Servo motor với Arduino gồm 1 board Arduino, 1 Servo motor, rất có thể thêm 1 biến trở để điều khiển và tinh chỉnh góc con quay của Servo motor.Để Servo motor hoạt động, nên 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ó khả năng xuất xung PWM (~3, ~ 5, ~ 6, ~ 9, ~ 10, ~ 11) để chịu đựng sự tinh chỉnh và điều khiển của Arduino.Có thể dùng thêm biến đổi trở để tinh chỉnh góc con quay 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ự 0-180° cùng ngược lạiĐể lập trình tinh chỉnh Servo motor, họ sử dụng thư viện . Tủ sách này đã được tích vừa lòng sẵn vào Arduino IDE cần không đề xuất cài đặt. Yêu cầu khai báo một đối tượng Servo để thay mặt cho Servo motor liên kết với Arduino. Dùng hàm write() nhằm gán góc quay mang lại Servo motor. Góc tảo của Servo motor có giá bán trị trong tầm từ 0 – 180.#include //Khai báo thư viện điều khiển và tinh chỉnh ServoServo myservo;//Khai báo đối tượng người tiêu 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 kết nối Servo với Arduinovoid loop() for(int pos = 0; pos =1; pos-=1) myservo.write(pos);//Gán góc quay đến Servo delay(15); Kết quả
Điều khiển góc cù của Servo motor bởi biến trởXem lại bí quyết lập trình sử dụng biến trở trong bài bác Lập trình điều khiển và tinh chỉnh DC motor với board mạch Arduino. Khi cực hiếm điện áp lấy ra từ biến đổi trở biến hóa thì góc cù của Servo motor nỗ lực đổ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 kết nối biến trở với Arduinovoid setup() myservo.attach(servo
Pin);//Khai báo chân liên kết Servo 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 từ 0-1023 lịch sự 0-180 myservo.write(pos);//Gán góc quay mang lại ServoKết quả
Bài viết lúc này xin trình làng với các bạn bài viết điều khiển servo RC bởi pwm. Ở các nội dung bài viết trước bọn họ đã khám phá về cách điều khiển và tinh chỉnh động cơ DC và AC Servo. Lúc này chúng ta thuộc nhau tò mò cách tinh chỉnh một loại động cơ thông dụng nửa là RC Servo bởi pwm.
Điều khiển động cơ RC servo bằng pwm
Content Summary
1 1. Tìm hiểu về bộ động cơ servo2 2. Điều khiển hộp độ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ề bộ độ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 vào công nghiệp áp dụng encoder để ý kiến vị trí. Động cơ servo là loại động cơ một chiều dễ dàng và đơn giản có cảm biến phản hồi vị trí là 1 trong biến trở. Vị trí thực tế được so sánh với địa chỉ mục tiêu, bộ điều khiển sẽ nhờ vào sai số này để thay đổi vị tri thực tiễn đúng với yêu thương cầu.
Động cơ RC servo được áp dụng trong xác định bánh lái của thuyền, camera, cảm biến và sử dụng thông dụng trong tinh chỉnh 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 LS
Điều khiển hộp động cơ AC servo Dorna thương hiệu Tecorp
1.2 cấu tạo động cơ RC servo
Động cơ servo bao hàm 4 bộ phận: hộp động cơ một chiều, vỏ hộp số, biến đổi trở với mạch điều khiển.
Cấu tạo động cơ rc servo
+ Động cơ DC có tốc độ cao với moment phải chăng nên cần hộp số để giảm vận tốc và tăng moment giúp điều khiển xuất sắc vị trí. Tốc độ sau khi qua hộp tụt giảm khoảng 60 vòng/phút.
+ biến trở được nối với hộp số hoặc trục của rượu cồn cơ, nên những khi động cơ tảo thì biến đổi trở cũng mặt khác quay theo. Trở nên trở quay đang ứng với bộ động cơ quay theo một góc hoàn hảo so với vị trí ban đầu. Mạch điều khiển đọc điện áp từ biến trở và đối chiếu với điện áp của biểu lộ điều khiển. Ở một vài động cơ rc servo bao gồm tích đúng theo thêm mạch ước H để kiểm soát và điều chỉnh động cơ tảo theo chiều trái lại khi động cơ quay qua vị trí ước ao muốn. Cho tới khi không nên số giữa hai biểu lộ điện áp này bởi 0.
1.3 nguyên lý điều khiển hộp động cơ servo bởi 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 xoay của cồn cơ nhờ vào vào độ rộng của xung điều khiển. Một số loại động cơ này có giới hạn về góc quay, góc quay tối đa là 180 độ.
+ mang lại ví dụ độ rộng xung 1 m
S ứng cùng với góc quay hộp động cơ là 0 độ, phạm vi 1,5 m
S ứng cùng với góc cù là 90 độ với 2m
S ứng với góc xoay 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ác 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ẽ có được 3 chân VCC, biểu thị và chân GND. Màu sắc dây những chân của động cơ servo sẽ biến hóa tùy theo nhà sản xuất. Mặc dù ta thấy số đông các chân của động cơ sẽ cơ chế theo màu sắc như sau.
+ GND – Màu đen hoặc nâu, chân MASS cho động cơ và mạch điều khiển.
+ tín hiệu – màu trắng hoặc vàng, chân ngỏ vào của tín hiệu điều khiển
+ VCC – Chân cấp cho nguồn cho hộp động cơ và mạch điều khiển, hay là 5V.
2. Điều khiển động cơ servo bằng PWM Arduino
2.1 nguyên nhân lựa lựa chọn Arduino tinh chỉnh và điều khiển servo RC
+ Như đã trình bày ở trên, bộ động cơ servo buộc phải xung tinh chỉnh PWM để vận động một cách chủ yếu xác. Bao gồm nhiều phương pháp để tạo xung điều khiển và tinh chỉnh PWM, trong những số đó dùng vi tinh chỉnh sẽ có rất nhiều ưu điểm rộng để điều khiển và tinh chỉnh servo hiệu quả. Cùng Arduino là một sự chọn lựa hoàn hảo. Với mã mối cung cấp mở, chi tiêu rẻ, những hàm tác dụng dễ sử dụng.
+ phần mềm lập trình Arduino IDE hỗ trợ thư viện điều khiển và tinh chỉnh Servo, có thể sử dụng những hàm tinh chỉnh servo dễ dàng dàng.
+ Trên từng board mạch Arduino có một số trong những chân tinh chỉnh và điều khiển PWM. Trên board Arduino UNO tất cả 4 chân PWM gồm tần số 490 Hz cùng 2 chân PWM tất cả tần số 980 Hz.
+ chú ý khi thực hiện thư viện Servo cần sử dụng một số bộ timer phía bên trong Arduino, cụ thể là timer 1. Điều này gây trở ngại cho những thư viện không giống cần sử dụng bộ timer tương tự
2.2 lựa chọn nguồn cấp cho cho mạch
+ Động cơ SG90 sẽ hoạt động tốt cùng với nguồn cung cấp với nguồn 5V cấp cho từ Arduino vày moment yếu, chiếc điện nhỏ.
Điều khiển bộ động cơ servo G90 bởi arduino
+ tuy nhiên đối với một số Servo tất cả moment to như MG9995 hoặc khi gồm gắn thêm mua thì mẫu điện hoàn toàn có thể lớn hơn cái cấp tối đa của Arduino. Giống như một số loại động cơ khác, khi chuyển động có thể sinh ra nhiễu trên phố dây cấp cho nguồn. Khi nhiễu trên đường dây cấp cho nguồn mang lại vi điều khiển và tinh chỉnh và một số trong những thiết bị khác đang dẫn mang đến sai số.
Vì vậy nên cấp nguồn xung quanh cho bộ động cơ servo, liên kết GND cùng chân bộc lộ với Arduino. Có thể sử dụng tụ 100u
F hoặc lớn hơn nối tuy vậy song cùng với nguồn cấp cho 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 điều khiển servo RC bởi PWM
a. Điều khiển servo xoay từ 0 mang đến 180 độ với ngược lại+ liên kết mạch ko thể đơn giản và dễ dàng hơn, trong lấy 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 6 chân có công dụng phát xung PWM, những chân vạc xung sẽ có được ký hiệu là dấu “~”.
Điều khiển động cơ servo RC bằng pwm
+ Hãy coi code lấy ví dụ như trong mục File/ Examples/ Servo/ Sweep
Trong lấy ví dụ như này tinh chỉnh và điều khiển động cơ servo xoay một 180 độ sau đó dừng 2s và quay lại vị trí ban đầu 0 độ. Từng bước quay là một trong độ, thời hạn chờ để hộp động cơ đạt cho vị trí điều khiển là 15m
S. Do thời hạn chờ vô cùng bé, bắt buộc ta nhận thấy động cơ xoay liên tục.
***************************************************
/* Sweep – Điều khiển động cơ servo bởi 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 đổi thay nhận quý hiếm góc quay
void setup()
myservo.attach(9,500,2500); // Chân 9, chu kỳ Min, Max
void loop()
//Điều khiển servo cù một góc 180 độ
for (pos = 0; pos
myservo.write(pos); //ra lệnh servo tảo một góc “pos”
delay(15); // hóng 15ms để động cơ đạt mang lại vị trí pos
delay(500); //Khi quay cho vị trí góc 180 độ ngừng 2s
//Điều khiển servo quay về vị trí 0 độ
for (pos = 180; pos >= 0; pos -= 1) //Biến pos sẽ chạy từ 180 về 0
myservo.write(pos);
delay(15);
delay(500); //Khi quay mang lại vị trí góc 0 độ ngừng 2s
}
***************************************************
+ lưu lại ý: công tác định nghĩa một đối tượng tên myservo để đại diện cho bộ động cơ servo đề xuất điều khiển, nếu tinh chỉnh và điều khiển nhiều servo thì mỗi cồn cơ bắt buộc định nghĩa một đối tượng người tiêu dùng riêng.
Xem thêm: Cách Làm Bánh Tay Yến Giòn Rụm, Ngọt Ngào Hương Vị Miền Tây, Cách Làm Bánh Tai Yến Bột Gạo Cực Ngon Tại Nhà
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 động cơ servo bằng arduino
b. Điều khiển bộ động cơ servo chuyển phiên theo trở thành trở+ Ở ví dụ này ta sẽ cần sử dụng Arduino đọc giá trị vươn lên là trở tinh chỉnh và điều khiển góc xoay của động cơ servo bởi PWM. Động cơ sẽ quay theo trở nên trở.