50HZ正弦交流信号有效值的测量V3.0讲述.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 摘要 I 1. 设计原理 1 2. 系统硬件设计 1 2.1电阻分压以及阻抗匹配模块 1 2.2 有效值检波模块 2 2.3 ADS1115电压检测模块 3 2.4单片机控制及显示模块 3 2.5系统整体原理图 4 3程序框图 5 4资源分配表 5 5源程序 6 5.1主程序 6 5.2液晶显示程序 7 5.3 ADS1115启动程序 11 6性能分析 19 6.1实物测试图 19 6.2测量数据分析 20 7总结与体会 21 参考文献 22 摘要 有效值能直接交流信号的能量大小,具有简单的叠加性,计算起来方便,对于研究功率噪声、失真度、频谱纯度等有十分重要的作用。,在实际使用十分广泛。 主要Z正弦交流信号有效值的测量方法的设计与实现。要求,由电阻网络、基于阻抗匹配、基于检测模块以及基于电压模块组成,控制部分2单片机,所测量的有效值通过。 :有效值、37、STC89C52单片机 设计原理 图1 系统整体结构图 整体框图可知,此测量主要网络、检波电压测量、控制以及显示模块组成。 要求的信号围为~15V,这远远大于一般有效值检波以及芯片的输入电压值,因此,在前级需要一级电阻分压网络,将的幅值一般,适合测量本系统的基,一个高精度,输入阻抗较小,前一级进行阻抗匹配,提升电路的稳定性,换,输出的直流有效值,单片机的控制下,电压检测,检测的值给单片机。 系统对芯片的要求并不高,2单片机实现需求的功能。单片机对内部定时器以及初始化,等待模式,所设定的时间,进入中断开启电压值的测量,并测量值通过,中断等待下一次中断的来临。 设计 分压阻抗匹配模块 由于题目所要求的电压范围为~15V,大于一般芯片的测量范围,采用两个电阻,使输入信号衰减一半,,衰减后的信号通过阻抗匹配,以提升系统整体的稳定性。 阻抗匹配电路检波模块 为了实现对有效值的检测,需先将交流信号成直流有效值图,在此系统中,选用此功能。AD637是一款完整的高精度、单芯片均方根直流转换器,可计算任何复杂波形的真均方根值。它提供集成电路均方根直流转换器前所未有的性能,精度、带宽 检波和 动态范围与分立和模块式设计相当。AD637提供波峰因数补偿方案,允许以最高为10的波峰因数测量信号,额外误差小于1%。宽带宽允许测量200 mV均方根、频率最高达600 kHz的输入信号以及1 V均方根以上、频率最高达8 MHz的输入信号。片内缓冲放大器既可以用作输入缓冲,也可以用于有源滤波器配置。该滤波器可以用来降低交流纹波量,从而提高精度。精度误差02V的要求。 ADS1115电压检测模块前级转换,输入信号为有效值, 具有16位分辨率的兼容串行接口,四个从地址,由2.0V至5.5V单电源供电。?ADS1115可以执行转换速率高达每秒860个样本(SPS)。板载PGA的ADS1115提供从电源的输入范围为±256mV的低,允许大型和小型的信号进行高分辨率测量。如图4所示,电压,满足精度的要求。图4 ADS1115电压检测 2.4单片机控制及显示模块 的控制部分由2单片机实现,具有体积小,操作方便,应用灵活,运行稳定等特点,现应用于各领域对控制部分要求不高,在机最小系统的上基本外设即可。如图,C52、复位电路、电路组成,电路为工作提供时钟源,但程序的时候,可控制电路程序从开始执行。相连是显示屏,602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5*7或者5*11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用控制设定的字符数字等信息。 控制及电路 整体原理图 图,是的整体图。 图6 系统整体3程序框图 ,是此系统的程序流程框图。 图7 程序流程图4 资源分配表 为实现此系统,单片机的资源分配表。资源分配表引脚引脚引脚引脚选择引脚数据一定时间,的开启转换 5.1 主程序 #include LCD1602.h #include ads1115.h char i=0,flag; char show_zifu[]={Design by lq}; float resultdata=0; void set_time() { //定时1ms EA = 1; TMOD |= 0X01; TH0 = (65536-1000)/256; TL0 = (65536-1000)%256; EA = 1; ET0 = 1; TR0 = 1; TF0 = 0; } void main() { lcd_init(); set_time(); for(i=0;i12;

文档评论(0)

金不换 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档