版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
自动化学院本科毕业设计(论文)题目:基于STM32的多功能电能表的设计专业: 自动化 班级:自动化111学号:**********学生姓名: ******指导教师: ************起止日期: 2015,2〜2015,6设计地点: GraduationDesign(Thesis)TheDesignofThree-phaseMulti-functionalPowerMeterBasedonSTM32By个个个个个个个个个个SupervisedbyProf.个个个个个个Prof.个个个个个个SchoolofAutomation*x**x**x**x**x**x**x**x**x*个个个个个个个个个个个个个个个个个个个June,2015*********自动化学院本科毕业设计(论文)摘要电能表作为测量电能的工具,是连接电力用户和电能之间的一座“桥梁”,随着电能在人们生活中的地位越来越重要,它与人们生活之间的联系也更加地紧密。虽然电能表也在不断地发展,但是局限于功能单一,传统的电能表已经满足不了用户对其越来越高的要求。本文采用STM32F103RC型号的微控制器作为主控芯片,设计了一款实用性强、结构简单的多功能电能表。在设计电能表硬件和软件的过程中,都采用了模块化的设计思想。其中,多功能电能表的硬件部分主要包括主控模块、电源转换模块、电压电流采样模块、EEPROM存储模块、LCD段码显示模块、按键输入模块和RS485通讯接口模块。并且利用软件编译平台MDK进行了软件部分的设计,主要包括主程序、系统初始化程序、电量处理程序、键盘中断程序以及LCD段码显示程序。本文最后完成了多功能电能表的系统调试,对经过采样和调理得到的电压、电流信号进行计算,并完成显示,而且通过按键的选择实现了显示屏的切换,基本实现了多功能定能表的预期功能。关键词:电能表;STM32F103;段码LCD;RS485*********自动化学院本科毕业设计(论文)ABSTRACTElectricitymeterconnectsa"bridge"betweenpowerusersandpowerthatusedasakindofmeasurementtool.Thelinkbetweenitandthepeople'slivesmoretoclosewiththepowerpositioninpeople'slivesincreasinglyimportant.Whilethemeterisconstantlyevolving,butlimitedtoasinglefunction,theconventionalmetershasfailedtomeetthegrowingdemandsofitsusers.Inthispaper,usingthetypemicrocontrollerofSTM32F103RCasthemasterchip,designedapractical,simplestructureofmulti-functionmeter.Intheprocessofthedesignofmeterinhardwareandsoftware,haveadoptedamodulardesignthinking.Amongthem,thehardwarepartofthemulti-functionmeterincludescontrolmodule,powerconversionmodules,voltageandcurrentsamplingmodule,EEPROMmemorymodule,LCDsegmentdisplaymodule,akeyinputmoduleandRS485communicationinterfacemodule.AndusingsoftwareplatformMDKdesignsthesoftwarepart,includingthemainprogram,thesysteminitializationprocedure,powerhandlerprogram,akeyboardinterruptprogramandLCDsegmentdisplayprogram.Finallycompletedthesystemdebuggingofthemulti-functionmeter,thevoltageandcurrentsignalsobtainedthroughsamplingandconditioningwerecalculated,andcompletethedisplay,butalsothroughtheselectbuttontoswitchthedisplay.Thebasicrealizationofthemulti-functionwillbeabletowatchtheintendedfunction.Keywords:PowerMeter;STM32F103;segmentLCD;RS485II*********自动化学院本科毕业设计(论文)目录TOC\o"1-5"\h\z\o"CurrentDocument"第一章绪论 1\o"CurrentDocument"电能表 1\o"CurrentDocument"电能表的概念 1\o"CurrentDocument"电能表的发展 1\o"CurrentDocument"电能表的发展现状 2\o"CurrentDocument"多功能电能表 3\o"CurrentDocument"多功能电能表的现状 3\o"CurrentDocument"多功能电能表存在的问题 3\o"CurrentDocument"电能表的发展前景 4\o"CurrentDocument"课题研究背景及内容 4\o"CurrentDocument"课题研究背景 4\o"CurrentDocument"课题研究内容 4\o"CurrentDocument"第二章多功能电能表硬件设计 6\o"CurrentDocument"整体方案设计 6\o"CurrentDocument"主控芯片的选择 6\o"CurrentDocument"STM32F芯片简介 7\o"CurrentDocument"STM32F芯片优势 7\o"CurrentDocument"硬件电路设计 7\o"CurrentDocument"主控电路设计 7\o"CurrentDocument"采样电路设计 10\o"CurrentDocument"按键显示电路设计 12\o"CurrentDocument"RS485通讯电路设计 13\o"CurrentDocument"存储电路设计 14\o"CurrentDocument"本章小结 15\o"CurrentDocument"第三章多功能电能表软件设计 16\o"CurrentDocument"软件设计 16\o"CurrentDocument"软件开发平台MDK 16\o"CurrentDocument"软件设计流程 16\o"CurrentDocument"主程序设计 17\o"CurrentDocument"初始化子程序设计 18III*********自动化学院本科毕业设计(论文)TOC\o"1-5"\h\z\o"CurrentDocument"采样程序设计 20\o"CurrentDocument"计量程序设计 21\o"CurrentDocument"计量算法的介绍 21\o"CurrentDocument"ADC数据转换原理 22\o"CurrentDocument"计量算法程序设计 23\o"CurrentDocument"显示程序设计 23\o"CurrentDocument"按键处理程序设计 24\o"CurrentDocument"本章小结 25\o"CurrentDocument"第四章系统测试及实验 26\o"CurrentDocument"采样电路模块测试 26\o"CurrentDocument"采样电路仿真测试 26\o"CurrentDocument"采样电路测试 28\o"CurrentDocument"ADC模块调试 29\o"CurrentDocument"显示模块调试 30\o"CurrentDocument"本章小结 31\o"CurrentDocument"第五章总结与展望 32\o"CurrentDocument"工作总结 32\o"CurrentDocument"展望 33\o"CurrentDocument"致谢 34\o"CurrentDocument"参考文献 35附录A:硬件设计原理图与PCB图 37IV南京工程学院自动化学院本科毕业设计(论文)第一章绪论电能表电能表的概念从概念上来说,电能表就是用来计算一段时间内消耗电量值的专用仪表,通常也被叫做电度表和火表。电能表根据其他差异的方面也可以被划分到不同的范畴,比如按照使用途径进行分类,就可以将其分为单相电能表、有功电能表以及多功能电能表等等。此外还可以按照电能表的工作原理、接入电源的性质以及接入的相线数来进行仔细的分类。电能表的发展随着科技的快速进步,电能表在不断地更新换代,以应对人们对于功能和性能越来越高的要求。总结其发展的脚步,大致可以概括如下:(1)感应式电能表在人们还没开始对于交流电进行开发和应用的时期,第一台直流电能表就被科学家利用电解原理发明出来。尽管其测量精度不尽人意,并且只能局限于测量直流电,但是对于推动电能计量表的发展而言,意义重大。在人们掌握了交流电利用方法后,科学家们就依照旋转磁场理论发明出了用于计量交流电量的感应式电能表。由于感应式电能表具有较为简单的结构,制造成本低,安全性高,寿命长久,易于维修等特点,因而得到了普遍的应用。并且在接下来的很长时间里,人们都致力于感应式电能表性能和功能的完善。但是,随着现代电力系统的不断发展,高次谐波的出现对传统感应式电能表提出了挑战。在高次谐波的影响下,感应式电能表的优点被“淡化”,原先“隐藏”在暗处的缺点得以放大。不仅测量精度和测量频率不能满足现代工业的要求,而且由于感应式电能表制作原理的局限性,功耗问题已经变成一个不容忽视的事实。功能单一的感应式电能表渐渐被现代工业和现代的电力用户所“抛弃”。(2)机电式电能表在人们对电能表功能和性能要求不断提高的情况下,发现可以将电子电路应用到感应式电能表,保持制作的基本工作原理不变,使得感应式电能表功能得到进一步的改善,创造出机电式电能表。机电式的电能表又常常因为它的工作原理被称为脉冲式的电能表,它是利用机体发出电脉冲,依据光电转化原理进行工作,从而完南京工程学院自动化学院本科毕业设计(论文)成电能测量的。机电式电能表在传统感应式电能表的基础上进行了改进,突破了原先存在的部分局限性,使用寿命延长,抗干扰能力进一步加强。但是由于其制作和利用的工作原理及理论在本质上与感应式电能表一致,因而仍然没有办法克服测量频率范围窄、测量精度不足的缺点。但是机电式电能表的出现和应用,激发了人们创造全电子式电能表的动力,并且提供了新的思路。(3)电子式电能表电子式电能表的发明得益于功率测量原理,这个原理是由日本科学家首先提出,并且很快就将其应用到实践中。由于电子式电能表是在机电式电能表提出旋转结构的基础上得以实现的,因而又被叫做静止式电能表。由于制作和工作原理得到了改进,电子式电能表能够突破以往电能表的很多局限之处。测量精度得到了大幅度的提高,寿命进一步延长,测量的频率范围已经从开始的窄频带得到了很大的拓展,可以实现几千赫兹的频率跨度。同时,对于高次谐波的抗干扰能力得到了大幅度的提高,高功耗问题也得到了一定的解决,迎合了现代工业的要求,因而电子式电能表很快就取代了其他的电能表,在全球范围内都得到了广泛的应用,并且性能在不断地得到改善。全球科技竞争愈演愈烈,电力电子技术以及通讯技术“全面开花”,科技越发达,电能表的性能越优越。如今,电子式电能表有了更长久的寿命,更精巧的外形,更精确的测量精度,更强大的抗干扰能力。实用电能表向功能多元化发展前进是不可逆转的一个大趋势。电能表的发展现状由于发展中国家和发达国家的科技发展水平不同,电子式电能表在发达国家的应用更为普遍。日本早在上个世纪70年代就首先研制出电子式电能表,欧美发达国家更是紧跟其后不断研制出性能更加完善的电子式电能表,并且仅仅用了十年的发展时间,就推出了性能优越、功能完善的全电子式多功能电能表。现在的事实就是,工业发达的国家在电能表市场上占据了绝对性的不可撼动的位置。中国作为一个发展中国家,由于经济和科技的双重原因,在电能表的自主研发领域起步较晚。直到上个世纪90年代,我国自主研发电能表的事业才真正起步。近年来,我国创新意识被唤醒,科技得到快速的发展。能够自主研制电能表的企业,无论是在数目上还是在技术上都有了质的飞跃,在技术的改进与创新的过程中,已经出现了少数可以在技术和口碑都领先于国际水平的企业。但是从整体角度出发,我国的科技创新水平还是落后于发达国家和工业发达的西方国家,在电能表的研制方面还要做出更多的努力和创新。南京工程学院自动化学院本科毕业设计(论文)多功能电能表多功能电能表的现状激烈的市场经济下,电能表只有不断地改进和完善工作性能才能立足。单一功能的电能表早已不能满足市场和用户的需求,为了适应市场的发展、用户的期望,多功能电能表很快就被创造出来并得到应用。从功能上讲,多功能电能表就是指除基本电压、电流等电量的测量、有功和无功功率的计量外,还应具有分时、通讯等两种以上的功能,并且还要具有存储、显示、传递数据以及和上位机之间进行通讯的功能。多功能电能表在我国起步较晚,近几年才开始有了长足的进步。另外我国地域广阔,南北、东西经济发展水平差距大,在一些经济发达的主干城市已经开始普及多功能电能表。但是在经济较为落后的农村仍然沿用传统的单一功能的电能表,负责抄表的工作人员工作强度大、工作量多,并且工作效率低,特别在外部环境恶劣的情况下。这就迫切要求制作电能表的厂商应该从实际出发,研制出更加实用方便的多功能电能表,加大多功能电能表普及的力度。多功能电能表存在的问题尽管,我国大城市已经在普遍使用多功能电能表,但是仍然存在一些问题。(1)成本高。多功能电能表使用方便,但是对于用户来说价格却偏高。随着功能的进一步扩展,制作成本也在不断抬升,销售价格随着制作成“水涨船高”。成本对于电能表生产商是一个负担,而价格更是电力用户考虑的因素。过高的制造成本使得制作商“望而却步”,阻碍了厂商扩展多功能电能表生产规模的决策,不利于产品在市场上的大规模推广。近几年,由于电力电子器件的发展,制作成本不断下降,成本的问题也会慢慢地得到解决。(2)安全性。多功能电能表需要实现的功能较多,传输的数据相应增多,如今市场自由竞争激烈,信息的安全性尤为重要。这对于传输数据的通信方式是一个严峻的考验。为了保障电力用户的利益,防窃电技术也将成为将来电能表发展的一种重要的技术支持。(3)灵活性差。多功能电能表早就宣称已经朝着智能化和网络化的方向发展,但是智能化也只不过是人们事先将“预见”的可能事件写入程序,不断地进行实时的检测,当发现此类事件发生时才会做出相应的响应,并“自行处理”出现的问题,排除潜在的危险。当出现人们无法预知的事件发生时,“有大脑”的电能表也就无能为力,失去抵抗的能力。南京工程学院自动化学院本科毕业设计(论文)电能表的发展前景电子技术的迅速发展,拉动了信息通讯、传感器等技术的发展。快速发展的技术在满足了电力用户各种期望的同时,也使得其对于电能仪表的要求越来越高,这就要求电能表要在精度、可靠度、便捷性方面有进一步新的改进。未来多功能电能表的发展方向大致就是高精度化、高可靠性化、网络化和智能化。(1)高精度。精度是评判电能表功能好坏的重要指标,精度的高低直接影响到电能表反馈信息的准确性。市场上大量流通的电能表的精度一般都位于0.2S的水平。在日程生活中,电能表是要作为测量电能的工具发挥作用的,需要长时间不间断工作。因而在不同的外界环境下、不同的电能频率下,保持电能表测量精度的稳定性也是十分重要的。(2)高可靠性。电子式电能表的制造主要基于电力电子器件,因而电力电子器件的性能直接影响甚至决定了电能表的性能。因而要保证和提高电能表的可靠性,就必须解决电力电子器件的可靠性问题。电力电子器件的性能,将是攻破电能表在发展过程中“瓶颈”问题的关键因素。多功能电能表正在朝着高精度、高安全性、智能化和网络化的方向上发展,关键的技术支持是必不可少的。这些技术主要有谐波测量技术,通讯技术,软硬件冗余设计技术,抗饱和技术和线性补偿技术等。课题研究背景及内容课题研究背景社会经济的发展,带动电能的迅猛发展;现如今电力系统的发展又成为了国家经济发展和国民生活质量提高的决定性因素。作为测量电能的仪表,电能表的发展就变成了关系国家百姓生活舒适度的一个重要的工具。高精度的三相多功能电能表的研制和应用,是适应时代发展的重大项目,并且可以拉动整个仪器仪表业的发展,拥有不可估量的经济价值。研制功能强大、使用方便、功耗低的电能表也和国家建设“资源节约型、环境友好型”的社会理念相契合。课题研究内容本课题旨在从实际需求出发,设计一款经济实用且结构简单的多功能电能表。首先要了解电能表的工作原理和在国内外的发展历程,从工作原理出发分析电能表存在的优缺点;然后依照本课题要实现的功能,从实现功能的可行性、可能性和使用方便性等方面进行考虑,进行整体设计方案的选择和论证。再依照模块化思想的设计原则,将整个硬件设计方案分解为主控模块、显示和按键模块、电流电压采样南京工程学院自动化学院本科毕业设计(论文)模块以及RS485通讯接口模块等模块进行单独地设计,最后通过连线将不同的板子进行整合,建立各个电路板之间的联系,完成整个课题的硬件部分设计。同时要对软件开发平台进行认真地了解,同样采用模块化的思想,编写各个模块的软件程序,实现相应模块的预期功能。最后进行软硬件部分之间的测试和实验,如果发现存在问题,就及时地解决问题,不断地完善软件的程序设计和硬件电路设计。最终完成整个课题的设计工作。南京工程学院自动化学院本科毕业设计(论文)第二章多功能电能表硬件设计整体方案设计本文设计的三相多功能电能表的硬件,在整体结构上主要由主控模块、电源转换模块、电流电压采样调理模块、LCD段码显示模块、RS485通讯接口模块、按键输出模块以及EEPROM存储模块组成。其中系统的总体结构框图,如图2.1所示。电源模块图2.1系统总体结构框图本文中主控芯片采用型号为STM32F103RC的微控制器,在保证电流、电压采样精度的前提下,使得结构尽可能的简洁,避免了复杂多变的电路布局,更加方便PCB板的制作,并且成本较为低廉。其中,在采样调理电路的设计中,采用电流互感器进行电流信号的采样,而电压采样部分使用高精度电阻分压网络进行采样设计。主控芯片的选择在设计多功能电能表的过程中,确定主控芯片时,一般有两种选择方案。片上系统SoC往往会成为设计者的选择,这是一种专用的电能计量芯片,内部集成了CPU和一系列电能计量的功能模块,自行对采集到的电量进行转换和计算,软件设计部分简单,易于实现。但是片上系统Soc价格昂贵,会使得整个设计的成本大增,因而这种片上系统不适用本课题进行设计。本文选择使用型号为STM32F103RC的微控制器作为主控芯片,其中电量计算的任务需要在软件里完成,虽然加大了软件编程的难度,但是在很大程度上控制了课题的设计成本,并且该型号的芯片也具有一系列显著的优点。南京工程学院自动化学院本科毕业设计(论文)STM32F芯片简介基于ARM7和ARM9内核进行设计是微控制器发展的一个典型趋势,2006年第一个基于ARMCortex-M3内核的微控制器STM32由意法半导体(STMicroelectronics,简称ST)推出。Cortex系列主要拥有3个不同的分支,分别是A分支,R分支和M分支。STM32隶属于M分支,属于微控制器系列产品,同时在结构组成上STM32也分为基本型和增强型两个不同的版本。其中STM32的基本型外挂的设备数目少,最高只能承受36MHz的时钟频率,而增强型的STM32拥有完整的外部设备,同时CPU可以在最高72MHz的时钟频率下运行STM32F芯片优势最初研制STM32系列的微控制器就是以提高系统的性能和降低工作时的功率损耗为目标的,STM32的出现是微控制器领域的一个新的飞跃,与以往的微控制器相比较,具有突出的优越性。(1)精密性。STM32是比较高端的一种微控制器,集中分布着完备的外设,布局精巧,器件放置紧密且不失独特性。比如STM32具有两个12位高精度的ADC转换器,并且在一定的条件下可以实现同时工作,衍生出多种转换模式,功能强大。(2)可靠性。STM32的外设布局越来越精密,但是对于可靠性的要求并没有因此降低。为了在外挂的器件越来越多的情况下,依旧能够保持高可靠性,STM32配备充足的硬件电路,主要包括低电压监测器、时钟管理器和看门狗等。比如时钟管理系统负责监测外部时钟的工作,一旦外部时钟源发生问题,系统就会自动将内部振荡器切换为主时钟源。(3)安全性。信息时代,最为激烈的就是信息竞争,确保信息在传递过程中的保密性,是实现信息安全的必要步骤。一旦数据中包含的信息泄露,整个信息的传递就没有继续下去的意义。STM32可以通过锁定Flash引脚来确保信息不会泄露和被窃取,一旦出现想要获取芯片内部信息的行为,引脚状态就会被拉高,STM32会自动清除芯片内部信息。从而最终确保信息的安全性。(4)在线调试。STM32支持Thumb-2指令,可以在C语言环境下完成软件的编译、仿真和调试。在软件平台上编写的程序可以通过下载口,下载到STM32芯片内部,进行在线调试,方便实时发现错误并进行及时的修改,实用性强。硬件电路设计主控电路设计本课题以型号为STM32F103RC的微控制器作为主控芯片。要实现多功能电能南京工程学院自动化学院本科毕业设计(论文)表的预期功能,主控芯片必不可少,电量计量的任务、显示和显示屏切换的功能以及RS485的通讯功能都需要在主控芯片内设计和进行。STM32F103RC微控制器的最小系统由复位电路、时钟电路、电源转换电路和下载电路组成。其中,复位电路就负责主控芯片的初始化;时钟电路负责为系统提供时钟基准,但是在本课题中,系统利用的是内部时钟,因而并没有特意设计外部时钟电路;电源转换电路负责对给定的电源进行转换,然后作为系统运行时的驱动源;下载端口是连接硬件和软件的“桥梁”,负责将编写的程序下载到制作好的电路板中,进行调试和验证。其中主控芯片的原理图,如图2.2所示。图2.2主控芯片原理图STM32芯片自身携带内部RC振荡器,为芯片提供时钟基准,本课题中采用的主控芯片属于增强型的范畴,可以在72MHz的时钟下运行。但是内部RC振荡器的不足之处是:准确性不够,而且稳定性不好,所以在设计时常采用外部的晶振时钟源。通常情况下,外部时钟源可以分为高速外部振荡器、低速外部振荡器和时钟输出。在本课题中,主控芯片选择外接晶振电路,属于高速外部振荡器。该电路由C9、C10、Y1组成,由它为主控芯片提供时钟基准。同时原理图中分布的电容C8〜C16存在的意义就是稳定电源,使得整个系统的稳定性得以提高。因为STM32F103RC的引脚可以承受的最高电压的范围为2.0V〜3.6V,一般情况下选择+3.3V,因此需要对给定的电源进行转换。本课题中,设计的电源转换电路采用的芯片型号是ASM1117-3.3,此电平转换器件具有体积小、损耗低并且稳定性能好等优点,同时它最高可以输出1A大小的电流,这一特性使得该芯片几乎可以和全部的电子网络芯片进行匹配,因此得到了普遍的应用。该系统中电源转换电路的原理图,如图2.3所示。南京工程学院自动化学院本科毕业设计(论文)图2.3电源转换电路原理图STM32F103RC型号的微控制器的驱动电源为+3.3V,实际中可以提供的是+5V的直流电源,所以本电源转换电路实现的功能就是将+5V的直流电源通过芯片AMS1117-3.3转化为+3.3V的直流电源,实现为主控芯片进行供电的功能。另一方面,电量计量单元作为多功能电能表的核心部分,计量的准确度和精度将直接影响电能表最终功能实现的程度,所以在硬件电路的设计中一定要排除影响采样和计量精度的内外部因素。如图2.3所示,数字地GNDD和模拟地GNDA采用磁珠来进行连接,抑制电源线中涌动的高频噪声和干扰信号,使得系统更加稳定。同时设计由0.1UF和10UF电容组成的并联电路,将该电路置于电路输出端,具有滤波和稳定电压的作用,进一步提高了输出电压的稳定性。STM32F10XX系列的单片机支持系统复位、上电复位、备份区域复位三种复位模式。STM32F103RC芯片同时具有内部复位的功能,当系统检测到供电引脚上的电压低于2V时,就会自动复位,但是会存在迟滞问题的局限性。故在进行本课题的设计时,为了保证安全性采用外部复位电路来实现系统的复位,最小系统的复位电路如图2.4所示。图2.4复位电路原理图该复位电路属于系统复位范畴的外部复位方式,当送入芯片引脚NRST的信号为低电平时,芯片进行复位。通常情况下,CPU在上电后需要处于一个确定的初始状态,并且经历短时间的复位后,芯片就要从这个初始状态开始工作,这项工作要由复位电路得以实现。如图2.4的复位电路所示,阻值为10K的电阻R5使得流入主控芯片引脚的电流只有0.33mA,保证芯片的安全,避免了电流过大将芯片毁坏的情
南京工程学院自动化学院本科毕业设计(论文)况发生。系统启动时,按下按键KEY_rst时,Reset处的信号被拉低,芯片引脚NRST信号为低,芯片复位;当按键抬起时,Reset处的信号便会拉高,芯片引脚NRST信号为高,芯片不会复位。复位电路中的电容C17,有稳定电路的作用,使电路性能更加的优越。STM32支持不同的启动模式,并且在进行软硬件调试时离不开下载端口,系统的启动模式和下载端口的电路原理图如图2.5所示。图2.5启动模式和下载端口原理图首先,STM32主控芯片具有不同的启动方式,启动模式由BOOT0和BOOT1的取值组合决定,不同的启动方式决定了主控芯片在进行复位后,从某一特定区域开始执行系统程序。当编程完成,电路板制作结束后,就可以对程序进行下载,STM32支持的仿真和下载方式有两种,分别为JTAG模式和SWD模式。其中,JTAG模式要用到5个I/O口,而SWD模式只要用到2个I/O口。考虑到节省资源以及结构的简化,本设计采用SWD模式进行下载,下载端口只需要将2根线连到主控芯片,另外2根线连接到电源和地,这样就可以进行程序的下载。采样电路设计电量的采样是实现电能表功能的关键技术,只有保证采样的精度和准确度才能确保电能表功能实现的准确性。电流采样调理原理图如图2.6所示。图2.6电流采样调理原理图本课题采用电流互感器进行大电流的采样过程,之所以选择电流互感器而不选择采样线性范围比较广的电阻网络取样,是因为电阻在经历过长期工作后,阻值会10南京工程学院自动化学院本科毕业设计(论文)受到温度以及其他一些外部因素的影响而发生变化;而采用电流互感器的方案就可以保证在长期工作条件下,其阻值稳定性较好。图2.6中的电流信号是取自电路中的大电流经过电流互感器变换后产生的小电流信号。其中,经过电源转换电路后得到的+3.3V直流电源,再经过分压电路后变成+1.65V,得到基准电压Vref,该信号用于抬升电流信号的基准。采集到的小电流信号I经过LM358的输出信号的计算公式(3-1)为:Uac=Qr-/x330 (3-1)其中Vref为+1.65V,由于I的值是毫安等级的,所以从LM358端输出的信号会处于0〜+3.3V的电压范围内,处于芯片可以承受的信号范围内,保证了芯片的安全性。图中电容C1的作用就是滤除采样点的干扰信号,稳定由分压电路得到的电压信号,去除杂波信号;最终将经过调理的采样电流送进STM32内部自带的A/D转换通道口,之后的计量算法中,在减去基准电压的基础上,再进行相应电量计算的处理。涉及到算法选择的部分,参照本论文软件部分关于算法的详细说明。系统要处理的电压信号属于大电压,如果直接将大的电压接到芯片引脚上,很容易就会将芯片主板烧毁,造成损失。所以要对采样得到的电压信号进行处理,这就需要电压的调理电路,本篇论文运用电阻分压网络进行电压采样调理电路的设计,其中电压采样电路原理图如图2.7所示。图2.7电压采样原理图本课题中设计的电能表是三相多功能电能表,需要采集三相的电压信号。以其中的A相电压作为实例进行阐述。如上图2.7所示,A相电压采样电路(以220V交流电为例)中,电阻R10〜R14是分压电阻,阻值都为200K。其中采用多电阻串联代替单个大电阻的原因主要有:防止产生大的电压降,更好地保证电路的安全性;降低电阻在工作时承受的电压大小,减小电阻工作时的功率,因此就可以选取小功率的电阻。R15为采样电阻,阻值为2K,接在放大器的正向输入端。同时将经过分压处理的基准电压接入放大器反向输入端,从运算放大器输出端引出的信号就是要送入主控芯片引脚的电压信号。其中Av的计算公式(3-2)为:(3-2)11南京工程学院自动化学院本科毕业设计(论文)Av信号类似于经过调理的电流信号,直接送到STM32F芯片自带的A/D转换通道口,进行模拟量到数字量的转换,然后将基准电压1.65V减去后,按照制定的计量算法在软件中进行电量的计算。本分压电路网络中,用于分压场合的电阻一般情况下阻值位于欧姆级和千欧姆级之间,采用的封装也比较小,不用担心占据电路板太多的空间。同时通过阻值为200K的电阻的电流计算公式(3-3)为:I兄焰”)]='"1002_reu_ (3-3)200X5X1000其中Av的最大值可以达到220x72*311(7),Vref为1.65V,则通过200K分压电阻的最大电流约为0.31mA,所以每个电阻承受的功率计算公式(3-4)为:P=/2xR*0.02w (3-4)可知只要选用四分之一功率的电阻即可。按键显示电路设计显示模块电路的作用就是将经过采样、调理和计算后得到的电流、电压和功率在显示屏上进行显示,因而显示功能的完成是电能表功能实现的重要指标;而按键电路的作用就是进行显示屏切换和变量的设置,其中,按键电路的原理图如图2.8所示。图2.8按键电路原理图本课题在进行原理图设计的过程中用到四个独立按键,其中阻值为10K的电阻R1〜R4,作为上拉电阻具有限流、保护电路的作用,而电容C3〜C6的作用就是进行按键抖动的消除,抑制电路中的低频干扰。其中K1键作为PageUp按键,进行向上翻页的动作;K2键作为PageDown按键,进行向下翻页的动作。K3和K4键作为预留的按键,用于以后的功能扩展。按键功能属于显示模块的拓展功能,显示模块的电路原理图如图2.9所示。12南京工程学院自动化学院本科毕业设计(论文)图2.9显示电路原理图在图2.9显示电路原理图中,由10uF和0.1uF的电容组成的并联电路的作用就是:稳定电压,消除存在的干扰信号,并联的电容值存在倍数的差异,可以扩大抑制的干扰信号的频率宽度,提高系统的稳定性能。本课题采用了段码LCD方式进行显示功能的设计,LCD段码显示方式由来已久,在液晶显示屏应用早期,段码液晶的称呼就已兴起,它的出现主要是为了替代LED数码管,LED数码管主要应用于计算器、钟表等简单的仪器,结构简单,功能易于实现。发展至今,非点阵类液晶显示屏都被称为段码液晶屏。段码LCD显示和LCD液晶显示的主要区别就在于LCD液晶显示利用点阵进行编码显示,而LCD段码显示则是以段码的形式进行编码显示。LCD段码显示屏一般可以采用HT1621系列的芯片进行驱动。由显示电路的电路图可知,HT1621B的结构简单,和主控芯片的连线十分简洁,只需要将CS,WR,DATA几个引脚连接到主控芯片即可。下载程序方便可靠,并且HT1621B内部自带节电程序,在很大程度上降低了功率的消耗。由本芯片驱动的液晶屏显示的主要内容有电流有效值、电压有效值、三相电的功率消耗情况。RS485通讯电路设计RS485是一种双向半双工的通信协议,具有经济高效、抗干扰能力强、传输速率快、传输距离远的特点。通讯接口一般分为串行接口和并行接口,RS485接口隶属于串行接口,在近距离传输数据领域应用较为成熟,特别是在平常的工业设计中应用更加广泛。本文采用MAX13085E低功耗收发器,该芯片内部集成驱动器和接收器,其中驱动器负责建立电气特性电平和数字信号电平之间的联系和转换。RS48513南京工程学院自动化学院本科毕业设计(论文)通讯电路原理图,如图2.10所示。图2.10RS485通讯电路原理图图2.10中的6N137是高速光耦合器芯片,用于电源和信号的隔离。该电路中采用独立于主板的电源转换电路设计,使得电路的运行更加的安全稳定。MAX13085E的性能优越,工作可靠,具有一个信号接收器和一个驱动器,为了保证芯片的抗干扰能力,在A、B端分别接有上拉电阻和下拉电阻,用来保护芯片的可靠运行。当前端为低电平时,如果引脚端(4-3)之-5064则RO端为高,接收信号;反之,RO端为低,DI端为高,发送信号。其中RO为数据接收端,通过光耦合芯片6N137接到主控芯片的RXD引脚,DI为数据发送端,通过光耦合器接到主控芯片的TXD引脚,A、B端负责接收和发送总线上传送的信息。需要进行说明的一点是,为了方便功能的扩展和二次开发,本课题在设计过程中只是预留了RS485的通讯接口。存储电路设计因为检测到的信号以及计算得到的数据都是以变量的形式储存在STM32F的RAM区内,而RAM又是掉电易失性的,一旦电能表在运行的过程中失电,再次运行时,数据就已丢失,所以必须设计外部存储电路进行数据的掉电保护。本课题选用24C02芯片进行EEPROM存储电路的设计,24C02在仪器仪表和工业自动化设计中应用最为广泛,主要得益于其具有电路简单,接口方便,占用面积少,掉电数据不丢失等特点。EEPROM存储电路如图2.11所示。图中的电容C14的作用是稳定电压。14南京工程学院自动化学院本科毕业设计(论文)图2.11EEPROM存储电路原理图本章小结本章进行的介绍主要是围绕多功能电能表硬件电路的设计。首先对课题的整体方案进行介绍,并且针对所用的主控芯片的选择进行了论述,然后针对硬件电路的设计进行了大概的阐述,包括主控电路设计、电源转换电路设计、采样电路设计、显示和按键电路设计、RS485通讯电路设计以及EEPROM存储电路设计。并对其中几个重要的电路进行了详细的介绍和分析。15南京工程学院自动化学院本科毕业设计(论文)第三章多功能电能表软件设计软件设计软件开发平台MDKKeilMDK是著名的软件公司Keil研制并开发的微控制器软件开发平台。Keil公司是一家在微控制器(MCU)软件开发领域地位卓越的国际公司,并且于2005年被ARM公司收购,是目前针对ARM内核单片机开发的主流平台产品。Keil提供了一整套完整的开发方案,主要包括C语言编辑器、连接器、宏汇编、文件库和一个功能强大的在线仿真调试器。这些功能通过uVision集成开发环境被集结在一起,目前正在使用的最高版本就是uVision4,该平台所依附的编译界面和C语言研发平台的界面比较相似,界面环境设计人性化,易于初学者学习和应用,更适合深一步的研究和开发。不仅如此,在软件在线调试和仿真方面功能也很强大。一般情况下,致力于ARM开发的工程师都将此开发平台作为首选。KeilMDK软件开发平台的开发周期和其他的一些软件开发平台的周期大同小异,一般包括以下几个步骤:(1)首先创建一个新的工程,选择相应的芯片型号,同时将创建工程所需要的固定配置提前设置好。(2)编写工程源代码,一般采用C语言或者汇编语言,在本课题中采用的是C语言。(3)编译程序,查找程序中的语法和逻辑错误。(4)修改在编译过程中出现的问题。(5)编译通过后,可以将程序下载到硬件开发板中,进行软硬件的联机调试。这就是利用MDK软件开发平台进行开发的主要周期。软件设计流程为了提高系统的运行速度,改善系统的性能,在进行软件设计时,也采用了模块化的思路,本文中的软件编程采用了调用固件库函数的设计方法。不管使用的微处理器发展到何种地步,进行设计时,最终还是要对寄存器进行操作,但是STM32拥有数百个寄存器,要想对每个寄存器都了如指掌是及其困难的。调用固件库函数进行编程就可以解决这个困难,STM32的固件库就是函数的一种集合,固件库函数16南京工程学院自动化学院本科毕业设计(论文)的作用就是一方面负责直接与寄存器建立联系,另一方面为用户提供函数调用的接口(API)。其中软件整体的设计框图如图3.1所示。主程序在设计多功能电能表的主控电路时,考虑到外部晶体振荡器速率较低,能够更好地保证系统稳定性,因而选用8MH的晶体振荡器,同时在软件中选用7倍频的设置,很好地提高了系统处理程序的速度。主程序设计软件的主程序负责整个系统初始化、各个模块的固件库函数以及中断函数的调用,其中主函数的流程图如图3.2所示。由图3.2可知主程序的设计思路为:系统上电后,首先进行各个模块配置的初始化,设置100ms的定时刷新时间,实时监测定时时间是否到达,如果定时时间到,进行数据的处理和保存;数据保存后,实时监测显示屏刷新时间是否到达,如果刷新时间到,就进行刷新显示;同时,要不间断地检查是否有按键动作或者是否需要进行通信,只要检测到有相应事件发生,就立即进入到相应程序里,进行处理。比如检测到按键动作就要转入相应的按键处理程序,进行页面切换的选择;检测到通信请求信号时,就要转入RS485通讯程序处进行处理,在本课题中,下位机并没有实现和上位机的连接,同时为了功能的扩展,预留了RS485的通讯接口,方便以后功能的二次拓展。17南京工程学院自动化学院本科毕业设计(论文)N按键输入Y接口呼叫Y显示刷新定时到?开始图3.2主程序流程图NYN采样定时器初始化Y数据处理 . 数据刷新 N时间到?N按键输入Y接口呼叫Y显示刷新定时到?开始图3.2主程序流程图NYN采样定时器初始化Y数据处理 . 数据刷新 N时间到?刷新显示系统初始化通讯处理按键处理保存数据初始化子程序设计ADC系统在运行之前需要进行初始化,包括系统时钟的配置、定时器的初始化、初始化、GPIO口的配置、显示初始化和键盘初始化。ADC(1)系统时钟配置和定时器初始化:TIM_TimeBaseInitTypeDefTIMBaseStruct;TIM_ClearITPendingBit(TIM2,TIM」T_Update);〃清除TIM2的中断源;TIMBaseStruct.TIM_Period=12500;//1.25ms的采样时间周期;18南京工程学院自动化学院本科毕业设计(论文)TIMBaseStruct.TIM_Prescaler=72-1;//72分频;TIMBaseStruct.TIM_ClockDivision=0;//未设置时钟分割;TIMBaseStruct.TIM_CounterMode=TIM_CounterMode_Up;//向上计数;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);//挂接定时器2;TIM_TimeBaseInit(TIM2,&TIMBaseStruct);TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);//使能定时器2;TIM_Cmd(TIM2,ENABLE);〃使能TIM2;(2)ADC和GPIO初始化子程序:ADC_InitTypeDefADC_InitStructure;GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1,ENABLE);〃使能ADC1通道时钟;RCC_ADCCLKConfig(RCC_PCLK2_Div6);〃设置ADC分频因子6,72M/6=12,ADC最大时间不能超过14M;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6;//六路信号输入;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;〃模拟输入弓|脚;GPIO」nit(GPIOA,&GPIO_InitStructure);//选择A通道管脚;ADC_DeInit(ADC1);//复位ADC1,将外设ADC1的全部寄存器重设为缺省值;ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;//ADC工作模式:ADC1和ADC2工作在独立模式;ADC_InitStructure.ADC_ScanConvMode=DISABLE;//模数转换工作在单通道模式;ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;//模数转换工作在单次转换模式;ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;//转换由软件而不是外部触发启动;ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;//ADC数据右对齐;ADC_InitStructure.ADC_NbrOfChannel=1;//顺序进行规则转换ADC通道的数目;ADC_Init(ADC1,&ADC」nitStructure);//根据ADC」nitStruct中指定的参数初始化外设ADCx的寄存器;ADC_Cmd(ADC1,ENABLE);〃使能指定的ADC1;ADC_ResetCalibration(ADC1);//使能复位校准;while(ADC_GetResetCalibrationStatus(ADC1));//等待复位校准结束;ADC_StartCalibration(ADC1);//开启AD校准;19南京工程学院自动化学院本科毕业设计(论文)while(ADC_GetCalibrationStatus(ADC1));//等待校准结束;(3)显示初始化程序:LCD_CS=1;LCD_DATA=QLCD_WR=0;Init_HT1621();(4)键盘初始化:GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;〃键盘接在GPIOB12、B13、B14、B15管脚上;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;〃上拉输入;GPIO」nit(GPIOB,&GPIO_InitStructure);采样程序设计本课题使用六路通道采样,将通过硬件电路调理得到的信号送进A/D转换口进行处理,在程序执行的过程中选择中断子程序调用的方式进行A/D对信号的采集过程,其设计流程图如图3.3所示。图3.3采样流程图ADC采样程序:staticu8s_sampTim=0;g_volA[s_sampTim]=Get_Adc(ADC_Channel_1)*(3.3/4095)-1.65;//通道1,A相电压;g_curA[s_sampTim]=Get_Adc(ADC_Channel_4)*(3.3/4095)-1.65;//通道4,A相电流;g_volB[s_sampTim]=Get_Adc(ADC_Channel_2)*(3.3/4095)-1.65;//通道2,B相电压;g_curB[s_sampTim]=Get_Adc(ADC_Channel_5)*(3.3/4095)-1.65;//通道5,B相电流;g_volC[s_sampTim]=Get_Adc(ADC_Channel_3)*(3.3/4095)-1.65;//通道3,C相电压;g_curC[s_sampTim]=Get_Adc(ADC_Channel_6)*(3.3/4095)-1.65;//通道6,C相电流;s_sampTim++;if(s_sampTim>=16)s_sampTim=0;本采样程序中,一个周期进行16组的数据采样,每次得到最新一组的采样数据20
南京工程学院自动化学院本科毕业设计(论文)时,就替换掉数组中最原始的那组数据,保证进行计算的数据是最新的16组采样数据。上述程序完成了六路信号的采样。程序中减去1.65的原因是在设计采样的硬件电路时,抬高了调理得到的信号基准,基准电压采用的电压是分压得到的+1.65V。计量程序设计在本课题中,经过采样调理电路得到的调理信号,送进A/D转换接口后得到一系列离散的电流、电压数字序列,按照以下的算法处理得到真正的测量值。计量算法的介绍(1)电压电流有效值计算本课题中的采样电压电路所用的方法为电阻分压网络,从A/D转换口得到的电压数字序列是经过分压过后的电压信号u,电压的有效值就等于其在一个周期内的方均根值,用公式(3-1)来表示为:(3-1)(3-2)N是在采样区
同时又有N(3-1)(3-2)N是在采样区
同时又有N=(3-3)(3-4)将其离散化得到公式(3-2):U=1(1力〃2AT)7\Tn=1n nJ等式中的Tn是采样时间间隔,un为在第n采样点得到的瞬时电压值间内的总的采样点个数。在计算过程中将A7;默认为一个不变的值乙工,可以得到公式(3-3):△TU=/(-SN〃2)
q〈Nn=1n)即得到电压的有效值。同理可以得到电流有效值的公式(3-4)为:I=Jg/2)(2)功率因数测量交流电路中,功率因数在数值上等于有功功率和视在功率的比值,而视在功率可以用公式(3-5)来表示:(3-5)(3-6)S=;P2(3-5)(3-6)所以功率因数的表示公式(3-6)为:cos0=cos-[=^(3)无功功率测量对采样到的电流进行数字式移相90度,再用类似于求取有功功率的方法进行计算就可以得到无功功率的值,单相的无功功率就等于公式(3-7):(3-7)Q=1En(3-7)VNn=1n(n+^4)那么三相的无功功率的值就等于公式(3-8): 421南京工程学院自动化学院本科毕业设计(论文)Q=1〃 i、巩ixui、) (3-8)Nanan及) ^九匕九从) cncn及),4/ 4/ 4,其中的〃九和q为同一时刻的采样电压、电流采样值。(4)有功功率测量有功功率的计算就是通过电压、电流周期性的乘机获得。其中单相有功功率的计算公式(3-9)为:P=」E^=i〃/九 (3-9)那么三相总的有功功率的计算公式(3-10)就为:P="nui 〃/ ui) (3-10)Nn=1ananbnbncncn/其中的〃九和q为同一时刻的电压电流采样值。ADC数据转换原理STM32FXXX系列的微控制器自带12位高精度的ADC转换通道,是一种模拟数字转换器,总共拥有18个转换通道,可以分别用来测量外部信号(16路)和内部信号(2路)。每一路A/D通道都具有单次、连续和间断转换模式三种,进行工作时,可以在三种模式中根据实际情况自由选取其中的一种模式进行工作,在本课题设计的过程中采用的是单次转换模式。ADC转换的数据结果有左对齐和右对齐两种对齐方式。其中ADC的特征主要有:支持双通道同时进行数据转换;具有自校准功能;具有单次和连续转换模式;12位高精度分辨率;数据转换结束以及发生模拟看门狗事件时,自动产生中断;注入组和规则组均可由外部信号触发;从通道0到通道X的自动扫描模式;ADC最高频率为14MHz,要求2.4V〜3.6V范围内的电源进行供电;将经过采样和调理过程得到的电压、电流信号,送进ADC转换通道,要在转换通道内进行模拟信号到数字信号的转换。在本课题的设计中,因为要完成对三相电压、电流的采样,所以要采用6路ADC转换通道,每隔1.25ms就进行一次采样,在工频50Hz的情况下,每经过一个电压、电流周期,就要设置16个信号采样点,按照上文中介绍的算法进行有效值的转换。ADC的基准电压为+3.3V,则表示采样得到的模拟信号和经过AD转换过后的数字信号之间关系的公式(3-11)为:(3-11)D=a”refPref)V2n1 何(3-11)其中,n为ADC的位数,取值为12;Vref为ADC的正参考电压,取+3.3V;Vref为22
南京工程学院自动化学院本科毕业设计(论文)ADC的负参考电压,取0V,则公式(3-11)可以化简为公式(3-12):2X3.340952X3.34095(3-12)计量算法程序设计在上文3.5.2节中介绍的计量算法,需要通过编写程序的方式进行实现,主要是对ADC采集转化过的数字信号进行计算,得到电量的有效值、需要显示的功率值和功率因数的大小。计量算法的程序设计如下所示。•计算有效值:doublevirVal=0.0,square=0.0,sum=0.0;u8i=0;for(i=0;i<16;i++){square=pow((*(pt+i)),2);〃求平方;sum=sum+square; 〃求平方和;)virVal=sqrt(sum/16.0); 〃开平方;开平方之后,转化得到的电流和电压信号分别乘以不同的系数的到真正采样到的电量值。•计算有功功率:doubleP=0.0,sum=0.0,product=0.0;u8i;for(i=0;i<16;i++){product=vol[i]*cur[i];sum=sum+product;)使用类似的方法可以求得无功功率、和功率因数。显示程序设计本文中采用的显示屏在进行显示工作时,使用型号为HT1621B的芯片进行驱动,在进行写操作时主要有一般写模式和连续写模式,本文采用连续写模式,其时序图如图3.4所示。CS 丽—川川川川皿叽uuuuumnwuwmnjL1|oj1[A5A4ASA2Al DID2D3[D0D1口2D3|D0a32。*口0D132D3|D0图3.4连续写模式时序图23
南京工程学院自动化学院本科毕业设计(论文)LCD_CS=0;delay_us(1);addr<<=2;Send_H_Bit(0xa0,3);Send_H_Bit(addr,6);Send_L_Bit(byte,4);delay_us(1);LCD_CS=1;在进行写操作时,首先要使能芯片,然后写入三位指令码101进入写模式,随后给定6LCD_CS=0;delay_us(1);addr<<=2;Send_H_Bit(0xa0,3);Send_H_Bit(addr,6);Send_L_Bit(byte,4);delay_us(1);LCD_CS=1;〃使能芯片;〃延迟1us;〃地址左移2位;〃发送写数据模式101;//发送地址的高6位;//发送低4位数据;//延迟1us;//失能芯片;本课题中在显示屏上呈现的是三行数字,每行四位数字,每位数字都有对应的段码,其段码程序如下所示,三行程序分别代表从上到下的三行0到9的数字代码。u8Digital1[10]={0xaf,0x06,0x6d,0x4f,0xc6,0xcb,0xeb,0x0e,0xef,0xcf};u8Digital2[10]={0xaf,0x06,0x6d,0x4f,0xc6,0xcb,0xeb,0x0e,0xef,0xcf};u8Digital3[10]={0xf5,0x60,0xb6,0xf2,0x63,0xd3,0xd7,0x70,0xf7,0xf3};特定位置的特定数字的编写代码是有规律可循的,其中部分地址分配和代码编写规律,见表3.1所示。表3.1HT1621B部分管脚分配PIN1234567COM0COM0T11F1ACOM1COM1T21G1BCOM2COM2T31E1CCOM3COM3T4P11D例如现在进行第三行的第一个数字9的代码编写,先写出它的首地址为0X01,再写出其数字编码为11110011,即0XF3。按键处理程序设计按键输出模块主要实现的功能就是进行显示屏的切换,本设计原理图中总共放置了四个按键,在按键被按下时,对应的GPIO口处的状态被拉低,检测到其状态的变化后,进入按键处理程序处,产生相应的动作。在功能实现的过程中仅仅使用其中的两个按键,分别设置为PageUp键和PageDown键,其他按键用于多功能电能表的功能扩展。其按键处理程序如下所示。if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)==0)//若键产生按下动作;{delay_ms(10);//延时消抖;24南京工程学院自动化学院本科毕业设计(论文)if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)==0)//确定该键被按下;{//按键处理程序;if(g_keySta<2)g_keySta++;//按顺序进行从第1页到第3页的向上翻页动作elseg_keySta=0;}//从第3页向上翻页时,自动跳转到第1页;LCDUpdate();//LCD屏刷新;while(!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12));}本章小结本章涉及多功能电能表的软件设计过程,首先进行了软件开发平台的介绍,然后概述了主程序的设计流程和电能计量的数学算法,针对其中主要部分的程序编写进行了设计。其中,对于电能的数学计量算法进行了重点的介绍。同时针对ADC的采样原理和芯片HT1621B的写操作格式进行了简要的介绍。25南京工程学院自动化学院本科毕业设计(论文)第四章系统测试及实验采样电路模块测试采样电路仿真测试课题中设计电压、电流采样电路的目的,是防止接入电路板的电压、电流信号过大,对电路板和操作人员造成伤害。从上文的论述中可知,采样电路要实现的功能就是将大的电压、电流信号转换为主控芯片引脚可以承受的小信号。一般在进行实物连接和测试之前,为了保证系统设计的安全可靠性,都会采用仿真软件进行功能测试,本课题中针对重要的采样模块,利用PSIM仿真软件进行了功能测试。电流采样调理电路的仿真过程主要包括:(1)首先在仿真软件平台上,按照原理图中设计的电流采样电路进行创建,如图4.1所示。330R7"AAArn(V)E)330R7"AAArn(V)E)图4.1创建电流采样电路(2)设置给定信号的参数,该仿真电路中给定有效值为5A的正弦电流信号,设置频率为50Hz,如图4.2所示。26
南京工程学院自动化学院本科毕业设计(论文)图4.2设置电流信号参数(3)完成电路搭建和参数设置后,进行仿真运行,其中图4.2中的电流互感器的变比是1:2000,基准电压设置为1.65V,该电路运行得到应该是围绕1.65上下波动的正弦波,运行结果如图4.3所示。图4.3电流采样仿真结果电压采样电路的仿真过程与上述电流的仿真步骤相似,首先搭建电压采样电路,如图4.4所示。27南京工程学院自动化学院本科毕业设计(论文)图4.4创建电压采样电路然后进行给定信号参数的设置,运行后得到结果。给定的电压信号波形,如图4.5所示。图4.5给定电压信号当基准电压Vre=1.65V时,运行后得到的仿真结果是围绕1.65上下波动的正弦波,如图4.6所示。图4.6仿真结果4.1.2采样电路测试进行电流采样电路的测试,假设测试的电流信号最大为+10A,在进行测试时,28南京工程学院自动化学院本科毕业设计(论文)将+10A的电流信号经过变比为1:2000的电流互感器引出,送入电流采样调理电路后,从LM358芯片输出端引出的电压信号为0V;如果将从电流互感器两端引出的电流信号,经过反向器反向后的电流再接进电流采样调理电路,发现从LM358芯片输出端引出的电压信号约等于+3.3V。说明经过电流采样调理电路得到的电压信号在0〜+3.3V的范围内变化,功能可以按照预期得以实现。进行电压采样电路的测试,假设测试的电压信号的最大值约为311V(三相交流电源的相电压有效值为+220V,那么每相电压的峰值就约为311V)。将该值的大电压接入电阻分压网络,结合给定的基准电压,最终得到送入芯片引脚的电压信号在0.925V〜2.275V的范围内变化,是主控芯片可以承受的范围,说明电压采样调理电路的设计也是基本符合要求的。采样电路模块测试的结果如图4.7所示。图4.7采样电路模块测试ADC模块调试进行ADC模块的软件调试时,首先将ADC模块的程序编写完整,然后当程序编译通过后,将程序下载到硬件电路板中,采用单步调试Debugging方式进行调试。根据原理图进行程序的编写,选择端口A1到A6的6个通道分别作为ADC1到ADC6转换口,因为是对ADC转换模块的测试,可以选择分别将A1到A6的六个接口分别接到+3.3V和GND端,比如将A1代表的ADC1口接到高电平+3.3丫,将A2代表的ADC2口接到低电平GND。当电路板接线完成后,进行单步调试后,在Watch窗口里就能实时观察到变量的值,说明ADC转换模块是能完成其功能的。ADC模块单步调试如图4.8所示。29
南京工程学院自动化学院本科毕业设计(论文)图4.8ADC模块单步调试结果显示模块调试显示模块就是将通过ADC转换通道转换过的数据在显示屏里进行显示。在进行显示程序的测试时,首先禁用其他部分的程序,只将ADC转换模块和显示模块的程序进行编译,编译无误后,将程序下载到已经和电脑连接好的硬件电路板中,本设计中采用的ADC转换通道总共有6个,这里以通道ADC1为例进行说明,当A1口接到GND时,显示屏显示0.000;当A1口接+3.3V时,显示屏显示3.299,显示数据保留3位小数点,说明采样精度比较高,满足设计指标的要求。当A1口悬空处理后,显示屏显示的数据稳定,一般显示的结果会在1.800V附近不断跳跃。为了进一步测试显示屏的效果,可以将ADC口出来的信号通过滑动变阻器后再接到硬件板中,改变滑动变阻器的阻值后,LCD显示屏显示的内容就会发生改变。测试表明,LCD显示模块的功能基本符合要求。LCD显示屏电流显示的测试结果如图4.9所示。图4.9LCD段码显示测试结果30南京工程学院自动化学院本科毕业设计(论文)本章小结电能表的功能测试和软硬件的联合测试是整个设计的关键环节,只有调试通过,才能基本保证电能表功能的实现。本章针对多功能电能表的软硬件联合调试进行了说明,重点介绍了采样电路模块、A/D转化模块和LCD段码显示模块的功能调试过程,并且调试结果表明重点模块实现的功能是基本符合要求的。31南京工程学院自动化学院本科毕业设计(论文)第五章总结与展望工作总结设计基于STM32F103RC的多功能电能表的这一课题,具有真正的实用价值。正如前文所论述的内容,电能是人们生活中不可或缺的能源之一,现代生活节奏的加快更加促进了电能的发展,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 分裂情感性精神病
- 防震疏散演练主题班会
- 2024年非公路矿用车项目投资申请报告代可行性研究报告
- 3.3.2盐类的水解影响因素及应用 课件 高二上学期化学人教版(2019)选择性必修1
- 智慧航安培训方案
- 吉林省2024七年级数学上册第1章有理数阶段综合训练范围1.9~1.14课件新版华东师大版
- 生命安全教育我的烦恼
- 草原上教案及教学反思
- 食堂食品安全培训
- 水利资源利用审批管理办法
- 幼儿园集中用餐食品安全岗位责任制度
- 食品生产企业食品安全管理人员考试题库含答案完整版
- 一份完整的投标书
- 宜章莽山景区旅游开发有限公司股东全部权益价值评估项目资产评估报告
- 化学丨四川省南充市高2025届高考适应性考试(南充一诊)高三10月联考化学试卷及答案
- 期中测试卷(试题)-2024-2025学年人教版数学五年级上册
- 建筑保险行业市场深度分析报告
- 蒲城清洁能源化工有限责任公司70万吨年煤制烯烃项目脱盐水
- 个人理财-形考作业3(第6-7章)-国开(ZJ)-参考资料
- GB/T 44340-2024粮食储藏玉米安全储藏技术规范
- 点亮文明 课件 2024-2025学年苏少版(2024)初中美术七年级上册
评论
0/150
提交评论