Thể loại: Mạch vi điều khiển
Số lượt xem: 16.299
Bình luận về bài viết: 0
Cách kết nối bộ mã hóa gia tăng với Arduino
Thông thường trong các thiết bị trên vi điều khiển, bạn cần tổ chức quản lý các mục menu hoặc thực hiện một số điều chỉnh. Có nhiều cách: sử dụng các nút, điện trở thay đổi hoặc bộ mã hóa. Bộ mã hóa gia tăng cho phép bạn điều khiển một cái gì đó bằng cách xoay vô tận của tay cầm. Trong bài viết này, chúng tôi sẽ xem xét làm thế nào để bộ mã hóa gia tăng và Arduino hoạt động.

Tính năng mã hóa tăng dần
Bộ mã hóa gia tăng, giống như bất kỳ loại bộ mã hóa nào khác, là một thiết bị có tay cầm xoay. Xa, nó giống như một chiết áp. Sự khác biệt chính từ chiết áp là tay cầm bộ mã hóa xoay 360 độ. Ông không có điều khoản cực đoan.
Bộ mã hóa có nhiều loại. Sự gia tăng khác nhau ở chỗ với sự giúp đỡ của nó, không thể biết vị trí của tay cầm, mà chỉ có thực tế xoay theo một số hướng - bên trái hoặc bên phải. Theo số lượng xung tín hiệu, bạn đã có thể tính toán được góc quay của nó.

Bằng cách đó bạn có thể vượt qua vi điều khiển lệnh, quản lý menu, mức âm lượng, ví dụ, vv. Trong cuộc sống hàng ngày, bạn có thể nhìn thấy chúng trong radio xe hơi và các thiết bị khác. Nó được sử dụng như một cơ quan điều chỉnh mức đa chức năng, bộ cân bằng và điều hướng menu.

Nguyên tắc làm việc
Bên trong bộ mã hóa gia tăng có một đĩa có nhãn và thanh trượt tiếp xúc với chúng. Cấu trúc của nó tương tự như một chiết áp.

Trong hình trên, bạn thấy một đĩa có dấu, chúng cần thiết để ngắt kết nối điện với tiếp điểm có thể di chuyển, kết quả là bạn nhận được dữ liệu về hướng quay. Thiết kế của sản phẩm không quá quan trọng, hãy hiểu nguyên tắc hoạt động.

Bộ mã hóa có ba đầu ra thông tin, một đầu ra chung, hai loại còn lại thường được gọi là Bộ dữ liệu và Một Bẻ, trong hình trên bạn thấy chân mã hóa có một nút - bạn có thể nhận được tín hiệu khi nhấp vào trục của nó.
Chúng ta sẽ nhận được tín hiệu gì? Tùy thuộc vào hướng quay, đơn vị logic sẽ xuất hiện đầu tiên trên chân A hoặc B, do đó chúng ta nhận được tín hiệu chuyển pha và sự dịch chuyển này cho phép chúng ta xác định hướng nào. Tín hiệu thu được dưới dạng hình chữ nhật và vi điều khiển được điều khiển sau khi xử lý dữ liệu theo hướng quay và số lượng xung.

Hình hiển thị biểu tượng của đĩa với các tiếp điểm, ở giữa có một biểu đồ của các tín hiệu đầu ra và bên phải là bảng trạng thái. Thiết bị này thường được rút ra dưới dạng hai phím, điều này hợp lý, vì trên thực tế chúng ta nhận được tín hiệu về phía trước, hoặc về phía trước, một lần nữa, hoặc một số hành động.

Dưới đây là một ví dụ về sơ đồ chân mã hóa thực tế:

Thú vị:
Một bộ mã hóa bị lỗi có thể được thay thế bằng hai nút mà không khóa và ngược lại: điều khiển tự chế trong đó hai nút này có thể được hoàn thành bằng cách đặt bộ mã hóa.
Trong video dưới đây, bạn thấy sự thay đổi tín hiệu ở các đầu cuối - trong khi quay trơn tru, đèn LED sáng lên theo trình tự được phản ánh trong biểu đồ trước đó.
Không ít minh họa rõ ràng trong hình ảnh động sau (bấm vào hình ảnh):
Bộ mã hóa có thể là cả quang (tín hiệu được tạo bởi các bộ phát bởi bộ tách sóng quang, xem hình bên dưới) và từ tính (nó hoạt động trên hiệu ứng Hall). Trong trường hợp này, anh ta không có liên lạc và tuổi thọ dài hơn.

