23. Cảm biến góc xoay - Rotary Encoder

../../_images/23.1.png

  • Rotary Encoder (hoặc gọi tắt là Encoder) là loại cảm biến có khả năng biến đổi chuyển động (chuyển động tịnh tiến, chuyển động quay của trục, …) thành tín hiệu đầu ra thành xung hoặc tín hiệu số

  • Ta cần phân biệt Rotary Encoder và Analog Rotary có sự khác nhau như sau:

    • Rotary Encoder:

      • Không giới hạn góc xoay, xoay được 360 độ vô hạn

      • Có thể xoay được 1 khoảng chính xác theo từng nấc

      • Giá trị đọc được là số nấc đã xoay qua trái hoặc qua phải

    • Rotary Analog:

      • Góc xoay bị giới hạn trong 1 khoảng nhất định

      • Không thể xoay được 1 khoảng chính xác

      • Giá trị đọc được là dạng analog (từ 0 đến 4095 đối với Yolo:Bit)

  • Rotary Encoder thường ứng dụng vào những dự án như: điều khiển tốc độ quạt, điều khiển tốc độ xe, điều khiển độ sáng đèn, điều khiển âm lượng, …

  • Trong hướng dẫn này, OhStem sẽ hướng dẫn bạn lập trình điều khiển tốc độ quạt bằng module Rotary Encoder.

1. Mua sản phẩm


some image

2. Thông số kỹ thuật


  • Thông số kỹ thuật:

    • Điện áp sử dụng: 3.3V

    • Độ phân giải 20 xung/vòng

    • Tín hiệu cảm biến: 2 pha

    • Kích thước của mạch: 24mm x 48mm x 16mm

  • Pinout của cảm biến:

Cảm biến có 4 chân, mỗi chân có chức năng như sau:

STT

Chân

Chức năng

1

GND

Nối đất

2

VCC

Cấp nguồn (3.3V)

3

SIGA (CLK)

Pha A

4

SIGB (DT)

Pha B

3. Kết nối


  • Bước 1: Chuẩn bị các thiết bị như sau:

../../_images/yolo.png ../../_images/mmr.png ../../_images/23.1.png ../../_images/quat_mini.png

Máy tính lập trình Yolo:Bit

Mạch mở rộng cho Yolo:Bit

Module Rotary Encoder (kèm dây Grove)

Quạt mini (kèm dây Grove)

Mua sản phẩm

Mua sản phẩm

Mua sản phẩm

Mua sản phẩm

  • Bước 2: Cắm Yolo:Bit vào mạch mở rộng

  • Bước 3: Sử dụng dây Grove cắm vào cảm biến

  • Bước 4: Kết nối Rotary Encoder và quạt mini với mạch mở rộng như sau:

../../_images/23.2.png

Vì module Rotary Encoder có 2 chân tín hiệu là chân CLK và chân DT do đó ta phải kết nối module Rotary Encoder vào các port có 2 chân tín hiệu của mạch mở rộng Yolo:Bit , không được kết nối module Rotary Encoder vào các port có 1 chân tín hiệu như port P0, port P1 hoặc port P2.

4. Hướng dẫn lập trình


  • Bước 1: Tải thư viện Rotary Encoder, bằng cách dán đường link sau vào phần tìm kiếm thư viện: https://github.com/AITT-VN/yolobit_rotary_encoder.git

    Xem hướng dẫn tải thư viện tại đây

    ../../_images/rotary.png

    Sau khi tải thư viện, trong danh mục khối lệnh sẽ xuất hiện các khối lệnh tương ứng:

    ../../_images/lenh_rotary.png

  • Bước 2: Để làm việc với quạt mini bạn hãy tải thư viện AIOT KIT , xem hướng dẫn tại đây

  • Bước 3: Lập trình điều khiển quạt bằng Rotary Encoder

    • Trước tiên chúng ta sẽ khởi tạo các chân, chế độ xoay và khoảng giá trị cho Rotary, như sau:

    ../../_images/23.3.png

    • Tiếp theo, gửi chương trình sau xuống Yolo:Bit:

    ../../_images/23.4.png

    Câu lệnh bật quạt chân P14 với tốc độ (0 -100) nằm trong danh mục khối lệnh AIOT KIT

Note

Giải thích chương trình: Chúng ta sẽ lập trình các mức độ của quạt khi xoay Encoder:

  • Đặt điều kiện “nếu đọc giá trị của rotary = 3” thì quạt sẽ quay ở mức độ cao nhất tương ứng với tốc độ 100% và hiển thị ra màn hình LED Yolo:Bit mức độ quạt đang hoạt động.

  • Tương tự như vậy ta sẽ tạo ra thêm các điều kiện để quạt quay ở mức độ 2 và mức độ 1 và mức 0 tương ứng với 50% và 25% và 0%.

5. Chương trình mẫu:


../../_images/23.5.png