毕业设计论文智能型身高体重仪的研制文档格式.docx
《毕业设计论文智能型身高体重仪的研制文档格式.docx》由会员分享,可在线阅读,更多相关《毕业设计论文智能型身高体重仪的研制文档格式.docx(85页珍藏版)》请在冰点文库上搜索。
本系统控制器部分的可选择的方案有以下两种:
方案一、采用大规模可编程逻辑器件来进行控制;
采用本方案,会使系统设计起来相当复杂。
又因为系统需要进行数码显示、语音播放和打印控制,所以不宜采用大规模可编程逻辑器件(CPLD、FPGA)来实现。
因为大规模可编程逻辑器件一般是使用状态机方式来实现,即所解决的问题都是规则的有限状态转换问题。
本系统状态较多,用本方案难度较大。
方案二、采用单片机来实现控制
以单片机为主体的设计,可以容易地将计算机技术和测量控制技术结合在一起,组成新一代的所谓“智能化测量控制系统”。
这种新型的智能仪表在测量过程自动化、测量结果的数据处理以及功能的多样化方面,都取得了巨大的进展。
所以本系统采用本方案,即基于51系列单片机来实现,又因为系统没有其它高标准的要求,再考虑到本设计中程序部分比较大,所以我们最终选择了AT89C52这个比较常用的单片机来实现系统的功能要求。
AT89C52内部带有8KB的程序存储器,基本上已经能够满足我们的需要;
有四个I/O口,不能满足本设计中功能的要求,所以我们用它的P0口和8255进行了扩展。
2.2体重测量部分方案论证
体重测量部分是由传感器将站在测量台上的被测者的体重转变为近似线性的电压输出,这个微小的电压是毫伏级的,它不能满足A/D转换器的输入需求,所以要对这个微小的输出电压进行信号的前级处理即滤波和放大后,才能满足A/D转换所需的电压幅度,经过A/D转换器的转换将模拟电压值转换为相应的数字量,由单片机AT89C52进行运算处理。
至于如何运算才能使处理后的结果对应被测者的真实的体重,这主要是由A/D转换器的分辨率和称重传感器的量程所决定的,结果的运算主要由软件来实现。
2.2.1传感器的方案论证
传感器在电子衡器中的核心部件,也是本仪器中性能价格比的基本决定因素,所以传感器的选择具有着重要的意义。
测重的传感器我们可以用压力传感器,也可以用称重传感器。
考虑到称重传感器集材料、工艺技术、加工测试技术及微电子技术于一体,技术含量比较高,属高科技产品,其几十年的发展也使其在原理、材料、电子测量技术等方面都已趋向成熟,又考虑到一般电子衡器大多都是采用称重传感器,所以体重测量部分中我们也选择了称重传感器。
又考虑到人的体重一般都在0~120Kg以内,再根据本设计要求,重量误差应控制在±
0.15Kg,又考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器,所以我们确定传感器量程为150Kg。
最终方案我们选择的是上海开沐自动化有限公司生产的NA-TH150型称重传感器,量程150Kg,允许过载为150%F.S。
它可以满足本系统的精度要求、量程要求以及价格等要求。
2.2.2前级处理电路部分方案论证
称重传感器存在着桥压的纹波等一些干扰信号,再加上称重传感器输出的电压信号为毫伏级,所以我们要对称重传感器的输出信号进行处理,才能输入A/D转换器中。
前级处理电路部分,我们考虑可以采用以下几种方案:
方案一、利用普通低温漂运算放大器构成前级处理电路;
普通低温漂运算放大器构成多级放大器会引入大量噪声。
由于A/D转换器需要很高的精度,所以几毫伏的干扰信号就会直接影响最后的测量精度。
所以,此中方案不宜采用。
方案二、主要由高精度低漂移运算放大器构成差动放大器,而构成的前级处理电路;
差动放大器具有高输入阻抗,增益高的特点,可以利用普通运放(如OP07)做成一个差动放大器。
其设计电路如图2-2所示:
电阻R1、R2电容C1、C2、C3、C4用于滤除前级的噪声,C1、C2为普通小电容,可以滤除高频干扰,C3、C4为大的电解电容,主要用于滤除低频噪声。
图2-2普通运放所设计的差动放大器电路
优点:
输入级串入跟随放大器,增大了输入阻抗,中间级为差动放大电路,滑动变阻器R6可以调节输出零点,最后一级可以用于微调放大倍数,使输出满足满量程要求。
输出级为反向放大器,所以输出电阻不是很大,基本上可以符合应用的要求。
缺点:
此电路要求R3、R4相等,误差将会影响输出精度,难度较大。
实际测量,每一级运放都会引入较大噪声。
对精度影响较大。
方案三:
采用专用仪表放大器,如:
INA126,INA121等构成前级处理电路。
此类芯片内部采用差动输入,共模抑制比高,差模输入阻抗大,增益高,精度也非常好,且外部接口简单。
以INA126为例,其接口电路如图2-3所示:
图2-3INA126接口电路
放大器增益
,通过改变
的大小来改变放大器的增益。
基于以上分析,我们决定采用由制作方便而且精度很好的专用仪表放大器INA126来完成前级处理电路的设计。
2.2.3A/D转换电路部分方案论证
考虑到对体重的测量,精度要求不是很苛刻,而10位A/D转换器误差应在精度范围之内。
10位A/D精度:
150Kg/1024=0.146Kg,这样的精度可以满足我们设计的要求,所以我们选择10位或者精度更高的A/D。
我们考虑用以下方案:
方案一、逐次逼近型A/D转换器,如:
ADS7805、ADS7804等。
逐次逼近型A/D转换,一般具有采样/保持功能。
采样频率高,功耗比较低,是理想的高速、高精度、省电型A/D转换器件。
高精度逐次逼近型A/D转换器一般都带有内部基准源和内部时钟,基于AT89C52构成的系统设计时仅需要外接几个电阻、电容。
但考虑到所转换的信号为一慢变信号,逐次逼近型A/D转换器的快速的优点不能很好的发挥,且根据系统的要求,10位AD足以满足精度要求,太高的精度就反而浪费了系统资源。
所以此方案并不是理想的选择。
方案二、双积分型A/D转换器:
如:
ICL7135、ICL7109、ICL1549等。
双积分型A/D转换器精度高,但速度较慢(如:
ICL7135),具有精确的差分输入,输入阻抗高(大于
),可自动调零,超量程信号,全部输出于TTL电平兼容。
双积分型A/D转换器具有很强的抗干扰能力。
对正负对称的工频干扰信号积分为零,所以对50Hz的工频干扰抑制能力较强,对高于工频干扰(例如噪声电压)已有良好的滤波作用。
只要干扰电压的平均值为零,对输出就不产生影响。
尤其对本系统,缓慢变化的压力信号,很容易受到工频信号的影响。
故而采用双积分型A/D转换器可大大降低对滤波电路的要求。
作为测量体重的仪器,系统对A/D的转换速度要求并不高,精度上10位的AD足以满足要求。
另外双积分型A/D转换器具有较强的抗干扰能力、精确的差分输入以及低廉的价格等优点。
同时我们又考虑到串行输入/输出的A/D转换芯片具有接线简单,功耗低,价格低廉等特点,综合的分析其优点和缺点,我们最终选择了ICL1549。
2.3身高测量部分方案论证
身高测量有我们可以采用以下的方案:
方案一、利用标尺和刻度来测量身高;
这个方案与我们所设计的智能化仪器原则相违背,所以我们舍弃此方案。
方案二、采用电子仪器控制测高平杆接触人体来自动完成身高的测量;
此方案中身高的测量是用测高平杆自动带动码盘转动,码盘孔用光电读取头把测高脉冲传给单片机进行计数,从而得到被测者的身高值。
这种方案测量速度慢,而且直接导致测量仪器设计复杂,体积庞大,也体现不出我们所说的智能化,所以我们也不采用本方案。
方案三、采用超声波传感器或光栅传感器等来完成无接触的身高测量。
身高测量中是体现我们智能仪器的一个重要的方面,所以在方案的选择上我们应舍弃一些传统的方案;
又由于超声波指向性强,能量消耗缓慢,在介质中传播的距离远,经常用于距离的测量;
再加上利用超声波检测距离,设计比较方便,测量速度快,计算处理出比较简单,并且在测量精度方面也能达到日常使用的要求;
所以我们本设计中采用超声波传感器来进行身高的测量。
2.4时钟日历部分方案论证
时钟日历部分我们可采用以下两种方案:
方案一、采用并行接口的时钟日历芯片;
并行芯片我们常用的是DS12C877,它解决了K2K问题,内部还具有114个RAM可供系统在掉电后存储系数等数据;
它的连接是与RAM使用同一个插座,需要8根数据地址线。
方案二、采用串行接口的时钟日历芯片。
串行芯片我们常用的是DS1302,它计时准确,可对秒、分、时、日、周、年、月以及带闰年补偿的年进行补偿。
它有自己的振荡电路,它只需要3根数据线和单片机通讯,接线简单方便,在系统运行时还有对后备电源自动充电功能,在掉电时,可以继续计时。
考虑到本设计中对时钟日历部分不是必要的部分,只是作为功能扩展部分,所以我们在设计中选择性比较大,但是考虑到价格和接线等因素,在本设计中我们选用了本方案中的这种高性能、低功耗、带RAM的实时时钟芯片——DS1302。
2.5数据显示部分方案论证
数据显示部分我们可以采用以下的方案:
方案一、采用LCD液晶显示;
方案二、采用LED数码管显示。
考虑到本设计中的需要显示的数据分为两部分,初始时为日历和时钟部分,待测量结束后,显示为身高和体重的值,这两个部分都只是数字数据,而且都只需要8位(月、日、时、分各2位;
身高4位,体重4位)就可以满足要求,考虑到LCD比LED的价格工作电压等因素,再加上在本设计中我们对显示部分没有太高的要求,所以本设计中的显示部分采用方案二即用普通的8位共阴极7段数字型LED,分时显示。
在共阴极7段数码管的驱动问题上,我们选择了MAX7219,MAX7219是集成的串行输入/输出共阴极显示驱动器,这种接口微处理可驱动8位7段数字型LED或条形图显示器或64只独立LED。
MAX7219内置有BCD译码器、亮度控制寄存器、多路扫描电路、段及数字驱动器和用于存储每一位的8×
8静态RAM,对所有的8个LED来说,只需要外接一个电阻就能控制段电流的大小。
2.6语音播放部分方案论证
语音播放部分可以采用以下方案:
方案一、采用只能播放语音的芯片;
这种芯片为放音芯片,它的数据大多放在单片机的内存单元中,使用起来相当不便,而且增加了软件设计时的复杂程度,同时用这种芯片修改起来也相当的复杂,所以我们不用此方案。
方案二、采用语音录放芯片。
例如ISD1400系列单片机语音录放芯片,这种芯片大多由时钟振荡器、内部存储器、微音放大器、自动增益控制电路、抗干扰滤波器、差动功率放大器等高品质语音录放电路所构成。
考虑到本部分只用于给用户提供一些操作提示和报告测量结果。
根据系统的要求,我们采用美国信息存贮器件公司ISD1400系列中的ISD1420,它采用在E2PROM中直接模拟量存贮技术(DAS),省去数字存贮器、数据转换及备用电电源等外围电路,具有低功耗、零功率存贮信息、无需编辑开发机、高保真语音录放等特点。
2.7打印控制部分方案论证
打印机可供我们选择的方案有以下几种:
方案一、采用高档型的打印机;
这种打印机功能齐全,打印速度快,但体积较大,价格昂贵,又考虑到在本设计中我们对打印的功能无如此高的要求,所以我们不用此方案。
方案二、采用微型的针式打印机。
根据本设计的要求和系统的功能要求,又考虑到我们打印的只是一般的数字数据和一般的字符,所以点阵式打印机就可以满足我们的要求;
再加上价格体积等方面的因素,我们决定采用本方案,微型打印机型号我们选择的是TPµ
P-40A。
2.8扩展I/O部分方案论证
由于本系统外围器件较多,要想满足本设计的要求,AT89C52本身的I/O口是不够用的,所以我们要对其进行扩展。
扩展的方案有以下几种:
方案一、采用Intel公司的8255(3×
8位)进行扩展。
方案二、采用Intel公司的8155(2×
8位+6位)进行扩展。
方案三、采用Intel公司的8243(4×
4位)进行扩展。
方案四、采用Silos公司的PIO(2×
8位)进行扩展等。
根据系统设计要求及考虑到各因素,我们通过单片机的P0口和8255进行了扩展,扩展后8255的接口:
PA口和PC口用来控制打印机,PB口用控制语音处理电路。
2.9电路电源部分
本设计中除了超声波发射电路中的555定时器需要+12V电源外,其他的芯片大都是用+5V电源供电,所以我们在系统中需要提供+12V和+5V的电源。
在本设计中电源部分可以由两个方案来实现:
方案一、直接用直流稳压器输出+12V和+5V直流电压;
方案二、通用的220V交流电压通过变压器变压并整流后输出+15V,并接至LM7812和LM7805的输入端Vin。
考虑到价格等各种因素,在本系统设计中我们采用方案二。
3系统硬件设计
3.1智能型身高体重仪的硬件设计概述
本设计要求系统完成:
在开机后,无人测量时,仪器显示日期和时间,日期和时间数据由时钟芯片DS1302提供,数据用MAX7219驱动的8位7段LED显示;
有人测量时,系统自动启动测量电路。
测量过程中,由控制器发出控制命令,启动身高测量电路和体重测量电路;
测量结束后,数据送入控制器AT89C52,再由控制器AT89C52把结果送入显示缓冲区,并刷新显示部分,显示身高和体重值,此时8位LED不再显示日期和时间,而是用来显示测量结果;
同时由控制器AT89C52通过扩展芯片8255送出数据命令来控制语音芯片ISD1420,报告出身高体重值,并报告所计算出被测者体型情况;
最后再由控制器AT89C52通过8255送出数据/命令来对打印机TPµ
P-40A进行控制,打印出测量结果。
本设计的控制核心即控制器部分我们采用的是ATMEL公司生产的89系列单片机中的AT89C52,所有的控制命令和数据处理都由它来完成。
测量身高部分通过超声波传感器发射电路和超声波接收电路完成,并用AT89C52中的定时器进行计时,计算出所用的时间,然后再根据DS18B20测出的温度,对声速进行补偿,然后由时间乘以声速即可计算出超声波探头与被测者头部的距离;
由于超声波传感器的探头离被测者脚底的距离是固定和已知的,所以两个距离的差即为被测者的身高。
测量体重部分通过称重传感器输出的毫伏信号,经过前向通道中的放大滤波,输出到A/D转换器ICL1549的输入端,经过A/D转换后,数据直接输出到控制器AT89C52,由单片机对其进行运算处理计算出结果。
显示、语音和打印部分,在设计中比较的具体化,在此我们不于叙述,我们将在本章的后面几节中给予详细说明。
3.2控制单元设计
由于本设计的核心即控制单元的设计只有一个AT89C52单片机,又因为这种单片机在我们的日常生活和学习工作中比较常用,所以我们在此就不再单单对此单片机进行性能的介绍。
AT89C52各管脚的分配和应用可参考附录2:
智能型身高体重仪的总电路图。
3.3测量身高电路设计
本设计中测量身高电路主要是通过超声波测距电路实现的。
超声波测距电路主要包括:
温度检测电路、超声波发射及控制电路、超声波接收电路、信息处理电路及其辅助电路组成。
为降低调试的复杂性,提高系统安装的灵活性,超声波发射与接收采用分离设计,即单独采用发射器和接收器,而不是采用发射接收一体化器件。
测高电路系统电源以+12V和+5V为主电源,它通过本设计中的电源电路实现,在此我们不予详述。
超声波测距电路原理概述:
所谓超声波是指高于2000Hz的机械波,具有强度大、方向性好等特性。
超声波一般采用压电效应或磁致伸缩效应产生。
利用超声波测量距离的原理可简单阐述为:
超声波定期发送超声波,遭遇到障碍物时发生反射,发射波经由接收器接收并转化为电信号,这样只要测出发送和发射的时间差△t,然后按式:
S=C*△t/2(3-1)
计算出距离,式中,C为超声波在空气中的传播速度,0℃时为331m/s,25℃时为347m/s,其与环境温度T(℃)的关系如下式表示:
C=331.4+0.61*T(3-2)
由此可见,声速与温度有密切关系。
在应用中,如果温度变化不大,并且无特殊精度要求,可认为声速在空气中是基本不变的。
否则,必须进行温度补偿。
温度补偿通常有两种方法:
补偿方法1:
每次先按照公式3-2计算当时声速,然后再按照公式3-1计算距离。
特点是:
根据当时的温度得到精确声速,从而计算得到的距离值比较精确;
但程序中牵涉到浮点计算,对于微处理器系统实现,难度相对较大。
但经多次测试,用此方法最大误差一般不超过1cm,其精度可以满足本设计中的要求。
补偿方法2:
根据当前的环境温度,查取特征温度值——声速表中最接近温度对应的声速值,作为当前声速,然后按照公式3-1进行距离计算。
其特点是:
避免了复杂的声速计算,而且可事先计算,得到温度——声速二维表,将之固化到系统程序中,然后直接使用查表法得到声速值,程序实现比较简单,但其所得精度没有方法1高。
另外,由于超声波测距电路利用的是接收发射分离设计来进行距离的计算,因而不可避免地存在发射与反射之间的夹角,其大小为2α。
当α较小时,可直接按式3-1进行计算得到距离;
当α较大时,则必须进行距离修正,修正公式为式3-3:
S=COSα*C*Δt/2(3-3)
在公式3-3中,倾角α与超声波装置和接收装置的安装位置有关。
在实际应用中,就应该注意到适当安装。
在本设计中,我们会努力使α尽可能的小。
3.3.1超声波发射电路的设计
超声波发射器包括超声波产生电路和超声波发射控制电路两个部分,超声波探头(又称“超声波换能器”)的型号我们选用的是CSB40T。
可采用软件发生法和硬件发生法产生超声波。
前者利用软件产生40KHz的超声波信号,通过输出引脚输入至驱动器,经驱动器驱动后推动探头产生超声波。
这种方法的特点是充分利用软件,灵活性好,得需要设计一个驱动电流为100mA以上的驱动电路。
后者是利用超声波专用发生电路或通用发生电路产生超声波信号,并直接驱动换能器产生超声波信号。
这种方法的特点是无需驱动电路,但缺乏灵活性。
本测距仪采用的是硬件发生法。
具体电路如图3-1所示:
图3-1超声波发射电路
从图3-1可知,40KHz的超声波信号是利用555时基电路振荡产生的。
基振荡频率计算公式如下:
f≈1.4÷
((R9+2*R8)*C10)
将R8设计可调电阻的目的是为调节信号频率,使之与超声波探头的40KHz固有频率一致。
为保证555时基具有足够的驱动能力,宜采用+12V电源。
START为超声波发射控制信号,由微处理器进行控制。
3.3.2超声波接收电路的设计
超声波接收器包括超声波接收探头、信号放大电路及波形变换电路三部分。
超声波探头必须采用与发射探头对应的型号,主要是频率要一致,这里我们选用CSB40R,否则因无法产生共振而影响接收效果、甚至无法接收。
由于经探头变换后的正弦波电信号非常弱,因此必须经放大电路放大。
正弦波信号不能直接被微处理器接收,因此必须进行波形变换。
按照概述部分所讨论的原理,微处理器需要的只是第一个回波的时刻,因此可采用比较电路将正弦波转换为脉冲方波,由软件查询得到第一个回波前沿时刻。
接收电路的设计可采用专用接收电路,例如LM1808,也可以采用通用电路来实现。
超声波在空气中传播时,其能量的衰减程度与距离成正比,即距离越近,信号越强;
距离越远,信号越弱,通常在1mV~1V之间。
当然,不同的接收探头的输出信号强度存在差异。
由于输入信号的范围较大,对放大电路的增益提出了两个要求:
1)放大增益要大,以适应小信号时的需要;
2)放大增益要能变化,以适应信号变化范围大的需要。
另外,由于输入信号为正弦波,因此必须将放大电路设计成交流放大电路。
为减少负电源的使用,放大电路采用单电源供电,信号放大和变换采用了一片LM324通用放大器,前三级为放大器设计,后一级为比较器设计。
LM324既可以双电源供电,也可以单电源工作,因此能满足使用要求。
也可以选用其他放大运算器,但必须注意其能否单电源工作,因为不是所有运算放大器都能单电源使用的。
为满足交流信号的需要,每一级放大器均采用阻容电路进行电平偏移,即图3-2所示:
图3-2超声波接收电路
图中C9、C10、C11和C12,容量均为10µ
F,实现单电源条件下交流信号的放大。
对于交流信号而言,电容为短路,因此前三级放大电路的放大增益均为10。
在实验中发现,距离较近时,两级放大时的增益已能输出足够强度的信号了,第三级有可能出现信号饱和,但距离较远时,两级放大不能满足,必须采用三级放大。
为提高自适应能力,可在上图的基础上,增设增益选择电路。
由软件自动完成增益切换,切换的原理是先进行大增益搜索回波,一旦发现回波,但后续无回波的情况,说明增益过大,必须减少一级增益。
当然,软件设计的难度会大大增加,而且这种软件自适应增益法只能适用于静态测量,在动态测量条件下,会导致距离测量误差增大。
其原因是第一回波不可能作为距离依据,采用的可能是第二回波或第三回波的前沿信号,存在时差问题。
在本设计中由于所测的距离较近,所以为了避免信号的饱和,我们只用了两级放大。
合理调节电位器R24,选择比较基准电压,可使测量更加准确和稳定。
实践证明,比较参考电压的选取非常关键,它与测量灵敏度、系统鲁棒性都有关联。
选小时可提高测量灵敏度,便鲁棒性下降,容易出现虚假回波被捕捉的情况,选大时则情况相反。
显然,按照上图的设计,当没有回波信号或回波信号很弱(即超出测量范围)时,比较器输出HIGH为高电平,反之。
为低电平。
3.3.3基于DS18B20的温度检测电路的设计
温度测量电路是基于DS18B20的线式数字