大学生电子设计竞赛基于51单片机的电阻自动测试仪.docx
- 文档编号:27742498
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:35
- 大小:397.61KB
大学生电子设计竞赛基于51单片机的电阻自动测试仪.docx
《大学生电子设计竞赛基于51单片机的电阻自动测试仪.docx》由会员分享,可在线阅读,更多相关《大学生电子设计竞赛基于51单片机的电阻自动测试仪.docx(35页珍藏版)》请在冰豆网上搜索。
大学生电子设计竞赛基于51单片机的电阻自动测试仪
2011年全国大学生电子设计竞赛
参赛报告
YZ-G
2011年9月1日
摘要
本系统以恒压源电路为核心,以STC89C52RC为主控制器,首先电路输入12V的电源通过TL431得到2.5V的输出电压,它经过调节LM324运放的倍数,使得输出电压为恒定的5V。
得到恒定的5V电压输向由100欧、1000欧、10千欧和10兆欧的档位。
在100欧,1000欧,10千欧档位分别接上一个继电器,使其实现自动换挡功能。
为了保证通过待测电阻分得的电压稳定的输到MCU里,我们设计了一个OP07电压跟随器,它的特点是输入阻抗高,而输出阻抗低。
从而使输入电压等于输出电压,这样就减少了误差。
再由ADC0804将模电转为数电输给MCU,最后再LCD12864上显示所测电阻值、档位。
关键词:
STC89C52RC;自动量程转换;A/D转换;电阻测试
目录
1系统方案4
1.15V恒压源的设计5
1.2AD的论证与选择5
1.3电阻测量模块5
1.4驱动模块6
1.5液晶模块7
1.6换挡模块7
2系统设计7
2总体设计方案7
2.1系统的硬件模块设计8
2.1.1STC89C52RC最小系统8
2.1.2驱动模块9
2.1.3液晶模块10
2.1.4+5V恒压源模块10
2.1.5自动换挡模块11
2.1.6AD模块11
2.2软件设计12
3系统理论分析与计算13
3.1电阻测量的分析13
3.1.1电阻测量原理13
3.1.2测电阻的具体方法14
3.1.3电阻测试的方法14
4测试方案与测试结果14
4.1测试方案14
4.1.1硬件测试14
4.1.2硬件软件联调14
4.2测试条件与仪器15
4.3测试结果及分析15
4.3.1测试结果(数据)15
4.3.2测试分析与结论15
五、附录17
附录1:
电路原理图17
附录2:
源程序17
附录3:
主要元器件清单26
一、方案论证
1系统方案
本系统主要由恒压源模块、AD模块、电阻测量模块、驱动模块、液晶模块、换挡模块组成,下面分别论证这几个模块的选择。
1.15V恒压源的设计
【方案一】
直接采用电源供电,电压大小为5V。
通过该种方式能够直接给单片机供电,且直接方便,但是在设计项目中不能够准确无误的进行电阻的测量。
达不到自动换挡能诸多功能,且不能很好的达到预期的效果。
【方案二】
还有可以采用12位DA连接OPA548,再跟随送至STC89S52内部的AD采样处理控制12位DA电流输出,从而就形成了闭环的5V恒压。
同时也满足5V恒压源要求,而OPA548具有优良的信号精度、高输出电压、高输出电流、成本低的特点;但此方案电路较为复杂,芯片用的多因此没达到想要的效果。
【方案三】
我们可以采用输入个12V的电压。
串联一个1K电阻再通过三端稳压的TL431使得电压为2.5V,最后通过经过LM324把从TL431来的2.5V电压放大一倍得到5V的输出电压。
为了使得输入电压为5V,我们在LM324上串联1K的电阻和一个可调电阻。
这样就设计了一个输出稳定的5V恒压源了。
此电路只用到了TL431和LM324,电路简单实用,芯片价格低廉。
因此此方案很适用。
综合比较,基于芯片的成本和芯片的功能的考虑,所以我们选择方案三。
1.2AD的论证与选择
【方案一】
ADS1255是德州仪器(TI)Burr-Brown产品线推出针对工业应用、具有业界最高性能的模数转换器(ADC).其由模拟多路开关(MUX)、输入缓冲器(BUF)、可编程增益放大器(PGA)、四阶Δ-Σ调制器再加一个可编程数字滤波器组成,完美组合了一流的无噪声精度、数据速率以及多种功能,为设计人员提供了全套高精度测量解决方案,非常适用于包括科学仪器、工艺控制、医疗设备与秤重设备等要求苛刻的工业应用领域。
但对于不带SPI串行总线接口的STC89C52RC单片机来说无法使用此转换器。
【方案二】
ADC0804是属于连续渐进式的A/D转换器,这类型的A/D转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上。
以输出8位的ADC0804动作来说明“连续渐进式A/D转换器”的转换原理。
它的主要电气特性如下:
工作电压:
+5V,即VCC=+5V;模拟输入电压范围:
0~+5V,即0≤Vin≤+5V;分辨率:
8位,即分辨率为1/28=1/256,转换值介于0~255之间;转换时间:
100us(fCK=640KHz时);转换误差:
±1LSB;参考电压:
2.5V,即Vref=2.5V。
综合比较,基于我们用STC89C52RC控制整个电路的考虑,所以我们选择方案二。
1.3电阻测量模块
【方案一】
通过采用直流电桥,这是一种测量电阻的最为精密方法,其优点是所测的结果精确,但是实验原理不易懂,需要测量的电阻值多,而且测量调节麻烦,不易操作与数字化,程序过程较复杂,容易造成误差变大,使用不方便。
如图1:
图1直流电桥
【方案二】
电阻分压法。
如图2:
图2电阻分压电路
将待测电阻Rx和基准电阻R串联在电路中。
由于电阻分压的作用,当串联到电路上的电阻Rx的值不同时其Rx上分的压降也不同。
通过测量上Vx便可求得Rx。
,该方案原理简单,理论上只要参考电阻精确,就可以测量任何阻值的电阻,但实际上由于AD的分辨率有限,当待测电阻很大或是很小时就很难测出Rx上的压降Vx,从而使测量范围缩小,要提高测量范围和精度就需要对电阻分档测试和提高AD的分辨率。
这无疑会增加系统的复杂性和成本。
综合上面两个方案从对测量精度要求而言,方案一需要测量的电阻值多,而且测量调节麻烦,不易操作与数字化,相比较而言,方案二还是比较符合要求的,由于是通过单片机读取转化,精确度会明显的提高。
故本设计选择了方案二。
1.4驱动模块
【方案一】
uln2003有16个引脚其中有七个输入七个输出,8号引脚接地,9号引脚接12V或5V,比如用的四相五线步进电机,步进电机公共端接5V,其余四个线接驱动芯片的四个输出端,然后单片机或外围电路接上ULN2003的四个输入引脚,这样挨个给脉冲就能转一定角度。
但它只能接5V,并且转速慢,噪声较大,所以不能满足要求。
【方案二】
L298N主要特点是:
工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W;抗干扰能力强;可实现正反转;采用光电隔离。
它是专用驱动集成电路可以接至12v,驱动能力强。
而且L298N属于H桥集成电路,它是保护L298N内部三极管的二极管。
如果当要把电机反转,这时候电机可能会产生一个高于电源的反向电动势,可能会损坏内部的三级管,所以加上二极管。
就用IN4001、IN4007这些大功率的二极管即可。
有电流保护功能,当出现电机卡死时,可以保护电路和电机等。
该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。
综合比较,基于电路的工作电压和电流的考虑,所以我们选择方案二。
1.5液晶模块
【方案一】
1602是字符型模组,只能显示数字与字符,不可以显示汉字,它为16字乘2行,屏幕为2行,每行显示16个字符。
屏幕小,并且不可以显示汉字等等方面都不如12864因此不选此方案。
【方案二】
12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。
可根据需求任意显示字符、数字、图形,也可以显示8×4个(16×16点阵)汉字。
它为128列点阵乘64行点阵,屏幕为64行,每行显示128个字符。
综上方案,基于电路的需求考虑,我们选用外形更美观,可以显示汉字,每行字符显示的更多的12864为液晶显示。
及选择的是方案二。
1.6换挡模块
【方案一】
惠斯通电桥是电子测量电路中应用的一种重要的组合电路。
包括平衡的惠斯通电桥和非平衡的惠斯通电桥。
此电路由4个电阻臂、1个直流电流源和1个检流计组成。
检流计类似于灵敏电流表,指针可以左右偏转,当指针指向中心位置时,表明通过检流计的电流为0。
当输出电压为0V时,电桥平衡,当输出电压大于0V时,电桥不平衡。
【方案二】
继电器属于一种微电控制器件,它实际上是用较小的电流去控制较大电流的一种自动开关。
它具有控制系统又称输入回路和被控制系统又称输出回路,通常应用于自动控制电路中充当开关,故在电路中起着自动调节安全保护转换电路等作用。
只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。
当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。
这样吸合、释放,从而达到了在电路中的导通、切断的目的。
综上方案,基于方便的实现换挡功能并自动调节安全保护转换电路等作用,我们选择方案二。
2系统设计
2总体设计方案
根据题目要求,经过认真分析,我们制定出了总体的设计方案,我们使用的主控制器是STC89C52RC,首先电路输入12V的电源通过TL431得到2.5V的输出电压,它经过调节LM324运放的倍数,使得输出电压为恒定的5V。
得到恒定的5V电压输向由100欧、1000欧、10千欧和10兆欧的档位。
在100欧,1000欧,10千欧档位分别接上一个继电器,使其实现自动换挡功能。
为了保证通过待测电阻分得的电压稳定的输到MCU里,我们设计了一个OP07电压跟随器,它的特点是输入阻抗高,而输出阻抗低。
从而使输入电压等于输出电压,这样就减少了误差。
再由ADC0804将模电转为数电输给MCU,最后再LCD12864上显示所测电阻值、档位。
如图3所示:
图3系统设计总体框架图
2.1系统的硬件模块设计
2.1.1STC89C52RC最小系统
STC89C52RC是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。
它的最小系统能够运行的必要条件是:
电源、晶振、复位电路。
主要管脚有:
XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。
RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40脚)和VSS(20脚)为供电端口,分别接5V电源的正负端。
P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。
如图4所示:
图4STC89C52RC最小系统
2.1.2驱动模块
驱动芯片L298N双H桥直流电机驱动芯片;驱动部分端子供电范围Vs:
+5V~+46V;驱动部分峰值电流Io为2A*2;逻辑部分端子供电范围Vss是+5V~+7V(可板内取电+5V);逻辑部分工作电流范围是0~36mA;控制信号输入电压范围:
低电平范围是-0.3V≤Vin≤1.5V,高电平范围是2.3V≤Vin≤Vss;使能信号输入电压范围:
低电平范围是-0.3≤Vin≤1.5V(控制信号无效),高电平范围是2.3V≤Vin≤Vss(控制信号有效);最大功耗是25W(温度T=75℃时);正常工作温度是-25℃~+130℃;驱动板尺寸:
60mm×54mm;驱动板重量:
32g;其他扩展为特设电流反馈检测接口、控制方向指示灯、上拉电阻选择接口、逻辑部分板内取电接口。
如图5所示
图5L298N驱动模块
2.1.3液晶模块
12864液晶模块,是128*64点阵液晶模块的点阵数简称,接入一个2K的可调电阻。
为了使它与单片机连接起来,受单片机的控制。
我们了解了12864的所以引脚的具体作用。
1脚GND电源地;2脚5V的VCC;3脚VO亮度调节1,与10KΩ电位器的可调端连接;4脚D\I数据\指令选择,高电平为数据,低电平为控制指令;5脚R\W读写操作,高电平为读数据,低电平为控制指令;6脚E读写使能端,下降沿锁存;7脚D0数据总线;8脚D1数据总线;9脚D2数据总线;10脚D3数据总线;11脚D4数据总线;12脚D5数据总线;13脚D6数据总线;14脚D7数据总线;15脚CS1片选,高电平选择左屏;16脚CS2片选,高电平选择右屏;17脚RES复位,低电平有效;18脚VEE亮度调节2,接10KΩ电位器固定一端,另一端接地;19脚VCC背光电源5V;20脚GND背光电源地0v。
了解了它的引脚分别跟单片机怎样相连,就很方便控制它了。
如图6所示:
图612864液晶模块
2.1.4+5V恒压源模块
在方案比较中已经把输出5V的恒压源模块说明了,在此就不再说。
如图7所示:
图7恒定输出5V的电源
2.1.5自动换挡模块
在方案论证中也已经阐述,我们使用继电器实现自动换挡功能。
如图8所示:
图8继电器自动换挡
2.1.6AD模块
在方案论证中也已经阐述,我们使用ADC0804实现模数的转换。
如图9所示
图9ADC0804电路
2.2软件设计
简易自动电阻测量仪的软件重要任务就是对AD采样返回的数据进行适当的计算,把它对应的电压字送到STC89C52RC0模块中,并把电阻值、档位选择、筛选结果等信息在液晶上显示出来。
ADC的任务是对电阻的变化最终引起电压变化的模拟量进行采集。
软件流程图如下:
图10软件设计流程图
3系统理论分析与计算
3.1电阻测量的分析
3.1.1电阻测量原理
电阻的测量是通过分压来测量的,根据题目要求我们要测的电阻测量量程为100Ω、1kΩ、10kΩ。
测量准确度为±(1%读数+2字)。
并且我们要实现电阻100Ω、1kΩ、10kΩ三档量程的自动转换功能。
3.1.2测电阻的具体方法
内接法和外接法:
伏安法测电阻的原理是:
用电压表测出电阻两端的电压,用电流表测出通过电阻的电流,利用部分电路欧姆定律I=U/R算出待测电阻的阻值。
用伏安法测电阻有两种测量电路,图11(甲)中的接法叫电流表内接法,图1(乙)中的接法叫电流表外接法。
实现自动转换功能,我们采用分压法来测量待测电阻R2。
公式:
U={R2/(R1+R2)}*5V。
误差原因:
由于电流表和电压表接入后对电路的影响,不管采用内接法和外接法都会产生测量误差.内接法的误差是由于电流表的分压作用,使得电压表的测量值大于待测电阻两端电压的实际值,导致待测电阻的测量值大于实际值.外接法的误差是由于电压表的分流作用,使得电流表的测量值大于通过待测电阻电流的实际值,导致待测电阻的测量值小于实际值.根据分压测试
3.1.3电阻测试的方法
我们用的是伏安法测电阻,它的原理是根据部分电路欧姆定律。
控制电路的选择有两种:
限流电路和分压电路。
限流电路是将电源和可变电阻串联,通过改变电阻的阻值,以达到改变电路的电流,但电流的改变是有一定范围的。
其优点是节省能量;一般在两种控制电路都可以选择的时候,优先考虑限流电路。
分压电路是将电源和可变电阻的总值串联起来,再从可变电阻的两个接线柱引出导线。
其输出电压由ap之间的电阻决定,这样其输出电压的范围可以从零开始变化到接近于电源的电动势。
在下列三种情况下,一定要使用分压电路:
一要求测量数值从零开始变化或在坐标图中画出图线。
二滑动变阻器的总值比待测电阻的阻值小得多。
三电流表和电压表的量程比电路中的电压和电流小。
4测试方案与测试结果
4.1测试方案
4.1.1硬件测试
硬件电路测试。
用万用表检测整机电路是否存在短路或者断路,经检测后再接上电源,用万用表测量电源部分的各个输出电压值,经调试正常后方接到各部分电路。
在确保硬件电路连接正确后,将STC89C52RC单片机连接在电路中,通电进行软件调试。
将显示三位数、电机控制、自动换挡显示阻值波形程序烧录到STC89C52RC单片机中,结合LCD12864液晶显示器上显示的数据观察分析是否能自动换挡以及显示电阻的波形情况
4.1.2硬件软件联调
根据电路中待测电阻产生的误差,为了减小误差。
我们先通过调节硬件,看硬件是否存在不足之处,慢慢优化电路,再通过调整软件程序,来进一步减小误差。
4.2测试条件与仪器
测试条件:
检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。
测试仪器:
高精度的数字毫伏表,模拟示波器,数字示波器,数字万用表,指针式万用表。
4.3测试结果及分析
4.3.1测试结果(数据)
测试结果如下表所示:
串入电阻
计算电压
完成测试
加跟随后
加A/D后
显示值
0
0
0.006
A
0.005
0
20
0.833
0.839
0.477
0.829
33
60
1.875
1.88
1.674
1.886
75
100
2.5
2.805
2.508
2.512
100
4.3.2测试分析与结论
根据上述测试数据,我们由此可以得出以下结论:
1、当测量元件参数过大或过小时,测量误差将随之增大。
2、我们采用的是分压法来测量元件,当所测得到的电压就是待测电阻分得的电压
3、系统各元件自身精度影响该仪器的精度。
这些因素都形成了器件测量的误差和限制了测量范围。
综上所述,本设计达到设计要求。
四、总结
经过紧张的四天三夜的奋力拼搏,通过协作,团结互助,终于完成了本系统。
系统中采用的低功耗器件主要是TI公司大学生计划赞助的高性能模拟器件(例如ADC)和STC89C52RC单片机。
这些芯片优良的性能和较低的功耗使接收点易于设计。
本系统利用STC89C52RC单片机为控制系统,结合5V恒压源为核心,硬件与软件相结合,完美地实现了题目提出的指标。
在系统设计过程中,力求硬件电路简单,充分发挥软件编程灵活的特点,来满足系统的设计要求。
电路进行调试的整个过程中,我们遇到了很多问题,但是都被我们一个个解决,让我们产生“柳暗花明又一村”的感觉。
我们发现有时候,遇到了问题,不要太局限于电路的局部,这样反而会阻碍你发现问题,而要用系统的眼光去看待问题,综合考虑各个方面的因素。
在这期间,我们学会了调试电路与科研时的那种态度,这些经验也许是在永远在课堂上永远需不到的。
我们三位队员不仅增强了实践的能力和团队合作的精神,而且还懂得了理论和实际是密不可分的。
这些将会对我们以后的学习、工作起到很大的作用。
当然,我们这次的设计还存在着一些不足之处,恳请各位评委老师批评指正。
最后,十分的感谢学校老师的培养和全国大学生电子设计竞赛组委会给予我们这次锻炼的机会。
祝各位专家和老师工作顺利、万事如意、合家欢乐!
参考文献
[1]李广弟.单片机基础.北京:
北京航空航天大学出版社
[2]郭天祥.51单片机C语言教程.北京:
北京电子工业出版社,2009.1
[3]童诗白.模拟电子技术基础.北京:
高等教育出版社,2001
[4]何立民.MCS-51系列单片机应用系统设计.北京:
北京航空航天大学出版社,1990.1
[5]杨世成.信号放大电路.北极:
电子工业出版社,1995
[6]杨振江.智能仪器与数据采集系统中的新器件及应用.西安:
西安电子科技大学出版社,2001.12
[7]王毅.单片机器件应用手册.北京:
人民邮电出版社,1994
[8]周航慈.单片机应用程序设计.北京:
北京航空航天大学出版社,1991.8
[9]李华.MCS-51系列单片机应用接口技术.北京:
北京航空航天大学出版,1993
[10]张毅刚,彭喜元,姜守达等.新编MCS-51系列单片机应用设计.哈尔滨:
哈尔滨工业大学出版社,2003.6
五、附录
附录1:
电路原理图
附录2:
源程序
#include"reg52.h"
#include"intrins.h"
#include"math.h"
#defineucharunsignedchar
#defineuintunsignedint
ucharkey;
uchara,A1,A2,A3,adval,zhuzhi;
sbitdula=P2^6;//申明U1锁存器的锁存端
sbitwela=P2^7;//申明U2锁存器的锁存端
sbitadwr=P3^6;//定义A/D的WR端口
sbitadrd=P3^7;//定义A/D的RD端口
sbitsclk=P3^4;
sbitcs=P3^5;
sbitsid=P3^6;
sbitpsw=P3^3;
sbitji1=P2^2;//继电器控制位
sbitji2=P2^1;
sbitji3=P2^0;
sbitanjian=P2^3;//按键
ucharcodedis1[]="电阻值:
";
ucharcodedis2[]="档位选择:
";
ucharcodedis2_1[]="自动换挡";
ucharcodedis3_1[]="100欧";//档位选择
ucharcodedis3_2[]="1k欧";
ucharcodedis3_3[]="10K欧";
ucharcodedis3_4[]="10M欧";
ucharcodedis4[]="额定值:
";//筛选设定
ucharcodedis4_1[]="+:
";
ucharcodedis4_2[]="-:
";
ucharcodedis10[]="Y";//判断
ucharcodedis10_1[]="N";
bitshoudong;
ucharad10,ad100,ad1k,ad10k,ad1m;
voiddelay(uintz)//延时程序
{
uintx,y;
for(x=z;--x;)
for(y=100;--y;);
}
voidwrite_cmd(ucharshu)//写指令到LCD
{
cs=0;
sid=0;
P0=shu;
sclk=1;
delay
(2);
sclk=0;
}
voidwrite_shu(ucharshu)//写数据到LCD
{
cs=1;
sid=0;
P0=shu;
delay
(2);
sclk=1;
delay
(2);
sclk=0;
}
voidinit()//LCD初始化
{
write_cmd(0x0f);
delay
(2);
write_cmd(0x30);//基本指令
delay
(2);
write_cmd(0x0c);//显示开光标
delay
(2);
write_cmd(0x01);//清除LCD显示的内容
delay
(2);
}
voidjiemian()
{
uchari;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学生 电子设计 竞赛 基于 51 单片机 电阻 自动 测试仪