Trong hướng dẫn này, chúng ta sẽ điều khiển động cơ servo bằng ARDUINO UNO. Động cơ Servo được sử dụng ở những nơi cần chuyển động hoặc vị trí trục chính xác. Chúng không được đề xuất cho các ứng dụng tốc độ cao. Chúng được đề xuất cho các ứng dụng tốc độ thấp, mô-men xoắn trung bình và vị trí chính xác. Những động cơ này được sử dụng trong các máy cánh tay robot, hệ thống điều khiển và điều khiển chuyến bay.
Động cơ servo có sẵn ở các hình dạng và kích thước khác nhau. Một động cơ servo sẽ chủ yếu có dây, một dây dành cho điện áp dương, dây nối đất và dây cuối cùng dành cho cài đặt vị trí. Dây ĐỎ được kết nối với nguồn, dây Đen được nối với đất và dây VÀNG được kết nối với tín hiệu.
Động cơ servo là sự kết hợp của động cơ DC, hệ thống điều khiển vị trí, bánh răng. Vị trí của trục của động cơ DC được điều chỉnh bởi thiết bị điện tử điều khiển trong servo, dựa trên tỷ lệ làm việc của tín hiệu PWM ở chân SIGNAL.
Nói một cách đơn giản, thiết bị điện tử điều khiển điều chỉnh vị trí trục bằng cách điều khiển động cơ DC. Dữ liệu liên quan đến vị trí của trục được gửi qua chân SIGNAL. Dữ liệu vị trí tới điều khiển phải được gửi dưới dạng tín hiệu PWM thông qua chân Tín hiệu của động cơ servo.
Tần số của tín hiệu PWM (Điều chế độ rộng xung) có thể thay đổi tùy theo loại động cơ servo. Điều quan trọng ở đây là TỶ LỆ NHIỆM VỤ của tín hiệu PWM. Dựa trên NHIỆM VỤ NÀY, thiết bị điện tử điều khiển điều chỉnh trục.
Như thể hiện trong hình bên dưới, để trục được di chuyển đến 9o đồng hồ, TURN ON RATION phải là 1 / 18.ie. 1ms thời gian BẬT và 17ms thời gian TẮT trong tín hiệu 18ms.
Để trục được di chuyển đến đồng hồ 12o, thời gian BẬT của tín hiệu phải là 1,5ms và thời gian TẮT phải là 16,5ms. Tỷ lệ này được giải mã bởi hệ thống điều khiển trong servo và nó điều chỉnh vị trí dựa trên nó. PWM này ở đây được tạo bằng cách sử dụng ARDUINO UNO.
Các thành phần mạch
Phần cứng: ARDUINO UNO, nguồn điện (5v), tụ điện 100uF, nút (hai miếng), điện trở 1KΩ (hai miếng), động cơ Servo (cần được kiểm tra).
Phần mềm: arduino IDE (Arduino nightly).
Sơ đồ và giải thích mạch động cơ Servo Arduino
Trong trường hợp bình thường, chúng ta cần phải truy cập vào thanh ghi của bộ điều khiển để điều chỉnh tần số và nhận tỷ lệ nhiệm vụ cần thiết để điều khiển vị trí chính xác của servo, trong ARDUINO chúng ta không phải làm những việc đó.
Trong ARDUINO, chúng tôi có các thư viện được xác định trước, các thư viện này sẽ đặt tần số và tỷ lệ nhiệm vụ cho phù hợp khi tệp tiêu đề được gọi hoặc bao gồm. Trong ARDUINO, chúng ta chỉ cần nêu vị trí của servo cần thiết và PWM sẽ tự động được điều chỉnh bởi UNO.
Những điều chúng ta cần làm để có được vị trí chính xác của servo là:
|
Trước tiên, chúng ta cần đặt tần số của tín hiệu PWM và cho rằng chúng ta nên gọi “#include
Bây giờ chúng ta cần xác định tên cho servo “Servo sg90sevo”, ở đây 'sg90servo' là tên được chọn, vì vậy khi viết cho potion, chúng ta sẽ sử dụng tên này, tính năng này rất hữu ích khi chúng ta có nhiều servo để điều khiển, chúng tôi có thể kiểm soát tối đa tám servo bằng cách này.
Bây giờ chúng ta cho UNO biết nơi kết nối chân tín hiệu của servo hoặc nơi nó cần tạo tín hiệu PWM. Để làm điều này, chúng tôi có “Sg90.attach (3);”, ở đây chúng tôi nói với UNO rằng chúng tôi đã kết nối chân tín hiệu của servo tại PIN3.
Tất cả việc còn lại là thiết lập vị trí, chúng ta sẽ đặt vị trí của servo bằng cách sử dụng “Sg90.write (30);”, bằng lệnh này, tay servo di chuyển 30 độ, vậy là xong. Sau đó, bất cứ khi nào chúng ta cần thay đổi vị trí của servo, chúng ta cần gọi lệnh ”Sg90.write (need_position_ angle);”. Trong mạch này, chúng ta sẽ có hai nút, một nút để tăng vị trí của servo và nút kia là để giảm vị trí của servo.
Các Arduino Servo Motor kiểm soát hướng dẫn được giải thích trong từng bước của mã C đưa ra dưới đây.