Hướng Dẫn Chi Tiết Cách Điều Khiển Động Cơ Servo, Những Lưu Ý Khi Vận Hành Servo Motor

Có nhiều cách điều khiển động cơ servo và tính năng đa phần của chúng là năng lực điều khiển một cách đúng chuẩn vị trí của trục. Động cơ servo được xem là một mạng lưới hệ thống vòng kín, trong đó sử dụng cách phản hồi vị trí để hoàn toàn có thể điều khiển hoạt động của máy móc và nắm được vị trí sau cuối của nó .

1. Khái niệm motor servo là gì?

Trong công nghiệp, động cơ servo motor chính là loại cảm ứng phản hồi đúng chuẩn về vị trí. Do đó, khi điều khiển động cơ servo thường là một bộ code được mã hóa có độ đúng chuẩn cao. Trong khi đó, ở những động cơ RC hoặc motor nhỏ hơn, cảm ứng vị trí thường dùng là một chiết áp rất đơn thuần .Vị trí trong thực tiễn đã được tìm thấy bởi những thiết bị điều khiển này sẽ được đưa trở lại bộ phát hiện lỗi nơi mà nó được so sánh so với vị trí đích. Sau đó, theo những lỗi, bộ điều khiển sẽ sửa vị trí trong thực tiễn của động cơ để cho nó khớp với vị trí đích .

Động cơ servo motor chính là cảm biến phản hồi chính xác về vị trí

Động cơ servo motor chính là cảm ứng phản hồi đúng mực về vị tríĐộng cơ thường sử dụng bộ truyền động có size nhỏ, chúng được sử dụng để thực hành thực tế điều khiển xe xe hơi, tàu thuyền, máy bay, … Chúng cũng được vận dụng bởi những sinh viên chuyên ngành kỹ thuật dùng để sản xuất robot, tạo ra cánh tay của robot, robot lấy cảm hứng từ nguyên vật liệu sinh học, robot hình người, …

2. Nguyên tắc điều khiển động cơ DC servo

Bên trong một động cơ servo cổ xưa sẽ có 4 thành phần chính, đó là động cơ DC, hộp số, con biến trở cũng như mạch điều khiển. Động cơ DC có vận tốc tương đối cao và mô men xoắn thấp, nhưng đồng thời hộp số lại giảm vận tốc xuống còn khoảng chừng 60 vòng / phút, đồng thời ngày càng tăng mô men xoắn lên .Chiết áp sẽ được gắn trên bánh răng sau cuối hoặc trên trục đầu ra của nó, do đó động cơ cũng quay theo chiết áp. Từ đó, tạo ra một điện áp tương quan rất lớn đến góc tuyệt đối của cái trục đầu ra .Trong mạch điều khiển, điện áp của bộ chiết áp này được đem so sánh với điện áp đến từ ngay đường tín hiệu. Nếu cần, bộ điều khiển này sẽ kích hoạt mạch cầu H nhằm mục đích tích hợp được cho phép động cơ của máy quay theo 2 hướng cho đến khi cả 2 tín hiệu đạt được mức chênh lệch giữa chúng bằng không .Một động cơ servo thường thì được điều khiển bằng cách gửi 1 loạt những xung chạy qua đường tín hiệu. Tần số của tín hiệu của điều khiển lúc này phải là 50H z hoặc 1 chu kỳ luân hồi xung được tính là 20 ms. Độ rộng của xung nhằm mục đích giúp xác lập vị trí góc của servo cũng như những loại servo này thường hoàn toàn có thể xoay được tới 180 độ ( chúng có số lượng giới hạn vật lý mỗi khi chuyển dời ) .Nói chung, những xung có được tại 1 ms tương ứng với vị trí là 0 độ và 1,5 ms 90 độ và 2 ms 180 độ. Mặc dù thời hạn tối thiểu và thời hạn tối đa của những xung đôi lúc còn hoàn toàn có thể biến hóa được theo những loại khác nhau nhưng chúng hoàn toàn có thể là 0,5 ms cho 0 độ và 2,5 ms ở tại vị trí 180 độ .

3. Sơ đồ mạch điều khiển servo motor

Sơ đồ đấu nối mạch điều khiển servo gồm có :

Arduino Uno Động cơ Servo SG90
5V Dây điện màu đỏ
GND Dây điện màu đen
D9 Dây điện màu vàng

Khi có 1 nguồn điện đi vào bên trong động cơ ( Vin ), trong trường hợp núm vặn cũng được xoay về hướng R1 thì lúc này điện trở sẽ nhỏ nhất và cường độ dòng điện của động cơ sẽ cao nhất .Và ngược lại, khi những bạn vặn về hướng R2 thì điện trở sẽ đạt giá trị cao nhất và cường độ dòng điện của nó sẽ giảm dần .

