基于STM32的多功能电能表的设计(毕业设计_第1页
基于STM32的多功能电能表的设计(毕业设计_第2页
基于STM32的多功能电能表的设计(毕业设计_第3页
基于STM32的多功能电能表的设计(毕业设计_第4页
基于STM32的多功能电能表的设计(毕业设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、*自动化学院本科毕业设计(论文)题目:基于STM32的多功能电能表的设计专业: 自动化 班级:自动化111 学号: * 学生姓名: * 指导教师: * 起止日期: 2015.22015.6 设计地点: Graduation Design (Thesis)The Design of Three-phase Multi-functional Power Meter Based on STM32By*Supervised byProf. *School of Automation *June, 2015摘 要电能表作为测量电能的工具,是连接电力用户和电能之间的一座“桥梁”,随着电能在人们生活中的地位

2、越来越重要,它与人们生活之间的联系也更加地紧密。虽然电能表也在不断地发展,但是局限于功能单一,传统的电能表已经满足不了用户对其越来越高的要求。本文采用STM32F103RC型号的微控制器作为主控芯片,设计了一款实用性强、结构简单的多功能电能表。在设计电能表硬件和软件的过程中,都采用了模块化的设计思想。其中,多功能电能表的硬件部分主要包括主控模块、电源转换模块、电压电流采样模块、EEPROM存储模块、LCD段码显示模块、按键输入模块和RS485通讯接口模块。并且利用软件编译平台MDK进行了软件部分的设计,主要包括主程序、系统初始化程序、电量处理程序、键盘中断程序以及LCD段码显示程序。本文最后完

3、成了多功能电能表的系统调试,对经过采样和调理得到的电压、电流信号进行计算,并完成显示,而且通过按键的选择实现了显示屏的切换,基本实现了多功能定能表的预期功能。关键词:电能表;STM32F103;段码LCD;RS485ABSTRACTElectricity meter connects a bridge between power users and power that used as a kind of measurement tool. The link between it and the peoples lives more to close with the power positi

4、on in peoples lives increasingly important. While the meter is constantly evolving, but limited to a single function, the conventional meters has failed to meet the growing demands of its users.In this paper, using the type microcontroller of STM32F103RC as the master chip, designed a practical, sim

5、ple structure of multi-function meter. In the process of the design of meter in hardware and software, have adopted a modular design thinking. Among them, the hardware part of the multi-function meter includes control module, power conversion modules, voltage and current sampling module, EEPROM memo

6、ry module, LCD segment display module, a key input module and RS485 communication interface module. And using software platform MDK designs the software part, including the main program, the system initialization procedure, power handler program, a keyboard interrupt program and LCD segment display

7、program.Finally completed the system debugging of the multi-function meter, the voltage and current signals obtained through sampling and conditioning were calculated, and complete the display, but also through the select button to switch the display . The basic realization of the multi-function wil

8、l be able to watch the intended function.Key words: Power Meter; STM32F103; segment LCD;RS485目 录第一章 绪论11.1 电能表11.1.1电能表的概念11.1.2电能表的发展11.1.3 电能表的发展现状21.2 多功能电能表31.2.1多功能电能表的现状31.2.2多功能电能表存在的问题31.3电能表的发展前景41.4课题研究背景及内容41.4.1课题研究背景41.4.2课题研究内容4第二章 多功能电能表硬件设计62.1整体方案设计62.2 主控芯片的选择62.2.1 STM32F芯片简介72.2.

9、2 STM32F芯片优势72.3 硬件电路设计72.3.1 主控电路设计72.3.2 采样电路设计102.3.3 按键显示电路设计122.3.4 RS485通讯电路设计132.3.5 存储电路设计142.4 本章小结15第三章 多功能电能表软件设计163.1 软件设计163.1.1 软件开发平台MDK163.1.2 软件设计流程163.2 主程序设计173.3 初始化子程序设计183.4 采样程序设计203.5 计量程序设计213.5.1 计量算法的介绍213.5.2 ADC数据转换原理223.5.3 计量算法程序设计233.6 显示程序设计233.7 按键处理程序设计243.8 本章小结25

10、第四章 系统测试及实验264.1 采样电路模块测试264.1.1 采样电路仿真测试264.1.2 采样电路测试284.2 ADC模块调试294.3 显示模块调试304.4 本章小结31第五章 总结与展望325.1 工作总结325.2 展望33致谢34参考文献35附录A:硬件设计原理图与PCB图37第一章 绪论1.1 电能表1.1.1电能表的概念从概念上来说,电能表就是用来计算一段时间内消耗电量值的专用仪表,通常也被叫做电度表和火表。电能表根据其他差异的方面也可以被划分到不同的范畴,比如按照使用途径进行分类,就可以将其分为单相电能表、有功电能表以及多功能电能表等等。此外还可以按照电能表的工作原理

11、、接入电源的性质以及接入的相线数来进行仔细的分类。1.1.2电能表的发展随着科技的快速进步,电能表在不断地更新换代,以应对人们对于功能和性能越来越高的要求。总结其发展的脚步,大致可以概括如下:(1) 感应式电能表在人们还没开始对于交流电进行开发和应用的时期,第一台直流电能表就被科学家利用电解原理发明出来。尽管其测量精度不尽人意,并且只能局限于测量直流电,但是对于推动电能计量表的发展而言,意义重大。在人们掌握了交流电利用方法后,科学家们就依照旋转磁场理论发明出了用于计量交流电量的感应式电能表。由于感应式电能表具有较为简单的结构,制造成本低,安全性高,寿命长久,易于维修等特点,因而得到了普遍的应用

12、。并且在接下来的很长时间里,人们都致力于感应式电能表性能和功能的完善。但是,随着现代电力系统的不断发展,高次谐波的出现对传统感应式电能表提出了挑战。在高次谐波的影响下,感应式电能表的优点被“淡化”,原先“隐藏”在暗处的缺点得以放大。不仅测量精度和测量频率不能满足现代工业的要求,而且由于感应式电能表制作原理的局限性,功耗问题已经变成一个不容忽视的事实。功能单一的感应式电能表渐渐被现代工业和现代的电力用户所“抛弃”。(2) 机电式电能表在人们对电能表功能和性能要求不断提高的情况下,发现可以将电子电路应用到感应式电能表,保持制作的基本工作原理不变,使得感应式电能表功能得到进一步的改善,创造出机电式电

13、能表。机电式的电能表又常常因为它的工作原理被称为脉冲式的电能表,它是利用机体发出电脉冲,依据光电转化原理进行工作,从而完成电能测量的。机电式电能表在传统感应式电能表的基础上进行了改进,突破了原先存在的部分局限性,使用寿命延长,抗干扰能力进一步加强。但是由于其制作和利用的工作原理及理论在本质上与感应式电能表一致,因而仍然没有办法克服测量频率范围窄、测量精度不足的缺点。但是机电式电能表的出现和应用,激发了人们创造全电子式电能表的动力,并且提供了新的思路。(3) 电子式电能表电子式电能表的发明得益于功率测量原理,这个原理是由日本科学家首先提出,并且很快就将其应用到实践中。由于电子式电能表是在机电式电

14、能表提出旋转结构的基础上得以实现的,因而又被叫做静止式电能表。由于制作和工作原理得到了改进,电子式电能表能够突破以往电能表的很多局限之处。测量精度得到了大幅度的提高,寿命进一步延长,测量的频率范围已经从开始的窄频带得到了很大的拓展,可以实现几千赫兹的频率跨度。同时,对于高次谐波的抗干扰能力得到了大幅度的提高,高功耗问题也得到了一定的解决,迎合了现代工业的要求,因而电子式电能表很快就取代了其他的电能表,在全球范围内都得到了广泛的应用,并且性能在不断地得到改善。全球科技竞争愈演愈烈,电力电子技术以及通讯技术“全面开花”,科技越发达,电能表的性能越优越。如今,电子式电能表有了更长久的寿命,更精巧的外

15、形,更精确的测量精度,更强大的抗干扰能力。实用电能表向功能多元化发展前进是不可逆转的一个大趋势。1.1.3 电能表的发展现状由于发展中国家和发达国家的科技发展水平不同,电子式电能表在发达国家的应用更为普遍。日本早在上个世纪70年代就首先研制出电子式电能表,欧美发达国家更是紧跟其后不断研制出性能更加完善的电子式电能表,并且仅仅用了十年的发展时间,就推出了性能优越、功能完善的全电子式多功能电能表。现在的事实就是,工业发达的国家在电能表市场上占据了绝对性的不可撼动的位置。中国作为一个发展中国家,由于经济和科技的双重原因,在电能表的自主研发领域起步较晚。直到上个世纪90年代,我国自主研发电能表的事业才

16、真正起步。近年来,我国创新意识被唤醒,科技得到快速的发展。能够自主研制电能表的企业,无论是在数目上还是在技术上都有了质的飞跃,在技术的改进与创新的过程中,已经出现了少数可以在技术和口碑都领先于国际水平的企业。但是从整体角度出发,我国的科技创新水平还是落后于发达国家和工业发达的西方国家,在电能表的研制方面还要做出更多的努力和创新。1.2 多功能电能表1.2.1多功能电能表的现状激烈的市场经济下,电能表只有不断地改进和完善工作性能才能立足。单一功能的电能表早已不能满足市场和用户的需求,为了适应市场的发展、用户的期望,多功能电能表很快就被创造出来并得到应用。从功能上讲,多功能电能表就是指除基本电压、

17、电流等电量的测量、有功和无功功率的计量外,还应具有分时、通讯等两种以上的功能,并且还要具有存储、显示、传递数据以及和上位机之间进行通讯的功能。多功能电能表在我国起步较晚,近几年才开始有了长足的进步。另外我国地域广阔,南北、东西经济发展水平差距大,在一些经济发达的主干城市已经开始普及多功能电能表。但是在经济较为落后的农村仍然沿用传统的单一功能的电能表,负责抄表的工作人员工作强度大、工作量多,并且工作效率低,特别在外部环境恶劣的情况下。这就迫切要求制作电能表的厂商应该从实际出发,研制出更加实用方便的多功能电能表,加大多功能电能表普及的力度。1.2.2多功能电能表存在的问题尽管,我国大城市已经在普遍

18、使用多功能电能表,但是仍然存在一些问题。(1)成本高。多功能电能表使用方便,但是对于用户来说价格却偏高。随着功能的进一步扩展,制作成本也在不断抬升,销售价格随着制作成“水涨船高”。成本对于电能表生产商是一个负担,而价格更是电力用户考虑的因素。过高的制造成本使得制作商“望而却步”,阻碍了厂商扩展多功能电能表生产规模的决策,不利于产品在市场上的大规模推广。近几年,由于电力电子器件的发展,制作成本不断下降,成本的问题也会慢慢地得到解决。(2)安全性。多功能电能表需要实现的功能较多,传输的数据相应增多,如今市场自由竞争激烈,信息的安全性尤为重要。这对于传输数据的通信方式是一个严峻的考验。为了保障电力用

19、户的利益,防窃电技术也将成为将来电能表发展的一种重要的技术支持。(3)灵活性差。多功能电能表早就宣称已经朝着智能化和网络化的方向发展,但是智能化也只不过是人们事先将“预见”的可能事件写入程序,不断地进行实时的检测,当发现此类事件发生时才会做出相应的响应,并“自行处理”出现的问题,排除潜在的危险。当出现人们无法预知的事件发生时,“有大脑”的电能表也就无能为力,失去抵抗的能力。1.3电能表的发展前景电子技术的迅速发展,拉动了信息通讯、传感器等技术的发展。快速发展的技术在满足了电力用户各种期望的同时,也使得其对于电能仪表的要求越来越高,这就要求电能表要在精度、可靠度、便捷性方面有进一步新的改进。未来

20、多功能电能表的发展方向大致就是高精度化、高可靠性化、网络化和智能化。(1) 高精度。精度是评判电能表功能好坏的重要指标,精度的高低直接影响到电能表反馈信息的准确性。市场上大量流通的电能表的精度一般都位于0.2S的水平。在日程生活中,电能表是要作为测量电能的工具发挥作用的,需要长时间不间断工作。因而在不同的外界环境下、不同的电能频率下,保持电能表测量精度的稳定性也是十分重要的。(2) 高可靠性。电子式电能表的制造主要基于电力电子器件,因而电力电子器件的性能直接影响甚至决定了电能表的性能。因而要保证和提高电能表的可靠性,就必须解决电力电子器件的可靠性问题。电力电子器件的性能,将是攻破电能表在发展过

21、程中“瓶颈”问题的关键因素。多功能电能表正在朝着高精度、高安全性、智能化和网络化的方向上发展,关键的技术支持是必不可少的。这些技术主要有谐波测量技术,通讯技术,软硬件冗余设计技术,抗饱和技术和线性补偿技术等。1.4课题研究背景及内容1.4.1课题研究背景社会经济的发展,带动电能的迅猛发展;现如今电力系统的发展又成为了国家经济发展和国民生活质量提高的决定性因素。作为测量电能的仪表,电能表的发展就变成了关系国家百姓生活舒适度的一个重要的工具。高精度的三相多功能电能表的研制和应用,是适应时代发展的重大项目,并且可以拉动整个仪器仪表业的发展,拥有不可估量的经济价值。研制功能强大、使用方便、功耗低的电能

22、表也和国家建设“资源节约型、环境友好型”的社会理念相契合。1.4.2课题研究内容本课题旨在从实际需求出发,设计一款经济实用且结构简单的多功能电能表。首先要了解电能表的工作原理和在国内外的发展历程,从工作原理出发分析电能表存在的优缺点;然后依照本课题要实现的功能,从实现功能的可行性、可能性和使用方便性等方面进行考虑,进行整体设计方案的选择和论证。再依照模块化思想的设计原则,将整个硬件设计方案分解为主控模块、显示和按键模块、电流电压采样模块以及RS485通讯接口模块等模块进行单独地设计,最后通过连线将不同的板子进行整合,建立各个电路板之间的联系,完成整个课题的硬件部分设计。同时要对软件开发平台进行

23、认真地了解,同样采用模块化的思想,编写各个模块的软件程序,实现相应模块的预期功能。最后进行软硬件部分之间的测试和实验,如果发现存在问题,就及时地解决问题,不断地完善软件的程序设计和硬件电路设计。最终完成整个课题的设计工作。第二章 多功能电能表硬件设计2.1整体方案设计本文设计的三相多功能电能表的硬件,在整体结构上主要由主控模块、电源转换模块、电流电压采样调理模块、LCD段码显示模块、RS485通讯接口模块、按键输出模块以及EEPROM存储模块组成。其中系统的总体结构框图,如图2.1所示。图2.1 系统总体结构框图本文中主控芯片采用型号为STM32F103RC的微控制器,在保证电流、电压采样精度

24、的前提下,使得结构尽可能的简洁,避免了复杂多变的电路布局,更加方便PCB板的制作,并且成本较为低廉。其中,在采样调理电路的设计中,采用电流互感器进行电流信号的采样,而电压采样部分使用高精度电阻分压网络进行采样设计。2.2 主控芯片的选择在设计多功能电能表的过程中,确定主控芯片时,一般有两种选择方案。片上系统SoC往往会成为设计者的选择,这是一种专用的电能计量芯片,内部集成了CPU和一系列电能计量的功能模块,自行对采集到的电量进行转换和计算,软件设计部分简单,易于实现。但是片上系统Soc价格昂贵,会使得整个设计的成本大增,因而这种片上系统不适用本课题进行设计。本文选择使用型号为STM32F103

25、RC的微控制器作为主控芯片,其中电量计算的任务需要在软件里完成,虽然加大了软件编程的难度,但是在很大程度上控制了课题的设计成本,并且该型号的芯片也具有一系列显著的优点。2.2.1 STM32F芯片简介基于ARM7和ARM9内核进行设计是微控制器发展的一个典型趋势,2006年第一个基于ARM Cortex-M3内核的微控制器STM32由意法半导体(ST Microelectronics,简称ST)推出。Cortex系列主要拥有3个不同的分支,分别是A分支,R分支和M分支。STM32隶属于M分支,属于微控制器系列产品,同时在结构组成上STM32也分为基本型和增强型两个不同的版本。其中STM32的基

26、本型外挂的设备数目少,最高只能承受36MHz的时钟频率,而增强型的STM32拥有完整的外部设备,同时CPU可以在最高72MHz的时钟频率下运行2.2.2 STM32F芯片优势最初研制STM32系列的微控制器就是以提高系统的性能和降低工作时的功率损耗为目标的,STM32的出现是微控制器领域的一个新的飞跃,与以往的微控制器相比较,具有突出的优越性。(1) 精密性。STM32是比较高端的一种微控制器,集中分布着完备的外设,布局精巧,器件放置紧密且不失独特性。比如STM32具有两个12位高精度的ADC转换器,并且在一定的条件下可以实现同时工作,衍生出多种转换模式,功能强大。(2) 可靠性。STM32的

27、外设布局越来越精密,但是对于可靠性的要求并没有因此降低。为了在外挂的器件越来越多的情况下,依旧能够保持高可靠性,STM32配备充足的硬件电路,主要包括低电压监测器、时钟管理器和看门狗等。比如时钟管理系统负责监测外部时钟的工作,一旦外部时钟源发生问题,系统就会自动将内部振荡器切换为主时钟源。(3) 安全性。信息时代,最为激烈的就是信息竞争,确保信息在传递过程中的保密性,是实现信息安全的必要步骤。一旦数据中包含的信息泄露,整个信息的传递就没有继续下去的意义。STM32可以通过锁定Flash引脚来确保信息不会泄露和被窃取,一旦出现想要获取芯片内部信息的行为,引脚状态就会被拉高,STM32会自动清除芯

28、片内部信息。从而最终确保信息的安全性。(4) 在线调试。STM32支持Thumb-2指令,可以在C语言环境下完成软件的编译、仿真和调试。在软件平台上编写的程序可以通过下载口,下载到STM32芯片内部,进行在线调试,方便实时发现错误并进行及时的修改,实用性强。2.3 硬件电路设计2.3.1 主控电路设计本课题以型号为STM32F103RC的微控制器作为主控芯片。要实现多功能电能表的预期功能,主控芯片必不可少,电量计量的任务、显示和显示屏切换的功能以及RS485的通讯功能都需要在主控芯片内设计和进行。STM32F103RC微控制器的最小系统由复位电路、时钟电路、电源转换电路和下载电路组成。其中,复

29、位电路就负责主控芯片的初始化;时钟电路负责为系统提供时钟基准,但是在本课题中,系统利用的是内部时钟,因而并没有特意设计外部时钟电路;电源转换电路负责对给定的电源进行转换,然后作为系统运行时的驱动源;下载端口是连接硬件和软件的“桥梁”,负责将编写的程序下载到制作好的电路板中,进行调试和验证。其中主控芯片的原理图,如图2.2所示。图2.2 主控芯片原理图STM32芯片自身携带内部RC振荡器,为芯片提供时钟基准,本课题中采用的主控芯片属于增强型的范畴,可以在72MHz的时钟下运行。但是内部RC振荡器的不足之处是:准确性不够,而且稳定性不好,所以在设计时常采用外部的晶振时钟源。通常情况下,外部时钟源可

30、以分为高速外部振荡器、低速外部振荡器和时钟输出。在本课题中,主控芯片选择外接晶振电路,属于高速外部振荡器。该电路由C9、C10、Y1组成,由它为主控芯片提供时钟基准。同时原理图中分布的电容C8C16存在的意义就是稳定电源,使得整个系统的稳定性得以提高。因为STM32F103RC的引脚可以承受的最高电压的范围为2.0V3.6V,一般情况下选择+3.3V,因此需要对给定的电源进行转换。本课题中,设计的电源转换电路采用的芯片型号是ASM1117-3.3 ,此电平转换器件具有体积小、损耗低并且稳定性能好等优点,同时它最高可以输出1A大小的电流,这一特性使得该芯片几乎可以和全部的电子网络芯片进行匹配,因

31、此得到了普遍的应用。该系统中电源转换电路的原理图,如图2.3所示。图2.3 电源转换电路原理图STM32F103RC型号的微控制器的驱动电源为+3.3V,实际中可以提供的是+5V的直流电源,所以本电源转换电路实现的功能就是将+5V的直流电源通过芯片AMS1117-3.3转化为+3.3V的直流电源,实现为主控芯片进行供电的功能。另一方面,电量计量单元作为多功能电能表的核心部分,计量的准确度和精度将直接影响电能表最终功能实现的程度,所以在硬件电路的设计中一定要排除影响采样和计量精度的内外部因素。如图2.3所示,数字地GNDD和模拟地GNDA采用磁珠来进行连接,抑制电源线中涌动的高频噪声和干扰信号,

32、使得系统更加稳定。同时设计由0.1F和10F电容组成的并联电路,将该电路置于电路输出端,具有滤波和稳定电压的作用,进一步提高了输出电压的稳定性。STM32F10XX系列的单片机支持系统复位、上电复位、备份区域复位三种复位模式。STM32F103RC芯片同时具有内部复位的功能,当系统检测到供电引脚上的电压低于2V时,就会自动复位,但是会存在迟滞问题的局限性。故在进行本课题的设计时,为了保证安全性采用外部复位电路来实现系统的复位,最小系统的复位电路如图2.4所示。图2.4 复位电路原理图该复位电路属于系统复位范畴的外部复位方式,当送入芯片引脚NRST的信号为低电平时,芯片进行复位。通常情况下,CP

33、U在上电后需要处于一个确定的初始状态,并且经历短时间的复位后,芯片就要从这个初始状态开始工作,这项工作要由复位电路得以实现。如图2.4的复位电路所示,阻值为10K的电阻R5使得流入主控芯片引脚的电流只有0.33mA,保证芯片的安全,避免了电流过大将芯片毁坏的情况发生。系统启动时,按下按键KEY_rst时,Reset处的信号被拉低,芯片引脚NRST信号为低,芯片复位;当按键抬起时,Reset处的信号便会拉高,芯片引脚NRST信号为高,芯片不会复位。复位电路中的电容C17,有稳定电路的作用,使电路性能更加的优越。STM32支持不同的启动模式,并且在进行软硬件调试时离不开下载端口,系统的启动模式和下

34、载端口的电路原理图如图2.5所示。图2.5 启动模式和下载端口原理图首先,STM32主控芯片具有不同的启动方式,启动模式由BOOT0和BOOT1的取值组合决定,不同的启动方式决定了主控芯片在进行复位后,从某一特定区域开始执行系统程序。当编程完成,电路板制作结束后,就可以对程序进行下载,STM32支持的仿真和下载方式有两种,分别为JTAG模式和SWD模式。其中,JTAG模式要用到5个I/O口,而SWD模式只要用到2个I/O口。考虑到节省资源以及结构的简化,本设计采用SWD模式进行下载,下载端口只需要将2根线连到主控芯片,另外2根线连接到电源和地,这样就可以进行程序的下载。2.3.2 采样电路设计

35、电量的采样是实现电能表功能的关键技术,只有保证采样的精度和准确度才能确保电能表功能实现的准确性。电流采样调理原理图如图2.6所示。图2.6 电流采样调理原理图本课题采用电流互感器进行大电流的采样过程,之所以选择电流互感器而不选择采样线性范围比较广的电阻网络取样,是因为电阻在经历过长期工作后,阻值会受到温度以及其他一些外部因素的影响而发生变化;而采用电流互感器的方案就可以保证在长期工作条件下,其阻值稳定性较好。图2.6中的电流信号是取自电路中的大电流经过电流互感器变换后产生的小电流信号。其中,经过电源转换电路后得到的+3.3V直流电源,再经过分压电路后变成+1.65V,得到基准电压Vref,该信

36、号用于抬升电流信号的基准。采集到的小电流信号I经过LM358的输出信号的计算公式(3-1)为: Ua_c=Vref-I330 (3-1)其中Vref为+1.65V,由于I的值是毫安等级的,所以从LM358端输出的信号会处于0+3.3V的电压范围内,处于芯片可以承受的信号范围内,保证了芯片的安全性。图中电容C1的作用就是滤除采样点的干扰信号,稳定由分压电路得到的电压信号,去除杂波信号;最终将经过调理的采样电流送进STM32内部自带的A/D转换通道口,之后的计量算法中,在减去基准电压的基础上,再进行相应电量计算的处理。涉及到算法选择的部分,参照本论文软件部分关于算法的详细说明。系统要处理的电压信号

37、属于大电压,如果直接将大的电压接到芯片引脚上,很容易就会将芯片主板烧毁,造成损失。所以要对采样得到的电压信号进行处理,这就需要电压的调理电路,本篇论文运用电阻分压网络进行电压采样调理电路的设计,其中电压采样电路原理图如图2.7所示。图2.7 电压采样原理图本课题中设计的电能表是三相多功能电能表,需要采集三相的电压信号。以其中的A相电压作为实例进行阐述。如上图2.7所示,A相电压采样电路(以220V交流电为例)中,电阻R10R14是分压电阻,阻值都为200K。其中采用多电阻串联代替单个大电阻的原因主要有:防止产生大的电压降,更好地保证电路的安全性;降低电阻在工作时承受的电压大小,减小电阻工作时的

38、功率,因此就可以选取小功率的电阻。R15为采样电阻,阻值为2K,接在放大器的正向输入端。同时将经过分压处理的基准电压接入放大器反向输入端,从运算放大器输出端引出的信号就是要送入主控芯片引脚的电压信号。其中A_v的计算公式(3-2)为: A_v=Vref-Av500 (3-2)A_v信号类似于经过调理的电流信号,直接送到STM32F芯片自带的A/D转换通道口,进行模拟量到数字量的转换,然后将基准电压1.65V减去后,按照制定的计量算法在软件中进行电量的计算。本分压电路网络中,用于分压场合的电阻一般情况下阻值位于欧姆级和千欧姆级之间,采用的封装也比较小,不用担心占据电路板太多的空间。同时通过阻值为

39、200K的电阻的电流计算公式(3-3)为: I=Av-Vref20051000 (3-3)其中Av的最大值可以达到2202311V,Vref为1.65V,则通过200K分压电阻的最大电流约为0.31mA,所以每个电阻承受的功率计算公式(3-4)为: P=I2R0.02w (3-4)可知只要选用四分之一功率的电阻即可。2.3.3 按键显示电路设计显示模块电路的作用就是将经过采样、调理和计算后得到的电流、电压和功率在显示屏上进行显示,因而显示功能的完成是电能表功能实现的重要指标;而按键电路的作用就是进行显示屏切换和变量的设置,其中,按键电路的原理图如图2.8所示。图2.8 按键电路原理图本课题在进

40、行原理图设计的过程中用到四个独立按键,其中阻值为10K的电阻R1R4,作为上拉电阻具有限流、保护电路的作用,而电容C3C6的作用就是进行按键抖动的消除,抑制电路中的低频干扰。其中K1键作为PageUp按键,进行向上翻页的动作;K2键作为PageDown按键,进行向下翻页的动作。K3和K4键作为预留的按键,用于以后的功能扩展。按键功能属于显示模块的拓展功能,显示模块的电路原理图如图2.9所示。图2.9 显示电路原理图在图2.9显示电路原理图中,由10uF和0.1uF的电容组成的并联电路的作用就是:稳定电压,消除存在的干扰信号,并联的电容值存在倍数的差异,可以扩大抑制的干扰信号的频率宽度,提高系统

41、的稳定性能。本课题采用了段码LCD方式进行显示功能的设计,LCD段码显示方式由来已久,在液晶显示屏应用早期,段码液晶的称呼就已兴起,它的出现主要是为了替代LED数码管,LED数码管主要应用于计算器、钟表等简单的仪器,结构简单,功能易于实现。发展至今,非点阵类液晶显示屏都被称为段码液晶屏。段码LCD显示和LCD液晶显示的主要区别就在于LCD液晶显示利用点阵进行编码显示,而LCD段码显示则是以段码的形式进行编码显示。LCD段码显示屏一般可以采用HT1621系列的芯片进行驱动。由显示电路的电路图可知,HT1621B的结构简单,和主控芯片的连线十分简洁,只需要将CS,WR,DATA几个引脚连接到主控芯

42、片即可。下载程序方便可靠,并且HT1621B内部自带节电程序,在很大程度上降低了功率的消耗。由本芯片驱动的液晶屏显示的主要内容有电流有效值、电压有效值、三相电的功率消耗情况。2.3.4 RS485通讯电路设计RS485是一种双向半双工的通信协议,具有经济高效、抗干扰能力强、传输速率快、传输距离远的特点。通讯接口一般分为串行接口和并行接口,RS485接口隶属于串行接口,在近距离传输数据领域应用较为成熟,特别是在平常的工业设计中应用更加广泛。本文采用MAX13085E低功耗收发器,该芯片内部集成驱动器和接收器,其中驱动器负责建立电气特性电平和数字信号电平之间的联系和转换。RS485通讯电路原理图,

43、如图2.10所示。图2.10 RS485通讯电路原理图图2.10中的6N137是高速光耦合器芯片,用于电源和信号的隔离。该电路中采用独立于主板的电源转换电路设计,使得电路的运行更加的安全稳定。MAX13085E的性能优越,工作可靠,具有一个信号接收器和一个驱动器,为了保证芯片的抗干扰能力,在A、B端分别接有上拉电阻和下拉电阻,用来保护芯片的可靠运行。当RE端为低电平时,如果引脚端A-B-50mA,则RO端为高,接收信号;反之,RO端为低,DI端为高,发送信号。其中RO为数据接收端,通过光耦合芯片6N137接到主控芯片的RXD引脚,DI为数据发送端,通过光耦合器接到主控芯片的TXD引脚,A、B端

44、负责接收和发送总线上传送的信息。需要进行说明的一点是,为了方便功能的扩展和二次开发,本课题在设计过程中只是预留了RS485的通讯接口。2.3.5 存储电路设计因为检测到的信号以及计算得到的数据都是以变量的形式储存在STM32F的RAM区内,而RAM又是掉电易失性的,一旦电能表在运行的过程中失电,再次运行时,数据就已丢失,所以必须设计外部存储电路进行数据的掉电保护。本课题选用24C02芯片进行EEPROM存储电路的设计,24C02在仪器仪表和工业自动化设计中应用最为广泛,主要得益于其具有电路简单,接口方便,占用面积少,掉电数据不丢失等特点。EEPROM存储电路如图2.11所示。图中的电容C14的

45、作用是稳定电压。图2.11 EEPROM存储电路原理图2.4 本章小结本章进行的介绍主要是围绕多功能电能表硬件电路的设计。首先对课题的整体方案进行介绍,并且针对所用的主控芯片的选择进行了论述,然后针对硬件电路的设计进行了大概的阐述,包括主控电路设计、电源转换电路设计、采样电路设计、显示和按键电路设计、RS485通讯电路设计以及EEPROM存储电路设计。并对其中几个重要的电路进行了详细的介绍和分析。 第三章 多功能电能表软件设计3.1 软件设计3.1.1 软件开发平台MDKKeil MDK是著名的软件公司Keil研制并开发的微控制器软件开发平台。Keil公司是一家在微控制器(MCU)软件开发领域

46、地位卓越的国际公司,并且于2005年被ARM公司收购,是目前针对ARM内核单片机开发的主流平台产品。Keil提供了一整套完整的开发方案,主要包括C语言编辑器、连接器、宏汇编、文件库和一个功能强大的在线仿真调试器。这些功能通过uVision集成开发环境被集结在一起,目前正在使用的最高版本就是uVision4,该平台所依附的编译界面和C语言研发平台的界面比较相似,界面环境设计人性化,易于初学者学习和应用,更适合深一步的研究和开发。不仅如此,在软件在线调试和仿真方面功能也很强大。一般情况下,致力于ARM开发的工程师都将此开发平台作为首选。Keil MDK软件开发平台的开发周期和其他的一些软件开发平台

47、的周期大同小异,一般包括以下几个步骤:(1) 首先创建一个新的工程,选择相应的芯片型号,同时将创建工程所需要的固定配置提前设置好。(2) 编写工程源代码,一般采用C语言或者汇编语言,在本课题中采用的是C语言。(3) 编译程序,查找程序中的语法和逻辑错误。(4) 修改在编译过程中出现的问题。(5) 编译通过后,可以将程序下载到硬件开发板中,进行软硬件的联机调试。这就是利用MDK软件开发平台进行开发的主要周期。3.1.2 软件设计流程为了提高系统的运行速度,改善系统的性能,在进行软件设计时,也采用了模块化的思路,本文中的软件编程采用了调用固件库函数的设计方法。不管使用的微处理器发展到何种地步,进行

48、设计时,最终还是要对寄存器进行操作,但是STM32拥有数百个寄存器,要想对每个寄存器都了如指掌是及其困难的。调用固件库函数进行编程就可以解决这个困难,STM32的固件库就是函数的一种集合,固件库函数的作用就是一方面负责直接与寄存器建立联系,另一方面为用户提供函数调用的接口(API)。其中软件整体的设计框图如图3.1所示。图3.1 软件整体设计框图在设计多功能电能表的主控电路时,考虑到外部晶体振荡器速率较低,能够更好地保证系统稳定性,因而选用8MH的晶体振荡器,同时在软件中选用7倍频的设置,很好地提高了系统处理程序的速度。3.2 主程序设计软件的主程序负责整个系统初始化、各个模块的固件库函数以及

49、中断函数的调用,其中主函数的流程图如图3.2所示。由图3.2可知主程序的设计思路为:系统上电后,首先进行各个模块配置的初始化,设置100ms的定时刷新时间,实时监测定时时间是否到达,如果定时时间到,进行数据的处理和保存;数据保存后,实时监测显示屏刷新时间是否到达,如果刷新时间到,就进行刷新显示;同时,要不间断地检查是否有按键动作或者是否需要进行通信,只要检测到有相应事件发生,就立即进入到相应程序里,进行处理。比如检测到按键动作就要转入相应的按键处理程序,进行页面切换的选择;检测到通信请求信号时,就要转入RS485通讯程序处进行处理,在本课题中,下位机并没有实现和上位机的连接,同时为了功能的扩展

50、,预留了RS485的通讯接口,方便以后功能的二次拓展。图3.2 主程序流程图3.3 初始化子程序设计系统在运行之前需要进行初始化,包括系统时钟的配置、定时器的初始化、ADC初始化、GPIO口的配置、显示初始化和键盘初始化。(1)系统时钟配置和定时器初始化:TIM_TimeBaseInitTypeDef TIMBaseStruct;TIM_ClearITPendingBit(TIM2,TIM_IT_Update);/ 清除 TIM2 的中断源;TIMBaseStruct.TIM_Period=12500;/1.25ms的采样时间周期;TIMBaseStruct.TIM_Prescaler=72-

51、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初始化子程序:A

52、DC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_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 | GP

53、IO_Pin_4 | GPIO_Pin_5 |GPIO_Pin_6; /六路信号输入;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;/模拟输入引脚;GPIO_Init(GPIOA, &GPIO_InitStructure);/选择A通道管脚;ADC_DeInit(ADC1); /复位ADC1,将外设 ADC1 的全部寄存器重设为缺省值;ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;/ADC工作模式:ADC1和ADC2工作在独立模式;ADC_InitStructure.ADC_ScanConvMod

54、e = 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_InitStructure);/根据ADC_InitStruct中指定的参数初始化外设ADCx的寄存器 ; ADC_Cmd(ADC1, ENABLE);/使能指定的ADC1;ADC_ResetCalibration(ADC1);/使能复位校准; while(ADC_GetResetCalibrationStatus(ADC1);/等待复位校准结束;ADC_StartCalibration(ADC1); /开启AD校准;while(ADC_GetCalibrationStatus(ADC1);/等待校准结束;(3)显示初始化程序:LCD_CS=1;

温馨提示

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

评论

0/150

提交评论