ImageVerifierCode 换一换
格式:DOCX , 页数:69 ,大小:1.16MB ,
资源ID:6228997      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6228997.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(高精度16位AD电压表电流表解析.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

高精度16位AD电压表电流表解析.docx

1、高精度16位AD电压表电流表解析本科毕业设计(论文)题目:高精度16位AD转换器应用 High precision 16 bit AD converter application 学 院 专 业 班 级 学 号 姓名 指导教师 职称 完成日期 2011年12月05 诚 信 承 诺我谨在此承诺:本人所写的毕业论文高精度16位AD转换器应用均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,若有不实,后果由本人承担。 承诺人(签名): 年 月 日摘要【摘要】本文介绍了一种基于单片机技术的新型高精度数字式电压电流表,该设计采用STC公司生产的STC89C52微处理器作为整个设计的

2、核心单元,通过施加外围电路来实现直流电压和直流电流的精确测量,该系统的设计思想是通过输入端电阻采集被测信号,由于采集到的电压、电流信号较弱需要经运算放大器对信号进行放大,本文采用LM124对采集到的信号进行放大,经放大处理后的信号为模拟信号不能直接被单片机识别,需要将采集到的模拟电压信号送到模数转换芯片 ADS1110 来进行 A/D 转化,最后将转换后的数字信号送到 MCU 进行数据处理并通过 液晶屏幕(1602或者12864) 来显示被测值。本文对整个设计流程做了详细的阐述并制作了样机,实际测试表明该数字式电压电流表可以精确的测量直流电压,直流电流,理论设计精度可达到16位,显示精度达到0

3、.0001,测试结果证明测试精度达到了设计要求。【关键词】单片机;STC89C52;高精度数字电压表;数字电流表;ADS1110High precision 16 bit AD converter applicationAbstract【ABSTRACT】Abstract: This article introduced a new digital voltmeter of high precision,which was basing on single-chip technic,the design adopted STC89C52 microprocessor produced by A

4、TMEAL company as the core unit of the whole design,to reach the precisly measurement of volts d.c by putting peripheral circuit.,and the idea of the system was to gather the signal of the under measured volts through the inputing resister.As the volts signal gathered was very weak,it needed to be ma

5、gnified,here the LM24 was used to do this. The magnified signal was taken as analog signal,which cannot be identified by single-chip,so the analog signal needed to be transferred to ADS1110 to get the A/D transferation,then the transferred signal would be conveyed to MCU for digtal processing and th

6、rough LCD1602 to get the volum of the volts. The whole design process was described in details and sample was also made,and the actul test result showed this voltmeter was able to measure volts d.c very precisely,the volum can reach 0.0001,which can meet the requirement well.【KEYWORDS】Single-chip;ST

7、C89C52;High precision digital voltmeter; ADS1110 Digital ammeter 1绪论数字型电压表(Digital Voltmeter)简称DVM、数字电流表(Digital ammeter )简称AMP,它是采用数字化测量技术,把连续的模拟量(直流输入电压,直流输入电流)转换成不连续、离散的数字形式并加以显示的仪表,它是通过把采集到的模拟信号经过AD转换成数字量来显示,通过数字显示开起来更加直观,避免指针式容易造成的视觉误差。传统的指针式电压、电流表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压、电流表,由于其具有较高的精度

8、、较强的抗干扰能力、方便实用的可扩展性、集成方便,与台式电脑进行比较简便的实时通信,仪表精度及测量范围可以根据需要来采用程序设定。目前,由各种单片A/D 转换器构成的数字电压、电流表,已广泛用于自动测试系统、工业自动化仪表、电子及电工测量等智能化测量领域,体现出强大的生命力。本文主要介绍采用STC89C52单片机和16位高精度转换芯片ADS1110来设计的高精度数字电压表,采用此方法设计的数字电压表测量精度高、反应速度快、测量范围可以在线编程设定等诸多优点,该高精度数字电压表适合在测量精度高的场合推广应用。1.1课题简述本课题要求设计一台高精度的数字式直流测试电压、电流表。本设计通过数字电路和

9、模拟电路相结合的方式来实现设计,本设计的核心由51单片机来控制实现;模拟电路部分包括电压采集电路、电流采集电路、信号放大电路、 AD转换电路组成。单片机系统设计用来实现量程的切换控制、AD 转换后的数据处理、LCD液晶显示的控制、按键操作控制等功能。1.2课题设计目标1、设计实现要求(1)直流电压测量范围:0V10V,相对误差1%;(2)直流电流测量范围:010mA,相对误差1%;(3)测试结果显示:LCD12864显示,显示精度0.001或以上。(4)液晶显示刷新周期2s;(5)使用 5V 直流电源供电或其它电源设备供电;(6)制作实物实现以上设计要求。1.3高精度电参数测试仪的应用前景随着

10、大规模集成电路技术的发展,电子各领域的集成度越来越高,这就要求对各种电子设备仪器的精度有了更高的要求,传统的指针式电压、电流表或普通的低精度的数字电压、电流表均不能完成高精度场合的测量要求,这就要求新的更高精度的数字电压表来满足这些场合的测量要求,本文正是本着这一要求来设计,本文设计的电压、电流表可以在大多数高精度要求的测量领域应用,测量精度可以根据要求来设定,最高精度可达到16位,该数字电压表稍加改善便能作为一台高精度的电压、电流测量设备来推广应用。2方案设计与论证2.1方案论述该数字式高精度电压表的设计核心是基于单片机STC89C52系统的数据采集与计算控制,主要由单片机最小系统模块、电源

11、电路模块、直流电压采集模块、直流电流采集模块、AD转换模块、数据处理及显示模块组成。(系统设计的硬件框图如图 1.1)2.2实用意义本设计制作的5位电压电流表具有精度高,成本低,性能稳定。根据笔者调查,主控芯片单片机STC89C52单片进价只为5元人民币,AD单元ADS1110为10元人民币,LCD12864为40元人民币,电源变压器为5元,PCB生产大概每片10元人民币左右,其它电阻、电容、排针等成本低廉且用量不大故先不计入成本之中,如上所计,整机的成本仅为70元,且所有数据均是单购价格,并非批发价格。而现今市场上4位电压电流表光表头都需要35元以上,整机均在百元以上。故本设计的电压电流表具

12、有成本低廉,精度更高等优势,具有一定的实际意义。3系统硬件电路设计及芯片介绍3.1芯片选型及功能介绍3.1.1STC89C52单片机主要功能及特性STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用STC公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52单片机是宏晶科技生产的单时钟、机器周期为1T的单片机,是

13、高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051单片机,而且速度快812倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D,应用于电机控制,抗干扰能力强的场合。STC89C52的主要特点: (1)机器周期为1T,指令代码完全兼容传统8051单片机; (2)STC89C52系列的工作电压: 5V; (3)工作频率范围:035MHz; (4)片上集成1280字节RAM,用户应用程序空间60K字节; (5)无需专用编程器或专用仿真器,可通过串口(P3.0和P3.1)直接下载用户程序,数秒即可完成; (6)有EEPROM功能用于存储; (7)看门狗;(8

14、)四个16位定时器;(9)7路外部中断,下降沿或低电平触发中断,并新增支持上升沿中断的PCA模块,Power Down模式可由外部中断唤醒,INT0(P3.2),INT1(P3.3),T0(P3.4),T1(P3.5),; (10)工作温度范围:-40+85(工业级),075(商业级); (11)8路10位精度的A/D转换,转换速度可达250K/S(每秒钟25万次)。STC89C52管脚图如图3-2所示。VCC:供电电压。GND:接地。P0 口:P0口是一个8位漏极开路的双向I/O口。当作为输出用时,每位能驱动8个TTL逻辑电平。向P0口写入命令“1”时,引脚呈现高阻状态输入。当需要访问数据存

15、储器和外部程序时,P0口也可以复用为低8位的地址/数据线。当处于该种模式下时,P0口具有内上拉电阻。P1 口:P1 口是一个8 位双向I/O 口且其具有内上拉电阻,该口能同时驱动4 个TTL 逻辑电平。对P1 口写入命令“1”时,内上拉电阻将端口拉高,即可作为输入端口来使用。当其为输入口时,外部被拉低的引脚由于内阻的原因,将会输出一定的电流。P2口:P2口为一个内部上拉电阻的8 位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的 管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序

16、存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给 出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高 八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口作为STC89C52的一些特殊功能口,如表3-1所示:引脚号 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P

17、3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0 (记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)表3-1 P3的特殊功能3.1.2ADS1110 16位转换芯片主要功能及特性由于该系统对电压测量的指标精度要求非常高,这就要求高精度的AD转换芯片来支持,普通的 8 位 A/D 芯片很难达到这一要求,故我们选择 16 位 A/D 转换芯片ADS1110做为系统的AD转换芯片。ADS1110 是 16 位 A/D 转换,线性误差仅为 0.0015%,内部由一个带有可调增益的-模/数

18、转换器核、一个时钟振荡器、一个 2.048V 的电压基准和一个 I2C接口组成。同时具有功耗比较低,较高的精度,抗干扰的能力比较突出等特点,适合要求精度较高的仪器仪表。ADS1110是一款高性价比具有I2C总线接口的串行AD转换器。ADS1110已在单片机系统中应用,并用于现场。实践证明,ADS1110和单片机组成的数据采集系统,占用IO端口少、功耗低,适用无电源场合。ADS1110引脚图如下图所示:ADS1110读写操作介绍:1)读操作:若从ADS1110中读取输出寄存器和配置寄存器的内容,需对ADS1110寻址。从ADS1110中读取3个字节,前2个字节是输出寄存器的内容,第3个字节是配置

