Phản hồi từ cảm biến hiệu ứng Hall với video

Cảm biến hiệu ứng hall

Cảm biến hiệu ứng Hall có thể phát hiện sự hiện diện của từ trường và tạo ra điện áp đầu ra khi phát hiện ra. Cảm biến hiệu ứng Hall, khi được sử dụng vớithiết bị truyền động tuyến tính, thường được đặt bên trong hộp số của bộ truyền động cùng với một đĩa từ. Khi bộ truyền động tuyến tính kéo dài hoặc thu lại, đĩa quay này sẽ vượt qua cảm biến hiệu ứng Hall, cảm biến này khiến cảm biến tạo ra đầu ra kỹ thuật số dưới dạng xung điện áp. Các xung này có thể được đếm và sử dụng để xác định xem bộ truyền động đã di chuyển bao xa.

Cách đọc phản hồi từ thiết bị truyền động tuyến tính

Phản hồi vị trí từ cảm biến hiệu ứng Hall

Nhược điểm của việc sử dụng cảm biến hiệu ứng Hall cho phản hồi vị trí là chúng không đo được vị trí tuyệt đối. Thay vào đó, chúng tạo ra các xung có thể được đếm để xác định xem bộ truyền động đã di chuyển bao xa. Để sử dụng các xung này cho phản hồi vị trí, bạn sẽ cần sử dụng bộ điều khiển vi mô để đếm các xung được tạo ra. Để làm như vậy, bạn sẽ cần sử dụng các chân ngắt bên ngoài của bộ điều khiển vi mô của mình để đếm các xung này khi chúng xảy ra. Ngắt bên ngoài là chân phát hiện sự thay đổi điện áp và trong trường hợp của chúng tôi có thể được sử dụng để phát hiện xung điện áp từ cảm biến hiệu ứng Hall. Bạn sẽ cần tham khảo biểu dữ liệu của bộ điều khiển vi mô của mình để đảm bảo có thể sử dụng chân nào của bộ điều khiển vi mô làm chân ngắt. Sử dụng một Arduino Uno ví dụ, chân 2 và 3 có thể được sử dụng cho các ngắt bên ngoài. Khi bạn đã chọn được chân ngắt thích hợp, bạn có thể kết nối dây của đầu ra cảm biến hiệu ứng hội trường với chân đó cũng như kết nối điện áp đầu vào là 5V và nối đất với chân nối đất.

Kết nối cảm biến hiệu ứng Hall với Arduino 

Ví dụ mã bên dưới cho thấy cách thiết lập một ngắt trong Arduino IDE nơi ngắt sẽ được kích hoạt trên cạnh lên của xung điện áp. Bạn có thể thiết lập ngắt để được kích hoạt tại các điểm khác nhau trong sự thay đổi điện áp và nên tham khảo biểu dữ liệu của bộ điều khiển vi mô của bạn để xác định các tùy chọn khả dụng. Khía cạnh cuối cùng bạn cần làm để thiết lập ngắt là viết quy trình phục vụ ngắt, đây là chức năng mà mã sẽ chạy mỗi khi ngắt được kích hoạt. Chức năng này phải ngắn và chỉ thực hiện các tác vụ đơn giản như đếm số lượng xung từ cảm biến hiệu ứng Hall của chúng tôi. Hàm countSteps () trong ví dụ mã bên dưới được sử dụng để đếm số lượng xung từ cảm biến hiệu ứng Hall.

Để sử dụng các xung này để xác định giá trị vị trí, bạn sẽ cần biết vị trí trước đó của bộ truyền động tuyến tính và hướng mà bộ truyền động tuyến tính đang di chuyển. Bộ điều khiển vi mô của bạn sẽ biết bạn đang điều khiển bộ truyền động tuyến tính theo cách nào, vì vậy bạn có thể chỉ cần thiết lập một biến để theo dõi hướng của bộ truyền động trong mã của bạn, biến này sẽ được sử dụng để xác định xem bạn thêm hay trừ các xung từ vị trí trước đó của mình. Khi bạn đã cập nhật vị trí của mình, bạn sẽ cần đặt lại số xung đếm được về 0. Ví dụ mã bên dưới cho bạn thấy một chức năng cập nhật vị trí dựa trên số lượng xung đếm được. Khi bạn đã có vị trí về xung, bạn có thể chuyển đổi thành inch bằng cách sử dụng đặc điểm kỹ thuật xung trên inch của bộ truyền động tuyến tính của bạn. Trong mẫu mã bên dưới, xung trên mỗi inch di chuyển là 3500.

Homing Bộ truyền động tuyến tính của bạn

Để sử dụng chính xác phản hồi vị trí từ cảm biến hiệu ứng hội trường, bạn cần phải luôn biết vị trí bắt đầu của thiết bị truyền động tuyến tính của mình. Mặc dù khi bạn bật hệ thống lần đầu tiên, bộ điều khiển vi mô của bạn sẽ không thể biết liệu bộ truyền động có được mở rộng hay không. Điều này sẽ yêu cầu bạn phải đặt thiết bị truyền động tuyến tính của mình đến một vị trí đã biết. Bạn cũng có thể sử dụng công tắc giới hạn bên ngoài để đặt vị trí đã biết của bạn đến một nơi nào đó không phải là mở rộng hoàn toàn hoặc thu lại. Sử dụng mã Arduino bên dưới làm ví dụ, chúng tôi sẽ muốn thiết lập một vòng lặp WHILE sẽ điều khiển bộ truyền động tuyến tính của chúng tôi đến vị trí đã biết của bạn, trong trường hợp này là hoàn toàn rút lại. Chúng tôi biết rằng bạn đang ở vị trí đã biết của chúng tôi vì sự ngắt quãng của cảm biến hiệu ứng hội trường sẽ không kích hoạt. Trong trường hợp này, chúng tôi kiểm tra xem biến bước có thay đổi hay không để xác định xem ngắt đã được kích hoạt hay chưa. Chúng tôi cũng cần đảm bảo rằng đã đủ thời gian để mong đợi ngắt được kích hoạt, vì điều này, chúng tôi sử dụng hàm millis () để xuất ra thời gian tính bằng mili giây kể từ khi mã bắt đầu và chúng tôi so sánh nó với dấu thời gian trước đó . Khi chúng tôi đã xác định rằng bộ truyền động tuyến tính đang ở vị trí chính của chúng tôi, chúng tôi ngừng điều khiển bộ truyền động, đặt lại biến số bước và thoát khỏi vòng lặp WHILE.

Đối phó với các trình kích hoạt sai

Mặc dù cảm biến hiệu ứng hội trường không nhạy cảm với nhiễu điện như chiết áp, nhưng nhiễu điện vẫn có thể ảnh hưởng đến tín hiệu đầu ra. Công tắc nảy cũng có thể là một vấn đề với cảm biến hiệu ứng hội trường có thể kích hoạt đếm xung sai, điều này sẽ ảnh hưởng đến mức độ mà bộ điều khiển vi mô của bạn nghĩ rằng bộ truyền động tuyến tính của bạn đã di chuyển. Một vài xung phụ sẽ không ảnh hưởng nhiều đến việc định vị vì có 1000 xung trên mỗi inch, nhưng theo thời gian, đó có thể là một vấn đề lớn hơn. Bạn có thể chống lại những vấn đề này bằng cách sử dụng bộ hẹn giờ bên trong để lọc ra các trình kích hoạt sai. Vì bạn có thể xác định mức độ thường xuyên mà bạn mong đợi các xung mới được phát hiện, bạn có thể lọc ra khi nào ngắt được kích hoạt bởi tiếng ồn. Trong mẫu mã bên dưới, trig-Delay là thời gian trễ giữa mỗi xung. Nếu ngắt được kích hoạt trước thời gian trễ này, thì xung sẽ không được tính.

