基于单片机正弦波有效值的测量

合集下载

50Hz正弦交流电有效值的测量

50Hz正弦交流电有效值的测量

《单片机应用实践》课程设计任务书学生姓名:杨博专业班级: 电信1303 班指导教师: 孟哲工作单位: 信息工程学院题目: 50Hz正弦波有效值测量仪表的设计与实现初始条件:(1)提供实验室机房及其proteus7.0以上版本软件;(2)《单片机原理与应用》学习。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求):(1)选择一本《单片机原理与应用》,认真学习该教程的全部内容,包括汇编语言的理解与应用,51单片机的基本功能与应用;(2)要求用51单片机设计一个测量仪表,能够测量量程200mv~20v的50Hz 正弦波交流电的有效值(3)要求做出仿真,并依照仿真设计实物并对实验结果进行分析和总结;(4)要求阅读相关参考文献不少于5篇;(5)根据课程设计有关规范,按时、独立完成课程设计说明书。

时间安排:(1) 分析课题,完成设计构想两天;(2) 完成仿真一天;(3) 购买元件并完成实物两天;(4) 完成报告书一天;指导教师签名: 年月日系主任(或责任教师)签名: 年月日摘要在实际生产与生活之中,有效值扮演了一个极其重要的角色。

由于有效值能够直接反映出交流信号能量的大小,因此在对于其他物理量例如功率、噪声、失真度、能量转换等的研究上发挥着极其重要的作用。

本次课设完成一个50Hz正弦波有效值测量仪表的设计与实现。

根据要求,本次课设以STC89C52单片机为控制核心,通过电阻分压网络、基于AD736的有效值检测模块、基于LM324的信号放大模块以及基于TLC549的A/D转换模块完成正弦波有效值测量工作,结果通过LCD显示。

关键词:正弦波;有效值;单片机控制;AD736;TLC549.AbstractIn the actual production and life, the effective value plays an extremely important role .Because of the effective value of AC, signal can directly reflect the size of the energy,it’s convenient to study for other physical quantities such as power, noise, distortion, energy conversion and so on.The design and implementation of a 50Hz sine wave effective value measuring instrument is set up in this lesson design. According to the requirements, the class stipulates STC89C52 microcontroller as control core, through the resistance points pressure platform, based on AD736 effective value detection module, based on LM324 signal amplification module and based on TLC549 A / D conversion module to complete sinusoidal RMS measurements. The results through the LCD display.Keywords:sine wave; effective value; single chip microcomputer control; AD736; TLC549.1.设计原理1.1方案设计方案一:采用二极管整流电路,再通过峰值检波电路测得峰值,然后根据波形因数求得相应的有效值。

基于单片机正弦波有效值测量仪表设计

基于单片机正弦波有效值测量仪表设计

电子系统设计创新与实践设计报告题目:基于单片机正弦波有效值测量仪表设计院(系):信息科学与工程学院专业班级:电子信息工程学生姓名:学号:同组成员:指导老师:肖洪祥职称:副教授2012年7月摘要在实际中,有效值是应用最广泛的参数,电压表的读数除特殊情况外,几乎都是按正弦波有效值进行定度的。

有效值获得广泛应用的原因,一方面是由于它直接反映出交流信号能量的大小,这对于研究功率、噪声、失真度、频谱纯度、能量转换等是十分重要的;另一方面,它具有十分简单的叠加性质,计算起来极为方便。

本文详细介绍一个正弦波有效值测量仪表设计,以STC89C52单片机为控制核心,由交流电压采集模块,正弦波转方波模块,AD转换模块、显示模块等构成。

系统采用交流电压输入信号,经TLC372比较器和LM358放大器进行信号采集,经过AD0809进行数据采样,然后输入到89C52单片机进行交流电压有效值的计算和测量,加上CD4049进行正弦波转换为方波,输入到89C52单片机进行频率的计算和测量,结果用1602液晶显示正弦波的有效值和频率。

关键词:交流电压有效值测量 AD0809 STC89C52AbstractIn practice, the effective value is the most widely used parameters, voltage meter except in special circumstances, are almost as effective value of sine wave for calibration. Effective value and widely applied reasons, partly because it directly reflects the AC signal energy, the study of power, noise, distortion, frequency spectrum purity, energy conversion is very important; on the other hand, it has a very simple superposition property, calculation is very convenient.This paper describes an effective value of sine wave measuring instrument design, using STC89C52SCM as control core, by the AC voltage acquisition module,sine wave to square wave module, the AD conversion module, display module. The system adopts the AC input signal, the comparator TLC372and LM358 amplifier for signal acquisition, through AD0809 data sampling, and then input to the SCM 89C52AC voltage effective value calculation and measurement, and CD4049are converted to square wave sine wave, input to the SCM 89C52frequency calculation and measurement, the results with the 1602 liquid crystal display sinusoidal RMS and frequency.Key words: Ac voltage RMS measurement AD0809 STC89C52目录1. 概述1.1 题目名称1.2 功能和指标要求1.3相关情况概述2.技术方案2.1有效值测量的方法2.2设计思路2.3总体技术方案3.硬件设计3.1信号采集电路3.2正弦波转方波电路3.3 ADC0809电路3.4单片机最小系统和1602显示电路 3.5电源电路4.软件设计4.1 频率测量4.2幅度测量4.3软件测试1. 概述1.1 题目名称基于单片机的正弦波有效值测量仪表设计。

单片机课设 正弦交流信号有效值的测量

单片机课设 正弦交流信号有效值的测量

正弦交流信号有效值的测量,需要测量正弦信号的峰值,利用正弦信号有效值的计算公式就可以得到正弦信号的有效值。

要进行基于单片机的正弦信号有效值的测量,需要先将模拟量转换为数字量,将所得的数据经由单片机处理,再将最后的结果显示出来。

