简易自动电阻测试仪程序

合集下载

简易电阻、电容和电感测量仪和程序代码(已验证)

简易电阻、电容和电感测量仪和程序代码(已验证)
方案三:RC和555定时器组成的多谐振荡电路。很多仪表都是把较难测量的物理量转变成精度较高且较容易测量的物理量。基于此思路,我们把电阻阻值转换成频率信号,通过测量输出振荡频率的大小即可求得电阻的大小,如果固定电阻值,该方案硬件电路实现简单,通过选择合适的电容值即可获得适当的频率围,同时输出波形为TTL电平的方波信号所以不需要再对信号做电平变换,即可直接供数字电路处理,这种处理一方面便于使仪表实现智能化,另一方面也避免了由指针读数引起的误差。
方案二:测周期法。该测量方法是通过测量被测信号的周期来计算频率。被测信号经脉冲形成电路变成方波通过单片机的计数器计数,再根据计算公式即可获得被测信号的频率。该方案对低频信号的测量比较准确,但对于高频信号,测量误差较大,故只适合低频信号的测量。
在比较两种方案之后,决定采用第一种方案来进行频率的测量。
1.5
1.3
方案一:采用电桥法测量电感。将待测电感和已知标准电阻电容组成电桥,通过单片机控制调节电阻参数使电桥平衡,电感的大小由电阻和电桥的本征频率求得,该方案测量精准,同时可以测量电容和电阻的大小,但其电路复杂,实现起来较为困难。
方案二:用555定时器和被测电感利用电感储能以及充放原理构成多谐振荡器,通过测频率值确定被测电感的值。该方案电路结构简单,输出波形为TTL电平的方波信号,简单分频后可获得较为理想的测试频率围,方便单片机精确测量。
2.192M
2.217M1.1416k16K16.1k
0.62
9M
8.9M
8.376M
5.88
5.3.2
表4-3电容测量数据
标称值
(F)
电桥测量(F)
仪器测量(F)
误 差
(%)
标称值
(F)
电桥测量(F)

原创的电阻电容电感测试仪程序

原创的电阻电容电感测试仪程序

#include<reg51.h>#define Lcdxs P0sbit RS=P2^7;sbit RW=P2^6;sbit LcdE=P2^5;sbit k1=P2^2;sbit k2=P2^1;sbit k3=P2^0;sbit E=P1^0;sbit b=P1^1;sbit A=P1^2;sbit Y=P3^5;sbit LED1=P1^3;sbit LED2=P1^4;sbit LED3=P1^5;void keyscan();void display();Time_init();unsigned char flag,t,n;unsigned int xx1,xx2;float y,Rnum,Cnum,Lnum;unsigned long Rnum1,x1,x2,x3,x4,x5,x6,x7; void Write_com(unsigned char com);void Write_date(unsigned char date);Lcd_init();void Delay10ms(unsigned char i);void Delay1ms(unsigned char i);unsigned char code table_R[]="R: Ω" ; unsigned char code table_C[]="C: F" ; unsigned char code table_L[]="L: H" ;void main(){E=0;//是数据选择器使能Lcd_init();Time_init();while(1){keyscan();display();}}void keyscan(){if(k1==0)Delay10ms(1);if(k1==0){LED1=0;LED2=1;LED3=1;A=b=0; //选择R端数据选通TR0=1;//开始一秒计时TR1=1;//开始计数频率flag=1;while(!k1) //等待按键返回;{};}if(k2==0)Delay10ms(1);if(k2==0){LED2=0;LED1=1;LED3=1;b=0;A=1;//使电容端数据选通TR0=1;TR1=1;flag=2;while(!k2){};}if(k3==0)Delay10ms(1);if(k3==0){LED3=0;LED1=1;LED2=1;b=1;A=0;//使电感端数据选通TR0=1;TR1=1;flag=3;while(!k3){};}}void Time_0()interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;t++;if(t==10)//到0.5s时停止计时{t=0;TR0=0;TR1=0;xx2=TH1;xx1=TL1;y=2*(xx2*256+xx1);// y值即频率值f,每秒震动的次数;}}void display(){//如果flag=1,测电阻R值;if(flag==1){Rnum=(1.0/(y*1.5624e-7)-200)/2.0; //取值C1=0.22uF, R1=200Ω;Rnum=Rnum*10;Rnum1=(long)Rnum;x7=Rnum1/1000000;Write_com(0x80+0x40);Write_date(0x30+x7);x6=Rnum1/100000;x6=x6%10;Write_date(0x30+x6);x5=Rnum1/10000;x5=x5%10;Write_date(0x30+x5);x4=Rnum1/1000;x4=x4%10;Write_date(0x30+x4);x3=Rnum1%1000;x3=x3/100;Write_date(0x30+x3);x2=Rnum1%100;x2=x2/10;Write_date(0x30+x2);Write_date(0x2e);x1=Rnum1/1;x1=x1%10;Write_date(0x30+x1);}//如果flag=2,测电容C值;if(flag==2){Cnum=1/(20800*y); //取值R1=R2=10000Ω;Cnum=Cnum*10;Rnum1=(long)Cnum;x7=Rnum1/1000000;Write_com(0x80+0x40);Write_date(0x30+x7);x6=Rnum1/100000;x6=x6%10;Write_date(0x30+x6);x5=Rnum1/10000;x5=x5%10;Write_date(0x30+x5);x4=Rnum1/1000;x4=x4%10;Write_date(0x30+x4);x3=Rnum1%1000;x3=x3/100;Write_date(0x30+x3);x2=Rnum1%100;x2=x2/10;Write_date(0x30+x2);Write_date(0x2e);x1=Rnum1/1;x1=x1%10;Write_date(0x30+x1);}//如果flag=3,测电感L值;if(flag==3){Lnum=(1/(3.94784*y*y))*(1e12); //取值C取0.1uF,此次计算结果的单位为uH Lnum=Lnum*10;Rnum1=(long)Lnum;x7=Rnum1/1000000;Write_com(0x80+0x40);Write_date(0x30+x7);x6=Rnum1/100000;x6=x6%10;Write_date(0x30+x6);x5=Rnum1/10000;x5=x5%10;Write_date(0x30+x5);x4=Rnum1/1000;x4=x4%10;Write_date(0x30+x4);x3=Rnum1%1000;x3=x3/100;Write_date(0x30+x3);x2=Rnum1%100;x2=x2/10;Write_date(0x30+x2);Write_date(0x2e);x1=Rnum1/1;x1=x1%10;Write_date(0x30+x1);}}Time_init(){TMOD=0x51;//定时器0用于定时,定时器1用于计数TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=0;TL1=0;EA=1;ET0=1;ET1=1;}void Write_com(unsigned char com){RS=0;RW=0;Lcdxs=com;Delay10ms(1);LcdE=1;Delay10ms(1);LcdE=0;}void Write_date(unsigned char date){RS=1;RW=0;Lcdxs=date;Delay10ms(1);LcdE=1;Delay10ms(1);LcdE=0;}Lcd_init(){Write_com(0x38);//设置显示模式Write_com(0x0c);//开显示不显示光标,光标不闪烁Write_com(0x06);//写一个指针加1Write_com(0x01);//清屏Write_com(0x80);//设置数据指针期起点}void Delay10ms(unsigned char i){unsigned char j,k;for(;i>0;i--)for(j=38;j>0;j--)for(k=130;k>0;k--); }void Delay1ms(unsigned char i) {unsigned char j,k;for(;i>0;i--)for(j=38;j>0;j--)for(k=13;k>0;k--);}。

