ĐIỀU KHIỂN ĐỘNG CƠ SERVO - ĐỘNG CƠ SERVO 200W 400W 600W SIZE 60
Lựa chọn bộ động cơ bước, bộ động cơ servo, bộ động cơ hybrid và một trong những số phụ kiện đi kèm: Driver điều khiển, phanh từ giỏi hộp tụt giảm cho hộp động cơ bước ⇒ XEM CÁC LOẠI ĐỘNG CƠ
Trong lý giải này, họ sẽ khám phá cách thức buổi giao lưu của động cơ servo và cách tinh chỉnh động cơ servo bằng trình tinh chỉnh và điều khiển PWM Arduino và PCA9685. Chúng ta cũng có thể xem video clip sau hoặc đọc gợi ý dưới đây.
Bạn đang xem: Điều khiển động cơ servo
Giới thiệu tổng quan tiền về hộp động cơ servo
Có nhiều loại động cơ servo và khả năng chính của bọn chúng là năng lực điều khiển đúng chuẩn vị trí của trục. Động cơ servo là một hệ thống vòng bí mật sử dụng ý kiến vị trí nhằm điều khiển chuyển động và vị trí sau cùng của nó.

Hệ thống vòng kín
Trong công nghiệp hộp động cơ servo là loại cảm ứng phản hồi vị trí, thường là 1 bộ code hóa gồm độ đúng đắn cao, trong khi trong các động cơ RC hoặc nhỏ tuổi hơn, cảm ứng vị trí thường là 1 trong chiết áp đối chọi giản. Vị trí thực tiễn được tra cứu thấy bởi các thiết bị này được đưa trở lại bộ phát hiện lỗi nơi nó được so sánh với địa điểm đích. Sau đó, theo lỗi, bộ điều khiển và tinh chỉnh sửa vị trí thực tiễn của động cơ để khớp với địa điểm đích.

Hệ thống vòng kín đáo Servo
Trong chỉ dẫn này, chúng tôi sẽ coi xét chi tiết về các động cơ servo hay gặp. Shop chúng tôi sẽ lý giải cách những servo này vận động và cách điểu khiển chúng bằng Arduino.

Động cơ thường được sử dụng là bộ truyền rượu cồn kích thước bé dại được áp dụng để tinh chỉnh xe ô tô, thuyền, sản phẩm công nghệ bay, v.v. Chúng cũng được sử dụng bởi các sinh viên nghệ thuật để chế tạo robot, tạo ra cánh tay robot, robot lấy xúc cảm sinh học, robot hình người, v.v.

Ứng dụng hộp động cơ Servo Robot cánh tay Hexapod Robot hình người
⇒ Robot vẽ Axidraw Việt Machine sử dụng động cơ servo: Xem tại đây
Cách thức hoạt động của Servo RC / cổ điển
Bên trong một servo cổ diển có bốn yếu tắc chính, hộp động cơ DC, hộp số, biến đổi trở với mạch điều khiển. Động cơ DC có tốc độ cao và mô-men xoắn thấp cơ mà hộp số giảm vận tốc xuống khoảng chừng 60 vòng / phút, đôi khi tăng mô-men xoắn.

Cách thức hoạt động của Servo bên phía trong các nguyên tố Mạch điều khiển chiết áp động cơ DC
Chiết áp được gắn thêm trên bánh răng sau cuối hoặc trục đầu ra, cho nên vì vậy động cơ cũng quay tách áp, tạo thành một điện áp tương quan đến góc hoàn hảo của trục đầu ra. Trong mạch điều khiển, năng lượng điện áp phân tách áp này được đối chiếu với năng lượng điện áp đến từ đường tín hiệu. Nếu như cần, bộ tinh chỉnh và điều khiển kích hoạt mạch mong H tích hợp có thể chấp nhận được động cơ quay theo nhị hướng cho đến khi nhì tín hiệu đạt mức chênh lệch bởi không.
Một động cơ servo được điều khiển bằng cách gửi một loạt các xung qua mặt đường tín hiệu. Tần số của tín hiệu điều khiển và tinh chỉnh phải là 50Hz hoặc một chu kỳ xung là 20ms. Độ rộng của xung xác xác định trí góc của servo và những loại servo này thường có thể xoay 180 độ (chúng có giới hạn vật lý lúc di chuyển).