设计的电路主要包括信号采集与转换电路,单片机控制电路和显示电路。

其中,有效值的计算在本次设计中主要利用软件部分的设计完成。

关键词:有效值测量,模数转换电路,单片机控制AbstractSinusoidal ac signal effective value measurement, need to measure the peak value of the sine signal, using the sine signal effective value calculation formula of the effective value of sine signal can be calculated out. Must carry on the sine signal RMS measurement based on single chip microcomputer, need to convert analog to digital quantity, will the data processed by single chip microcomputer, then the final result of display. Design the circuit mainly includes signal acquisition and conversion circuit, SCM control circuit and display circuit. Among them, the RMS calculation in the design of the main use of the design of the software part is complete.Keywords: RMS measurement, modulus conversion circuit, single chip microcomputer control1 电路设计为了测得正弦信号的有效值,硬件电路的设计应包括信号的输入采集电路,模拟量与数字量转换电路,单片机控制电路与数字显示电路。

基于某单片机正弦波有效值地测量

基于某单片机正弦波有效值地测量

基于单片机正弦波有效值的测量一.简介本作品以单片机STC12C5A60S2为主控芯片并以此为基础,通过二极管1N5819实现半波整流,使用单片机内部自带10位AD对整流后的输入信号进行采样,从而实现对峰值的检测;同时通过运放LM837对输入信号进行放大,之后通过施密特触发器,将原始信号整形成可被单片机识别的标准脉冲波形,之后配合内部计数器(定时器)达到测量其频率的目的;这样,整流和AD采样实现对输入信号峰值的检测;通过放大、整形实现对输入信号频率的检测。

二.基本功能与技术指标要求(1)输入交流电压:1mV~50V,分五档:①1mV~20mV,②20mV~200mV,③200mV~2V,④2V~20V,⑤20v~50V。

(2)正弦频率;1Hz~100kHz;(3)检测误差:≤2%;(4)具有检测启动按钮和停止按钮,按下启动按钮开始检测,按下停止按钮停止检测;(5)显示方式:数字显示当前检测的有效是,在停止检测状态下,显示最后一次检测到的有效值;(6)显示:LCD,显示分辨率:每档满量程的0.1%;三.理论分析本文要求输入交流信号,通过电路测量其峰值,频率,有效值以及平均值,因为输入的交流信号为模拟信号,而一般处理数据使用的主控芯片单片机处理的是数字信号,所以我们选择使用数模转换器AD(Analog to Digital Converter)将输入的模拟信号转换为数字信号,并进行采样;由于要求输入交流信号电压峰峰值Vpp为50mV~10V,所以如果我们采用AD为8位,则最小采样精度为,因此会产生78.4%的误差,并且题目要求输入交流信号的频率范围为40Hz~50kHz,所以为了保证对高频率信号的单周期内采样个数,我们需要选择尽量高速度的AD;因此我们选用使用单片机STC12C5A60S2,其内部自带AD为8路10位最高速度可达到250KHz,所以我们可以将最小采样精度缩小到,并且在输入交流信号频率最大时(50KHz)在单个周期内可采集5个点,因此可保证测量精度。

基于单片机正弦波有效值的测量

基于单片机正弦波有效值的测量

基于单片机正弦波有效值的测量一.简介本作品以单片机STC12C5A60S2为主控芯片并以此为基础,通过二极管1N5819实现半波整流,使用单片机内部自带10位AD对整流后的输入信号进行采样,从而实现对峰值的检测;同时通过运放LM837对输入信号进行放大,之后通过施密特触发器,将原始信号整形成可被单片机识别的标准脉冲波形,之后配合内部计数器(定时器)达到测量其频率的目的;这样,整流和AD采样实现对输入信号峰值的检测;通过放大、整形实现对输入信号频率的检测。

二.基本功能与技术指标要求(1)输入交流电压:1mV~50V,分五档:①1mV~20mV,②20mV~200mV,③200mV~2V,④2V~20V,⑤20v~50V。

(2)正弦频率;1Hz~100kHz;(3)检测误差:≤2%;(4)具有检测启动按钮和停止按钮,按下启动按钮开始检测,按下停止按钮停止检测;(5)显示方式:数字显示当前检测的有效是,在停止检测状态下,显示最后一次检测到的有效值;(6)显示:LCD,显示分辨率:每档满量程的0.1%;三.理论分析本文要求输入交流信号,通过电路测量其峰值,频率,有效值以及平均值,因为输入的交流信号为模拟信号,而一般处理数据使用的主控芯片单片机处理的是数字信号,所以我们选择使用数模转换器AD(Analog to Digital Converter)将输入的模拟信号转换为数字信号,并进行采样;由于要求输入交流信号电压峰峰值Vpp为50mV~10V,所以如果我们采用AD为8位,则最小采样精度为,因此会产生78.4%的误差,并且题目要求输入交流信号的频率范围为40Hz~50kHz,所以为了保证对高频率信号的单周期内采样个数,我们需要选择尽量高速度的AD;因此我们选用使用单片机STC12C5A60S2,其内部自带AD为8路10位最高速度可达到250KHz,所以我们可以将最小采样精度缩小到,并且在输入交流信号频率最大时(50KHz)在单个周期内可采集5个点,因此可保证测量精度。

单片机课设正弦交流信有效值的测量

单片机课设正弦交流信有效值的测量

单片机课设正弦交流信有效值的测量集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]正弦交流信号有效值的测量,需要测量正弦信号的峰值,利用正弦信号有效值的计算公式就可以得到正弦信号的有效值。

要进行基于单片机的正弦信号有效值的测量,需要先将模拟量转换为数字量,将所得的数据经由单片机处理,再将最后的结果显示出来。

设计的电路主要包括信号采集与转换电路,单片机控制电路和显示电路。