简易自动电阻测试仪

简易自动电阻测试仪

简易自动电阻测试仪(G)【高职高专组】设计报告时间:2011.9.2摘要设计制作了基于AT89S52单片机的一种电压测量电路,该电路采用ICL7135高精度、双积分A/D转换电路,测量范围直流0-±2.50伏,使用LCD液晶模块显示,可以与PC机进行串行通信。

正文着重给出了软硬件系统的各部分电路,介绍了双积分电路的原理,AT89S52的特点,ICL7135的功能和应用,CD4040的功能和应用。

该电路设计新颖、功能强大、可扩展性强。

采用的技术主要有:(1)通过编程来实现对电阻值的直接测量;(2)ICL7135转换器的有效应用;(3)12864液晶显示器的有效应用;(4)通过键盘实现对电阻阻值参数的设定;(5)通过单片机控制电机实现对电位器的自动控制。

关键词:AT89S52、ICL7135、12864液晶显示、键盘。

abstractThis paper introduces A kind of based on A kind of AT89S52 SCM voltage measurement circuit, this circuit adopts high precision, ICL7135 dual-slope A/D circuit, measurement range dc 0-+ 2.500 v, use LCD module that can be with A PC for serial communication. The text mainly gives all the parts of the circuit hardware and software system, this paper introduces the principle of the double integral circuit AT89S52 devices, the characteristics of the ICL7135, function and application of the function and application, CD4040. The circuit design is novel, the powerful, flexible expandability.The technique to be used mainly has:(1) through the programming to realize the resistance value directly measuring the;(2) ICL7135 converter effective application;(3) 12864 LCD monitor effective application;(4) through the keyboard to realize resistance tolerance of parameters set;(5) through the single-chip microcomputer control motor to realize the automatic control of potentiometer.Keywords: AT89S52 devices, ICL7135, 12864 liquid crystal display, keyboard.目录1 前言 (5)2 方案设计与论证 (6)2.1 阻值信号采集电路方案选择 (6)2.2 档位选择电路方案设计 (7)2.3 单片机控制系统方案设计 (7)2.4总体电路设计 (8)3 硬件电路设计 (8)3.1 总体设计框图及说明 (8)3.2 A/D 转换电路 (9)3.2.1双积A/D 转换器的工作原理如图1.2 (9)3.2.2与单片机系统的串行连接 (10)3.3 单片机控制部分 (11)4 系统软件设计 (12)4.1 程序机构说明 (12)4.2 程序流程 (12)4.2.1主控程序 (12)4.2.2 (13)5 测试结果及结果分析 (15)6 参考文献 (15)7设计总计 (16)附:原理图 (16)1 前言在工程实践中,常需要测定某些高导电材料的电阻率。

电阻测试仪操作流程

电阻测试仪操作流程

电阻测试仪操作流程电阻测试仪是一种用于测试电路中电阻值的仪器,广泛应用于电子、电气等相关行业。

正确的操作流程能够确保测试结果的准确性和可靠性。

本文将介绍电阻测试仪的详细操作流程。

一、准备工作1. 确保电阻测试仪处于正常工作状态,接通电源并等待其启动。

2. 验证测试仪是否进行了相关校准,根据需要进行校准操作。

3. 将测试仪的测试端子连接到待测试电路的两端,确保连接良好。

二、设置测试参数1. 在测试仪的显示屏上选择所需的测试模式,如阻值测量、连续检测等。

2. 根据需要设置测试仪的测试范围和灵敏度,以保证测试结果的准确性。

