Xử lý sự cố động cơ bước với Trình điều khiển Pololu DRV8825


7

Tôi đã trục vớt một động cơ bước lưỡng cực (QH4-4242) và nguồn điện từ một máy in cũ mà tôi muốn sửa lại trước khi mở rộng ra các động cơ lớn hơn. Với kiến ​​thức hạn chế về bước (chẳng hạn như xếp hạng hiện tại), nhưng biết rằng bộ điều hợp nguồn có nguồn cung cấp 24V / .55A và 5V / .2A, tôi cho rằng bước này phải có xếp hạng bằng hoặc nhỏ hơn 0,55A . Tôi đã tìm thấy các cặp dây cuộn bằng cách đo điện trở (được tìm thấy là ~ 8,5ohms).

Sử dụng bảng Pololu được chế tạo xung quanh DRV8825, tôi đã làm theo hướng dẫn trên trang web của họ kết nối các chân chính xác A1, A2, B1, B2, với các cặp cuộn tương ứng. Tôi đã cung cấp cho động cơ với đầu ra 24V / .55A và điều chỉnh nồi cắt giới hạn hiện tại trong khi đo Amps trong một pha trong khi chân Step cao đến mức hiện tại là .29A (vì các pha chỉ nhận được 70% hiện tại ở bước đầy đủ). Và tôi đã đặt chế độ ngủ và đặt lại ở mức cao theo hướng dẫn.

Sử dụng FEZ Panda II làm vi điều khiển, tôi đã viết một mã đơn giản để bật cao bước chân và pin ngủ trong 1 giây, sau đó thấp trong 1 giây. Động cơ bước tạo ra tiếng ồn cao (như tôi đã đọc là khá bình thường đối với trình điều khiển chopper) và trục trở nên khó quay, tuy nhiên nó không quay. Trong khi các chân thấp, nếu tôi hơi di chuyển trục từ vị trí 'bị kẹt', khi các chân quay trở lại cao, trục sẽ quay nhẹ như thể để quay trở lại vị trí. Tuy nhiên, nó sẽ không tự xoay cũng không tự bước.

Tôi rất đánh giá cao bất kỳ đầu vào hoặc đề xuất để gỡ lỗi vấn đề này.


Cập nhật:

Xin lỗi vì những người phản ứng nhầm lẫn, tôi nghĩ một điều và đã viết một đêm khác. Cao và thấp của tôi cho bước là 1000ms hoặc 1 giây.

Mã giả sẽ trông như:

while(true)
{
   step(true)
   sleep(1000)
   step(false)
   sleep(1000)
}

Cập nhật 2:

Theo đề nghị của Richman, tôi đã thêm đèn LED trở lại để theo dõi sự chuyển đổi của cực khi một xung Bước được gửi, điều này xuất hiện để [chơi chữ] làm sáng tỏ vấn đề. Và thực sự tìm thấy vấn đề. Phân cực không chuyển khi tín hiệu Bước được gửi. Điều này là do ngoài việc gửi một xung đến chân Bước, tôi cũng đang chuyển đổi pin ngủ cho phép / vô hiệu hóa nguồn điện cho động cơ. Tôi đọc điều này đã được thực hiện để giảm thiểu bất kỳ tiếng ồn cao độ nào, nhưng tôi nghĩ rằng tôi đã hiểu nhầm và việc bật / tắt được thực hiện sau khi TẤT CẢ các bước được thực hiện. Điều đó đã được sắp xếp ngay bây giờ. Xin lỗi những người trả lời vì sự nhầm lẫn với thời gian, tôi sẽ cung cấp cho bạn tất cả câu trả lời đúng vì tôi đã giải thích sai nếu tôi có thể.