其中,有效值的计算在本次设计中主要利用软件部分的设计完成。

关键词:有效值测量,模数转换电路,单片机控制AbstractSinusoidal ac signal effective value measurement, need to measure the peak value of the sine signal, using the sine signal effective value calculation formula of the effective value of sine signal can be calculated out. Must carry on the sine signal RMS measurement based on single chip microcomputer, need to convert analog to digital quantity, will the data processed by single chip microcomputer, then the final result of display. Design the circuit mainly includes signal acquisition and conversion circuit, SCM control circuit and display circuit. Among them, the RMS calculation in the design of the main use of the design of the software part is complete. Keywords: RMS measurement, modulus conversion circuit, single chip microcomputer control1 电路设计为了测得正弦信号的有效值,硬件电路的设计应包括信号的输入采集电路,模拟量与数字量转换电路,单片机控制电路与数字显示电路。

基于单片机50hz正弦波有效值的测量

基于单片机50hz正弦波有效值的测量
设置三组开关,分别为 0~5V、5~10V、10~15V,当仿真的时候,输入相 应区间的幅度便要将开关拨到相应的位置上,以便能够将电压降低转换芯片的安 全电压范围之内,在后面的电路中在进行相应的放大就可以将电压值还原了。 当电压值小于 5V 的时候,连接到第一个开关上面,直接输出至 TLC549 的输入端; 当电压值在 5~10V 的时候,接到第二个开关上面,通过分压了之后,输出 R4 两端的电压,起到了降压的目的(电压减半);当电压值在 10~15V 的时候,连 接到第三个开关,分压之后,电压值降到了原来的三分之一,仍就满足了转换芯 片的电压要求。
关键词:正弦波、有效值 、A/D 转换、AT89C52
I
武汉理工大学《单片机原理与应用》课程设计说明书
Abstract
In the description of the sine wave, typically from three aspects, namely, frequency, phase, maximum value, when measuring the general measurement is the instantaneous value of the sine wave, can generally through the relationship between the effective value and the maximum effective value. RMS widely be used in our daily life, the reason lies in the effective value directly reflects the size of the energy of the ac signal, at the same time, due to the nature can be stacked, convenient to calculate, for power, noise, energy conversion research is very helpful.

正弦电压信号的产生与有效值测量汇总

正弦电压信号的产生与有效值测量汇总

第四届电子设计竞赛复试实验报告正弦电压信号的产生与有效值测量*********************************************************************复试题目:设计一个频率为1000Hz的正弦波信号发生器,输出幅值为1V左右。

用单片机搭建一个系统,精确地测量该信号的有效值。

并通过串口送到PC机中,通过串口调试助手软件显示该有效值。

题目要求:1、设计一个1000Hz的正弦波振荡器,输出幅度转换为1V。

2、用单片机自带10位AD作为模数转换芯片,不允许扩展其它AD。

3、串口以9.6K波特率向PC机传输数据,在串行调试助手中,以10进制格式显示该正弦波的有效值。

****************************************************************************************************************************************摘要:通过一RC振荡电路,产生1KHz的正弦波,然后经过峰值检波电路,得到其峰值送入Atmega16单片机,由其内部自带ADC处理,并在软件中得到其有效值,经串口发给PC机,并在串口调试助手上显示电压有效值。

关键字:峰值检波有效值ADC 串口****************************************************************************************************************************************** *******************************论文正文****************************** *********************************************************************一、正弦波发生电路正弦波发生电路需要四部分:放大电路:保证电路能够有从起振到动态平衡的过程,使电路获得一定幅值的输出量,实现能量的控制。

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

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