Sơ đồ đấu nối mạch điều khiển servo motor

Sơ đồ đấu nối mạch điều khiển servo motor

4. Điều khiển động cơ servo dùng Code Arduino

Chúng ta hãy thực thi kiểm tra những thông tin ở trên và làm một ví dụ trong thực tiễn về cách điều khiển một servo motor cổ xưa bằng Arduino. Sử dụng MG996R đây là 1 động cơ servo có mô men xoắn cao và có bánh răng sắt kẽm kim loại cùng với mô men xoắn đạt được 10 kg-cm. Mô-men xoắn cao thì sẽ có dòng điện không thay đổi của servo là 2.5 A. Dòng điện sẽ chạy từ 500 mA 900 mA và điện áp cũng hoạt động giải trí từ 4,8 7,2 V .Xếp hạng hiện tại còn cho thấy rằng động cơ không hề thực thi liên kết trực tiếp servo này vào với Arduino, nên tất cả chúng ta cần phải sử dụng đến nguồn điện riêng cho nó. Đây là sơ đồ mạch nổi bật cho ví dụ này .

Điều khiển động cơ servo dùng Code Arduino

Điều khiển động cơ servo dùng Code Arduino

Chúng ta chỉ cần thực thi liên kết chân điều khiển của servo motor với bất kể chân kỹ thuật số nào của bộ phận board Arduino, từ đó sẽ liên kết Ground và dây dương vào nguồn điện 5V bên ngoài, đồng thời liên kết phần ground của Arduino vào chân GND của servo .Bây giờ tất cả chúng ta hãy nhìn vào code Arduino để triển khai điều khiển động cơ servo. Code rất đơn thuần, chỉ cần xác lập được chân mà servo motor được liên kết, xác lập chân đó chính là đầu ra và trong phần vòng lặp sẽ tạo ra những xung với chu kỳ luân hồi và tần số đơn cử giống như tất cả chúng ta đã lý giải ở phần trên .Sau một số ít thử nghiệm, tất cả chúng ta hoàn toàn có thể đưa ra những giá trị trong khoảng chừng thời hạn những xung hoạt động giải trí bên trong servo. Các xung có thời lượng khoảng chừng 0,6 ms tương ứng với vị trí là 0 độ và 1,45 ms cho đến 90 độ và 2,3 ms .Tiếp theo, liên kết một thiết bị đo vạn năng cho nó tiếp nối đuôi nhau với servo để thực thi kiểm tra dòng điện. Mức dòng điện tối đa mà tất cả chúng ta nhận thấy là lên tới 0,63 A, do tại đây không phải là bản gốc của TowerPro MG996R, mà chỉ là bản sao rẻ hơn, do đó rõ ràng chúng sẽ có hiệu suất kém hơn .Tuy nhiên, tất cả chúng ta hãy sử dụng 1 cách thuận tiện hơn để hoàn toàn có thể điều khiển những servo bằng Arduino. Đó là sử dụng mạng lưới hệ thống thư viện Arduino Arduino. Ở đây, bạn chỉ cần nạp thư viện, sau đó xác lập đối tượng người tiêu dùng servo rồi sử dụng hàm attach để xác lập chân mà servo motor được liên kết cũng như xác lập được giá trị tối thiểu cũng như giá trị tối đa của thời lượng xung .Sau đó, tất cả chúng ta hãy sử dụng hàm write để triển khai đặt vị trí của servo từ 0 180 độ. Với thư viện như trên, tất cả chúng ta hoàn toàn có thể điều khiển cùng 1 lúc tới 12 48 servo bằng cách sử dụng bộ phận board Arduino Mega .

5. Trình điều khiển PWM của motor Servo Arduino và PCA9685

Ngoài ra, người ta còn sử dụng một cách khác để điều khiển được motor servo bằng Arduino, đó là sử dụng trình điều khiển động cơ servo PCA9685. Đây là trình điều khiển servo gồm có 16 kênh 12 bit, hoàn toàn có thể tiếp xúc với Arduino bằng bus I2C. Nó có 1 chiếc đồng hồ đeo tay tích hợp để hoàn toàn có thể chạy được cả 16 động cơ cùng lúc, hoặc hoạt động giải trí độc lập với Arduino .Chúng ta hoàn toàn có thể xâu chuỗi hoạt động giải trí lên tới 62 trình điều khiển này ngay trên cùng một bus I2C. Vì vậy, về mặt kim chỉ nan, con người hoàn toàn có thể điều khiển được tới 992 động cơ mà chỉ dùng 2 chân I2C từ board Arduino. Còn 6 chân chọn địa chỉ cũng sẽ được sử dụng để thiết lập địa chỉ I2C khác nhau cho mỗi trình nhằm mục đích điều khiển bổ trợ. Chúng ta chỉ cần liên kết với những miếng hàn dựa theo bảng này .Dưới đây là sơ đồ mạch và tất cả chúng ta sẽ nhận thấy rằng, động cơ luôn cần một nguồn phân phối điện dành riêng cho những servo .

