ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:107.65KB ,
资源ID:9540245      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9540245.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(简易电能质量检测装置设计方案.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

简易电能质量检测装置设计方案.docx

1、简易电能质量检测装置设计方案简易电能质量检测装置设计方案一、系统设计方案及原理图1.1 总体设计思想通过分析赛题得,本检测装置主要有主控制器模块、显示模块、按键模块和信号变换与处理模块等组成,系统整体框图如下图1所示。图1 系统整体框图单片机只能处理数字量,其I/0口的TTL电平有一定的限制:一般高电平在2.4V-5V之间,低电平在0V-0.4V之间,并且模数转换器一般只能采样正的信号值,故输入的交流电压与电流信号要分别经电压变换与处理模块和电流变换与处理模块处理后,才能送数模转换器进行采样与量化处理。其工作过程为:主控制器模块将数模转换器输入的数据处理后,通过显示模块进行显示,按键模块可通过

2、主控制器模块,来间接控制显示模块显示容的切换。1.2 主要单元模块电路图及分析 1.2.1 电源部分电路 图2 电源部分电路图为便于本试题的设计与制作,设定待测的100500V交流输入电压、1050A交流输入电流均经由相应的变换器转换为对应的15V交流电压。设计中,通过采样保持电路实现了对电压和电流两路信号的分别保持,保证了电压信号和电流信号采样的同时性,从而确保了功率测量的准确性。1.2.2 单片机主控制电路图3 主控制器部分原理图电源电路提供稳定的+3.3V工作电压,时钟电路用于产生单片机工作所需的时钟信号,复位电路使单片机实现初始化状态复位。C8051F340中的串行接口能方便的与其它串

3、行传送信息的外围设备实现双机,多机通信。它的部有一个10位SARADC和一个差分输入多路选择器,可提供10位AD转换电路。系统用C8051F340作为MCU,通过LF353运放,进行整波,并用18V稳压源进行稳压。利用RC震荡电路实现一个信号输入同时产生电压与电流信号输入的效果,来得到其波形的相位差。同时通过调节连端的电阻来校正输入数据的准确程度。因为模数转换器ADC不能采集二维数轴负半轴的信号,所以要在电压和电流两个数模转换通道前各加一个波形移位电路,其原理图如上图3所示,使输入波形不失真的全部移到二维数轴的正半轴以上。1.2.3 移相电路在交流电路中,电阻电路是线性的,电容的相位超前90度

4、,电感的相位滞后90度。选择不同的RC数值,能使RC组成电路的输出相对输入产生不同的相移,理论上一级RC最大相移可达90度,通常可以2级、3级串联使用(在振荡器中),这样最大相移可达2700。适当改变R和C 的值,则可满足不同的相移要求。本系统移相电路将输入的电压信号移位后代表同一路的电流信号,便于系统的调试。1.2.4显示系统图5 显示电路原理图显示模块我们使用了12864F这款液晶模块。这块液晶是点阵型液晶模块,自带中文字库。选择这块液晶模块是从系统实际需要和将来的扩展空间出发考虑的。由于显示模块只需显示设定输出值和实际输出值,从降低成本出发不必使用更高级的液晶模块。二、系统硬件设计与计算

5、2.1 信号波一周期采样点数的确定由奈奎斯特采样定理得,在信号频率变化时若都能保证对信号周波等间隔、均匀采样60个点,经FFT算法后不仅能够达到工频交流电测量的要求,而且可以对普通信号的30次以下的谐波进行分析,这足以满足赛题要求测量5次的谐波含量的要求,同时考虑到采样点数较少时,积分法进行运算的误差就难以达到系统的精度要求。所以AD采样时,一周期采样的点数我们取64,即用软件倍频的方法对输入信号的频率64倍频,然后以此频率作为AD采样频率。2.2 采样信号的处理2.2.1 对输入的交流电压、电流信号的公式证明假设输入信号的基波信号为频率为的正弦波电压 其中2,则 =+ (1) 若将看作的复数

6、振幅 ,则 (2)对信号每周采样次产生采样序列 = , 其中 为采样间隔。对进行离散傅里叶变换得到基波分量的频谱系数。= = 对正弦输入信号可证明 (3) 是输入信号的基波频谱系数,k为小于N的正整数,代表第k 次的采样。由式(1)(2)和(3)三式可得出与的关系。 = 对于x次谐波,同样可得其复数振幅的实部和虚部: , 对另一路输入的交流电流信号可同样应用上述公式求出x次谐波分量的复数振幅的实部和虚部。2.2.2 交流电压有效值电流有效值有功功率、无功功率和视在功率的计算。 设、分别为基波或x次谐波交流电压、电流、有功功率、无功功率(x=0时,表示基波,x=1、3、5.时,表示对应的谐波),

7、则有: 总的输入信号的有效值,有功、无功功率,功率因数为: , , , 上两式可采用近似计算公式 , ,其相对误差为。三、系统软件设计系统软件流程见附录。四、系统的检测方法及理解4.1 测试仪器及测试方法测试仪表:函数信号发生器/计数器,数字万用表,示波器 测试方法:用函数信号发生器产生正弦信号波作为电压信号波输入,此电压信号经移相电路移相后作为同一路的电流信号输入,经采样送单片机处理后显示,将显示的各数值同示波器观察值和万用表侧得值作比较,计算出各误差值。4.2基本部分测试结果及分析4.2.1 交流电压有效值和交流电流有效值测试结果如下表1 4.2.2 功率测试结果如下表2 视在功率PF=c

8、os=P/S4.3 发挥部分测试结果及分析4.3.1交流电压输入频率的测试结果如下表3五、小结在本次设计中我们仔细分析了电路图的排版结构,用最适合的方式接线,大大缩小了电路的规模,使系统部的干扰及串扰大大降低,这使系统调试的难度降低。通过对器件的仔细挑选,我们力图使硬件系统简单化,在不降低系统参数的条件下降低成本。现分析设计过程中系统产生误差的原因:(1)单片机输出PWM误差。(2)采样电阻精度误差。(3)A/D采样电路转换误差和量化误差。(4)整个系统版由手工焊接完成,布线时无法避免线路之间和外界的电池干扰。(5)功率的测量是由电压、电流的测量值间接计算所得,由于误差的累计效应会使有功功率、

9、无功功率和视在功率与理论值存在误差。经过多日努力,我们的设计基本完成了题目要求,由于仿真软件的限制,可能效果不是非常理想。本次设计极大的锻炼了我们各方面的能力,虽然我们遇到很多困难和障碍,但是合作与努力,困难与希望并存。通过本次设计,我们深刻体会到共同协作和团队精神的重要,也强烈的意识到课本知识与实际相结合的重要性。我们将继续努力争取更大的进步。附录 主要元器件清单元器件型号数目单片机C8051F3401整流桥KBP3101变压器220V 10W12V*21三端稳压芯片L7809CV1三端稳压芯片KA79091三端稳压芯片HT75331三端稳压芯片L7805CV1集成运放LM3532集成运放L

10、M311P2与非门芯片74HC001三端稳压管LM385B2-2.51高速二极管IN41488液晶显示模块12864F1电解电容2200uF 25V2电解电容220uF 25V2电解电容10uF 25V2电解电容100uF 25V1电解电容1uF 25V3电容0.1uF13电容1uF3电阻1k2电阻10k5电阻5101电阻2k2电阻12k4按钮3电感10uH2电位器010k1附录 总程序图附录 数据表表1 电压有效值和电流有效值测试结果输入电压有效值(V)测得电压有效值(V)测量误差(%)允许误差(%)是否满足要求1.201.2040.331是2.422.4290.037是3.813.790.

11、5是输入电流有效值(A)测得电流有效值(A)测量误差(%)允许误差(%)是否满足要求0.480.4820.421是1.231.2360.48是1.961.9680.408是表2 功率测试结果输入(峰值)各功率理论值各功率测得值各功率测量误差(%)电压/V电流/AP/WQ/varS/WP/WQ/varS/WPQS1.200.480.4560.3420.570.4480.3440.5721.20.531.452.421.231.7782.3842.98表3 交流输入电压信号频率测试结果输入频率实际值输入频率测得值测量误差 允许误差(%) 是否满足要求 46Hz 46001Hz0.001Hz0.00

12、1Hz是 49Hz 49.0004Hz0.0004Hz是 51Hz 510007Hz0.0007Hz是 54Hz 54.0009Hz0.0009Hz是附录 主程序源代码#include #include intrins.h#include math.h#include table.h#include 12864.h#include sbit key2=P03; /基本和发挥部分多个界面切换sbit key1=P04; /基本发挥切换,开关形式 1=基本部分;0=发挥部分sbit key3=P02; /发挥部分谐波显示/波形显示切换/* 常量及全局变量定义*/#define SYSCLK 000

13、000#define ADC_CLK 1600000#define K 15#define K1 1.07#define wavek 0.0491#define feqk 1.00806int code vxiebo6=1270,5,422,3,252,1;int code ixiebo6=1271,4,421,4,250,3;float doudong;unsigned int vmax=0;unsigned int imax=0;unsigned char maxindex=0;unsigned int vmin=0;unsigned int imin=0;unsigned char mi

14、nindex=0;unsigned char keynum=0;/*显示*/long xdata c6;/有效值long xdata v6;int vxiebozx6;int ixiebozx6;unsigned int luxiebozx;unsigned int lixiebozx;/float xdata vxieboyx6;float xdata ixieboyx6;float xdata vxbyx;float xdata ixbyx;float idata vta;float idata ita;float idata cosvalue;float idata sinvalue;f

15、loat idata costemp;long idata pw;long idata qw;long idata sw;float pf;long idata feq;/sbit key=P10;sbit mode=P11;unsigned int j=0;unsigned int time=0;/unsigned int cos=0;unsigned int counter0=0;unsigned int counter1=0;unsigned int i=0;unsigned int time0=0;unsigned int time1=0;long temp=0;unsigned in

16、t temp1=0;unsigned int temp_th0=0;bit flag=0;bit waveflag=0;bit timeflag=0;bit time_get_flag=0;/bit overflag=0;bit int0flag=0;bit adfin_flag=0;unsigned int xdata ad_v0129; /电流采样unsigned int xdata ad_v1129; /电压采样unsigned int idata Umax_last,Umin_last,Imax_last,Imin_last; /历史电压电流最值unsigned char idata

17、key1_lishi; /发挥部分按键次数记录unsigned char idata key_lishi; /基本部分按键次数记录/* 函数声明*/void OSCILLATOR_Init(); /部振荡器初始化void PORT_Init(); /端口初始化函数void ADC_Init(); /AD初始化函数void ADC_Enable(); /AD使能函数void ADC_Disable(); /AD除能函数void timer2_Init(); /定时器初始化程序void Timer0_Init();void Ext_Interrupt_Init();void Timer1_Init

18、();void Delay_us(unsigned int times) unsigned int i; for(i=0;i=100) pf=99; startp(20); display_NUmber(F:0.,pf); Delay_us(10); startp(8); display_NUmber(P:,pw/4); Delay_us(10); startp(12); display_NUmber(Q:,qw/4); Delay_us(10);void max_display()/最大值最小值显示界面 WriteCommand(0x01);/清屏 Delay_us(3000); /比较最值

19、 if(key_lishi=1) /第一次,人为赋最值 Umax_last=vkeynum; Umin_last=vkeynum; Imax_last=ckeynum; Imin_last=ckeynum; if(vkeynumUmax_last) /最大电压改变 Umax_last=vkeynum; if(vkeynumImax_last) /最大电流改变 Imax_last=ckeynum; if(ckeynumImin_last) /最小电流改变 Imin_last=ckeynum; /显示 startp(3); WriteData(key_lishi+0x30); /5组编号 star

20、tp(4); lcddisplay(组); Delay_us(10); startp(16); /最大电压 display_NUmber(Umax,Umax_last/2); Delay_us(10); startp(20); /最小电压 display_NUmber(Umin,Umin_last/2); Delay_us(10); startp(8); /最大电流 lcddisplay(Imax); startp(10); WriteData(Imax_last/2)/100+0x30); WriteData(Imax_last/2)/10%10+0x30); /. WriteData(0x

21、2E); /. WriteData(Imax_last/2)%10+0x30); startp(12); /最大电流 lcddisplay(Imin); startp(14); WriteData(Imin_last/2)/100+0x30); WriteData(Imin_last/2)/10%10+0x30); /. WriteData(0x2E); /. WriteData(Imin_last/2)%10+0x30); startp(24); /实时电压 display_NUmber(U:,vkeynum/2); Delay_us(10); startp(28); /最大电流 lcddi

