用ansys q3d提取pcb板上的寄生参数及注意事项

2024-04-12 21:20

本文主要是介绍用ansys q3d提取pcb板上的寄生参数及注意事项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需求

画好pcb板后,想要提取回路的寄生参数

1 保存为ad格式

因为之前图方便用立创eda画的板子,结果无法导出成想要的格式。因此需要将立创eda的文件导出为ad格式。立创eda的官网有相关教程。

注意事项(只说自己遇到的问题)

  • 导出以后用ad打开,电源和地有两个很大的圆盘(不知道原因)。选中以后,找一下ad中的改变形状大小的选项,然后统统改为0就行了
  • 有一个【填充(也就是铺铜)】的地方只有外面的轮廓(虚线),但没有铜。需要选中那个形状以后选择repour,即重建铺铜。因为两个软件中铺铜规则设置得不太一样,最后的结果也会有区别。如果比较重要的话,还是在ad中也修改一下规则,改成和立创eda一样
  • 并不完全适配的,还是需要多检查一下有没有漏掉的/bug区域。关于有哪一些东西可能会无法导出,在官网中有提到。

2 用ad导出为ansys eda格式

ansys eda

有可能遇到的问题已经写了两篇文章了【Altium Designer】导出为ansys EDB时提示EDB datebase initialization error的问题
【Altium Designer】扩展程序中没有ansys EDB exporter/安装不了新的扩展程序的问题

3 用ansys slwave打开刚生成的edb文件

3.0 导入

在导入页面选择ansys edb格式
在这里插入图片描述

全部勾选导入

在这里插入图片描述

3.1 保存

打开后,在左侧勾选所有的节点,ctrl+s保存。只有保存才能进行下一步

在这里插入图片描述

3.2 导出

保存后导出为q3d文件

在这里插入图片描述把红框中的内容全部勾选

在这里插入图片描述

注意事项

  • 导入的时候选择.edb后缀的文件夹,而不是其他文件
  • 遇到了一个节点无法导入的问题(图中的dummy),应该是因为这个节点是孤立节点,没有和其他节点形成连接。暂时没有找到解决办法

4 用ansys electronics desktop打开q3d文件

4.1 删除非铜层

用ansys electronics desktop打开刚刚导出的aedt文件,把solder(焊料层)和soldermask(阻焊层)两个折叠下面的所有信息删除。

在这里插入图片描述

4.2 形成回路

因为导入进来的只有铜和焊盘,没有电感等元器件,所以在放置元器件的地方放材料为copper(铜)的立方体,以形成回路(图中绿色部分)

在这里插入图片描述

这里暂时没搞懂应该画多大的立方体,不知道大小会不会有很大的影响

4.3 设置source和sink

接下来要设置能量的输入和输出部分,我的方法是在输入正极和地分别画一个小方块然后选择其【face】,右键分别设置为source和sink。这样子应该测出来的是整个回路的寄生电感

在这里插入图片描述

注意这里不能直接选择整个object
,而要选择face,在这里可以修改选中的类型

在这里插入图片描述

4.4 更新网表

画完之后,更新一下网表,理论上此时除了驱动外,所有的部分都合并为一个网络了

在这里插入图片描述

在这里插入图片描述

5 进行分析

5.1 初始化设置

双击analysis的setup,在打开的页面中把这里的频率改成实际的工作频率。Solution selection全部勾选

在这里插入图片描述

然后在setup上右键选择add frequency sweep,增加扫频的内容(不知道为什么这里要扫频,反正视频教程是这么说的)

在这里插入图片描述

在新弹出的窗口修改start、end以及步长大小
在这里插入图片描述

5.2 开始分析

在analysis上右键选择analyze all,然后就等待,右下角会出现进度条
在这里插入图片描述

如果结束以后会出现一个完成的提示,在信息栏中看

在这里插入图片描述

6 查看结果

在results右键选择solution data,打开分析的结果页面
在这里插入图片描述

选择AC RL,选择想要分析的频率,就可以看到回路寄生电阻和寄生电感

这篇关于用ansys q3d提取pcb板上的寄生参数及注意事项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/898267

相关文章

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

4B参数秒杀GPT-3.5:MiniCPM 3.0惊艳登场!

​ 面壁智能 在 AI 的世界里,总有那么几个时刻让人惊叹不已。面壁智能推出的 MiniCPM 3.0,这个仅有4B参数的"小钢炮",正在以惊人的实力挑战着 GPT-3.5 这个曾经的AI巨人。 MiniCPM 3.0 MiniCPM 3.0 MiniCPM 3.0 目前的主要功能有: 长上下文功能:原生支持 32k 上下文长度,性能完美。我们引入了

bytes.split的用法和注意事项

当然,我很乐意详细介绍 bytes.Split 的用法和注意事项。这个函数是 Go 标准库中 bytes 包的一个重要组成部分,用于分割字节切片。 基本用法 bytes.Split 的函数签名如下: func Split(s, sep []byte) [][]byte s 是要分割的字节切片sep 是用作分隔符的字节切片返回值是一个二维字节切片,包含分割后的结果 基本使用示例: pa

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

如何确定 Go 语言中 HTTP 连接池的最佳参数?

确定 Go 语言中 HTTP 连接池的最佳参数可以通过以下几种方式: 一、分析应用场景和需求 并发请求量: 确定应用程序在特定时间段内可能同时发起的 HTTP 请求数量。如果并发请求量很高,需要设置较大的连接池参数以满足需求。例如,对于一个高并发的 Web 服务,可能同时有数百个请求在处理,此时需要较大的连接池大小。可以通过压力测试工具模拟高并发场景,观察系统在不同并发请求下的性能表现,从而

多路转接之select(fd_set介绍,参数详细介绍),实现非阻塞式网络通信

目录 多路转接之select 引入 介绍 fd_set 函数原型 nfds readfds / writefds / exceptfds readfds  总结  fd_set操作接口  timeout timevalue 结构体 传入值 返回值 代码 注意点 -- 调用函数 select的参数填充  获取新连接 注意点 -- 通信时的调用函数 添加新fd到

struts2中的json返回指定的多个参数

要返回指定的多个参数,就必须在struts.xml中的配置如下: <action name="goodsType_*" class="goodsTypeAction" method="{1}"> <!-- 查询商品类别信息==分页 --> <result type="json" name="goodsType_findPgae"> <!--在这一行进行指定,其中lis是一个List集合,但

ROS - C++实现RosBag包回放/提取

文章目录 1. 回放原理2. 回放/提取 多个话题3. 回放/提取数据包,并实时发布 1. 回放原理 #include <ros/ros.h>#include <rosbag/bag.h>#include <std_msgs/String.h>int main(int argc, char** argv){// 初始化ROS节点ros::init(argc, argv,