2025-06-14 7:25 PM
Hi everyone,
I'm working with the STM32F446RE and exploring the 6-step BLDC motor control example provided by the STM32 Motor Control SDK. In the CubeMX configuration of the firmware:
3 GPIOs are configured as analog inputs:
M1_BEMF_U → PC3 → ADC1_IN13
M1_BEMF_V → PA7 → ADC1_IN7
M1_BEMF_W → PB0 → ADC1_IN8
However, in the ADC Injected Conversion Mode, only Channel 13 (PC3) is selected and used (1 injected conversion configured).
See image below for reference:
My question is:
Why are all 3 BEMF pins configured in CubeMX if only Channel 13 is used in the ADC injected group?
I expected that all 3 channels would be used in the injected sequence to sample U, V, and W BEMF voltages.
Do they dynamically change the injected channel in code depending on the commutation step? Or is there another reason for this configuration?
Thanks in advance for any clarification!