Làm thế nào để bạn điều khiển một Bộ truyền động tuyến tính với Arduino?

Arduino là gì?

Arduino là một nền tảng tạo mẫu điện tử mã nguồn mở dựa trên phần cứng và phần mềm linh hoạt, dễ sử dụng. Nó dành cho các dự án DIY, nghệ sĩ, nhà thiết kế, người có sở thích và bất kỳ ai quan tâm đến việc tạo các dự án tương tác. Arduinos là bảng vi điều khiển chứa mọi thứ bạn cần để dễ dàng giao tiếp với vi điều khiển. Vi điều khiển giống như một máy tính mini cho các hệ thống nhúng và loại vi điều khiển đi kèm sẽ phụ thuộc vào kiểu dáng của Arduino. Arduino phạm vi từ lớn hơn Arduino Mega cỡ vừa Arduino Uno nhỏ hơn Arduino Pro Mini. Các bảng kích thước khác nhau sẽ cung cấp số lượng chân I / O ngày càng nhiều và các tính năng bổ sung và phổ biến nhất trong số các bảng này là Uno. Arduino cũng cung cấp một mã nguồn mở miễn phí để sử dụng IDE để lập trình vi điều khiển của bạn. Arduino IDE sử dụng ngôn ngữ lập trình dễ hiểu và do tính phổ biến của Arduino, bạn có thể tìm thấy nhiều ví dụ hữu ích trực tuyến để giúp bạn viết mã cho ứng dụng cụ thể của mình. Nếu đây là dự án Arduino đầu tiên của bạn, Bộ Arduino sẽ cung cấp cho bạn mọi thứ bạn cần từ cáp jumper, cảm biến đến rơ le và bao gồm Arduino Uno để giúp bạn bắt đầu.

Làm thế nào để bạn điều khiển một Bộ truyền động tuyến tính với Arduino?

Tại sao lại sử dụng Arduino để điều khiển thiết bị truyền động tuyến tính?

Một trong những lợi thế lớn nhất của việc sử dụng Arduino hoặc bất kỳ vi điều khiển nào cho vấn đề đó, để điều khiển thiết bị truyền động tuyến tính là bạn có quyền kiểm soát tốt hơn bộ truyền động tuyến tính của mình. Bộ vi điều khiển cho phép bạn sử dụng các đầu vào phức tạp hơn từ cảm biến hoặc các thiết bị khác để điều khiển bộ truyền động tuyến tính của bạn. Chúng cho phép bạn định dạng trước các tính toán thời gian thực để định vị bộ truyền động của bạn ở vị trí lý tưởng hoặc triển khai bộ hẹn giờ để tự động hóa các thay đổi vị trí của bộ truyền động của bạn. Bộ vi điều khiển cũng có thể tiếp nhận phản hồi từ bộ truyền động của bạn để cung cấp khả năng điều khiển vị trí và tốc độ chính xác hơn cũng như điều khiển nhiều bộ truyền động cùng một lúc. Nói một cách đơn giản, bộ vi điều khiển cung cấp cho bạn khả năng kiểm soát và tính linh hoạt cao hơn và với thiết kế dễ sử dụng và tính phổ biến rộng rãi của Arduino, mức độ phức tạp bổ sung là tối thiểu.

Điều khiển Bộ truyền động tuyến tính với Arduino

Bạn sẽ không thể giao tiếp trực tiếp thiết bị truyền động tuyến tính của mình với Arduino giống như bạn có thể làm bằng công tắc vì điện áp hoạt động của Arduino chỉ là 5V và có giới hạn dòng điện rất nhỏ. Bạn sẽ cần sử dụng một bộ phận trung gian để điều khiển bộ truyền động tuyến tính có thể được thực hiện bằng cách sử dụng rơ le hoặc trình điều khiển động cơ.

Rơ le

Như đã thảo luận đây, rơ le là các công tắc điện từ được điều khiển bằng cách cấp và khử năng lượng cho một cuộn dây để đóng mở công tắc. Arduino có thể được sử dụng để điều khiển rơ le bằng cách cấp nguồn và khử năng lượng cho cuộn dây bằng cách sử dụng một chân I / O. Tùy thuộc vào loại rơ le bạn sử dụng sẽ thay đổi mức độ kiểm soát mà bạn có đối với bộ truyền động tuyến tính của mình, nhưng việc giao tiếp với Arduino khá dễ dàng, chỉ cần cấp điện cho cuộn dây bằng chân I / O. Bạn sẽ cần đảm bảo rằng điện áp danh định của cuộn dây ở xung quanh điện áp hoạt động của Arduino (5V), nếu không Arduino sẽ không thể cung cấp năng lượng cho cuộn dây đủ để làm cho công tắc đóng.

SPDT Relay được điều khiển bằng Arduino

Trên đây là ví dụ về giao tiếp Arduino với cấu hình hai rơle SPDT. Trong cấu hình này, được mô tả ở đây, hai rơ le được sử dụng để lật cực tính của điện áp đến bộ truyền động tuyến tính cũng như ngắt nguồn điện cho bộ truyền động. Trong ví dụ mã được hiển thị bên dưới, Arduino sẽ cung cấp năng lượng cho rơle trên cùng để kéo dài bộ truyền động trong 2 giây bằng cách đặt chân 7 thành mức thấp, sau đó dừng bộ truyền động trong 2 giây bằng cách khử nguồn cho rơ-le trên bằng cách đặt cả hai chân lên cao. Để rút lại thiết bị truyền động, Arduino sẽ cung cấp năng lượng cho rơ le thứ hai trong 2 giây bằng cách đặt chân 8 thành mức thấp, sau đó dừng thiết bị truyền động trong 2 giây bằng cách đặt lại tất cả các chân ở mức cao. Vì mã này nằm trong phần vòng lặp của chương trình, Arduino sẽ tiếp tục lặp đi lặp lại mã này. Rõ ràng, bạn có thể triển khai một giải pháp mã hóa thanh lịch hơn cho ứng dụng của mình, nhưng nếu bạn đang muốn kiểm soát nhiều hơn nữa, bạn sẽ muốn sử dụng trình điều khiển động cơ.

https://gist.github.com/OMikeGray/6bf644b6cda85bfe8c898ccd44ec6d78

Trình điều khiển động cơ

A người điều khiển động cơ là một thiết kế mạch tích hợp đặc biệt để điều khiển động cơ DC, điều khiển bộ truyền động tuyến tính DC. Người lái xe mô tô thường sử dụng cầu H để cho phép điều khiển cả hướng và tốc độ. Cách kết nối chính xác Arduino với trình điều khiển động cơ của bạn sẽ phụ thuộc vào trình điều khiển động cơ chính xác nhưng sẽ yêu cầu ít nhất hai chân I / O để làm như vậy và một trong số chúng sẽ là tín hiệu PWM. PWM hoặc điều chế độ rộng xung là một phương pháp thay đổi tín hiệu giữa các giá trị bật và tắt để cung cấp hiệu quả điện áp thấp hơn điện áp hoạt động. Người điều khiển động cơ sau đó có thể sử dụng tín hiệu này để điều chỉnh tốc độ động cơ chạy.

Arduino điều khiển trình điều khiển động cơ 

Trên đây là một ví dụ về Truyền động động cơ DC dòng điện cao được giao diện với Arduino. Đối với trình điều khiển động cơ này, bạn được yêu cầu gửi hai tín hiệu PWM, một để mở rộng bộ truyền động và tín hiệu kia để thu lại. PWM được cho là một byte không dấu có nghĩa là nó nằm trong khoảng từ 0, không có điện áp, đến 255, điện áp tối đa (5V), sẽ tỷ lệ với tốc độ của động cơ. Vì PWM không phải là một giá trị nhị phân, chúng ta cần sử dụng các chân PWM của Arduino và sử dụng chức năng ghi tương tự, như trong ví dụ bên dưới. Các chân PWM sẽ được chỉ định trên Arduino bằng dấu ~ hoặc đơn giản được dán nhãn là các chân PWM.

https://gist.github.com/OMikeGray/c4e0196704a4d62db5507ad8297708f4

Trong ví dụ mã ở trên, Arduino sẽ mở rộng bộ truyền động ở tốc độ tối đa trong hai giây bằng cách gửi cho trình điều khiển động cơ toàn bộ 5V ra khỏi chân 10 đến chân LPWM trên trình điều khiển động cơ. Sau đó, Arduino dừng bộ truyền động bằng cách không gửi bất kỳ tín hiệu nào đến một trong hai chân đầu vào của trình điều khiển động cơ. Sau đó, Arduino thu lại bộ truyền động ở một nửa tốc độ bằng cách gửi tín hiệu trình điều khiển động cơ đang bật và một nửa tắt từ chân 11 đến chân RPWM trên trình điều khiển động cơ. Sau đó dừng thiết bị truyền động lại. Vì mã này nằm trong phần vòng lặp của chương trình, Arduino sẽ tiếp tục lặp đi lặp lại mã này. Một lần nữa, bạn có thể triển khai một giải pháp mã hóa thanh lịch hơn phù hợp với ứng dụng của mình, đặc biệt nếu bạn thêm đầu vào để điều khiển thiết bị truyền động của mình. 

Thêm đầu vào

Khi bạn có thể điều khiển thiết bị truyền động của mình bằng Arduino, bạn có thể triển khai đầu vào cho Arduino để tự động hóa và kiểm soát tốt hơn. Những đầu vào này có thể là công tắc, một loạt các cảm biến, hoặc thậm chí phản hồi từ chính thiết bị truyền động. Vì có nhiều lựa chọn cho đầu vào, cách triển khai chúng sẽ khác nhau nhưng có một số điểm chung bạn nên biết. Nếu đầu vào cung cấp đầu vào nhị phân, chẳng hạn như công tắc, bạn sẽ muốn sử dụng các chân kỹ thuật số trên Arduino, chân này sẽ được gắn nhãn trên bảng hoặc trong biểu dữ liệu và sử dụng hàm digitalRead () trong Arduino IDE. Nếu thiết bị đầu vào của bạn cung cấp tín hiệu tương tự, bạn sẽ cần sử dụng các chân tương tự, chân này sẽ được gắn nhãn trên bảng hoặc trong biểu dữ liệu và sử dụng hàm AnalogRead ().


 

product-sidebar product-sidebar product-sidebar product-sidebar
Tags:

Share this article

Sản phẩm nổi bật

TVL-170 Giá treo TV bật lên phía sau
TVL-170 Giá treo TV bật lên phía sau In Stock
On Sale From $590.00USD

Bạn cần trợ giúp tìm thiết bị truyền động phù hợp?

Chúng tôi thiết kế chính xác và sản xuất các sản phẩm của chúng tôi để bạn có được giá cả nhà sản xuất trực tiếp. Chúng tôi cung cấp vận chuyển cùng ngày và hỗ trợ khách hàng am hiểu. Hãy thử sử dụng Máy tính truyền động của chúng tôi để nhận trợ giúp chọn thiết bị truyền động phù hợp cho ứng dụng của bạn.