LabVIEW在线性电阻电路中的应用

2014-07-22 01:07郭旭东宛元生周家磊
赤峰学院学报·自然科学版 2014年7期
关键词:支路方程组线性

周 鹏,郭旭东,宛元生,周家磊,宋 娜

(1.安徽工程大学 安徽省电气传动与控制重点实验室,安徽 芜湖 241000;2.烟台三环门业有限公司,山东 烟台 264000)

LabVIEW在线性电阻电路中的应用

周 鹏1,郭旭东1,宛元生1,周家磊1,宋 娜2

(1.安徽工程大学 安徽省电气传动与控制重点实验室,安徽 芜湖 241000;2.烟台三环门业有限公司,山东 烟台 264000)

以线性电阻电路为例,借助于LabVIEW软件中的“MathScript节点”和“求解线性方程VI”函数节点来实现电路的设计与分析,通过设置随时改变电路中的电阻值、电压源以及电流源数值的大小,即时观察各个支路电流的变换情况,有助于更加清晰地理解电路现象,为电路知识的学习开辟一种新的途径.

线性电阻电路;LabVIEW;MathScript节点;求解线性方程VI

电路在电子、电气、电力等各种电类技术领域中的基础地位是非常重要的,对于电路知识的学习重点在于学习和理解各种电路定理定律的内涵,并从各类电路实验中观察电路现象,并结合理论进行分析,但是电路中的各种物理量的变化是看不见摸不着的,不容易直接观察到,给直观理解电路带来了一定的困难.而LabVIEW以其交互性好、界面直观、编程简单易懂等优势给电路知识的学习、实验和相关设计提供了一个崭新的平台[1].LabVIEW中提供了多大600多种内置函数,各种强大而又灵活的数学分析功能为电路仿真和计算提供了有力的技术支持.本文以线性电阻电路为例,借助于Lab-VIEW软件中的“MathScript节点”和“求解线性方程VI”函数节点来实现该电路的设计与分析,实验证明该设计方法简单,界面清晰直观,对线性电阻电路的分析具有一定的通用性.

1 线性电阻电路

电阻电路是以电阻、电流源、电压源等电路元件构成的电路,若电路中的电阻元件的伏安特性是线性的,则称该电路为线性电阻电路.线性电阻电路是比较简单的一种电路,也是分析其它复杂形式电路的基础.

求解线性电阻电路的数学方法一般是通过使用代数方程或代数方程组来实现,其电路所遵循的基本定律是基尔霍夫电压定律(KVL)和基尔霍夫电流定律(KCL),常用的电路分析方法有支路电流法、回路电流法以及节点电压法等.对于此类线性电路电路,利用已有的成熟定律和分析方法,按照一般规律写出方程组进行求解即可.

而利用LabVIEW软件来编写程序来求解的优点是,既可以搭建友好的交互界面,更加直观的理解电路,又可以在运行程序时,动态地改变线性电阻电路中的元件参数,实时地观察由于电路参数的改变所带来的电路的影响和变化.

2 LabVIEW软件概述

LabVIEW是实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench)的简称,是美国国家仪器(National Instruments Corp.简称NI公司)推出的一种功能强大的图形化编程软件.LabVIEW的独到之处在于它使用图形化编程语言在程序框图中创建源程序,即用程序框图代替了传统的程序代码,运行方便,编程简单容易实现,界面直观易懂[2].

LabVIEW作为自动化测试、测量领域的专业软件,在测量信号的时域分析和处理中,用户经常需要对信号进行数学运算和分析,LabVIEW内部集成了600多个分析函数,其中包含了丰富而功能强大的数学分析函数节点,这些函数节点涵盖了初等与特殊函数、函数计算与微积分、线性代数、概率统计、曲线拟合、最优化等方面的应用,为用户的编程提供了极大的方便.LabVIEW本身所具有的强大的数学分析能力可以有力地完成对数据的各种分析和处理.