3. 确定测试仪的采样率和显示单位,如欧姆(Ω)、千欧姆(kΩ)等。

三、执行测试操作1. 确保待测电路处于断开状态,以避免干扰和电流流动。

2. 在电阻测试仪的操作界面上,按下开始测试的按钮或者选择相应的测试命令。

3. 观察测试仪的显示屏,等待测试结果的稳定显示。

4. 如果需要连续测试多个电阻值,可按下相应的扫描或持续测试功能按钮,并等待测试结果的更新。

5. 根据测试结果进行相应的记录和处理,如保存数据、计算平均值等。

四、测试结果分析1. 根据测试结果判断待测电路的电阻值是否在合理范围内,比较测试值与标准值是否相符。

2. 如果测试结果存在异常或偏差,可检查测试仪的连接是否良好,重复测试操作或进行其他排查。

3. 如果测试结果符合要求,则可以进行下一步操作或测试。

五、结束操作1. 完成测试后,关闭电阻测试仪的电源,断开与待测电路的连接。

2. 清理和维护电阻测试仪,保持其良好状态。

3. 根据需要对测试结果进行整理、分析和报告,以便后续使用和参考。

以上就是电阻测试仪的操作流程,正确的操作流程能够确保测试结果的准确性和可靠性。

在操作过程中请遵循相关安全规范,确保自身和设备的安全。

希望这篇文章能对您有所帮助!。

直流电阻测试仪操作规程(3篇)

直流电阻测试仪操作规程(3篇)

第1篇直流电阻测试仪是一种用于测量电阻值的常用仪器。

为了确保测试结果的准确性和操作人员的安全,特制定本操作规程。

二、适用范围本规程适用于所有直流电阻测试仪的操作和使用。

三、操作前的准备工作1. 确认测试仪器的型号和规格,了解仪器的功能和使用方法。

2. 检查仪器外观是否完好,包括电源线、测试线、夹具等。

3. 确认仪器工作环境符合要求,如温度、湿度、电源电压等。

4. 熟悉操作手册,了解仪器的操作步骤和注意事项。

四、操作步骤1. 开启仪器电源,预热5-10分钟。

2. 根据被测电阻的阻值范围,选择合适的测试档位。

3. 将被测电阻连接到测试仪器的相应夹具上,确保接触良好。

4. 将测试仪器的红色夹具连接到测试仪器的“+”端,黑色夹具连接到“-”端。

5. 启动测试,仪器显示屏将显示被测电阻的阻值。

6. 记录测试结果,根据需要可多次测试取平均值。

五、注意事项1. 操作过程中,请勿触摸测试仪器的带电部分,以免发生触电事故。

2. 测试过程中,严禁将被测电阻拆开或短路,以免损坏仪器。

3. 测试完毕后,请将测试仪器的档位调至最大,以防误操作。

4. 测试过程中,如发现异常情况,如显示屏无显示、仪表报警等,应立即停止操作,查找原因并排除故障。

5. 测试完成后,关闭仪器电源,整理测试线、夹具等。

六、安全操作1. 操作人员应熟悉本规程,并在操作过程中严格遵守。

2. 操作人员应佩戴绝缘手套、护目镜等防护用品,确保安全。

3. 操作过程中,如遇紧急情况,应立即切断电源,采取必要的安全措施。

七、维护与保养1. 定期检查仪器外观,确保无损坏。

2. 保持仪器清洁,避免灰尘、油污等进入仪器内部。

3. 定期检查电源线、测试线、夹具等,确保连接良好。

4. 如仪器出现故障,请及时联系专业人员进行维修。

八、结论本规程为直流电阻测试仪的操作规程,操作人员应严格遵守,确保测试结果的准确性和操作人员的安全。

第2篇一、概述直流电阻测试仪是用于测量电气设备或元器件直流电阻值的仪器。

简易自动电阻测试仪

简易自动电阻测试仪

2011年全国(湖南赛区)大学生电子设计竞赛作品简易自动电阻测试仪 (G题)摘要本系统采用STC89S52单片机作为核心控制器,通过A/D转换芯片将阻值转换成数字信号并进行处理,控制多个继电器切换不同的电阻测量电路,实现量程的自动转换。

同时,系统具有自动筛选电阻功能,并可通过LCD显示屏12864方便直观地显示被测电阻阻值以及待筛选的电阻阻值,及电位器旋转角度及其阻值间的关系。

系统采用运放CA3140构成的串联分压法测来测量电阻阻值,精度达到了1%,效果好。

关键词:STC89S52;运放;串联分压法;LCD;A/D简易自动电阻测试仪一、方案设计与论证1.方案设计方案一: 采用电阻桥来测量未知电阻,图1所示.图1 电桥测量电阻测量原理:I 1 R X = I 2 R 1 I 1 R 0 = I 2 R 2得到:可知未知电阻x R 与其他臂的电阻阻值成正比。

方案二:采用恒压源与运放来测量未知电阻,如图2所示图2 恒压源测量电阻 测量原理:xo i R U R U -=1 得到:1o x R U U R i =可知未知电阻x R 与输出电压O U 成正比。

方案三:采用恒流源来测量未知电阻,如图3所示.图3 恒流源测量电阻测量原理:x00R I U =可知未知电阻x R 与输出电压O U 成正比。

方案四:采用串联分压法测电阻,R 为标准电阻,A U 、B U 为测量电压值,如图4所示。

图4 串联分压法测电阻 测量原理: RR R U U x B A += 得到:R U U U R BB A x ⨯-= 2.方案论证方案一的测量结果可以很精确,但是在10k~10M 之间,由于范围太宽,相差1000倍,电阻桥不容易调平衡,不平衡就测不准,故该方案不采用。

