交直流数字电压表频率计的调试.docx
- 文档编号:24654641
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:32
- 大小:202.47KB
交直流数字电压表频率计的调试.docx
《交直流数字电压表频率计的调试.docx》由会员分享,可在线阅读,更多相关《交直流数字电压表频率计的调试.docx(32页珍藏版)》请在冰豆网上搜索。
交直流数字电压表频率计的调试
智能数字电压表
设计报告
电气XX班
XX
XXX
目录
一、摘要
二、设计要求
三、流程图
四、仪器清单与硬件介绍
五、软件及算法
六、实际测量与调试报告
七、结果及讨论
第一部分摘要
不同于以往的磁电式指针电压表,数字电压表利用模拟-数字转换电路和单片机实现对输入信号的测量、转换、储存、显示,终端即可以接普通的数码管直接显示电压的数值,也可以接液晶屏实现频率、波形。
由于单片机具有强大的编程和定制能力,因此具有开发灵活、对用户友好等特点,本文即描述了数字电压表的设计全过程。
第二部分设计要求
1.技术要求:
1.输入信号:
0~5V、频率(0~1KHz)。
2.存贮深度自定。
3.用按键切换通道。
4.在液晶上显示被测直流电压值及单位。
5.在液晶上显示被测交流电压有效值及单位。
6.在液晶上显示被测交流电压的频率。
2.工作要求:
1.组建基于单片机的智能数字电压表总体结构框图;
2.根据设计要求,通过理论分析和计算选择电路参数;
3.根据操作功能要求,确定键盘控制功能;
4.按设计要求确定显示位数、指示类型和单位;
5.采用汇编或C语言编写应用程序并调试通过;
6.对系统进行测试和结果分析。
第三部分流程图
图1操作流程
第四部分仪器清单及硬件介绍
模块
器件
类型
标号
功能
备注
数据采集
OP07CP
运放
U3
反向比例器
交流信号预处理
OP07CP
运放
U4
电压跟随器
ADC0809
8通道CMOS模数转换器
U10
AD转换
详见下文
按键控制
key*8
微动开关
KEY1-8
获得按键状态
74HC245
总线收发器
U13
通过开关高低电平控制总线
详见下文
排阻
排阻10K*8
10K*8
与通过P2微动开关异或
数值计算
89C52
单片机
U9
核心部件
详见下文
74HC573
三态数据锁存器
U8
总线控制
62256
32K静态RAM
U7
存贮数据
液晶显示
12684
LCD显示器
LCD
显示器
外围电路
74LS138
译码器
U12
为RAM与LCD提供译码数据
74HC02
集成4门或非
U6
74LS74
双D正沿触发器
U5、U11
key
微动开关
RET
重置按钮
11.0592
晶振器
CRYSTAL1
1.仪器清单。
表1器件清单
2.硬件介绍
如上述器件清单,本电路主要分为四个功能模块:
数据采集、按键控制、数值计算与液晶显示。
每部分具体设计情况详述如下:
(1)数据采集
数据采集又分为两个部分,首先是交流预处理电路,其次为AD转换器。
由于ADC0809不支持负值电压输入,故必须在输入模拟信号之前对输入信号外加直流偏置。
交流预处理电路如下:
图2交流预处理电路
对于交流信号的采集,使用如上的电路来将其变成直流。
原理很简单,第一个运放为电压跟随器,将同向端的信号(可正可负)输入到第二个运放的反向端。
第二个运放构成反向比例器,同向端电压被抬高到
,则有
,即
,可知当
输入-2.5~2.5V的交流电压时,
端即获得0~5.0V的直流信号,与ADC0809的0通道相连,实现在交流信号上叠加2.5V的直流偏置。
ADC0809:
ADC0809是采用逐次逼近原理进行8位A/D转换的芯片。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8个单断模拟输入信号中的一个进行A/D转换。
由8路模拟开关、8位A/D转换器、三态输出锁存器以及地址锁存译码器等组成。
引脚功能说明如下:
图3ADC0809
IN0~IN7:
8个输入通道的模拟输入端。
D0(2-8)~D7(2-1):
8位数字量输出端
START:
启动信号,加上脉冲后,A/D转换开始进行。
ALE:
地址锁存信号。
由低至高电平时,把三位地址信号送入通道号地址锁存器,并经译码器得到地址输出,以选择相应的模拟输入通道。
EOC:
转换结束信号,是芯片的输出信号。
转换开始后,EOC信号变低;转换结束时,EOC返回高电平。
该信号可以作为A/D转换器的状态信号来查询,也可以直接用作中断请求信号。
OE:
输出允许控制端信号。
OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。
CLK:
时钟信号。
ADC0809的内部没有时钟电路,所需时钟信号由外界提供,通常使用频率为500KHz的时钟信号,最高允许值为640kHz。
VREF+和VREF-:
A/D转换器的参考电压。
电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。
当片选信号及
同时有效,利用
的下降沿使ALE及START信号变高电平有效,模拟开关的地址(ADDC、ADDB和ADDA)存入地址锁存。
在
的上升沿时刻,START信号产生下降沿启动A/D转换。
EOC为输出的转换结束信号,正在转换时为0,转换结束时为1。
OE为输出允许控制端,在转换完成后用来打开输出三态门,当片选信号及
同时有效,OE输出允许,以便从ADC0809输出这次转换的结果。
图4ADC0809的时序图
(2)按键控制
包括了三态双向总线收发器74LS245,排阻10K*8。
将按键信息回馈给单片机,74LS245的使能端接译码器Y2,当执行外部数据传送时,可将案件信息调用,其对应地址为4000H-5FFFH,硬件电路图如下。
图5按键控制电路
8个微动开关连接上拉电,通过总线收发器与总线相连,当按键抬起时为高电平,按下时对应的位接地,即变为低电平。
由于获得的按键状态总为类似11111011这样的形式(通常同时只有一个按键被按下),故将其与0xff异或后即得00000100=0x04。
(3)数值计算
主要由89C52单片机、32K*8RAM62256与总线控制器74HC573组成。
其中89C52采用扩展后的总线接法,与RAM通过锁存器相连,数据总线使用P0端口,地址总线复用P0和P1端口。
连接图如下页所示。
图6单片机与RAM通过锁存器连接
(4)液晶显示
使用LCD显示MFC-G12864实现可视化界面及结果显示。
其屏幕分左右两屏,按横行可分为8页,按纵列分为64列,每个点置1时亮,置0则灭,用字模软件取出对应代码(若为16*16点阵则需32字节,若为16*8点阵则需16字节),设置选屏,页地址,列偏移,然后对应输入字模代码即可。
图7液晶显示器连接电路
第五部分软件及算法
直流模式下的程序工作极其简单,仅仅从直流通道采集数据,转换并显示。
交流模式下需要计算频率和幅值,计算频率也可以通过硬件和软件两种方法来实现。
硬件方法是利用了单片机的计数器工作方式1,在该方式下计数器可由外部中断0触发,记录中断0的高电平宽度,即可由计数器读取输入信号的半周期。
但在本电路中并没有采用硬件中断的方法,因为外部中断管脚已经作为串行I/O端口与液晶屏通信使用了,实际采用的是软件方法,计算原理与硬件方法极其相似,即过零法。
由于实际测量中常有误差干扰,导致测量信号波动较大,而且本程序受ADC0809只能识别正值信号的要求限制,必须对过零法采取改进措施,具体方法如下:
我们将传统过零法仅判断数据符号变化改为判断相邻两次采样数值是否又一个变化范围转到了另一范围。
判断语句如下:
if(((temp1<146)&&(temp1>106))&&(!
((temp2<146)&&(temp2>106))))
{guoling[k]=i;
k++;}
即将得到的相邻两个采样信号分别存于temp1与temp2中,若满足以上关系,则确定其为一个“过零点”,并将此时的采样点号i存入名为guoling的数组中,以待之后计算频率。
得到过零点后,选取间隔两个过零点为第一、第三过零点,易知这两点之间的部分就是交流信号的一个周期。
由于点号i如上已知,则可通过将两个点号想减,即为每周期所包含的采样点数。
再与采样周期相乘,则可得到所测信号一周期的时间长度,即可得到频率。
这部分程序如下:
if(k%2==0)
zhouqidian=2*(guoling[k]-guoling[0])/k;
else
zhouqidian=2*(guoling[k-1]-guoling[0])/(k-1);
另外,交流有效值也可通过一个函数得到。
设temp为一个暂存数据,sum为所有数据的和。
由于交流信号在均匀采样足够大情况下,其总和应为其平均值与样点数之乘积,故当样点数为10000时,可通过sum/10000求得所测量信号的直流偏置电压,之后得到所求信号有效值则易于处理了。
这部分的程序代码为:
for(i=guoling[0];i {temp=*(store+i)/255.0*5.0; sum1+=(temp-d_dc_u)*(temp-d_dc_u); } sum1=sum1/(guoling[1]-guoling[0]); ac_youxiao=sqrt(sum1);//有效值结果 第六部分实际测量与调试报告 在实际测量中,直流信号实时变更,很好的满足了任务设计要求。 不过由于各方面干扰因素的影响,测量值总是偏大于输入信号0.07-0.09V,并不造成太大影响。 故直流部分最终得到的量程指标为: 0-4.8V。 在交流部分,我们发现当频率高于500Hz时,频率误差明显偏大,且远小于实际信号,判断应为所采集的点数已经不足以计算出信号的频率。 而当频率低于3Hz时周期过长,采集的数据不足以充满一个完整的周期,且频率进一步下降时计算所需的时间也会相应地延长,我们就把采集的范围限定在这一区间内,即3-5000Hz。 另外,我们发觉当所测量的电压值过小,至0.3V时,对测量频率也会产生不利影响, 故交流部分最终得到的量程指标为: 0.5V-5V(峰峰值),3-500Hz。 以下表格是我们的实际测量数据记录。 输人(V) 实测值(V) 0.50 0.62 1.00 1.09 1.50 1.62 2.00 2.09 2.50 2.64 3.00 3.11 3.50 3.62 4.00 4.11 4.50 4.68 4.80 4.96 5.00 5.00 表2直流实测数据记录 信号源(V) 理论值(V) 实测值(V) 2.4 1.69 1.73 2.1 1.49 1.52 1.8 1.27 1.3 1.5 1.06 1.06 1.2 0.85 0.87 0.9 0.64 0.64 0.6 0.42 0.43 0.3 0.21 0.21 表3设定输入频率为50Hz不变时的有效值测量记录 信号源(Hz) 实测值(Hz) 100 100 150 148.3 200 200 250 255 300 306.6 350 353.8 400 418.1 450 460 500 418 550 383.3 表4设定电压幅值1.5V不变时频率测量记录 第七部分结果及讨论 最终得到的电压表技术量程已经在上部分得出了结论。 相比于设计要求,交流频率的测量范围依然差强人意,由于在数据处理方面过零法本身的缺陷,没有达到预想的1kHz指标。 在直流测量中,原先的程序并没有完成实时测量实时显示功能,后来经过思考和讨论,将每一步的按键执行改为在main函数中通过while (1)使直流测量不再依赖于子程序,而是直接连续循环采样显示,并通过按键使该无限循环break以回到欢迎界面。 本电压表由于使用了LCD12864,这是一种我们从未接触过的显示设备,且相比于数码管更加复杂,需要添加繁复的字模数据及初始化程序,这里要感谢老师提供的LCD12684显示程序模板,为我们省去了大量查阅与研读相关资料的时间。 另外,我们在电路板的焊接与调试过程中还遇到了诸如电阻值的选取、采样时长的确定等问题,这里就不一一列举了。 这次电子系统设计是一个锻炼能力的好机会,在发现问题解决问题的过程中,我们不仅加深了专业知识的学习,学会了如何在实际中应用专业的知识,而且提高了我们的团队意识及解决问题的能力。 附录一所有程序 #include #include #include #include #include #definead_inXBYTE[0X3FFF]//ad转换地址 #definead_storeXBYTE[0X8000]//数据存放首地址 #definead_keyXBYTE[0X5FFF]//按键信息地址 #defineb1(ad_key&0x01) #defineb2(ad_key&0x02) #defineb3(ad_key&0x04) #defineb4(ad_key&0x08) #defineb5(ad_key&0x10) #defineLCDDataP1 typedefunsignedcharuchar; typedefunsignedshortuint16; uint16idatadianshu; ucharidatatongdao;//通道数 floatidatadc_pianzhi,ac_youxiao,pinlv;//直流偏置,交流有效值,频率 ucharxdata*ad_adr;//ad采样地址 ucharxdata*store;//采样信息存放地址 ucharidataflag;//运行阶段标志 floatidatasum,sum1;//电压和,电压平方和 uint16idataguoling[5];//每周期的中间点 bitac; sbitRSPIN=P3^2; sbitRWPIN=P3^3; sbitEPIN=P3^4; sbitCS1PIN=P3^5;//交直流判断 ucharidatadisdata[4];//显示数据 ucharidatapingjun; uint16idatazhouqidian; floatidatatemp; uchartemp1,temp2; codeucharnumber[]={ 0x00,0xE0,0xF0,0x08,0x08,0x18,0xF0,0xC0,0x00,0x0F,0x1F,0x20,0x20,0x30,0x1F,0x07,/*0*/ 0x00,0x00,0x10,0xF0,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x3F,0x20,0x20,0x00,/*1*/ 0x00,0x70,0x78,0x08,0x08,0x98,0xF0,0x00,0x00,0x30,0x38,0x34,0x32,0x31,0x38,0x00,/*2*/ 0x00,0x00,0x30,0x30,0x38,0x08,0x88,0x88,0x00,0x00,0x18,0x38,0x38,0x20,0x21,0x21,/*3*/ 0x00,0x00,0x80,0x40,0x30,0xF8,0x00,0x00,0x00,0x06,0x05,0x24,0x24,0x3F,0x24,0x24,/*4*/ 0x00,0xC0,0xF8,0x88,0xC8,0x88,0x08,0x00,0x00,0x19,0x39,0x20,0x20,0x31,0x1F,0x04,/*5*/ 0x00,0xE0,0xF0,0x88,0x88,0x98,0x90,0x00,0x00,0x0F,0x1F,0x20,0x20,0x20,0x1F,0x0E,/*6*/ 0x00,0x38,0x18,0x08,0x88,0xE8,0x38,0x08,0x00,0x00,0x00,0x3C,0x3F,0x00,0x00,0x00,/*7*/ 0x00,0x70,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x1E,0x33,0x21,0x21,0x23,0x1E,0x08,/*8*/ 0x00,0xF0,0xB8,0x08,0x08,0x18,0xF0,0xC0,0x00,0x11,0x3B,0x22,0x22,0x19,0x0F,0x03,/*9*/ 0x00,0xF8,0xF8,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x3F,0x21,0x01,0x21,0x3F,0x20,/*H10*/ 0x00,0x80,0xC0,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x21,0x38,0x2C,0x27,0x21,0x38,0x00,/*z11*/ 0x00,0x18,0xF8,0x80,0x00,0xC0,0x38,0x08,0x00,0x00,0x03,0x3F,0x3C,0x03,0x00,0x00,/*V12*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x78,0x78,0x30,0x00/*.13*/ }; codeucharword[]={ 0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xFC,0x08,0x00,0x00,0x00, 0x00,0x07,0x02,0x02,0x02,0x02,0x3F,0x42,0x42,0x42,0x42,0x47,0x40,0x70,0x00,0x00,/*电0*/ 0x00,0x00,0xFE,0x02,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0xC3,0x82,0x00,0x00, 0x40,0x30,0x0F,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x42,0x44,0x4C,0x60,0x40,0x00,/*压1*/ 0x80,0x84,0x94,0x94,0x94,0x94,0x94,0xFF,0x94,0x94,0x94,0x94,0x96,0xC4,0x80,0x00, 0x10,0x10,0x08,0x08,0x04,0xFE,0x41,0x22,0x04,0x08,0x14,0x12,0x20,0x60,0x20,0x00,/*表2*/ 0x00,0x04,0x04,0xE4,0xA4,0xA4,0xA4,0xBF,0xA4,0xA4,0xA4,0xF4,0x26,0x04,0x00,0x00, 0x40,0x40,0x40,0x7F,0x4A,0x4A,0x4A,0x4A,0x4A,0x4A,0x4A,0x7F,0x40,0x60,0x40,0x00,/*直3*/ 0x10,0x22,0x64,0x0C,0x80,0x44,0x44,0x64,0x55,0x4E,0x44,0x54,0x66,0xC4,0x00,0x00, 0x04,0x04,0xFE,0x01,0x00,0x80,0x40,0x3F,0x00,0xFF,0x00,0x3F,0x40,0x40,0x70,0x00,/*流4*/ 0x08,0x08,0x88,0x48,0xB8,0x08,0x09,0x0E,0x08,0x08,0x98,0x28,0x48,0xCC,0x08,0x00, 0x80,0x81,0x40,0x40,0x20,0x11,0x0A,0x04,0x0A,0x11,0x20,0x20,0x40,0xC0,0x40,0x00,/*交5*/ 0x40,0x7C,0x40,0xFF,0x48,0x6C,0x4A,0xF2,0x12,0x1A,0xD6,0x12,0x12,0xFB,0x12,0x00, 0x08,0x87,0x40,0x2F,0x10,0x0F,0x80,0x8F,0x40,0x20,0x1F,0x20,0x40,0xCF,0x00,0x00,/*频6*/ 0x00,0x14,0xA4,0x44,0x04,0x24,0xB5,0x6E,0x24,0x94,0x04,0x44,0xA6,0x14,0x00,0x00, 0x08,0x09,0x08,0x08,0x09,0x09,0x09,0xFF,0x09,0x09,0x0B,0x08,0x08,0x0D,0x08,0x00,/*率7*/ 0x04,0x04,0x04,0x84,0xE4,0x3C,0x27,0x24,0x24,0x24,0x24,0xF4,0x24,0x06,0x04,0x00, 0x04,0x02,0x01,0x00,0xFF,0x09,0x09,0x09,0x09,0x49,0x89,0x7F,0x00,0x00,0x00,0x00,/*有8*/ 0x88,0x48,0xB8,0x09,0x0A,0x98,0x2C,0x48,0x20,0xD0,0x1F,0x10,0x10,0xF8,0x10,0x00, 0x40,0x20,0x18,0x05,0x02,0x0D,0x30,0x80,0x80,0x41,0x36,0x08,0x37,0xC0,0x40,0x00,/*效9*/ 0x80,0x40,0x20,0xF8,0x07,0x04,0xE4,0xA4,0xA4,0xBF,0xA4,0xA4,0xF6,0x24,0x00,0x00, 0x00,0x00,0x00,0xFF,0x40,0x40,0x7F,0x4A,0x4A,0x4A,0x4A,0x4A,0x7F,0x40,0x40,0x00,/*值10*/ 0x20,0x28,0x27,0xE4,0x3C,0xA4,0x26,0x24,0x20,0xFC,0x84,0x84,0x84,0xFE,0x04,0x00, 0x04,0x02,0x01,0xFC,0x54,0x54,0x57,0x54,0x54,0x55,0x54,0xFE,0x04,0x01,0x00,0x00,/*智11*/ 0x10,0xD8,0x54,0x53,0x50,0xDC,0x30,0x00,0x7F,0x90,0x88,0x84,0x86,0xE0,0x00,0x00, 0x00,0xFF,0x09,0x49,0x89,0x7F,0x00,0x00,0x7E,0x90,0x88,0x84,0x86,0x80,0xE0,0x00,/*能12*/ 0x10,0x92,0x54,0x30,0xFF,0x50,0x94,0x32,0xD8,0x17,0x10,0x10,0xF0,0x18,0x10,0x00, 0x02,0x8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 直流 数字 电压表 频率计 调试
![提示](https://static.bdocx.com/images/bang_tan.gif)