由于本文将使用LabVIEW软件中的“Math-Script节点”和“求解线性方程VI”函数节点来实现该电路的设计与分析,因此首先介绍“MathScript节点”和“求解线性方程VI”函数节点的详细使用.

2.1 “MathScript节点”

MathScript节点是LabVIEW8.0以后版本推出的面向数学的文本编程语言,它的文本描述语言为LabVIEW MathScript,它是用于编写函数和脚本的文本编程语言,一种与MATLAB语言语法极为相似的语言,熟悉MATLAB使用方法的用户可以很方便地利用MathScript节点编写出与MATLAB风格相似的基于LabVIEW MathScript语法的脚本代码.新的MathScript节点包含了600多个数学分析与信号处理函数,并增加和增强了丰富的图形功能.利用MathScript节点在LabVIEW图形化代码中嵌入.m文件脚本使用户能访问大量的图形化工具库,从而进行信号处理、分析和数学计算[3].

MathScript节点是内建于LabVIEW的,可处理大多数在MATLAB或兼容环境中创建的文本脚本,因此用户不需要安装MATLAB软件也可以正常运行这些代码,可以使用内建的600多个数学分析与信号处理函数.

注意,不是所有的文本脚本均有MathScript支持.另外在涉及到更具体复杂的领域,如神经网络分析、图形处理、小波变换、复杂混沌分析等方面,则需要结合MATLAB来实现[4].

在LabVIEW中使用MathScript的方法有两种.一种是使用LabVIEW MathScript窗口,通过Lab-VIEW MathScript窗口,提供了一个交互式界面,通过它用户可以像使用MATLAB一样输入m文件脚本命令,编译运行M脚本文件,并能立即看到运行结果、观察变量和命令历史等.另一种方法是在程序框图窗口中使用MathScript节点,如图1所示.该函数节点VI由蓝色矩形框表示,利用MathScript节点,用户可以直接输入m文件脚本语言或从文本文件中导入.用户可以在MathScript节点的边界定义、命名输入和输出,来指定图形化LabVIEW程序和文本化MathScript节点之间传输的数据.本文使用第二种方法完成线性电阻电路的设计.

图1 “MathScript节点”

2.2 “求解线性方程VI”函数节点

线性方程组是可以用一个线性的方程表示的方程组,它的数学表达式是AX=Y,如A为m×n的“输入矩阵”,Y为“右端项”中的m个系数,X为方程组“向量解”中n个元素.“求解线性方程”函数节点如图2所示.

图2 “求解线性方程”函数节点

线性方程组的解具有以下特点[3]:

(1)由实际问题列出的线性方程组,其方程个数不一定等于未知量的个数,即m≠n.

(2)如果m>n,方程组中方程的个数多于未知量个数,方程组是超定的.满足AX=Y的解可能不存在,VI可得到最小二乘解X,使得||AX=Y||最小化.

(3)如果m

(4)如果m=n时,如A为非奇异矩阵,即没有任何行或列是其它行或列的线性组合,通过使“输入矩阵”A分解为上三角矩阵U和下三角矩阵L可求解方程组X,例如:AX=LZ=Y与Z=UX可以作为原有方程组的另一种表示方法.Z也是n个元素的向量.三角方程组容易通过递归方法求解.因此,得到矩阵A的上三角矩阵U和下三角矩阵L后,通过LZ=Y方程组可得到Z,通过UX=Z可得到X.

(5)如果m≠n时,A可以分解为正交矩阵Q和上三角矩阵R,使得A=QR,线性方程组可以表示为QRX=Y.然后求解RX=QTY.通过递归方法容易求解上三角矩阵得到X[5].

3 实例分析

如图3所示的电路中,R1,R2,R3为线性电阻,且已知R1=12欧,R2=6欧,R3=3欧.电压源US=42伏,电流源IS=7安,参考方向如图中标出所示,求解图3中流过各个电阻的电流.该电路是一典型的线性电阻电路.通过分析可知,使用支路电流法求解最为简单.

图3 支路电流法分析电路