方案二与方案三均是采用运放的反相端输入,运放的高输入阻抗不易得到体现,特别是电阻在10M 测量的时候误差很大,故该方案不采用。

方案四采用双运放构成的串联分压法测电阻,信号从同相端输入,阻抗高,精度高;每次测量的值可与标准值比较,数据准确度高3.方案选定综上所述,方案四精度高,稳定性好,效率高,能够满足系统设计的要求,所以选择方案四。

简易自动电阻测试仪报告

简易自动电阻测试仪报告

2011年全国大学生电子设计竞赛简易自动电阻测试仪(G 题)【高职高专组】2011年9月1日简易自动电阻测试仪摘要电阻是现代电子电路中最常用最常见的电子元件之一,因此对电阻的测量是经常性的工作。

根据本届全国电子设计竞赛G题的要求,本系统利用 STC 公司的16位超低功耗单片机 STC12C5A32S2、CD7501和LM358,采用伏安法设计了简易自动电阻测试仪。

简易自动电阻测试仪具有:1、阻值测量精确(精度为读数的±1%+2字),2、自动选择合适量程的功能,3、电阻筛选功能,4、数码显示。

实验测试结果表明,本系统性能稳定,测量精度高。

关键词电阻测量仪电子仪器自动量程转换目录一、总体方案设计 (2)1.1电阻测量方法选择 (2)1.2系统整体模块设计 (2)二、理论计算与参数 (2)2.1基准电阻计算选择 (2)2.2量程切换参数计算 (2)三、单元电路设计 (2)3.1 六路自动量程切换电路选择 (2)3.2 恒流源的设计 (4)3.3 单片机的选择与论证 (4)3.4 显示模块的论证与选择 (5)四、软件设计 (5)4.1 单片机资源分配 (5)4.2 软件延时程序. (5)4.3 按键键值读取程序 (6)4.4 ADC初始化程序 (6)4.5 ADC采样驱动程序 (6)4.6 被测电阻值计算程序 (7)五、系统测试 (9)5.1 测试方案 (9)5.2 测试条件与仪器 (9)5.3 测试结果及分析 (9)附录1:测试电路实物图 (10)附录2:电路原理图 (13)附录3:源程序 (14)一、总体方案设计1.1电阻测量方法选择方案一:交流电桥测量法交流电桥的构造及原理均与直流惠斯通电桥相同,电源使用交流电,四臂的阻抗 Z1、Z2、Z3、Z4,可以用电阻、电感、电容或其他组合,电桥平衡的条件是Z 1×Z 2=Z 3×Z 4此条件显示交流电桥不同于直流电桥:首先条件有两个,因此,需要调节两个参数才能使电桥平衡;其次,阻抗的多样性可以组合成各具特色的电桥,但非所有电桥都能同时满足达到平衡的条件。

简易电阻、电容和电感测试仪设计.(DOC)

简易电阻、电容和电感测试仪设计.(DOC)

元器件参数测量仪的设计一、课程目的1.加深对电路分析、模拟电路、数字逻辑电路、微处理器等相关课程理论知识的理解;2.掌握电子系统设计的基本方法和一般规则;3.熟练掌握电路仿真方法;4.掌握电子系统的制作和调试方法;二、设计任务1.设计并制作一个元器件参数测量仪。

2.(基本要求)电阻阻值测量,范围:100欧~1M欧;3.(基本要求)电容容值测量,范围:100pF~10 000pF;4.(基本要求)测量精度:正负5% ;5.(基本要求)4位显示对应数值,并有发光二极管分别指示所测器件类型;6.(提高要求)增加电感参数的测量;7.(提高要求)增加三极管直流放大倍数的测量;8.(提高要求)扩大量程;9.(提高要求)提高测量精度;10.(提高要求)测量量程自动切换;三、任务说明:电阻电容电感参数测量常用电桥法,该方法测量精度,但是电路复杂。

也可为简化起见,电阻测量也可采用简单的恒流法,电容采用555定时电路;1、绪论在现代化生产、学习、实验当中,往往需要对某个元器件的具体参数进行测量,在这之中万用表以其简单易用,功耗低等优点被大多数人所选择使用。

然而万用表有一定的局限性,比如:不能够测量电感,而且容量稍大的电容也显得无能为力。

所以制作一个简单易用的电抗元器件测量仪是很有必要的。

现在国内外有很多仪器设备公司都致力于低功耗手持式电抗元器件测量仪的研究与制作,而且精度越来越高,低功耗越来越低,体积小越来越小一直是他们不断努力的方向。

该类仪器的基本工作原理是将电阻器阻值的变化量,电容器容值的变化量,电感器电感量的变化量通过一定的调理电路统统转换为电压的变化量或者频率的变化量等等,再通过高精度AD采集或者频率检测计算等方法来得到确定的数字量的值,进而确定相应元器件的具体参数。

2、电路方案的比较与论证2.1电阻测量方案方案一:利用串联分压原理的方案V CC GNDR x R0图2-1串联分压电路图根据串联电路的分压原理可知,串联电路上电压与电阻成正比关系。

简易自动电阻测试仪毕业论文设计

简易自动电阻测试仪毕业论文设计

