Problem was in my PCB - it was error during PCB routing. How to correct similar mistake you can read in last post
Can be any difference beetween STM32F303VCT6 and STM32F303RBT6 except form factor?
I'm working with STM32FOC SDK 4.3 for my project Table tennis robot - homemade hobby project
I have working custom PCB with STM32F303VCT6 rev Y (LQFP-100) and it works as expected.
Also I've created a new PCB with STM32F303RBT6 rev Y (LQFP64), which uses same pins configuration as STM32F303VCT6.
I'm using three shunt configuration with embedded PGA's for current control and overcurrent protection.
1) Both PCBs have same configuration for power stage - high side active low, low side active high
I just use compiled firmware from STM32F303VCT6 in STM32F303RBT6 and have really strange behaviour od deadtime logic:
- in STM32F303VCT6 deadtime works as expected. Yellow high side pulse switches from active (zero) to inactive("one") before blue low side pulse switches from inactive (zero) to active active (one)
- in STM32F303RBT6 same firmware gives me "inverse" deadtime. Yellow high side pulse switches from active (zero) to inactive("one") after blue low side pulse switched from inactive (zero) to active active (one). It's really bad situation, which will damage power stage under normal conditions
2) I tried to test firmware with both high and low sides "active high" configuration (I turned off power stage power supply). With this configuration both controllers work correct - there is deadtime beetween pulses
- Both "active high" sygnals for STM32F303VCT6
- Both Both "active high" sygnals for STM32F303RBT6
3) I tried this firmware with 2 different STM32F303RBT6 rev Y: one I've bought from Arrow.com few days ago, and second from my local distributor in Ukraine. The behaviour is same for both mcu's.
Here are my mcu's - first from local distributor, second from arrow.com
Maybe the problem is in firmware, but why same firmware has different behaviour in same family of STM32F303? Is the difference only in form-factor, or not?