单片机课程设计单相工频交流电压电流计设计.docx
- 文档编号:13109627
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:24
- 大小:859.69KB
单片机课程设计单相工频交流电压电流计设计.docx
《单片机课程设计单相工频交流电压电流计设计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计单相工频交流电压电流计设计.docx(24页珍藏版)》请在冰点文库上搜索。
单片机课程设计单相工频交流电压电流计设计
单片机课程设计--单相工频交流电压、电流计设计
单片机课程设计
题目:
单相工频交流电压、电流计设计
姓名:
赵然
院(系):
信息学院专业:
自动化
指导教师:
潘峰职称:
评阅人:
职称:
东华大学信息科学与技术学院自动化系
2012年6月
摘要
在实际中,有效值是应用最广泛的参数,电压表的读数除特殊情况外,几乎都是按正弦波有效值进行定度的。
有效值获得广泛应用的原因,一方面是由于它直接反映出交流信号能量的大小,这对于研究功率、噪声、失真度、频谱纯度、能量转换等是十分重要的;另一方面,它具有十分简单的叠加性质,计算起来极为方便。
本文详细介绍了一个数字工频电压、电流表设计,以AT89C51单片机为控制核心,由电压、电流传感器模块,真有效值测量模块,AD转换模块、波形整形模块、显示模块等构成。
系统采用电压、电流分压分流对输入信号进行降压处理,经AD736转换得到原信号的真有效值,由AD1674转换为数字量后送入单片机内进行简要的数据处理并将结果通过六位LED实时显示,达到了较好的性能指标。
关键词:
工频数字电压(电流)表真有效值AD736AD1674AT89C51
第一章绪论
§1.1系统设计任务
设计基于MCS-51的单相工频交流电参数检测仪。
交流有效值0-220V,电流有效值0-40A。
电压、电流值经电压、电流传感器输出有效值为0-5V的交流信号,传感器输出的电压、电流信号与被测电压、电流同相位。
基本要求如下
(1)电流、电压测量精度0.1%
(2)检测电压、电流的相位角,求出功率因素
(3)电流、电压有效值由LED轮流显示,也可由按键切换显示量
(4)有效值、功率因素可以发送至远程主机。
设计以AT89C51为核心的控制电路,并编写相关的系统软件(汇编、C51程序均可)
§1.2设计思路
本例旨在设计一个工频交流电流、电压计。
系统利用分压、电流转换原理将工频电压/电流转换为弱电压。
进行有效值转换,进而得到稳定的直流信号。
由模拟开关选择电压或者电流通过,进入单一输入量的AD1674。
进行A/D转换,所得数字信号送入单片机进行数据处理,然后显示。
最后由串口输出送入虚拟串口进行调试。
系统总体框图如图1-1所示。
图1-1系统总框图
第二章硬件设计
§2.1转换电路设计
2.1.1分压电路
分压电路如图2-1所示,分压电路工作原理为:
不同的输入电压通过分压电阻,电压下降而不改变相位。
图中运算放大器构成电压跟随器,
图2-1分压电路
运放输出电压和互感器输入电压关系为:
U0=U*R101/(R100+R101)。
故选择取样电阻R100=215Ω、R101=5.02Ω。
2.1.2电流转换电路
电流转换电路如图2-2所示,输入电流0~40A,输出电压0~5V,
图2-2电流转换电路
§2.2真有效值转换电路设计
系统的核心是测量交流电压、电流的有效值,因此有效值测量的精度将直接影响系统最终的精度。
有效值测量集成电路视其测量范围和精度有多种规格可选,较通用的有Analog公司的AD536、AD636、AD736及AD737等。
考虑到成本等因素,系统选用的是AD736,应用电路如图2-3所示。
该器件是按有效值隐含运算而设计,能计算任意复杂波形的高精度真有效值--直流转换器件,其精度优于0.3%,波峰因素≤5,相对稳定时间快,是当前集成真有效值转换器性能较好的一种。
AD736有效值测量原理如下:
一个交变信号的有效值定义为
(1)
这里,
为信号的有效值,T为测量时间,
是一个时间的函数,但不一定是周期性的。
对等式两边进行平方得:
(2)
右边的积分项可以用一个平均来近似
(3)
这样式
(2)可以简化为:
(4)
等式两边除以
得:
(5)
这个表达式就是测量一个信号真实有效值的基础。
AD736也是采用的这一原理。
图中CC为低阻抗输入端耦合电容一般取值为10~20uF;CF为输出端滤波电容一般取10uF;CAV为平均电容,它是AD736的关键外围元件,用于进行平均值运算。
其大小将直接影响到有效值的测量精度,尤其在低频时更为重要。
多数情况下可选33uF。
图2-3真有效值转换电路
§2.3555定时器矩形波转换电路设计
利用555定时器,对正弦信号进行整形,从而形成矩形波。
利用中断进行计时。
当整形电压波形首次出现下降沿时,定时器1、2打开。
开始计数。
当整形电流波形首次出现下降沿时,关闭定计数器T0,计数值为time_l。
当整形电压波形再次出现下降沿时,关闭计数器T1,计数值为time_s。
从而计算出相位差phase=(time_l)*360/(time_s)。
功率因数powerfact=cos(phase)。
应用电路如图2-4所示。
图2-4矩形波转换电路
§3.2电压、电流真有效值切换电路设计
由于AD1674要求一路输入,故需对电压有效值和电流有效值的信号进行通道选择和切换。
本设计采用模拟开关CD4053实现通道切换,即在电压、电流互感器后设置一CD4053,通过单片机输出控制信号来控制通道切换,选择某路信号进行有效值转换,应用电路如图2-5所示。
CD4053是三路二选一模拟开关,可由三位控制位分别选择三路输出,其真值表如表2-1所示。
本设计中只用了一路,单片机2.4口通过D触发器与A相连,由控制位A选择输出。
表2-1CD4053真值表
InputStates
OnChannels
EN
A
B
C
0
0
0
0
X0,Y0,Z0
0
0
0
1
X0,Y0,Z1
0
0
1
0
X0,Y1,Z0
0
0
1
1
X0,Y1,Z1
0
1
0
0
X1,Y0,Z0
0
1
0
1
X1,Y0,Z1
0
1
1
0
X1,Y1,Z0
0
1
1
1
X1,Y1,Z1
1
*
*
*
NONE
图2-5真有效值转换电路
§2.5A/D转换电路设计
AD1674是美国AD公司推出的一种完整的12位并行模/数转换单片集成电路。
该芯片内部自带采样保持器(SHA)、10伏基准电压源、时钟源以及可和微处理器总线直接接口的暂存/三态输出缓冲器。
与原有同系列的AD574A/674A相比,AD1674的内部结构更加紧凑,集成度更高,工作性能(尤其是高低温稳定性)也更好,而且可以使设计板面积大大减小,因而可降低成本并提高系统的可靠性。
笔者在研制某新型国产机载武器系统中采用了M级AD1674T,它可实时地采集各传感器的模拟参量,以进行快速、精确的数据转换并传给CPU进行处理。
图2-5ADC转换电路
AD1674的基本特点和参数如下:
●带有内部采样保持的完全12位逐次逼近(SAR)型模/数转换器; ●采样频率为100kHz; ●转换时间为10µs;
●具有±1/2LSB的积分非线性(INL)以及12位无漏码的差分非线性(DNL);
●满量程校准误差为0.125%;
●内有+10V基准电源,也可使用外部基准源;
●四种单极或双极电压输入范围分别为±5V,±10V,0V~10V和0V~20V;
●数据可并行输出,采用8/12位可选微处理器总线接口; ●内部带有防静电保护装置(ESD)
AD1674的引脚按功能可分为逻辑控制端口、并行数据输出端口、模拟信号输入端口和电源端口四种类型。
(1)逻辑控制端口
12/8:
数据输出位选择输入端。
当该端输入为低时,数据输出为双8位字节;当该端输入为高时,数据输出为单12位字节。
CS:
片选信号输入端;
R/C:
读/转换状态输入端。
在完全控制模式下,输入为高时为读状态;输入为低时为转换状态;在独立工作模式下,在输入信号的下降沿时开始转换。
CE:
操作使能端;输入为高时,芯片开始进行读/转换操作。
A0:
位寻址/短周期转换选择输入端。
在转换开始时,若A0为低,则进行12位数据转换;若A0为高,则进行周期更短的8位数据转换;当R/C=1且12/8=0时,若A0为低,则在高8位(DB4~DB11)作数据输出;若A0为高,则在DB0~DB3和DB8~DB11作数据输出,而DB4~DB7置零。
STS:
转换状态输出端。
输出为高时表明转换正在进行;输出为低时表明转换结束。
(2)并行数据输出端口
DB11~DB8:
在12位输出格式下,输出数据的高4位;在8位输出格式下,A0为低时也可输出数据的高4位。
(3)模拟信号输入端口
10VIN:
10V范围输入端,包括0V~10V单极输入或±5V双极输入; 20VIN:
20V范围输入端,包括0V~20V单极输入或±10V双极输入;
应当注意的是:
如果已选择了其中一种作为输入范围,则另一种不得再连接合作。
(4)供电电源端口
REF IN:
基准电压输入端,在10V基准电源上接50Ω电阻后连于此端;
REF OUT:
+10V基准电压输出端; BIP OFF:
双极电压偏移量调整端,该端在双极输入时可通过50Ω电阻与REF OUT端相连;在单极输入时接模拟地。
图3给出了AD1674在单极和双极输入时的两种连接电路。
VCC:
+12V/+15V模拟供电输入; VEE:
-12V/-15V模拟供电输入; VLOGIC:
+5V逻辑供电输入;
故我们按照图2-5接线。
§2.6显示电路设计
7段LED显示电压和电流有效值应用接口电路如图2-6所示,包括单片机、LED显示电路、7448地址锁存器、74138译码器。
单片机P1.0~P1.3口作为7448的控制口,P1.4~P1.7作为74138的控制口。
图2-6应用接口电路
上图还包含了开关量,CLK/KEY;U/I两个开关键控制电压电流有效值循环输出。
§2.7单片机电路设计
系统采用AT89C51单片机作为主控制器。
AT89C51具有功能强、体积小、成本低、功耗小等特点,它可单独地完成现代工业控制所要求的智能化控制功能,能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。
与数码管相比该模块还有位数多、显示内容丰富、程序简单等优势。
P2.0-P2.7用于接收AD转换后的信号。
§2.8串口电路设计
串行通信利用虚拟终端,下载串口调试助手SComAssistantV2.1,VirtualSerialPortDriver6.9。
对基于单片机C51开发的软硬件进行联合调试,显示结果。
设置虚拟终端COM1,COM2。
第三章软件设计
§4.1A/D转换、相位差程序
系统上电复位后,从主程序开始执行。
主程序需将A/D转换得到的数据进行运算处理,转换位十进制数,并送到LED显示。
取电流电压值,逐位取余通过P1口发送至LED。
并进行循环显示。
程序流程图如图3-1所示。
根据AD1674各引脚的功能对各引脚进行赋值。
相位差根据两个计数器的比值获得,根据室内米特触发器转换而来的矩形波信号。
测得完整周期计数值和周期差计数值进行计算。
得到相位差和功率因数,并发送至远程主机。
如图3-2所示。
图3-1AD转换流程图
INT0中断发生
打开T0,T1计数器
进行计数
INT0发生中断关闭T0
INT1发生中断关闭T1
计算相位差
图3-2相位角流程图
第四章系统调试及误差分析
§4.1系统调试
在系统整体调试时,若调试不成功,由于整体连接已经完成,很难检查到底哪部分有错误。
为此,我们采用了边连接边调试的方法,即将系统分成若干模块,每个模块完成后就进行测试验证,最后再进行系统联调。
调试过程中,用到的虚拟仪器设备如下:
直流稳压电源、函数信号发生器、示波器、万用表等。
§4.2误差分析
1.分压电路、电流转换带那路存在非线性误差。
2.AD736转换误差。
3.AD1674存在误差,延时程序影响。
§4.3调试过程中的问题
1.电压,电流的缩小电路原本为互感电路,但调试不能解决拥有滞后相位的正弦交流电的正常缩小。
所以选择了精度较差的分压、转换电路。
2.有效值转换电路不能有效转换相位改变的正弦交流电。
3.采用12位AD1674数模转换器,提高精度,减小误差。
4.串口通信只能显示16进制数字,导致不能合理显示小数点。
结束语
经过20天得努力,我圆满完成了此次课程设计任务,作品达到了题目要求的各项性能指标。
本次实习是为毕业设计做好准备、打好基础,通过这次实习,我们熟悉了一个课题或项目的完成过程,从查找资料,确定方案,设计电路,软件编写,系统调试到最后的报告撰写,每一个过程我都学到了很多,收获了很多,理论设计和动手实践能力得到了很大提升。
课设成果不是单一知识的结晶,实习遇到了好多难题,学过的一些知识点有所遗忘,我们完成课题的同时也巩固了理论知识。
通过实习理论联系实际,以前一些不甚理解的理论也变得容易理解了。
与此同时我们也学到了一些宝贵的经验教训,例如:
这次实习的课题是工频电压表的设计,由于事前对220V电压重视不够。
这次做实习的经验也会使我终身受益,我感受到做课设是要真真正正用心去做的一件事情,是真正的自己研习和研究的过程。
希望这次的经验能让我在往后学习中驱策我继续前进。
附录
附录一完整电路图
附录二程序清单
/***********************************
*******************************/
#include
#include
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
#defineADCSTU0x6cff
#defineADCH0x6EFF
#defineADCL0x6FFF
#defineLEDportalP1
sbitSTS=P3^4;
sbitclk_key=P2^2;
sbitu_i=P2^3;
uintvolts,amps;
uintphase;
floatpower_fact;
uinttime_l=0;
uinttime_s=0;
bittiming=0;
uchar*p;
uchara;
ucharstring1[36];
voidint0_isr(void)interrupt0
{
if(~timing)
{
TMOD=0x11;
TH1=TL1=0x0;
TH0=TL0=0x0;
TR1=TR0=1;
EA=1;
EX1=1;
timing=1;
}
else
{
TR0=0;
time_l=(TH0<<8)|TL0;
EA=0;
timing=0;
}
}
voidint1_isr(void)interrupt2
{
TR1=0;
time_s=(TH1<<8)|TL1;
}
voiddelay(uintt)
{
ucharj=100;
while(t--)
while(j--);
}
uintphase_differ(void)
{
uintdiffer;
IT0=IT1=1;
EA=EX0=1;
while(~timing);
while(timing);
delay(100);
differ=time_s*360/time_l;
return(differ);
}
voidbyte_trans(void)
{
ucharnum=0;
TMOD=0X20;
SM0=0;
SM1=1;
PCON=0;
TH1=TL1=0XFD;
TR1=1;
SBUF=(uchar)(volts/10000);
while(!
TI);
TI=0;
SBUF=(uchar)(volts/1000%10);
while(!
TI);
TI=0;
SBUF=(uchar)(volts/100%10);
while(!
TI);
TI=0;
SBUF='.';
while(!
TI);
TI=0;
SBUF=(uchar)(volts/10%10);
while(!
TI);
TI=0;
SBUF=(uchar)(volts%10);
while(!
TI);
TI=0;
SBUF=(uchar)(amps/10000%10);
while(!
TI);
TI=0;
SBUF=(uchar)(amps/1000%10);
while(!
TI);
TI=0;
SBUF=(uchar)(amps/100%10);
while(!
TI);
TI=0;
SBUF='.';
while(!
TI);
TI=0;
SBUF=(uchar)(amps/10%10);
while(!
TI);
TI=0;
SBUF=(uchar)(amps%10);
while(!
TI);
TI=0;
SBUF=0;
while(!
TI);
TI=0;
SBUF='.';
while(!
TI);
TI=0;
a=(uchar)(power_fact*100);
SBUF=a%10;
while(!
TI);
TI=0;
a=(uchar)(power_fact*10);
SBUF=a%10;
while(!
TI);
TI=0;
}
voiddisplay(uintn)
{
uchari;
for(i=0;i<5;i++)
{
delay
(1);
LEDportal=(n%10)|(i<<4);
n=n/10;
}
}
voiddis_ctr(void)
{
ucharn=400;
while
(1)
{
if(clk_key==0)
{
if(n>0,n--)
if(n<200)
display(amps);
else
display(volts);
}
else
{
if(u_i==0)
display(volts);
else
display(amps);
}
}
}
uintread_ui(bitui)
{
uintvalue;
if(ui==1)
{
XBYTE[ADCSTU|0x1000]=0;
value=XBYTE[ADCH|0x1000];
value=(value<<4)|XBYTE[ADCL|0x1000];//Ñ¡ÔñÊä³öµçÁ÷ÓÐЧֵ
}
else
{
XBYTE[ADCSTU]=0;
value=XBYTE[ADCH];
value=(value<<4)|XBYTE[ADCL];//Ñ¡ÔñÊä³öµçѹÓÐЧֵ
}
return(value);
}
voidmain(void)
{
delay(300);
volts=read_ui(0);
volts=read_ui(0)*5.39;
amps=read_ui
(1);
amps=read_ui
(1);
amps=read_ui
(1)/1.02;
phase=phase_differ();
power_fact=cos(phase);
byte_trans();
dis_ctr();
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 单相 交流 电压 电流计 设计