we are currently testing a slightly modified version of BESC G2.
While testing, we faced a strange behavior. Under certain conditions, the PWM input signals of the gate drivers gets some kind of "unstable". In detail, the duty cycle is suddenly incorrect (too long) for individual pulses.
The circumstances under which this happens:
- Voltage >= 60 V
- Metal surface near PCB covering area of STM32, gate drivers and MOSFETs
The following measurement shows correct PWM signals at 6 % DC 1000 ERPM Openloop operation at 30 V (CH1: High side signal on phase A, CH2: High side signal on phase B).
Length of each pulse is 25 µs ± 6%.
When increasing the voltage to 60 V (+ metal surface near PCB) sporadic incorrect pulses start to occur. On each incorrect pulse, the motor makes a clicking sound:
The length of individual pulses is around 50 µs, so exactly double the length of regular signals. In addition, we noticed some kind of instability of the software (e.g. output of terminal commands is truncated).
What we tried so far:
- Replaced STM32F405 (even different batches)
- Replaced all MCU capacitors
- Replaced gate drivers + capacitors
- Replaced and tested 8 Mhz crystal
- Logged TIM1 register values (CCR, ARR, CNT). No abnormalities found.
- Tested for MCU "brown out". BOR level 1 was never triggered.
It is strange, that wrong pulses have exactly twice the length. Is it possible that TIM1 is skipping some update events?
Do you have any ideas? Thank you for your support!