简易RC网络测试仪Word文件下载.docx
- 文档编号:21878524
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:14
- 大小:247.69KB
简易RC网络测试仪Word文件下载.docx
《简易RC网络测试仪Word文件下载.docx》由会员分享,可在线阅读,更多相关《简易RC网络测试仪Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
总体方案论证选择:
方案一:
将电阻电容的参数值转换成与之成正比关系变化的电压输出,经A/D转换,然后送单片机进行数据处理,最后显示。
硬件电路主要由以下几个模块组成:
Cx→Vo转换电路、Rx→Vo转换电路、信号发生电路、滤波电路、Av→Dv转换电路、A/D转换及单片机接口电路、量程自动转换电路、LCD接口电路。
由于该系统电路过于复杂,且Cx→Vo转换电路、Rx→Vo转换电路,转换输出Vo难以保证精度,最终放弃该方案。
方案二:
由555定时器模块产生频率源,由公式
,通过频率采集获得
,测量电阻式R2和C值采用标称值器件,即可算出R值,同理测量C时R1和R2采用标称值器件,即可算出C值,再送单片机处理、显示。
幅频特性绘制同方案一。
由于设计要求测量过程中不得插拔测量探头,而该方案中R和C测量共用一个555频率源,造成切换的困难,最终未选择该方案。
方案三:
同方案二,电容测两采用555定时器模块产生频率源,R1和R2采用标称值器件,由公式
,即可算出C值送单片机处理。
电阻测量采用由标称器件够成RC的电路,通过测定电容充放电时间求得待测电阻值,幅频特性曲线绘制通过DDS产生扫频信号测量输出幅值,再通过峰值检测电路获得幅值,绘制出幅频特性曲线。
。
该方案结合前面两个方案的优点,硬件结构相对简单,软件方面也便于实现,最终选定该方案。
三、单元模块设计
3、1各单元模块功能介绍及电路设计
3、1、1电阻测量模块
,因为R1和C采用标称值器件,通过频率采集获得f,即可算出R值,该方案原本简单可行,但同时考虑到设计要求测量过程中不得插拔测量探头,而该方案中R和C测量共用一个555频率源,造成切换的困难,最终排除该方案。
如图1.2.2利用MSP430控制管脚P2.0和P2.1,当管脚输出为1时,其电平等于电源电压VCC,管脚、电阻和电容组成充电电路,对电容进行充电;
输出为0时,其电平等于GND,形成放电电路。
将电容上的电压信号接到比较器的正输入端,负输入端接片的参考电Vref=0.25×
VCC。
当电容电压V(t)大于参考电压Vref时,比较器pare_A输出1,反之输出0。
通过比较器的输出状态即可得电容电压与参考电压间的关系。
通过电阻放电时,电容电压为:
(1)
初始电压
=
,电容放电时间T后,比较器两输入端电压大小相等,V(T)=Vref,则等式
(1)可写为:
(2)
分别通过参考电阻Rref和待测电阻Rx放电时,可以得到:
(3)
(4)
由等式(3)和等式(4)可得:
(5)
从等式(5)可知要求得待测电阻Rx的值,只要分别测出通过两电阻的放电时间即可。
使用定时器测出分别通过参考电阻Rref和待测电阻Rx放电的时间后,由等式(5)可知待测电阻值为:
(6)
再通过MSP430控制管脚P2.0和P2.1精确地检测通过两电阻的放电时间的流程如图(3)所示。
3、1、2电容测量模块
恒压充电法测量。
用一个电阻和电容串联,用恒压源对电容进行充电,然后根据电容充电的曲线超过某个固定电压所需要的时间,利用曲线拟合的方法测量。
测量所使用的原始公式是:
可见电容的值和电压以及时间呈微分关系。
用这种方法测量,时间和容值是非线性的。
因此测量难度高,精度低,并且难以实现数字化。
恒流充电法测量。
用恒流源对电容充电,此时电容的容量和充电时间是成正比的,所以可以利用AD或者比较功能同某个固定电压比较,来实现电容测量。
测量所用的原始公式是:
所以
恒流源的电流大小是已知的,时间和电压也可以测量出来。
由上面的公式即可求得电容的大小。
使用这种方法来测量,精度较上一种方法有所提高,且便于操作和实现。
但要使用恒流源,恒流源的的设计要求很高,且达不到测量所需要的精度要求,因此这种方法也不适用。
脉冲计数法测量电容。
由555定时器两个电阻以及一个电容,构成如图(4)的多谐振荡电路,其电路工作原理是:
接通电源后,电容Cx被充电,当Vcx上升到2/3倍Vcc时,使Vcx为低电平,同时放电三极管T导通,此时电容Cx通过R2和T放电,Vcx下降。
当Vcx下降到1/3倍Vcc时,Vcx翻转为高电平。
电容器充放电所需时间为:
;
当放电结束时,T截止,Vcc将通过R1、R2向电容器Cx充电,Vcx由1/3倍Vcc上升到2/3倍Vcc所需的时间为:
当上升到2/3倍Vcc时,电路又翻转为低电平。
如此周而复始,于是,在电路的输出端就得到一个周期性的矩形波。
其振荡频率为:
(7)
由于电阻和电容的值确定。
由式(7):
得
(8)
图(4)555定时器电路
3、1、3幅频特性曲线绘制
该模块通过DDS产生扫频信号输入待测网络,获得对应幅值的交流信号,再经由峰值检测电路转换为单片机可以识别的直流电压信号送给单片机处理。
该电路是在经典峰值检测电路基础上改进而来,由于经典电路(即仅一个二极管和电容器组成的峰值检测器)可以工作(即电路中D2和C1组成部分)但性能并不是很理想,对1nF的电容器,100ms后达到稳定的峰值,误差达10%。
而且,由于没有输入输出的缓冲,在实际应用中,电容器中的电荷会被其他部分电路负载消耗,造成峰值检测器无法保持信号峰值电压。
加入输入、输出缓冲即有TL082放大器构成电路即可解决该问题。
得到如图(5)峰值检测电路。
四、系统调试
4、1RC参数测量电路调试
由于R、C测量电路中均用到了标称电阻、电容。
实际器件与标称值存在误差,而R、C值的计算均需要用到“标称器件”的值,由于误差将导致整个系统的参数错误,需经实际测试获得的各器件的真实值,再对算法进行微调。
4、2峰值检测电路调试
首先对个单元电路进行仿真,通过对峰值检测部分的仿真,发现其精度基本满足本题要求。
在焊接电路板时注意提高焊接质量,以达到充分排除干扰的目的。
最终实际电路所得参数和仿真结果基本一致:
五、系统功能及参数指标
5、1系统功能概述
该系统具有功能为:
系统具备三根探针,其中一根为地端,接好引脚,便能自动且较为精确的测量RC串联待测网络R、C及其幅频特性曲线。
5、2系统性能参数测试
将系统接至待测网络,改变电阻(可使用变阻器)以及电容,实测:
UT39A万用表测量值
制作系统测量值
相对误差分析
电容
电阻
电容(%)
电阻(%)
94nF
(定)
1489Ω
95nF
1548Ω
1.06
3.96
1990Ω
2048Ω
2.91
2150Ω
2214Ω
2.97
9790Ω
9791Ω
0.00
0.01
402nF
387nF
1530Ω
-3.73
2.75
391nF
2031Ω
-2.73
2.06
394nF
2161Ω
-1.99
0.51
9701Ω
0.01
811nF
835nF
1513Ω
2.96
1.61
839nF
2008Ω
3.45
0.90
829nF
2165Ω
2.22
0.69
9752Ω
-0.39
?
nF
4418nF
?
313nF
311nF
2028Ω
-0.64
1.90
2027Ω
1.06
1.86
26nF
27nF
2076Ω
3.70
4.32
99.7K
98484Ω
-1.22
57.6K
57497Ω
-0.18
510Ω
558Ω
9.41
由以上实测结果可知:
对于RC网络中电阻电容值测量,在100nF到4.5uF围的电容值测量误差可控制在4%以下,对更小的电容值测量也可控制在5%以(主要由于频率源对电容值的限制所引起)。
对于1K到10K之的电阻,误差可控制在4%以,对于500Ω到1KΩ以电阻亦可控制在10%以,对于10KΩ以上电阻误差可控制在1.3%以(由于系统结构,电阻值越大,误差越小)。
六、设计总结
经过这几天的设计,感触颇深的是解决问题的方法、技巧。
在这几天中,我们遇到许多问题比如在对于通道自动切换的处理和峰值检测电路的稳定性问题,通过对这些问题的处理,我们知道对待问题要多方法处理,多角度处理。
通过这几天的设计竞赛,我们不但增强了实践能力和协作精神,而且懂得了联系实际的重要性,通过此次课程设计使我对我们所学的知识有了更深的认识和体会,对自我动手的能力也提高了很多,这对我们以后的学习和工作算是很好的经验。
当然,我们的设计还存在着一些缺陷,比如待测网络由A型变为B型时的判断处理上,我们明显感觉有些力不从心,有待于在将来的设计中进一步提高,在此恳请各位老师批评指正。
参考文献
[1]MSP430单片机常用模块与综合系统实例精讲/龙电子工业2007.7
[2]Multisim10虚拟仿真和业余制板实用技术/黄培根电子工业2008.1
附录
一、系统总图
二、模拟开关CD4052模块
其中Y0接至NE555频率模块预留开关处,Y1接至峰值检测电路前端;
Y接至RC网络2脚(即输出脚)。
X1接至DDS频率源输出脚,X接至RC网络1脚(即输入脚)。
三、主要元件清单
1:
MSP430-F149单片机1片
2:
CD4052模拟开关1片
3:
NE5551片
4:
TL0821片
5:
12864液晶显示屏1片
6:
电阻、变阻器、二极管、电容若干
三、部分程序
电阻测量模块
floatMeasureR()
{
unsignedinttime_ref0,time_ref1,time_rsen0,time_rsen1,iq0,iq1;
floatfr;
//unsignedchart0,t1;
//充电
RDIR|=REF;
//通过REF充电
ROUT|=REF;
DelayMs(15);
//延时15ms
//测REF放电时间
ClearBuHuo();
time_ref0=TAR;
ROUT&
=~REF;
//通过REF放电
while(GetTime(&
time_ref1)==0);
//读REF放电的时间
iq1=time_ref1-time_ref0;
//充电
//测RSEN放电时间
time_rsen0=TAR;
RDIR&
//停止通过REF充电
=~RSEN;
//通过RSEN放电
RDIR|=RSEN;
time_rsen1)==0);
//读REF放电的时间
iq0=time_rsen1-time_rsen0;
//停止放电
//计算电阻值
fr=(float)REF_ZHI*iq0;
fr=fr/iq1;
returnfr;
}
DDS扫频模块
#pragmavector=WDT_VECTOR
__interruptvoidTimer_WDT(void)//看门狗定时器中断函数
count++;
if(count>
=2)
{
count=0;
f=pl/2;
pl=0;
capacitor();
}
#pragmavector=PORT2_VECTOR
__interruptvoidPort2INT(void){
if(P2IFG&
BIT7)
pl++;
//计数
P2IFG=0;
DA输出模块
#include<
msp430x14x.h>
#defineCPU_F((double)800000)//mxlk800K
#definedelay_us(x)__delay_cycles((long)(CPU_F*(double)x/1000000.0))
#defineDAC_CS_WR_PORTP3OUT
#defineDAC_CS_WR_DIRP3DIR
#defineDAC_CS_WR_BITBIT6
#defineDAC_CS_WR_HIGHDAC_CS_WR_PORT|=DAC_CS_WR_BIT//片选,写信号置高
#defineDAC_CS_WR_LOWDAC_CS_WR_PORT&
=~DAC_CS_WR_BIT//片选,写信号置低
voidInit_dac0832(void)
P1SEL=0X00;
P1DIR=0XFF;
P1OUT=0X00;
DAC_CS_WR_DIR|=BIT6;
voiddac0832_conversion(unsignedchardac_data)
DAC_CS_WR_LOW;
P1OUT=dac_data;
delay_us(10);
DAC_CS_WR_HIGH;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 RC 网络 测试仪