Tín hiệu điều khiển và tinh chỉnh động cơ RC Servo
Nói chung những xung tất cả tại 1ms khớp ứng với địa điểm 0 độ, 1,5ms mang đến 90 độ và 2ms cho 180 độ. Tuy nhiên thời gian về tối thiểu và buổi tối đa của các xung đôi khi có thể biến hóa theo các loại khác biệt và chúng có thể là 0,5ms đến 0 độ cùng 2,5ms mang đến vị trí 180 độ.
Điều khiển bộ động cơ Arduino Servo
Chúng ta hãy chất vấn những thông tin trên và làm một ví dụ thực tiễn về tinh chỉnh một servo cổ xưa bằng Arduino. Tôi sẽ sử dụng MG996R, một bộ động cơ servo mô-men xoắn cao có bánh răng sắt kẽm kim loại với mô-men xoắn 10 kg-cm. Mô-men xoắn cao gồm dòng định hình của servo là 2.5A. Mẫu điện chạy trường đoản cú 500m
A mang lại 900m
A với điện áp vận động từ 4,8 mang lại 7,2V.

Điều khiển hộp động cơ Arduino Servo MG996R
Xếp hạng hiện tại cho biết thêm rằng công ty chúng tôi không thể kết nối trực tiếp servo này cùng với Arduino, nên cửa hàng chúng tôi phải áp dụng nguồn điện riêng đến nó. Đây là sơ thứ mạch đến ví dụ này.

Sơ vật dụng mạch tinh chỉnh và điều khiển Arduino
Chúng ta chỉ việc kết nối chân tinh chỉnh của servo với ngẫu nhiên chân hiện đại số nào của board Arduino, kết nối Ground với dây dương với nguồn điện áp 5V mặt ngoài, đồng thời kết nối ground của Arduino cùng với chân GND của servo.
Code tinh chỉnh và điều khiển động cơ Servo tự Arduino
Bây giờ họ hãy xem code Arduino để tinh chỉnh và điều khiển động cơ servo. Code rất đơn giản. Chúng ta chỉ cần xác định chân nhưng servo được kết nối, xác định chân kia là cổng đầu ra và vào phần vòng lặp tạo thành các xung với chu kỳ luân hồi và tần số rõ ràng như họ đã phân tích và lý giải ở trên.
#define servo
Pin 9void setup() pin
Mode(servo
Pin, OUTPUT);void loop() // A pulse each 20ms digital
Write(servo
Pin, HIGH); delay
Microseconds(1450); // Duration of the pusle in microseconds digital
Write(servo
Pin, LOW); delay
Microseconds(18550); // 20ms - duration of the pusle // Pulses duration: 600 - 0deg; 1450 - 90deg; 2300 - 180degSau một số trong những thử nghiệm, tôi đã chuyển ra các giá trị sau trong khoảng thời gian các xung vận động với servo. Các xung gồm thời lượng 0,6ms tương ứng với địa chỉ 0 độ, 1,45ms mang lại 90 độ và 2,3ms đến 180 độ.
Tôi đã liên kết một vật dụng đo vạn năng nối liền với servo để kiểm tra dòng điện. Mức loại điện tối đa mà lại tôi nhận thấy là lên đến 0,63A. Vâng, chính vì đây chưa hẳn là bạn dạng gốc Tower
Pro MG996R, mà là bạn dạng sao tốt hơn, ví dụ có hiệu suất kém hơn.

Động cơ Servo MG996R
Tuy nhiên, chúng ta hãy coi một cách dễ dãi hơn để tinh chỉnh và điều khiển các servo bằng Arduino. Đó là thực hiện thư viện Arduino Arduino.
#include Servo myservo; // create servo object to lớn control a servovoid setup() myservo.attach(9,600,2300); // (pin, min, max)void loop() myservo.write(0); // tell servo khổng lồ go lớn a particular angle delay(1000); myservo.write(90); delay(500); myservo.write(135); delay(500); myservo.write(180); delay(1500); Ở đây bọn họ chỉ phải nạp thư viện, xác định đối tượng servo và sử dụng hàm attach() xác minh chân mà lại servo được kết nối cũng giống như xác định giá trị tối thiểu và tối đa của thời lượng xung. Sau đó, bằng cách sử dụng hàm write (), chúng ta chỉ yêu cầu đặt địa điểm của servo từ 0 đến 180 độ. Với thư viện này, chúng ta cũng có thể điều khiển cho tới 12 servo đồng thời hoặc 48 servo bằng cách sử dụng board Arduino Mega.
Trình tinh chỉnh và điều khiển PWM / Servo Arduino với PCA9685
Ngoài ra còn có một biện pháp khác để điều khiển servo bằng Arduino và đó là áp dụng trình tinh chỉnh và điều khiển servo PCA9685. Đây là trình điều khiển và tinh chỉnh servo cùng servo 16 kênh 12 bit, tiếp xúc với Arduino bởi bus I2C. Nó có một đồng hồ tích hòa hợp để rất có thể chạy 16 động cơ cùng lúc, hoặc tự do với Arduino.