嘉兴职业技术学院毕业设计(论文 )题目名称:简易自动电阻测试仪姓名:所在分院:机电与汽车分院专业班级:自动化101 班指导教师:二 O 一三年四月二十六日目录1.方案选择 (1)1.1.可编程逻辑控制器 (PLC) (1)1.2.利用振荡电路与单片机结合 (1)1.3.利用并联继电器和单片机结合 (1)1.4.小结 (1)2.硬件设计 (2)2.1.整体设计 (2)2.2. AT89C51 最小系统 (3)2.3.电源 (3)2.4. AD 转换模块 (4)2.5.电阻测量模块 (5)2.6.键盘输入 (6)3.软件设计 (7)3.1.主程序流程图 (7)4.参数计算 (8)5.结果仿真分析与测试 (8)5.1.仿真分析 (8)5.2.测试分析 (9)总结 (10)致谢 (11)简易自动电阻测试仪摘要在电子设计中,电阻是最基本的元件,经常要对它的值进行测量。

而在某些场合,对测量精度要求很高。

因此,设计可靠,安全,便捷的电阻测试仪具有极大的现实必要性。

硬件设计中,采用以MCS-51单片机为核心的硬件电路。

利用四个继电器做量程转化电路,选择相应的量程范围,再将电阻的值通过AD转化转化为数字信号,通过51 单片机测量之,再通过对应关系计算出参数值,最后显示在1602 上。

软件设计中,采用Keil4 编写 C 语言代码,包括量程转化电路,AD转换模块,辅助装置连接模块,显示模块。

最后,采用protues7.7进行整体仿真,仿真结果满足题目要求。

关键词51 单片机;继电器; 1602 液晶屏;电路; protues7.7仿真1.方案选择电阻测试仪的设计可用多种方案完成,例如使用可编程逻辑控制器(PLC)、振荡电路与单片机结合、继电器与单片机结合等等来实现。

在设计前对各种方案进行了比较。

1.1 .可编程逻辑控制器 (PLC)应用广泛,它能够非常方便地集成到工业控制系统中。

其速度快,体积小,可靠性和精度都较好,在设计中可采用PLC 对硬件进行控制,但是用PLC 实现价格相对昂贵,因而成本过高。

简易电阻测试仪_深职院_瑞萨杯.

简易电阻测试仪_深职院_瑞萨杯.

简易自动电阻测试仪深圳职业技术学院 吕俊 李诗远 毛勇 指导教师:宋荣摘 要:采用分压法,将基准电阻与被测电阻串连,分别检测基准电阻与被测电阻两端电压,根据分压关系计算得到被测电阻阻值,制作了一台自动电阻测试仪。

该仪器具有量程自动转换、自动筛选、扫描测试、语音提示等功能,使用24比特A/D 转换器,大大提高了测量精度。

关键词:电阻 恒流法 分压法 A/D 转换一、方案选择1. 恒流法测电阻如图1所示,用恒流源为被测电阻供电,通过A/D 转换器采集被测电阻两端电压,则被测电阻阻值为I V R XX(1) 式中V X 为被测电阻两端电压,I 0为恒流源输出电流。

这种测试方法主要有两方面缺陷:①计算得到的阻值与恒流源输出电流相关,恒流源输出误差直接影响测量结果;②由于A/D 转换器的输入范围有限,为了提高测量精度,测量低阻时恒流源电流应增大,而测量高阻时恒流源电流应减小,这种可变恒流源由于量程变化大,制作难度大,精度难以保证。

为简化电路,提高精度,本设计没有采用该方案。

图1 恒流法测电阻示意图2.分压法测电阻如图2所示,将被测电阻与基准电阻串联,在其两端施加电压,被测电阻、参考电阻上的电压分别为V X 、V 0,根据分压关系00R V V R XX(2) 可见,R X 与V X 、V 0之比及R 0有关,由于V X 、V 0由同一A/D 转换器的两个通道同时测量,温度和环境影响可以消除,实际上R X 仅与R 0有关。

分压法电路简单,可以实现宽范围测量,故本设计采用这一方案。

图2 分压法测电阻示意图二、量程确定据(3)式分析可知,若参考电阻较小,在测试高阻值电阻时,V 0值很小,测量误差显著增加;相反,若参考电阻较大,在测试低阻值电阻时,V X 值很小,测量误差也会显著增加。

为满足0-10M Ω的测量要求,采用“换档法”,即根据测量电阻的范围自动换用合适的参考电阻。

通过实验方法选择选用参考电阻的数量及其对应的测量范围。

简易自动电阻测试仪程序

简易自动电阻测试仪程序

