无刷直流电动机程序设计_第1页
无刷直流电动机程序设计_第2页
无刷直流电动机程序设计_第3页
无刷直流电动机程序设计_第4页
无刷直流电动机程序设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

前言本课程设计题目“无刷直流电机程序设计”,指导老师李教授,设计时间从3月7日至6月12日。电机的程序设计是进行电机设计的有力工具,它对开发电机的新系列、新产品所起的作用是人所共知的。日前,越来越多的从事电机产品设计开发的工程技术人员重视和使用这门技术并且在实际应用中获得了越来越显著的成就。电机作为一门学科已有较长的发展历史,随着电机工业的发展,特别是由于应用了电子计算机技术,使其面貌焕然一新。众所周知,电机运行时牵涉到电、磁、机械热等多方面的问题。因此,电机的设计是一个非常复杂的问题,其数学模型相当复杂,设计计算相当麻烦,由于人工计算效率很低,精确度有限,如果在电机设计中应用电子计算机,不仅计算时间大大缩小,将使工程技术人员从繁琐的机械的数学计算中解放出来,而且设计方案的计算范围也扩大了许多,设计出来的方案无论从数量上还是从质量上都有很大的突破。本次课程设计进度可分为如下五个阶段:一、熟悉原理10%二、设计框图20%三、编制程序30%四、调试程序与运行30%五、写说明书10%本次课程设计中,始终得到了指导老师李光中教授的大力指导,特别在熟悉无刷直流电机原理的阶段中,李光中教授经常在百忙之中亲临指导,在此,致以衷心感谢。第1章绪论1.1无刷直流电机的发展应用概及其况无刷直流电机是近年来随着电子技术的迅速发展而发展下来的一种新型直流电机。它是现代工业设备、现代科学技术和军事装备中重要的机电元件之一。一个多世纪以来,电机作为机是能量转换装置,其应用范围已遍及生产中的各个领域以及人们的日常生活之中。电机主要类型有同步电机、步电机与直流电机三种。在此所要讨论的是直流无刷电机。众所周知,直流电机具有运行效率高和调整性能好等诸多优点,随着用途的扩大,对直流电机的要求也就越来越高。显然,有接触的机械换向装置限制了有刷直流电机的应用场合。因传统的直流电机均采用电刷,以机械方法进行换向,因而存在相对的机械摩擦,由此带来了噪声、火花、无线电干扰以及寿命短等致使弱点,再加上制造成本高及维修难等缺点而限制了它的应用范围,致使目前工农业生产上,大多均采用三相步电机。无刷直流电机它既保持了普通直流是动机良好的调整和起动性能,又具有寿命长、可靠性高,加之,它通常采用永磁体为转子,没有激磁损耗;发热的电枢绕组又通常装在外面的定子上,这样,热阻较小,散热容易。因此无刷直流电机没有换向火花,没有无线电干扰,维修方便,此外,它的转速不受机械换向的限制,如采用空气轴承或磁悬浮轴承,可以在每分钟高达几十万转的速度中运行。由于无刷直流电机具有上述一系列优点,因此,它的用途远比有刷直流电机广泛,尤其适用于高级电子设备和一些技术、化工、采矿等特殊部门。1831年法拉第发现了电磁感应现象,奠定了现代电机的基本理论基础。十九世纪四十年代研制成功了第一台直流电机。但随着用途的扩大,对直流电机的要求也就越来越高。显然,有接触的机械换向装置限制了有刷直流电机的应用。为了取代有刷直流电机械接触装置,在早期,人们曾提出过用离子装置的定子绕组按转子位置换接的所谓整流子电机。但此种电机由于可靠性差、效率低、整个装置笨重而又复杂,故无实用意义。随着社会生产力的发展,人们生活水平的提高,需要不断地开发各种新型电机。科学技术的进步,新技术新材料的不断涌现,使得电机产品不断的推陈出新。针对上述直流电机所存在的弊病,早在本世纪30年代,就曾开始研制以电子换向来代替电刷机械换向的直流无刷电机。但因当时大功率电子器件仅处于初级发展阶段,没能找到理想的电子换相器件,使得这种电机只能停留在实验室研究阶段而无法推广使用。随后,科学技术的发展,带来了半导体技术的飞跃,开关型晶体管的研制成功,经过反复的试验和不断的实践,终于找到了用位置传感器和电子换向线路来代替有刷直流电机的机械换向装置,从而为无刷直流电机的发展开辟了新的途径。六十年代,以接近某物而动作的近开关式位置传感器、电磁式谐振式位置传感器和高频耦合式位置传感器相继问世。之后,又出了磁电耦合式和光电式位置传感器。经过反复试验和不断的实践,人们终于找到了用位置传感器和电子换向线路来代替有刷直流电机的机械换向装置,从而为直流电机的发展开辟了新的途径。六十年代初期,以接近某物而动作的接近开关工位置传感器、电磁谐振式位置传感器和高频耦合式位置传感器相继问世。之后,又出现了磁电耦合式和光电式位置传感器。过多年的努力,终于在1962年借助于霍尔元件来实现换流的无刷直流电机。随着比霍尔元件的灵敏度高千倍左右的磁敏二极管的出现,在七十年代初期,又试制成功了借助磁敏二极管实现换流的无刷直流电机。在试制各种类型的位置传感器的同时,人们试图寻求一种没有附加位置传感器结构的无刷直流电机。1968,首次提出了采用电容移相来实现换流的新方法。在此基础上,后来人们又试制成功借助数字式环形分配器和过零鉴别器的组合来实现换流的无附加位置传感器的无刷直流电机。从环境保护,节约能源角度出发,无刷直流电机具有广阔的发展前景。比如在电动自行车上、电动车上的运用。并且掀起了研制和开发的无刷直流电机在交通方面的运用热潮,究其原因,无刷直流电机在这方面的运用具有特别重要的意义,比如:没有一般汽车废气排放,可降低车辆噪声污染,多种清洁能源能用于发电,有益于环境保护;能源效率高,有利于节约能源,主要是防止石油的进一步日益枯竭和能源短缺等。随着人们生活节奏的加快,活动范围的不断扩大,人们希望获得一种轻便快捷、简单安全的交通工具。无刷直流电机在电动轿车、电动摩托车和电动助力自行车上的运用就是一个最典型的例子。于是人们选择了燃油助动车,但由于燃油助动车采用小容量二冲程汽油发动机为动力,其废气排放浓度是一般轿车的3-5倍,其污染问题引起了社会各界和主管部门的高度重视。在上海、苏州等大中城市,于1996年便开始禁止燃油助动车上牌照。而电动自行车因为轻便、快捷,适应了现代人追求环保、效率、安全的需要,所以受到了广大消费者的普遍欢迎,得以再度兴起。当人们需要它帮助行驶时,只要将轮式电机接通电源就能够帮助脚踏车电动行驶。且该电机的存在,并不妨碍原来脚踏车人工脚踏操作行驶的那一套系统。因此这种轮式电机将会受到自行车王国的中国市场广泛的欢迎。在汽车空调上无刷直流电动机也得了青眯,克服了原先在汽车空调上使用的直流电动机因电刷使用寿命短,噪声大,经常需要维护和修理这些难题。对我国,电动汽车的研制开发这项工作又有着特殊重要的意义:一方面我国人口众多、资源有限,生态环境问题非常尖锐,电动车“与可持续发展战略”密切相关;必须以环境、能源为中心,汽车正面临一个巨大的时代,而无刷直流电动机的运用正是这场“绿色革命”的主角。1.2无刷直流电机的开发前景和特点研究和分析微电机的应用和发展,人们肯定会得出这样的看法和结论:无刷直流电机将会持续目前迅速发展的势头,并将在要求高性能的应用领域中逐步取代其他类型的电机,占主导地位。由于无刷直流电机保持着有刷直流电机的优良控制特性,在电磁结构上和有刷直流电机一样,但它的电枢绕组放在定子上,转子上放永久磁钢。无刷直流电机的电枢绕组和交流电机的绕组一样,采用多相形式,经由驱动器接到直流电源上,定子采用位置传感器实现电子换向代替有刷电机的电刷和换向器,各相逐次通电产生电流,和转子磁极主磁场相互作用,产生转矩。和有刷直流电机相比,无刷直流电机由于革除了电的滑动接触机构,因而消除了故障的主要根源。由于转子上没有绕组,因此就没有电的损耗。又由于主磁场是恒定的,因此铁损也是极小的(在方波电流驱动时,电枢磁势的轴线是脉动的,会在转子铁心内产生一定的铁损)。总的来说,除了轴承旋转产生摩擦损耗外,转子的损耗很小,因而进一步增加了工作的可靠性。随着电子技术的进步,电子工业的发展,电子元器件的价格不断下降。考虑综合指标(系统性能、重量、能量消耗等)之后,无刷直流电机的应用正处于上升趋势。下表是与其它电机的综合特性比较。近几年,随着稀土永磁材料和电力电子器件性能价格比的不断提高,无刷直流电机作为中小功率高性能调速电机和伺服电机在工业中的应用越来越广泛。无刷直流电机的基本组成环节无刷直流电机的基本组成结构直流无刷电机的结构如图2-1。它主要由电机本体、位置传感器和电子开关线路三部分组成。电机本体在结构上与永磁同步电机相似,但没有笼型绕组和其他起动装置。其定子绕组一般制成多相。转子由永久磁钢按一定极对数组成。当定子绕组的某一相通电时,该电流与转子永久磁钢的磁极所产生的磁场相互作用而产生转矩,驱动转子旋转,再由位置传感器将转子磁钢位置变成电信号,去控制电子开关线路,从而使定子各相绕组按一定次序导通,定子相电流随转子位置的变化而按一定的次序换相。由于是子开关线路的导通次序是与转子转角同步的,因而也就起到了机械换向器的作用。图2-1无刷直流电机的工作原理图电机转子的永久磁钢与永磁有刷电机中所使用的永久磁钢的作用相似,均是在电机的气隙中建立足够的磁场,其不同之处在于直流无刷电机中永久磁钢装在转子上,而直流有刷电机的磁钢装在定子上。电子开关线路是用来控制电机定子上各相绕组通电的顺序和时间,主要由功率逻辑开关单元和位置传感器信号处理单元两个部分组成。功率逻辑开关单元是控制电路的核心,其功能是将电源的功率以一定的逻辑关系分配给直流无刷电机定上各相绕组,以便使电机产生持续不断的转矩。而各相绕组导通的顺序和时间主要取决于来自位置传感器的信号。综上所述,组成直流无刷电机各主要部件图如2-2所示:无刷直流电动机无刷直流电动机电动机本体位置传感器电子换向线路主定子主转子传感器定子传感器转子电子换向线路图2-2直流无刷电机的组成框图电机本体电机本体的主要部件有主转子和主定子。这它们首先必须满足电磁方面的要求,保证在工作气隙中产生足够的磁能,电枢绕组允许通地一定的电流,以产生一定的电磁转矩,其次要满足机械方面的要求,保证机械结构牢固和稳定,能传送一定的转矩,关能经爱住一定环境条件的考验。此外,还要考虑节约材料、结构简单、运行可靠和温升不超过规定的范围。(1)主定子是电机本体的静止部分。它是由导磁的定子铁芯、导电的电枢绕组及固定铁芯和绕组用的一些零部件、绝缘材料、引出部分等组成,如机壳、绝缘槽楔、引出线等。(2)主转子示电机的本体转动部分,是产生激磁磁场的部件。它是由三部分组成:永磁体、导磁体和支撑零部件。它们首先必须满足电磁方面的要求,保证在工作气隙中能够产生足够的磁通。电枢绕组允许通过一定的电流,以便产生一定的电磁转矩。其次就是要满足机械方面的要求,保证机械结构牢固和稳定,能传送一定的转矩,并能够经受一定环境的考验。主定子绕组是电机本体的一个重要部件。当电动机接上电源后,电流流入绕组,产生磁势,后者与转子产生的激磁磁场相互作用而产生反电势,吸收了一定的电功率并通过转子输出一定的机械功率,人而实现了将电能转换成机械能的过程。2.2.2位置传感器位置传感器在直流无刷电机中起着测定转子磁极位置的作用,为逻辑开关电路提供正确的换相信息,即将转子磁钢磁极的位置信号转换成电信号,然后去控制定子绕组换相。位置传感器种类较多,且各具特点。目前在直流无刷电机中常用的位置传感器有下叙几种:电磁式位置传感器、光电式位置传感器、磁敏式位置传感器。显然置传感器及其处理电路是驱动控制电路的关键部件。本论文所采用的是磁敏式位置传感器,在后面将对其工作原理作详细的介绍。2.2.3电子换向线路电子换向电路和位置传感器相配合,起到与机械换向器类似的作用,所以,电子换向电路也好似无刷直流电机实现无刷接触换向的一个重要组成部分。电子换向电路的任务是将位置传感器的输出信号进行解调,预放大,功率放大,然后去触发末级功率晶体管,使电枢绕组按一定的逻辑程序馈电,保证电动机的可靠运行。一般来说,对电子换向电路的基本要求是:线路简单;运行稳定可靠;体积小,重量轻;功率损耗小;能够按照位置传感器的信号进行正确换向,并能控制电机的正反转;能够满足不同环境条件的要求;第3章无刷直流电机的工作原理无刷直流电机的工作原理电机本体的电枢绕组为三相星型连接,位置传感器与电机转子同轴,控制电路对位置信号进行逻辑变换后产生控制信号。 图3-1无刷直流电机工作原理示意图 如图3-1所示,当转子旋转(顺时针)到图a所示的位置时,转子位置传感器输出的信号经控制电路逻辑变换后驱动逆变器,使T1、T6导通,即A、B两相绕组通电,电流从电源的正极流出,经T1流入A相绕组,再从B相绕组流出,经T6回到电源的负极,此时定转子磁场相互作用,使电机的转子顺时针转动。当转子在空间转过60电角度,到达图b所示位置时,转子位置传感器输出的信号经控制电路逻辑变换后驱动逆变器,使T1、T2导通,A、C两相绕组通电,电流从电源的正极流出,经T1流入A相绕组,再从C相绕组流出,经T2回到电源负极。此时定转子磁场相互作用,使电机的转子继续顺时针转动。转子在空间每转过60电角度,逆变器开关就发生一次切换,功率开关管的导通逻辑为T1、T6—T1、T2—T3、T2—T3、T4—T5、T4—T5、T6—T1、T6。在次期间,转子始终受到顺时针方向的电磁转矩作用,沿顺时针方向连续旋转。转子在空间每转过60电角度,定子绕组就进行一次换流,定子合成磁场的磁状态就发生一次跃变。可见,电机有6种磁状态,每一状态有两相导通,每相绕组的导通时间对应于转子旋转120电角度。无刷直流电动机的这种工作方式叫两相导通星型三相六状态,这是无刷直流电动机最常用的一种工作方式。直流无刷电动机为了实现无刷换向,首先要求把一般直流电动机的电枢绕组放在定子上,把永磁磁钢放在转子上。但这样做还是不行的,因为用一般直流电源给定子上各绕组供电,只能产生固定磁场,它不能与运动中转子磁钢所产生的永磁磁场相互作用,以产生单一方向的转矩来驱动转子转动,所以,必须由位置传感器、控制电路以及功率逻辑开关共同构成的换向装置,使得直流无刷电动机在运行过程中定子绕组所产生的磁场和转动的转子磁钢产生的永磁磁场。有刷直流电动机运行时,转子绕组(电枢绕组)通入直流电,导体切割定子磁场产生电磁转矩。导体电流其方向是不断变换的。电源是不变向的,导体电流的换向是利用换向器,电刷而完成的(1)。无刷电机(简称)从产生电磁力的角度讲,与有刷电机(简称)是一致的,导体中的电流须有规律地通断。AAA'BB`X'YY'X无刷电机转子建立主磁场。永磁磁钢(如磁瓦至于转子铁心上(软铁),形成主磁场。定于铁心中放置(绕组),如果导体中有电流,且如有刷电机电枢导体一样电流有规律地换向,无刷电机即可正常运转。无刷电机导体中电流通断是通过功率开关实现的。假设转子建立四极磁场、磁场均布,定子槽数为8槽,采用如图3-2所示绕组。图中AX\A'X'称为A组绕组的两部分;BY\B'Y'称为B相绕组的两部分,即A、B相绕组都为双绕组型式。图中绕组槽距角α=90°电角度,当转子磁极N极轴线偏离槽2位置135°时,绕组AX通入正向电流(首端A、A'、B、B'流入电流为正向),其他绕组关断,则绕组受力方向为右,转子受力方向向左,从而驱动转子转动。当转子转动90°,关断绕组AX,并让绕组B'Y'通入反向电流,此时绕组B'Y'受力方向向右,转子受力方向向左,转子继续旋转;当旋转90°时,绕组B'Y'关断,绕组A'X'通入反向电流,转子继续旋转;当旋转90°时,绕组A'X'关断,绕组BY通入正向电流,转子继续旋转。此后,绕组AX、B'Y'、BY、A'X'重复通、断过程,电动机不停地运转。上述各绕组电流的通断称之为换流,不同于有刷电机的换向,换流的过程实现了,无刷电机的运行,此即无刷电机工作原理。各绕组电流的通断控制主电路如图3-3。+AX’BY’XA’YB’D1D5D2D6D3D7D4D8T1T2T3T4_图3-3两相双绕组供电方式霍尔传感器直流无刷电动机为了实现无刷换向,首先要求把一般直流电动机的电枢绕组放在定子上,把永磁磁钢放在转子上。但这样做还是不行的,因为用一般直流电源给定子上各绕组供电,只能产生固定磁场,它不能与运动中转子磁钢所产生的永磁磁场相互作用,以产生单一方向的转矩来驱动转子转动,所以,必须由位置传感器、控制电路以及功率逻辑开关共同构成的换向装置,使得直流无刷电动机在运行过程中定子绕组所产生的磁场和转动的转子磁钢产生的永磁磁场。图3-4霍尔式无刷直流电机工作原理图图3-4中,两个霍尔无件H1、H2以90°电角度间隔安置于主定子绕组U和V的轴线上,作为位置传感器定子。电动机本体的主定绕组由四个彼此成90°电角度间隔的集中线圈构成。主车子磁钢既可以作为电动机本体的主转子,又可以作为霍尔元件的激磁磁场即位置传感器转子。霍尔元件的输出接在与主定子绕组相连的功率开关晶体管的基极上。下面进一步分析其换流过程。当转子磁场通过霍尔元件H1,只要事先加以控制电流,那么霍尔元件H1便有霍尔电势产生,其输出x1经功率放大管BG4放大给定子绕组V馈电,它的电流与转子磁场的相互作用,使转子以顺时针方向转动90°电角度;此时,转子磁场通过霍尔元件H2,霍尔元件H2便产生霍尔电势,其输出y1经功率放大管BG3放大给定子绕组W馈电,转子又以顺时针方向转动90°电角度;此时,虽然转子磁场仍通过霍尔元件H1,但极性已反,即磁场方向改变了,霍尔电势必须改变方向,此时可能过其输出x2经功率放大管BG2放在定子绕组x馈电,使转子又以顺时针方向转动90°电角度;同样,转子磁场再次通过霍尔元件H2,其输出的霍尔电势也只能经功率放大管BG1给定子绕组U馈电,使转子回到起始状态。以后又重复上述的过程。这样,定子绕组依次馈电,它产生超前转子的跳跃旋转磁场,于是电动机就会连续的运转起来。随着转子的转动,位置传感器不断地送出信号,以改变电枢绕组的通电状态,使得在某一磁极下导体中的电流方向始终保持不变,这就是无刷直流电动机的无接触式换流过程的实质。控制信号组成系统在电机运行时,可进行转子位置检测,定子绕组限流,电机调速,转子位置检测采用霍尔元件,电子绕组限流采用单稳集成块74LS221实现,电机调速用PWM信号控制,调制方波由集成块NE555产生,系统工作的核心是GTR逆变器开关功能实现的,其工作原理可用控制主电路图说明。图中D1、D2、D3、D4为续流二极管,它们与稳压管D5、D6、D7、D8一起用于各部分绕组关断时其漏感能量的泄放。图中功率开关T1、T2、T3、T4受驱动电路控制,按设定的逻辑规律导通,导通状态见表3-1。H1H2T1T2T3T4100000011100110010000001表3-1GTR导通状态表当一个开关导通,电源便对与其相应的绕组馈电,从而该部分绕组产生转矩,驱动电机运行,绕组馈电电流,电势理想波形见图3-5。本电机级数为2,没想绕组导通的电角度为90(deg)。(A)(V)电流I1电势E1Wt(℃)Wt(℃)(A)(V)电流I2电势E2Wt(℃)Wt(℃)(A)(V)电流I3电势E3Wt(℃)Wt(℃)(A)(V)电流I4电势E4Wt(℃)Wt(℃)图3-5电流、电势的理想波形I1、I2、I3、I4为T1、T2、T3、T4的控制绕组的电流。E1、E2、E3、E4为T1、T2、T3、T4的控制绕组的电势。第4章Fortran程序设计Fortran语言开发历史Fortran全称(FormulaTranslationSystem)。FORTRAN可谓目前计算机运算中的程序语言之父,它是第一个能将数学公式转换成计算机程序的语言。在1957年IBM成功地将其商业化后,FORTRAN正式展开协助无数工程应用软件的开发工作。FORTRAN擅长于数学函数运算,主要应用于数值分析、系统仿真及自动控制等领域。程序内容架构包含变量定义、函数、副程序、主程序等部分。由于FORTRAN的出现,使得工程师与科学家首次能以较自然的语言写程序,因此在工程用软件设计的程序导向语言领域具有举足轻重的地位。Fortran是世界上最早出现的高级编程语言,是工程界最常用的编程语言,它在科学计算中(如航空航天、地质勘探、天气预报和建筑工程等领域)发挥着极其重要的作用。经过40多年的发展,伴随着FORTRAN语言多次版本的更新及相应开发系统的出现,其功能不断完善,最新版本的开发系统几乎具备了VC、VB的所有特点,如图形界面编程、数据库等。在Fortran程式撰写的过程中,常需要使用到一个或数个input或者是output的文档,例如:open(unit=9,file=name,status=new)。将资料输入(Read)或者输出(Write)档案的同时,也可以先给予特殊的格式限制。例如:read(unit=1,fmt=*)ARead(1,10)A******指读入1号档案中的资料,并存入“A”中,使用第10列所规定的格式。Write(1,20)A******原理同上。早在1951年,美国IBM公司约翰·贝克斯(JohnBackus)针对汇编语言的缺点着手研究开发FORTRAN语言,并于1954年在纽约正式对外发布。称约翰·贝克斯提出的FORTRAN语言为FORTRANⅠ,FORTRANⅠ虽然功能简单,但它的开创性工作,在社会上引起了极大的反响。到1957年第一个FORTRAN编译器在IBM704计算机上实现,并首次成功运行了FORTRAN程序。在1958年,对FORTRANⅠ进行了扩充和完善,引进了子函数等概念,推出了商业化的FORTRANⅡ版本。之后,FORTRAN语言发展迅速,多种版本相继在其它计算机上实现。在1962年,推出了FORTRANⅣ。FORTRANⅣ没有充分考虑兼容性,导致FORTRANⅡ程序不能在FORTRANⅣ系统中运行,使其应用受到了很大限制,这时语言不兼容性问题和影响被突出表现出来。此前也出现过FORTRANⅢ,但由于存在严重缺陷,没有在计算机上实现。随着FORTRAN语言版本的不断更新和变化,语言不兼容性问题日益突出,语言标准化工作被提上了日程。1962年5月,美国标准化协会(简称ANSI)成立相关机构着手进行FORTRAN语言标准化的研究工作,并于1966年正式公布了两个标准文本:美国国家标准FORTRAN(ANSIX3.9-1966)和美国国家标准基本FORTRAN(ANSIX3.10-1966),前者相当于FORTRANⅣ,后者相当于FORTRANⅡ。基本FORTRAN是美国国家标准FORTRAN的一个子集,从而实现了语言的向下兼容,初步解决了语言的兼容性问题。通常称美国国家标准FORTRAN为FORTRAN66。FORTRAN66的推出在国际上产生了广泛影响,1972年国际标准化组织(简称ISO)在FORTRAN66基础上制定了FORTRAN语言三级国际标准:基本级、中间级和完全级。20世纪60代末,结构化程序设计方法提出后,具有结构化特征的程序设计语言开始出现,如:ALGOL、PASCAL、MODULA、C等。如何将结构化特征引入FORTRAN66引起计算机厂商和研究机构的高度重视,许多计算机厂商开始对FORTRAN66进行不同程度的扩充,引入了结构化特征。针对这种情况,ANSI于1976年对FORTRAN66(ANSIX3.9-1966)进行了修订,吸收了计算机厂商所扩充的一些行之有效的功能,同时增加了许多新内容。ANSI于1978年4月正式公布了新的美国国家标准(程序设计语言FORTRANANSIX3.9-1978),同时宣布撤消ANSIFORTRAN3.9-1966,通常称新标准为FORTRAN77(该版本原计划1977年公布)。FORTRAN77向下兼容FORTRAN66。在1980年,FORTRAN77被ISO正式确定为国际标准ISO1539-1980,该标准分全集和子集。FORTRAN77推出后,由于具有结构化特征,在社会上得到了广泛应用,同时由于扩充了字符处理功能,在非数值处理领域也能大显身手。20世纪80年代末,FORTRAN77结构化和现代化的研究开始兴起,到1991年5月,ANSI公布了新的美国国家标准FORTRAN(ANSI3.198-1991)。之后,ISO采纳该标准,并确定为国际标准ISO/IEC1539-1:1991,新国际标准还采纳了我国计算机和信息处理标准化技术委员会程序设计分会提出的多字节字符集数据类型及相应的内部函数,为非英语国家使用计算机提供了极大的方便。通常称新标准为FORTRAN90,FORTRAN90向下兼容FORTRAN77。之后不久又出现了FORTRAN95。FORTRAN90的推出,使传统FORTRAN语言具有了现代气息。Fortran2003的规则已经由ISO组织制定发布。Windows平台下,微软公司将FORTRAN90无缝集成在DeveloperStudio集成开发环境之中,推出了MicrosoftFORTRANPowerStation4.0,使FORTRAN90真正实现了可视化编程,彻底告别了传统DOS环境(字符界面),转到了现代Windows环境(视窗界面),共享微软公司Windows平台的丰富资源。在1997年3月,微软公司和数据设备公司(DigitalEquipmentCorp,简称DEC)强强联合,合作研究、开发和推出了功能更强的FORTRAN语言新版本:DigitalVisualFORTRAN5.0,它是MicrosoftFORTRANPowerStation4.0的升级换代产品。DEC公司在高性能科学和工程计算方面拥有世界领先技术,其高质量的FORTRAN编译器遍及全球。1998年1月,DEC与Compag公司合并,DEC成为Compag公司的全资子公司,于是DigitalVisualFORTRAN更名为CompagVisualFORTRAN,其最新版本为CompagVisualFORTRAN6.6。Compaq和HP合并之后,Compaq的Fortran小组和Intel的Fortran开发小组合并,开发出来IntelFotran编译器9,有linux和window2个版本,其windows版本为IntelVisualFortran,可以和微软的VisualS集成。Windows平台下还有PGI,Absoft,Intel等多个商业公司的Fortran编译器,还有大量小公司的免费Fortran编译器。openMPI使Fortran等语言可以容易且免费的实现并行计算。Linux平台下,其gcc编译器默认支持fortran,另外有Intel,SunStudio,openMPI,Photran等共享编译器和PGI,Absoft,lachy,IBM,SGI,HP等多个版本的商业编译器。支持Fortran2003标准的编译器行将推出,新版本的SunStudio编译器已经支持部分Fortran2003语法。随着其他程序设计语言的迅速发展,Fortran语言不再是惟一适用的程序设计语言。然而,尽管在一些特殊领域,使用其他程序语言更为合适,但在数值计算、科学和工程技术领域,Fortran仍具有强大的优势。其强大的生命力在于它能紧跟时代的发展,不断更新标准,每次新的文本推出都在功能上有一次突破性进展。Fortran90不仅仅是将已有的语言进行标准化,更重要的是发展了Fortran语言,吸取了一些其他语言的优点。所以,虽然Fortran语言历史悠久,但仍在日新月异地发展。使定子内径d减少将结果输出到文件pmdc.out中,结束计算效率AtA进行性能计算各种损耗计算使定子内径d减少将结果输出到文件pmdc.out中,结束计算效率AtA进行性能计算各种损耗计算计算电势系数Kv计算绕组电阻R计算槽满率调用槽面积计算子程序SLTARE计算槽面积S计算绕组总面积Sw调用选取线型子程序Wirtyp选取线型计算电机绕组匝数W初始化电势系数KVO,效率ATAO由输入数据文件pmdc.dat输入电机的主要尺寸4.3源程序-------------PermanentmagnetlebrushlessDCmotordesignprogram.-------------IntegerwrealJMM,N,KFN,KPS,KPS1,KP,KY,KH,L,LEF,KV,IMN,IN,KF,KEF,JM,kpr,kpa,kpi,kv0,im0,in0,kdopen(11,file=’pmdc.dat’,STATUS=’OLD’)open(12,file=’pmde.out’,STATUS=’NEW’)open(13,file=’pmde0.dat’,STATUS=’NEW’)read(11,*)FN,N,V,M,NP,DS1,DT,L,JMN,KFN,BG,KPS,KP,KY,KH,&DR2,DP,Hc0,KPR,kpa,kpi,kdwrite(6,1)PN,N,V,M,NP,DS1,DT,L,JMN,KFN,BG,KPS,KP,KY,KHformat(1x,’PN,N,V,MNP,DS1,DT,A,JMN,KFN,BG,KPS,KP,KY,KH’//1x,&3f7,2,214,2f10,3/1x,e13.4,7f8.4//)fai=3.1415920kfe=0.9kv=0.6dr2=dr2/1000.0dp=dp/1000.0ds1=ds1/1000.0dt=dt/1000.0l=l/1000.0d=ds1/2.0e=6.08/(kfc*kps1*bg*a)lef=l*0.95ata0=0.73lm0=pn/ata0/vw=Int(30.0*kv0*v/(pai*kd*n*d*lef*bg))Format(1x,’lef,d,w,kf=’,2e13.5,2x,i5;2x,e13.5)sc0=im0/jmm/2sc=sc0callwirtyp(sc,dsc,dsc1,r0,ksc)write(6,61)dsc,ksc,dsc1,r0Format(1x,’dsc=’,f10.4,’ksc=’,15,’dsc1=’,f10.4,’r0=’,f10.4)sw=w*ksc*dsc1*dsc1callSLTARE(NP,M,DS1,D,DT,0.8,KP,KY,KH,S,cs,bp,hp,bc,hc,hs,sts0,stp0,bps)subroutineSLTARE(NP,M,DS1,D,DT,0.8,KP,KY,KH,S,cs,bp,hp,bc,hc,hs,sts0,stp0,bps)callSLTARE(NP,M,DS1,D,DT,0.8,KP,KY,KH,S)write(6,3)NP,M,DS1,D,DT,KPS,KP,KY,KH,lefwrite(12,2)s,sw,wwrite(6,2)s,sw,wFormat(1x,’NP,M,DS1,DS2,DT,KPS,KP,KY,KH,lef:’/1x,2i5/2x,8f9.4)Format(1x,’TheareaofstatorslotSandSw=’,2e13.4,’w=’,10//)kf=sw/swrite(6,4)kfFormat(1x,’SC=’,f10.4//)w=a/(2.0*m*in)*(pai*d)l=lef/0.95hp=d*pai/float(m*np)ri=2.0*(L+2.3*tp)*w*r0/1000.0/float(ksc)write(6.62)lef,d,w,kfdr=(kf-kfn)/kfuif(aps(er),lt,0.005)goto20di=dsl*pai/float(m*np)d=d-or*s/dl/1.0e+6/2.0goto15continuekv=1.0-im0**rr/ver1=kv-kv0if(abs(er1).le.0.005)goto150kv0=(kv0+kv)/2.0goto15pcu=rr*om0*im0tz=pai*d/8.0bz=0.9*tz*bg/bp/kfeba=kps*pai*d*bg/4.0/float(np)/cs/kfef1=float(np)*n/60.0pa=2.2*f1/100.0+3.*1.4*(f1/100.)**2pz=1.5*1.1*f1/100.0+3.*1.4*(f1/100.)**2ga=7.8pai/4.*(ds1*ds1-(ds1-2.0*cs)**2)*lef*1000.Pfes=3.*ba*ba*ga*pa+4.*pz*bz*bz*gzPsw=0.02*pnWrite(6,*)’pcu=’,pcu,’pfes=’,fpes,bz,baAta=pn/(pn+pcu+pfes+psw)Er2=ata-ata0If(abs(er2),le,0.005)gota160Ata0=ataGoto5A=float(w)*im0/d/pai.100.*2Ata=ata*100Sc=pai*(dsc/2.0)**2Jm=Im0/(Sc*ksc)/2.Write(6,4)scHm=dpApm=180.0/np*kprArt=180.0/np*kpaApi=180.0/np*kpiC0=1000.0SubroutineSLTARE(NP,M,DS1,DS2,DT,KPS,KP,KY,KH,S,cs,bp,hp,bc,hc,hs,sts0,stp0,bps)Write(12,21)v,pn,n,m,np,ds1*c0,d*c0,c0*(d-2*dt),dr2*c0,l*c0Write(12.23)dt*c0,cs*c0,bp*c0,hp*c0,bc*c0,hc*c0,bps*c0,hs*c0,sts0,stp0,&hm*c0,apm,art,apiWrite(12,24)kf*100.0,w,dsc,ksc,lm0,rr,bg,a,jm,a*jm,kvWrite(12,26)pcu,pfes,psw,ata,ba,bzFormat(1x,///9x,&’#####################################################’/9x,&’##’/9x,&’#DesignofPermanentMagnetBrushlessD.C.Motor#’/9x,&’##’/9x,&’#####################################################’/9x,&’RatedParameters:’/9x,&’DCSupplyVoltageV=’,f10.2,’(V)’/9x,&’OutputPowerPn=’,f10.2,’(Wat)’/9x,&’RotationSpeedN=’,f10.2,’(rpm)’/9x,&’NumberofPhaseM=’,2x,i5’’/9x,&’PairNumb,ofPolesNP=’,ex,i5’/9x,&’StruetureSize:’/9x,&’OuterDiameterofStatorDs1=’,f10.3,’(mm)’/9x,&’InnerDiameterofStatorDs2=’,f10.3,’(mm)’/9x,&’OuterDiameterofRotorDr1=’,f10.3,’(mm)’/9x,&’InnerDiameterofRotorDr2=’,f10.3,’(mm)’/9x,&’StackLengthofIronCoreL==’,f10.3,’(mm)’)Format(1x,8x&’LengthofAirgapDt=’,f10.3,’(mm)’/9x,&’HighofStatorYokeCs=’,f10.3,’(mm)’/9x,&’WidthofPoleBp=’,f10.3,’(mm)’/9x,&’HighofPoleHp=’,f10.3,’(mm)’/9x,&’WidthofStatorSlotMouthBc=’,f10.3,’(mm)’/9x,&’HighofStatorSlotMouthHc=’,f10.3,’(mm)’/9x,&’WidthofPoleShooseBps=’,f10.3,’(mm)’/9x,&’HighofPoloShooseHs=’,f10.3,’(mm)’/9x,&’Polepitchangleapp=’,f10.3,’(deg)’/9x,&’PoleArcangleapa=’,f10.3,’(deg)’/9x,&’HighofPMSteelHm=’,f10.3,’(mm)’/9x,&’ArcAngleofPMSteelApm=’,f10.3,’(deg)’/9x,&’ArcAngleofRotortoothArt=’,f10.3,’(deg)’/9x,&’ArcAngleofIso-MagShellApi=’,f10.3,’(deg)’/9x)Format(1x,&’RateofStatorSlotFillKf=’,f10.3,’(%)’//6x,&’Windingparameters:’/9x,&’NumberofTurnsofaPhaseWindingW=’,1x,i5/9x,&’DiameterofWireDsc=’,f10.3,’(mm)’/9x,&’NumberofWiresWoundedinParalellKsc=’,1x,i5/9x,&’TheEffectiveValueofWindingCurrentIn=’,f10.3,’(A)’/9x,&’ResistanceofaPhaseWindingRw=’,f10.3,’(om)’//6x,&’Magnetic&ElectricLoading:’/9x,&’MaximunFluxDensityinAirGapBg=’,f10.4,’(Tesla)’/9x,&’ElectricLoadingA=’,f10.4,’(A/cm)’/9x,&’CurrentDensityofWindingJm=’,f10.4,&’(A/mm*mm)’/9x,&’ThermalLoadingA*Jm=’,f10.4/9x,&’EffectiveRateofVoltageKv=’,f10.4//6x)Format(1x,&’LossesandEfficiency:’/9x,&’CopperLosspcu=’,f10.3,’(Wat)’/9x,&’IronCoreLoss&AdditionalLossespfes=’,f10.3,’(Wat)’/9x,&’SwitchElementLossespsw=’,f10.3,’(Wat)’/9x,&’EfficiencyoftheMotorAta=’,f10.3,’(%)’/9x,&’Maximumfluxdensityofstatoryokeba=’,f10.4,’tesla’/9x,&’Maximumfluxdensityoftoothbz=’,f10.3,’tesla`)Write(12,22)Write(12,23)Format(1x,’d,l,imn,w,kf,dsc,ksc:’/1x,3f10.4,2x,i5,2x,2f7.3,2x,i5)Write(13,*)NP,M,DS1,D,DT,KPS,KP,KY,KHHc0=hc0*80.0Write(13,*)dr2,dp,Hc0,kpr,kpa,kpiClose(11)Close(12)Close(13)StopEnd-------------PermanentmagnetlebrushlessDCmotordesignprogram.-------------SubroutineSLTARE(NP,M,DS1,DS2,DT,KPS,KP,KY,KH,S,cs,bp,hp,bc,hc,hs,sts0,stp0,bps)RealKPS,KP,KY,KHWrite(0,*)’slotareabegin!’Pai=3.1415926Sts=pai/float(m*np)Sts2=sts/2.0Ri=ds2/2.0Ro=ds1/2.0Stp=kps*stsStp0=stp*180.0/paiSts0=sts*180.0/paiBp=ri*stp*kpBp2=bp/2.0Bps=ri*sin(stp/2.0)*2.0Cs=ri*stp*ky/2.0Bc=ri*(1.0-kps)*sts2Hc=kh*bcWrite(6,*)’hs’Hs=hc/cos(sts2)Write(6,*)’hs’X2=kps*sts2Write(6,*)’hs,ri,kps,sts2:’,hs,ri,kps,sts2Y5=sqrt(hs**2+ri**2+2.0*hs*ri*cos(kps*sts2))X5=x2-asin(hs*sin(x2)/y5)Write(6,*)’xy8’Y8=y5+(ro-cs-y5)/5.0X8=asin(bp2/y8)Write(8,*)’xy11’Y11=ro-csX11=asin(bp2/y11)A1=sts2-x11S1=(a1-cos(a1)*sin(a1))*y11**2Ab=2.0*y11*sin(a1)Cd=2.0*y8*sin(sts2-x8)S2=(ab+cd)*h1/2.0Ef=2.0*y5*sin(sts2-x5)H2=y8*cos(sts2-x8)-hc-r1S3=(cd+ef)*h2/2.0write(6,1)cs,bp2*2format(1x,’cs,bp:’2e13.7)hp=(y11**2-y8**2)/sqrt(y11**2+y8**2+2.0*bp2**2)s=(s1+s2+s3)*1.0e+6bc=2.0*bcwrite(6,*)’slotareaend!’returnend-------------Permanentforchoosingwiretypeofstatorwinding.-------------subprogramforchoosingwiretypeofstatorwinding.Subroutinewirtyp(sc,dsc,dsc1,r0,ksc)Common/c1/dscm(20),dscm1(20),rm(20)Pai=3.1415926Nm=1Sc0=pai*(dscm(nm)/2.0)**2Ksc=int(sc/sc0)+1Ksc=3KSC=5Smin=KSC*Sc0If(Smin.Gt.Sc)Goto10Goto10Write(*,20)format(1x,’wtneedsre-cs’)goto60I10=1Do30I1=1,20Sci=KSC*PAI*(dscm(I1)/2.)**2If(Sci.Ge.Sc)goto50continueI10=I1Dsc=dscm(i10)Dsc1=dscm1(i10)R0=rm(i10)ReturnEndSc1=sc/float(ksc)Write(c,1)sc,sc1,kscFormat(1x,’sc1,sci:’2f10.4)I10=1DO10=I1,11Sci=pai*(dscm(i1)/2.0)**2Write(6,1)sc1,sciIf(sc1.gt.sci)goto10I10=11Goto20ContinueContinueDsc=dscm(i10)Dsc1=dscm1(i10)R0=rm(i10)Write(6,2)i10,dsc,dsc1,r0Format(1x,’i10,dsc,dsc1,ro:’15,2x,3f15.5)ReturnEndBlockdataofwritetypeBlockdatawtCommon/c1/dscm(20),dscm1(20),em(20)Datadscm/0.41,0.44,.47,.49,0.51,0.53,0.55,0.57,0.59,0.62,0.64,&0.67,0.69,0.72,0.74,0.77,0.8,0.83,0.86,0.9/Datadscm1/0.45,0.49,0.52,0.54,0.56,0.58,0.60,0.62,0.64,0.67,0.69,&0.72,0.74,0.8,0.80,0.86,0.89,0.92,0.96/Datarm/162.26,140.3,123.22,113.46,104.5,96.3,89.5,83.6,78.070.6,&66.2,60.5,57.0,52.5,49.7,45.96,42.46,539.53,36.72,33.55/end计算方案编译结果###############################################################DesignofPermanentMagnetBrushlessD.C.Motor###############################################################RetedParameters:DCSupplyVoltageV=12.00(V)OutputPowerPn=80.00(Wat)RotationSpeedN=3000.00(r/min)NumberofPhaseM=2PairNumbofPolesNP=2StructureSize:OuterDiameterofStatorDs1=72.000(mm)InnerDiameterofStatorDs2=35.147(mm)OuterDiameterofRotorDr1=34.347(mm)InnerDiameterofRotorDr2=7.000(mm)StackLengthofIronCoreL=36.500(mm)LengthofAirgapDt=0.400(mm)HighofStatorYokeCs=4.927(mm)WidthofPoleBp=6.570(mm)HighofPoleHp=8.270(mm)WidthofStatorSlotMouthBc=4.417(mm)HighofStatorSlotMouthHc=8.270(mm)WidthofPoleShooseBps=9.385(mm)HighofPoleShooseHs=5.229(mm)PolepitchangleApp=45.000(deg.)PoleArcangleApa=30.600(deg.)HighofPMSteelHm=2.000(mm)ArcAngleofPMSteelApm=63.000(deg.)ArcAngleofRotortoothArt=18.000(deg.)ArcAngleofIso-MagShellApi=4.500(deg.)RateofStatorSlotFillKf=61.303(%)Windingparameters:NumberofTurnsofaPhaseWindingW=44DiameterofWireDsc=.440(mm)NumberofWiresWoundedinParalell

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论