模拟电压控制数字电位器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本应用笔记描述了使用外部模拟电压改变数字电位器阻值的简易方法。使用Microchip的PIC12F683型微控制器将模拟电压转换至控制数字电位器的I?C数据流。数字电位器DS1803作为本应用中的示例器件,另外还用到极少数其他外
部器件。这里介绍的方法适用于其他控制器输入和其他数字电位器/可变电阻。
硬件配置
图1显示了使用PIC12F683的控制电路原理图。微控制器6个GPIO中的4
个用于控制SDA、SCL的输出信号、单个LED,并接收一路模拟输入。
GP5、GP4和GP0分别分配至信号输出SDA、SCL和LED。SDA和SCL具有4.7kΩ
上拉电阻至VDD,直接连接至DS1803的SDA和SCL引脚。微控制器的GP1 IO分配为模拟输入引脚。通过跳线可选择地址引脚、分离共用的VCC (VDD)、隔离SDA 和SCL。
工程固件
本工程的固件在MPLAB IDE (7.40版本)环境下,由汇编语言编写。此编译工具目前由Microchip免费提供。全部程序仅占用小于450字节的程序空间(Flash)和8字节的数据空间(RAM)。
程序首先初始化PIC的多个配置位,包括ADC和内部振荡器。程序配置ADC 为从GP1输入,并设置转换时钟为使用内部125kHz振荡器。
固件运行一个循环:ADC持续转换模拟输入端的电压,一旦转换完毕,10
位ADC输出的高8位作为数据字节,传送至I?C总线。此I?C信号用于控制DS1803。程序设置为一同控制DS1803的2个电位器;但通过改变固件,可以实现由
PIC12F683的2个不同的模拟输入独立的控制2个数字电位器。
固件在这里提供下载:下载。
多种功能
程序允许用户通过改变PIC12F683 GP1输入端的电压,控制数字电位器。GP1端电压的持续变化会引起数字电位器电阻的相应变化。输出电阻(ROUT)可以看作是输入电压的函数。
设计中使用的DS1803端到端电阻为:50kΩ
VCC的允许范围:2.7V至5V
输入电压变化范围为0V至VCC
输出电阻将会遵循:
ROUT (kΩ) = (50/VCC (kΩ)) × 输入电压
ADC运行期间,LED不断闪烁。如果I?C出现故障,LED保持常亮。一旦故障排除, LED继续正常工作。设计者可通过检查器件地址是否正确、I?C总线是否连接,排除系统的故障。
此设计非常通用,类似的方法可以用在多个系统。一些实例包括:
非线性传递函数(如,伽马校准)可以使用可变电阻DS3906结合嵌入式查找表中存储的恰当传递函数实现。
当环境温度变化时,可以在输入端连接一个热敏电阻,以改变I?C控制的电流型DAC (DS4402/DS4404)。
广东东莞供应电位器:/