目录摘要 (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液晶显示程序 (8)5.3 ADS1115启动程序 (11)6性能分析 (19)6.1实物测试图 (19)6.2测量数据分析 (20)7总结与体会 (21)参考文献 (22)摘要有效值能直接反应交流信号的能量大小,具有简单的叠加性,计算起来方便,对于研究功率、噪声、失真度、频谱纯度等有十分重要的作用。

因此,有效值在实际应用中使用十分广泛。

本文主要介绍了对50HZ正弦交流信号有效值的测量方法的设计与实现。

根据要求,测量电路由电阻分压网络、基于OPA277的阻抗匹配模块、基于AD637的有效值检测模块以及基于ADS1115的电压测量模块组成,控制部分选用STC89C52单片机,所测量的有效值通过LCD1602显示。

关键词:有效值、AD637、STC89C52单片机1. 设计原理图1 系统整体结构图由图1系统整体框图可知,此测量有效值系统主要由分压网络、阻抗匹配、有效值检波、电压测量、单片机控制以及液晶显示等模块组成。

题目要求的输入信号输入范围为0~15V ,这远远大于一般有效值检波以及AD 转换芯片的输入电压值,因此,在前级需要加一级电阻分压网络,将输入信号的幅值衰减一般,使其适合测量。

本系统选用的有效值检波模块基于AD637芯片,AD637是一个高精度RMS-DC 转换芯片,但其输入阻抗较小,在信号输入前通过一级运算放大器进行阻抗匹配,提升电路整体的稳定性,经过AD637的转换,输出对应交流信号的直流有效值,在单片机的控制下,ADS1115进行电压检测,并将检测的值返回给单片机通过LCD1602显示。

单片机真有效值程序实现

单片机真有效值程序实现

1 前言单片微型计算机简称单片机,又称微控制器(MCU),它的出现是计算机发展史上的一个重要的里程碑,它以体积小、功能全、性价比高等诸多优点独具特色,在工业控制、尖端武器、通信设备、信息处理、家用电器等嵌入式应用领域中独占鳌头。

本次课设采用的STC89C51单片机是51系列单片机的一种代表,目前51系列单片机是国内目前应用最广泛的一种单片机之一。

单片机以其系统硬件构架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计的基础课。

2 单片机系统板的介绍本次课设所使用的单片机最小系统板包括以下器件:电源端子(DC +5V),可以USB供电,也可独立电源供电。

通用异步串口,采用MAX232做电平转换。

STC89C51单片机,支持串口下载和单步调试 ZLG7 290管理芯片,是IIC总线通信的键盘扫描和数码管显示芯片,自带8M晶振,最多可扫描64个键盘和8个数码管。

各种颜色的LED发光二极管共9个,其中8个接于P1口做LED显示,还有一个做电源灯显示。

TLC549,8位串行AD。

TLC5615,10位串行DA。

还有其他电阻电容若干,系统板一个,大按键开关两个,用于中断控制和通信开关。

利用STC51系列特有的ISP在线编程,方便我们初学者的二次开发,省去大量芯片烧写时间。

USB电源线供电和外接供电并存,方便学生在寝室使用。

电源保护电路,有效防止电源接反对CPU造成的损害。

增加专门的键盘扫描和数码管显示芯片,只占用2个I/O口和一个外部中断就能完成8个数码管显示和最多64个键盘扫描。

增加了I/O口键盘扫描,2种扫描方式可通过跳线由用户自己选择。

所有I/O口均用引脚引出,方便用户扩展。

外部中断0和外部脉冲记数按键复用,通过跳线,用户即可以进行外部中断实验,也可以进行外部T0记数实验。

增加了串行的AD和DA芯片,可直接在开发板上进行AD和DA的实验。

3 有效值测量程序流程图本次课设的任务是利用自己亲手做的单片机最小系统,通过编程和调试,实现正弦波的有效值测量,并用数码管将测量的有效值显示出来。

单片机课设-正弦交流信号有效值的测量

单片机课设-正弦交流信号有效值的测量

目录摘要 (I)Abstract (II)1 电路设计 (1)1.1信号采集与转换电路设计 (1)1.2 单片机控制电路设计 (2)1.3显示电路设计 (3)1.4总体电路 (4)2 软件设计 (5)3 仿真结果 (12)4 心得体会 (14)参考文献 (15)摘要正弦交流信号有效值的测量,需要测量正弦信号的峰值,利用正弦信号有效值的计算公式就可以得到正弦信号的有效值。

要进行基于单片机的正弦信号有效值的测量,需要先将模拟量转换为数字量,将所得的数据经由单片机处理,再将最后的结果显示出来。

设计的电路主要包括信号采集与转换电路,单片机控制电路和显示电路。

其中,有效值的计算在本次设计中主要利用软件部分的设计完成。

关键词:有效值测量,模数转换电路,单片机控制AbstractSinusoidal ac signal effective value measurement, need to measure the peak value of the sine signal, using the sine signal effective value calculation formula of the effective value of sine signal can be calculated out. Must carry on the sine signal RMS measurement based on single chip microcomputer, need to convert analog to digital quantity, will the data processed by single chip microcomputer, then the final result of display. Design the circuit mainly includes signal acquisition and conversion circuit, SCM control circuit and display circuit. Among them, the RMS calculation in the design of the main use of the design of the software part is complete.Keywords: RMS measurement, modulus conversion circuit, single chip microcomputer control1 电路设计为了测得正弦信号的有效值,硬件电路的设计应包括信号的输入采集电路,模拟量与数字量转换电路,单片机控制电路与数字显示电路。

基于单片机的有效值检波器讲解

基于单片机的有效值检波器讲解

电子设计基础期末任务基于单片机的有效值检波器有效值检波器摘要本作品以单片机STC12C5A60S2为主控芯片并以此为基础,通过二极管1N5819实现半波整流,使用单片机内部自带10位AD对整流后的输入信号进行采样,从而实现对峰值的检测;同时通过运放LM837对输入信号进行放大,之后通过施密特触发器,将原始信号整形成可被单片机识别的标准脉冲波形,之后配合内部计数器(定时器)达到测量其频率的目的;这样,整流和AD采样实现对输入信号峰值的检测;通过放大、整形实现对输入信号频率的检测。

AbstractOur system adopts the STC12C5A60S2 as the core processing CMOS chip .On this basis, achieved the half-wave rectifier through diode 5819, use the native 10-bit microcontroller internal AD to sample the rectified input signal , in order to achieve the peak detection; At the same time, use the operation Amp LM837 to amplify the input signal, and then through the Schmitt trigger, the entire formation of the original signal can be recognized by the standard single chip pulse waveform, then with the use of internal counter (timer) ,we can measure the frequency ; so that rectification and AD Sampling the input signal to achieve the peak detection; through the amplification, shaping to achieve the detection of the input signal frequency.关键字:半波整流,运放,AD采样,定时,计数。

对HZ正弦交流信有效值的测量单片机精编版

对HZ正弦交流信有效值的测量单片机精编版

对H Z正弦交流信有效值的测量单片机公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]目录摘要在实际使用中,有效值是应用最广泛的参数,电压表的读数除特殊情况外,几乎都是按正弦波有效值进行定度的。

有效值获得广泛应用的原因,一方面是由于它直接反映出交流信号能量的大小,这对于研究功率、噪声、失真度、频谱纯度、能量转换等是十分重要的;另一方面,它具有十分简单的叠加性质,计算起来极为方便。

本次课程设计以STC89C51单片机为控制核心,利用有效值测量芯片AD736对正弦交流信号的有效值进行测量,测量结果由放大器放大,经TLC549芯片A/D转换后,由单片机控制LCD液晶显示器显示有效值。

