Công nghệ điều khiển động cơ servo

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

Bạn đang xem: Công nghệ điều khiển động cơ servo


1. Có mang motor servo là gì?

Trong công nghiệp, hộp động cơ servo motor đó là loại cảm biến phản hồi đúng đắn về vị trí. Bởi đó, khi tinh chỉnh và điều khiển động cơ servo thường là một bộ code được mã hóa tất cả độ đúng đắn cao. Trong những khi đó, ở những động cơ RC hoặc motor bé dại hơn, cảm biến vị trí hay được dùng là một phân tách áp rất đối kháng giản.

Vị trí thực tế đã được search thấy bởi những thiết bị tinh chỉnh và điều khiển này sẽ được đưa quay lại bộ phát hiện lỗi nơi mà nó được so sánh đối với vị trí đích. Sau đó, theo những lỗi, bộ tinh chỉnh và điều khiển sẽ sửa vị trí thực tế của hễ cơ làm cho nó khớp với địa điểm đích.

*

Động cơ servo motor chủ yếu là cảm ứng phản hồi đúng chuẩn về vị trí

Động cơ thường áp dụng bộ truyền đụng có size nhỏ, bọn chúng được thực hiện để thực hành tinh chỉnh và điều khiển xe ô tô, tàu thuyền, đồ vật bay,... Chúng cũng khá được áp dụng bởi các sinh viên siêng ngành kỹ thuật dùng để sản xuất robot, tạo nên cánh tay của robot, robot lấy cảm xúc từ nguyên liệu sinh học, robot hình người,...

2. Nguyên tắc điều khiển và tinh chỉnh động cơ DC servo

Bên trong một động cơ servo cổ xưa sẽ bao gồm 4 nhân tố chính, đó là hộp động cơ DC, hộp số, con biến trở cũng tương tự mạch điều khiển. Động cơ DC có tốc độ tương đối cao cùng mô men xoắn thấp, cơ mà đồng thời hộp số lại giảm tốc độ xuống còn khoảng tầm 60 vòng/ phút, đồng thời gia tăng mô men xoắn lên.

Chiết áp sẽ được gắn bên trên bánh răng sau cùng hoặc bên trên trục đầu ra output của nó, do đó động cơ cũng cù theo phân tách áp.Từ đó, tạo nên một điện áp liên quan không hề nhỏ đến góc tuyệt vời nhất của chiếc trục đầu ra.

Trong mạch điều khiển, năng lượng điện áp của cục chiết áp này được đem so sánh với điện áp tới từ ngay mặt đường tín hiệu. Giả dụ cần, bộ điều khiển này đang kích hoạt mạch cầu H nhằm tích hợp chất nhận được động cơ của máy quay theo 2 hướng cho tới khi cả 2 tín hiệu có được mức chênh lệch thân chúng bằng không.

Một hộp động cơ servo thường thì được điều khiển bằng cách gửi 1 loạt các xung chạy qua đường tín hiệu. Tần số của bộc lộ của điều khiển bây giờ phải là 50Hz hoặc 1 chu kỳ luân hồi xung được xem là 20ms. Độ rộng của xung nhằm mục tiêu giúp xác định vị trí góc của servo cũng giống như các một số loại servo này thường có thể xoay được cho tới 180 độ (chúng có giới hạn vật lý mỗi khi di chuyển).

Nói chung, những xung có được tại 1ms tương xứng với địa điểm là 0 độ cùng 1,5ms 90 độ với 2ms 180 độ. Tuy nhiên thời gian buổi tối thiểu và thời hạn tối đa của những xung song khi còn có thể thay đổi được theo các loại khác nhau nhưng chúng có thể là 0,5ms cho 0 độ với 2,5ms ở tại địa điểm 180 độ.

3. Sơ vật dụng mạch tinh chỉnh và điều khiển servo motor

Sơ đồ dùng đấu nối mạch điều khiển và tinh chỉnh servo có có:

Arduino Uno

Động cơ Servo SG90

5V

Dây điện màu đỏ

GND

Dây năng lượng điện màu đen

