本帖最后由 yinhaijun 于 2022-11-9 09:37 编辑
一、设计方案 针对电流输出型传感器(4~20mA或者0~20mA),设计了这款电流采集模块。主要是通过运放搭建电流放大电路,并通过二阶低通滤波后送入带有12位ADC的单片机,通过数码管显示电流值,并通过串口打印数据。 二、方案解析 1、电流采集放大电路 该电路是典型的运放低侧电流监测的应用,采样电阻R20为10Ω,精度0.1% 25PPM/℃。R5、R4、R6、R7以及运放U1组成差分放大电路,因为R5=R6、R4=R7,所以该差分放大电路的Vout = Vin * (R4/R5)。所以CN1处的电压等于 被测电流*10*10 (0~2V)。断开H1,万用表调至mA电流档,可以监测回路中的电流大小。正常使用时,短接H1即可。 2、二阶低通滤波 这是一个典型的单位增益KRC电路又称塞林更(Sallen-Key)滤波器,截止频率fc=1/(2*pi*(R1*R2*C5*C6)^0.5) ,可以通过电子发烧友上的计算器(运放低通滤波器在线计算工具)。 我这边设计的是需要滤掉工频干扰的50HZ,通过计算并查找相关电阻阻值和电容容值,确定R1 = R2 = 10KΩ,C5 = 220nF,C6=470nF,通过截止频率计算公式算出fc = 49.5HZ。 电路中运算放大器选用常用的KTA333(SOT-23封装)低噪声低温漂精密运算放大器。 它的输入失调电压小于 10μV,输入偏置电流±100pA,输入失调电压±120pV,失调电压漂移仅有 0.05μV/℃。 3、其它功能介绍 单片机采用STC的STC8H3K32S2-45I-LQFP32,该芯片具有12位的ADC,可以满足本方案的采样精度要求。并且在电路中增加TL431电路作为单片机ADC的参考电压。运放放大后的最大电压值是2V,参考电压可以设置成2.5V。而且参考电压设置为2.5V比直接用5V系统电源可以提高采样精度。 显示部分采用的是TM1650可以驱动4位8段数码管,进行测试值显示。 电源部分,采用TPS5430降压芯片,输入可以5.5 V ~ 36 V宽电压供电。 三、电路调试 1、检查供电电压 & 2.5V参考电压
2、电流经过采样电阻R20、差分放大电路放大100倍后的电压值: 电流(mA) | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | CN1电压值(mV) | 395 | 491 | 588 | 685 | 783 | 882 | 978 | 1075 | 1175 | 1271 | 1368 | 1467 | 1558 | 1662 | 1763 | 1860 | 1963 | CN2电压值(mV) | 395 | 490 | 588 | 685 | 783 | 882 | 978 | 1074 | 1175 | 1271 | 1369 | 1467 | 1558 | 1662 | 1763 | 1861 | 1962 |
拟合曲线为y = 97.85x,因为4.99K和49.9K电阻存在误差,后期可以换成0.1%的再试一下。 3、单片机采集数值 TempData = temp * 2.510 /65536 ; 经过单片机采集后,显示数值只差0.01mA,可以忽略不计。 将上面的拟合曲线写入程序中,测试结果还是可以的。
相关电路和程序已在立创开源 https://oshwhub.com/yinhaijun/4-20mAdian-liu-cai-ji-mu-kuai
|