毕业论文范文——基于单片机的励磁调节试验装置研究-硬件设计_第1页
毕业论文范文——基于单片机的励磁调节试验装置研究-硬件设计_第2页
毕业论文范文——基于单片机的励磁调节试验装置研究-硬件设计_第3页
毕业论文范文——基于单片机的励磁调节试验装置研究-硬件设计_第4页
毕业论文范文——基于单片机的励磁调节试验装置研究-硬件设计_第5页
免费预览已结束,剩余50页可下载查看

下载本文档

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

文档简介

本科毕业设计(论文)基于单片机的励磁调节试验装置研究-硬件设计 学 院 自动化学院 专 业 电气工程及其自动化 (电力系统自动化方向)年级班别 学 号 学生姓名 指导教师 年 月摘要励磁系统是同步发电机的一个重要组成部分,它直接影响发电机的运行特性,对电力系统的安全稳定运行有重要的影响。随着现代电力系统和计算机技术的发展,对同步发电励磁控制系统提出了更高要求,智能控制方式应运而生。智能控制方式能够在无人干预的情况下驱动目标机器实现自动控制,提高自动化程度。这是未来发展的趋势,具有重要的研究意义。本文首先介绍了同步发电机励磁系统的基本概念、分类、研究现状等,再阐述了模糊控制理论的基本知识和模糊控制器在matlab中的建立和参数的设置。其次,以WDT-III电力系统综合自动化试验台的参数为基础,在Matlab/Simulink软件上搭建系统仿真模型,并嵌入由模糊规则生成的fis文件,进行仿真并分析仿真波形,验证模糊励磁控制的效果。最后,将励磁系统的控制逻辑以C语言的方式写入单片机,验证触发控制信号的波形,再将单片机与整流桥连接,观察输出的励磁电压的变化。关键词:模糊控制,建模,C语言,单片机AbstractExcitation system is an important part in synchronous generator. It can directly affect the operating performance of the generator, and therefore has an important impact on the safe and stable operation of the electric power system. With the development of modern electric power system and computer technology, higher requirements have been put forward to the excitation control system for synchronous generator,then The intelligent control methods emerge as the times require. The intelligent control methods can control the machine automatically without peoples intervention, and improve the level of automation consequently. This is the future trend of development, the research has important significance.First, a brief introduction of the excitation control system for synchronous generator on its basic concepts, classification, current research status are given. And the theory of fuzzy control with its sets in matlab is elaborated. Then, basing on the parameters of WDT-III Power System Integrated Automation Test Bed, we build a simulation model with the fit file produced by fuzzy rules. By the analysis of the simulation waveform, we can inspect the results of fuzzy excitation control.Finally, we can change the logic of fuzzy control algorithm into C language and write it into the MCU, inspecting the waveform of control signal and observing the change of the excitation voltage output.Key word: Fuzzy control, build the model, C language, MCU目录绪论11.1课题研究的目的和意义11.2本文研究的主要内容22 同步发电机励磁自动控制系统22.1同步发电机励磁控制系统的概述22.2同步发电机励磁控制系统的任务32.3对励磁系统的基本要求52.4同步发电机励磁系统数学模型的建立52.4.1同步发电机的传递函数52.4.2电压测量单元的传递函数62.4.3综合放大单元的传递函数62.4.4功率放大单元的传递函数62.4.5励磁控制系统的传递函数63 模糊控制器的设计73.1模糊控制的概述73.2模糊控制的基础73.3模糊控制模块的设计83.3.1模糊控制器的结构83.3.2模糊规则的确定83.3.3在Matlab中模糊控制模块的设置104 Matlab/Simulink系统模型的建立及仿真124.1仿真系统模型124.2相关模块的选择与设置124.2.1发电机模块124.2.2负荷与断路器模块134.2.3电压测量模块与转换模块144.2.4模糊PID控制器的设置164.3仿真条件设置184.4仿真结果与分析185 C语言程序设计及仿真调试215.1 STC89C52RC单片机及LY51(AVR)L3A学习板简述215.2程序设计软件Keil Vision2215.2.1 系统概述215.2.2 Keil C51单片机软件开发系统的整体结构225.3硬件连接图及各模块说明235.3.1同步信号模块235.3.2 AD数模转换器模块245.4程序流程图245.5程序模块说明255.5.1管脚定义255.5.2函数声明与定义265.5.3主函数275.5.4中断程序及各模块说明285.6程序仿真及结果分析345.6.1计算部分验证345.6.2触发输出部分验证37结论40参考文献41致谢42附录A C语言源程序代码(计算部分)431 绪论1.1课题研究的目的和意义随着电力工业的迅速发展,电力系统的规模越来越大,保证系统运行的可靠性和稳定性,提供合格的电能质量和良好的动态品质,对国民经济和人民生活具有极为重要的意义。为了达到提高系统稳定性和改善运行质量及动态品质的目的,采用控制发电机组励磁比其他方法更具有明显的优越性,它不仅节约投资,而且在系统正常运行中能起到其它措施起不到的作用。发电机励磁控制系统是电力系统控制的重要组成部分,它直接影响着发电机的运行可靠性、经济性和系统运行的稳定性15。在电力系统正常运行情况下,发电机的励磁控制能够起到减小电压波动11、平衡无功功率分配的作用;在系统发生事故时,调节发电机的励磁电流可以提高系统抗干扰能力,维持系统的运行稳定性。所以研究和设计发电机励磁控制系统一直是电力系统学者关注的课题,它的优化和发展对发电机乃至整个电力系统的运行具有决定性的意义,因此本课题的研究是具有理论意义和实用价值的。目前广泛采用的是典型PID控制,这种控制方式包括三个参数:P(比例),I(积分),D(微分)。三个参数的作用分别为3:比例系数,其作用是实时成比例的反应控制系统偏差信号;越大,系统响应速度越快,调节精度越高,太大时易造成超调,从而严重时导致系统不稳定;过小时,会降低调节精度,响应速度变缓,延长调节时间。因此,比例控制是基于偏差的调节。积分系数,其作用是通过记忆误差,消除稳态误差,提高系统的抗干扰能力和无静差度。越大,静态误差消除越快。但过大时,在响应初期会产生几分饱和现象,引起较大的超调;过小时,静态误差难以消除,影响系统的调节精度。微分系数,其作用是改善系统的动态特性,抑制响应过程中偏差向任何方向变缓。过大时,会提前制动响应过程,延长调节时间,还会降低系统的抗干扰能力;过小时,调节过程的减速会滞后,超调量增加,稳定性变差6。通过人为改变这三个参数的值,可以改变输出的励磁电流,达到控制发电机电压的效果。该方式优点在于控制结构较简单,因此得到广泛应用;但由于模糊规则是人们对过程或对象模糊信息的归纳,对高阶、非线性、大时滞、时变参数以及随机干扰严重的复杂控制过程,人们的认识往往比较贫乏或难以总结完整的经验,这就使得单纯的模糊控制在某些情况下很粗糙,难以适应不同的运行状态,影响了控制效果。 812。而模糊PID控制采用当前电压偏差(当前值与目标值的差),以及偏差的变化率作为输入量,并通过一系列的规则,模糊化及去模糊化,在典型PID的基础,代替操作人员修改PID参数,最终达到控制效果9。模糊控制5913141617的优势在于能够代替人手操作,提高自动化程度;但由于目前只是处于研究阶段,并且其稳定性还有有待考证。但可以断定的是,随着研究的深入和计算机技术的发展,模糊控制理论将会广泛应用于发电机励磁控制当中,因此模糊控制的研究具有重要意义1。同时,由于单片机具有结构简单,可靠性高,采用C语言编程更是逻辑简单且移植性强。因此采用单片机可以比较容易实现所需达到的效果2 4。1.2本文研究的主要内容本文主要分析模糊控制理论的特点与算法,设计以单片机为硬件载体的发电机励磁模糊控制器,并进行仿真验证。主要任务有:1) 介绍发电机励磁控制系统的类型,结构以及控制模型;2) 阐述模糊控制理论及其应用,对模糊控制理论进行全面的深入理解;3) 在Matlab软件上搭建仿真模型,设置仿真数据,调试仿真模型。4) 将模糊控制模块逻辑编写成C语言程序,并写入单片机,进行仿真调试。2 同步发电机励磁自动控制系统2.1同步发电机励磁控制系统的概述同步发电机的运行特性与它的空载电动势Eq值的大小有关,而Eq的值是发电机励磁电流IEF的函数,改变励磁电流就可影响同步发电机在电力系统中的运行特性10。因此,对同步发电机的励磁进行控制,是对发电机的运行实行控制的重要内容。电力系统在正常运行时,发电机励磁电流的变化主要影响电网的电压水平和并联运行机组间无功功率的分配。在某些故障情况下,发电机机端电压降低将导致电力系统稳定水平下降。为此,当电力系统发生故障时,要求发电机迅速增大励磁电流,以维持电网的电压水平及稳定性。可见同步发电机励磁的自动控制在保证电能质量、无功功率的合理分配和提高电力系统的运行的可靠性方面都起着十分重要的作用。2.2同步发电机励磁控制系统的任务在电力系统正常运行或事故运行中,同步发电机的励磁控制系统起着重要的作用。优良的励磁控制系统不仅可以保证发电机可靠运行,提供合格的电能,而且还可有效地提高系统的技术指标。根据运行方面的要求,励磁控制系统应该承担如下任务:(1)维持发电机机端和系统指定中枢点的电压在给定水平上满足这一要求首先考虑的是保证电力系统运行设备的安全性,即在较小偏差干扰下的微动情况和系统发生大扰动的暂态情况下保证发电机的电压维持在给定水平上。其次保证发电机运行的经济性,因为发电机在额定电压附近运行是最经济的。如果发电机电压下降,则输出相同功率所需要的定子电流将增加,从而使损耗增大。此外,维持发电机机端电压和提高电力系统稳定性方面的要求也是一致的。(2)合理分配并联运行发电机间的无功功率电力系统中有很多台发电机并联运行。为了保证系统的电压质量和无功潮流的合理分布,要求合理控制电力系统中并联运行机组输出的无功功率。所谓“合理控制”包含两层意思:(1)每台发电机发出的无功功率数量要合理。(2)当系统电压变化时,每台发电机发出的无功功率要随之自动调节,且调节量要合理。(3)提高电力系统静态稳定性当电力系统受到小的扰动后,发电机能继续保持与系统同步运行的特性称为电力系统的静态稳定性。现代电力系统的发展趋势是增大输送距离和提高输送功率。这需要解决许多技术问题。而其中最重要的和最基本的困难之一是同步发电机只具有较小的静态稳定性。但自从自动励磁调节装置的出现,使这一问题得到圆满的解决。(4)提高电力系统的暂态稳定性暂态稳定是电力系统受到大扰动后的稳定性。励磁控制系统的作用主要由以下三个因素决定。l 励磁系统强励顶值倍数提高励磁系统强励倍数可以提高电力系统暂态稳定性。提高励磁系统强励倍数的要求,与提高调压精度并没有矛盾。l 励磁系统电压响应比励磁系统电压响应比越大,励磁系统输出电压达到顶值的时间越短,对提高暂态稳定性就越有利。电压响应比主要由励磁系统的型式决定,但是,励磁控制器的控制规律和参数对电压响应比也有举足轻重的影响。在相同的控制规律下,增大励磁控制系统的开环增益可以提高励磁电压响应比,同时,也提高了点了呀的调节精度。l 励磁系统强励倍数的利用程度充分利用励磁系统强励倍数,也是发挥励磁系统改善暂态稳定作用的一个重要因素。如果电力系统发生故障时励磁系统的输出电压达不到顶值,或者维持顶值的时间很短,在发电机电压还没恢复到故障前的值时,就不再进行强励了,那么它的强励倍数就没有得到很好发挥,改善暂态稳定的效果也就不好。充分利用励磁系统顶值电压的措施之一,就是提高励磁控制系统开环增益。开环增益越大,励磁倍数利用就越充分,调压精度也越高,也越有利于改善电力系统的暂态稳定性。由此可见,提高励磁控制系统保持端电压水平的能力,与提高电力系统的暂态稳定性是一致的。(5)提高继电保护装置动作的准确性当系统处于低负荷运行状态时,发电机的励磁电流不大。若系统此时发生短路故障,短路电流较小,且随时间衰减,以致带时限继电保护不能正常动作。励磁自动控制系统可以通过调节发电机励磁电流来增大短路电流,使继电保护正确动作。(6)保证并联运行系统的正常工作系统的无功分配单元可保证参加并联运行的各发电机的输出无功功率获得均衡分配,增加了稳定环节的无功分配单元是保证强励能力大的并联运行系统能正常稳定工作的重要条件之一。2.3对励磁系统的基本要求(1)励磁系统应提供足够的励磁容量和调节容量,并保证励磁电源的可靠性。(2)当发电机励磁电流和电压不超过其额定电压的1.1倍时,励磁系统应保证连续运行。(3)励磁系统的顶值电压倍数不宜超过2,允许强励时间不宜超过20s,电压相应不宜小于2s-1。如有特殊要求时,可在设计中拟定。(4)当励磁电流不大于1.1倍额定值时,发电机励磁绕组两端所加的整流电压瞬时值不应大于规定的励磁绕组出场试验电压幅值得30%(5)灭磁开关及其励磁绕组之间的电气组件要满足出场试验电压规定的数值。(6)安装工地现场验收电压为出厂试验电压的75%,允许反复试验电压及维修后的试验电压为出场电压的65%。2.4同步发电机励磁系统数学模型的建立2.4.1同步发电机的传递函数同步发电机的传递函数相当复杂,这里只研究发电机空载起励的过程,因此,可对发电机的数学描述进行简化。在转速为额定转速时,同步发电机的传递函数可以用一阶滞后环节来表示。电压最大值在额定电压的附近,因此,该过程中可以忽略饱和现象,故同步发电机的传递函数为:GG(S)=KG(1+TGS)TG表示其时间常数,主要为励磁绕组EW的时间常数,其数值较小,取5 s,KG为发电机的电压放大系数,当忽略发电机的饱和影响时,KG可用发电机的定子电压和发电机空载额定转子电压之比表示。2.4.2电压测量单元的传递函数电压测量单元由测量变压器、整流滤波电路等组成,作用是把发电机机端电压变成与之成正比的直流电压,在正常情况下,电压互感器和测量变压器均不会饱和,可近似用一个一阶滞后环节来描述。GR(S)=KR(1+TRS)式中,其时间常数TR是由滤波电路引起的,TR 的数值通常为几十毫秒。2.4.3综合放大单元的传递函数综合放大单元在电子型调节器中是由运算放大器组成,在电磁型调节器中则采用磁放大器。它们的传递函数通常都可视为放大系数为KA的一阶惯性环节,其传递函数为GA(S)=KA/(1+TAS)式中KA表示电压放大系数,TA表示放大器的时间常数。2.4.4功率放大单元的传递函数电子型励磁调节器的功率放大单元是晶闸管整流器。由于晶闸管整流元件工作是断续的,因而它的输出与控制信号间存在着时滞。这一断续控制现象就有可能造成输出平均电压Ud滞后于触发器控制电压信号USM。按照上述分析经过化简可得到简化后的综合放大单元的传递函数为G(S)=KZ/(1+TZ S)式中KZ为电压放大系数,TZ放大器的时间常数。2.4.5励磁控制系统的传递函数图2.13 模糊控制器的设计3.1模糊控制的概述模糊逻辑控制(Fuzzy Logic Control)简称模糊控制(Fuzzy Control),是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制技术。1965年,美国的L.A.Zadeh创立了模糊集合 论;1973年他给出了模糊逻辑控制的定义和相关的定理。1974年,英国E.H.Mamdani首先用模糊控制语句组成模糊控制器,并把它应用于锅炉和蒸汽机的控制,在实验室获得成功。这一开拓性的工作标志着模糊控制论的诞生。模糊控制实质上是一种非线性控制,从属于智能控制的范畴。模糊控制 的一大特点是既具有系统化的理论,又有着大量实际应用背景。模糊控制的发展最初在西方遇到了较大的阻力;然而在东方尤其是在日本,却得到了迅速而广泛的推 广应用。近20多年来,模糊控制不论从理论上还是技术上都有了长足的进步,成为自动控制领域中一个非常活跃而又硕果累累的分支。其典型应用的例子涉及生产 和生活的许多方面,例如在家用电器设备中有模糊洗衣机、空调、微波炉、吸尘器、照相机和摄录机等;在工业控制领域中有水净化处理、发酵过程、化学反应釜、 水泥窑炉等的模糊控制;在专用系统和其它方面有地铁靠站停车、汽车驾驶、电梯、自动扶梯、蒸汽引擎以及机器人的模糊控制等。3.2模糊控制的基础模糊控制的基本思想是利用计算机来实现人的控制经验,而这些经验多是用语言表达的具有相当模糊性的控制规则。模糊控制器(Fuzzy Controller,即FC)获得巨大成功的主要原因在于它具有如下一些突出特点: 模糊控制是一种基于规则的控制。它直接采用语言型控制规则,出发点是现场操作人员的控制经验或相关专家的知识,在设计中不需要建立被控对象的精确数学模型,因而使得控制机理和策略易于接受与理解,设计简单,便于应用。 由工业过程的定性认识出发,比较容易建立语言控制规则,因而模糊控制对那些数学模型难以获取、动态特性不易掌握或变化非常显著的对象非常适用。 基于模型的控制算法及系统设计方法,由于出发点和性能指标的不同,容易导致较大差异;但一个系统的语言控制规则却具有相对的独立性,利用这些控制规律间的模糊连接,容易找到折中的选择,使控制效果优于常规控制器。 模糊控制算法是基于启发性的知识及语言决策规则设计的,这有利于模拟人工控制的过程和方法,增强控制系统的适应能力,使之具有一定的智能水平。 因此,模糊控制基本解决了用计算机模仿人类对这类系统进行自动控制的问题。3.3模糊控制模块的设计3.3.1模糊控制器的结构模糊PID控制器由两部分组成:普通PID调节器器和模糊控制器。图3.1 模糊PID控制器的结构图如图3.1所示,控制器的输入为双变量:电压偏差E以及电压偏差变化率EC。通过模糊模块的一系列计算后,经去模糊化得到PID三个参数,的变化量,最后与普通PID的参数叠加后,得到所求的三个参数。图中,分别为电压偏差及其变化率的量化因子,其作用是将输入变量的基本论域转换成相应模糊模块中的论域;而,是输出量,的比例因子,其作用则是将输出量的模糊论域转换成控制对象实际所需的论域。3.3.2模糊规则的确定根据实际运行经验,模糊规则制定如下7: 1、当(E0,EC0)时,系统的输出已经大于稳态值,并且朝着偏差变大的方向前进,此时,控制作用应当设置为减小超调,加大偏差控制的份量;2、当(E0,EC0)时,此时系统误差逐渐减少,在控制器作用下呈现逐步向稳态变化得趋势,控制器作用应逐步减小,避免系统出现回调;3、当(E0)时,系统输出应越快趋向稳态值越好,因而要尽快消除偏差,加大控制偏差的份量;为避免趋近稳态值时出现超调,应适当减小积分作用,避免积分调节带来的振荡,以利于稳定;4、当(E0,ECRules,将表3.13.3的模糊规则填入,采用以下方式进行填写(如图3.5): if (e is NB) and (ec is NB) then (kp is PB) (ki is NB) (kd is PS)if (e is NB) and (ec is NM) then (kp is PB) (ki is NB) (kd is NS) 图3.5 模糊规则填写 填写完成后,将文件保存为MUPIDFIS1.fis文件,同时在Matlab中M文件编辑器建立一个名为MUPIDFIS1的文件,其内容为:matrix=readfis(MUPIDFIS1.fis),在Simulink当中调用Fuzzy Logic Controller的时候,双击模块,输入MUPIDFIS1,便可以应用该模块。4 Matlab/Simulink系统模型的建立及仿真4.1仿真系统模型总的系统模型如图4.1所示:图4.1本系统主要由发电机模块、电压测量模块、负荷模块、电压转化模块、滤波模块、模糊控制器模块、触发角转化模块、同步信号发生器模块和整流桥模块组成。采用一台发电机,连接两个负荷,第一个负荷为基荷,第二个负荷为变化负荷,通过一个断路器来控制该负荷的投入与切断。利用测量模块测得发电机机端电压标幺值,通过反馈回路,经过模糊PID控制器模块及触发角模块的计算,通过信号发生器后作为整流桥控制信号输入,有整流桥输出的直流电压作为励磁电压供给发电机转子。4.2相关模块的选择与设置4.2.1发电机模块Simulink中提供三种类型的发电机。如图4.2所示:图4.2 三种类型的发电机图4.2中依次为:标幺制(p.u.)下的标准(standard)同步发电机模块、标幺制(p.u.)下基本(fundamental)同步发电机模块、国际单位制(SI)下的基本(fundamental)同步发电机模块。p.u.标准同步电机模块与SI基本同步电机模块快的主要区别在于输入数据的单位,SI基本同步电机模块输入的大部分参数为有名值,而p.u.基本同步电机模块要求输入标幺值。而p.u. 标准同步电机模块和p.u.基本同步电机模块的区别在于p.u.基本同步电机模块需要输入阻尼绕组参数,p.u.标准同步电机模块则不需要。由于采用标幺值有利于励磁控制系统的仿真和分析,以及考虑到本文中使用的WDT-III实验电机中没有阻尼绕组参数,所以选用p.u.标准同步电机模块作为研究对象。根据WDT-III实验发电机的参数,设置p.u.标准同步电机模块的参数,如图4.3所示:图4.3 p.u.标准同步电机模块参数设置4.2.2负荷与断路器模块1.本模型中采用的三相负荷模块有两个。一个作为固定负荷,功率为1600W,占发电机容量的80%;而第二个负荷则作为变化负荷,通过断路器进行切换,功率为200W,占发电机容量的10%。功率因数为0.8。两个负荷的参数设置如图4.4所示: 图4.4 两个三相负荷的参数设置2.断路器则采用三相断路器模块,设置初始状态为断开,经4s后闭合,再经6s后断开,从而模拟负荷变化的暂态过程。参数设置如图4.5所示:图4.5 三相断路器模块4.2.3电压测量模块与转换模块1、电压测量采用三相电压电流测量模块(Three-PhaseV-I Measurement),采用标幺值模式,基准值为发电机额定电压400V,设置如下:图4.6 电压测量模块2、由于模糊PID控制器的输入为线电压瞬时有效值的偏差,而电压测量模块得到的是线电压的瞬时值。因此要通过函数模块来进行转换。线电压瞬时有效值的推到如下:假设三相对称,线电压,。为所求的有效值。则有: (4.1)有: (4.2) 由 , (4.3)代入式(4.2)得: (4.4)等式两边同乘于分母部分得: (4.5)化简得:有效值: (4.6)因此,可采用函数模块,利用测量模块的输入,转换电压瞬时值,函数模块设置如图4.7所示:图4.7 函数模块参数设置4.2.4模糊PID控制器的设置在经过滤波后得到的值为实际电压的标幺值,并不是模糊控制器所需的输入量(即不是电压偏差)。因此还需要一个转换,即将测量得到的值与1(即基准值)做减法,从而得到偏差值。如图4.8所示:图4.8 输入输出量的转换根据第三章的相关结论,可以得到模糊PID的结构,如图4.9所示。封装方法与滤波延时模块一样。图4.9 模糊PID的内部结构其中核心部分为Fuzzy Logic Controller模块。双击该模块,输入MUPIDFIS,即可调用第三章所设置好的模糊控制模块。如图4.10及4.11所示: 图4.10模糊模块的设置 图4.11 模糊PID的设置4.3仿真条件设置将励磁控制系统的matlab模型构建好后,我们还必须合理的设置算法和精度。力求仿真结果不偏离理论与实际。Matlab中提供了两大仿真算法:定步长(Fixed Step)与变步长(Variable Step)。可在Simulink中的Configuration Parameters中进行选择,界面如图4.20所示。图4.12 Configuration Parameters设置界面本文中由于包含了电机模块的刚性系统,采用ode15s与ode23tb算法比较适合,因此采用变步长的算法指令。4.4仿真结果与分析对上述各模块参数和仿真条件进行设置后,点击按钮,进行仿真,仿真时间设置为8s。仿真结果如图4.21所示下:图4.21a 机端电压总体波形图4.21b 10%容量的负荷在4s投入时机端电压的变化图4.17c 10%容量负荷在6s切除时机端电压的变化结果分析:1、 由图4.17a可以看出,发电机机段电压的超调量为额定值的10%左右,振荡次数2-3次,调节时间大约在5s左右,符合中华人民共和国水利电力部发布的汽轮发电机交流励磁机励磁系统技术条件。(超调量不大于15%,振动次数不超过3-5次,调节时间不大于10)2、 由图4.17b可以看出,4s投入10%的负荷,使得机端电压下降10%左右,经过0.4s慢慢恢复稳定。3、 由图4.17c可以看出,6s切除10%的负荷,使得机端电压上升10%左右,经过0.3s慢慢恢复稳定。5 C语言程序设计及仿真调试5.1 STC89C52RC单片机及LY51(AVR)L3A学习板简述该单片机开发板集实验、学习、下载、编程和应用于一体。板子上主要部件有:ADC数模转换IC(ADC0831)、时钟IC(DS1302)、存储器EEOROM(24C02)、红外接收IC(1838)、红外发射电路、电机驱动IC(ULN2003A)、串口电平转换处理IC(MAX232)等等。是学习与应用的理想选择。本实验板所采用的单片机为STC89C52RC。STC89C52RC 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。图5.1 STC89C52RC的管脚图5.2程序设计软件Keil Vision25.2.1 系统概述Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易 用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这 些部分组合在一起。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。5.2.2 Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编 辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连 接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。 使用独立的Keil仿真器时,注意事项 * 仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。 * 仿真器上的复位按钮只复位仿真芯片,不复位目标系统。 * 仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。5.3硬件连接图及各模块说明 图5.2 硬件连接图5.3.1同步信号模块图5.3 同步信号输入模块如图5.3所示,该模块核心部分采用比较器LM339。其输入端分别为A相与B相的电压,经电阻R1,R1起到限流和保护的作用,正弦同步信号经VD1和VD2两个限制比较器输入电压的箝位二极管削波后,送入比较器LM339的输入端,LM339输出为180与电源相位相同的方波。同步检测信号发生正跳变时,经反相以中断方式向单片机的INT0(引脚6)提供中断信号。接收到中断信号后,由单片机内部程序开始执行相应的控制。5.3.2 AD数模转换器模块该模块主要用于在单片机接收到中断信号后,读取实时的机端电压值。连接图如图5.4所示:图5.4 AD数模转换模块由式(4.5)可知,在三相对称情况下,要得到线电压瞬时有效值,必须知道两个线电压的瞬时值。因此采用两个AD数模转换器,该数模转换器为8位的串行通信方式,其中,SDA管脚为串行数据的输入,而SCLK则是控制时钟的输入。Vin(+)及Vin(-)则接到电压互感器相应的相,已形成相应的相电压。单片机在接到中断信号后,开始读取数据,通过内部程序运算后,相应的输出脉冲,单片机的P0.0-P0.5口作为脉冲的输出口,通过P0各口接到整流桥晶闸管门极触发端口,最后由整流桥输出的励磁电压接回发电机的励磁控制端口上。本文只讨论到单片机输出部分,其他部分不作详细讨论。5.4程序流程图本程序可分为两大部分,包括数据读取及处理部分和数据输出部分。总的程序流程图如图5.5所示:图5.5 总的程序流程图5.5程序模块说明本小节主要将各个程序模块进行说明,完整的程序详见附录A。5.5.1管脚定义sbit SCL1=P13; /定义两个ADC0831的管脚;sbit SDA1=P14;sbit CS1=P16;sbit SCL2=P10;sbit SDA2=P11;sbit CS2=P12;sbit RST=P15; /由于DS1302及ADC0831这两芯片共用据/和时钟脚(SDA,SCL),所以要定义它,/DS1302片选关掉,否则会发生冲突;sbit VT1=P00; /定义P0.0-P0.5分别为六个触发脉冲;sbit VT2=P01;sbit VT3=P02;sbit VT4=P03;sbit VT5=P04;sbit VT6=P05;说明:在Keil uVision2这个软件进行C语言程序设计,采用上述语句时,应包括头文件reg51.h,即应包含语句“#include ”(不包括双引号)。采用上述语句后,在程序中便可以直接采用比较直观的代号,如可以用VT1来代替第一个晶闸管,而不必采用P00。5.5.2函数声明与定义1、函数声明:unsigned char ad0831read_1(void); /声明两个AD转换器ADC0831的读取函数;unsigned char ad0831read_2(void);void delay(unsigned char timer); /声明延时函数;float NB_SR(float x); /声明输入量的模糊化函数,E跟dE的模糊float NM_SR(float x); /化函数是相同的,故可采用同一组函数;float NS_SR(float x);float ZO_SR(float x);float PS_SR(float x);float PM_SR(float x);float PB_SR(float x);2、函数定义:(1)unsigned char ad0831read_1(void); unsigned char ad0831read_2(void);由管脚定义可知,P1.3与P1.0分别控制了两片AD模数转换器的控制时钟,即可以通过控制该时钟,来达到读取串行数据的目的,详细函数定义请见附录A。(2)void delay(unsigned char timer);延时子程序,其函数定义为:void delay(unsigned char timer) while(-timer);通过赋初值给timer,便可通过该函数循环达到延时效果,延时的时间与装入的初值关系为: (5.1)式中为计数初值;为晶闸管的触发角;为对应的延时时间所以有: (5.2)(3)float NB_SR(float x); float NM_SR(float x);float NS_SR(float x);float ZO_SR(float x);float PS_SR(float x);float PM_SR(float x);float PB_SR(float x);输入量的模糊化函数,当输入电压偏差E或偏差变化率dE时,通过上述7个函数可以得到输入量的7个隶属度,为下一步进行一系列的模糊推理做好准备。5.5.3主函数void main(void) /主函数; RST=0; /DS1302片选,将DS1302片选关掉,否则发生冲突; EA=1; /开启总中断; EX0=1; /允许外部中断; IT0=0; /将中断触发方式设置为电平触发方式,低电平有效; 主函数中将中断开启,当收到中断信号后,将

温馨提示

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

评论

0/150

提交评论