基于MATLAB的道路照明计算程序
2015-01-16于涛张泳高杰天津市市政工程设计研究院天津300051
于涛,张泳,高杰(天津市市政工程设计研究院,天津 300051)
基于MATLAB的道路照明计算程序
于涛,张泳,高杰(天津市市政工程设计研究院,天津 300051)
本文根据城市道路照明设计标准,以MATLAB/GUIDE为平台,开发了用于道路照明设计的计算程序;对程序的算法进行了详细介绍,并给出了计算程序中用到的理论基础;介绍了用户界面,并通过实例演示说明其使用方法。
道路照明;MATLAB;计算程序
1 引言
在道路照明设计中,需要进行一系列计算,保证设计参数符合相应规范。设计参数之间相互关联,对一个参数做出调整,其他参数也会相应改变。例如,布灯间距的减小,可以有效提高平均照度,但同时也会增加功率密度。另外,布灯间距和灯杆高度之间也有一定的约束关系。因此,对于经验不足的设计人员,需要多次改变参数,进行试探性计算,才能找到一组最优参数组合。
本文以MATLAB/GUIDE为平台,开发了道路照明计算程序,省去了繁琐的试探性计算。该程序采用模块化结构,方便调试,易于扩展和改进,同时具有友好的用户界面,操作简单。
2 理论基础
2.1 平均照度和功率密度
平均照度和功率密度是照明设计中的两个重要参数,其计算公式分别如式(1)和式(2)所示[1]。
式中,为光源光通量,本文程序设计默认光源为高压钠灯,其光通量与功率对应关系如表1所示[2];为利用系数,本文取值为0.4;为维护系数,本文取值为0.7;与排列方式有关,单侧布灯时=1,双侧对称布灯时=2;是路灯安装间距;是路宽;是光源功率。
表1 功率和光通量对应关系
2.2 线路压降计算
工程计算中,近似认为线路电压损耗等于电压降落的纵分量,由电压降落的向量图可得到电压降落纵分量计算公式[3],如式(3)所示:
式(3)中,为线路末端的功率因数角,为电缆电阻,为电抗,程序默认使用铜电缆,部分常用电缆截面积与阻抗的对应关系如表2所示[4]。
表2 铜电缆阻抗值
道路照明的电路模型如图1所示,为方便计算,做如下近似:
(1)同一线路上,布灯间距均相等,不同灯杆所使用的灯的参数完全相同;
(2)等长度电缆的阻抗值相同,忽略电缆阻抗对功率因数的影响,各支路电流值及功率因数均相同。
图1 道路照明电路模型
综上可得,照明线路的电压损耗为:
式(5)中,为照明线路中灯的个数。
3 算法设计
3.1 主程序设计
为方便程序的调试以及今后的改进和扩展,将程序中的所有计算以及查询过程全部编写为子程序,并在主程序中调用,具体算法如下。
(1)依据城市道路照明设计标准编写查询表子程序,用于查询设计参数的标准值。
(2)读取道路等级、路宽和车道数等基本参数,查询得到平均照度、功率密度的标准值和灯杆高度、布灯间距的限定值。
(3)进行自动程序设计,相应的子程序命名为Automatic。通过调用Automatic子程序求得最优设计参数,Automatic子程序的具体算法将在下一节详细给出。
(4)在同一优先级上设置自主优化设计模块,相应子程序命名为Optimize,当Automatic子程序计算出的设计参数不能满足设计要求时,可进行自主设计,此时需要输入灯杆高、布灯间距、灯的功率及相应的光通量,通过调用Optimize子程序读取这些数据并进行功率密度和照度的计算,然后与标准值进行比较,如果不满足要求则给出警告。将最终的设计结果设置为全局变量,用于下一步电压损耗及线路负荷计算。
(5)分别计算线路电压损耗及线路负荷。用户输入电缆截面积、供电半径和功率因数,通过用户界面进行读取,然后调用相关子程序,计算线路负荷及线路电压损耗。将线路电压损耗换算成百分制,若超过5%则输出警告。
综上,主程序的流程图如图2所示。
图2 主程序流程图
3.2 子程序设计
子程序Automatic是程序设计的核心部分,其目的是寻找最优参数组合,省去繁琐的试探性计算。除了子程序Automatic之外,其他子程序均为简单的计算和判断。本节只对子程序Automatic的算法进行详细介绍。
子程序Automatic要实现的功能为:根据路宽、车道数等基本参数进行计算,得到一组最优设计参数,包括使用灯的功率、灯杆高、布灯间距以及该设计参数下的功率密度和平均照度。算法的整体思想为:首先进行大规模计算,获得大量可能符合标准的参数组合;然后对计算得到的大量数据进行筛选,选择最优参数组合。具体实现方法如下。
(1)将光源进行编号。以高压钠灯为例,分别将50W到400W高压钠灯从1到6进行编号,并将常用到的双灯头进行编号,从7到10分别表示2×100W、2×250W、2×400W和250W+400W。这样可得到10种不同编号的光源,每一个编号都对应着不同的功率和光通量。
(2)将灯杆高度的最小值向上取四分之一,例如,灯杆的最小高度为12m,则向上取3m,分别对12m、13m、14m、15m四种情况进行计算。同样,将布灯间距的最大值向下取六分之一,得到布灯间距的计算范围。10种不同光源编号、N1种不同灯杆高度和N2种不同布灯间距构成了10×N1×N2种参数组合。
(3)进行三重循环,对所有参数组合下的功率密度和平均照度进行计算。建立二维数组,对计算得到的功率密度和平均照度进行判断,将符合规范要求的参数组合存入二维数组。二维数组的第一列到第五列分别对应光源编号、灯杆高度、布灯间距、功率密度和平均照度。
(4)对二维数组进行判断。若数组为空,则说明没有符合程序要求的数据,给出提示并退出;若数组不为空,则将二维数组保存,方便查询。然后进行最优参数组合的筛选,筛选标准为:符合规范的前提下,按照灯杆高度由低到高、布灯间距由大到小的原则进行选择;为方便标注桩号,优先选择布灯间距为整数的一组参数。综上,子程序的算法流程图如图3所示。
3.3 用户界面设计
MATLAB提供了用户界面开发环境,即GUIDE(Graphical User Interface Design Environment)。程序代码与用户界面之间可进行数据的读取和输出,因此,通过用户界面可以更加方便地对程序进行操作。
用户界面如图4所示。根据功能不同,将用户界面划分为以下七个模块:基本参数输入、程序设计、自行优化设计、设计参数输出、线路压降及负荷计算、压降及负荷计算结果、警告。
4 实例演示
某条道路全长9 2 3 m,行车道为双向6车道,路宽为2×14.75m,快速路标准。道路照明设计的计算过程如下。
采用双侧布灯方式,选用截光型灯具,在用户界面的“基本参数”模块中输入相应参数,点击“程序设计”模块中的“OK”键,计算结果会显示在“设计参数”模块中的相应位置。
在“线路压降及负荷计算”模块中设置相应参数,选择电缆截面积为25mm2,连接方式为三相跳接,输入供电半径600m,功率因数为0.9。点击“OK”键,计算结果显示在“压降及负荷计算结果”模块中。
图3 子程序流程图
程序设计给出了一组符合规范的参数,如图4所示,灯杆高15m,布灯间距45m,光源为高压钠灯,功率为250W+400W。计算得到的平均照度为36.7Lx,功率密度为0.98W/m2。选用截面积为25mm2的电缆,供电半径控制在600m以内,则线路压降不超过4.6%。
程序设计过程中已将所有符合规范的参数组合进行了保存,保存文件命名为Database,保存路径为程序所在文件夹。若程序筛选出的参数组合不能满足设计要求或不是最优参数组合,可查询保存数据,进行自主筛选。若保存的数据中仍然没有符合要求的参数组合,可以通过“自行优化设计”模块自主设定相关参数,对功率密度和平均照度进行验证性计算。
Computing Program for Road Lighting based on MATLAB
According to the standard for lighting design of urban road, a program is developed for calculation of road lighting based on MATLAB/GUIDE. The algorithm is introduced in detail, and the theories used in the program are also given. The user interface is introduced, and an instance is shown to demonstrate how to use the user interface.
Road lighting; MATLAB; Program for calculation
B
1003-0492(2015)09-0106-03
TP311