电子称设计课题 姓 名: *** 学 专 班 学 完 成
院: 业: 级: 号: 期: 机电工程学院 机械设计制造及其自动化 2011级本科5班 ************* ***********
1
日
传感器与检测技术综合训练
目录
第一章 任务和要求 1.1设计任务
1.2设计要求
第二章 功能分析 2.1控制系统总体框架图 2.2 各模块基本原理 第三章 硬件设计 3.1 电路主要结构
3.2 ±12V稳压电路
3.3 两级放大电路 3.4 A/D转换电路 3.5 数字显示电路
第4章 软件设计
4.1 总程序模块设计 4.2 A/D电路模块设计 4.3 拆字程序模块设计 4.4 显示电路模块设计
第5章 安装与调试
5.1 硬件调试 5.2 软件调试
2
传感器与检测技术综合训练
5.3 综合调试
5.4 故障分析与解决方案 5.5 功能测试及结果分析
第一章 任务和要求
1.1 设计任务
1.利用multisim仿真软件,确定仪表放大器设计方案; 2.进行电路参数即增益计算,元件数值选定; 3.设计电路原理图; 4.在印制电路板焊接电路; 5.调试电路板,输出电压信号
6.利用CSY-V9.1虚拟仪器采集测量电路的输出电压至电脑中,并分析数据。 7.编写课程设计报告。
1.2 设计要求
(1) 掌握金属箔式应变片的应变效应。
(2) 掌握单臂、半桥和全桥电路的工作原理和性能。
(3) 电路仿真与参数确定。利用multisim仿真软件,确定仪表放大器设计方案;应用运放OP07设计三运放仪表放大器,确定电路元器件具体参数;
(4) 制作电路板。 仪表放大器增益可调,放大倍数为1000~2000;应变电桥和放大电路应具有调零功能。
(5) 利用汇编或C51语言编写正确程序,调试电路板,采集放大器的输出电压,并显示。
(6) 考虑A/D分辨率为20mV,要求灵敏度不低于40mV/20g。
(7) 数据处理及分析。 利用CSY-V9.1虚拟仪器采集测量电路的输出电压至电脑中,确定系统线性度和灵敏度(最小二乘法),要求非线性误差小于1.50%。
3
传感器与检测技术综合训练
(8) 编写课程设计报告,完成设计任务的期限为一个星期。
第二章 功能分析
2.1控制系统总体框架图
利用传感器与检测技术实验室已有的应变式称重台,将四片应变片采用全桥形式接入测量电路,经过运放OP07组成的仪表放大器放大,再由串行模数转换芯片TLC549进行A/D转换,转换结果送入单片机AT89C51,通过同向门7407驱动四位数码管显示。仪表放大器的输出需经采集卡采集,经过CSY9.0虚拟仪器软件分析,得到较好的线性度和灵敏度后,再送入AD芯片进行转换。系统框图如图1所示。
图1 电子秤系统框图
2.2各模块基本原理
2.2.1采用应变片称重的基本原理
电阻应变式传感器是利用电阻应变片将应变转换为电阻变化的传感器,传感器由在弹性元件上粘贴电阻应变敏感元件构成。当被测物理量作用在弹性元件上时,弹性元件
4
传感器与检测技术综合训练
的变形引起应变敏感元件的阻值变化,通过转换电路转换成电量输出,电量变化的大小反映了被测物理量的大小。
应变片是最常用的测力传感元件。当用应变片测试时,应变片要牢固地粘贴在测试体表面,测件受力发生形变,应变片的敏感栅随同变形,其电阻值也随之发生相应的变化。通过测量电路,转换成电信号输出显示。
当具有初始电阻值R的应变片粘贴于试件表面时,试件受力引起的表面应变,将传递给应变片的敏感栅,使其产生电阻相对变化ΔR/R。在一定应变范围内ΔR/R与ε的关系满足下式:
RKR
式中,ε为应变片的轴向应变。
定义K=(ΔR/R)/ε为应变片的灵敏系数。它表示安装在被测试件上的应变在其轴向受到单向应力时,引起的电阻相对变化ΔR/R与其单向应力引起的试件表面轴向应变ε之比。
电阻应变片计把机械应变转换成ΔR/R后,应变电阻变化一般都很微小,这样小的电阻变化既难以直接精确测量,又不便直接处理。因此,必须采用转换电路,把应变片计的ΔR/R变化转换成电压或电流变化。通常采用惠斯登电桥电路实现这种转换。 若将电桥四臂接入四片应变片,如图2所示,即两个受拉应变,两个受压应变,将
图2 差动全桥电路
两个应变符号相同的接入相对桥臂上,构成全桥差动电路。
在接入四片应变片时,需满足以下条件:相邻桥臂应变片应变状态应相反,相对桥
臂应变片应变状态应相同。可简称为:“相邻相反,相对相同”。 此时
UoE(RR)E(RR)RE2R2RR
5
传感器与检测技术综合训练
全桥差动电路不仅没有非线性误差,而且电压灵敏度
为单片工作时的4倍,同时具有温度补偿作用。
除上述全桥电路外,还有单臂和半桥电路两种。单臂、半桥、全桥电路的灵敏度依次增大;当E和电阻相对变化一定时,电桥的输出电压及其电压灵敏度与各桥臂阻值的大小无关。本次实训采用全桥电路。电桥供电电源为5V。
2.2.2放大器的工作原理
由于传感器的输出为微弱的低频差分信号,其电压幅度为微伏级,必须经过放大电路进行调理放大,再进行测量。常用的放大电路可以由单运放放大器、双运放放大器、三运放放大器或直接由集成仪表放大器(如AD620、AD623)等构成。下面以三运放构成的仪表放大器为例说明仪表放大器的工作原理及性能指标,运算放大器选择高精度运放OP07。
1)基本电路及放大原理 V1OP1R4R2V1'V2'R3VoR3R4OP3R1R2V2OP2 图3 三运放电路原理图 如上图,由运算放大器特性可知 OP1: OP2:
由分压原理可得
V1V1'R2(V2V1')R1R2
V2V2'R2(V1V2')R1R2
故
V1'(1R2R)V12V2R1R1
6
传感器与检测技术综合训练
V2'(1R2R)V22V1R1R1
由于放大器OP3为差值放大器,可知
V0所以其差值放大倍数为
R4(V2'V1')R3
gainV0R2R4(12)V2V1R3R1
当要改变增益时,仅须调整可变电阻R1即可。 2)第二级放大电路的工作原理
-15V1VoutR1010k362U4OP07R1110kV*out
84
P2W1037+15VR1210k
图4 第二级放大器原理图
第二级放大电路其实是一个增益可调的同相运算放大器,其作用是把第一级放大电路输出的电压进一步放大,以满足需要,工作原理如下:
设U4的输出电位为V*out,输入第一级放大电路输出Vout,而可变电阻P2的实际有效接入部分的阻值为RP。对U4而言, —、+ 两端的电位应近似相等,即:
V2V3Vout
而流过R11 、R12电阻上的电流I11 、I12可分别表示为:
VoutV2I11R11R11 ;
**V2VoutVoutVoutI12R12RPR12RP
I又因为 11I12R12RP*Vout1VoutR110所以整理后,可得:
7
传感器与检测技术综合训练
放大系数(增益)为:
*VoutRRPK2112VoutR11
设电阻阻值分别为R11=10kΩ,R12=10kΩ,0≤RP≤10kΩ,则第二级放大电路的理论计算增益为:
RP2K223R11
3)集成运算放大器OP-07
OP-07有A、D、C、E各档,它是高精度运算放大器,具有极低的失调电压(10μV)和偏置电流(0.7nA),它的温漂系数为0.5μV/℃,OP-07具有较高的共模输入范围(±14V),共模抑制比CMRR=126dB,以及极宽的供电电流范围(从±3V到±18V),双电源供电。AD OP-07的封装、管脚排列以及基本连接方式如下图所示,OP07一般不需要调零,如需调零,可在1和8管脚之间接一个电位器,阻值可为20k,参见基本接法图。
图5 AD OP-07封装图
图6 运算放大器引脚图
通过利用Multisim7仿真软件,可以得到参考设计电路。两级放大电路Multisim7仿真如图7所示。
8
传感器与检测技术综合训练
图7 两级放大电路Multisim7仿真
2.2.3 A/D转换的工作原理
一般电子秤的A/D转换精度越高越好,A/D精度越高,电子秤的灵敏度越高。但12的A/D芯片价格比较贵,考虑到实验室条件,本次设计采用8位串行A/D芯片TLC549。
TLC549是美国德州仪器公司生产的8位串行 A/D转换器芯片,可与通用微处理器通过SDO、SCLK、CS三条口线进行串行接口 \"具有4MHz片内系统时钟和软硬件控制电路,转换时间最长17微秒。允许的最高转换速率为40000次/秒。总失调误差最大为±0.5LSB(最低有效位)。可用于较小信号的采样。
2.2.4 数码管显示的工作原理
采用4位共阴数码管动态显示显示电压值。统一采用7407驱动数码管。首先显示一个数, 然后关掉,然后显示第二个数,又关掉,那么将看到连续的数字显示,轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。这就是动态显示。
9
传感器与检测技术综合训练
第3章 硬件设计
3.1 电路主要结构
利用传感器与检测技术实验室已有的应变式称重台,将四片应变片采用全桥形式接入测量电路,经过两级放大电路放大,再由串行A/D转换芯片TLC549进行A/D转换,转换结果送入单片机89C51,通过7407驱动四位数码管显示电压值。接线如图8所示。
图8 硬件系统电路结构
3.2 ±12V稳压电路
为确保给OP07供应稳定的±12V电压。故设计±12V稳压电路,如图9所示。
10
传感器与检测技术综合训练
图9 ±12V稳压电路
3.5 两级放大电路
本设计采用两级放大电路,由两个部分组成。前一部分是采用三个运放构成的仪表放大器,后面的放大器将仪表放大器的输出电压进一步放大。接线如图10所示。
图10两级放大电路
3.6 A/D转换电路
一般电子秤的A/D转换精度越高越好,A/D精度越高,电子秤的灵敏度越高。但12的A/D芯片价格比较贵,考虑到实验室条件,本次设计采用8位串行A/D芯片TLC549。TLC549与89C51接线如图11所示。
11
传感器与检测技术综合训练
图11 A/D转换电路图
3.5 数字显示电路
采用4位共阴数码管动态显示显示电压值。统一采用7407驱动数码管。数码管、7407与89C51接线如图12所示。
图12 数字显示电路图
12
传感器与检测技术综合训练
第4章 软件设计
4.1 总程序模块设计
在总程序中先将系统初始化,然后循环调用A/D转换程序、把A/D转换后的数拆成BCD码程序和数码管显示程序。程序流程图如图13所示。
图13 总程序模块程序流程图
4.2 A/D电路模块设计
当CS为低电平时DATA OUT为高阻状态。转换开始之前,CS必须为低电平,以确保完成转换。89C52产生8个时钟脉冲,以提供作为549的I/O CLK的引脚输入。当CS为低电平时,最先出现在引脚上的信号为转换值的最高位。依次转换8个数据,直至8位转换完毕。程序流程图如图14所示。
图14 A/D转换程序流程图
13
传感器与检测技术综合训练
4.3 拆字程序模块设计
拆字程序既把A/D转换所得数据转换成BCD码,流程图如图15所示。
图15 拆字程序流程图
4.4 显示电路模块设计
在单片机中实际的工作流程如下:先打开P2.0,送个位,然后关掉P2.0,打开P2.1送十位,再关掉P2.1,打开P2.2 送百位 , 再关掉P2.2,打开P2.3 送千位,由于速度足够快,那么我们将看到4个数显示。显示电路模块流程图如图16所示。
图16 显示电路模块流程图
14
传感器与检测技术综合训练
第5章 安装与调试
5.1 硬件调试
硬件调试是整个调试步骤中第一步,硬件电路的正确性,是其它各部分正常工作的先决条件。
(1)首先判断购买的各个元器件本身是否已经损坏,按电路原理图安装电路,安装完毕,再则根据电路原理图仔细检查元器件是否有组装上的错误,诸如极性电容、集成块安装方向错误等。再利用万用表检测各个焊点是否存在虚焊等问题,并且按照原理图一部分一部分的检测。
(2)进行调试,先硬件调试然后软件调试。R3是电桥的调零电阻,R17是整个放大电路的调零电阻,R8,R19调整运放增益。如果运放两个输入端上短接,则输出端电压也应该等于0V。但事实上,输出端总有一些电压,该电压称为失调电压VOS。如果将输出端的失调电压除以电路的噪声增益,得到结果称为输入失调电压或输入参考失调电压。必须对放大器的两个输入端施加差分电压,以产生0V输出。调节R17的阻值即可将电路调零。
(3)将应变电桥接入电路,调节R3调节电桥平衡,使电桥输出端电压为0V;再通过调节R17、R8、R19调节电路放大增益。使第一级放大倍数达到,第二级放大倍数在2~11倍之间。
5.2 软件调试
软件调试主要应用Keil软件进行程序的调试,Keil软件全面支持汇编语言,C51语言的编译/连接、调试。
(1) A/D转换程序的调试 (2) 显示程序的调试
5.3 综合调试
在完成了硬件和软件调试工作以后,便可进行系统的综合调试。综合调试一般采用全速断点调试运行方式,在这个阶段的主要工作是排除系统中遗留的错误以提高系统的动态性能和精度。
5.4 故障分析与解决方案
5.4.1 故障出现情况
15
传感器与检测技术综合训练
(1) 数码管显示数值不稳定; (2) 数码管显示数值为零;
5.4.2 解决方案(针对上述故障一一对应的解决方案)
(1) 在主程序调用显示程序之前加了一个循环,实现循环调用显示程序,便实现了数值的稳定显示。
(2) 一开始显示数值始终为零,然后将程序中volt=volt*5.0/255*1000改成volt=1234,编译下载后可以稳定的显示1234,说明显示部分的硬件电路和程序没有问题。再测TLC549的输入电压,测出一个负值,由于此处的TLC549的REF+为+5V,REF-为0,所以TLC549的输入电压须为正值。然后调节应变电桥电阻的位置,便实现了TLC549的输入电压为正值,数码管便可正常显示。
5.5 功能测试及结果分析
测试电路板,增加砝码,记录输出电压信号,利用CSY-V9.1虚拟仪器采集测量电路的输出电压至电脑中,并分析数据。测试结果分析如图17所示。
16
图17测试结果分析
传感器与检测技术综合训练
由图可分析知,灵敏度为105.06,非线性误差为±0.41%,参照设计指标:考虑A/D分辨率为20mV,要求灵敏度不低于40mV/20g。系统线性度和灵敏度(最小二乘法),要求非线性误差小于1.50%。本设计完全符合设计指标。
17
传感器与检测技术综合训练
总 结
在本次课程设计中,我花了大量的时间和精力进行资料查阅和调试电路板,结合自己所学,认真解决每一个功能模块中遇到的问题。
在设计各个功能模块之前,我用Protel 99 SE绘图软件进行了各个模块的绘制,并最终绘制成一个总的电路原理图。但由于缺乏实践经验,电路中还有些功能不够完善,有写参数不够精确,而且抗干扰能力也不够好。
总之,在这次课程实际中,我学会了怎样把自己所学的书本知识应用到实处。看到自己设计的功能电路能在仿真软件中运行、调试好的电路正确运行,我有了很大的成就感。另外,通过具体的操作,我掌握了各个功能模块的接口设计方法,无论是在设计思想还是在动手能力上都有了很大的提高。
18
传感器与检测技术综合训练
参考文献
[1] 余成波等.传感器与自动检测技术[M].高等教育出版社,2004. [2] 沙占友等.新型专用数字仪表原理与应用[M].机械工业出版社, 2006. [3] 周航慈等.智能仪器原理与设计[M].北京航空航天大学出版社, 2005 [4] 张立科.8051系列单片机程序设计[M]. 人民邮电出版社, 2006. [5] 张金铎. 传感器用其应用[M]. 西安电子科技大学出版社, 2002. [6] 沈红卫. 基于单片机的智能系统设计与实现[M]. 电子工业出版社,2005. [7] 吴金戌. 8051单片机实践与应用[M]. 清华大学出版社, 2003.
19
传感器与检测技术综合训练
附录
附录1:软件程序
#include #define uchar unsigned char #define uint unsigned int #define datapoint P0 #define bitpoint P2 uchar code word[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f}; uchar code bitword[]={0xfe,0xfd,0xfb,0xf7}; sbit SCLK=P1^2; sbit SDO=P1^0; sbit CS=P1^1; uchar BCD[4]; uint ADSS; uchar ADS[20]; void delay1s(); void delayshort(); void display(); void TOBCD(); void AD(); void delay_50us(uint t); void main() { uchar p; while(1) { AD(); TOBCD(); for(p=0;p<100;p++) display(); } } void AD() { uchar i,j; for(j=0;j<20;j++) { CS=1; SCLK=0; _nop_(); _nop_(); CS=0; _nop_(); _nop_(); for(i=0;i<8;i++) { SCLK=1; _nop_(); _nop_(); ADS[j]=ADS[j]<<1; if(SDO==1) ADS[j]++; SCLK=0; } CS=1; //禁止TLC549,再次启动A/D转换 delay_50us(2); } ADSS=0; for(i=0;i<20;i++) ADSS=ADSS+ADS[i]; ADSS=ADSS/20; } void TOBCD() 20 传感器与检测技术综合训练 { uint temp; temp=ADSS; temp=temp*5000.0/255; BCD[0]=temp%10; //最低位 BCD[1]=temp/10%10; BCD[2]=temp/100%10; BCD[3]=temp/1000; //最高位 } void display() { uchar i; bitpoint=0x00; for(i=0;i<4;i++) { P0=word[BCD[i]]; P2=bitword[i]; delayshort(); } } void delayshort() { uint i,j; for(i=6;i>0;i--) for(j=100;j>0;j--); } void delay1s() { unsigned char h,i,j,k; for(h=5;h>0;h--) for(i=4;i>0;i--) for(j=116;j>0;j--) for(k=214;k>0;k--); } void delay_50us(uint t) { uchar j; for(;t>0;t--) for(j=19;j>0;j--) ; } 21 传感器与检测技术综合训练 附录2: 1)两级放大电路Multisim7仿真图 2)硬件系统电路结构图 22 传感器与检测技术综合训练 附录3:系统测试结果分析 附录4:元件明细表 名称 47 1K 10K 100K 1M 50 1K 10K 100K 300 芯片 底座 元件明细表 数量 名称 1 104 1 瓷片电容 103 2 20pF 3 10uF 电解电容 4 22uF 1 芯片 OP07 1 底座 1 芯片 549 1 底座 1 芯片 89C51 1 底座 1 数码管 4个共阴数码管 1 底座 若干 插线 数量 8 1 2 8 1 4 4 1 1 1 4 1 1 若干 电阻 可变电阻 排阻 7407 晶振 插孔 23 传感器与检测技术综合训练 附录 附录1:软件程序 #include #define uchar unsigned char #define uint unsigned int #define datapoint P0 #define bitpoint P2 uchar code word[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f}; uchar code bitword[]={0xfe,0xfd,0xfb,0xf7}; sbit SCLK=P1^2; sbit SDO=P1^0; sbit CS=P1^1; uchar BCD[4]; uint ADSS; uchar ADS[20]; void delay1s(); void delayshort(); void display(); void TOBCD(); void AD(); void delay_50us(uint t); void main() { uchar p; while(1) { AD(); TOBCD(); for(p=0;p<100;p++) display(); } } void AD() { uchar i,j; for(j=0;j<20;j++) { CS=1; SCLK=0; _nop_(); _nop_(); CS=0; _nop_(); _nop_(); for(i=0;i<8;i++) { SCLK=1; _nop_(); _nop_(); ADS[j]=ADS[j]<<1; if(SDO==1) ADS[j]++; SCLK=0; } CS=1; //禁止TLC549,再次启动A/D转换 delay_50us(2); } ADSS=0; for(i=0;i<20;i++) ADSS=ADSS+ADS[i]; ADSS=ADSS/20; } void TOBCD() 24 传感器与检测技术综合训练 { uint temp; temp=ADSS; temp=temp*5000.0/255; BCD[0]=temp%10; //最低位 BCD[1]=temp/10%10; BCD[2]=temp/100%10; BCD[3]=temp/1000; //最高位 } void display() { uchar i; bitpoint=0x00; for(i=0;i<4;i++) { P0=word[BCD[i]]; P2=bitword[i]; delayshort(); } } void delayshort() { uint i,j; for(i=6;i>0;i--) for(j=100;j>0;j--); } void delay1s() { unsigned char h,i,j,k; for(h=5;h>0;h--) for(i=4;i>0;i--) for(j=116;j>0;j--) for(k=214;k>0;k--); } void delay_50us(uint t) { uchar j; for(;t>0;t--) for(j=19;j>0;j--) ; } 25 传感器与检测技术综合训练 附录2: 1)两级放大电路Multisim7仿真图 2)硬件系统电路结构图 26 传感器与检测技术综合训练 附录3:系统测试结果分析 附录4:元件明细表 名称 47 1K 10K 100K 1M 50 1K 10K 100K 300 芯片 底座 元件明细表 数量 名称 1 104 1 瓷片电容 103 2 20pF 3 10uF 电解电容 4 22uF 1 芯片 OP07 1 底座 1 芯片 549 1 底座 1 芯片 89C51 1 底座 1 数码管 4个共阴数码管 1 底座 若干 插线 数量 8 1 2 8 1 4 4 1 1 1 4 1 1 若干 电阻 可变电阻 排阻 7407 晶振 插孔 27 因篇幅问题不能全部显示,请点此查看更多更全内容