Trình tinh chỉnh Servo Arduino với PCA9685
Chúng ta hoàn toàn có thể xâu chuỗi lên đến mức 62 trình điều khiển và tinh chỉnh này trên và một bus I2C. Vày vậy, về mặt lý thuyết, bạn có thể điều khiển cho tới 992 động cơ chỉ bằng hai chân I2C từ board Arduino. 6 chân chọn địa chỉ cửa hàng được sử dụng để đặt add I2C khác nhau cho từng trình điều khiển bổ sung. Chúng ta chỉ đề xuất kết nối những miếng hàn theo bảng này.
Xem thêm: Các hãng đồng hồ giá rẻ đáng mua, top 15 hãng đồng hồ chính hãng giá rẻ đáng mua

Địa chỉ PCA9685 lựa chọn Chân Board I2CAddress
Đây là sơ trang bị mạch và chúng ta có thể nhận thấy rằng chúng ta cần một nguồn cung ứng điện riêng cho những servo.

Sơ vật dụng mạch Arduino và PCA9685
Các linh kiện cần thiếtĐộng cơ Servo MG996RTrình điều khiển và tinh chỉnh Servo PCA9685 PWMBoard Arduino
Nguồn cung ứng điện 5V- 6A DC
=> nơi bán linh phụ kiện điện tử chất lượng: Xem tại đây
Bây tiếng hãy xem code Arduino. Để tinh chỉnh và điều khiển trình điều khiển và tinh chỉnh servo này, bọn họ sẽ thực hiện thư viện PCA9685 rất có thể tải xuống trường đoản cú Git
Hub .
#include #include "PCA9685.h"PCA9685 driver;// PCA9685 outputs = 12-bit = 4096 steps// 2.5% of 20ms = 0.5ms ; 12.5% of 20ms = 2.5ms// 2.5% of 4096 = 102 steps; 12.5% of 4096 = 512 steps
PCA9685_Servo
Evaluator pwm
Servo(102, 470); // (-90deg, +90deg)// Second Servo// PCA9685_Servo
Evaluator pwm
Servo2(102, 310, 505); // (0deg, 90deg, 180deg)void setup() Wire.begin(); // Wire must be started first Wire.set
Clock(400000); // Supported baud rates are 100k
Hz, 400k
Hz, and 1000k
Hz driver.reset
Devices(); // Software resets all PCA9685 devices on Wire line driver.init(B000000); // Address pins A5-A0 set to lớn B000000 driver.set
PWMFrequency(50); // set frequency lớn 50Hzvoid loop() driver.set
Channel
PWM(0, pwm
Servo.pwm
For
Angle(-90)); delay(1000); driver.set
Channel
PWM(0, pwm
Servo.pwm
For
Angle(0)); delay(1000); driver.set
Channel
PWM(0, pwm
Servo.pwm
For
Angle(90)); delay(1000);Trước tiên bọn họ cần bao hàm các thư viện và xác định đối tượng người dùng PCA9685. Sau đó, sử dụng đối tượng người tiêu dùng Servo_Evaluator xác minh chu kỳ xung hoặc cổng output PWM của trình điều khiển. Chú ý rằng những đầu ra là 12 bit, độ sắc nét 4096 bước. Vày vậy, thời gian xung tối thiểu là 0,5ms hoặc 0 độ sẽ tương xứng với 102 bước và thời lượng xung về tối đa là 2,5ms hoặc 180 độ ở vị trí 512 bước. Tuy vậy như đã giải thích trước đó, các giá trị này sẽ được điều chỉnh theo hộp động cơ servo của bạn. Trong trường hòa hợp của tôi, quý hiếm từ 102 đến 470 tương ứng với vị trí 0 cho 180 độ.
Trong phần thiết lập, bọn họ cần xác định tốc độ xung I2C, đặt địa chỉ trình tinh chỉnh và để tần số thành 50Hz.
Trong phần vòng lặp, sử dụng những hàm set
Channel
PWM () với pwm
For
Angle (), chúng ta chỉ bắt buộc đặt servo theo góc mong mỏi muốn.
Tôi đã kết nối một servo lắp thêm hai với trình tinh chỉnh và như tôi dự đoán, nó ko ở vị trí giống như ban đầu, và chính là vì các động nhưng mà tôi đang áp dụng là bản sao thấp tiền và chúng không xứng đáng tin cậy. Mặc dù nhiên, đây chưa phải là vụ việc lớn vì sử dụng phiên bản Servo_Evaluator, bạn cũng có thể đặt các cài đặt đầu ra không giống nhau cho mỗi servo. Chúng ta cũng rất có thể điều chỉnh địa điểm 90 độ trong trường thích hợp nó không ban đầu ở giữa. Theo cách đó, toàn bộ các servo sẽ vận động như nhau với vị trí góc chính xác.
Điều khiển nhiều servo cùng với trình điều khiển PCA9685
Chúng ta sẽ tới một lấy một ví dụ nữa điều khiển nhiều servo với nhiều trình tinh chỉnh PCA9685.

