程控可变增益放大器方案(省钱版)
等整个项目全部完成,我也会开源在gitee上的,包括板子和程序。
1.前言
最近做这个方向的项目,就大致了解了一下这方面的知识,不过貌似做这个方案的价格挺贵的,只能找立创上便宜的芯片来代替了。首先大致说一下整个链路。
信号的总走向是由输入,走VGA芯片,直接输出,就是绿色的路线。
而MCU通过RMS-DC芯片检测输入信号的有效值,再通过输出来控制VGA芯片放大倍数。
开源地址:VGA: 可变增益放大器方案(丐版) (gitee.com)
立创开源:可变增益放大器(丐版) - 嘉立创EDA开源硬件平台 (oshwhub.com)
2.VGA
这个VGA不是视频输出的VGA,而是可变增益放大器的缩写。
这次我选择的是AD603这个经典的方案
下图是仿真结果
2.RMS-DC
这块比较经典的是AD637这个芯片,但是立创上太太太贵了,100+,真的难接受
正应如此,我找代替方案,就是LTC1966,价格大概是1/3
下图是仿真效果
我在输出后加了一个运放,放大3倍,因为我的输入范围是10mV~1V,放大3倍给单片机的AD刚好在范围内。
3.实际电路
为了控制成本我还是选了f103,因为输入信号可能会有10mv这个小信号,所以就加了一块16位的AD。DA的话,因为f103没有DA只能选择pwm+2阶RC滤波来模拟DA,当然我也选了一块12位的DA,原本想选16位的DA,但是16位的DA起步就是20+,算了算了。
4.PCB
我们仔细分析一下信号,其中的高频小信号是走这条路的。可以看到,整条路线非常干净,没有任何其他信号干扰。原本想再加上包地过孔的,奈何AD不太行,没找到。
4.测试
板子已经从立创那边发货了,前面第一版测试RMS-DC是没有问题的,误差在5mV以内,第一版因为外围器件啥的没加,所以又重新再改了
这是做好,焊接完成的实物
测试现场
输入是1Khz,10mV的正弦波
测试RMS-DC,与仿真无异,是21mV
DA输出1.5V
输出波形如下,我不确定这噪声是我仪器的问题还是设计问题,但效果都出来了。峰峰值是3.5V,频率没变还是1Khz
5.程序
在这个系统里最主要的是ADC与DAC,但是ADC的问题很大。
这是我测得的ADC的数据与实际值的关系,可以看到差是越来越大了。尤其可以看到,在最初的时候,差值是一个非线性的。
最后没办法,我唯一想到的解决办法就是查表法。
原来我想全部查表,但是神奇的是前25个数据是可以的。一旦数据超过第二十五个,就飞了。
不过好在ADC后续的数据是线性的,我找到一个倍数1.5刚好差不多。
可以看到,修正后数据非常吻合了。我又对差值进行了直方图绘制,效果如下。
可以明显看到误差超过10的数据非常少了,大部分都能接受。,下面是实际测试的效果。
基本能接受。
6.结语
等整个项目全部完成,我也会开源在gitee上的,包括板子和程序。而这个项目的后遗症就是前两篇文章LPC842这个项目。前面测试f103真是难搞,IIC不好用,没有DA,像我这种用惯了RT1064,STM32H7,都用不习惯了。哎,不说了,说多了都是泪。。。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)