19、寄存器的内容。读操作时,只读前2个字节而不读第3个字节。ADS1110的读操作时序如图3-4所示2)写操作:为了对配置寄存器写操作,要对ADS1110寻址,并向配置寄存器写入1个字节,但不能向输出寄存器写人字节。其写操作时序如图3-5所示。3)输出码计算:输出码是一个标量值,它与两个模拟输入端的压差成比例 输出码限定在一定数目范围内。该范围取决于代表输出码所需要的位数。而ADS1110 的代表输出码所需要的位数又取决于数据速率(如下表所示)。表3-2:最小和最大码数据速率数字位数最小码最大码15SPS16-327683276730SPS15-163841638360SPS14-81928191

20、240SPS12-20482047对于最小码的最小输出码,可编程增益放大器 PGA 的增益设置以及VIN+与VIN-的正负输入电压而言,输出码的计算公式为:输出码= -1*最小码*PGA*(VIN+)-(VIN-)/2.048V从上式中可以看出,若使用了负的最小输出码则须重点注意。ADS1110 输出码为为二进制2的补码格式,因此最小的绝对值和最大的绝对值是不同得,最大的 n 位码是 2n-1,而最小的n 位码是12n-1。 ADS1110输出的所有代码右对齐并且经过符号扩展。这使在数据速率码较高时仅用一个 16 位的累加器就可进行平均值的计算。3.1.3LCD12864液晶介绍 由于LCD1

