基于AD5272多组变阻器电路设计

举报
tsinghuazhuoqing 发表于 2021/12/26 23:11:04 2021/12/26
【摘要】 简介 本文记录了基于D5272三组电子变阻器电路模块的设计。该模块可以用于基于面包板搭建的各种实验电路的测试功能。相比于“机械变阻器”,该模块更加小巧,通道多,设计比较方便。可以直接精确设置各通道的电阻...

简介

本文记录了基于D5272三组电子变阻器电路模块的设计。该模块可以用于基于面包板搭建的各种实验电路的测试功能。相比于“机械变阻器”,该模块更加小巧,通道多,设计比较方便。可以直接精确设置各通道的电阻值。

确定是,电子变阻器的频率响应比起机械变阻器要小。这部分详细参见“AD5272数字变阻器”中的内容。

电路设计

工程文件:

D:\zhuoqing\AltiumDesigner\Tools\2020\DigitRheostat\DigitRheostat.PcbDoc

1. 原理图设计

▲ 电路原理图

▲ 电路原理图

2. PCB 设计

设计电路板,使其适合快速制版。获得快速制版后的电路板,经过焊接形成测试电路板圆形。
▲ PCB设计

▲ PCB设计

下面是安装有蓝牙通信模块后的测试电路:

▲ 安装有蓝牙通信模块后的电路板及其外部接口

▲ 安装有蓝牙通信模块后的电路板及其外部接口

三个电子变阻器的量程分别为:

通道号 变阻器的量程
1 20kΩ
2 20kΩ
3 50kΩ

软件设计

D:\zhuoqing\window\C51\STC\Tools\DigitRheostat\DigitRheostat.uvproj

//==============================================================================
//                    PROCESS THE DEBUG BUFFER
//------------------------------------------------------------------------------
void SerialDebugProcessBuffer(void) {
    unsigned int nNumber;
    unsigned int nAddress;
            
    SerialDebugBuffer2Argument();
    if(g_ucSDANumber == 0) return;

    if(strcmp("hello",                (char *)STD_ARG[0]) == 0)
        printf("%s is ready !\r\n", VERSION_STRING);
    
    else IFARG0("ad5272set") {
        sscanf(SDA(1), "%d", &nNumber);
        sscanf(SDA(2), "%d", &nAddress);
        AD5272SetAddress(nAddress);
        AD5272WriteRDAC(nNumber);
    }
    else printf("Error command : %s !\r\n", STD_ARG[0]);
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

控制软件说明:

发送命令的格式为:

ad5272 number address

number:0~1023 : 设置电阻从最小增加到最大量程。
address: 0,1,2 : 分别对应着三个变阻器。从左到右分别是 CH0,CH2,CH1

特性测试

1. 电子变阻器应用电压范围

使用一个 1 k Ω 1k\Omega 1kΩ电阻与AD5272串联,接入测试交流信号,测量分压在AD5272上的输出电压波形。具体实验电路如下图所示:
▲ 实验电路

▲ 实验电路

通过分压输出的波形可以看到AD5272的端口电压大体上不能够小于0V,不能够大于其工作电压(5V)。如果超出了这个范围,信号就被钳位在0~5V之间。

因此在实际应用中,一方面需要避免电子变阻器工作电压超出这个范围,另外在电子变阻器上需要加上保护串联电阻,以免超出电压范围之后出现过大的输入电流或者输出电压。

▲ 分压电阻实验波形

▲ 分压电阻实验波形

下图显示了AD5272电阻变化过程中,其上的分压信号开始饱和过程。
▲ 逐步增加电子变阻器的值,输出波形变化情况

▲ 逐步增加电子变阻器的值,输出波形变化情况

绘制上述动图的PYTHON程序为:

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST2.PY                     -- by Dr. ZhuoQing 2020-04-25
#
# Note:
#============================================================

from headm import *
from tsmodule.tshardware    import *
from tsmodule.tsdraw        import *

gifid = 5

tsgifff()

for i in range(17):
    data = int(1024 / 16 * i / 10)
    if data >= 1024: data = 1023

    zbcmd(b'ad5272set %d 1'%data)

    time.sleep(.2)

    tsgifaa()


dop2gif(gifid = gifid)
printf('\a')

#------------------------------------------------------------
#        END OF FILE : TEST2.PY
#============================================================


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

参考文献:

  1. AD5272数字变阻器
  2. 机械变阻器

文章来源: zhuoqing.blog.csdn.net,作者:卓晴,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuoqing.blog.csdn.net/article/details/105646047

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。