Chủ Nhật, 8 tháng 8, 2021

Điều khiển Servo SG90 với S7-200

 

  1. Nguyên tắc điều khiển Servo SG90

Các bạn thường dùng thư viện Arduino để điều khiển SG90 nên đôi khi mình không để ý đến nguyên lý, trước đây mình cũng vậy.

Nguyên tắc của nó rất dễ hiểu:

  • Tạo xung PWM với chu kỳ 20ms.
  • Góc của servo sẽ phụ thuộc vào thời gian xung cao: 0  o  - 180  o  sẽ tương ứng với 1ms - 2ms.
  • Ví dụ, 0  o  là 1ms, 90  o  là 1,5ms, 180  o  là 2ms, 45  o  là 1,25ms. Bạn chỉ cần tính toán tỷ lệ.

2. Sơ đồ đấu dây 

Xin lưu ý rằng chỉ loại DC / DC / DC mới có thể tạo ra xung và không thể điều khiển loại đầu ra Rơle. S7-200 cũng chỉ hỗ trợ 2 chân tạo xung là Q0.0 và Q0.1.

3. Lập trình

Đi tới Trình hướng dẫn> Chọn PTO / PWM.

Bạn chọn chân Q0.0 hoặc Q0.1 để tạo xung, ở đây mình dùng Q0.0.

Chọn loại xung PWM và đơn vị là micro giây.

Sau đó, vào Call Subroutines và gọi hàm PWM bạn vừa tạo và lập trình nó giống như tôi.

Ở đây Cycle là chu kỳ xung 20ms = 20000 micro giây. Xung là thời gian xung cao, ở đây mình gán cho biến VW10 để dễ điều chỉnh.

Tiếp theo chúng ta sẽ điều chỉnh góc cho servo. Mở trạng thái biểu đồ

Về nguyên tắc, ở đây mình sẽ đưa vào các giá trị 1000 - 2000 lần lượt là 0  o  - 180  o  , nhận xét sẽ thấy servo chạy ở một góc không chính xác, bạn tiếp tục thử với các giá trị khác để tìm ra 0  o  - 180  o  , kết quả tôi làm là 0  o  là 300, 90  o  là 1300, 180  o  là 2300.

Chúc may mắn.

0 nhận xét:

Đăng nhận xét