Làm cách nào tôi có thể sửa đổi một servo sở thích chi phí thấp để chạy 'tự do'?


15

Tôi đã có một số động cơ sở thích ( Power HD 1501MG ) và tôi muốn có thể điều khiển chúng (thông qua Arduino) để chúng có thể đi đến góc tôi đặt hoặc đặt chúng ở chế độ 'chạy tự do', nơi tải sẽ đưa họ bất cứ nơi nào nó đi.

Điều này thậm chí có thể, hoặc tôi cuối cùng sẽ tước bánh răng?

Suy nghĩ đầu tiên của tôi chỉ đơn giản là tiêu diệt năng lượng cho servo, nhưng lực cần thiết để di chuyển chúng trong trạng thái đó là nhiều hơn tôi muốn.

Nếu có thể, tôi đang xem xét một sự thay đổi phần cứng, hay tôi có thể làm điều đó trong phần mềm không?


3
Sở thích sở thích không thực sự phù hợp với người máy mạnh mẽ, và người phục vụ sở thích sửa đổi thậm chí còn tồi tệ hơn. Bạn sẽ không thích những gì bạn nhận được nếu bạn làm điều này. Mua một động cơ DC gearhead giá cả phải chăng và một cây cầu H nhỏ để lái nó thay vào đó, nó sẽ mạnh mẽ hơn nhiều, và bạn sẽ hạnh phúc hơn nhiều. Bạn có thể xây dựng cầu H từ mạch L298 với chi phí rất thấp.
Jon Watte

1
Tôi đoán câu hỏi tiếp theo của tôi ở đây sẽ là 'cây cầu h là gì?' (Nhưng tôi sẽ thử google trước!)
Khrob

Câu trả lời:


13

Những gì bạn yêu cầu sẽ không dễ dàng với một RC servo tiêu chuẩn.

Những gì bạn đang yêu cầu là một servo có thể lái lại. IE mà bạn có thể tự do xoay bằng cách áp dụng mô-men xoắn ngoài. Chắc chắn có thể tạo ra chúng, và chúng được sử dụng trên nhiều robot, nhưng hầu hết các động cơ RC đều yêu cầu mô-men xoắn đáng kể để lái chúng trở lại. Tôi sẽ gọi họ là bán ngược.

Điều gì ngăn cản bạn lái xe trở lại? Hai điều:

Ma sát: Thứ nhất, ma sát trong xích bánh răng và động cơ. RC servo luôn luôn hướng xuống; đầu ra quay chậm hơn động cơ. Tất nhiên điều này có nghĩa là khi bạn cố gắng lái nó trở lại, bạn phải quay động cơ rất nhanh. Bất kỳ ma sát hoặc cogging trong động cơ sẽ được cảm thấy hàng chục lần ở đầu ra.

khả năng hỗ trợ

Hiện tại: một điều đáng ngạc nhiên về động cơ điện là, nếu bạn rút ngắn các thiết bị đầu cuối, chúng trở nên khó quay hơn. Vòng quay của động cơ tạo ra một dòng điện hoạt động chống lại vòng quay của bạn. Các thiết bị điện tử bên trong servo có thể cho phép dòng điện đủ chảy, ngay cả khi tắt, điều đó đáng chú ý ngăn chặn khả năng truyền tải. Trong quá khứ tôi đã nhận thấy rằng một số động cơ bước lớn, ngay cả khi không được trang bị, gần như không thể lái xe trở lại khi cắm vào thiết bị không có nguồn. Nhưng khi bạn rút phích cắm của chúng, chúng có thể được quay tự do.

Vì vậy, một cách bạn có thể cải thiện khả năng lái xe trở lại là ngăn chặn dòng chảy. Cách rõ ràng để làm điều này là ngắt hoàn toàn động cơ khỏi thiết bị điện tử của nó. Nhưng điều này rất khó thực hiện, ngay cả khi sử dụng FET, bởi vì các điốt bên trong FET có thể cho phép dòng điện chạy qua. Tuy nhiên, bạn có thể sử dụng rơle, điều này thực sự sẽ ngắt kết nối động cơ. Bạn chỉ phải sử dụng nó trên một trong các thiết bị đầu cuối của động cơ.

ESCON của Maxon

Bộ điều khiển servo 'thích hợp' (như ESCON từ Maxon) thực sự chứa bộ điều khiển hiện tại có thể chủ động ngăn dòng điện chạy bằng cách đặt điện áp chính xác tại các đầu nối động cơ. Thay thế các thiết bị điện tử trong servo bằng thứ gì đó có khả năng kiểm soát hiện tại có thể thực sự có ích.

Những gì bạn nên làm: Mở servo, hàn lại mô-tơ và lắp ráp lại. Làm thế nào dễ dàng để trở lại ổ đĩa bây giờ? Nếu nó dễ dàng, thì có thể làm những gì bạn muốn. Nếu ứng dụng của bạn vẫn còn quá khó, thì bạn sẽ phải chọn một servo khác hoặc tự tạo. Tạo một với một giai đoạn bánh răng duy nhất để giảm ma sát bánh răng càng nhiều càng tốt và sử dụng thiết bị điện tử ổ đĩa với vòng điều khiển hiện tại để đảm bảo dòng điện bằng không.


Câu trả lời của SimpleCoder cũng rất tuyệt vời.
Khrob

7

Câu hỏi thú vị.

Tùy chọn đầu tiên tôi điều tra sẽ cắt điện như bạn đề xuất (có thể điều khiển MOSFET trong phần mềm để chuyển đổi nguồn).

