您好, 访客   登录/注册

基于STM32和ICL7135的数字电压表设计

来源:用户上传      作者:李海

  【摘要】    本文以STM32F103ZE为主控芯片,用ICL7135双积分A/D转换芯片对被测电压进行模数转换,设计了一个电压档量程可切换,满量程为2V数字电压表。电压显示格式和精度可通过软件控制,电压大小可通过硬件实现。简单介绍了数字电压表硬件电路的设计和软件部分的设计,对电压测量的原理作了详细的介绍。
  【关键词】    数字电压表    STM32F103    ICL7135
  一、引言
  传统采用ICL7135芯片设计的数字电压表,一般都是利用ICL7135的BCD码和STB选通信号,对于产品的微型化、多功能,该设计占用了比較多的I/O口。本设计只利用了ICL7135的“busy”端,在其高电平期间,STM32通过对ICL7135的脉冲时钟进行计数,对计数数据进行处理并显示,占用资源较少。
  二、ICL7135简介
  TCT7l35是高准确度、通用型、位BCD码精度双积分式A/D转换器。它有许多优良的特性,具有自动校零功能,自动较零的准确性仅受系统噪声的影响,且偏差小于10μV;有超量程(OR)和欠量程(UR)信号,容易实现量程的自动转换;设有6个控制信号端、同时进行字位输出和BCD码输出,可与LCD译码/驱动器及单片机接口,进行数据处理,构成智能化仪器;满量程为2 0000在±20000汁数范围内的准确度为±1个字。
  三、硬件电路设计与实现
  本设计电路主要由负电源产生电路、脉冲产生电路、取样电路、数据采集处理电路、电压放大倍数切换电路以及显示电路组成。
  3.1 ICL7135AD转换电路
  本设计采用ICL7660芯片构成电路产生-5v电压,给ICL7135的1引脚供芯片所需的负电源;采用ICL8069芯片,通过电阻、电位器调整得到ICL7135芯片的2引脚所需的基准电压;采用555电路产生100K的脉冲信号,作为ICL7135芯片22引脚的时钟脉冲。
  3.2 电压档切换电路
  本设计根据测量电压的大小,设计了三个电压档量程,分别为2V、200mv、20mv,与之相对应的电压放大倍数为1倍、10倍、100倍。本设计采用TCL2652芯片和两个继电器构成3个电压档量程
  3.3 数据采集处理及显示电路
  本设计通过STM32F103ZE为主控芯片,ICL7135采集到的数据送给STM32,STM32主控芯片对数据进行分析,得到相应的分析结果,并在LCD显示屏上显示出来。
  四、软件部分设计与实现
  4.1  ICL7135原理简介
  ICL7135是以双积分方式进行A/D转换的电路。每个转换周期分为四个阶段:I自动调零;II被测电压积分;III基准电压反积分;IV积分回零。在BUSY信号为高电平时经历了被测电压积分阶段和基准电压反积分阶段,由ICL7135 A/D时序图可以看出,一共需要30001个CLK信号。很显然,只要设法测得BUSY信号在高电平期间的CLK时钟脉冲总数,再减去10001个脉冲数,就可以得到A/D转换结果。
  4.2软件实现方法
  本设计中ICL7135的BUSY线与STM32的PD3口相连,CLK脉冲信号与STM32的PA0端口相连。stm32通用定时器做计数器,外部输入脉冲信号接在相应TIM的ETR引脚上,使用外部时钟模式2,对外部脉冲信号CLK计数。程序中,去判断PD3引脚是否为高电平,若为高电平,启动TIM2开始计数,等到PD3引脚为低电平时,TIM2停止计数,然后读取计数器的值显示出来。STM32根据计数值的大小判断是否超量程,通过电压量程切换,读取更为精确合理的电压值。
  五、实验结果与分析
  实验初期,由于ICL7135积分电路的电容采用的瓷片电容,读数显示为0,无法测出ICL7135的信号,达不到参数要求,查找资料后发现,此电容需要CBB电容,更换后基本上能达到参数要求。另外ICL7135的基准电压也要保住稳定性,否则也会导致电压测量值的不稳定性。
  六、总结
  ICL7135的串行方式在实践中的应用效果很好。与并行方式相比,其突出的优点是结构简单、程序简洁、占用资源少、可提高抗干扰能力,同时可提高仪器的检测可靠性,并且可在不添加任何扩展口线器件的情况下使系统的成本得到降低。
  参  考  文  献
  [1]张超凡、刘珈诚.ICL7135与单片机接口电路[D].辽宁工程技术大学.2010-02
  [2]张绍卿.实现自动量程控制的几种软件方法[D].哈尔滨工业大学.
转载注明来源:https://www.xzbu.com/1/view-15138869.htm