Khoảng thời gian trễ này sẽ khác nhau tùy theo ứng dụng của bạn, nhưng nếu quá ngắn, nó sẽ không lọc ra tiếng ồn đúng cách và nếu quá dài, nó sẽ bỏ lỡ các xung thực tế từ bộ truyền động tuyến tính. Tốc độ của bộ truyền động tuyến tính cũng sẽ ảnh hưởng đến độ trễ này và nếu bạn muốn điều chỉnh tốc độ, biến này có thể cần phải thay đổi để điều chỉnh theo tần số mới của xung dự kiến. Để xác định chính xác độ trễ chính xác giữa mỗi xung, bạn có thể sử dụng bộ phân tích logic để xem tín hiệu thực tế từ cảm biến hiệu ứng hội trường. Mặc dù điều này không bắt buộc trong hầu hết các ứng dụng, nhưng nếu bạn yêu cầu định vị rất chính xác, bạn có thể muốn xác định độ trễ chính xác.

Một cách khác để chống lại bộ kích hoạt sai là hiệu chỉnh giá trị vị trí mỗi khi bộ truyền động đạt đến vị trí đã biết. Giống như điều khiển thiết bị truyền động tuyến tính, nếu bạn đã điều khiển thiết bị truyền động tuyến tính đến vị trí thu lại hoàn toàn hoặc mở rộng hoặc nếu bạn sử dụng công tắc giới hạn bên ngoài, bạn sẽ biết bộ truyền động đã di chuyển bao xa. Như bạn biết cảm biến hiệu ứng hội trường phải gửi bao nhiêu bước để đạt được vị trí đã biết của bạn, bạn có thể chỉ cần chỉnh sửa giá trị khi chúng tôi đến được nó. Trong mẫu mã bên dưới, điều này được thực hiện cho các vị trí được mở rộng hoàn toàn và thu lại hoàn toàn. Vì thiết bị truyền động sẽ không di chuyển khi nó đạt đến một trong những vị trí đó, nếu chúng tôi cố gắng điều khiển thiết bị truyền động và giá trị vị trí không thay đổi, chúng tôi biết mình đang ở giới hạn. Phương pháp này cung cấp một giải pháp thiết thực để đảm bảo giá trị vị trí của bạn luôn chính xác, đặc biệt nếu bạn đang thu lại hoàn toàn hoặc mở rộng hoàn toàn bộ truyền động của mình tại một số thời điểm trong quá trình vận hành. Bạn có thể sử dụng phương pháp này kết hợp với phương pháp được mô tả ở trên để giúp duy trì độ chính xác của giá trị vị trí của bạn.

Tóm lược

Việc sử dụng cảm biến hiệu ứng hội trường để phản hồi vị trí cung cấp độ phân giải lớn hơn nhiều so với phản hồi từ chiết áp. Vì có thể có 1000 xung trên mỗi inch chuyển động, cảm biến hiệu ứng Hall cung cấp độ chính xác và độ tin cậy trong việc định vị thiết bị truyền động tuyến tính của bạn. Cảm biến hiệu ứng Hall cũng cung cấp khả năng lớn hơn để đảm bảo nhiều bộ truyền động tuyến tính chuyển động cùng nhau đồng thời vì số lượng xung chính xác hơn so với sự thay đổi điện áp của chiết áp. Sử dụng của chúng tôi FA-SYNC-X bộ điều khiển bộ truyền động, bạn thậm chí có thể đảm bảo các bộ truyền động di chuyển đồng loạt bất kể tải. Đối với những người thích tự làm, bạn có thể kiểm tra cách đảm bảo các bộ truyền động của bạn di chuyển đồng bộ bằng cách sử dụng Arduino đây.

Dưới đây là mã mẫu hoàn chỉnh được sử dụng trong blog này và được xây dựng để kiểm soát độ dài nét vẽ 14 ” Dòng Đạn 36 Cal. Bộ truyền động tuyến tính. Bộ truyền động tuyến tính được điều khiển bằng cách sử dụng người điều khiển động cơ, mà bạn có thể học cách thiết lập đây

[1] Monari, G. (tháng 6 năm 2013) Hiểu độ phân giải trong bộ mã hóa quang học và từ tính. Lấy ra từ: https://www.electronicdesign.com/technologies/components/article/21798142/understanding-resolution-in-optical-and-magnetic-encoders

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.