22、splay(I:); startp(29); ckeynum=123; WriteData(ckeynum/2)/100+0x30); /WriteData(0x31); WriteData(ckeynum/2)/10%10+0x30); /. WriteData(0x2E); /. WriteData(ckeynum/2)%10+0x30); Delay_us(10);/发挥部分谐波显示界面void xiebo_display() WriteCommand(0x01);/清屏 Delay_us(3000); startp(0); /频率 lcddisplay(f:); startp(1);

23、WriteData(feq/100+0x30); WriteData(feq/10%10+0x30); WriteData(0x2E); /. WriteData(feq%10+0x30); Delay_us(10); startp(5); display_NUmber( ,key1_lishi+1); /N Delay_us(10); startp(7); /次谐波 lcddisplay(次); Delay_us(10); startp(16); /电压谐波含量 lcddisplay(电压谐波); startp(21); WriteData(int)vxiebozxkey1_lishi/10

24、00+0x30); WriteData(0x2E); /. WriteData(int)vxiebozxkey1_lishi/100%10+0x30); WriteData(int)vxiebozxkey1_lishi/10%10+0x30); WriteData(int)vxiebozxkey1_lishi%10+0x30); Delay_us(10); startp(8); /电流谐波含量 lcddisplay(电流谐波); startp(13); WriteData(int)ixiebozxkey1_lishi/1000+0x30); WriteData(0x2E); /. WriteData(int)ixiebozxkey1_lishi/100%10+0x30); WriteData(int)ixiebozxkey1_lishi/10%10+0x30); WriteData(int)ixiebozxkey1_lishi%10+0x30); Delay_us(10); startp(24); /本次谐波电压有效值

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1