关键字:有效值、AD736、TLC549AbstractIn actual use, the RMS is the most widely used parameters, voltage meter in addition to the special situation, almost all is according to the set of sinusoidal RMS. The cause of the valid values being widely applied, on the one hand, because it is directly reflect the size of the ac signal energy, for the study power, noise, distortion, frequency spectrum purity, energy conversion and so on is very important; On the other hand, it has a very simple superposition nature, extremely convenient to calculate.This course design with the STC89C51 microcontroller as the core, using RMS measurement chip AD736 of sinusoidal ac signal effective value measure, the measured results by the amplifier amplification, after eight bits A/D conversion chip, the LCD display RMS was controlled by single chip microcomputer.Keywords: current effective value, AD736, TLC5491.软件介绍Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。

正弦电压信号的产生与有效值测量

正弦电压信号的产生与有效值测量

第四届电子设计竞赛复试实验报告正弦电压信号的产生与有效值测量*********************************************************************复试题目:设计一个频率为1000Hz的正弦波信号发生器,输出幅值为1V左右。

用单片机搭建一个系统,精确地测量该信号的有效值。

并通过串口送到PC机中,通过串口调试助手软件显示该有效值。

题目要求:1、设计一个1000Hz的正弦波振荡器,输出幅度转换为1V。

2、用单片机自带10位AD作为模数转换芯片,不允许扩展其它AD。

3、串口以9.6K波特率向PC机传输数据,在串行调试助手中,以10进制格式显示该正弦波的有效值。

****************************************************************************************************************************************摘要:通过一RC振荡电路,产生1KHz的正弦波,然后经过峰值检波电路,得到其峰值送入Atmega16单片机,由其内部自带ADC处理,并在软件中得到其有效值,经串口发给PC机,并在串口调试助手上显示电压有效值。

关键字:峰值检波有效值ADC 串口****************************************************************************************************************************************** *******************************论文正文****************************** *********************************************************************一、正弦波发生电路正弦波发生电路需要四部分:放大电路:保证电路能够有从起振到动态平衡的过程,使电路获得一定幅值的输出量,实现能量的控制。

单片机真有效值程序实现

单片机真有效值程序实现

1 前言单片微型计算机简称单片机,又称微控制器(MCU),它的出现是计算机发展史上的一个重要的里程碑,它以体积小、功能全、性价比高等诸多优点独具特色,在工业控制、尖端武器、通信设备、信息处理、家用电器等嵌入式应用领域中独占鳌头。

本次课设采用的STC89C51单片机是51系列单片机的一种代表,目前51系列单片机是国内目前应用最广泛的一种单片机之一。

单片机以其系统硬件构架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计的基础课。

2 单片机系统板的介绍本次课设所使用的单片机最小系统板包括以下器件:电源端子(DC +5V),可以USB供电,也可独立电源供电。

通用异步串口,采用MAX232做电平转换。

STC89C51单片机,支持串口下载和单步调试 ZLG7 290管理芯片,是IIC总线通信的键盘扫描和数码管显示芯片,自带8M晶振,最多可扫描64个键盘和8个数码管。

各种颜色的LED发光二极管共9个,其中8个接于P1口做LED显示,还有一个做电源灯显示。

TLC549,8位串行AD。

TLC5615,10位串行DA。

还有其他电阻电容若干,系统板一个,大按键开关两个,用于中断控制和通信开关。

利用STC51系列特有的ISP在线编程,方便我们初学者的二次开发,省去大量芯片烧写时间。

USB电源线供电和外接供电并存,方便学生在寝室使用。

电源保护电路,有效防止电源接反对CPU造成的损害。

增加专门的键盘扫描和数码管显示芯片,只占用2个I/O口和一个外部中断就能完成8个数码管显示和最多64个键盘扫描。

增加了I/O口键盘扫描,2种扫描方式可通过跳线由用户自己选择。

所有I/O口均用引脚引出,方便用户扩展。

外部中断0和外部脉冲记数按键复用,通过跳线,用户即可以进行外部中断实验,也可以进行外部T0记数实验。

增加了串行的AD和DA芯片,可直接在开发板上进行AD和DA的实验。

3 有效值测量程序流程图本次课设的任务是利用自己亲手做的单片机最小系统,通过编程和调试,实现正弦波的有效值测量,并用数码管将测量的有效值显示出来。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于单片机正弦波有效值的测量一.简介本作品以单片机STC12C5A60S2为主控芯片并以此为基础,通过二极管1N5819实现半波整流,使用单片机内部自带10位AD对整流后的输入信号进行采样,从而实现对峰值的检测;同时通过运放LM837对输入信号进行放大,之后通过施密特触发器,将原始信号整形成可被单片机识别的标准脉冲波形,之后配合内部计数器(定时器)达到测量其频率的目的;这样,整流和AD采样实现对输入信号峰值的检测;通过放大、整形实现对输入信号频率的检测。

二.基本功能与技术指标要求(1)输入交流电压:1mV~50V,分五档:①1mV~20mV,②20mV~200mV,③200mV~2V,④2V~20V,⑤20v~50V。

(2)正弦频率;1Hz~100kHz;(3)检测误差:≤2%;(4)具有检测启动按钮和停止按钮,按下启动按钮开始检测,按下停止按钮停止检测;(5)显示方式:数字显示当前检测的有效是,在停止检测状态下,显示最后一次检测到的有效值;(6)显示:LCD,显示分辨率:每档满量程的0.1%;三.理论分析本文要求输入交流信号,通过电路测量其峰值,频率,有效值以及平均值,因为输入的交流信号为模拟信号,而一般处理数据使用的主控芯片单片机处理的是数字信号,所以我们选择使用数模转换器AD(Analog to Digital Converter)将输入的模拟信号转换为数字信号,并进行采样;由于要求输入交流信号电压峰峰值Vpp为50mV~10V,所以如果我们采用AD为8位,则最小采样精度为,因此会产生78.4%的误差,并且题目要求输入交流信号的频率范围为40Hz~50kHz,所以为了保证对高频率信号的单周期内采样个数,我们需要选择尽量高速度的AD;因此我们选用使用单片机STC12C5A60S2,其内部自带AD为8路10位最高速度可达到250KHz,所以我们可以将最小采样精度缩小到,并且在输入交流信号频率最大时(50KHz)在单个周期内可采集5个点,因此可保证测量精度。