Một cách tiếp cận phức tạp hơn có thể là theo dõi mức tiêu thụ hiện tại của servo để phát hiện khi nó ở dưới tải nặng. Khi bạn muốn chuyển sang chế độ "chạy tự do", hãy để phần mềm của bạn cố gắng liên tục di chuyển servo vào vị trí dẫn đến mức tiêu thụ ít nhất hiện tại. Điều này sẽ không hoàn toàn dẫn đến một servo "chạy tự do", vì sẽ có một số chuyển động lộn xộn từ servo khi phần mềm cố gắng tìm vị trí "đúng", nhưng nó có thể hoạt động tùy thuộc vào ứng dụng của bạn.

Bạn sẽ không cần phải sửa đổi các servo của mình để theo dõi mức tiêu thụ hiện tại. Một bo mạch như bảng này từ SparkFun sẽ đặt ở giữa servo và nguồn điện của nó (bạn cần một trong số này cho mỗi servo) và sẽ tạo ra một điện áp tương tự (mà bạn có thể đọc trên chân ADC của vi điều khiển) tương ứng với dòng điện:

nhập mô tả hình ảnh ở đây

Hình ảnh từ SparkFun


@Khrob: Vui lòng xem chỉnh sửa của tôi
Chris Laplante

Thật tuyệt - Bây giờ tôi đã đặt hàng một loạt những thứ đó!
Khrob

@Khrob: Nice, cho chúng tôi biết họ làm việc như thế nào! (Và xin đừng đổ lỗi cho tôi nếu nó không hoạt động;))
Chris Laplante

@Khrob: Ngoài ra, lưu ý rằng tùy thuộc vào cách đo dòng điện nhỏ, bạn có thể cần một bảng nhạy hơn: sparkfun.com/products/8883
Chris Laplante

1
Tôi sẽ bắt đầu rẻ và làm theo cách của tôi lên!
Khrob

5

Thông thường, các loại servo sở thích này không được tạo ra để quay liên tục và thường sẽ bao gồm một điểm dừng cơ học. Coi chừng, những gì tôi phác thảo dưới đây là một cách chắc chắn để không bao giờ có được hoạt động vòng kín thực sự, nhưng thay vào đó sẽ làm cho servo chỉ hoạt động liên tục.

Hầu hết thời gian, bạn có thể thực hiện tìm kiếm nhanh trực tuyến cho "Sửa đổi liên tục cho x servo", nhưng tôi sẽ phác thảo quy trình chung ở đây.

  • Xác định xem servo có dừng vật lý không. Nếu vậy, bạn sẽ phải mở servo và gỡ bỏ nó (tôi khuyên dùng công cụ Drillac).
  • Sau đó, bạn muốn tìm "trung tâm" của cơ chế phản hồi.
    • Kết nối servo với Arduino của bạn và gửi lệnh "trung tâm" (thường là PWM 127).
    • Tìm cơ chế phản hồi (thường là chiết áp) và cắt nó cho đến khi servo hoàn toàn không di chuyển.
    • Hoặc dán chiết áp vào vị trí, hoặc đo điện trở và thay thế chiết áp bằng điện trở giá trị đặt.
  • Lắp lại servo.

Bây giờ việc gửi lệnh "trung tâm" đến servo sẽ ngăn không cho nó di chuyển, trong khi gửi lệnh dương hoặc âm sẽ khiến nó xoay liên tục theo hướng này hay hướng khác. Tốc độ quay phải tỷ lệ thuận với "khoảng cách" từ trung tâm của lệnh được gửi.

Nếu bạn muốn khôi phục hoạt động servo cho servo mới được sửa đổi, bạn có thể thêm một số loại bộ mã hóa để đóng lại vòng lặp.

Ngoài ra, bạn có thể muốn xem xét sê-ri sê-ri Dynamixel , cho phép hoạt động cả liên tục và séc-vô và bao gồm một số hỗ trợ Arduino.


Tôi ổn với việc có một giới hạn cơ học cho chuyển động, nhưng đây sẽ là một cách tốt để mở rộng nó hơn nữa để có một vết nứt khi thiết lập con lắc ngược! Tôi đã xem các công cụ của Dynamicixel, và nó rất tuyệt, nhưng $$ hơn tôi hy vọng sẽ chi cho việc này.
Khrob

Ấn tượng của tôi là OP muốn bắt đầu một cái gì đó chuyển động bằng cách lái một servo và sau đó để nó "chạy" mà không có điện cho đến khi nó tự nhiên dừng lại theo quán tính. Tôi không biết bất kỳ thiết kế servo nào (liên tục hay không) sẽ cho phép hiệu ứng này xảy ra.
Crake

@Crake, tôi đồng ý, tôi tin rằng tôi đã trả lời sai câu hỏi, nhưng tôi sẽ bỏ qua vấn đề này, vì tôi đã thực hiện công việc: p. IIRC, các máy chủ động pixel nên có cài đặt "bờ biển".
mjcarroll

@mjcarroll Yep, tôi nghĩ thật hữu ích khi đề cập đến cách sửa đổi một servo để xoay liên tục vì đó là nhiệm vụ phổ biến cho các dự án robot giá rẻ. Tôi tò mò liệu các động cơ servo có sử dụng thuật toán đo hiện tại được mô tả trong câu trả lời của SimpleCoder không, liên tục tìm cách giảm thiểu dòng điện bằng cách điều chỉnh PWM hoặc nếu chúng có bộ ly hợp vật lý để ngắt mô tơ servo khỏi trục truyền động.
Crake

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.