#include<reg52.h> #include<intrins.h>#define uchar unsigned char uchar table[]={ 0x00,0x04,0x0A,0x11,0x11,0x0A,0x1B,0x3B, }; uchar table1[]="THE RES IS: "; sbit CS=P1^5; sbit Clk=P1^6; sbit DI=P1^7; sbit DO=P1^7; sbit rs=P2^0; sbit en=P2^1; sbit j1=P2^7; sbit j2=P2^6; sbit j3=P2^5;sbit beep=P1^4;XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX 2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1PROGRAM=bs.hexX1CRYSTALC122pFC222pFR44.7kCS1CH02CH13GND 4VCC 8CLK 7DI 5DO 6U3ADC0832D 714D 613D 512D 411D 310D 29D 18D 07E 6R W 5R S 4V S S 1V D D 2V E E3LCD1LM016LRL2G2RL-1AB-DC5R63.3kQ1MPS8098R3200RL1G2RL-1AB-DC5R73.3kQ2MPS8098R810kRL3G2RL-1AB-DC5Q3MPSR10500kRV13000D1LED-BLUEBUZ1BUZZERR112.5kQ4MPS8098D21N4148D31N4148RX6666666RV210ksbit led=P2^3;void delay(int x){ int j;for(;x>0;x--)for(j=20;j>0;j--) ;}uchar ADC0832(uchar CH){uchar i,dis0,dis1,date;Clk=0; //拉低时钟DI=1; //初始化delay(1);CS=0; //芯片选定delay(1);Clk=1; //拉高时钟delay(1);if(CH==0) //通道选择{Clk=0; //第一次拉低时钟DI=1; //通道0的第一位delay(1);Clk=1; //拉高时钟delay(1);Clk=0; //第二次拉低时钟,ADC0832 DI接受数据 DI=0; //通道0的第二位delay(1);Clk=1;delay(1);}else{Clk=0;DI=1; //通道1的第一位delay(1);Clk=1;delay(1);Clk=0;DI=1; //通道1的第二位delay(1);Clk=1;delay(1);}Clk=0; //第三次拉低时钟,此前DI两次赋值决定通道 DI=1; //DI开始失效,拉高电平,便于DO数据传输for(i= 0;i<8;i++) //读取前8位的值{delay(1);dis0<<= 1;Clk=1;delay(1);Clk=0;if (DO)dis0|=0x01;elsedis0|=0x00;}for (i=0;i<8;i++) //读取后8位的值{dis1>>= 1;if (DO)dis1|= 0x80;elsedis1|= 0x00;delay(1);Clk=1;delay(1);Clk=0;}if(dis0==dis1) //两次结束数据比较,若相等date=dis0; //则赋值给datdelay(1);CS=1; //释放ADC0832DI=1; //拉高输出端,方便下次通道选择DI端有效Clk=1; //拉高时钟delay(1);return date;}long datch(uchar a ,long st ) //计算电阻{ long y;double x=1.0*st*(255-a)/a ;y=x;return y;}void writecom(uchar com){ rs=0;P3=com;delay(10);en=1;delay(10);en=0;}void writedat(uchar date){ rs=1;P3=date;delay(10);en=1;delay(10);en=0;}void init (){en=0;writecom(0x38);writecom(0x0c);writecom(0x06);writecom(0x01);}void display( long x){ int j,wei=12;for(j=0;j<18;j++) //qinhkongxianshi { writecom(0xc0+14-j);delay(10);writedat(32); }for(j=0;x>0;j++) //qinhkongxianshi { if((j%3==0)&&(j>0)){writecom(0xc0+wei-j);writedat(44);wei--;}writecom(0xc0+wei-j);delay(10);writedat(x%10+48);x=x/10 ;}}long J1(void){ j1=1;j2=0;j3=0;delay(40);return datch(ADC0832(0),200);}long J2(void){ j1=0;j2=1;j3=0;delay(40);return datch(ADC0832(0),10000);}long J3(void){ j1=0;j2=0;j3=1;delay(40);return datch(ADC0832(0),500000); }void main(){int j;long x,s=1;led=1;beep=0;init();j1=1;j2=0;j3=0;for(x=0;x<11;x++){writedat(table1[x]);delay(10);}writecom(0x40);for(x=0;x<8;x++){writedat(table[x]);}delay(10);writecom(0xc0+15);writedat(0x00);while(1){if(j1==1){s=J1();if(s>=1900)s=J2();if(s>=100000)s=J3();}else if(j2==1){s=J2();if(s<=1900) s=J1();else if(s>=100000) s=J3();}else if(j3==1){s=J3();if((s<=100000)&&(s>1900)) s=J2();if(s<=1900) s=J1();}j=ADC0832(0);if(j>=254) beep=1;else beep=0;if((j==0)||(j==255)) led=0;else led=1;if(x!=s){x=s;display(s); } }}欢迎您的下载,资料仅供参考!致力为企业和个人提供合同协议,策划案计划书,学习资料等等打造全网一站式需求。

简易自动电阻测试仪设计

简易自动电阻测试仪设计

简易自动电阻测试仪设计报告王小东陈青龙张涛【摘要】本设计为简易自动电阻测试仪,以S T C系列单片机为核心控制系统;主要以A/D转换电路、显示模块、自动转换电路等外围电路构成。

利用单片机和软件控制系统实现显示功能,利用A/D 转换芯片(A D C0809)将测试点的电压模拟量输入到单片机,通过内部转换输出数字量,通过显示模块显示出实测数据;采用继电器作为自动转换开关,从而避免了C D4051作为自动转换开关而导致分压较多和额定电流太小不能正常使用、555产生振荡频率不稳定、电桥电路较大或者较小测试机构存在分压等问题。

采用继电器作为自动选择开关后使电路便于控制,分压减小,响应速度变快,便于操作,而且手动测量精确度<<1%,满足自动显示小数点和单位、测量速率大于5次/秒等,具有较高的系统性能。

【目录】摘要: (1)第一部分:系统方案 (2)第二部分:方案对比分析 (3)第三部分:软件流程图 (4)第四部分:硬件电路实现与程序设计 (5)第五部分:整机测试方案及测试条件 (6)第六部分:总结 (7)参考文献: (7)附录:部分源程序…………………………………… 一:系统方案二:方案论证、分析 电阻测量原理:图1-1电阻测量原理图图中R 0为欧姆调零电阻,E 为电池内阻,R 1为限流电阻,R C 为测量机构内阻。

由全电路欧姆定律可知,电路中的电流I 为:I=E/(R x+R z)R z—欧姆表总内阻R x—北测电阻E—电源电动势上式说明:若欧姆表总内阻R z和电源电动势E保持不变,则电路中的电流I将随被测电阻R x而变化,且I与R x成反比关系。

即欧姆表电阻的测量实质是电流的测量。

