电子式拉力计的设计方案.doc_第1页
电子式拉力计的设计方案.doc_第2页
电子式拉力计的设计方案.doc_第3页
电子式拉力计的设计方案.doc_第4页
电子式拉力计的设计方案.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子式拉力计的设计方案1 绪论1.1 课题研究的背景及意义通常电子仪表可以分为模拟式和数字式两种类型。模拟仪表的特点是通过指针的移动,能连续、直观地反映被测变量的测量结果及变化过程。模拟仪表因设计原理而存在固有的局限性:其显示精度受到表盘刻度限制,精确度提高很困难;读数存在主观误差;模拟显示的跟随速度不能太快;模拟记录是一种纸制记录,换纸、换笔既不方便也很浪费;记录结果在纸上,不利于信息的进一步处理1-2。数字式仪表是电子技术、计算机技术与精密测量技术结合的产物,已成为仪表领域中一个重要分支。数字式仪表具有响应快、精确度高、分辨率高等优点,还能实现人机对话,便于数据的进一步处理。生产的发展对电子仪表提出了越来越高的要求,需要仪表既准确的显示、记录参数大小,又能借助电脑连续反映出参数变化的过程和趋势。用户需要通过测量仪表准确判断设备运行状态从而有效分析数据和实现遥测,传统的电子仪表已经不能满足要求。因此带有CPU的智能数字式仪表,能与电脑有效连接以实现连续记录,对仪表技术的开发和应用都极具研究价值3。由于智能型仪表功能上明显的优点,进年来,化工业的四大测量参数压力、温度、液位及流量的测量及成分测量、阀位控制都广泛的运用到智能型仪表,DCS的推广和应用,也带动了智能型仪表的快速发展和常规仪表的更新换代。因为智能型仪表可与DCS进行数字通讯,在DCS操作界面上也能方便地进行故障检查、参数修正等工作;智能型仪表推广的越来越普及,也大大的促进了国内仪表厂商开发智能型仪表的积极性,开发出很多符合HART协议和以微处理器为基础与上位机联网通讯的智能型仪表产品;随着仪表智能程度的提高和微处理器功能的加强,现在智能仪表的功能已经不仅限于数据采集,还加入越来越多的远程控制功能。测量仪表的主要功能由数据采集、数据显示和数据分析等三大部分而组成。在虚拟现实系统中,数据显示和分析完全用上位机的软件来完成。所以,只要提供一定的数据采集硬件,就可以与PC机组成一个测量仪表。这种基于PC机的测量仪表被称为虚拟仪表。在虚拟仪表中,即使是同一个硬件系统,只要配套不同的软件,就可得到功能完全不同的测量仪表。可见,软件系统是虚拟仪表的核心,“软件就是仪表”。传统的智能仪表主要在仪表技术中用了某种计算机技术,而虚拟仪表则强调在通用的计算机技术中吸收仪表技术4。作为虚拟仪表的核心,软件系统具有通用性、可视性、通俗性、可扩展性以及可升级性,能为用户带来极大的利益,因此,具有传统的智能仪表所无法比拟的应用前景和市场。电子式拉力计,是一种体型轻巧、功能强大的数字式电子仪表。随着微电子技术的高速发展,电子式拉压力计开始渐渐取代传统的机械式拉压力计,在拉压力测量市场中占有了越来越重要的地位5。传统的机械式拉压力计因为在机械方面固有的误差和耐久度方面的缺陷,在现代高精度的测量要求下,已经不能满足人们的需求。电子式拉力计和传统的机械式拉压力计相比,具有精度高,功能强的特点。目前国内市场上的数显电子式拉力计中,日本的产品占主导地位,其次是美国,而国内品牌的电子拉力计与行业领导品牌具有一定差距。因此,国内市场对拉力计的需求目前基本上全靠进口6。但是,这些产品的价格十分昂贵。因此,我们迫切需要有自己的电子式拉力计。本设计的目的是研制出高性能、易使用的电子式拉力计系统。本课题要求完成一个基于单片机的电子式拉力计的设计,通过对信号的采集,放大,A/D转换自动的进行数据采集和分析,达到对拉力的测试功能;本系统以ATmega16AVR单片机作为控制系统的核心部件,以键盘输入实现两档测量量程(050N, 50500N)的转换,测量精度为1,采用液晶显示器显示结果。从而实现拉力的测试和显示。1.2 电子式拉力计原理电子式拉力计是利用拉力传感器感受拉力变化,然后输出模拟信号。并经过放大器对其输出的信号进行放大处理,经过A/D转换后变成数字信号输送到单片机进行分析处理。最后处理结果在LCD液晶显示模块上显示其拉力大小。其原理如图1.1所示图 1.1 拉力计原理1.3 本文的主要工作本文主要从硬件和软件方面设计了电子式拉力计,所做工作如下:1.在查阅大量资料的情况后,针对目前已有电子式拉力计的不足,对电子式拉力计的功能进行创新、改进,降低数字电子式拉力计的功耗,提高数显电子式拉力计的测量精度。2.设计了电子式拉力计各模块的硬件组成,绘制了各个功能模块的原理图并画出总图(附录A)。3.采用模块化设计方法,设计并实现了电子式拉力计软件上的各个功能。2 设计方案的比较及论证本设计要求完成一个电子式拉力计的设计,通过拉力传感器对信号的采集、放大、A/D转换进行数据采集和分析,达到对拉力的测试功能。本设计要求以单片机作为控制系统的核心部件,以键盘输入实现两档测量量程(050N, 50500N)的转换,测量精度为1,采用LCD液晶显示屏显示,从而实现拉力的测试和显示。鉴于以上要求以及成本上的考虑并结合本人对硬件的掌握程度,联系系统原理图,本章节就AT89C51方案和ATmega16AVR方案进行比较和论证。2.1 设计方案的比较 2.1.1 AT89C51方案如图2.1所示图2.1 AT89C51方案原理图 2.1.2 ATmega16AVR方案如图2.2所示图2.2 ATmega16AVR方案原理图 2.1.3 方案的确定通过对两个方案的原理图比较可以发现,由于ATmega16AVR单片机本身内部集成了一个8路10位的A/D转换器,如果选用ATmega16AVR方案不但可以节省硬件成本,而且降低了电路的复杂度,更有利于拉力计精确度的提高;而在软件上,两者的复杂程度是相似。故本课题设计选用方案二(ATmega16AVR方案)。其硬件原理图见附录A。2.2 主要元件介绍 2.2.1 拉力传感器简介传感器是能够感受规定的被测量并按人们需求转换为可用的信号进行输出的器件或装置。它一般由敏感元件、转换元件以及其它辅助元件组成。敏感元件是传感器中感受被测量的变化并转换为可用信号的元件,它将被测量转换为电信号或其它非电信号。转换元件则将敏感元件输出的非电信号转换为电信号。而辅助元件一般用于对微弱的电信号进行放大,或者将模拟电信号转换为数字电信号,以便A/D转换器能够对其进行捕获或者直接能被数字设备识别。压力传感器是电子式拉力计的核心部件之一,压力的测量范围通常为 0-5Kg。常见的有根据金属应变片电容原理制成的压力传感器,它主要以手工生产为主,体积大,对生产经验要求高,所以,一致性,互换性较差。而根据硅晶片惠斯通原理制作的电阻式压力传感器,具有更小的体积小、重量轻、耗能低、响应时间短等优点,被广泛应用于医疗器械,消费类电子中7-9。作为拉力计的核心部件,拉力传感器的性能直接影响到整个设备的测量精度和灵敏度,因此,对拉力传感器进行选择是相当有必要的。以下将对两种常用的典型的拉力传感器进行简要介绍。 2.2.1.1 变阻式传感器变阻器式传感器也被称为电位计式传感器。它通过改变电位计接触位置,将位移的变化转换为电阻值的变化,并在外加电源的作用下输出电流或电压信号。它的特点是结构简单,性能稳定,使用方便。但是由于很细的电阻丝烧制非常困难,且烧制时要求保持恒张力,所以分辨率很难高于20um。触点和电阻丝之间的接触面因变动和磨损、尘埃附着等使触点在移动过程中的接触电阻发生非线性变化,从而产生噪声。用导电塑料制成的变阻器式传感器性能得到改善。此种传感器广泛运用于工厂配料、机械制造、数控系统、拉力试验机等计量与工业控制系统中。 2.2.1.2 电阻应变式传感器电阻应变式传感器的原理是:弹性体,也被称为弹性元件、敏感梁,在外力作用下产生弹性变形,使粘在它表面的电阻应变片(转换元件)也随同产生变形,电阻应变片变形后,它的阻值将发生变化,再经相应的测量电路把这一电阻变化转换为电信号(电压或电流),从而完成了将外力的变化转换为电信号的过程。其具有灵敏度高,机械滞后小,横向效应小,体积小等特点。但是应变片的温度稳定性较差,导致灵敏度的离散度较大,当外力变化很大时非线性误差较大。因此针对不同需要MT-TS系列应变式拉压传感器具有不同的规格和量程,广泛应用于水泥,煤炭,船舶,工程,机械等行业的测试及控制系统。考虑到电子式拉力计需要质量轻,体积小,量程小,便于携带,便于维修,灵敏度高等特点,同时结合市场上传感器的供求情况和性价比,故本设计选用应变式拉压传感器MT-TS。MT-TS应变式拉压传感器采用全密封、全补偿的箔式应变片,通过专门设备将应变片粘贴在应变梁的应力集中点上。并经高温处理后,使之与应变梁较好的粘合在一起,其具有如下优点:1精度高,测量范围广;2使用寿命长,性能稳定可靠,输出特性的线性好;3结构简单,尺寸小,重量轻;4响应频率高,适合测量动态过程;5环境适应能力强,可以在高温、高压、振动、核辐射及化学腐蚀很严重的恶劣环境下工作。该传感器内部有高精度的电阻应变片,在压力的作用下能产生一定应变,从而引起其电阻阻值的变化,可以通过应变与压力关系,将压力信号转换为电信号。其基本性能参数如下:恒压供电:推荐5VDC,最大15VDC; 桥路阻抗:120,350,650; 桥路形式:惠斯通全桥; 绝缘电阻:大于100M/100VDC; 电缆长度:1.5mPVC四芯屏蔽电缆; 防护等级:IP65;输出信号:可按要求为05V或420mA; 综合精度:0.05%FS; 重复性误差:0.05%FS; 滞后误差:0.05%FS; 零点输出:5%FS; 灵敏度输出:20.1 mV/V; 补偿温度范围:050; 工作温度范围:-2080; 零点温度漂移:0.05%FS/;灵敏度温度漂移:0.05%FS/; 过载能力:150%FS。 2.2.2 ATmega16AVR系列单片机近几年来,随着单片机技术的发展,世界上很多芯片制造商纷纷推出自己的新一代产品,品种极为丰富。由于竞争相当激烈,其中低功耗、本身具有液晶显示驱动器与看门狗定时器的多功能单片机将成为主流器件。全球著名半导体器件制作商爱特梅尔半导体公司(Atmel)所生产的新型芯片AVR系列单片机,以其独特的性能、丰富的片内外设成为电子技术设计开发人员的新宠。 AVR单片机是Atmel公司于1997年推出的基于RISC指令架构的高性能、低功耗8位单片机。RISC(Reduced Instruction Set Computer,精简指令集计算机)开发于上世纪90年代、综合了半导体集成技术和软件技术的新微型处理器架构。RISC是相对于CISC(Complex Instruction Set Computer,复杂指令集计算机)而言的。RISC通过优选使用频率最高的简单指令、避免复杂指令、采用固定指令长度、减少指令格式和寻址方式等方法来缩短指令周期,提高处理器的运算速度。采用RISC结构,使得AVR系列单片机具备1MIPS/MHz的高速处理能力。 2.2.3 LCD显示器随着信息技术、计算机技术和电子技术的飞速发展,各种仪器仪表逐渐趋于智能化和多功能化。由于低功耗、高画质、轻巧、平板型结构、不眩光、不刺激眼睛、无电磁辐射和 X 射线等诸多优点,液晶显示器已经在平板显示领域中占据了主导地位,更由于它显示字符规范、可汉字化、能显示各种图形、曲线等丰富的内容。作为重要的人机交互设备,显示器具有不可替代的作用。在小型智能仪器中,普通的7段LED数码管只能用来显示数字。若遇到要显示图像或者文字时,则必须使用LED点阵或者液晶显示器(简称LCD)。但是LED点阵存在着功耗大、显示效果差的缺点,而LCD凭借其功耗低、容量大、分辨率高、稳定性好、辐射低等优点被广泛运用于智能仪器仪表的显示,逐渐成为显示器市场的主流。 2.2.3.1 液晶显示原理液晶显示器。简称LCD(Liquid Crystal Display)。液晶显示器是以液晶材料作为基本元件。液晶是一种能同时呈现出固体和液体特征的物质。液晶从其形状和外观上来看比较像是一种液体。但它的水晶式的分子结构却又使它表现出固体的形态。所以液晶同时具备了液态流动的特性和固态晶体的光学特性。当通电时导通, 按序列排列, 使光线容易通过;不通电时排列混乱, 使光线不能通过,这就让液晶能如闸门般地阻隔或让光线穿透。从显示器结构上说, 液晶面板包含了两片相当精细的无钠玻璃素材,称为Substrates,中间夹着一层液晶。当光线通过这层液晶时, 液晶本身会按序排列或扭转呈不规则状, 因而阻隔或者使光束顺利通过。大多数液晶都属于有机复合物, 由长棒状的分子构成。在自然状态下, 这些棒状分子的长轴大致平行。将液晶倒入一个经精良加工的开槽平面, 液晶分子会顺着槽排列, 所以假如那些槽非常平行, 则各分子也是完全平行的。12 2.2.3.2 常见液晶类型(1) TN(Twist Nematic)即扭曲向列型液晶。在涂有透明导电层的两片玻璃基板间夹上一层正介电异向性液晶,液晶分子沿两块玻璃表面平行排列,排列方向在上下玻璃之间连续扭转90。然后上下各加一偏光片,底面加上反光片,基本就构成了TN型液晶显示器。 (2) STN(Super TN)型液晶,跟TN型结构大致相同,只不过液晶分子扭曲180,还可以扭曲210或270等,特点是电光响应曲线更好,可以适应更多的行列驱动。TN或STN型液晶,一般是对液晶盒施加电压,达到一定电压值,然后对行和列进行选择,出现“显示”现象,所以行列数越多,对驱动电压要求越高,因此往往TN或STN型液晶要求较高的正极性驱动电压或较低的副极性电压,也正因为如此,TN和STN型液晶很难做成高分辨率的液晶模块。(3) DSTN(Double STN)液晶,上下屏分别由两个数据传输通道传送数据,由于很多液晶屏内部增加了驱动电源部分,所以无需外部输入高驱动电压,通常可以实现单电源供电。STN(DSTN)液晶只能实现伪彩色(一般人眼可以分辨218色,所以达到218色或者超过218色的被称之为真彩色,否则称之为伪彩色)显示,可以实现VGA、SVGA等一些较高的分辨率,但由于构成它的矩阵方式是无源矩阵,每个像素实际上是一个无极电容,容易出现串扰现象,所以DSTN不能显示真正的活动图像。(4) TFT(Thin Film Transistor)是薄膜晶体管有源矩阵液晶显示器件,在每个像素点上设计一个场效应开关管,这样就容易实现真彩色、高分辨率的液晶显示器。现在的TFT型液晶一般都实现了18bit以上的彩色(218色),在分辨率上,已经实现VGA(640480)、SVGA(800600)、XGA(1024768)、SXGA(12801024)甚至UXGA(16001200)。 2.2.3.3 LCD 1602液晶显示器根据显示的内容,可将液晶显示器可分为字符型液晶显示器和图像型液晶显示器,在便携式智能仪器仪表中普遍选用字符型液晶显示器来代替原来的数码管,以提高显示器的分辨率、反应时间以及可靠性,并降低显示功耗、硬件复杂度和生产成本,延长仪器仪表使用寿命。由于本课题设计中的拉力计只需要显示量程、测量值这两个变量,因此采用普通的字符型液晶显示器就足够了,在此次设计中拉力计选用是字符型液晶显示器LCD1602。该型号液晶显示器为162型单色字符型串行液晶显示模块,可用于显示字母、数字、简单符号。LCD1602由LCD液晶显示器、驱动电路和8位CPU数字接口电路构成,由于采用了数字接口,使其与单片机的连接更加简单,编程更加容易。LCD1602采用串行数据输入,单片机I/O可与其连接,对其进行数据写入显示。在显示器方面,它与七段数码管一样具每位有七段(a、b、c、d、e、f、g)、一个小数点位dp和一个公共极com。LCD1602的外形尺寸如图2.3所示图2.3LCD1602外型尺寸引脚分布如图2.4所示图2.4 LCD1602引脚原理图引脚说明13:LCD_LIGHT:背光源,通常接高电平+5V;LCD_E:使能端;LCD_RW:读/写选择(H/L);LCD_RS:数据/命令选择(H/L);LCD_DB7.0:数据输入端;LCD1602主要技术参数;显示容量:162个字符;字符尺寸:2.954.35(WH)mm;工作电压:4.55.5V,推荐使用5.0V;工作电流:2.0mA/5.0V。LCD1602液晶模块内部控制器共有11条控制指令,如表2-1所示。表2-1 控制命令表序号指令RSRWD7D6D5D4D3D2D1D01清显示00000000012光标复位00000001*3光标和显示模式设置I/D00000001I/DS4显示开/关控制0000001DCB5光标或显示移位S/C000001R/CR/L*6功能设置命令D/L00001DLNF*7字符发生器RAM地址设置0001字符发生存储器地址8数据存储器地址设置001显示数据存储器地址9读忙标志和光标地址BF01BF计数器地址续表2-110写数据到CGRAM或DDRAM10要写的数据内容11从DGRAM或DDRAM读数11计数器地址LCD1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清除显示。指令码01H,光标复位到地址00H位置。指令2:光标复位。光标返回到地址00H。指令3:光标和显示模式设置I/D。光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开/关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位S/C。高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令D/L:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:数据存储器地址设置。指令9:读忙标志和光标地址BF。为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据到CGRAM或DDRAM。指令11:从DGRAM或DDRAM读数。 3 硬件设计及电路实现3.1 信号采集电路的设计在此次课题设计中拉力信号首先通过拉力传感器转换为模拟电信号,然后经过适当的放大后送入ATmega16AVR芯片的A/D转换器转换为数字信号。由于采集到的拉力信号在传输过程中会受到外界干扰,因此在将信号放大之前必须采用滤波电路消除干扰。然后再送入AD623进行放大。 3.1.1 传感器本课题设计采用的是应变式拉力传感器,拉力传感器主要采用的是桥电路,其电路原理图如3.1所示:图3.1 传感器电路原理图其中输入是直流电流,输出是模拟电压信号。传感器由统一的系统供电模块供电。其中传感器负激励信号连接到终端X1-1,正激励信号连接到终端X1-4,由ATmega16AVR 的电源统一供电。传感器的电桥电阻为200(典型值),电源电压为5V,在激励状态下耗电5mA。就功耗来讲,传感器在整个系统中占用的功耗是比较大的。 3.1.2 滤波电路电源线EMI滤波器是由电容、电感等集总参数元件组成的无源双向多端口网络,它实际上等效于两个低通滤波器,一个衰减共模干扰,一个衰减差模干扰。它能在阻带(10KHZ)范围内衰减射频能量而让工频信号无衰减或很少衰减地通过。这种电源线滤波器对高频信号有很好的滤波效果,在本系统起了很大作用。传感器信号出来后经过了滤波电路才把信号送入放大电路。这个滤波电路有两个电阻R的阻值为4.3K,上下两个电容的容值为102PF即是10-3F,中间电容容值为0.047F。 3.1.3 放大电路此次课题设计采用通过外接电阻的控制来实现增益变换的放大器AD623(电路原理图如图3.2)。AD623是美国ADI公司推出的一种低成本、单电源、输出摆幅能达到电源电压(通常称之为电源限输出)的仪表放大器,它能在单电源(+3V到+12V)下提供满电源幅度的输出。AD623允许使用一个增益设置电阻进行增益编程,以便于用户更灵活的设置放大倍数,且符合8引脚的工业标准引脚配置,在无外接电阻条件下,AD623 被设置为单位增益( G =1),在接入外接电阻后,AD623编程设置增益,其增益最高可达到 1000 倍。14AD623的增益由RG电阻进行编程,或更准确的说,由1脚或8脚之间的阻抗来决定。AD623被设计成使用0.1%1%容限的电阻提供精确的增益。当G=1时,GR端不相连(RG=)。对于任意的增益值,RG可由RG=100K/(G1)计算。对这个公式进行转化可得:G =1+100K/RG在本系统中RG= 1.2K,所以G84,即放大倍数为84倍左右,满足系统的要求。图3.2 可编程放大器AD623电路原理图信号采集电路主要由传感器、滤波电路、放大电路组成,电路原理图如图3.3所示:图3.3 信号采集电路原理图3.2 信号处理电路 3.2.1 ATmega16AVR功能详述单片机是整个系统的心脏,本系统选择并采用了ATmega16AVR型的单片机。这款单片机详细的功能特性如下14: 高性能、低功耗的8位AVR微处理器 先进的RISC结构 131条指令(大多数指令执行时间为单个时钟周期) 32个8位通用工作寄存器 全静态工作 工作于16MHz时性能高达16MIPS 只需两个时钟周期的硬件乘法器 非易失性程序和数据存储器 16K字节的系统内可编程Flash 擦写寿命:10000次 具有独立锁定位的可选Boot代码区通过片上Boot程序实现系统内编程真正的同时读写操作 512字节的EEPROM 擦写寿命: 100000次 1K字节的片内SRAM 可以对锁定位进行编程以实现用户程序的加密 JTAG 接口( 与IEEE 1149.1标准兼容 ) 符合JTAG标准的边界扫描功能 支持扩展的片内调试功能 通过JTAG接口实现对Flash、EEPROM、熔丝位和锁定位的编程 外设特点 两个具有独立预分频器和比较器功能的8位定时器/计数器 一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器 具有独立振荡器的实时计数器RTC 四通道PWM 8路10位A/D 8个单端通道TQFP封装的7个差分通道2个具有可编程增益(1x, 10x, 或200x)的差分通道 面向字节的两线接口 两个可编程的串行USART 可工作于主机/从机模式的SPI串行接口 具有独立片内振荡器的可编程看门狗定时器 片内模拟比较器 特殊的处理器特点 上电复位以及可编程的掉电检测 片内经过标定的RC振荡器 片内/片外中断源 6种睡眠模式:空闲模式、A/D噪声抑制模式、省电模式、掉电模式、Standby 模式以及扩展的Standby模式 I/O和封装 32个可编程的I/O口 40引脚PDIP封装,44引脚TQFP封装,与44引脚MLF封装(如图所示) 工作电压:4.55.5V 速度等级:016MHz 在1 MHz,3V, 25C时的功耗 正常模式:1.1mA 空闲模式:0.35mA 掉电模式:1AAVR单片机的快速存取寄存器由32个通用寄存器组成。这32个寄存器全部直接与运算逻辑单元(ALU)相连,每个寄存器都可以代替累加器工作。这使得处理器可以在执行当前指令时取出将要执行的下一条指令,从而避免了传统的累加器结构造成的累加器和存储器之间的数据瓶颈效应,提高了系统性能。在传统的CISC结构中,单片机外部振荡器的时钟被分频降低到内部执行周期,而AVR却没有对外部时钟进行分频,直接用一个时钟周期来执行一条指令,提高了系统运行速度,具有比普通的CISC 微控制器最高至少10倍的数据吞吐能力。10AVR单片机采用了哈佛(Harvard)总线结构,程序存储器与数存储器是分开的。微处理器能直接访问全部程序存储器和数据存储器。图3.4 AVR结构方框图Atmel公司将高密度、非易失性存储器技术运用在了AVR单片机上,使得AVR单片机都具有了ISP(In System Programming,系统内编程)的功能。即使在程序运行时,也能对系统进行重新编码。AVR单片机除了支持汇编语言之外,还支持C、VC、Basic的等高级计算机语言编程。采用高级语言对系统进行开发,是单片机应用发展的一个趋势。采用高级语言编程能够搞笑的进行系统开发,并能轻易的在不同平台上实现程序移植。ATmega16是基于增强的RISC结构的低功耗8位CMOS微控制器。由于其简洁的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1MIPS/MHz,从而能够缓减系统在功耗和处理速度之间的矛盾。本芯片是以Atmel高密度非易失性存储器技术生产的。片内ISP Flash允许程序存储器通过ISP串行接口,或者使用通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。引导程序能够使用任意接口将应用程序下载到Flash存储区(Application Flash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,从而实现了RWW操作。 通过将8位RISC式CPU与系统内可编程Flash集成在一个芯片内,ATmega16成为一个功能强大的单片机,为许多嵌入式应用提供了灵活且低成本的解决方案。11ATmega16引脚分布如图3.5所示图3.5 ATmega16引脚分布图 3.2.2 A/D转换模块介绍及参考电压 3.2.2.1 A/D转换模块简介ATmega16AVR集成了一个8路10位的逐次逼近型A/D转换器。A/D与一个8通道的模拟多路复用器连接,能对来自端口A的8路单端输入电压进行采样。单端电压输入以 0V(GND)为基准。器件还支持16路差分电压输入组合。两路差分输入(A/D1、A/D0与A/D3、A/D2)有可编程增益级,在A/D转换前给差分输入电压提供0dB(1x)、20dB(10x)或46dB(200x)的放大级。七路差分模拟输入通道共享一个通用负端(A/D1),而其他任何A/D输入可做为正输入端。如果使用1x或10x增益,可得到8位分辨率。如果使用200x增益,可得到7位分辨率。A/D包括一个采样保持电路,以确保在转换过程中输入到A/D的电压保持恒定。A/D结构如图2.4所示。A/D由AVCC引脚单独提供电源。AVCC与VCC之间的偏差不能超过0.3V。标称值为2.56V的基准电压,以及AVCC都位于器件之内。基准电压可以通过在AREF引脚上加一个电容进行解耦,以更好地抑制噪声。主要技术参数和特点: 10位精度; 0.5LSB的非线性度; 2LSB的绝对精度; 65260s的转换时间; 最高分辨率时采样率高达15KSPS; 8路复用的单端输入通道; 7路差分输入通道; 2路可选增益为10x与200x的差分输入通道; 可选的左对齐A/D读数; 0VCC的A/D输入电压范围; 可选的2.56V A/D参考电压; 连续转换或单次转换模式; 通过自动触发中断源启动A/D转换; A/D 转换结束中断; 基于睡眠模式的噪声抑制器。 3.2.2.2 A/D转换模块与信号采集电路的连接由于Atmega16内部自身带有A/D转换器,因此信号采集电路可直接与Atmega16单片机连接,利用其内部的A/D转换器进实行A/D转换。其连接如图3.6所示:图3.6 A/D转换连接原理图3.3 LCD显示电路的设计LCD1602内部集成了放大器和数据存储器,Atmega16输出的信号可直接输送给LCD1602,由其进行显示。LCD显示电路原理图如图所示:图3.7 LCD1602与ATmega16的连接如图3.7所示LCD_LIGHT为背光源,所以应当保持PD3为高电平;LCD_RW为读数据端口,又由于LCD1602只用于显示,因此需保持PD1为低电平,单片机只用向LCD1602写入数据即可。3.4 电源电路电源电路如图3.8所示图3.8 电源电路ATmega16单片机供电电压为+4.5+5.5V,推荐用+5V电压供电,电源电路采用三端稳压集成电路LM7805为核心设计的开关稳压电路。电路由变压器供电,但是由于变压器输出电压非常不稳定,会降低系统稳定性,故需进行稳压处理。7805是常用的三端稳压芯片,输出为+5V由它组成稳压电源所需的外围元件极少,电路复杂度低,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且成本低廉。3.5 键盘电路与报警电路键盘是由两个轻触开关和两个限流电阻构成的触发式键盘,触发式键盘的缺点在于会占用过多的硬件资源,但是由于此次设计中电子式拉力计所需按键不多,而触发式键盘结构简单实用且编程容易,用于电子式拉力计的量程选择已经足够。15如图3.9所示系统中按键S2用于选择量程为50N,按键S3用于选择量程为50500N。当有键按下时PC1或PC2端口可以检测到信号由高电平跳变为低电平,从而判断是那个键按下,进而得知所选择的量程。图中的报警器件为无源的蜂鸣器,报警信号通过三极管放大后驱动蜂鸣器发出报警声。在以下几种情况下会发生报警:一、测量值大于50N而实际量程为50N或者测量值小于50N而实际量程为500N时,蜂鸣器将鸣响,LCD1602显示“ERROR”,系统自动完成停止鸣响、LCD1602清屏、量程切换、量程显示、测量值显示操作;二、当测量值大于500N时,蜂鸣器将鸣响,LCD1602显示“ERROR”和“OVER: RST”,提示操作者测量值超过系统设计,需要系统复位。图3.9 键盘电路与报警电路3.6 晶振电路与复位电路 晶振电路与复位电路如图3.10所示。图3.10 晶振电路与复位电路同51单片机一样,AVR单片机内部有一个反相振荡器,外围振荡电路只需接上晶振提供外部时钟,两个30pF电容用于稳定时钟频率、快速起振的作用。本系统采用8MHz晶振。ATmega16的复位方式为低电平复位,该系统复位电路采用按键复位方式,即使在系统运行期间,也可以通过轻触开关S4对系统进行复位操作。 4 软件设计及程序实现在当前的电子设计中,无论是软件设计,还是硬件的设计,都普遍采用模块化设计方法。所谓的模块化设计就是按功能的划分把一个情况复杂、规模较大的系统划分为很多个较小的、功能相关而又相对独立的模块。其特点是各个模块相对独立、功能单一、结构清晰、接口简单。这样降低了系统设计的复杂性,提高软件系统或硬件系统的可靠性,缩短了开发周期,能避免程序开发的重复劳动,易于维护和功能扩充。此次拉力计的软件设计就充分运用了模块化设计思想。所以总体上,此次设计中电子式拉力计的软件部分分为A/D转换模块、按键控制模块、液晶显示模块、报警电路模块。4.1 端口初始化 在系统开始进行拉力测量与显示之前,必须先对单片机的端口属性进行定义,包括端口的输入、输出特性、A/D转换器通道寄存器定义初始化。 4.1.1 ATmage16AVR单片机I/O口ATmega16AVR单片机有32个通用I/O口,分别为PA、PB、PC和PD四组,每组都是8位这些I/O口都可以通过各自的端口寄存器设置成输入或输出,部分端口具有第二功能。本系统中不用考虑端口的第二功能,每个端口的基本输入输出功能是相同的。ATmega16AVR单片机提供了由位控制的I/O口,每个管脚的工作状况都可以通过对方向寄存器DDRX(X=A、B、C、D,下同)、端口寄存器PORTX和输入引脚PINX的操作完成。表4-1列出了ATmega16AVR单片机的I/O口的组合控制设置22。表4-1 I/O口组合设置DDRXn*PORTXnI/O上拉电阻说明00输入否I/O口三态输入01输入是I/O口带上拉电阻输入10输出否推挽0输出11输出否推挽1输出ATmega16AVR单片机的每组I/O口的所有管脚都可以单独选择上拉电阻。引脚缓冲器可以吸收20mA的电流。能直接驱动LED显示。如果设置了上拉电阻,当管脚被拉低时,管脚会输出电流。 4.1.2 I/O口寄存器(1) 端口方向寄存器DDTX(表4-2)表4-2 DDTXBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0DDRX7DDRX6DDRX5DDRX4DDRX3DDRX2DDRX1DDRX0 DDRX为I/O口的方向寄存器,可读可写。在写操作时,DDRX用于指定I/O口是作为输入口还是输出口用;在读操作时,从DDRX寄存器读出来的是端口的方向设定值。DDRX寄存器的初始值为0x00。(2) 端口数据寄存器PORTX(表4-3)表4-3 PORTXBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0PORTX7PORTX6PORTX5PORTX4PORTX3PORTX2PORTX1PORTX0PORTX是I/O口的数据寄存器,可读可写。在写操作时,从PORTX写入的数据将存入内部锁存器,以确定端口的工作状态(端口设定)或者将写入的数据送到外部数据总线(数据传输)。PORTX寄存器的初始值为0x00。(3) PINX(表4-4)表4-4 PINXBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0PIN7PIN6PIN5PIN4PIN3PIN2PIN1PIN0PINX不是I/O的寄存器,这个地址用于访问端口的逻辑值,且只允许读操作。从PINX读入的数据反映的是I/O口引脚的逻辑状态。单片机初始化时,PINX为高阻态。 4.1.3 端口初始化程序void port(void)PORTB=0xff; /端口B推挽1输出 DDRB=0xff; PORTD=0xff; /端口D推挽1输出 DDRD=0xff; PORTC=0xff; /PC0推挽1输出,PC1PC7带上拉电阻输入 DDRC=0x01; ADMUX=0x00; /选择ADC通道PA0 ADCSR=0xe6; /选择125K的转换速率,自由转换模式,启动ADC delay(100); /延时4.2 A/D转换数据处理程序 A/D转换数据处理主要完成对数据的A/D转换、数据采样以及数据的物理量之间的转换,其设计是否合理极为重要,因为它直接影响到本系统的测量精度。4.2.1 ATmega16的A/D转换器的工作方式ATmega16单片机的ADC具有两种工作方式:单次转换方式和自由转换方式。在单次转换方式下,由程序启动每一次转换;而在自由转换方式下,ADC会连续采样并更新ADC数据寄存器,以保持最近一次的采样值。系统在ADC时钟的上升沿启动A/D转换,第一次启动A/D转换,将引发一次哑转换过程及初始化ADC而并不得到采样值。每一次A/D转换需要13个时钟周期。在进行第一次A/D转换时要耗费1.5个时钟周期的采样/保持时间,在第13个时钟周期结束哑转换,从而开始真正的A/D转换,在第25个时钟周期时完成第一次A/D转换,数据进入ADC的数据寄存器,其工作时序如图4.1所示。图4.1 ADC第一次转换时序当ADC工作在单次转换方式时,每次的A/D转换结束后需要一个额外的时钟周期,以开始下一次的A/D转换,其工作时序如图4.2所示。图4.2 ADC单次转换时序当ADC工作在自由转换模式时,第13个时钟周期结束A/D转换后即可以开始下一次的A/D转换,其工作时序如图4.3所示。图4.3 ADC自由转换时序ADC的时钟由系统时钟经过一个7位的与分频器分频得到。ADC的时钟分频器的机构如图4.4所示。ATmega16单片机的ADC的时钟应该在50200KHz,过高的工作频率将降低采样精度。图4.4 ADC时钟分频器4.2.2 与A/D转换相关的寄存器与A/D转换的相关寄存器包括ADC多路选择寄存器ADCMUX、ADC控制和状态寄存器ADCSR、ADC数据寄存器ADCH、ADCL。(1) ADC多路选择寄存器ADCMUX($07)(表4-5)表4-5 ADCMUXBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0MUX2MUX1MUX0ADC多路选择寄存器ADCMUX用于选择A/D转换的通道。ADCMUX可读可写,初始值为0x00。位73:保留位。位20:MUX2MUX0选择A/D转换的通道,转换选择表如表4-6所示。 表4-6 ADC通道选择表MUX2MUX1MUX0通道选择说明000通道0模拟信号从PA0(ADC0)输入001通道1模拟信号从PA1(ADC1)输入010通道2模拟信号从PA2(ADC2)输入011通道3模拟信号从PA3(ADC3)输入100通道4模拟信号从PA4(ADC4)输入101通道5模拟信号从PA5(ADC5)输入110通道6模拟信号从PA6(ADC6)输入111通道7模拟信号从PA7(ADC7)输入 (2) ADC控制和状态寄存器ADCSR(0x06)(表4-7)表4-7 ADCSRBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0ADENADSCADFRADIFADIEADPS2ADPS1ADPS0ADCSR用于设A/D转换器的工作方式和频率。ADCSR可读可写,初始值为0x00。位7:ADEN位为ADCSR的使能位。位6:ADSC位为ADCSR的单次转换方式选择位。如果ADC使能,置位ADSC位将启动一次A/D转换。在转换过程中ADSC一直保持为高。在转换过程结束后,转换结果进入ADC数据寄存器之前的一个ADC时钟,ADSC变为低。位5:ADFR位为ADC 自由转换方式选择位。如果ADC使能,置位ADFR,则ADC工作在自由转换模式下。ADC将不断对信号进行采样并将最近一次的转换数据存入ADC数据寄存器。ADC工作于自由转换模式时,第一次转换时也必须置位ADSC位启动一次哑转换,以初始化ADC。位4:ADIF位为ADC中断标志位。ADC转换完成后ADIF置位。如果全局中断位I和ADC中断使能位ADIE置位,则ADIF置位时将执行中断服务程序。在中断服务程序里,ADIF被硬件清零,对ADIF写1也可以对其清零。位3:ADIE位ADC中断使能位。位20:ADPS2ADPS0位用于选择ADC时钟。如表4-8所示。表4-8 A/D转换时钟选择ADPS2ADPS1ADPS0时钟分频系数ADC时钟频率0002CLK/20012CLK/20104CLK/40118CLK/810016CLK/1610132CLK/3211064CLK/64111128CLK/128 (3) ADC数据寄存器ADCH($05)、ADCL($04)(表4-9)表4-9 ADCH和ADCLBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0ADC9ADC8Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0ADC7ADC6ADC5ADC4ADC3ADC2ADC1ADC0ADC数据寄存器ADCH和ADCL用于存放A/D转换后的数据,作为A/D转换的结果,ADCL必须被先读,然后再读取ADCH的数据。这样,在ADCH寄存器被读取之前即使新一次的采样已经完成,系统人不会更新ADC数据寄存器,以保证对转换数据的正确读取。4.2.3 A/D转换数据处理程序流程A/D转换的程序流程图如图4.5所示。图4.5 A/D转换程序流程图结合硬件设计和ATmega16的ADC特性,本设计ADCMUX=0x00,ADCSR=0xe8,即采用PA0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论