0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DC分析示例-使用Python求解网格电流

CHANBAEK 来源:摩尔学堂 作者:摩尔学堂 2022-09-13 09:58 次阅读

了解在直流和稳态交流电路分析中使用 Python 和 SymPy 如何帮助加快和简化网格电流和相量电流等计算。

基本电路是线性系统,确定电路中的电流或电压值需要使用线性代数。我发现当我“求解”一个电路(即确定流过电路中所有元件的电流值)时,电路定律的应用早在确定感兴趣的数量之前就已经完成。在短短几分钟内,我们就可以确定一个描述简单电路行为的方程组。然而,手动操作这组代数方程以找到我们正在寻找的量可能需要相当长的时间。

许多学生和教育工作者经常求助于MATLAB来寻求线性系统的帮助,但Python和SymPy包也可以轻松免费地用于分析直流和稳态交流电路。让我们通过一些示例来说明这一点,从 DC 分析开始。

DC 分析示例 - 使用 Python 求解网格电流

图 1 中的电路在现实生活中可能不存在,它没有任何实际用途。

pYYBAGMf4mKAE2yLAABykxHwC9E329.png

图 1. 直流电路示例电路原理图。

然而,在典型的电路分析教科书中,使用这种带有直流电源的全电阻电路作为在大型电路环境中练习应用基尔霍夫定律和欧姆定律的一种手段。

作为说明,我认为如果您将这些不视为可能是真实的电路,而是将其视为具有特定知识基础和技能组合的人的难题来解决……这会有所帮助……为了好玩!

除此之外,我已经在该电路上绘制了网状电流I 1和 I 2,我们可以使用网状电流分析技术来设计以下等式 1a 和 1b:

poYBAGMf4m-AIRR7AAAowBEqZ-4122.png

有了这个方程组,我们就有效地完成了电路理论的应用。将这些方程一起处理以求解网格电流 I 1和 I 2的值的剩余任务是纯代数的。让我们将这个方程组转换为矩阵,并使用 Python 为我们研究代数,而不是手动这样做。我们的矩阵将由每个网格电流的电阻系数和方程右侧的电压组成,如图 2 所示。

poYBAGMf4oGAf8qVAAA5Z4fABcY338.png

图 2. 描述图 1 电路的 I、R 和 V 关系的矩阵方程。

接下来,我们转向 Python。我使用Google Colaboratory 进行此类计算,因为它可以通过网络访问,并且我需要的所有库都可用。但是,如果您的 Python 环境包含 SymPy 库,您可以使用您喜欢的任何环境。

为了在 Python 中求解我们的方程组,让我们首先导入 SymPy 库,然后定义我们的矩阵,最后使用以下命令计算其简化的行梯形,以确定两个网格电流的值:

from sympy import *

dcEquations = Matrix([[3000, 1500, 9],[1500, 1650, 6]])

dcEquations.rref()

这会产生以下输出:

(Matrix([

[1, 0, 13/6000],

[0, 1, 1/600]]), (0, 1))

这些代码片段告诉我们,I 1的值为 13/6000 A 或 2.17 mA,而 I 2的值为 1/600 A 或 1.67 mA。

使用 Python 的稳态交流分析示例

我们用于分析图 1 中的直流电阻电路的方法也可以用于分析稳态交流电路,并且 在纸上设计一个实际上可以服务于实际目的的交流电路并不需要花费太多精力。图 3 显示了一个带有两个无功负载(电感器)的电路,每个负载都可以代表一个用于空调单元、污水泵、冰箱压缩机或其他家用电器设备的电机

pYYBAGMf4qGAfT1xAABM08D8mko564.png

图 3. 具有两个无功负载的稳态交流电路示例。

图 3 中的电路称为“稳态”交流电路,因为它的电源具有固定频率和恒定幅度。从这里开始,我们需要将电路中的电感转换为阻抗(以欧姆为单位),以便我们可以使用网格电流方法来分析其稳态行为。因此,我们根据公式 2 计算电路中电感器的阻抗,使用源的驱动频率为 ω (120π rad/s)。