方案一:以单片机为核心,采用电桥分压原理,根据全桥分压产生的压差,为防止产生较小的电压差,可以外加放大电路将微弱的电压差放大后送入A/D转换电路,由于在电桥电路中三个电阻为相等大小的定值电阻,在选择不同的被测电阻时,容易产生较大的误差,(较大的定值电阻与较小的被测电阻或者较小的定值电阻与较大的被测电阻之间产生较大的电压误差),再经过放大之后误差会很大,直接导致测量增大。

简易自动电阻测量仪

简易自动电阻测量仪

2011全国大学生电子设计竞赛G题:简易自动电阻测试仪设计报告日期:年月日摘要本系统是一种基于STC89C58单片机的简易自动电阻测试电路。

该设计采用12位A/D转换器构成主要的测量电路,其测量范围广而且可以由继电器的闭合与关断实现量程自动转换,使用LCD12864作为显示电路,并采用矩阵按键实现电路功能的自由切换与数据的输入。

在电压采样的方案上选用电压分压采样,电路简单又避免自制恒流源本身误差对测量产生的影响。

该电路设计新颖、可扩展性强。

关键词:单片机,A/D转换器,电压分压采样,量程自动转换AbstractThis system is a kind of STC89C58 MCU based on simple automatic resistance test circuits. This design USES A/D converter 12 bit A major measurement circuit, the measuring range and the relay of the closed and shut off to realize automatic conversion, use LCD12864 range as display circuit, and the key to realize the function of the matrix circuit switch and free data entry. Sampling plan in voltage on subsection power circuit is simple and sampling, pressure to avoid homemade constant current source itself on the measurement error influence. The circuit design is novel, the extensibility.Key words: MVU, A/D converter, electric pressure,range of subsection sampling automatic conversion一、总体方案设计1、电阻测量电路的选择与论证方案一 此方案采用555定时器构成的多谐震荡电路,电阻的测量采用“脉冲计数法”,通过计算震荡输出的频率来计算被测电阻的大小,但是该电路只可以测出量程在100Ω~1M Ω的电阻,达不到题目要求,故放弃此方案。

20120621电阻自动测试

20120621电阻自动测试

简易自动电阻测试仪
三、说明 1.在辅助装置中,要求电位器为4.7kΩ 旋转式单圈 电位器, 并规定采用线性电位器。 2.要求电位器的三个端子作为测试端子引出。
电阻测量方法 1、利用欧姆定律 2、计算RC充放电的时间 3、电桥的方法
1、利用欧姆定律 R=U/I——用恒流源测电阻端的电压
IS Rx UX =IS*RX
用集成电源芯片恒流源测电阻电路 LM134、LM4140 注意精度,最大电流
1、利用欧姆定律 R=U/I——稳压源并用比例计算
US R0 UX =US*RX/(R0+RX)
RX= UX*R0 / (US - UX)
Rx
对于大阻值电阻,一般电流可达到微安数量级,这时可
忽略电压表内阻的影响,用以上公式计算阻值。
电阻测量方法 1、利用欧姆定律 2、计算RC充放电的时间 3、电桥的方法
二、要求 1.基本要求 (1)测量量程为 100Ω、1kΩ、10kΩ、10MΩ四档。测量准确 度为±(1%读数+2 字)。 (2)3 位数字显示(最大显示数必须为 999),能自动显示 小数点和单位,测量速率大于 5 次/秒。 (3)100Ω、1kΩ、10kΩ三档量程具有自动量程转换功能。 2.发挥部分 (1)具有自动电阻筛选功能。即在进行电阻筛选测量时,用 户通过键盘输入要求的电阻值和筛选的误差值;测量时, 仪器能在显示被测电阻阻值的同时,给出该电阻是否符 合筛选要求的指示。 (2)设计并制作一个能自动测量和显示电位器阻值随旋转角 度变化曲线的辅助装置,要求曲线各点的测量准确度为 ±(5%读数+2 字),全程测量时间不大于 10 秒,测量点 不少于 15 点。 (3)其他
用跟随器和三极管组成恒流源测电阻电路
VS
TL431

基于STM32简易自动电阻测试仪

