2019-11-26 03:59 AM
Previously I've designed a motordriver based on an STM32F303 and an ST L6206 Dual Full Bridge driver. I've had some issues with the interfacing between the MCU and the bridge driver, because the MCU works on 3V3 and the bridge driver works on 5V. So I decided to add logic level shifter ICs as can be seen in the pictures.
The logic level shifters are bidirectional and therefore able to translate a 3V3 signal to 5V and vice versa. The OverCurrent Detection pins are connected to the ENable pins on the L6206, which are pulled to GND in case of an overcurrent condition, these are hooked up to EXTI pins on the MCU (active low). The Pins for the four inputs receive a PWM signal (from timer 3) from the MCU, but first I configured them as general purpose outputs.
The issue I ran into was that the 3V3 signal on the outputs of the MCU was received as 2.8V (HIGH) and 2.0V (LOW) on the inputs of the L6206. In my new design I'm trying to mitigate this by adding capacitors to the VCCA and VCCB of the logic level shifters, but I'm wondering if it's better to remove them alltogether and use a different way to switch the L6206 through the MCU. Unfortunately, I was unable to test if the 4-channel logic level shifter on the side of the encoders worked correctly, before the power conversion on the 3V3 and the 5V failed.
Does anyone happen to have any experience with combining an L6206 and an STM32 on the same board? Should I stick with my (new) design, or should I look for a different solution using FETs or a different IC?
Previous topics:
https://community.st.com/s/question/0D50X0000BcRSCkSQO/i-built-a-brick