资讯详情

基于单片机的数字电位器的设计

分辨率扩展

Ra和Rb并联输入信号Vin两端抽头数为32。Ra和Rb的输出作Rc端口电压VH和VL设置,Ra始终比Rb位置间隔较高,使1/32Vi~31/32Vi加上输入信号31种电压变化Rc两端。由于Rc100抽头的选择DCP,从而可以在Rc输出端得到31×(100-1)=3069级的Vin线性电压值。

随着Rc滑动端上下移动,Ra和Rb的位置也在MCU在控制下进行相应的调整。设置在上移过程中Rc与当前位置值相加的滑动端上移值为M。若M小于100,则表示此时仅为Rc滑动端移动,Ra和Rb滑动触点位置不变;M值超过100的,Ra和Rb所有触点都向上移动一个滑动位,Rc的滑动端返回M减去100之后所得实际值决定的触点位。类似地,如果在抽头下移的过程中Rc当滑动端需要下移到抽头0以下时,Ra和Rb滑动端还需要同步向下移动1位,以保持电位器实际调整步数的平衡。

电位器Rc一级电压跟随器设置在抽头输出端,可减少负载并联对级联后分压系数的影响。电位器触点的滑动过程属于不连贯的步进调节模式,因此Rc电阻值不是连续变化,而是在滑动端调整到位后才有预期的输出,这会使输出电压略有跳变。但由于输入信号Vin绝对增量不大,整个电位器扩展系统的分辨率很高,我们可以Rc电位器的滑动输出端并联1000~2200pF的小电容C1了减少输出电压的波动。

上述电位器分辨率扩展的理念具有较高的可行性和移植性。它曾应用于我们的程序控制增益可编程高速放大器系统设计方案,取得了良好的使用效果。

电阻值指数化

DCP软件实现指数化处理,无需额外添加硬件。由于通用单片机的函数操作功能非常有限,因此在算法上,以数组形式保存电位器每级切换所需的触点移动步数ROM中。调整阻值时,MCU根据按键的UP/DOWN状态和当前阶数值通过前阶数值DCP实际偏移量,然后由MCU控制DCP执行相应的步进切换动作。考虑到3069级的实际分辨率,系统从零到满输出设置了24级步进阶数,优于市场上主流机械步进电位器18~21的步进阶数。具体阶数与电位器抽头偏移关系见表1。从表中不难看出,系统将DCP扩展到3069的高分辨率是为了在指数调整过程中准确分析电位器电阻值。

表1 阶数与电位器抽头偏移的关系

25d15e1af8a4479dd7dc1373d3cdda94.png

X9312与X9313不能直接从电影中的存储单元中读取滑动端的当前位置。因此,为了记住每个数字电位器滑动触点的实际位置,必须在程序中设置变量来记住不同电位器的触点位置。

结束语

高分辨率指数数字电位器的解决方案实现了通用线性数字电位器在音响系统中的应用,具有良好的工程应用前景和推广价值。此外,由于DCP指数高分辨率扩展只占用了很少的系统资源,因此可以MCU剩余端口资源应用于音量状态指示、红外信号解码等功能环节,以改善系统功能。

标签: 电位器调到零电位器跟可变电阻c2031滑动电位器旋扭式电位器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台