基于STM32简易自动电阻测试仪
LOGO
基于STM32简易自动电阻测试 仪
引 言
目前人们广泛使用的电阻测试仪是万用表,用万用表测 试电阻有两个缺陷:其一大多数时候测试一个电阻就需要人 为的换挡。其二不能自动筛选电阻,需要人为判断。万用表 不能快速智能的完成电阻的阻值测量及筛选且使用起来过程 繁琐,使人们在设计检修电路时时间加长,而在设计检修中 我们希望能够快速的测量电阻的阻值,自动完成电阻阻值的 测量筛选。基于以上运用本人设计了“简易自动电阻测仪”。
引言系统设计电源模块stm32f103zet6daadad恒压芯片恒压采样电压跟随电压跟随显示步进电机固定电阻网络档位切换待测电阻采样opa548构成的5v恒压模块1m1mvddoutvddgndd2tlc220212v12v10uf10ufj3scj4daj5adon412v12v5软件设计开始初始化配置初始化配置自动换挡电阻筛选描绘曲线屏幕显示thanks
系统设计
电源模块
显示
DA
STM32F103Z ET6
AD
步进 电机
AD
恒压芯片 恒压采样 电压跟随 电压跟随
固定电阻 网络
档位切换
待测电阻
采样
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include<reg52.h> #include<intrins.h>
#define uchar unsigned char uchar table[]={ 0x00,0x04,0x0A,0x11,0x11,0x0A,0x1B,0x3B, }; uchar table1[]="THE RES IS: "; sbit CS=P1^5; sbit Clk=P1^6; sbit DI=P1^7; sbit DO=P1^7; sbit rs=P2^0; sbit en=P2^1; sbit j1=P2^7; sbit j2=P2^6; sbit j3=P2^5;
sbit beep=P1^4;
XTAL2
18
XTAL1
19
ALE 30EA
31
PSEN 29RST
9
P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD7
32
P1.0/T21P1.1/T2EX 2P1.23P1.34P1.45P1.56P1.67P1.7
8
P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD
17
P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1
PROGRAM=bs.hex
X1
CRYSTAL
C1
22pF
C2
22pF
R4
4.7k
CS
1
CH02CH13GND 4VCC 8
CLK 7DI 5DO 6U3
ADC0832
D 7
14
D 613D 512D 411D 310D 29D 18D 07
E 6
R W 5R S 4V S S 1V D D 2V E E
3
LCD1
LM016L
RL2
G2RL-1AB-DC5
R6
3.3k
Q1
MPS8098
R3
200
RL1
G2RL-1AB-DC5
R7
3.3k
Q2
MPS8098
R8
10k
RL3
G2RL-1AB-DC5
Q3
MPS
R10
500k
RV1
3000
D1
LED-BLUE
BUZ1
BUZZER
R11
2.5k
Q4
MPS8098
D2
1N4148
D3
1N4148
RX
6666666
RV2
10k
sbit led=P2^3;
void delay(int x)
{ int j;
for(;x>0;x--)
for(j=20;j>0;j--) ;
}
uchar ADC0832(uchar CH)
{
uchar i,dis0,dis1,date;
Clk=0; //拉低时钟
DI=1; //初始化
delay(1);
CS=0; //芯片选定
delay(1);
Clk=1; //拉高时钟
delay(1);
if(CH==0) //通道选择
{
Clk=0; //第一次拉低时钟
DI=1; //通道0的第一位
delay(1);
Clk=1; //拉高时钟
delay(1);
Clk=0; //第二次拉低时钟,ADC0832 DI接受数据 DI=0; //通道0的第二位
delay(1);
Clk=1;
delay(1);
}
else
{
Clk=0;
DI=1; //通道1的第一位
delay(1);
Clk=1;
delay(1);
Clk=0;
DI=1; //通道1的第二位
delay(1);
Clk=1;
delay(1);
}
Clk=0; //第三次拉低时钟,此前DI两次赋值决定通道 DI=1; //DI开始失效,拉高电平,便于DO数据传输
for(i= 0;i<8;i++) //读取前8位的值
{
delay(1);
dis0<<= 1;
Clk=1;
delay(1);
Clk=0;
if (DO)
dis0|=0x01;
else
dis0|=0x00;
}
for (i=0;i<8;i++) //读取后8位的值
{
dis1>>= 1;
if (DO)
dis1|= 0x80;
else
dis1|= 0x00;
delay(1);
Clk=1;
delay(1);
Clk=0;
}
if(dis0==dis1) //两次结束数据比较,若相等
date=dis0; //则赋值给dat
delay(1);
CS=1; //释放ADC0832
DI=1; //拉高输出端,方便下次通道选择DI端有效
Clk=1; //拉高时钟
delay(1);
return date;
}
long datch(uchar a ,long st ) //计算电阻
{ long y;
double x=1.0*st*(255-a)/a ;
y=x;
return y;
}
void writecom(uchar com)
{ rs=0;
P3=com;
delay(10);
en=1;
delay(10);
en=0;
}
void writedat(uchar date)
{ rs=1;
P3=date;
delay(10);
en=1;
delay(10);
en=0;
}
void init ()
{
en=0;
writecom(0x38);
writecom(0x0c);
writecom(0x06);
writecom(0x01);
}
void display( long x)
{ int j,wei=12;
for(j=0;j<18;j++) //qinhkongxianshi { writecom(0xc0+14-j);
delay(10);
writedat(32); }
for(j=0;x>0;j++) //qinhkongxianshi { if((j%3==0)&&(j>0))
{writecom(0xc0+wei-j);writedat(44);wei--;}
writecom(0xc0+wei-j);
delay(10);
writedat(x%10+48);
x=x/10 ;
}
}
long J1(void)
{ j1=1;
j2=0;
j3=0;
delay(40);
return datch(ADC0832(0),200);
}
long J2(void)
{ j1=0;
j2=1;
j3=0;
delay(40);
return datch(ADC0832(0),10000);
}
long J3(void)
{ j1=0;
j2=0;
j3=1;
delay(40);
return datch(ADC0832(0),500000); }
void main()
{
int j;
long x,s=1;
led=1;
beep=0;
init();
j1=1;
j2=0;
j3=0;
for(x=0;x<11;x++)
{
writedat(table1[x]);
delay(10);
}
writecom(0x40);
for(x=0;x<8;x++)
{
writedat(table[x]);
}
delay(10);
writecom(0xc0+15);
writedat(0x00);
while(1)
{
if(j1==1)
{
s=J1();
if(s>=1900)
s=J2();
if(s>=100000)
s=J3();
}
else if(j2==1)
{
s=J2();
if(s<=1900) s=J1();
else if(s>=100000) s=J3();
}
else if(j3==1)
{
s=J3();
if((s<=100000)&&(s>1900)) s=J2();
if(s<=1900) s=J1();
}
j=ADC0832(0);
if(j>=254) beep=1;
else beep=0;
if((j==0)||(j==255)) led=0;
else led=1;
if(x!=s)
{
x=s;
display(s); } }
}。

相关文档
最新文档