Điều khiển 22 động cơ Servo với Arduino và PCA9685
Với mục đích đó, họ cần kết nối những trình tinh chỉnh với nhau và kết nối địa chỉ cửa hàng phù hợp chọn miếng hàn. Đây là sơ đồ gia dụng mạch:

#include #include "PCA9685.h"PCA9685 driver;// PCA9685 outputs = 12-bit = 4096 steps// 2.5% of 20ms = 0.5ms ; 12.5% of 20ms = 2.5ms// 2.5% of 4096 = 102 steps; 12.5% of 4096 = 512 steps
PCA9685_Servo
Evaluator pwm
Servo(102, 470); // (-90deg, +90deg)// Second Servo
PCA9685_Servo
Evaluator pwm
Servo2(102, 310, 505); // (0deg, 90deg, 180deg)void setup() Wire.begin(); // Wire must be started first Wire.set
Clock(400000); // Supported baud rates are 100k
Hz, 400k
Hz, and 1000k
Hz driver.reset
Devices(); // Software resets all PCA9685 devices on Wire line driver.init(B000000); // Address pins A5-A0 set khổng lồ B000000 driver.set
PWMFrequency(50); // mix frequency lớn 50Hzvoid loop() driver.set
Channel
PWM(0, pwm
Servo.pwm
For
Angle(-90)); delay(1000); driver.set
Channel
PWM(0, pwm
Servo.pwm
For
Angle(0)); delay(1000); driver.set
Channel
PWM(0, pwm
Servo.pwm
For
Angle(90)); delay(1000);Vì vậy, bọn họ nên tạo đối tượng người tiêu dùng PCA9685 riêng mang lại từng trình điều khiển, xác định add cho từng trình điều khiển cũng như đặt tần số thành 50Hz. Hiện nay chỉ cần sử dụng các hàm set
Channel
PWM () với pwm
For
Angle (), chúng ta có thể đặt ngẫu nhiên servo như thế nào ở bất kỳ trình điều khiển và tinh chỉnh nào để định vị bất kỳ góc nào chúng ta muốn.
Dịch từ: https://howtomechatronics.com/how-it-works/how-servo-motors-work-how-to-control-servos-using-arduino/
Hệ thống Servo
Servo là một hệ thống truyền động tinh chỉnh và điều khiển hồi tiếp vòng kín, nhận biểu hiện và tiến hành một cách lập cập và đúng đắn theo lệnh từ PLC. Bộ servo bao gồm 1 bộ điều khiển servo (servo drive), 1 động cơ servo và 1 encoder để phản hồi tín hiệu từ động cơ về bộ điều khiển. Servo được sử dụng để tinh chỉnh vị trí thiết yếu xác, kiểm soát và điều chỉnh mô-men phù hợp với các ứng dụng khác nhau và thay đổi tốc độ cực kì nhanh (đáp ứng sinh sống ms).