Một hậu quả chưa biết là bước riêng tự bước khi chân Step ở mức thấp. Tôi tò mò liệu đây có phải là do nhiễu trong tín hiệu có lẽ là nguyên nhân khiến chân Bước chuyển đổi cao / thấp mặc dù logic của tôi không nói lên điều đó? Hoặc có lẽ có một vấn đề tiếp đất / che chắn bởi vì nếu tôi chạm vào vỏ động cơ, hệ thống dây điện, hoặc thậm chí chỉ cần đặt tay gần nó, nó bắt đầu bước nhanh hơn và nhanh hơn cuối cùng trở nên thất thường.

Bất kỳ suy nghĩ về câu hỏi hóc búa mới này?


Với 1000 ms bạn có nghĩa là 1 giây, phải không?
clabacchio

Câu trả lời:


3

Tôi nghĩ rằng bạn đang lái động cơ bước quá nhanh.

Với mức cao 1000uSec và mức thấp 1000uSec, bạn đang tạo ra sóng vuông 500 Hz. Như vậy, bạn đang cố gắng bước 500 lần một giây.

Hãy thử làm chậm mọi thứ xuống có thể 50 bước / giây (làm cho thời lượng thấp 20 mS hoặc 20.000 uSec của bạn).


Xem chỉnh sửa (1 giây thay vì 1 ms).
clabacchio

Với chỉnh sửa đó, điều gì làm cho âm thanh cao vút? :-) Tôi chắc chắn rằng anh ấy có nghĩa là 1 ms ...
Brian Drumond

1

Động cơ Stepper cần tăng tốc đến tốc độ tối đa và xuống để có hiệu suất tối ưu. Bắt đầu chậm và tăng thời lượng theo hệ số 10 lần và sau đó thử nghiệm cấu hình đường dốc_ _ / --- \ _ để kiểm soát tốc độ.

Nếu bạn không có đủ kênh phạm vi, hãy sử dụng đèn LED để theo dõi điện áp pha và sử dụng hai đèn LED quay lại với điện trở 1K cho ~ 20mA Sử dụng Màu xanh lam hoặc bất kỳ màu nào khác để dễ đọc và làm chậm chương trình của bạn xuống 1 giây mỗi bước. Đảm bảo mỗi giai đoạn được điều khiển đúng. Không cần tăng thời gian ngủ tôi nghĩ rằng nó phụ thuộc nhiều hơn vào yếu tố tải.

Nói chung có hai giao diện thiết kế. Số lượng hướng và xung Giống như đĩa mềm và ổ cứng ST506 cũ và Pulse Fwd / Rev. Tại giao diện động cơ có đầy đủ các bước, nửa bước và vi bước. Thời gian chết là một yếu tố quan trọng trong các động cơ lớn, ví dụ 1 ~ 10us vì độ trễ và hiệu ứng bắn từ khi tải có thể dễ dàng xào các trình điều khiển từ cả hai ổ cao-thấp đang tải với tải cảm ứng. Tất cả các CMOS hoạt động mà không có thời gian chết nhưng sau đó họ không khuyên bạn nên lái động cơ với chúng.


Xem chỉnh sửa (1 giây thay vì 1 ms).
clabacchio

gotcha .. Tôi đoán rằng các điện áp pha được điều khiển không chính xác ... trong 1 giây phải có thể xác nhận điện áp trên mỗi và dòng điện để đảm bảo không có cuộn dây bị cháy. 8 Watts mỗi cuộn dây sẽ nóng.
Tony Stewart Sunnyskyguy EE75

0

Một chút quá nhanh. Hãy thử nó chậm hơn 5 lần. Nếu nó vẫn không chạy, hãy xem cách bạn sắp xếp các bước; chúng có đúng trình tự và đúng cực không?

Nếu có bất kỳ nghi ngờ nào về điều này, hãy xâu chuỗi một vài bước bằng hai dây từ nguồn điện và kiểm tra xem trình điều khiển có tạo ra trình tự tương tự không.


Xem chỉnh sửa (1 giây thay vì 1 ms).
clabacchio
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.