Difference between revisions of "K-Scale Motor Controller"
(Created page with "This is the K-Scale Motor Controller design document. === Requirements === * '''Microcontroller''' ** STM * '''Power supply''' ** Assume we will have 48 volt power to the bo...") |
(→Design) |
||
(22 intermediate revisions by 3 users not shown) | |||
Line 5: | Line 5: | ||
* '''Microcontroller''' | * '''Microcontroller''' | ||
** STM | ** STM | ||
+ | ** Other: | ||
+ | *** '''Integrated motor control MCUs''' | ||
+ | **** Infineon XMC4800<ref>https://www.infineon.com/cms/en/product/microcontroller/32-bit-industrial-microcontroller-based-on-arm-cortex-m/32-bit-xmc4000-industrial-microcontroller-arm-cortex-m4/xmc4800/</ref> | ||
+ | **** Infineon XMC4500<ref>https://www.digikey.com/en/products/detail/infineon-technologies/XMC4500F100K1024ACXQSA1/4807912</ref> | ||
+ | **** NXP LPC1549<ref>https://www.digikey.com/en/products/detail/nxp-usa-inc/LPC1549JBD64QL/4696352?utm_adgroup=&utm_source=google&utm_medium=cpc&utm_campaign=PMax%20Shopping_Product_Medium%20ROAS%20Categories&utm_term=&utm_content=&utm_id=go_cmp-20223376311_adg-_ad-__dev-c_ext-_prd-_sig-Cj0KCQjw_-GxBhC1ARIsADGgDjuYk7Hf3F-L_hoQ_4E-fPfjELknu3EAmm9IstEnc92wSAbIMEt0UZAaAsneEALw_wcB&gad_source=1&gclid=Cj0KCQjw_-GxBhC1ARIsADGgDjuYk7Hf3F-L_hoQ_4E-fPfjELknu3EAmm9IstEnc92wSAbIMEt0UZAaAsneEALw_wcB</ref> | ||
+ | **** STM32F405RG<ref>https://www.lcsc.com/product-detail/Microcontroller-Units-MCUs-MPUs-SOCs_STMicroelectronics-STM32F405RGT6_C15742.html</ref> | ||
+ | ***** Used by [[ODrive]] | ||
+ | *** 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''' | * '''Power supply''' | ||
** Assume we will have 48 volt power to the board | ** Assume we will have 48 volt power to the board | ||
+ | |||
* '''Communication''' | * '''Communication''' | ||
** CAN bus | ** CAN bus | ||
− | ** 1 | + | *** Other |
+ | **** Texas Instruments ISO1050DUBR <ref>https://www.lcsc.com/product-detail/Isolated-CAN-Transceivers_Texas-Instruments-ISO1050DUBR_C16428.html</ref> | ||
+ | ** 1 Mbps | ||
+ | |||
* '''Sensing''' | * '''Sensing''' | ||
** Temperature | ** Temperature | ||
− | ** | + | *** Other |
+ | **** Maxim Integrated DS18B20 <ref>https://www.lcsc.com/product-detail/Temperature-Sensors_Maxim-Integrated-DS18B20-T-R_C880672.html</ref> | ||
** Absolute (single turn) position | ** Absolute (single turn) position | ||
+ | *** Other | ||
+ | **** Infineon TLE5012B <ref> https://www.lcsc.com/product-detail/Position-Sensor_Infineon-Technologies-TLE5012B-E3005_C539928.html</ref> | ||
+ | **** AMS AS5047P <ref> https://www.lcsc.com/product-detail/Position-Sensor_AMS-AS5047P-ATSM_C962063.html </ref> | ||
** Current sensing | ** Current sensing | ||
+ | *** Other | ||
+ | **** Allegro ACS770 <ref> https://www.lcsc.com/product-detail/Current-Sensors_Allegro-MicroSystems-LLC-ACS770LCB-050U-PFF-T_C696104.html </ref> | ||
+ | |||
* '''Programming port''' | * '''Programming port''' | ||
** USB C | ** USB C | ||
Line 21: | Line 46: | ||
* [https://github.com/kscalelabs/motor-controller See this repository] | * [https://github.com/kscalelabs/motor-controller See this repository] | ||
+ | |||
+ | === References === | ||
+ | |||
+ | <references /> |
Latest revision as of 15:02, 8 May 2024
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]
- Other
- 1 Mbps
- CAN bus
- Sensing
- Programming port
- USB C
Design[edit]
References[edit]
- ↑ https://www.infineon.com/cms/en/product/microcontroller/32-bit-industrial-microcontroller-based-on-arm-cortex-m/32-bit-xmc4000-industrial-microcontroller-arm-cortex-m4/xmc4800/
- ↑ https://www.digikey.com/en/products/detail/infineon-technologies/XMC4500F100K1024ACXQSA1/4807912
- ↑ https://www.digikey.com/en/products/detail/nxp-usa-inc/LPC1549JBD64QL/4696352?utm_adgroup=&utm_source=google&utm_medium=cpc&utm_campaign=PMax%20Shopping_Product_Medium%20ROAS%20Categories&utm_term=&utm_content=&utm_id=go_cmp-20223376311_adg-_ad-__dev-c_ext-_prd-_sig-Cj0KCQjw_-GxBhC1ARIsADGgDjuYk7Hf3F-L_hoQ_4E-fPfjELknu3EAmm9IstEnc92wSAbIMEt0UZAaAsneEALw_wcB&gad_source=1&gclid=Cj0KCQjw_-GxBhC1ARIsADGgDjuYk7Hf3F-L_hoQ_4E-fPfjELknu3EAmm9IstEnc92wSAbIMEt0UZAaAsneEALw_wcB
- ↑ https://www.lcsc.com/product-detail/Microcontroller-Units-MCUs-MPUs-SOCs_STMicroelectronics-STM32F405RGT6_C15742.html
- ↑ https://www.lcsc.com/product-detail/Isolated-CAN-Transceivers_Texas-Instruments-ISO1050DUBR_C16428.html
- ↑ https://www.lcsc.com/product-detail/Temperature-Sensors_Maxim-Integrated-DS18B20-T-R_C880672.html
- ↑ https://www.lcsc.com/product-detail/Position-Sensor_Infineon-Technologies-TLE5012B-E3005_C539928.html
- ↑ https://www.lcsc.com/product-detail/Position-Sensor_AMS-AS5047P-ATSM_C962063.html
- ↑ https://www.lcsc.com/product-detail/Current-Sensors_Allegro-MicroSystems-LLC-ACS770LCB-050U-PFF-T_C696104.html