D9

Dây năng lượng điện màu vàng

Khi có 1 nguồn điện đi vào phía bên trong động cơ (Vin), trong trường hợp thay vặn cũng được xoay về phía R1 thì bây giờ điện trở sẽ nhỏ tuổi nhất và cường độ dòng điện của bộ động cơ sẽ cao nhất.

Và ngược lại, khi chúng ta vặn về hướng R2 thì năng lượng điện trở sẽ đạt giá trị cao nhất và cường độ dòng điện của nó sẽ bớt dần.

*

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

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

Chúng ta hãy thực hiện kiểm tra những thông tin ở bên trên và làm cho một ví dụ thực tiễn về cách điều khiển và tinh chỉnh một servo motor cổ điển bằng Arduino. áp dụng MG996R đấy là 1 động cơ servo có mô men xoắn cao và bao gồm bánh răng kim loại cùng với tế bào men xoắn đã có được 10 kg-cm. Mô-men xoắn cao thì sẽ sở hữu dòng điện ổn định của servo là 2.5A. Cái điện vẫn chạy từ bỏ 500mA 900mA và điện áp cũng vận động từ 4,8 7,2V.

Xếp hạng lúc này còn cho biết thêm rằng hộp động cơ không thể thực hiện kết nối trực tiếp servo này vào với Arduino, nên họ cần phải thực hiện đến điện áp nguồn riêng mang lại nó. Đây là sơ thiết bị mạch nổi bật cho lấy một ví dụ này.

*

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

Chúng ta chỉ việc tiến hành liên kết chân điều khiển và tinh chỉnh của servo motor với ngẫu nhiên chân kỹ thuật số nào của thành phần board Arduino, từ kia sẽ liên kết Ground với dây dương vào nguồn điện áp 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.

Xem thêm: Địa Chỉ Mua Bán Cây Đinh Lăng Ở Đâu, Chuyên Cây Đinh Lăng To Nhỏ Các Loại Lâu Năm

Bây giờ họ hãy quan sát vào code Arduino để tiến hành điều khiển động cơ servo. Code rất đối kháng giản, chỉ việc xác định được chân nhưng servo motor được kết nối, khẳng định chân đó chính là đầu ra với trong phần vòng lặp sẽ tạo nên ra các xung với chu kỳ luân hồi và tần số ví dụ giống như chúng ta đã phân tích và lý giải ở phần trên.

Sau một trong những thử nghiệm, chúng ta cũng có thể đưa ra những giá trị trong khoảng thời gian các xung hoạt động bên trong servo. Các xung gồm thời lượng khoảng chừng 0,6ms tương ứng với địa chỉ là 0 độ với 1,45ms cho đến 90 độ cùng 2,3ms.

Tiếp theo, kết nối một sản phẩm đo vạn năng mang đến nó tiếp liền với servo để triển khai kiểm tra loại điện. Mức loại điện về tối đa mà bọn họ nhận thấy là lên tới 0,63A, cũng chính vì đây không phải là bản gốc của TowerPro MG996R, cơ mà chỉ là bạn dạng sao thấp hơn, đến nên ví dụ chúng sẽ có hiệu suất yếu hơn.

Tuy nhiên, chúng ta hãy sử dụng 1 cách thuận tiện rộng để có thể điều khiển các servo bởi Arduino. Đó là sử dụng hệ thống thư viện Arduino Arduino. Ở đây, bạn chỉ việc nạp thư viện, tiếp nối xác định đối tượng người dùng servo rồi sử dụng hàm attach để xác minh chân mà lại servo motor được kết nối cũng giống như xác định được giá trị tối thiểu cũng tương tự giá trị buổi tối đa của thời lượng xung.

Sau đó, họ hãy áp dụng hàm write để tiến hành đặt vị trí của servo từ bỏ 0 180 độ. Với thư viện như trên, bạn cũng có thể điều khiển thuộc 1 thời gian tới 12 48 servo bằng cách sử dụng phần tử board Arduino Mega.