pYYBAGMf4qyAAAxBAAAL30Rd3dg558.png

在图 4 中,我们用每个无源元件的阻抗和相量网格电流 I 1和 I 2重新绘制了电路。

poYBAGMf4r-Ac8AGAABhTdlkYLg539.png

图 4. 将电感转换为阻抗后的图 3 的交流电路。

就像我们对图 1 中的电路所做的那样,我们可以使用基尔霍夫电压定律和欧姆定律推导出与图 4 中电路中的元件和网格电流相关的方程组。方程 3a 和 3b 构成了该系统。

pYYBAGMf4suAEkk5AAArl4Usnyg916.png

同样,用于求解图 4 电路中网格电流的其余过程是纯代数。该方程组的矩阵形式如图 5 所示。

poYBAGMf4t-AdtOKAABDgfR0M_s976.png

图 5. 等式 3a 和 3b 的矩阵表示图 4 的稳态交流电路。

Python 中的以下命令将为图 4 中电路中的网格电流值求解该方程组。请注意,我们可以在矩阵定义中使用“j”而无需任何特殊努力,因为“j”在 SymPy 中定义为复空间中的虚单位。

from sympy import *

acEquations = Matrix([[2+3.77j,-(2+3.77j), 120],[2+3.77j, -(5+6.41j), 0]])

acEquations.rref()

这会产生以下输出:

(Matrix([

[1, 0, 35.7203044893402 - 44.6772284258869*I],

[0, 1, 22.5428313796213 - 19.8376916140667*I]]), (0, 1))

这告诉我们相量电流 I 1和 I 2分别为 (35.72 – j44.68)A 和 (22.54 – j19.84)A。请注意 Python 如何将虚数单位表示为“I”而不是“j”。为了将这些转换为时间相关函数,我们应用了一点三角函数来找到它们各自的幅度和相位。I 1的幅度和相位通过等式 4a 和 4b 求得:

pYYBAGMf4vGAEFO_AAA4a8uNeRs673.png

类似地,根据等式 5a 和 5b 求出I 2的幅度和相位:

pYYBAGMf4vuASkIqAAA5ZcQeG6A582.png

最后,给定这些幅度和相位,我们确定 I 1和 I 2的函数形式:

pYYBAGMf4weAZIOVAAA2PmGENQQ637.png

Python 和 SymPy 对直流和稳态交流分析的好处

请注意,稳态交流分析确实需要预先从电感(和/或电容)转换为复阻抗以及之后从相量形式转换为时间相关形式的额外步骤。然而,使用 Python 应用这种矩阵技术在求解交流电路时比直流电路为我们节省了更多的计算时间,因为 Python 甚至可以为我们处理复杂的代数,轻松处理增加的虚数维度。

对于直流和稳态交流电路分析,可以轻松使用 Python 和 SymPy 库来减少确定所需值所需的工作量。虽然这些示例中分析的电路相对简单,但该技术可以扩展到具有更多网格的更复杂电路。以这种方式使用 Python 不仅可以减少解决电路问题所花费的时间,而且还可以帮助学生在练习新学习的网络分析技术时在心理上区分电路理论和纯代数。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DC
    DC
    +关注

    关注

    9

    文章

    3644

    浏览量

    679371
  • 交流电路
    +关注

    关注

    0

    文章

    182

    浏览量

    28812
  • python
    +关注

    关注

    56

    文章

    4783

    浏览量

    84473
