Động cơ thông minh VEX IQ có nhiều chức năng để sử dụng khi mã hóa trong VEXcode IQ. Điều này có thể hữu ích khi mã hóa cánh tay, càng và cửa hút cũng như hệ thống truyền động và các cơ chế khác được tạo bằng VEX IQ. Hiểu cách mã hóa động cơ sẽ giúp giảm bớt các vấn đề như dự án bị đình trệ hoặc động cơ không hoạt động như dự kiến.
Bộ mã hóa động cơ
Động cơ thông minh VEX IQ không chỉ biến năng lượng điện thành năng lượng cơ học như hầu hết các động cơ, mà còn có những tính năng mà hầu hết các động cơ không có, khiến nó trở nên “thông minh”. Một trong những tính năng chính của nó là bộ mã hóa cầu phương. Bộ mã hóa này được gắn bên trong động cơ để theo dõi tốc độ và/hoặc vị trí của trục động cơ.
Báo cáo từ bộ mã hóa của VEX IQ Smart Motor cho phép biết:
- Hướng quay của động cơ (tiến/ngược hoặc mở/đóng)
- Vị trí của động cơ và số vòng quay cũng như vị trí của động cơ (theo vòng hoặc độ)
- Tốc độ quay của động cơ (dựa trên vị trí của bộ mã hóa theo thời gian)
Vì bộ mã hóa báo cáo trạng thái của động cơ nên chúng có thể được sử dụng trong các phép tính hậu trường để làm cho nhiều lệnh Chuyển động và Cảm biến hoạt động trong VEXcode IQ.
Mã hóa động cơ riêng lẻ
Trước khi bắt đầu mã hóa các động cơ thông minh riêng lẻ trong VEXcode IQ, bạn cần định cấu hình động cơ. Các động cơ riêng lẻ thường được sử dụng cho các cơ chế bổ sung như cửa hút, cánh tay và càng. Tuy nhiên, tất cả thông tin vẫn áp dụng cho các cơ chế khác sử dụng động cơ riêng lẻ.
Thực hiện theo các bước trong bài viết này để định cấu hình động cơ riêng của bạn trong VEXcode IQ.
Với một động cơ được cấu hình, các lệnh điều khiển động cơ đó sẽ xuất hiện trong Hộp công cụ. Bạn sẽ nhận thấy có nhiều loại lệnh khác nhau: chờ và không chờ.
Lệnh chờ và không chờ
Lưu ý rằng tất cả hình ảnh ở đây đều hiển thị các khối. Tất cả các dự án này có thể được xây dựng lại bằng Python hoặc C++ và có chức năng tương tự như các khối.
Lệnh chờ chặn dự án tiếp tục cho đến khi hành vi được hoàn thành. Chúng bao gồm các lệnh như [Quay cho] và [Quay đến vị trí].
Dự án hiển thị ở đây sử dụng mẫu Clawbot (2 động cơ) và tất cả các lệnh đang chờ. Vì vậy, nối tiếp, động cơ càng sẽ đóng 90 độ, robot sẽ lái lùi, sau đó cánh tay sẽ quay lên để đạt vị trí 180 độ.
Ngược lại có những lệnh không chờ đợi. Lệnh không chờ sẽ thực thi hành vi này vô thời hạn hoặc cho đến khi được yêu cầu thay đổi sang hành vi khác. Chúng bao gồm các lệnh như [Quay].
Dự án hiển thị ở đây sử dụng BaseBot có bổ sung thêm một đầu vào. Ở đây động cơ nạp sẽ bắt đầu quay. Lệnh [Chờ] là lệnh chờ, do đó cửa hút sẽ tiếp tục quay cho đến khi hết 2 giây, sau đó chuyển sang lệnh tiếp theo trong dự án là lệnh [Dừng]. Khi đó động cơ sẽ ngừng quay.
Hết giờ động cơ
Khi mã hóa động cơ như một phần của cánh tay hoặc móng vuốt, điều quan trọng là phải nhớ sự khác biệt giữa khối chờ và khối không chờ cũng như cách chúng sẽ tác động đến chuyển động của rô-bốt của bạn. Thời gian chờ của động cơ cho phép bạn đặt giới hạn thời gian để động cơ đạt đến vị trí mục tiêu đã định. Nếu nó không đáp ứng được vị trí đó khi hết thời gian, động cơ sẽ ngừng quay và dự án sẽ chuyển sang lệnh tiếp theo.
Trong ví dụ này, thời gian chờ của động cơ được đặt thành 2 giây. Nếu vấu không đóng tới 90 độ trong vòng 2 giây, động cơ sẽ ngừng quay ở mốc 2 giây sau đó chuyển sang lệnh tiếp theo và lái về phía trước.
Nếu bạn không chắc chắn về việc di chuyển động cơ bao xa, hãy sử dụng bảng điều khiển cảm biến. Bảng điều khiển báo cáo vị trí của động cơ theo độ và số vòng quay, vì vậy khi bạn di chuyển động cơ (như mở và đóng móng vuốt), các con số sẽ thay đổi. Sử dụng thử nghiệm này để xác định cần bao nhiêu độ hoặc số vòng quay để đóng càng, nâng tay, quay cửa hút, v.v.
Hãy xem các bài viết này để tìm hiểu cách sử dụng bảng thông tin cảm biến.
Mã hóa động cơ thông minh như một phần của hệ thống truyền động
Trước khi bắt đầu mã hóa hệ thống truyền động trong VEXcode IQ, bạn cần định cấu hình hệ thống truyền động bao gồm các động cơ được sử dụng. Các động cơ được cấu hình trong hệ thống truyền động để đảm bảo chúng được điều khiển bằng các lệnh tương tự như [Drive] và [Drive for].
Lệnh chờ và không chờ
Khi mã hóa hệ thống truyền động, các lệnh chờ và không chờ sẽ có sẵn để điều khiển chuyển động của robot.
Lệnh chờ chặn dự án tiếp tục cho đến khi hành vi được hoàn thành. Chúng bao gồm các lệnh như [Lái xe tới] [Rẽ vào] và [Quay sang tiêu đề].
Dự án hiển thị ở đây sử dụng mẫu Clawbot (2 động cơ) và tất cả các lệnh đang chờ. Vì vậy, trong chuỗi, robot sẽ lái về phía trước 200 mm sau đó rẽ phải hoàn toàn bằng cách sử dụng hệ thống truyền động.
Ngược lại có những lệnh không chờ đợi. Lệnh không chờ sẽ thực thi hành vi này vô thời hạn hoặc cho đến khi được yêu cầu thay đổi sang hành vi khác. Chúng bao gồm các lệnh như [Drive].
Dự án hiển thị ở đây sử dụng BaseBot. Tại đây, robot sẽ lái về phía trước vô thời hạn cho đến khi nhấn Công tắc cản. Sau đó, dự án sẽ chuyển sang lệnh tiếp theo và robot sẽ dừng lái xe và rẽ phải 90 độ.