BLDC motor driver 30A
Last updated
Last updated
and based board with supply voltage up to 60V and phase current up to 30A. BLDC motor driver 30A is primarily designed for robotic applications requiring precise position and torque control. VB32G4 control module is capable of FOC calculations at frequencies of 40-60 kHz depending on software complexity and optimization levels. Thanks to the inline Hall effect current sensors and the built-in charge pump in the DRV8328, it is possible to achieve 100% turn-on time of the FETs in each half-bridge. Dual CS lines on the SPI3 are useful for geared motor applications. Two absolute encoders - one on the motor rotor and one on the gearbox output - can be read simultaneously. Board layout allows heatsink mounting to reduce FETs junction temperature. Integrated EEPROM is suitable for storing motor calibration parameters. Solder pads are available for endstop switches and indication wiring. XH connectors for sensors interfacing make custom cables crimping an easy task.
Hints: We strongly discourage the use of STM32 HAL peripheral control functions. In most cases, they are bloated and take an absurd amount of time to perform simple tasks such as transmitting/receiving a word via SPI or changing the timer duty cycle. Use STM32 LL functions where possible. At the same time, HAL functions are fine to use during peripheral initialization. FOC requires frequent calculation of sin/cos functions. We recommend moving the calculation of these functions to the STM CORDIC coprocessor. This not only unloads the CPU, but is also much faster than CMSIS-DSP. We also recommend that developers use . Placing the motor control code in RAM can significantly reduce execution time. In our setup, we achieved the following numbers: when running from RAM, the execution of the control loop takes 1100 cycles, compared to 2000 cycles when running from FLASH.
Print version
Driver IC datasheet
EEPROM datasheet