ODrive V3.6
chip:stm32, chip:stm32f4, chip:stm32f405
ODrive V3.6 is an open-source dual-motor FOC controller based on the STMicro STM32F405RG and TI DRV8301 gate drivers.
See https://odriverobotics.com/shop/odrive-v36 for further information.
For now we support only ODrive V3.6 56V.
Pin configuration
+----------------+----------------+----------------+----------------+ | Board Pin | Chip Function | Chip Pin | Notes | +================+================+================+================+ | GPIO_1 | | PA0 PA1 | | | GPIO_2 | | | | +----------------+----------------+----------------+----------------+ | GPIO_3 | USART2_TX | PA2 | Serial TX | +----------------+----------------+----------------+----------------+ | GPIO_4 | USART2_RX | PA3 PA4 PA5 | Serial RX | | M1_TEMP | ADC1_IN4 | PA6 PA7 PA8 | | | AUX_TEMP | ADC1_IN5 | PA9 PA10 PA11 | | | VBUS_S M1_AL | ADC1_IN6 TIM8 | PA12 PA13 PA14 | | | M0_AH M0_BH | CH1N TIM1 CH1 | PA15 | | | M0_CH USB_DM | TIM1 CH2 TIM1 | | | | USB_DP SWDIO | CH3 USB DM USB | | | | SWCLK GPIO_7 | DP | | | +----------------+----------------+----------------+----------------+ | M0_SO1 | ADC2_IN10 | PC0 | M0 current 1 | +----------------+----------------+----------------+----------------+ | M0_SO2 | ADC2_IN11 | PC1 | M0 current 2 | +----------------+----------------+----------------+----------------+ | M1_SO2 | ADC3_IN12 | PC2 | M1 current 2 | +----------------+----------------+----------------+----------------+ | M1_SO1 | ADC3_IN13 | PC3 PC4 PC5 | M1 current 1 | | GPIO_5 | | PC6 PC7 PC8 | | | M0_TEMP | ADC1_IN15 | PC9 | | | M1_AH M1_BH | TIM8 CH1 TIM8 | | | | M1_CH | CH2 TIM8 CH3 | | | | M0_ENC_Z | | | | +----------------+----------------+----------------+----------------+ | SPI_SCK | SPI3_SCK | PC10 | DRV8301 M0/M1 | +----------------+----------------+----------------+----------------+ | SPI_MISO | SPI3_MISO | PC11 | DRV8301 M0/M1 | +----------------+----------------+----------------+----------------+ | SPI_MOSI | SPI3_MOSI | PC12 | DRV8301 M0/M1 | +----------------+----------------+----------------+----------------+ | M0_NCS | SPI CS | PC13 | DRV8301 M0 CS | +----------------+----------------+----------------+----------------+ | M1_NCS | SPI CS | PC14 PC15 PB0 | DRV8301 M1 CS | | M1_ENC_Z | | PB1 PB2 PB3 | | | M1_BL M1_CL | TIM8 CH2N TIM8 | PB4 PB5 PB6 | | | GPIO_6 | CH3N | PB7 PB8 PB9 | | | GPIO_8 | | PB10 PB11 | | | M0_ENC_A | TIM3_CH1IN_2 | | | | M0_ENC_B | TIM3_CH2IN_2 | | | | M1_ENC_A | TIM4_CH1IN_1 | | | | M1_ENC_B | TIM4_CH2IN_1 | | | | CAN_R CAN_D | CAN_R CAN_D | | | | AUX_L AUX_H | | | | +----------------+----------------+----------------+----------------+ | EN_GATE | OUT TIM1 CH1N | PB12 PB13 PB14 | M0/M1 DRV8301 | | M0_AL M0_BL | TIM1 CH2N TIM1 | PB15 PD2 | | | M0_CL | CH3N | | M0/M1 DRV8301 | | N_FAULT | | | N_FAULT | +----------------+----------------+----------------+----------------+
Board hardware configuration
Current shunt resistance 0.0005 Current sense gain 10/20/40/80 Vbus min 12V Vbus max 24V or 56V Iout max 40A (no cooling for MOSFETs) IPHASE_RATIO 1/(R_shunt*gain) VBUS_RATIO = 1/VBUS_gain 11 or 19
Configurations
nsh
Configures the NuttShell (nsh) located at apps/examples/nsh. The Configuration enables the serial interfaces on USART2. Support for builtin applications is enabled, but in the base configuration no builtin applications are selected.
usbnsh
This is another NSH example. If differs from other 'nsh' configurations in that this configurations uses a USB serial device for console I/O.