K-Scale Motor Controller

From Humanoid Robots Wiki
Jump to: navigation, search

This is the K-Scale Motor Controller design document.

Requirements[edit]

  • Microcontroller
    • STM
    • Other:
      • Integrated motor control MCUs
      • For high-precision and complex control tasks with an emphasis on real-time networking and performance, the Infineon XMC4800 is suitable, especially if you need robust communication features like EtherCAT for interconnected device control.
      • If budget and simplicity are key considerations, and less intensive processing is required, the NXP LPC1549 offers a good balance. It provides essential capabilities for motor control without the complexities of advanced networking, making it ideal for straightforward applications.
      • For a balance between performance and ecosystem support, with flexibility in hardware and software, the STM32F405RG is an excellent choice. It offers a powerful ARM Cortex-M4 processor and a rich development ecosystem, suitable for developers looking for extensive community support and flexibility.
      • When high-end communication like EtherCAT isn't a necessity but robust control capabilities are still required, the Infineon XMC4500 is a strong contender. It provides similar processing power and peripheral support as the XMC4800 but without the integrated networking capabilities, which can be advantageous for applications focusing solely on control tasks without the need for complex network communications.
      • MCUs (without integrated motor control)
        • RP2040
  • Power supply
    • Assume we will have 48 volt power to the board
  • Communication
    • CAN bus
      • Other
        • Texas Instruments ISO1050DUBR [5]
    • 1 Mbps
  • Sensing
    • Temperature
      • Other
        • Maxim Integrated DS18B20 [6]
    • Absolute (single turn) position
      • Other
        • Infineon TLE5012B [7]
        • AMS AS5047P [8]
    • Current sensing
      • Other
        • Allegro ACS770 [9]
  • Programming port
    • USB C

Design[edit]

References[edit]