图3所示的电路图中支路数为4,但恒流源支路的电流已知,则未知电流只有3个,所以可只列3个方程.当不需求a、c和b、d间的电流时,(a、c)、(b、d)可分别看成一个结点.注意支路中含有恒流源.

对图3中所示的结点a,应用KCL列结点电流方程:

因所选回路不包含恒流源支路,所以,3个网孔列2个KVL方程即可.对图3中所示的回路①和对回路②,应用KVL列回路电压方程:

将式(1)和(2)整理成矩阵形式的线性方程组为:

使用LabVIEW设计实现求解电流,具体步骤如下.

(1)通过自定义控件的方法实现电阻元件来搭建电路图.各个电阻和电压源、电流源元件都设置成数值型输入控件,以便参数可以根据具体要求进行调整.

(2)在前面板上放置其他另外3个数值型显示控件,用来表示所求的三个电流I1,I2,I3.

(3)使用“MathScript节点”生成线性方程组的系数矩阵和已知向量,再使用“求解线性方程VI”函数节点求出向量解,向量的各个元素就是所求的三个电流I1,I2,I3的值.

(4)由于该实例的参数量是带有单位的,所以在编程是还要注意有单位数据和无单位数据之间的转换,否则LabVIEW会报错.该转换是通过“函数”选板→“数值”→“转换”→“单位转换”函数节点“”来实现.本实例设计分析中,电压的单位“伏”表示为“V”,电阻的单位“欧”表示为“Ohm”,电流的单位“安”表示为“A”.

实现该例程的前面板和程序框图如图4所示.在图4(a)所示的程序前面板中设置三个电阻、电压源以及电流源的值分别为R1=12欧,R2=6欧,R3=3欧电压源US=42伏,电流源IS=7安,最后求的I1=2安,I2=-3安,I3=6安.也可以在程序运行时,通过前面板上的数值控件随时改变电阻值和电压源以及电流源数值的大小,即时观察到各个支路电流的变换情况,界面非常直观,更加清晰地理解电路现象,掌握电路的定律定理知识.

4 结论

论文以一个简单的线性电阻电路为例,使用LabVIEW软件中的“MathScript节点”和“求解线性方程VI”函数节点来实现该电路的支路电流法设计与分析,实验证明该设计方法求解简单,界面清晰明了,对线性电阻电路的分析包括回路电流法、节点电压法等方法都具有一定的通用性.通过设置前面板上的数值控件,就可以随时改变与之对应的电阻值、电压源以及电流源数值的大小,即时观察到各个支路电流的变换情况,有助于更加清晰地理解电路现象,掌握电路的定律、定理,为电路知识的学习开辟了一种新的途径,在复杂电路分析与求解中具有实际的显著效果.

〔1〕陈国顺,张桐,郭阳宽,王正林.精通LabVIEW程序设计(第2版)[M].北京:电子工业出版社,2012.

〔2〕周鹏.基于DSP和LabVIEW的虚拟仪器系统研究[D].烟台大学,2007.

〔3〕NATIONAL INSTRUMENTS.LabVIEWTM User Manual[R].Autin Texas USA,April 2003 Edition.

〔4〕Mathscript编程指南[EB/OL].www.gsdzone.net/ community,2011.

〔5〕郑对元,等.精通LabVIEW虚拟仪器程序设计[M].北京:清华大学出版社,2012.

TP911.72

A

1673-260X(2014)04-0051-03

2012年地方高校国家级大学生创新创业训练计划项目基金(201210363130,201210363126,201210363119)

猜你喜欢
支路方程组线性
一种新的生成树组随机求取算法
渐近线性Klein-Gordon-Maxwell系统正解的存在性
深入学习“二元一次方程组”
线性回归方程的求解与应用
《二元一次方程组》巩固练习
一类次临界Bose-Einstein凝聚型方程组的渐近收敛行为和相位分离
二阶线性微分方程的解法
“挖”出来的二元一次方程组
多支路两跳PF协作系统的误码性能
利用支路参数的状态估计法辨识拓扑错误