由于该AD只能接受0~5V的模拟信号输入,所以当我们直接输入一个双极性信号时可能损坏AD,因此当信号进入AD之前我们要进行半波整流,为此我们设计了整流电路,在交流信号通过整流电路输入AD 后,由AD实时输出对应模拟信号大小的二进制数,并存入变量MAX 中,随着信号的不断输入MAX中只保存AD输出过的最大值,这样既可测出输入信号的峰值;由交流信号有效值表达式可知检波器应当首先把输入的瞬时电压平方, 然后在一定平均时间内取平均值再开方。

即可得到交流信号的有效值,然后通过比较峰值和有效值的关系即可知道该交流信号的波形;由于要检测交流信号的频率,所以我们使用单片机内部定时器和计数器,而计数器只能由上升沿或是下降沿触发,所以我们想通过施密特触发器将输入交流信号变为高低电平,以便检测其频率,而施密特触发器CD40106在常温5V 供电下门限电压=1.4V,而输入交流信号的峰值最小时为25mV,所以不能保证输入信号为正的时候施密特触发器就能发生跳变,因此我们要对输入交流信号进行放大,为此我们设计了放大电路。

四.电路设计1.电源电路的设计本次实验我们采用+5V,—5V,+12V,—12V的电源,故采用了7805,7905,7812,7912这四块芯片组成电源电路对作品进行供电。

如图一所示:图一经过测量实际输出电压为:+5.12V -5.06V +12.67V -12.02V2.分档设计由于直接对信号测量时,对小信号的测量产生很大的误差,为了更有效的利用单片机的资源,故要对待测信号进行分档处理,但在实际运行中,由于进入放大器之前存在大量电阻产生了很多的噪声干扰,使输出波形严重失真,不能有效的利用,故我们舍弃了该部分的电路。

3.整流电路的设计我们使用整流二极管5819实现半波整流,但通过此电路输出波形会出现一个负电压,因此在此基础上,我们在二极管后加了一个上拉电阻,实现最大程度的消除输入波形的负电压,使其在单片机STC12C5A60S2内部AD的可接收信号范围内(0-5V)。

输入信号经过整流后进入AD,由AD输出10位数字信号,再有单片机进行处理,得出信号的有效值。

电路如图二所示:图二在实际的测试中,证明该方案可行,能够实现对信号的半波整流处理。

4.正弦波转方波电路设计在该电路的设计中,我们一开始采用555芯片把正弦波转换为方波,但在实际的测试中发现555只能对高于6V的信号才能使正弦波转换为放波,与我们实习要求不符合,故舍弃了该方案。

在老师的指导下,我们采用了滞回比较器来产生方波。

本方案检测输入信号频率的核心电路,信号通过由三个运放LM324组成的运放电路后放大100倍,然后输入施密特触发器使其波形变为高低电平,将此波形输入到单片机主控芯片,利用单片机内部的计数器和定时器完成对频率的测量。

大部分采用运放LM324构成放大100倍电路,位于图下方由5V电源供电的运放可以产生一个2.5V的直流电压,将此2.5V的直流电压输入到第一级运放后,会使输入的交流信号上偏2.5V,变为0-5V,再经过100000pF的电容C3滤掉被放大的噪声以及2.5V直流后,变为-2.5—+2.5的交流信号,之后进入二级放大;如图所示第二级运放在加入+2.5V直流电压后输出为0—5V的交流信号,至此外加交流信号已被放大100倍;在外加交流信号被放大100倍之后进入施密特触发器CD40106,该触发器在常温5V供电下门限电压 =1.4V ,输出高电平,低电平,此部分电路输出即为这个高低电平。

电路如图三所示:图三在实际的检测中发现放大器并不能将信号放大100倍,故幅值较小的信号不能正常显示频率,只要当信号的峰峰值大于1.5V时才能使单片机正常显示信号的频率。

5.单片机电路采用STC12C5A60S2单片机,作为整个系统的控制器,控制各个模块协调工作。

运用其内部集成的一个AD作为数模转换器。

