High power driver - DRV8323

Hi there,

I’m thinking about designing a motor driver for a 63100 BLDC motor

  • 63mm diameter
  • 103mm long excl. shaft
  • 60V max
  • 100A max
  • 0.031Ohm winding resistance
  • 100 Kv

I’m looking at the STM32G431 together with a TI DRV8323RH (3-ch 60V half-bridge gate driver with 3 integrated current shunt amplifiers) driving some pretty beefy MOSFETs.

Because of the high currents involved, I’d like to have a thermistor near the power FETs and one on the motor casing to monitor to ensure it doesn’t burn up. Same goes for monitoring supply voltage.

Reading the docs and the discussions on the forum, using analogRead() re-initializes the ADC on every call and thus takes 60µs, which would mess up the current control loop if the pin your’re trying to read is on the same ADC.

Is there a way to work effectively with ADCs with STM32duino? Or a way to force the current sense channels to ADC1 and the misc stuff to ADC2? Or am I missing the point completely?

kind regards,

I’m moving forward with the schematic of the ESC.
In the final application I want to drive 4 motors, with each their own ESC. I haven’t decided yet on going with RS-485 or CAN to a host, so I put in both for now.

I’ve made the MCU pinout with STM32CubeMX, so the G431 pinout should be fine. Any issues with this schematic?