数字电位器简介
数字电位器(DCP)是专为替代传统机械电位器、可变电阻器而设计的新型集成电路,通过I2C、SPI或三线(CS,U/D,INC)等方式与MCU接口,实现在应用程控调节(或按钮控制),从而实现与传统机械电位器或可变电阻器相同的电位、电阻调节功能。这些器件通常带有非易失性存储器,能在设备掉电时自动存储滑动端设定值。数字电位器的调节精度由其内部的抽头数决定,根据需要有16、32、64、100、128、256、1024等多种选择,电阻范围通常为1KΩ~100KΩ,电阻变化既有线性也有对数方式。与传统机械电位器相比,数字电位器具有在应用程控调节、长寿命、易于装配节省空间、不受振动影响等突出优点,已被广泛应用于医用设备、仪器仪表、工业控制、计算机、家用电器、手机、数码产品等各个领域。
数字电位器基本工作原理
由于数字电位器可代替机械式电位器,所以二者在原理上有相似之处。数字电位器属于集成化的三端可变电阻器件其等效电路,如图l所示。当数字电位器用作分压器时,其高端、低端、滑动端分别用VH、VL、VW表示;而用作可调电阻器时,分别用RH、RL和RW表示。
图2所示为数字电位器的内部简化电路,将n个阻值相同的电阻串联,每只电阻的两端经过一个由MOS管构成的模拟开关相连,作为数字电位器的抽头。这种模拟开关等效于单刀单掷开关,且在数字信号的控制下每次只能有一个模拟开关闭合,从而将串联电阻的每一个节点连接到滑动端。
数字电位器的数字控制部分包括加减计数器、译码电路、保存与恢复控制电路和不挥发存储器等4个数字电路模块。利用串入、并出的加/减计数器在输入脉冲和控制信号的控制下可实现加/减计数,计数器把累计的数据直接提供给译码电路控制开关阵列,同时也将数据传送给内部存储器保存。当外部计数脉冲信号停止或片选信号无效后,译码电路的输出端只有一个有效,于是只选择一个MOS管导通。
数字控制部分的存储器是一种掉电不挥发存储器,当电路掉电后再次上电时,数字电位器中仍保存着原有的控制数据,其中间抽头到两端点之间的电阻值仍是上一次的调整结果。因此,数字电位器与机械式电位器的使用效果基本相同。但是由于开关的工作采用“先连接后断开”的方式,所以在输入计数有效期间,数字电位器的电阻值与期望值可能会有一定的差别,只有在调整结束后才能达到期望值。
从图2可以看出,数字电位器与机械式电位器有2个重要区别:1)调整过程中,数字电位器的电阻值不是连续变化的,而是在调整结束后才具有所希望的输出。这是因为数字电位器采用MOS管作为开关电路,并且采用“先开后关”的控制方法:2)数字电位器无法实现电阻的连续调整,而只能按数字电位器中电阻网络上的最小电阻值进行调整。
数字电位器的典型应用
数字电位器的应用广泛,而且按照不同的分类标准也有很多种类,但是基本原理是相似的,这里以三线加/减式接口的数字电位器X9313为例,介绍数字电位器的应用。
1、内部结构及工作原理
X9313为工业级的32抽头数控电位器,最大阻值为10kΩ,采用8引脚,有DIP、OIC、FSSOP3种封装。X9313的内部功能框图,如图3所示。它由输入部分、5位E2PROM、存储和调用电路、32选l译码器、由MOS场效应管构成的32路模拟开关、电阻阵列6部分组成。其中输入部分是5位加/减计数器经过三线加/减式接口()与单片机相连,其工作像一个升/降计数器,输出经译码,控制接通某个电子开关,这样就把电阻阵列上的一个点连接到滑动输出端。电阻阵列由32个等值的电阻和与之相配套的电子开关组成。根据控制端的电平,计数器的内容还可以储存到非易失存储器中以便后续使用。
2个顶脚引线分别接VH和VL,中间抽头为VW。为3个控制端,其中,为片选端,为低电平时,X9313被选中。此时才能接收的信号。在下降沿使计数器增或减1。如果,滑动端向VH方向滑动,VW与VH之间的电阻减小一个阶值。反之,如果,滑动端向VL方向滑动。计数器输出译码后,经过32选1,使滑动端的位置沿电阻阵列移动。当计数器达到某个极端(00000或11111)时,不会循环回复,从00000自动变成1111l,或从11111变成00000,也就是说当为高电平而也为高电平时,计数器的值存储到非易失存储器中,系统上电时,器件自动将非易失性存储器中的值送到计数器,作为计数器的输出。
2、典型应用
手控调压电路
图4所示为。将VH端接+5V,VL接地。从VW端输出0~+5V的可调电压。R1、R2为上拉电阻。只要按动开关S1,输出电压就升高,每按一次电压升高0.05V,最高可达5V。如果按住S2即为低电平,此时按S1则每按一次电压降低0.05V。
X9313与单片机的接口电路
这里以常用的AT89C2051单片机为例介绍数字电位器与单片机的接口电路。电位器的3个控制端分别接AT89C2051的P1.7、P1.6和P1.5。由R1、C1构成上电复位电路,C2、C3和石英晶体JT构成晶振电路。因为单片机I/O端口内部已有上拉电阻,所以上电时上述控制端均为高电平,电位器处于待机状态,此时应用和上例相同。
相关程序代码如下:
上面的程序实现了使UD为高电平,此时给数字电位器发送50个脉冲,增大电阻使高低端之间电压为2.5V。通过单片机传给数字电位器脉冲信号来控制数字电位器的大小,从而方便而精确地改变电阻值。但是在实际应用中,要注意对数字电位器的误差进行分析和补偿。
如何制作数字电位器
用二进制集成电路CD4040可制作数字电位器。电位可有4096挡次,如电压在4.096V,每伏有1000个1mV变化进位挡,每进1位上升1mV,电路二进制位0~11位以高位电阻最小。如第11位50kΩ、第10位100kΩ、第9位200kΩ、第8位400kΩ、第7位800kΩ、第6位1.6MΩ、第5位3.2MΩ、第4位6.4MΩ、第3位12.8MΩ、第2位25.6MΩ、第1位51.2MΩ、第0位102.4MΩ,向下按每退1位、阻值加1倍顺序排列。如排错,或电阻不是倍数,电位的上升值会不均匀,进到某数值便突然跳变。
CD4040集成电路各脚功能。
1是收音自动搜索调谐电位器。Q1、Q2组成2~4kHz左右振荡电路。Q3阻止振荡。A端接调谐指示输出脚,CXA1019、CXA1283等收音电路调谐指示脚都是收到电台输出负电压,Q3接收负极电压使Q1停振。B保持电位不变,按一下K1搜索下个电台,B电压上升,收到电台Q3阻止振荡,B端电压停止上升,再按再往下搜台……B端搜台从0V升到5V,跳回0V再按0~5V循环搜台,K1用于计数清0,如要跳回低频电台搜索时按K2。B端接收音调谐电路变容管,此电路接通,如A端没有负电就会从0~5V循环搜台,只要收音机收到电台时调谐指示脚输出负电压即停搜。如有12位、16位或更多位的串级二进/退的计数电路就更好,可惜找不到或是目前根本没有厂商生产这类多位进退计数电路。
若从×处断开去掉Q3电路,把K1接至断开的两处可做其他计数电位器,如台灯调光、电风扇调速等。
图2为电视VH电调谐音量电位器,只需6位二进制倍数电阻,就可达到64级音量调节。