Designing a High-Power BLDC Controller the Cool Way (Literally) with Celsius PowerDC
In this article, I want to share my experience with Celsius PowerDC and how it can help accurately design three-phase inverters using single layer aluminum PCBs, a well-known technique to achieve high thermal performance in both high-power LED lighting and motor driver applications like this one.
From Datasheet Dreams to Reality
My journey into thermal design started as a student. I remember staring at transistor datasheets, amazed that something small as 10*10mm could dissipate 375 W of heat. “Wow, that’s incredible!” I thought.
But then came the fine print: this only holds true at a case temperature of 25 °C. Suddenly my excitement deflated. In the real world, you don’t get ideal lab conditions and thermal design becomes a puzzle with many missing pieces.
Most datasheets give you thermal resistance values, but usually just junction-to-case. That’s not enough to predict the actual junction-to-ambient performance. That’s when I realized: to build real hardware, you need to understand heat flow in context; PCB stack-up, airflow, copper weight, everything.
Boss Said “Run the Sim”
Fast forward a few years. I’m no longer a student, now I’m an engineer with a boss who casually says: “Run the thermal sim in Celsius PowerDC,” like it’s a quick coffee break.
In practice? It meant importing PCB models, assigning material properties, mapping heat sources… and occasionally yelling at my monitor when the mesh decided to express its “creativity.”
Still, this was my chance to see if I could design the inverter to run cool on the first try and maybe even make my boss happy by reducing design iterations.
Simulation Workflow
Here’s how I set it up in Celsius PowerDC:
1. Import the PCB- Brought in the layout via ODB++ (or directly from Allegro).
- Adjusted the stack-up, pad materials, and organized nets into power and ground groups using the Net Manager.
2. Set up the electrical circuit
- Added the VRM (Voltage Regulator Module) as the power supply: 48 V, 70.72 A.
- Configured sinks: in my case, five current sense resistors in parallel. Each carried ~14.14 A with equal current sharing definition.
- Defined the discretes: connected the current loop through sense resistors → high-side transistors → motor load → low-side transistors. For the motor, I used a simple two-terminal resistor model adjusted to match the simulated current.
- Phase transistors: 4× transistors in parallel. At 48 V, 100 A peak phase current, and 20 kHz switching, each device dissipated ~1.53 W. I modelled them with the 2-Resistor Compact thermal model, setting junction-to-case and junction-to-board resistances. (Fun fact: for discretes, junction-to-board is often experimental homework unless the datasheet is generous.)
- Sense resistors: straightforward math — I²R. Phase current sense resistors: ~0.4 W each. Input current sense resistors: ~0.28 W each. I modelled the with the material property according to real sense resistor material and the solder that connects them to the board.
4. Boundary conditions (to match real-world testing)
- Ambient temperature: 22.8 °C
- PCB bottom heat transfer coefficient: 280 W/m²·K
With that, the virtual board was ready to sweat and here we can see the simulation result:
Simulation vs. Reality
Next step: hardware validation. I powered up the prototype, logged the NTC thermistor resistance with a DVM, and compared the calculated temperature against the one.
The first thermistor was placed on the Q17 case, and here is the result:
As you can see the temperature settles around 36.16 degrees Celsius, now let’s see what the simulation gives us:
RefDes |
Dissipation |
Case Top Dissipation (W) |
Case Side Dissipation (W) |
PCB Dissipation (W) |
Junction (C) |
Case (C) |
Board (C) |
Q17 |
1.53 |
0.020513 |
0.033415 |
1.476072 |
36.047217 |
36.040675 |
32.618529 |
This one is pretty accurate I must say.
The second one placed on the board itself between the press fit and low-side transistors
Here the error is slightly larger, but still reasonable.
The simulation matched the measurements within 4–5 °C, accurate enough to trust, and definitely accurate enough to avoid any magic smoke.
Conclusion
- Thick copper isn’t an ultimate solution – Thick copper helps, but the aluminum substrate is what really transfers the heat effectively. This technique helps achieving incredibly low thermal resistance in your designs.
- Boundary conditions are critical – Correct heat transfer coefficients, airflow, and heatsinking make or break your thermal model.
- Simulation saves iterations – Instead of fabricating three board revisions, you can try “what if” scenarios virtually.
And the biggest lesson? Thermal simulation isn’t boring. Somewhere between adjusting heat transfer coefficients and arguing with meshing errors, I realized I was actually having fun. Watching a red-hot 3D map cool down to green after a design tweak feels like engineering magic.
Final Thought
Celsius PowerDC helped channel my curiosity in the right direction and gave me a way to design more accurately. Instead of relying on rough estimates or datasheet optimism, I could test real thermal behavior before committing to hardware. For high-power BLDC controllers, where reliability is everything, thermal accuracy is the difference between a smooth ride and a smoky disaster.
So yes, I did make my boss happy. But more importantly, I learned that thermal design doesn’t have to be a chore. With the right tools, it can actually be… cool.