21、602的只能显示英文,而不能直观的显示中文,且显示的区域也较少,故本设计使用LCD12864来显示最后的输出结果,从而满足各种情况下得需要。表3-3 LCD12864引脚说明表 LCD12864的工作电压为+5V,并自带驱动 LCD所需的负电压。全屏幕点阵,点阵数为 128(列)64(行),可显示 8(行)4(行)个(1616点阵)汉字,也可完成图形,字符的显示。与MCU接口采用 5条位控制总线和 8位并行数据总线输入输出,本设计为了节省与MCU的通讯端口,强制选择了串行通讯方式,故和单片机的通讯连线只有3条,大大降低了绘制电路图的难度。编号符号引脚说明编号符号引脚说明1VSS电源地2VDD电

22、源电压3VLCDLCD驱动负电压4RS寄存器选择信号5R/W读/写选择信号6E使能信号7DB0八位三态并行数据总线8DB1八位三态并行数据总线9DB2八位三态并行数据总线10DB3八位三态并行数据总线11DB4八位三态并行数据总线12DB5八位三态并行数据总线13DB6八位三态并行数据总线14DB7八位三态并行数据总线15CS1CS1=H,左半屏幕显示16CS2CS2=H,右半屏幕显示17/RES复位信号,低有效18VEE输出-10V的负电压19ELENELEN=H时,EL发光20ACEL驱动的输入交流信号4系统硬件电路设计4.1单片机主控电路设计4.1.1单片机最小系统电路设计单片机最小系统

23、电路实现对采集数据的处理和输出显示的控制,主控电路由STC89C52单片机、晶振电路、复位电路三部分组成,各部分作用如下所述,由其三部分构成的单片机最小系统电路如图4-1所示。4.1.2复位电路单片机需要正常工作,以及系统中的硬件电路可以可靠的工作,复位模块电路是必须的组成部分,复位电路最重要的是上电复位。主控单元的电路正常工作需要的供电电源为5伏。由于微机电路的构成均是时序电路且是数字电路,它需要一致的时钟脉冲,因此在电源刚上电时,只有当VCC达到标准电压时以及在晶振稳工作在稳定状态之后,复位信号才被撤除,单片机的各部分电路开始正常工作。其次,复位电路还需要在单片机出现异常或者需要手动重置单

24、片机程序时,可以通过按键等进行强行复位单片机的电路,并且复位的优先级会是最高的。目前为止,单片机复位电路主要有四种类型:(1)微分型复位电路;(2)积分型复位电路;(3)比较器型复位电路;(4)看门狗型复位电路。本设计使用的复位电路图如图-所示:4.1.3振荡电路晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。本