收藏 人收藏

    评论

    相关推荐

    60个重要的Python示例

    60个重要的Python示例
    发表于 10-26 09:29 636次阅读

    如下电流检测电路具体是怎么分析的?

    在如图电路中,+和DC+之间串接低值电阻,检测正母线流过电流。 请教该电路具体是怎么工作的?尤其是在这两个三极管的工作过程?如果电流从左往右流过,+点电压高于DC+,该怎么
    发表于 03-03 11:29

    matlab的根轨迹、增益选择、方程求解和演示示例命令

    matlab的根轨迹、增益选择、方程求解和演示示例命令根轨迹 Pzmap 零极点图 Rlocfind 交互式地确定根轨迹增益 Rlocus 画根轨迹 Sgrid 在网格上画连续根轨迹 Zgrid
    发表于 09-22 15:57

    电源网格的电压下降和电迁移(EMI)效应分析

    电源网格的电压下降和电迁移(EMI)效应分析集成电路电源分配系统的用途是提供晶体管执行芯片逻辑功能所需的电压与电流。在0.13微米以下工艺技术时,IC设计师不能再想当然地认为VDD和VSS网络
    发表于 10-23 11:10

    网格铺铜时线宽报错,改了网格线宽也没用

    网格铺铜时为什么线宽报错呢?改了网格线宽也没有用,不知道是什么原因,求解答。
    发表于 03-21 07:35

    HFSS求解器的主要特点

    求解的导体和介质模型表面的电流,由于HFSS-IE不需要另外绘制空气盒子并对其划分网格和计算,因此可以高效求解开发空间的辐射和散射问题,特别适合于计算大尺寸的开放域问题。HFSS-I
    发表于 06-28 06:48

    网格电流分析电路

    求解网格电流分析方程的基本过程如下:1.用循环电流标记所有内部回路。(我1,我2,...我L等)2.编写[ L x 1 ]列矩阵[ V ],
    发表于 10-05 11:45

    IE和FEBI求解器详解及对比

    在最新的HFSS2015里面,HFSS总共有五种算法求解器,HFSS-IE的全称是积分方程法求解器,它是一个基于全波积分方程的电磁场求解器,该求解器采用的是面
    发表于 11-22 16:27 6112次阅读
    IE和FEBI<b class='flag-5'>求解</b>器详解及对比

    python代码示例之基于Python的日历api调用代码实例

    本文档的主要内容详细介绍的是python代码示例之基于Python的日历api调用代码实例。
    发表于 09-06 14:25 42次下载
    <b class='flag-5'>python</b>代码<b class='flag-5'>示例</b>之基于<b class='flag-5'>Python</b>的日历api调用代码实例

    Python使用示例程序和工程文件免费下载

    本文档的主要内容详细介绍的是Python使用示例程序和工程文件免费下载。
    发表于 06-15 08:00 6次下载
    <b class='flag-5'>Python</b>使用<b class='flag-5'>示例</b>程序和工程文件免费下载

    HFSS的IE和FEBI求解器的详细资料概述

     HFSS-IE的全称是积分方程法求解器,它是一个基于全波积分方程的电磁场求解器,该求解器采用的是面网格求解的导体和介质模型表面的
    发表于 11-06 10:40 3次下载
    HFSS的IE和FEBI<b class='flag-5'>求解</b>器的详细资料概述

    数列极限的求解方法及案例分析

    数列极限的求解方法及案例分析
    发表于 03-24 10:25 0次下载
    数列极限的<b class='flag-5'>求解</b>方法及案例<b class='flag-5'>分析</b>

    机器学习必学的Python代码示例

    机器学习必学的Python代码示例
    发表于 06-21 09:35 14次下载

    支路电流法是以什么为求解对象

    的定义 支路电流法是一种基于基尔霍夫电流定律(KCL)的电路分析方法。它通过将电路分解为若干个支路,并以这些支路的电流为变量,建立一组线性方程组来
    的头像 发表于 08-08 17:00 817次阅读

    使用DC/DC模拟确认线圈电流的方法和选定最佳线圈的示例

    本篇介绍了使用DC/DC模拟确认线圈电流的方法和选定最佳线圈的示例
    的头像 发表于 08-20 17:05 408次阅读
    使用<b class='flag-5'>DC</b>/<b class='flag-5'>DC</b>模拟确认线圈<b class='flag-5'>电流</b>的方法和选定最佳线圈的<b class='flag-5'>示例</b>