Động cơ servo là gì?. Kết cấu và nguyên lý hoạt động vui chơi của động cơ servo?
1. Cấu trúc và phân loại:
Động cơ servo là một thành phần trong hệ thống servo. Động cơ servo nhận biểu thị từ bộ điều khiển và cung cấp lực chuyển động cần thiết cho những thiết bị đồ đạc khi quản lý với vận tốc và độ đúng mực cực kỳ cao.
Động cơ servo được tạo thành 2 loại: hộp động cơ servo AC, bộ động cơ servo DC. AC servo hoàn toàn có thể xử lý những dòng điện cao hơn nữa và có xu hướng được sử dụng trong trang thiết bị công nghiệp. DC servo không được thiết kế cho các dòng năng lượng điện cao với thường phù hợp hơn cho các ứng dụng nhỏ dại hơn.
Cấu tạo ra của động cơ AC servo bao hàm 3 phần: stator, rotor (thường là loại nam châm từ vĩnh cửu) với encoder.
Stator gồm 1 cuộn dây được quấn quanh lõi, được cung cấp nguồn để cung cấp lực cần thiết làm tảo rotor.Rotor được kết cấu bởi nam châm vĩnh cửu bao gồm từ ngôi trường mạnh.Encoder được đính sau đuôi bộ động cơ để phản hồi đúng mực tốc độ với vị trí của hộp động cơ về bộ điều khiển.
Bộ điều khiển (Servo drive) có nhiệm vụ nhận tín hiệu lệnh điều khiển (xung/analog) từ PLC và truyền lệnh đến động cơ servo để điều khiển động cơ servo hoạt động theo lệnh, đồng thời nhận tín hiệu phản hồi liên tục về vị trí và tốc độ hiện tại của động cơ servo từ encoder.

2. Nguyên tắc hoạt động:
Về nguyên tắc, động cơ servo là một trong thiết bị độc lập. Tuy nhiên động cơ servo chỉ có ý nghĩa thực tiễn khi vận động trong khối hệ thống servo.
Chế độ vận động servo được hình thành do những khối hệ thống hồi tiếp vòng kín. Động cơ servo thừa nhận một biểu lộ xung điện (PWM) trường đoản cú bộ điều khiển và tinh chỉnh để chuyển động và được điều hành và kiểm soát bằng cỗ mã hóa (encoder).
Khi hễ cơ quản lý và vận hành thì gia tốc và vị trí sẽ được hồi tiếp về mạch tinh chỉnh này thông qua bộ mã hóa (encoder). Khi đó bất kỳ lý bởi nào ngăn cản hoạt động và làm rơi lệch tốc độ cũng tương tự vị trí ý muốn muốn, cơ cấu tổ chức hồi tiếp vẫn phản hồi biểu đạt về bộ điều khiển. Từ tín hiệu phản hồi về, bộ điều khiển servo sẽ so sánh với tín hiệu lệnh và giới thiệu điều chỉnh phù hợp, đảm bảo động cơ servo hoạt động đúng theo yêu cầu đạt được tốc độ và vị trí chính xác nhất.
Lợi ích khi thực hiện AC servo
Khả năng tinh chỉnh tốc độ, vị trí cùng mo-men rất là chính xác.Tốc độ thỏa mãn nhu cầu và bình luận nhanh, cửa hàng tính phải chăng (gần như không có quán tính).Hiệu suất hoạt động cao tới hơn 90%, không nhiều sinh nhiệt độ và phần lớn không dao động.Tốc độ cao và gia tốc làm việc biến hóa nhanh, liên tục.Hoạt hễ êm ái, nhẹ, tiết kiệm chi phí điện năng.Hệ thống AC servo tương xứng với số đông các áp dụng trong công nghiệp như máy công cụ, máy đóng góp gói, các loại máy in, máy cắt, các ứng dụng thu xả cuộn, các ứng dụng cần chạy dừng đúng vị trí, dây chuyền lắp ráp, máy CNC, cánh tay robot…
Với hơn 16 năm kinh nghiệm trong lĩnh vực tự động hóa hóa và đã nhận được sự tin cậy của hơn 10.000 khách hàng, DAT tự tin là nhà cung ứng sản phẩm chính hãng bài bản lớn, tin tưởng cùng phương án chuyên biệt, đảm bảo an toàn đáp ứng kịp thời mọi nhu cầu và đem về hiệu quả tối đa cho khách hàng hàng. đều thông tin chi tiết và yêu cầu tư vấn vui lòng contact hotline 1800 6567 (miễn cước gọi).