常用控制电路设计及应用(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

项目4 数字电位器在AD转换中的应用电路

设计任务

目前,数字电位器以其调节准确、方便,性能稳定、无噪声,具有可编程能力等特点,在电子工程技术中得到了广泛应用。本设计将用数字电位器取代传统的机械电位器,使输入的模拟量更加精确可调,AD转换后输出的数字量更准确。

总体思路

数字电位器是用数字信号控制电位器滑动端位置的新型器件。本设计选用MCP4131-502芯片作为串行信号控制的数字电位器。本设计通过数字电位器提供0~5V的模拟电压,经AD转换变为数字量,然后通过单片机数据处理显示在数码管上。本设计的核心是通过数字电位器的应用使输入的模拟量更加精确。

系统组成

数字电位器在AD转换中的应用电路主要分为以下4个模块。

img模拟电压输入电路:提供0~5V的模拟电压,通过单片机控制数字电位器,精确控制输入的模拟电压。

imgAD转换电路:通过AD转换,将模拟电压转换为数字量,便于单片机处理。

img单片机电路:通过单片机采样,向数字电位器发送控制信号,驱动数码管显示。

img数码管显示电路:将采样后的数字量显示在数码管上。

数字电位器在AD转换中的应用电路系统框图如图4-1所示。

img

图4-1 数字电位器在AD转换中的应用电路系统框图

模块详解

数字电位器在AD转换中的应用电路如图4-2所示。下面分别对数字电位器在AD转换中的应用电路的各模块进行详细介绍。

img

图4-2 数字电位器在AD转换中的应用电路

1.模拟电压输入电路

模拟电压输入电路如图4-3所示,其中MCP4131-502芯片的引脚功能如下。

1引脚为片选信号端img,低电平有效;  5引脚为电位器0A端P0A;

2引脚为时钟信号端SCK;  6引脚为电位器抽头端P0W;

3引脚为串行数据输入端SDI/SDO;  7引脚为电位器0B端P0B;

4引脚为接地端VSS(图4-3中未画出);  8引脚为电源端VCC(图4-3中未画出)。

本设计通过单片机控制数字电位器,从而输入0~5V模拟电压到ADC0809芯片。

2.AD转换电路

AD转换电路如图4-4所示。本设计采集ADC0809芯片的IN0引脚上的模拟量,故将MCP4131-502芯片的P0W引脚和ADC0809芯片的IN0引脚连接。ADC0809芯片的模拟通道地址选择信号端ADDA、ADDB、ADDC引脚都接地,这样地址信号000选中的转换通道为IN0引脚。ADC0809芯片的地址锁存允许信号端ALE引脚为高电平有效,故接VCC引脚,则ADDA、ADDB、ADDC 3引脚上的3位地址被锁存。ADC0809芯片的启动信号端START引脚为正脉冲有效,和单片机的P3.3引脚连接。当单片机的P3.3引脚为高电平时,则启动AD转换。

img

图4-3 模拟电压输入电路

img

图4-4 AD转换电路

本电路设计为单极电压输入,VREF(+)引脚接+5V,用于提供片内DC电阻网络的基准电压。CLOCK引脚与1MHz有源晶振的输出引脚相连。转换结束信号端EOC引脚在AD转换过程中为低电平,AD转换结束时为高电平,与单片机的P3.4引脚相连。当AD转换结束时,单片机读取AD转换结果。输出允许信号端OE引脚接单片机的P3.2引脚,且为高电平有效。当单片机将P3.2引脚置高电平时,才可以从三态输出锁存器取走AD转换完的数据。ADC0809芯片的数字量输出端OUT1~OUT8引脚接单片机的P1.7~P1.0引脚。

3.单片机电路

单片机电路主要进行内部程序处理,实现采样、控制数字电位器和驱动数码管显示等功能。单片机电路如图4-5所示。其中,C1、C2及X1构成晶振电路,其作用是为系统提供时钟信号。

img

图4-5 单片机电路

1)控制数字电位器功能

在本设计中,通过单片机控制数字电位器。单片机的P1.0、P1.1和P1.2引脚分别接数字电位器的SDI/SDO、SCK和img引脚。当img引脚处于低电平时,单片机通过SDI/SDO串行移位输入16位命令字,在SCK引脚信号的每个上升沿时刻输入1位命令字。如图4-6所示,KEY1和KEY2端接单片机P3.4和P3.5中断引脚。通过按键S1和S2调节数字电位器,实现输入的模拟电压增/减。

img

图4-6 按键控制电位器

2)采样功能

单片机通过对ADC0809芯片的控制,实现数据采样功能。具体原理在AD转换电路中已详述。

3)驱动数码管显示功能

单片机通过与数码管的连接,驱动数码管显示。具体原理将在数码管显示电路中详述。

4.数码管显示电路

本设计采用4位共阴数码管,如图4-7所示。根据图4-5可知,P2.7~P2.0引脚驱动数码管8位段选信号,P1.4~P1.7引脚驱动4位位选信号。整个数码管显示采用多维数码管动态扫描显示的方法。

img

图4-7 数码管显示电路

以5V输入模拟电压为例,AD0809芯片的输出数据为

img

式中,Vin为输入模拟电压;Vout为输出数据。当输入模拟电压为5V时,输出数据为255V,将255×2=510V,510×98.0%=499.8V,然后将其取整后小数点左移两位,即显示为“4.99”。

总体电路仿真

在Proteus中,对上述的总体电路进行仿真,改变数字电位器的电阻值,观测显示结果的变化,如图4-8~图4-11所示。

1.输入模拟电压为0V

由图4-8的仿真结果可以看出,在输入模拟电压为0V时,数码管显示为“000”。

img

图4-8 总体电路仿真1

2.输入模拟电压为1V

由图4-9的仿真结果可以看出,在输入模拟电压为1V时,数码管显示为“055”。

img

图4-9 总体电路仿真2

3.输入模拟电压为2V

由图4-10的仿真结果可以看出,在输入模拟电压为2V时,数码管显示为“105”。

img

图4-10 总体电路仿真3

4.输入模拟电压为4V

由图4-11的仿真结果可以看出,在输入模拟电压为4V时,数码管显示为“206”。

img

图4-11 总体电路仿真4

由以上的仿真结果可知,本设计的电路基本可以完成设计要求。

程序设计

在本次设计中所用到的单片机程序如下:

img
img

电路板布线图(见图4-12)

img

图4-12 电路板布线图

实物照片(见图4-13)

img

图4-13 实物照片

思考与练习

(1)为了使数码管显示亮度提高,在原设计上应怎样处理?

答:在数码管位选端接入上拉电阻。

(2)多位数码管动态显示的原理是什么?

答:各个数码管的段码都是P0接口的输出值,即各个数码管在每一时刻输入的段码是一样的。为了使其显示不同的数字,可采用动态显示的方法,即先让最低位数码管被选通显示,经过一段延时,再让次低位数码管被选通显示,再延时,依次类推。由于视觉暂留,只要延时的时间足够短,就能使各个数码管的显示看起来稳定、清楚。

特别提醒

(1)在设计印制电路板时,晶体和电容应尽可能安装在单片机附近,以减少寄生电容的影响,保证振荡器稳定和可靠的工作。为了提高稳定性,应采用NPO电容。

(2)在Protues软件中,没有ADC0809芯片的仿真模型,所以使用了ADC0808芯片的仿真模型来代替它。在实际电路制作中,最常用的是ADC0809芯片。