如图四所示图四6.系统整体电路图如图五所示图五四.软件设计AD流程图如图六图七所示图六图七1.正弦波有效值的测量方法工频正弦电压信号)2sin(2)2sin()(ϕπϕπ+=+=ft U ft U t u mt频率f 和初相位角ψ已知,且ψ=0,现以t=0时可作为基准时间,并在t=0时刻开始进行等间隔采样,共得到正弦波u(t)的N 个测量值(采样数据)u(0),u(1),……,u(N-1),希望利用这N 个测量值来计算正弦波的幅值Um (有效值U )。

设采样周期为T S ,如果不存在噪音,且测量无偏差,则有0)0sin()0(==m U u)2sin()0(S m T f U u ⋅⋅=π……)2sin()(S m T K f U k u ⋅⋅⋅=π……))1(2sin()1(S m T N f U N u ⋅-⋅⋅=-π我们可以设法利用测量值求解出正弦波参数。

实际上,我们的测量存在误差,同时信号存在噪音,因此,对每一个测量信号u(k),它与对应时刻t=k ·T S 的正弦波)2sin()(ft U t u m π=的值)2sin()(s m T k f U t u ⋅⋅⋅=π存在一个误差)(k e ,其中k=0,1,…,N-1。

定义)()2sin()(k u T k f U k e S m -⋅⋅⋅=π为了利用N 个测量值来尽可能准确的计算正弦波幅值Um ,我们定义指标函数为:∑∑-=-=-⋅⋅⋅⋅==102102)]()2sin([)(21)(N k s m N k m k u T k f U k e U πε 它是频率f ,幅值Um ,初相位角ψ的函数。

我们的目的就是求频率f ,幅值Um ,初相位角ψ使得目标函数ε最小。

为此,令)1(0)2sin()()2(sin )}2sin()]()2sin({[)(101021-------------------------------------------------=⋅⋅⋅⋅-⋅⋅⋅⋅=⋅⋅⋅⋅-⋅⋅⋅⋅=∂∂∑∑∑-=-=-=N k s N k s m N k s S m m m T k f k u T k f U T k f k u T k f U U U ππππε可以得到正弦波的幅值∑∑-=-=⋅⋅⋅⋅⋅⋅⋅=10210)2(sin )2sin()(N k s N k sm T k f T k f k u U ππ 为了与正弦波的真正幅值Um 表示上的区别,用U mC 表示利用N 个采样数据获得的正弦波幅值计算值,既)2()2(sin )2sin()(10210∑∑-=-=⋅⋅⋅⋅⋅⋅⋅=N k s N k smC T k f T k f k u U ππ 对于f ≈50Hz(以前面的测量值为准,这里仅为举例),选择采样周期T S ≈20/200=0.1ms=100us ,既每个周期采样200点(每半个周波100次采样),199,...,1,0)10sin()2sin(=⋅=⋅⋅⋅k k T k f S ππ是确定的(可以预先求出,存于sin 表中),sin 2(2π·f ·k ·T S )同样作为常数表,而且C T k f N k s =⋅⋅⋅∑-=102)2(sinπ本身是一个常数,因此公式(2)变为)3()2sin()(10C T k f k u U N k smC ∑-=⋅⋅⋅⋅=π当采样周期很小时,数值积分系数C 可以用)4()()(sin 1202t d t T C S ωωπ⎰⋅=来替代(可以认为C 是一个周期类的数值积分,当采样周期很小时,就用积分项来表示)。

就可利用N 个等间隔测量值计算出正弦信号的峰值Um 。

正弦波的有效值与峰值的关系)5(2mCC U U半波绝对值电路:在待测交流信号的正半波,输出待测信号送AD 变换电路,在待测信号的负半波,输出0.正半波时,Px.y=0,单片机利用该信号识别是正半波信号,进行AD 转换,获得N 个采样值。

在Px.y=1时,单片机暂停AD 变换,利用正半波获得的N 个检测信号计算正弦波的有效值U ,频率f 。

2.数据测量幅值的测量表1频率的测量表23.数据分析由上图可知在输入信号vpp在0.7v到5v的区域内,实验作品的误差较小能够实现有效值的测量,当频率在100Hz到40KHz时,在误差允许范围内,作品基本能完成对该信号的准确测量。

4.软件部分代码:#include <reg52.h>#include <intrins.h>#define FOSC 12000000L#define BAUD 9600typedef unsigned char BYTE;typedef unsigned int WORD;sbit LCM_E=P2^5;//定义接口sbit LCM_RW=P2^6;sbit LCM_RS=P2^7;sfr ADC_CONTR = 0xBC;sfr ADC_RES = 0xBD;sfr ADC_LOW2 = 0xBE;sfr P1ASF = 0x9D;sfr AUXR = 0x8e;#define ADC_POWER 0x80#define ADC_FLAG 0x10#define ADC_START 0x08#define ADC_SPEEDLL 0x00#define ADC_SPEEDL 0x20#define ADC_SPEEDH 0x40#define ADC_SPEEDHH 0x60#define LCM_Data P0//数据接口void InitUart();void SendData(BYTE dat);void Delay(unsigned int n);void IO_ADinit() ;void ADC_Power_On() ;void get_ad_result() ;void ADCONVERT() ;void WriteDataLCM(BYTE WDLCM);void WriteCommandLCM(BYTE WCLCM,BuysC);BYTE ReadDataLCM(void);BYTE ReadStatusLCM(void);unsigned int GetADCResult(BYTE ch);void LCMInit(void);void DisplayOneChar(BYTE X, BYTE Y, BYTE DData);void DisplayListChar(BYTE X, BYTE Y, BYTE code *DData); void Delay5Ms(void);void Delay400Ms(void);void Disp_number(unsigned int num,BYTE n);void ShowResult(BYTE ch);unsigned int GetADCResult(BYTE a);unsigned int data_max = 0;unsigned long data_max1,count =0;unsigned int data_change = 150;//0.7Vunsigned char code VP[4]={"Amp:"},Freq[5]={"Freq:"};unsigned int Counter = 0;unsigned int data_last = 0;BYTE ch = 0;unsigned int Frequency = 0;unsigned int nn =0,flag = 0,flag1 = 0,nn1=0;unsigned int PrintFre[5] ;unsigned int Print[4];unsigned int number[4];unsigned int D;void main(){unsigned int n=0;Delay400Ms();//启动等待,等LCM讲入工作状态LCMInit();//LCM初始化Delay5Ms();//延时片刻(可不要)ET1 = 1;EA=1;InitUart();TMOD = 0x15;//均为16位计数器TH0 = 0x00;TL0 = 0x00;TH1 = 0x3C;TL1 = 0xAF;TCON = 0x50;//T1,T0均工作,t1做定时器,t0做计数器;while(1){ADCONVERT();n++;if(n>10000){data_max=0;n=0;}}}void To_interrupt(void)interrupt 3 using 1{int i ,j;unsigned int Change1,Print[4];unsigned long int Change2;TH1 = 0x3C;TL1 = 0xAF;Counter = Counter++;if(Counter == 20){Frequency = (TH0<<8)+TL0;//读取此时计数器0的读数if(Frequency>=2000)Change1 = (Frequency/100)*92;else if (Frequency>=200)Change1 = ((Frequency/10)*92)/10;else Change1 = (Frequency*97)/100;for( i=0;i<5;i++){PrintFre[i] = Change1 % 10;Change1 = Change1 / 10;}for(i=4;i>=0;i--){if(i>0)DisplayOneChar(4-i,0,PrintFre[i]+48);else{DisplayOneChar(4-i,0,PrintFre[i]+48);DisplayListChar(5-i,0,"Hz");}}Change2 = data_max*50;Change2 = Change2/10/1.414;for(j=0;j<=3;j++){Print[j] = Change2 % 10;Change2 = Change2 / 10;}for(j=3;j>=0;j--){if(j>0) DisplayOneChar(10-j,0,Print[j]+48);else { DisplayOneChar(10-j,0,Print[j]+48);DisplayListChar(11-j,0,"mV");}}TH1 = 0x3C;TL1 = 0xAF;TH0 = 0xFF;TL0 = 0xFC;Counter = 0;}}void IO_ADinit(){ADC_CONTR=0xe0; //设置P1.0为输入AD转换口_nop_(); //ADC_CONTR需要四个指令延时_nop_();_nop_();_nop_();}void ADC_Power_On(){ADC_CONTR|=0x80;_nop_();_nop_();_nop_();_nop_();}void get_ad_result(){unsigned int q=0,ad_average_result;ADC_RES=0;ADC_LOW2=0;ADC_CONTR|=0x08;while(!(ADC_FLAG&ADC_CONTR)) ;ADC_CONTR&=0xE7;ad_average_result=(ADC_RES<<2)+ADC_LOW2;if(data_max<ad_average_result)data_max=ad_average_result; }void ADCONVERT(){ADC_Power_On();IO_ADinit();get_ad_result();}void InitUART(){SCON = 0x5a;PCON|= 0x80;}void SendData(BYTE dat){while(!TI);TI = 0; SBUF = dat;}void Delay(unsigned int i){unsigned char j;for(i; i > 0; i--)for(j = 200; j > 0; j--) ;}void WriteDataLCM(BYTE WDLCM){ReadStatusLCM(); //检测忙LCM_Data = WDLCM;LCM_E = 0;LCM_RS = 1;LCM_RW = 0;LCM_E = 0; //若晶振速度太高可以在这后加小的延时LCM_E = 1;LCM_E = 0;}void WriteCommandLCM(BYTE WCLCM,BuysC) //BuysC为0时忽略忙检测{if (BuysC) ReadStatusLCM(); //根据需要检测忙LCM_Data = WCLCM;LCM_E = 0;LCM_RS = 0;LCM_RW = 0;LCM_E = 1;LCM_E = 0;}BYTE ReadDataLCM(void){LCM_E = 0;LCM_RS = 1;LCM_RW = 1;LCM_E = 1;LCM_E = 0;return(LCM_Data);}BYTE ReadStatusLCM(void){LCM_Data = 0xFF;LCM_E = 0;LCM_RS = 0;LCM_RW = 1;LCM_E = 1;LCM_E = 0;while (LCM_Data & 0x80) //检测忙信号{ LCM_E=0;LCM_E=1;}return(LCM_Data);}void LCMInit(void) //LCM初始化{LCM_Data = 0;WriteCommandLCM(0x38,0); //三次显示模式设置,不检测忙信号Delay5Ms();WriteCommandLCM(0x38,0);Delay5Ms();WriteCommandLCM(0x38,0);Delay5Ms();WriteCommandLCM(0x38,1); //显示模式设置,开始要求每次检测忙信号WriteCommandLCM(0x08,1); //关闭显示WriteCommandLCM(0x01,1); //显示清屏WriteCommandLCM(0x06,1); // 显示光标移动设置WriteCommandLCM(0x0C,1); // 显示开及光标设置}void DisplayOneChar(BYTE X, BYTE Y, BYTE DData){Y &= 0x1;X &= 0xF; //限制X不能大于15,Y不能大于1if (Y) X |= 0x40; //当要显示第二行时地址码 0x40;X += 0x80; // 算出指令码WriteCommandLCM(X, 0); //这里不检测忙信号,发送地址码WriteDataLCM(DData);}void DisplayListChar(BYTE X, BYTE Y, BYTE code *DData) {BYTE ListLength;ListLength = 0;Y &= 0x1;X &= 0xF; //限制X不能大于15,Y不能大于1while (DData[ListLength]) //若到达字串尾则退出{if (X <= 0xF) //X坐标应小于0xF{DisplayOneChar(X, Y, DData[ListLength]); //显示单个字符 }ListLength++ ;X++ ;}}void Disp_number(unsigned int num,BYTE n){BYTE a; //个位BYTE b; //十位BYTE c; //百位BYTE d; //千位// BYTE e; //万位switch(n){case 1:WriteDataLCM(num);break;case 2:b=num/10;a=num%10;WriteDataLCM(number[b]);WriteDataLCM(number[a]);break;case 3:c=num/100;b=num%100/10;a=num%10;WriteDataLCM(number[c]);WriteDataLCM(number[b]);WriteDataLCM(number[a]);break;case 4:d=num/1000;c=num%1000/100;b=num%1000%100/10;a=num%10;WriteDataLCM(number[d]);WriteDataLCM(number[c]);WriteDataLCM(number[b]);WriteDataLCM(number[a]);break;}}//5ms延时void Delay5Ms(void){unsigned int TempCyc = 5552;while(TempCyc--);}//400ms延时void Delay400Ms(void){BYTE TempCycA = 5;unsigned int TempCycB;while(TempCycA--){TempCycB=7269;while(TempCycB--);};}五.实习总结:匆匆的4周过去了,我们的实习也将步入结束。

相关文档
最新文档