Thông báo

Collapse
No announcement yet.

Mong được giúp đỡ thuật toán điều khiển 5 động cơ RC Servo cho cánh tay máy Robot !

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Mong được giúp đỡ thuật toán điều khiển 5 động cơ RC Servo cho cánh tay máy Robot !

    Chào các bạn mình đang tìm hiểu về cánh tay Robot 5 bậc tự do, trong quá trình lập trình mình đã điều khiển được 1 cái động cơ RC Servo rồi nhưng mình không biết làm sao để điều khiển được 2 cái động cơ RC Servo trở lên. Vì mới tìm hiểu về động cơ RC Servo nên kiến thức còn rất yếu.
    Mong các bạn giúp đỡ! Xin cảm ơn.

  • #2
    Để đơn giản mình có thể dùng 5 mcu riêng biệt, giao tiếp với nhau bằng i2c hoặc đơn giản hơn chỉ cần quét để nhận tín hiệu liên lạc giữa chúng.
    Rất yếu thì cứ nghĩ là điều khiển 5 cái motor nối tiếp hoặc song song vậy thôi, chứ chưa nên nghĩ là làm arm-robot, nghe ghê gớm mà thật ra lại rất yếu.

    Comment


    • #3
      Để đơn giản mình có thể dùng 5 mcu riêng biệt, giao tiếp với nhau bằng i2c hoặc đơn giản hơn chỉ cần quét để nhận tín hiệu liên lạc giữa chúng.
      Rất yếu thì cứ nghĩ là điều khiển 5 cái motor nối tiếp hoặc song song vậy thôi, chứ chưa nên nghĩ là làm arm-robot, nghe ghê gớm mà thật ra lại rất yếu.
      -Dùng 5 con MCU để điều khiển---> @@
      -Điều khiển 5 cái motor nối tiếp hoặc song song --> ý của mình định điều khiển: RC Servo 1 chạy rồi tới RC Servo2 chạy .... RC Servo5 chạy
      -Giao tiếp I2C: Cách này cũng hay nhưng hiện tại mình k biết với lại mình muốn dùng 1 con MCU để điều khiển được không

      Comment


      • #4
        Nguyên văn bởi avr Xem bài viết
        Để đơn giản mình có thể dùng 5 mcu riêng biệt, giao tiếp với nhau bằng i2c hoặc đơn giản hơn chỉ cần quét để nhận tín hiệu liên lạc giữa chúng.
        Rất yếu thì cứ nghĩ là điều khiển 5 cái motor nối tiếp hoặc song song vậy thôi, chứ chưa nên nghĩ là làm arm-robot, nghe ghê gớm mà thật ra lại rất yếu.
        Dùng 5 MCU riêng biệt để điều khiển 5 động cơ Servo thì mình thấy quá lãng phí "tài nguyên" Hơn nữa việc ghép nối các MCU lại với nhau sẽ làm phức tạp thêm phần mạch điện và phần lập trình để các MCU đồng bộ với nhau cũng sẽ thêm phức tạp.
        Nguyên văn bởi robot_arm212 Xem bài viết
        Chào các bạn mình đang tìm hiểu về cánh tay Robot 5 bậc tự do, trong quá trình lập trình mình đã điều khiển được 1 cái động cơ RC Servo rồi nhưng mình không biết làm sao để điều khiển được 2 cái động cơ RC Servo trở lên. Vì mới tìm hiểu về động cơ RC Servo nên kiến thức còn rất yếu.
        Mong các bạn giúp đỡ! Xin cảm ơn.
        Như mình được biết thì động cơ Servo là dạng động cơ DC hoặc AC, được gắn thêm bộ phận điều chỉnh phản hồi vòng kín. Việc điều khiển động cơ Servo dựa trên nguyên tắc:
        "Góc quay của động cơ được xác định bằng độ rộng của xung PWM cấp đến động cơ: Độ rộng xung dao động từ 1mS đến 2mS, với độ rộng 1mS động cơ sẽ quay tới vị trí cực tiểu, với độ rộng 2mS động cơ sẽ quay tới vị trí cực đại. Khoảng dao động từ 1mS đến 2mS sẽ khiến động cơ quay các góc trong khoảng cực tiểu tới cực đại.- Lập trình C cho hệ thống nhúng"
        Như vậy để đơn giản trong viêc điều khiển 5 động cơ Servo theo mình bạn nên dùng những VĐK có sẵn bộ PWM bằng phần cứng (ATmega8, ...) trong chương trình điều khiển bạn chỉ cần thay đổi thông số PWM cho các cổng ra theo nguyên tắc ở trên thì các động cơ Servo mắc trên các chân PWM tương ứng sẽ hoạt động theo giá trị điều khiển trong chương trình của bạn. Việc sử dụng các VĐK có sẵn PWM bằng phần cứng sẽ giúp bạn đỡ hơn trong việc viết chương trình, tuy nhiên bạn cũng có thể dùng các VĐK không có sẵn bộ PWM (89S52,...) lúc đó bạn sẽ phải giả lập PWM cho các chân điều khiển như vậy bạn có thể điều khiển nhiều hơn 5 động cơ Servo tuy nhiên lúc đó giải thuật chương trình sẽ có phần phức tạp hơn việc sử dụng VĐK có bộ PWM.
        VNATR Forum:

        Comment


        • #5
          Nguyên văn bởi robot_arm212 Xem bài viết
          -Dùng 5 con MCU để điều khiển---> @@
          -Điều khiển 5 cái motor nối tiếp hoặc song song --> ý của mình định điều khiển: RC Servo 1 chạy rồi tới RC Servo2 chạy .... RC Servo5 chạy
          -Giao tiếp I2C: Cách này cũng hay nhưng hiện tại mình k biết với lại mình muốn dùng 1 con MCU để điều khiển được không
          Về ct để chạy 1>2>...5 thì dùng một con bình thường thôi. Nhưng nếu là mình làm 5 bậc tự do thì sẽ làm 6 con mcu, một con là chỉ huy, 5 con kia là lính. Chạy độc lập sẽ nhanh, đa dạng và dễ xử lí ct hơn vì bạn có tới 6 con trỏ chương trình đó.

          Comment


          • #6
            Điều cốt lõi của vấn đề là việc bạn mô hình hóa hệ thống, giải các phương trình động học ngược cho khâu 5 khớp, 5 bậc tự do, còn việc điều khiển các góc khớp đó là một điều vô cùng dễ nếu bạn đã có kiến thức về vi điều khiển và động cơ RC servo.
            Bạn tham khảo project robot 10 bậc tự do của mình nhé:
            humanoid robot spkt viet nam - YouTube

            Comment

            Về tác giả

            Collapse

            robot_arm212 Tìm hiểu thêm về robot_arm212

            Bài viết mới nhất

            Collapse

            Đang tải...
            X