Trình điều khiển PWM của motor Servo Arduino và PCA9685

Trình điều khiển PWM của motor Servo Arduino và PCA9685Các linh phụ kiện thiết yếu sử dụng :

  • Động cơ motor Servo MG996R
  • Trình điều khiển motor Servo PCA9685 PWM
  • Board Arduino
  • Nguồn cung cấp điện cho động cơ 5V6A DC

Bây giờ hãy kiểm tra code Arduino. Để quản lý và vận hành được trình điều khiển servo này, tất cả chúng ta sẽ sử dụng thư viện PCA9685, bạn hoàn toàn có thể tải xuống từ GitHub .

Code Servo Arduino PCA9685

Trước tiên, những bạn cần bao quát, khoanh vùng những thư viện và xác lập đúng chuẩn đối tượng người tiêu dùng PCA9685. Sau đó, sử dụng đối tượng người dùng Servo Evaluator để xác lập chu kỳ luân hồi xung hoặc tính đầu ra PWM của chương trình điều khiển. Lưu ý rằng những đầu ra thường thì là 12 bit, độ phân giải sẽ được 4096 bước .Vì vậy, thời hạn xung tối thiểu của động cơ là 0,5 ms hoặc 0 độ, chúng sẽ tương ứng với 102 bước và thời lượng xung tối đa là 2,5 ms hoặc 180 độ ở vị trí 512 bước. Như đã lý giải ở trước đó, những giá trị này sẽ được tự động hóa kiểm soát và điều chỉnh tùy theo động cơ servo của bạn. Trong trường hợp servo cò giá trị từ 102 470 thì sẽ tương ứng với vị trí từ 0 180 độ .Trong phần thiết lập mạch điều khiển, tất cả chúng ta cần xác lập được vận tốc xung I2C, đặt địa chỉ của trình điều khiển và sau cuối là đặt tần số thành 50H z. Trong phần vòng lặp, bạn hãy sử dụng những hàm set Channel PWM và pwm For Angle, tất cả chúng ta chỉ cần setup servo theo góc mà mình mong ước .Khi đã liên kết 1 servo thứ 2 cùng với trình điều khiển thì chúng sẽ không ở vị trí giống như bắt đầu. Bởi vì những động cơ mà bạn đang sử dụng chỉ là bản sao rẻ tiền và chúng trọn vẹn không đáng an toàn và đáng tin cậy .Tuy nhiên, những bạn cũng đừng lo ngại, đây không phải là yếu tố lớn vì ngoài việc sử dụng phiên bản Servo Evaluator, tất cả chúng ta còn hoàn toàn có thể đặt thêm những thiết lập đầu ra khác nhau dành cho mỗi servo. Chúng ta cũng hoàn toàn có thể tự mình kiểm soát và điều chỉnh vị trí 90 độ trong trường hợp động cơ không mở màn ở giữa. Theo cách đó, tổng thể những servo motor sẽ hoạt động giải trí giống y như nhau và vị trí góc cũng đúng chuẩn hơn .

Video cấu hình và các loại AC Servo

6. Hộp số giảm tốc motor servo

Video Motor Giảm Tốc IRV 140w 250w 60w 370w, Trục ra Vuông Góc Trục Vào

Kết luận

Chúng ta nên điều khiển động cơ servo tạo đối tượng người dùng PCA9685 riêng không liên quan gì đến nhau cho từng trình điều khiển, đồng thời xác lập địa chỉ cho từng trình điều khiển của mình cũng như đặt tần số của chúng thành 50H z. Bây giờ, chỉ cần thực thi sử dụng những hàm set Channel PWM và hàm pwm For Angle là những bạn đã hoàn toàn có thể đặt bất kể servo nào cũng như bất kể trình điều khiển nào để hoàn toàn có thể xác định được những góc mà mình muốn .

Nội Dung Có Thể Bạn Quan Tâm:

Source: https://dvn.com.vn
Category: Phụ Kiện

Alternate Text Gọi ngay