5. Trình tinh chỉnh và điều khiển PWM của motor Servo Arduino với 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 tinh chỉnh động cơ servo PCA9685. Đây là trình điều khiển servo bao gồm 16 kênh 12 bit, có thể giao tiếp với Arduino bởi bus I2C. Nó có 1 chiếc đồng hồ thời trang tích đúng theo để có thể chạy được cả 16 bộ động cơ cùng lúc, hoặc hoạt động tự do với Arduino.

Chúng ta có thể xâu chuỗi hoạt động lên tới 62 trình điều khiển và tinh chỉnh này ngay trên và một bus I2C. Vày vậy, về khía cạnh lý thuyết, con người hoàn toàn có thể điều khiển được cho tới 992 động cơ mà chỉ cần sử dụng 2 chân I2C tự board Arduino. Còn 6 chân chọn địa chỉ cửa hàng cũng sẽ được sử dụng để mua đặt địa chỉ cửa hàng I2C khác nhau cho từng trình nhằm mục đích điều khiển bửa sung. Họ chỉ cần liên kết với các miếng hàn dựa vào bảng này.

Dưới đó là sơ đồ mạch và bọn họ sẽ nhận biết rằng, động cơ luôn cần một nguồn hỗ trợ điện dành cho các servo.

*

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

Các linh kiện cần thiết sử dụng:

Động cơ motor Servo MG996RTrình điều khiển và tinh chỉnh motor Servo PCA9685 PWMBoard ArduinoNguồn cung ứng điện cho động cơ 5V6A DC

Bây tiếng hãy đánh giá code Arduino. Để quản lý được trình điều khiển và tinh chỉnh servo này, chúng ta sẽ thực hiện thư viện PCA9685, bạn có thể tải xuống từ bỏ GitHub.

Code Servo Arduino PCA9685

Trước tiên, các bạn cần bao quát, khu vực các thư viện cùng xác định đúng đắn đối tượng PCA9685. Sau đó, sử dụng đối tượng người dùng Servo Evaluator để xác minh chu kỳ xung hoặc tính đầu ra PWM của công tác điều khiển. Chú ý rằng các đầu ra thường thì là 12 bit, độ sắc nét sẽ được 4096 bước.

Vì vậy, thời gian xung tối thiểu của hộp động cơ là 0,5ms hoặc 0 độ, chúng sẽ tương ứng với 102 bước và thời lượng xung về tối đa là 2,5ms hoặc 180 độ ở phần 512 bước. Như đã phân tích và lý giải ở trước đó, các giá trị này đang được auto điều chỉnh phụ thuộc vào động cơ servo của bạn. Vào trường hợp servo cò quý giá từ 102 470 thì sẽ khớp ứng với vị trí từ 0 180 độ.

Trong phần thiết lập cấu hình mạch điều khiển, bọn họ cần khẳng định được vận tốc xung I2C, đặt add của trình tinh chỉnh và ở đầu cuối là đặt tần số thành 50Hz. Trong phần vòng lặp, bạn hãy sử dụng các hàm phối Channel PWM với pwm For Angle, bọn họ chỉ cần cài đặt servo theo góc cơ mà mình ao ước muốn.

Khi đã kết nối 1 servo thứ 2 cùng với trình điều khiển và tinh chỉnh thì chúng sẽ không còn ở vị trí y như ban đầu. Bởi vì các động cơ mà nhiều người đang sử dụng chỉ là bản sao tốt tiền và chúng trọn vẹn không đáng tin cậy.

Tuy nhiên, các bạn cũng đừng lo lắng, đây chưa phải là sự việc lớn vì quanh đó việc sử dụng phiên bạn dạng Servo Evaluator, bọn họ còn rất có thể đặt thêm các thiết lập đầu ra khác biệt dành cho mỗi servo. Họ cũng hoàn toàn có thể tự mình điều chỉnh vị trí 90 độ trong trường hợp bộ động cơ không bước đầu ở giữa. Theo cách đó, tất cả các servo motor sẽ hoạt động giống y đồng nhất và địa chỉ góc cũng đúng chuẩn hơn.