Hello,
I am running an ac-dc converter, which uses a full bridge inverter and full bridge rectifier. All these four half bridges (two inverter half bridges and two rectifier half bridges) in the converter need to be operated at 50% duty cycle. The phase shifts between them should be modulated, and the frequency of operation should be varied according to the line cycle voltage to achieve the PFC operation of the converter. I am using ePWMs 1 - 4 for this purpose and loading the TBPRD and TBPHS values of these ePWMs from the lookup table, which stores phase shift and frequency values with respect to the ac line voltage.
Operating frequency of the converter varies from 275 kHz to 300 kHz (corresponding TBPRD values varies from 365 to 330 respectively).
Phase shifts of these half-bridges 2 to 4 vary in the following ranges with respect to half-bridge-1:
Half-bridge 2: always 180 degrees
Half-bridge 3: 25 degrees to 130 degrees
Half-bridge 4: 130 degrees to 225 degrees
ePWMs 1 and 2 output is fine as expected, but pulses are missing out in ePWM 3 for some duration, and also compare skip events are occurring intermittently for a cycle or two in ePWMs 3 and 4.
I understand that while actively changing TBPHS and CMPA values, I need to be a little careful. While updating TBPHS and CMPA values, if my new CMPA value is falling between the new TBPHS and old TBPHS value, I am making my new CMPA value to be new TBPHS + 1 for that one switching cycle and back to the desired CMPA value after that.
Even after implementing this thing in my code, I was facing the same issue.
Any comments or suggestions to get rid of this issue?
Thanks and regards
Dheeraj