基于SIwave与Icepak的立创四旋翼PCB电热耦合仿真与实验验证
基于SIwave与Icepak的四旋翼PCB电热耦合仿真实战
最近在做一个四旋翼飞行器的项目,飞控和图传板子都是基于立创开源平台上的方案。板子跑起来后,最头疼的问题就是发热。尤其是那个图传发射芯片,摸上去烫手,总担心长时间工作会出问题。光靠感觉和手摸肯定不行,得用科学的方法预测和验证温度。这不,我就把硕士期间做电热耦合仿真的方法用上了,用ANSYS的SIwave和Icepak软件,完整地走了一遍从仿真到实验验证的流程。
今天,我就把这个方法分享给你。如果你也在做无人机、机器人或者其他高功耗的嵌入式硬件,正在为PCB散热发愁,想提前预知板子的“体温”,那这篇教程就是为你准备的。咱们不搞复杂的理论推导,就手把手带你走一遍实战流程,看看怎么用仿真软件来“算”出板子的温度,并且用红外热像仪来验证它准不准。
1. 准备工作:理解我们要仿真的对象
在开始操作软件之前,咱们得先搞清楚要分析的是什么板子,以及为什么要做电热耦合分析。
1.1 板子功能与热源分析
我用的这块板子集成了四旋翼飞行器的几个核心电路:飞控(主控STM32)、遥控器接收机、图传发射模块,还有给它们供电的DC-DC和LDO。板子实物和布局大概长这样(想象一下):
- 飞控部分:核心是STM32F405RGT6,它本身功耗不算特别大,但它是“大脑”,得保证稳定。
- 图传发射部分:这是发热大户!核心芯片是RFPA5542(一个射频功放)。当它全力工作时(比如输出27dBm功率),总功耗能到1.925W,其中绝大部分都转化成了热量。
- 遥控接收部分:用的芯片功耗相对较低。
- 电源部分:实验中我们直接用Type-C供电,所以板载的DC-DC芯片(TPS5430)和LDO(XC6204)实际上没工作,仿真时可以先不考虑它们。
注意:电热耦合仿真,简单说就是考虑“电”和“热”之间的相互影响。电流流过铜线会产生热量(焦耳热),而铜线的电阻又会随着温度升高而变大,导致发热更严重。这是一个耦合的过程,比单纯只算发热要精确。
1.2 获取仿真模型:从立创EDA到SIwave
我的原理图和PCB都是用嘉立创EDA画的,这很方便。要仿真,首先得把PCB设计转换成仿真软件能认的格式。
- 导出设计:在立创EDA中,将完成的PCB设计导出为ODB++格式。这个格式是个行业标准,包含了PCB的层叠结构、走线、过孔、元件位置等所有几何和电气信息。
- 导入SIwave:打开ANSYS SIwave软件,新建一个工程,然后导入刚才生成的ODB++文件。
- 检查和设置材料:导入后,软件会自动识别板子的层叠结构。我们需要根据PCB的实际加工参数,核对并确认每一层的材料、厚度和铜厚。我的板子是一个4层板,具体结构如下表:
| 层名 | 材料 | 厚度(mm) |
|---|---|---|
| 顶层阻焊 | 油墨 | 0.0152 |
| L1 (顶层走线层) | 铜 | 0.035 |
| 介质层 | 环氧树脂 (FR-4) | 0.2104 |
| L2 (内电层/走线层) | 铜 | 0.0152 |
| 核心板介质层 | 环氧树脂 (FR-4) | 1.065 |
| L3 (内电层/走线层) | 铜 | 0.0152 |
| 介质层 | 环氧树脂 (FR-4) | 0.2104 |
| L4 (底层走线层) | 铜 | 0.035 |
| 底层阻焊 | 油墨 | 0.0152 |
- 设置元件和电源网络:按照原理图,在SIwave中给各个芯片的电源引脚分配正确的网络(比如3.3V、5V、GND)。对于电阻、电容、电感这些无源器件,也需要根据BOM表设置其参数值。
完成这些步骤后,SIwave里就有了一个完整的、可计算的PCB电气模型,如下图所示(软件中的3D视图),接下来就可以进行电气分析了。
2. 第一步:直流压降仿真(算算哪里最“费电”)
电热耦合仿真的第一步,是先进行直流分析,看看电流在PCB的铜箔上是如何分布的,哪里电流密度大,哪里产生的焦耳热就多。
2.1 设置功耗条件
我们需要告诉软件,板上各个芯片“吃”多少电流。这些数据来自芯片数据手册和实际电路的工作状态。我整理了一个表格:
| 芯片 | 工作电流 (mA) | 工作电压 (V) | 计算功率 (W) |
|---|---|---|---|
| AT7456E (OSD芯片) | 75 | 5 | 0.375 |
| STM32F405RGT6 (主控) | 150 | 3.3 | 0.495 |
| MPU6500 (陀螺仪) | 3.4 | 3.3 | 0.01122 |
| BMP280 (气压计) | 10 | 3.3 | 0.033 |
| W25N01GVZEIG (Flash) | 35 | 3.3 | 0.1155 |
| ESP8285 (Wi-Fi) | 80 | 3.3 | 0.264 |
| SX1281 (射频) | 10 | 3.3 | 0.033 |
| SE2431 (射频前端) | 7 | 3.3 | 0.0231 |
| RFPA5542 (图传功放) | 285 / 385 | 5 | 1.425 / 1.925 |
| RTC6705 (图传调制) | 100 | 3.3 | 0.33 |
| GD32F130G6U6 (接收机) | 25 | 3.3 | 0.0825 |
提示:RFPA5542有两个电流值,分别对应其输出功率为23dBm(约200mW)和27dBm(约500mW)的状态。我们会分别仿真这两种情况,看看发热差异。
在SIwave的“DC IR Drop”分析设置中,将上表中的电流值添加到对应芯片的电源引脚上。同时,设置环境温度为25°C(室温),并指定一个GND网络作为电压参考零点。
2.2 运行仿真并获取功率密度
点击仿真,SIwave会计算整个PCB上的电流分布和电压降。仿真完成后,最关键的是要导出“功耗分布”结果。这个结果表示了PCB上每一小块区域的发热功率(瓦特/立方米),也就是功率密度。
软件会生成类似下图的功率密度云图,颜色越红的地方,单位体积发热越厉害。可以看到,大电流路径和芯片引脚连接处通常是热点。我们将这个功率密度分布结果保存下来,作为下一步热仿真的“热源”输入。
3. 第二步:在Icepak中建立热仿真模型
直流分析给了我们“热源”分布,接下来就要在ANSYS Icepak里构建一个包含PCB、芯片和周围空气的完整热仿真环境。
3.1 从SIwave启动Icepak并简化建模
SIwave和Icepak可以无缝协同。在SIwave中,可以直接启动Icepak组件,PCB的几何模型和刚才算好的功率密度会自动传递过去。
- 简化芯片模型:对于热仿真来说,不需要芯片内部复杂的电路结构。我们把每个芯片简化成一个长方体(Block),大小和芯片封装一致,贴在PCB的对应位置上。
- 赋予材料属性:需要给PCB各层和芯片模型设置正确的材料属性,主要是密度和导热系数。这是热计算的关键。
| 材料 | 密度 (kg/m³) | 导热系数 (W/m·K) |
|---|---|---|
| 阻焊油墨 | 1570 | 0.26 |
| 铜 | 8933 | 400 |
| 环氧树脂 (FR-4) | 1900 | 0.294 |
| 芯片 (简化模型) | 3970 | 15 |
- 设置芯片功耗:给简化后的芯片方块赋予功耗。对于RFPA5542和STM32F405这些已知功耗的芯片,直接设置其耗散功率(总功率减去输出功率,对于数字和射频芯片,可以近似认为绝大部分功率都转化为热量)。其他芯片则使用表2中的计算功率作为其耗散功率。
3.2 设置求解域与边界条件
热仿真需要在一个有限的空间里进行,这个空间叫求解域。
- 创建求解域:在PCB模型外围创建一个足够大的空气区域(长方体)。我的板子大小是79.19mm x 35.15mm,求解域我设置得非常大,约1.6米见方,这是为了模拟自然对流散热的环境,避免边界对空气流动造成人为限制。
- 设置边界条件:
- 将求解域六个面的边界类型都设为“压力进口/出口(Pressure Opening)”,压力为标准大气压。这表示空气可以自由地从边界流入流出。
- 设置重力方向为Z轴负方向(向下),这是自然对流的关键驱动。
- 设置环境温度为25°C。
3.3 网格划分
将连续的模型离散成一个个小格子(网格),软件才能进行计算。网格质量直接影响仿真精度和速度。
- 生成网格:在Icepak中使用自动网格划分功能,对空气域、PCB和芯片进行非结构化网格划分。
- 检查网格质量:软件会生成网格质量报告。我的模型划分了约162万个网格,其中99.9%以上的网格质量都很好(质量系数>0.53),只有极少数(164个)质量稍差,这在可接受范围内,不会对结果产生决定性影响。网格划分是门学问,对于复杂模型可能需要手动加密关键区域(如芯片附近)的网格。
4. 第三步:运行电热耦合仿真并分析结果
一切准备就绪,现在可以开始“烧脑”计算了。我们尝试两种方法:双向耦合和更精确的单向耦合。
4.1 方法一:双向电热耦合仿真(基础版)
这是一种迭代求解的方法:
- 第一步(电→热):将SIwave算出的初始功率密度加载到PCB上,进行热仿真,得到整个模型的温度分布。
- 第二步(热→电):把这个温度分布反馈给SIwave,因为铜的电阻率随温度升高而增加(铜电阻温度系数约为0.00393/°C),PCB各处的电阻变了。
- 第三步(电→热):SIwave根据新的电阻分布,重新计算电流和功率密度。
- 循环:将新的功率密度再给Icepak算温度……如此反复,直到两次迭代之间的温度变化非常小,我们就说仿真“收敛”了。
在Icepak中,选择“Laminar”(层流)模型(假设空气流动非常平缓),启动双向耦合求解器。经过两次迭代,仿真收敛。
我们得到了什么?
- 温度云图:可以直观看到,图传功放RFPA5542区域是绝对的“热点”,最高温度接近91°C(285mA时)或97.7°C(385mA时)。遥控接收机区域因为离得近,也被“烤”得温度不低,而飞控区域温度相对温和。
- 数据对比:收敛后,PCB铜层的总功耗比初始值增大了约14%。这正是因为温度升高导致电阻增大,在相同电流下产生了更多热量,体现了耦合效应。
4.2 方法二:基于湍流模型的单向电热耦合仿真(进阶版)
在实际中,发热体周围的空气流动往往不是平稳的层流,而是杂乱无章的湍流。用层流模型来模拟自然对流,精度可能不够。
- 选择湍流模型:我测试了多种湍流模型(k-ε, RNG, SST等),对比了它们计算出的最高温度、收敛性和计算资源消耗。最终选择了“Realizable k-ε (Re–k–ε)”模型,它在精度和效率上取得了较好的平衡。
- 网格无关性验证:为了确保仿真结果不依赖于网格的疏密程度,我做了网格无关性验证。不断增加网格数量,观察关键点(如RFPA5542芯片上方)的温度和压力变化。当网格数增加到约134万时,结果基本不再变化,说明网格已经足够密。我们就用这个网格设置。
- 运行单向耦合仿真:这次我们不从头做双向迭代。而是将双向耦合收敛后得到的最终功率密度作为固定热源,直接在Icepak中用Re–k–ε湍流模型进行一次热仿真。这被称为“单向耦合”,因为它只进行了一次从电到热的传递,但使用的热源是经过了电热耦合修正后的更准确的值。
结果对比: 使用湍流模型后,仿真得到的最高温度有所下降(从90.95°C降至86.19°C,285mA工况),温度分布也更平滑。这更接近我们接下来要看到的实验结果。
5. 第四步:实验验证——用红外热像仪说话
仿真做得再漂亮,也得用实验来检验。我搬出了红外热成像仪(型号:优利德UTi320E)。
- 实验设置:将PCB板固定在支架上,置于室内无风环境(模拟自然对流)。通过Type-C接口供电,让板子工作在图传发射状态。分别测试RFPA5542在285mA和385mA两种工作电流下的情况。
- 数据采集:等待板子温度稳定(大约工作15-20分钟后),用红外热像仪拍摄PCB表面的温度分布图。这里有个关键参数:发射率(Emissivity)。不同材料表面发射率不同,必须设置正确才能测准。根据参考文献,我将PCB表面发射率设置为0.94。
- 获取实验数据:从热像图中,我们可以读出最高温度点和几个特定观测点(M1, M2, M3,分别位于图传、接收机和飞控区域)的温度。
实验结果显示:
- 在285mA工况下,PCB最高温度为83.6°C。
- 在385mA工况下,PCB最高温度达到95.1°C。
6. 仿真与实验的终极PK
现在,把仿真结果和实验数据放在一起对比,这是最激动人心的环节:
| 对比项 | 实验测量值 | 双向耦合(层流)仿真值 | 误差 | 单向耦合(湍流)仿真值 | 误差 |
|---|---|---|---|---|---|
| RFPA5542 @ 285mA | |||||
| 最高温度 (°C) | 83.6 | 90.95 | +7.35°C | 86.19 | +2.59°C |
| 观测点M1 (°C) | 63.7 | 68.70 | +5.00°C | 64.09 | +0.39°C |
| 观测点M2 (°C) | 54.8 | 61.14 | +6.34°C | 55.94 | +1.14°C |
| 观测点M3 (°C) | 44.0 | 48.58 | +4.58°C | 44.55 | +0.55°C |
| RFPA5542 @ 385mA | |||||
| 最高温度 (°C) | 95.1 | 97.70 | +2.60°C | 92.64 | -2.46°C |
| 观测点M1 (°C) | 69.0 | 72.04 | +3.04°C | 67.08 | -1.92°C |
| 观测点M2 (°C) | 60.4 | 63.13 | +2.73°C | 58.73 | -1.67°C |
| 观测点M3 (°C) | 47.5 | 49.48 | +1.98°C | 45.30 | -2.20°C |
结论非常清晰:
- 趋势一致:无论是仿真还是实验,温度分布趋势完全吻合——图传区域最热,接收机次之,飞控区域较凉。这说明仿真模型抓住了主要的热源和传热路径。
- 湍流模型更准:使用Re–k–ε湍流模型进行单向电热耦合仿真的方法,精度显著高于简单的层流双向耦合。其最大误差从7.35°C降低到了2.59°C,部分观测点的误差甚至小于0.5°C!这个精度对于工程上的热设计评估已经非常有价值了。
- 工程意义:通过这套“SIwave直流分析 + Icepak湍流模型热仿真”的流程,我们可以在PCB投板生产之前,就相当准确地预测出它的工作温度。这为后续的散热设计(比如要不要加散热片、风扇该往哪吹、芯片布局怎么优化)提供了强有力的数据支撑,能避免很多后期的返工和风险。
希望这个完整的案例能给你带来启发。下次当你设计一块可能发热的板子时,不妨也尝试用仿真工具先给它“体检”一下,做到心中有数,设计无忧。