Như đã đề cập, hướng quay có thể được xác định bởi tín hiệu đầu ra nào đã thay đổi trước đó, nhưng đây là cách nó trông như thế nào trong thực tế!

Độ chính xác điều khiển phụ thuộc vào độ phân giải của bộ mã hóa - số lượng xung trên mỗi vòng quay. Số lượng xung có thể từ đơn vị đến hàng ngàn mảnh. Vì bộ mã hóa có thể hoạt động như một cảm biến vị trí, càng nhiều xung, việc xác định sẽ càng chính xác.Tham số này được gọi là PPR - xung trên mỗi vòng quay.
Nhưng có một sắc thái nhỏ, cụ thể, một LPR chỉ định tương tự là số lượng nhãn trên đĩa.
Và số lượng xung xử lý. Mỗi nhãn trên đĩa cho 1 xung hình chữ nhật trên mỗi hai đầu ra. Sự thúc đẩy có hai mặt trước - phía sau và phía trước. Vì có hai lối thoát, chúng tôi nhận được tổng cộng 4 xung từ mỗi trong số chúng, các giá trị mà bạn có thể xử lý.
PPR = LPRx4
Kết nối với Arduino
Chúng tôi đã tìm ra những gì bạn cần biết về bộ mã hóa gia tăng, bây giờ hãy tìm hiểu cách kết nối nó với Arduino. Hãy xem xét sơ đồ kết nối:

Một mô-đun mã hóa là bảng trên đó đặt bộ mã hóa tăng và điện trở kéo lên. Bạn có thể sử dụng bất kỳ chân.

Nếu bạn không có một mô-đun, nhưng một bộ mã hóa riêng biệt, bạn chỉ cần thêm các điện trở này, về nguyên tắc mạch sẽ không khác nhau. Để kiểm tra hướng quay và khả năng hoạt động của nó kết hợp với Arduino chúng ta có thể đọc thông tin từ cổng nối tiếp.

Hãy phân tích mã chi tiết hơn, theo thứ tự. Trong void setup (), chúng tôi đã thông báo rằng chúng tôi sẽ sử dụng giao tiếp qua cổng nối tiếp và sau đó đặt chân 2 và 8 ở chế độ đầu vào. Chọn số pin cho mình dựa trên sơ đồ kết nối của bạn. Hằng số INPUT_PULLUP đặt chế độ đầu vào, arduino có hai tùy chọn:
-
INPUT - đầu vào không có điện trở kéo lên;
-
INPUT_PULLUP - kết nối với đầu vào của điện trở kéo lên. Đã có các điện trở bên trong vi điều khiển thông qua đó đầu vào được kết nối với nguồn cộng (pullup).
Nếu bạn sử dụng điện trở để siết chặt với nguồn cộng như thể hiện trong sơ đồ trên hoặc sử dụng mô-đun mã hóa - hãy sử dụng lệnh INPUT và nếu vì lý do nào đó bạn không thể hoặc không muốn sử dụng điện trở bên ngoài - INPUT_PULLUP.
Logic của chương trình chính như sau: nếu chúng ta có một đầu vào cài đặt 2, nó sẽ xuất cổng H sang màn hình, nếu không, L. Do đó, khi bạn xoay theo cùng một hướng trên màn hình cổng nối tiếp, bạn sẽ nhận được một cái gì đó như sau: LL HL HH LH LL. Và ngược lại: LL LH HH HL LL.
Nếu bạn đọc kỹ các dòng, bạn có thể nhận thấy rằng trong một trường hợp, ký tự đầu tiên có được một giá trị và trong trường hợp khác, ký tự thứ hai thay đổi đầu tiên.
Kết luận
Bộ mã hóa tăng dần đã tìm thấy ứng dụng thực tế rộng rãi trong các bộ khuếch đại cho hệ thống âm thanh - chúng được sử dụng làm điều khiển âm lượng, trong radio xe hơi - để điều chỉnh các thông số âm thanh và điều hướng menu, trên chuột máy tính với nó bạn cuộn trang hàng ngày (một bánh xe được cài đặt trên trục của nó) . Và cũng trong các công cụ đo lường, máy CNC, robot, selsyn không chỉ là điều khiển, mà còn đo lường các giá trị và xác định vị trí.
Xem thêm tại electro-vi.tomathouse.com
: