Mục lục:

Arduino: Lib chính xác cho động cơ bước: 19 bước
Arduino: Lib chính xác cho động cơ bước: 19 bước

Video: Arduino: Lib chính xác cho động cơ bước: 19 bước

Video: Arduino: Lib chính xác cho động cơ bước: 19 bước
Video: 🔴 Arduino #19 | Đảo Chiều Động Cơ Bước Step Motor 28BYJ-48 Sử Dụng Thư Viện Và Nút Nhấn 2024, Tháng bảy
Anonim
Image
Image
Biến toàn cục
Biến toàn cục

Hôm nay, tôi sẽ giới thiệu cho các bạn một thư viện dành cho trình điều khiển động cơ bước đầy đủ với các công tắc hành trình và chuyển động của động cơ với gia tốc và bước vi mô. Lib này, hoạt động trên cả Arduino Uno và Arduino Mega, cho phép bạn di chuyển động cơ không chỉ dựa trên số bước mà còn trên milimét. Và nó cũng khá chính xác.

Một tính năng quan trọng của thư viện này là nó cho phép bạn xây dựng máy CNC của riêng mình, không nhất thiết chỉ là X, Y mà còn là một bộ chuyển mạch, vì nó không phải là một GRBL sẵn sàng, mà là lập trình cho phép bạn tạo ra chiếc máy lý tưởng cho mình.

Tuy nhiên, tuyên bố sau đây là một chi tiết quan trọng! Video này chỉ dành cho những người đã quen với lập trình. Nếu bạn chưa quen với lập trình Arduino, trước tiên bạn nên xem các video giới thiệu khác trên kênh của tôi. Điều này là do tôi đang thảo luận về một chủ đề nâng cao trong video cụ thể này và giải thích chi tiết hơn về Lib được sử dụng trong video: Động cơ Bước với Tăng tốc và Kết thúc cú đánh.

Bước 1: Thư viện StepDriver

Thư viện này bao gồm ba loại trình điều khiển phổ biến nhất trên thị trường: A4988, DRV8825 và TB6600. Nó cấu hình các chân của trình điều khiển, cho phép chúng thực hiện thiết lập lại và đưa vào chế độ Ngủ, cũng như kích hoạt và hủy kích hoạt các đầu ra động cơ hoạt động trên chân Bật. Nó cũng đặt đầu vào của các chân vi bước của trình điều khiển, và giới hạn các công tắc và mức kích hoạt của chúng (cao hoặc thấp). Nó cũng có mã chuyển động của động cơ với gia tốc liên tục tính bằng mm / s², tốc độ tối đa tính bằng mm / s và tốc độ tối thiểu tính bằng mm / s.

Đối với những ai đã xem phần 1 và 2 của video Bước Động Cơ Với Tăng Tốc Và Kết Thúc Động Cơ, hãy tải xuống thư viện mới này có sẵn ngay hôm nay, vì tôi đã thực hiện một số thay đổi trong tệp đầu tiên đó để tạo điều kiện sử dụng.

Bước 2: Biến toàn cục

Tôi hiển thị chính xác từng biến toàn cục dùng để làm gì.

Bước 3: Chức năng - Thiết lập các Ghim trình điều khiển

Chức năng - Đặt chân trình điều khiển
Chức năng - Đặt chân trình điều khiển

Ở đây, tôi mô tả một số phương pháp.

Tôi đặt cài đặt Sơ đồ chân và các chân Arduino làm đầu ra.

Bước 4: Chức năng - Chức năng cơ bản của trình điều khiển

Chức năng - Chức năng cơ bản của trình điều khiển
Chức năng - Chức năng cơ bản của trình điều khiển

Trong phần này, chúng tôi làm việc với cấu hình của trình điều khiển và các chức năng cơ bản của nó.

Bước 5: Chức năng - Cài đặt bước động cơ

Chức năng - Cài đặt bước động cơ
Chức năng - Cài đặt bước động cơ
Chức năng - Cài đặt bước động cơ
Chức năng - Cài đặt bước động cơ

Trong bước này của mã, chúng tôi định cấu hình số bước trên mỗi milimét mà động cơ phải thực hiện.

Bước 6: Chức năng - Đặt chế độ bước động cơ

Chức năng - Đặt chế độ bước động cơ
Chức năng - Đặt chế độ bước động cơ
Chức năng - Đặt chế độ bước động cơ
Chức năng - Đặt chế độ bước động cơ
Chức năng - Đặt chế độ bước động cơ
Chức năng - Đặt chế độ bước động cơ

Bảng này hiển thị các cài đặt cho chế độ bước động cơ. Dưới đây là một số ví dụ.

Bước 7: Chức năng - Đặt công tắc giới hạn

Chức năng - Đặt công tắc giới hạn
Chức năng - Đặt công tắc giới hạn

Ở đây, tôi phải đọc toàn bộ và giá trị boolean. Cần thiết lập xem phím hoạt động là lên hay xuống, trong khi đặt đinh ghim giới hạn tối đa và tối thiểu.

Bước 8: Chức năng - Đọc các công tắc giới hạn

Chức năng - Đọc các công tắc giới hạn
Chức năng - Đọc các công tắc giới hạn
Chức năng - Đọc các công tắc giới hạn
Chức năng - Đọc các công tắc giới hạn
Chức năng - Đọc các công tắc giới hạn
Chức năng - Đọc các công tắc giới hạn

Phần này khác với phần trong Lib mà tôi đã cung cấp vào tuần trước. Tại sao tôi lại thay đổi nó? Tôi đã tạo eRead để thay thế một số ứng dụng khác. Tại đây, eRead sẽ đọc LVL, digitalRead (pin) và sẽ trả về TRUE. Tất cả điều này cần được thực hiện ở mức cao. Công việc sau với khóa hoạt động sẽ ở mức thấp. Tôi sẽ sử dụng nó ở đây để hiển thị cho bạn bảng "Sự thật".

Trong hình ảnh của mã, tôi đặt một sơ đồ sẽ giúp hiểu rằng, trong phần này của mã nguồn, tôi đang chuyển sang Tăng dần và vẫn chưa đạt đến khóa cuối khóa học.

Bây giờ, trong hình ảnh os mã bool DRV8825 này, tôi cho thấy động cơ vẫn đang chuyển động theo hướng phát triển. Tuy nhiên, công tắc giới hạn tối đa đã được kích hoạt. Cơ chế, sau đó, phải dừng chuyển động.

Cuối cùng, tôi cho thấy cùng một chuyển động, nhưng theo hướng ngược lại.

Tại đây, bạn đã kích hoạt công tắc cuối khóa học.

Bước 9: Chức năng - Thiết lập chuyển động

Chức năng - Thiết lập chuyển động
Chức năng - Thiết lập chuyển động

Tiện ích chính của phương pháp motionConfig là chuyển đổi milimét trên giây (một phép đo được sử dụng trong máy CNC) thành các bước, để đáp ứng bộ điều khiển của động cơ bước. Do đó, chính trong phần này, tôi khởi tạo các biến để hiểu các bước chứ không phải milimét.

Bước 10: Chức năng - Chức năng chuyển động

Chức năng - Chức năng chuyển động
Chức năng - Chức năng chuyển động

Trong bước này, chúng tôi xử lý lệnh di chuyển một bước theo hướng mong muốn trong một khoảng thời gian tính bằng micro giây. Chúng tôi cũng đặt chốt hướng của người lái xe, thời gian trễ và hướng của các công tắc giới hạn.

Bước 11: Hàm - Hàm chuyển động - Biến

Chức năng - Chức năng di chuyển - Biến
Chức năng - Chức năng di chuyển - Biến

Trong phần này, chúng tôi định cấu hình tất cả các biến liên quan đến các khoảng thời gian tốc độ tối đa và tối thiểu, khoảng cách của quỹ đạo và các bước cần thiết để ngắt quỹ đạo, trong số những biến khác.

Bước 12: Chức năng - Chức năng chuyển động - Gia tốc

Chức năng - Chức năng chuyển động - Gia tốc
Chức năng - Chức năng chuyển động - Gia tốc
Chức năng - Chức năng chuyển động - Gia tốc
Chức năng - Chức năng chuyển động - Gia tốc

Ở đây, tôi trình bày một số chi tiết về cách chúng tôi đến dữ liệu gia tốc, được tính toán thông qua phương trình Torricelli, vì điều này tính đến không gian để làm việc của gia tốc chứ không phải thời gian. Nhưng, điều quan trọng ở đây là phải hiểu rằng toàn bộ phương trình này chỉ là về một dòng mã.

Chúng tôi đã xác định được một hình thang trong hình ảnh trên, vì RPM ban đầu không tốt cho hầu hết các động cơ bước. Điều tương tự cũng xảy ra với sự giảm tốc. Do đó, chúng ta hình dung một hình thang trong khoảng thời gian giữa gia tốc và giảm tốc.

Bước 13: Chức năng - Chức năng chuyển động - Tốc độ liên tục

Chức năng - Chức năng chuyển động - Tốc độ liên tục
Chức năng - Chức năng chuyển động - Tốc độ liên tục
Chức năng - Chức năng chuyển động - Tốc độ liên tục
Chức năng - Chức năng chuyển động - Tốc độ liên tục

Ở đây chúng tôi giữ nguyên số bước được sử dụng khi tăng tốc, chúng tôi tiếp tục với tốc độ liên tục và giữ với tốc độ tối đa, có thể thấy trong hình dưới đây.

Bước 14: Chức năng - Chức năng chuyển động - Giảm tốc

Chức năng - Chức năng chuyển động - Giảm tốc
Chức năng - Chức năng chuyển động - Giảm tốc
Chức năng - Chức năng chuyển động - Giảm tốc
Chức năng - Chức năng chuyển động - Giảm tốc

Ở đây chúng ta có một phương trình khác, lần này với giá trị gia tốc âm. Nó cũng được hiển thị trong một dòng mã, trong hình dưới đây, đại diện cho hình chữ nhật có nhãn Giảm tốc.

Bước 15: Chức năng - Chức năng chuyển động - Tốc độ liên tục

Chức năng - Chức năng chuyển động - Tốc độ liên tục
Chức năng - Chức năng chuyển động - Tốc độ liên tục
Chức năng - Chức năng chuyển động - Tốc độ liên tục
Chức năng - Chức năng chuyển động - Tốc độ liên tục

Chúng tôi quay trở lại tốc độ liên tục để làm việc nửa sau của quỹ đạo, như được thấy bên dưới.

Bước 16: Chức năng - Chức năng di chuyển - Chuyển lượt

Chức năng - Chức năng di chuyển - Lượt di chuyển
Chức năng - Chức năng di chuyển - Lượt di chuyển

Trong phần này, chúng ta di chuyển động cơ theo một số vòng nhất định theo hướng mong muốn, quy đổi số vòng quay theo milimét. Cuối cùng, chúng tôi di chuyển động cơ theo hướng yêu cầu.

Bước 17: Biểu đồ chuyển động - Vận tốc vị trí

Biểu đồ chuyển động - Vận tốc vị trí
Biểu đồ chuyển động - Vận tốc vị trí

Trong biểu đồ này, tôi có dữ liệu được trích xuất từ phương trình mà chúng tôi đã sử dụng trong phần Tăng tốc. Tôi lấy các giá trị và chơi trên nối tiếp Arduino, và tôi chuyển từ này sang Excel, kết quả là bảng này. Bảng này hiển thị tiến trình của bước.

Bước 18: Biểu đồ chuyển động - Vị trí Vs. Chức vụ

Biểu đồ Chuyển động - Vị trí Vs. Chức vụ
Biểu đồ Chuyển động - Vị trí Vs. Chức vụ

Ở đây, chúng tôi lấy vị trí, theo số bước và vận tốc và chuyển nó thành chu kỳ, tính bằng micro giây. Chúng ta lưu ý trong bước này rằng chu kỳ tỷ lệ nghịch với vận tốc.

Bước 19: Biểu đồ chuyển động - Vận tốc Vs. Chốc lát

Biểu đồ chuyển động - Vận tốc Vs. Chốc lát
Biểu đồ chuyển động - Vận tốc Vs. Chốc lát

Cuối cùng, chúng ta có vận tốc là một hàm của thời gian, và do đó, chúng ta có một đường thẳng, vì nó là vận tốc là một hàm của thời gian.

Đề xuất: