Điều khiển servo bằng arduino

      29

Cách điều khiển bộ động cơ servo ra sao cho kết quả luôn là một vấn đề làm cho nhiều bạn phải “đau đầu”. Vì lẽ, hộp động cơ servo motor chính là một thiết bị được tích hợp trong các thiết bị dây chuyền của những máy móc sản xuất nhằm mục đích giúp cho quy trình điều khiển thiết bị hoạt động thông xuyên suốt theo mong muốn của tín đồ sử dụng. Để làm cho được như vậy, các bạn đừng quăng quật qua bài viết dưới đây!

1. Khái niệm hộp động cơ motor DC servo

Hiện nay, có khá nhiều loại hộp động cơ servo với những tính năng đó là điều khiển đúng mực được địa chỉ của trục. Việc điều khiển hộp động cơ servo giúp cho một hệ thống vòng bí mật có thể thực hiện phản hồi vị trí để điều khiển được hoạt động và vị trí sau cuối của nó.Bạn sẽ xem: Điều khiển dc servo bằng arduino


*

Điều khiển động cơ servo góp cho khối hệ thống vòng kín đáo phản hồi vị trí

Trong phân phối công nghiệp, động cơ servo motor đó là loại cảm biến giúp phản hồi vị trí, thường thì là một bộ code hóa đem đến độ chính xác cao, trong khi trong đó các động cơ RC hoặc cồn cơ nhỏ tuổi hơn, cảm ứng vị trí hay được dùng là một phân tách áp solo giản.

Bạn đang xem: Điều khiển servo bằng arduino

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

Động cơ hay được áp dụng là cỗ truyền động bao gồm kích thước nhỏ tuổi được sử dụng để điều khiển những phương tiện đi lại như xe ô tô, thuyền, máy bay,... Chúng cũng rất được các sinh viên ngành kỹ thuật sử dụng để chế tạo robot, chế tác ra phần tử cánh tay robot, chế tạo ra robot lấy xúc cảm sinh học hay robot bao gồm hình người,...

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

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

Xếp hạng hiện tại thể hiện nay rằng các bạn không thể kết nối trực tiếp được servo motor này với Arduino. Mang lại nên họ phải sử dụng nguồn điện đơn nhất dành mang đến nó.

Chúng ta chỉ cần kết nối phần 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 board Arduino, đồng thời liên kết Ground cùng dây dương với nguồn điện áp 5V từ phía bên ngoài và liên kết ground của Arduino vào địa điểm chân GND của động cơ servo.

3. Sơ đồ vật mạch điều khiển và tinh chỉnh động cơ servo

Trướctiên, chúng ta hãy nói về conservo, có thể thấy rằng đa số để máu kiệm ngân sách chi tiêu sản xuất, người ta thường được sử dụng những conservo motor đang qua sử dụng. Cùng để chọn lựa được một loại động cơservo cũ tất cả thể hoạt động ổn định và độ chuẩn cao chưa phải điều dễ dàng dàng, bọn họ nên test thật kỹ càng nó.

Chỉ bắt buộc đấu dây năng lượng điện của conservo với bộ điều khiển có anh tài hiển thị các thông số kỹ thuật chi tiết, sau đó bấm nhằm hiệu chỉnh cho tới khi trên screen hiển thị luôn luôn dòng chữservo. Sau đó, các bạn hãy lấy cây tua vít nhận vào các nút tất cả hình tam giác hướng lên hoặc hướng xuống cho tới khi thấy conservo chuyển động là được.

Phần này cũng như như bài toán calip bộ điều khiển đem đấu nối vào con cảm ứng nhiệt độ vậy. Nếu không nắm rõ được quy trình quản lý của bộ điều khiển và tinh chỉnh nhiệt độ thì các các bạn sẽ không bao giờ cài đặt được công tắc nguồn đóng - ngắt khi dòng nhiệt độ của hễ cơ tạo thêm hay giảm xuống.

Xem thêm: Vã­ Nữ CầM Tay Da Cã¡ SấU ThậT 100% Hã Ng HiệU Cao CấP Chã­Nh Hã£Ng


*

Quy trình tinh chỉnh và điều khiển động cơ servo motor

Phần này khôn xiết khó, bởi vì đó chúng ta cũng có thể xem các đoạn clip thể hiện thị rõ phần lập trình này khiến cho dễ hiểu hơn. Quy trình đấu dây điều khiển và tinh chỉnh động cơ DCservo motor được triển khai như sau:Bạn cần sẵn sàng một con mạch cầu bao gồm có 2 dây output đầu ra ra nghỉ ngơi bộ điều khiển (Thông thường, hệ thống mạch cầu thông dụng của hễ cơ sẽ có 2 kênh, và trong trường phù hợp này, các bạn chỉ cần áp dụng 1 kênh trên mạch cầu để điều khiển là đủ).Tiếp theo, chúng ta cần sẵn sàng thêm 1 bé DC servo motor được tích hợp gồm gồm 6 dây. Trong đó, 2 dây sẽ khởi tạo nguồn điện để đi nuôi hộp động cơ vận hành, còn 2 dây nguồn đi nuôi cho động cơ encoder, đồng thời phối hợp 2 dây output về bé encoder cùng một giắc mối cung cấp + 1 dây điện.Tiến hành đấu nối cấp nguồn cho động cơ servo như sau:Lấy 2 dây cung cấp nguồn năng lượng điện từ phía bộ động cơ servo motor nhằm đấu vào 2 chân từ bỏ kênh của con mạch cầu. Tiếp đến, chúng ta hãy cung cấp nguồn cho con mạch cầu bằng cái giắc nguồn nhưng mà ở đó chân dương của giắc gặm vào chân + mạch cầu, còn dây điện âm của giắc sẽ phối hợp 1 đầu dây điện và đem đấu chung.Sau đó, các bạn tiến hành cấp cho nguồn cho con encoder bằng cách: dùng 2 chân âm và dương của động cơ encoder để cắn lần lượt, nối thẳng vào chân DND và chân 5V của hệ thống boar mạch arduino. Bên trên thực tế, nếu chú ý kỹ một chút, các các bạn sẽ thấy 2 chân GND cùng chân 5V được đặt nằm giáp nhau tại boar mạch của arduino.Còn 2 chân bộc lộ trả về còn sót lại của con encoder, bọn họ sẽ đấu nối cùng với chân cực 2 của các boar mạch arduino. Đối với chân sót lại của nhỏ encoder, bạn đem đấu vào bất kỳ chân như thế nào của bé arduino, rất có thể là chân 4 – 6 – 8 đầy đủ được.Tiến hành đấu nối bình thường dây mát, tuy vậy trong trường thích hợp này, họ sẽ đem mát mạch mong để đấu nối tầm thường mát với arduino là được.Sau đó, bạn hãy lấy 2 dây tín hiệu điều khiển từ mạch mong để lấy đấu vào 2 chân output của biểu đạt analog nằm trong boar mạch arduino, đó chính là chân 7 và chân 8. Vớ nhiên, nhỏ arduino cũng có khá nhiều chân output dấu hiệu analog, cũng chính vì lẽ đó, các chúng ta cũng có thể đấu nối vào các chân analog không giống cũng không sao.Cuối cùng, chúng ta sử dụng dây nguồn 12V để cấp vào những giắc cắm là xong.


*

Sơ đồ vật mạch tinh chỉnh động cơ servo

4. Cách điều khiển và tinh chỉnh ac servo motor dùng code arduino

Bây giờ họ hãy sử dụng code Arduino để triển khai điều khiển bộ động cơ servo. Code cũng rất đơn giản, chúng ta chỉ cần xác minh chân mà hộp động cơ servo đang rất được kết nối. Cần xác minh chân đó đó là đầu ra với trong phần vòng lặp để tạo thành các xung với chu kỳ luân hồi cùng với phần lớn tần số cụ thể như sinh hoạt trên.

Sau khi thử nghiệm, bạn có thể đưa ra những giá trị thừa nhận được trong 1 khoảng thời gian mà các xung chuyển động cùng với hộp động cơ servo. Những xung bao gồm thời lượng 0,6ms sẽ tương xứng với vị trí trong tầm 0 độ - 1,45ms - 90 độ cùng từ 2,3ms - 180 độ.

Tiến hành liên kết một sản phẩm đo vạn năng để hoàn toàn có thể nối tiếp với servo nhằm mục tiêu kiểm tra loại điện. Mức dòng điện buổi tối đa nhưng mà các bạn sẽ nhận được có thể lên mang lại 0,63A. Điều này trọn vẹn đúng, bởi vì đây không hẳn là bản gốc của động cơ TowerPro MG996R, mà thiết yếu là phiên bản sao thấp hơn, cụ thể đem lại hiệu suất kém hơn.

Tuy nhiên, bọn họ hãy xem thêm một biện pháp làm dễ dãi hơn để rất có thể điều khiển những servo motor bởi Arduino tốt nhất, đó là sử dụng thư viện Arduino Arduino. Chúng ta chỉ cần cài đặt thư viện, tiếp nối xác định đối tượng người dùng của servo và sử dụng hàm Attach để xác định chân nhưng mà servo motor được kết nối.

Đồng thời, xác định giá trị buổi tối thiểu cùng giá trị về tối đa của thời lượng xung. Sau đó, bằng cách áp dụng hàm write, các bạn chỉ đề xuất đặt vị trí của servo trong tầm từ 0 - 180 độ. Với tủ sách Arduino, chúng ta cũng có thể điều khiển đồng thời từ 12 - 48 servo bằng phương pháp sử dụng khối hệ thống board Arduino Mega.


*

Sử dụng code Arduino để triển khai điều khiển động cơ servo

5. Trình tinh chỉnh PWM/ Servo bởi Arduino và PCA9685

Bên cạnh đó, còn có một giải pháp khác để hoàn toàn có thể điều khiển servo bởi Arduino, kia là sử dụng trình điều khiển động cơ servo PCA9685. Đây là chương trình tinh chỉnh servo và servo bao hàm 16 kênh 12 bit, hoàn toàn có thể giao tiếp cùng với Arduino bằng bus I2C. Động cơ này có một chiếc đồng hồ thời trang tích đúng theo giúp cho bạn cũng có thể chạy được tới 16 bộ động cơ cùng lúc, hoặc hoạt động độc lập đối với Arduino.

Chúng ta hoàn toàn có thể cùng 1 thời gian xâu chuỗi lên tới mức 62 trình tinh chỉnh này ở trên và một bus I2C. Bởi vì vậy, về phương diện lý thuyết, chúng ta sẽ hoàn toàn có thể điều khiển được cùng lúc tới 992 động cơ chỉ với nhị chân nhỏ I2C từ bỏ board Arduino. 6 chân chọn vị trí được sử dụng để tại vị cho showroom I2C không giống nhau đối với mỗi chương trình tinh chỉnh bổ sung. Cuối cùng, chúng ta chỉ bắt buộc kết nối những miếng hàn của sơ vật dụng theo bảng này là được.

Các linh kiện mà chúng ta cần sẵn sàng để thực hiện điều khiển đó là bộ động cơ Servo MG996R, trình điều khiển và tinh chỉnh Servo PCA9685 PWM, mạch điều khiển board Arduino, nguồn cung ứng điện bao gồm điện áp 5V- 6A DC,... Hiện thời hãy tìm hiểu code Arduino. Để điều khiển và tinh chỉnh được trình tinh chỉnh servo motor hiệu quả, bọn họ sẽ áp dụng thư viện PCA9685, chúng ta có thể tải xuống trường đoản cú trang GitHub.