《传感器与检测技术综合训练课程设计电子称设计.doc》由会员分享,可在线阅读,更多相关《传感器与检测技术综合训练课程设计电子称设计.doc(28页珍藏版)》请在三一办公上搜索。
1、目 录序言 3第1章 任务和指标 41.1 设计任务 41.2设计指标 4第2章 功能分析 52.1系统总体框架图 52.2各模块基本原理 52.2.1采用应变片称重的基本原理 52.2.2放大器的工作原理 62.2.3 A/D转换的工作原理 102.2.4 数码管显示的工作原理 10第3章 硬件设计 113.1 电路主要结构 113.2 12V稳压电路 113.3 两级放大电路 123.4 A/D转换电路 123.5 数字显示电路 13第4章 软件设计 144.1 总程序模块设计 144.2 A/D电路模块设计 144.3 拆字程序模块设计154.4 显示电路模块设计 15第5章 安装与调试
2、 165.1 硬件调试 165.2 软件调试 165.3 综合调试 165.4 故障分析与解决方案 165.4.1 故障出现情况 165.4.2 解决方案 175.5 功能测试及结果分析 17总 结 19参考文献 20附 录 21附录1 21附录2 23附录3 24附录4 24附录5 25序言孙子算经记载:秤之所起,起于黍,十黍为一累,十累为一铢,二十四铢为一两,十两为一斤。称重技术自古以来就被人们所重视,在传说的皇帝“设五量”中,权衡既为五量之首。夏禹的“声为吕,声为度,称以出”;“循守会稽,乃审权衡,平斗斛”等,均说明了在我国古代称重技术所处的位置和重要性。在公元前,人们为了对货物交换量的
3、估计,起初采用木材或陶土制作的容器作为交换货物的计量。以后,又采用简单的秤来测定质量。 在19世纪后期,随着工业化的迅猛发展,出现了大量迅速称量散料物品的自动秤。第一台定量自动秤约在1880年获得型式批准的,它是由倾斜象限杆秤发展来的。每次约可称量500kg。这种自动秤的称量过程分以下几个阶段:a,打开装满散料的容器; b,把散料输入到秤斗里进行称量;c,到达平衡位置时,关闭进料闸门;d,自动卸空料斗;e,秤斗和气动联动装置回到初始位置,自动地启动下一个称量程。 随着科技革命,传感器技术的迅速发展,单片机的出现,电子秤走进的人们的生活。 电子秤的发展过程与其它事物一样,也经历了由简单到复杂,由
4、粗糙到精密,由机械到机电结合再到全电子化,由单一功能到多功能的过程。特别是近30年以来,工艺流程中的现场称重,配料定量称重,以及产品质量的监测等工作,都离不开能输出电信号的电子衡器。这是由于电子衡器不仅能给出质量或重量值的信号,而且也能作为总系统中的一个单元承担着控制与检验功能,从而推动工业生产和贸易交往的自动化和合理化。 近年来,电子衡器已愈来愈多地参与到数据处理和过程控制之中。现代称重技术和数据系统已经成为工艺技术,储运技术,预包装技术,收货业务及商业销售领域中不可缺少的组成部分。 我国的衡器在20世纪40年代以前还全是机械式的,40年代开始发展了机电结合式的衡器。50年代开始出现了称重传
5、感器为主的电子衡器。由于称重传感器各项性能不断有新的突破。为电子秤的发展奠定了基础。国外如美国,西欧等一些国家在20世纪60年代就出现了0.1%称重准确度的电子秤,并于70年代中期约对75%的机械秤进行了机电结合式的电子化改造。到目前为止,电子秤的发展方兴未艾,并向着群控,程控和智能化猛进。第一章 任务和要求1.1 设计任务1利用multisim仿真软件,确定仪表放大器设计方案;2进行电路参数即增益计算,元件数值选定;3设计电路原理图;4在印制电路板焊接电路;5调试电路板,输出电压信号6利用CSY-V9.1虚拟仪器采集测量电路的输出电压至电脑中,并分析数据。7编写课程设计报告。1.2 设计要求
6、(1) 掌握金属箔式应变片的应变效应。(2) 掌握单臂、半桥和全桥电路的工作原理和性能。(3) 电路仿真与参数确定。利用multisim仿真软件,确定仪表放大器设计方案;应用运放OP07设计三运放仪表放大器,确定电路元器件具体参数; (4) 制作电路板。 仪表放大器增益可调,放大倍数为10002000;应变电桥和放大电路应具有调零功能。(5) 利用汇编或C51语言编写正确程序,调试电路板,采集放大器的输出电压,并显示。(6) 考虑A/D分辨率为20mV,要求灵敏度不低于40mV/20g。(7) 数据处理及分析。 利用CSY-V9.1虚拟仪器采集测量电路的输出电压至电脑中,确定系统线性度和灵敏度
7、(最小二乘法),要求非线性误差小于1.50%。(8) 编写课程设计报告,完成设计任务的期限为一个星期。第二章 功能分析2.1控制系统总体框架图利用传感器与检测技术实验室已有的应变式称重台,将四片应变片采用全桥形式接入测量电路,经过运放OP07组成的仪表放大器放大,再由串行模数转换芯片TLC549进行A/D转换,转换结果送入单片机AT89C51,通过同向门7407驱动四位数码管显示。仪表放大器的输出需经采集卡采集,经过CSY9.0虚拟仪器软件分析,得到较好的线性度和灵敏度后,再送入AD芯片进行转换。系统框图如图1所示。图1 电子秤系统框图2.2各模块基本原理2.2.1采用应变片称重的基本原理电阻
8、应变式传感器是利用电阻应变片将应变转换为电阻变化的传感器,传感器由在弹性元件上粘贴电阻应变敏感元件构成。当被测物理量作用在弹性元件上时,弹性元件的变形引起应变敏感元件的阻值变化,通过转换电路转换成电量输出,电量变化的大小反映了被测物理量的大小。应变片是最常用的测力传感元件。当用应变片测试时,应变片要牢固地粘贴在测试体表面,测件受力发生形变,应变片的敏感栅随同变形,其电阻值也随之发生相应的变化。通过测量电路,转换成电信号输出显示。当具有初始电阻值R的应变片粘贴于试件表面时,试件受力引起的表面应变,将传递给应变片的敏感栅,使其产生电阻相对变化R/R。在一定应变范围内R/R与的关系满足下式:式中,为
9、应变片的轴向应变。 定义K=(R/R)/为应变片的灵敏系数。它表示安装在被测试件上的应变在其轴向受到单向应力时,引起的电阻相对变化R/R与其单向应力引起的试件表面轴向应变之比。 电阻应变片计把机械应变转换成R/R后,应变电阻变化一般都很微小,这样小的电阻变化既难以直接精确测量,又不便直接处理。因此,必须采用转换电路,把应变片计的R/R变化转换成电压或电流变化。通常采用惠斯登电桥电路实现这种转换。若将电桥四臂接入四片应变片,如图2所示,即两个受拉应变,两个受压应变,将图2 差动全桥电路两个应变符号相同的接入相对桥臂上,构成全桥差动电路。在接入四片应变片时,需满足以下条件:相邻桥臂应变片应变状态应
10、相反,相对桥臂应变片应变状态应相同。可简称为:“相邻相反,相对相同”。 此时 全桥差动电路不仅没有非线性误差,而且电压灵敏度 为单片工作时的4倍,同时具有温度补偿作用。除上述全桥电路外,还有单臂和半桥电路两种。单臂、半桥、全桥电路的灵敏度依次增大;当E和电阻相对变化一定时,电桥的输出电压及其电压灵敏度与各桥臂阻值的大小无关。本次实训采用全桥电路。电桥供电电源为5V。2.2.2放大器的工作原理由于传感器的输出为微弱的低频差分信号,其电压幅度为微伏级,必须经过放大电路进行调理放大,再进行测量。常用的放大电路可以由单运放放大器、双运放放大器、三运放放大器或直接由集成仪表放大器(如AD620、AD62
11、3)等构成。下面以三运放构成的仪表放大器为例说明仪表放大器的工作原理及性能指标,运算放大器选择高精度运放OP07。1)基本电路及放大原理图3 三运放电路原理图如上图,由运算放大器特性可知OP1: OP2: 由分压原理可得故 由于放大器OP3为差值放大器,可知所以其差值放大倍数为当要改变增益时,仅须调整可变电阻R1即可。2)第二级放大电路的工作原理图4 第二级放大器原理图第二级放大电路其实是一个增益可调的同相运算放大器,其作用是把第一级放大电路输出的电压进一步放大,以满足需要,工作原理如下:设U4的输出电位为V*out,输入第一级放大电路输出Vout,而可变电阻P2的实际有效接入部分的阻值为RP
12、。对U4而言, 、+ 两端的电位应近似相等,即: 而流过R11 、R12电阻上的电流I11 、I12可分别表示为: ; 又因为 所以整理后,可得:放大系数(增益)为: 设电阻阻值分别为R11=10k,R12=10k,0RP10k,则第二级放大电路的理论计算增益为:3)集成运算放大器OP-07OP-07有A、D、C、E各档,它是高精度运算放大器,具有极低的失调电压(10V)和偏置电流(0.7nA),它的温漂系数为0.5V/,OP-07具有较高的共模输入范围(14V),共模抑制比CMRR=126dB,以及极宽的供电电流范围(从3V到18V),双电源供电。AD OP-07的封装、管脚排列以及基本连接
13、方式如下图所示,OP07一般不需要调零,如需调零,可在1和8管脚之间接一个电位器,阻值可为20k,参见基本接法图。 图5 AD OP-07封装图 图6 运算放大器引脚图通过利用Multisim7仿真软件,可以得到参考设计电路。两级放大电路Multisim7仿真如图7所示。图7 两级放大电路Multisim7仿真2.2.3 A/D转换的工作原理一般电子秤的A/D转换精度越高越好,A/D精度越高,电子秤的灵敏度越高。但12的A/D芯片价格比较贵,考虑到实验室条件,本次设计采用8位串行A/D芯片TLC549。TLC549是美国德州仪器公司生产的8位串行 A/D转换器芯片,可与通用微处理器通过SDO、
14、SCLK、CS三条口线进行串行接口 具有4MHz片内系统时钟和软硬件控制电路,转换时间最长17微秒。允许的最高转换速率为40000次/秒。总失调误差最大为0.5LSB(最低有效位)。可用于较小信号的采样。2.2.4 数码管显示的工作原理采用4位共阴数码管动态显示显示电压值。统一采用7407驱动数码管。首先显示一个数, 然后关掉,然后显示第二个数,又关掉,那么将看到连续的数字显示,轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。这
15、就是动态显示。第3章 硬件设计3.1 电路主要结构利用传感器与检测技术实验室已有的应变式称重台,将四片应变片采用全桥形式接入测量电路,经过两级放大电路放大,再由串行A/D转换芯片TLC549进行A/D转换,转换结果送入单片机89C51,通过7407驱动四位数码管显示电压值。接线如图8所示。图8 硬件系统电路结构3.2 12V稳压电路为确保给OP07供应稳定的12V电压。故设计12V稳压电路,如图9所示。图9 12V稳压电路 3.3 两级放大电路本设计采用两级放大电路,由两个部分组成。前一部分是采用三个运放构成的仪表放大器,后面的放大器将仪表放大器的输出电压进一步放大。接线如图10所示。图10两
16、级放大电路 3.4 A/D转换电路一般电子秤的A/D转换精度越高越好,A/D精度越高,电子秤的灵敏度越高。但12的A/D芯片价格比较贵,考虑到实验室条件,本次设计采用8位串行A/D芯片TLC549。TLC549与89C51接线如图11所示。图11 A/D转换电路图3.5 数字显示电路采用4位共阴数码管动态显示显示电压值。统一采用7407驱动数码管。数码管、7407与89C51接线如图12所示。图12 数字显示电路图第4章 软件设计4.1 总程序模块设计在总程序中先将系统初始化,然后循环调用A/D转换程序、把A/D转换后的数拆成BCD码程序和数码管显示程序。程序流程图如图13所示。图13 总程序
17、模块程序流程图4.2 A/D电路模块设计当为低电平时DATA OUT为高阻状态。转换开始之前,必须为低电平,以确保完成转换。89C52产生8个时钟脉冲,以提供作为549的I/O CLK的引脚输入。当为低电平时,最先出现在引脚上的信号为转换值的最高位。依次转换8个数据,直至8位转换完毕。程序流程图如图14所示。图14 A/D转换程序流程图4.3 拆字程序模块设计拆字程序既把A/D转换所得数据转换成BCD码,流程图如图15所示。图15 拆字程序流程图4.4 显示电路模块设计在单片机中实际的工作流程如下:先打开P2.0,送个位,然后关掉P2.0,打开P2.1送十位,再关掉P2.1,打开P2.2 送百
18、位 , 再关掉P2.2,打开P2.3 送千位,由于速度足够快,那么我们将看到4个数显示。显示电路模块流程图如图16所示。图16 显示电路模块流程图第5章 安装与调试5.1 硬件调试硬件调试是整个调试步骤中第一步,硬件电路的正确性,是其它各部分正常工作的先决条件。(1)首先判断购买的各个元器件本身是否已经损坏,按电路原理图安装电路,安装完毕,再则根据电路原理图仔细检查元器件是否有组装上的错误,诸如极性电容、集成块安装方向错误等。再利用万用表检测各个焊点是否存在虚焊等问题,并且按照原理图一部分一部分的检测。(2)进行调试,先硬件调试然后软件调试。R3是电桥的调零电阻,R17是整个放大电路的调零电阻
19、,R8,R19调整运放增益。如果运放两个输入端上短接,则输出端电压也应该等于0V。但事实上,输出端总有一些电压,该电压称为失调电压VOS。如果将输出端的失调电压除以电路的噪声增益,得到结果称为输入失调电压或输入参考失调电压。必须对放大器的两个输入端施加差分电压,以产生0V输出。调节R17的阻值即可将电路调零。(3)将应变电桥接入电路,调节R3调节电桥平衡,使电桥输出端电压为0V;再通过调节R17、R8、R19调节电路放大增益。使第一级放大倍数达到,第二级放大倍数在211倍之间。5.2 软件调试 软件调试主要应用Keil软件进行程序的调试,Keil软件全面支持汇编语言,C51语言的编译/连接、调
20、试。(1) A/D转换程序的调试 (2) 显示程序的调试5.3 综合调试在完成了硬件和软件调试工作以后,便可进行系统的综合调试。综合调试一般采用全速断点调试运行方式,在这个阶段的主要工作是排除系统中遗留的错误以提高系统的动态性能和精度。5.4 故障分析与解决方案5.4.1 故障出现情况(1) 数码管显示数值不稳定;(2) 数码管显示数值为零;5.4.2 解决方案(针对上述故障一一对应的解决方案)(1) 在主程序调用显示程序之前加了一个循环,实现循环调用显示程序,便实现了数值的稳定显示。(2) 一开始显示数值始终为零,然后将程序中volt=volt*5.0/255*1000改成volt=1234
21、,编译下载后可以稳定的显示1234,说明显示部分的硬件电路和程序没有问题。再测TLC549的输入电压,测出一个负值,由于此处的TLC549的REF+为+5V,REF-为0,所以TLC549的输入电压须为正值。然后调节应变电桥电阻的位置,便实现了TLC549的输入电压为正值,数码管便可正常显示。5.5 功能测试及结果分析测试电路板,增加砝码,记录输出电压信号,利用CSY-V9.1虚拟仪器采集测量电路的输出电压至电脑中,并分析数据。测试结果分析如图17所示。图17测试结果分析由图可分析知,灵敏度为105.06,非线性误差为0.41%,参照设计指标:考虑A/D分辨率为20mV,要求灵敏度不低于40m
22、V/20g。系统线性度和灵敏度(最小二乘法),要求非线性误差小于1.50%。本设计完全符合设计指标。 总 结在本次课程设计中,我花了大量的时间和精力进行资料查阅和调试电路板,结合自己所学,认真解决每一个功能模块中遇到的问题。在设计各个功能模块之前,我用Protel 99 SE绘图软件进行了各个模块的绘制,并最终绘制成一个总的电路原理图。但由于缺乏实践经验,电路中还有些功能不够完善,有写参数不够精确,而且抗干扰能力也不够好。总之,在这次课程实际中,我学会了怎样把自己所学的书本知识应用到实处。看到自己设计的功能电路能在仿真软件中运行、调试好的电路正确运行,我有了很大的成就感。另外,通过具体的操作,
23、我掌握了各个功能模块的接口设计方法,无论是在设计思想还是在动手能力上都有了很大的提高。参考文献1余成波等.传感器与自动检测技术M.高等教育出版社,2004.2沙占友等.新型专用数字仪表原理与应用M.机械工业出版社,2006.3周航慈等.智能仪器原理与设计M.北京航空航天大学出版社,20054张立科.8051系列单片机程序设计M.人民邮电出版社,2006.5张金铎.传感器用其应用M.西安电子科技大学出版社,2002.6沈红卫.基于单片机的智能系统设计与实现M.电子工业出版社,2005.7吴金戌.8051单片机实践与应用M.清华大学出版社,2003.附录附录1:软件程序#include#inclu
24、de #define uchar unsigned char#define uint unsigned int#define datapoint P0#define bitpoint P2uchar code word=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f;uchar code bitword=0xfe,0xfd,0xfb,0xf7;sbit SCLK=P12;sbit SDO=P10;sbit CS=P11;uchar BCD4;uint ADSS;uchar ADS20;void delay1s();void delayshor
25、t();void display();void TOBCD();void AD();void delay_50us(uint t);void main() uchar p; while(1) AD(); TOBCD(); for(p=0;p100;p+) display(); void AD() uchar i,j; for(j=0;j20;j+) CS=1; SCLK=0; _nop_(); _nop_(); CS=0; _nop_(); _nop_(); for(i=0;i8;i+) SCLK=1; _nop_(); _nop_(); ADSj=ADSj1; if(SDO=1) ADSj+
26、; SCLK=0; CS=1; /禁止TLC549,再次启动A/D转换 delay_50us(2); ADSS=0; for(i=0;i20;i+) ADSS=ADSS+ADSi; ADSS=ADSS/20;void TOBCD() uint temp;temp=ADSS; temp=temp*5000.0/255; BCD0=temp%10; /最低位 BCD1=temp/10%10; BCD2=temp/100%10; BCD3=temp/1000; /最高位void display() uchar i; bitpoint=0x00; for(i=0;i0;i-)for(j=100;j0;
27、j-);void delay1s() unsigned char h,i,j,k; for(h=5;h0;h-) for(i=4;i0;i-) for(j=116;j0;j-) for(k=214;k0;k-);void delay_50us(uint t)uchar j; for(;t0;t-) for(j=19;j0;j-) ;附录2:1)两级放大电路Multisim7仿真图2)硬件系统电路结构图附录3:系统测试结果分析附录4:元件明细表元件明细表名称数量名称数量电阻471瓷片电容10481K1103110K220pF2100K3电解电容10uF81M422uF1可变电阻501OP07芯片
28、41K1底座410K1549芯片1100K1底座1排阻300189C51芯片17407芯片1底座4底座14个共阴数码管数码管1晶振1底座1插孔若干插线若干附录附录1:软件程序#include#include #define uchar unsigned char#define uint unsigned int#define datapoint P0#define bitpoint P2uchar code word=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f;uchar code bitword=0xfe,0xfd,0xfb,0xf7;
29、sbit SCLK=P12;sbit SDO=P10;sbit CS=P11;uchar BCD4;uint ADSS;uchar ADS20;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;p100;p+) display(); void AD() uchar i,j; for(j=0;j20;j+) CS=1; SCLK=0; _nop_();
30、_nop_(); CS=0; _nop_(); _nop_(); for(i=0;i8;i+) SCLK=1; _nop_(); _nop_(); ADSj=ADSj1; if(SDO=1) ADSj+; SCLK=0; CS=1; /禁止TLC549,再次启动A/D转换 delay_50us(2); ADSS=0; for(i=0;i20;i+) ADSS=ADSS+ADSi; ADSS=ADSS/20;void TOBCD() uint temp;temp=ADSS; temp=temp*5000.0/255; BCD0=temp%10; /最低位 BCD1=temp/10%10; BCD
31、2=temp/100%10; BCD3=temp/1000; /最高位void display() uchar i; bitpoint=0x00; for(i=0;i0;i-)for(j=100;j0;j-);void delay1s() unsigned char h,i,j,k; for(h=5;h0;h-) for(i=4;i0;i-) for(j=116;j0;j-) for(k=214;k0;k-);void delay_50us(uint t)uchar j; for(;t0;t-) for(j=19;j0;j-) ;附录2:1)两级放大电路Multisim7仿真图2)硬件系统电路结构图附录3:系统测试结果分析附录4:元件明细表元件明细表名称数量名称数量电阻471瓷片电容10481K1103110K220pF2100K3电解电容10uF81M422uF1可变电阻501OP07芯片41K1底座410K1549芯片1100K1底座1排阻300189C51芯片17407芯片1底座4底座14个共阴数码管数码管1晶振1底座1插孔若干插线若干