Wolfspeed CRD600DA12E-XM3 example code and CAN interface customization
Hello everyone,
I'm trying to modify the example code provided by Wolfspeed for my project. The goal is to use the double 3-phase inverter as an asymmetrical half bridge converter, piloting each transistor of the converter independently.
Then, I would like to activate/deactivate each single transistor using the toggle button from the CAN interface. In this way I will be able to impose the DC voltage on an electronic load (as shown below), which is in a series configuration with 2 phases.
Which code functions shall I modify to use the CAN interface this way?
Comments
-
Forum_Moderator Wolfspeed Employee - Contributor Level 4
Thank you for your post, it has been approved and we will respond as soon as possible.
-
ChrisN Wolfspeed Employee - Contributor Level 2
Hello Depè,
Thank you for your question. Please note that most converters require fast (kHz-MHz) control of switching devices to operate successfully. The CAN interface is slow and was not designed for that level of control. It is intended to provide updated configuration settings to the onboard controller which performs the fast control. If you are planning on controlling the switch positions by toggling them manually through the CAN interface, you might not get your intended functionality. Furthermore, you introduce significant risk of shorting the bus by improperly enabling switch positions in a not allowed configuration.
Understanding these risks, the logic enable (LEN) and power supply enable (PSEN) signals are controlled from the CAN user interface. These signals are used to enable the gate driver power supplies and the PWM logic to the gate drivers. By default, these signals control each half-bridge switch pair, rather than each individual switch position like you are requesting. You could change the functionality of these signals such that the gate driver logic and gate driver power supplies are always enabled, then you could use the 12 total signals (6 LEN + 6 PSEN) to control each switch position individually.
In addition to changing the LEN/PSEN functionality, you will need to change the EPWM initialization functions in the firmware (initEPWMx) to drive the PWMs high/low depending on the LEN/PSEN signals, rather than operating with sinusoidal pulse width modulation (SPWM). You will also need to remove the updatePWM calls from the EPWM1 interrupt service routine (epwm1ISR) to prevent the EPWMs from reverting back to SPWM. We do not directly support writing code, however these are the steps I would use to achieve your target functionality.
Thanks,
Chris N. -
TBhatia Wolfspeed Admin - Contributor Level 5
Hi, I hope that this answered your question. I will close this discussion for now but if you have a follow up question, please "Start a New Discussion" and we would be glad to support you further.