25、设计的晶振电路如图-所示:图4-3 晶振电路 4.2电压测量电路设计4.2.1设计思路被测电压通过放大器 LM124 放大,将放大后的电压值送至 ADS1110。由于系统要求的电压测量范围太大,需进行分档处理。现将系统要求的测量范围分成两档:100mV1V 档、1V10V 档,实现分档的原理是串联不同阻值的定值电阻 R 进行分压(这里并联的电阻分别为 100K、25K),档位选择用拨键开关实现。4.2.2原理图设计电压测量电路由采样电阻将采集的电压信号经LM124集成运放放大后送至高精度AD转换芯片ADS1110进行AD转换,然后由MCU对信号进行数字处理,最后由液晶显示测量结果。电压采集及信

26、号放大电路如图4-4所示。4.3电流测量电路设计4.3.1设计思路被测电流通过一个定值电阻,从而会产生一个电压。由于该电压值太小,A/D 不能直接读取,故该电压值需经放大器 LM124 放大,将放大后的电压值送至 ADS1110。由于系统要求的电流测量范围太大,需进行分档处理。被测电流通过一个定值电阻R,从而会产生一个电压。现将系统要求的测量范围分成两档:100uA1mA 档、1mA10mA 档,实现分档的原理是并联不同阻值的定值电阻 R(这里并联的电阻分别为 200、2K),档位选择用拨键开关实现。4.3.2原理图设计电流测量电路由采样电阻将采集到的电压信号送至LM124放大后再送到ADS1

27、110进行模数转换,然后送到MCU进行数字处理,然后由液晶显示测量数据,电流采集电路如图4-5所示。4-5电流测量模块电路 4.4ADS1110 A/D转换模块设计ADS1110是一种精密、可连续自校准的串行AD转换器有差分输入和高达16位的分辨率,其串行接口为I2C总线。STC89C52单片机通过软件模拟I2C总线实现与ADS1110的连接。本设计采用单端输入,正输入端接外围电压采样电路的输出,负输入端接地,正负端的电压差即为需要测量的电压值。ADS1110应用电路如图4-6所示。4.5显示模块设计4.5.1显示模块电路设计方案一:采用八位共阳极 LED 数码管进行显示,利用单片机 I/O

28、口动态循环 输出的方法,将相应的段码值输入,并开相应 LED 的三极管。方案二:采用点阵字符型 LCD1602液晶显示,液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件。方案三:为了弥补方案二的只能显示英文字符以及显示区域过少的缺点,可以采用LCD12864液晶来显示,LCD12864可以显示中文字符,使测量时更直观,以满足各种场合的需要。LCD12864具有汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字,格式为16x16点阵、128个字符,格式为8x16及64x256点阵显示RAM。故本设计在显示模块电路

29、上采用方案3。4.5.2LCD12864与单片机接口电路LCD16824液晶与单片机链接电路如图4-6所示 4.6保护电路与滤波电路设计为了保证电路工作在正常的工作条件下,防止由于外部的扰动或者由于操作失误导致电路硬件被强制破坏,必须加入适当的保护电路、滤波电路以及指示电路。1)、在开关之后串联一个IN4007二极管来防止因为操作失误导致电源接反导致单片机、运放、AD转换芯片、液晶屏幕以及其他外围元件烧坏;并且在二极管之后对地并联一个瓷片电容一个电解电容来滤除杂波,使AD芯片可以工作在一个电源供电稳定的环境下,提高精度。(如图4-8所示) 2)、在测量电压、测量电流电路接运放的前端对地并接一个

30、5V的稳压二极管进行限幅处理,如若运放输入电压超过5V,稳压二极管强制将电压钳位在5V,这样可以保护运放,使输入运放的电压在运放的极限参数之内。(图详询图4-4、图4-5,此处不再重复给出)3)、在AD的正输入端之前,以及供电VCC端对地并接0.1uF的瓷片电容和10uF的电解电容滤除杂波,使AD的输入电压更稳定。(图详询图4-6,此处不再重复给出)4)、接装电源指示灯,如果电源供电正常则LED灯显示亮,电源指示灯对后期的调试以及日后的使用有用。(如图4-9所示)5系统软件设计5.1软件框图5.2软件流程图5.3程序撰写语言本程序设计采用语言设计,C语言有如下特点:1、简洁紧凑、灵活方便C语言

31、一共有9种控制语句,32个关键字。它把低级语言的实用性和高级语言的基本结构和语句完美的结合起来。 2、运算符丰富C语言的运算符包含的范围很广泛,共有34种运算符。C语言的赋值、括号、强制类型转换等都是运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。3、数据结构丰富C语言的数据类型有:字符型、整型、数组类型、指针类型、共用体类型和结构体类型等。可以完成各种复杂数据结构之间的运算。并引入了指针概念,使程序更加的灵活,可读性更高,也使程序效率变得更高。5.4程序主要组成该系统的软件部分,我们用单片机 C 语言编写。软件部分主要由一个主程序 main,两个子程序组成。主程序main主要实现对测量量

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2