搜索
bottom↓
回复: 44

好东西出炉:在AVR系统中,一个三级管实现数字音量调节,而且线性度好。应该是前无古人了

[复制链接]

出0入0汤圆

发表于 2007-8-6 00:34:41 | 显示全部楼层 |阅读模式
为了控制数字收音机的成本,没有采用数字电位器的方式。开始采用CD4051加8个电阻的方式来调节音量,但是在3V时,CD4051阻抗较高 > 1K。

    后来想到了用AVR的PWM来控制场效应管的方法来做,但是这样做很难做到线性。

    再后来突发灵感,想到了这中方法,并且在MALAB里面仿真通过了,线性度很好。



    在AVR@8MHz 128分频时输出PWM信号>60K,可以做到128阶可调。

    低通滤波器主要滤掉 大于(PWM频率 - 最高音频输入频率) 的部分;

        例如:输入最高音频为10K,PWM为60K,那么低通滤波器滤除大于60K-10K = 50K的成分,保

    留小于 10K的成分;

    当然如果要求不高,可以不要这个滤波器。如上例,大于50K的信号人根本听不见。

    这个滤波器,完全可以用后面的音频放大器,再加几个电阻电容来实现

出0入0汤圆

发表于 2007-8-6 00:58:40 | 显示全部楼层
楼主有创意!



音量控制一般用的是对数电位器,不知实际效果如何?

出0入0汤圆

发表于 2007-8-6 07:49:39 | 显示全部楼层
失真度大.

出0入0汤圆

发表于 2007-8-6 07:49:52 | 显示全部楼层
没有杂音?不吵吗?

出0入0汤圆

发表于 2007-8-6 08:45:56 | 显示全部楼层
好像用OP放大器加CD4053能得不较好的效果,我手头有一本小日本的书上有提到这玩意。
头像被屏蔽

出0入0汤圆

发表于 2007-8-6 09:31:30 | 显示全部楼层
思路很好。但正如【2楼】 xzyang所说的,失真度会很大。



虽然20K以上人耳听不出来,但是几乎所有的扩音机设计,都是基于20K以下的,加入了高频(指>20K)信号,会让扩音机的工作不正常导致音质下降。



最简单的应该是使用一只带电机的音量电位器,音质不会有损失,控制线路也好。以前我看过很多高档的音响都是这么做的。

出0入0汤圆

发表于 2007-8-6 09:34:00 | 显示全部楼层
相信也是后无来者了。。。



思路还是值得的

出0入0汤圆

发表于 2007-8-6 10:35:34 | 显示全部楼层
我觉得大家还没有理解楼主的出发点...



能满足指标要求的简洁的巧妙设计,就是一个好的设计,只要不是重大缺陷就可以想办法完善...

出0入42汤圆

发表于 2007-8-6 10:47:22 | 显示全部楼层
我觉得一般的低成本应用还可以

出0入0汤圆

 楼主| 发表于 2007-8-6 11:37:33 | 显示全部楼层
理论上达到D类功放的水平是没有问题的,具体结果,我得试验哈。

可怜我那20M的模拟示波器坏了,待会去学校搞搞。

出0入0汤圆

发表于 2007-8-6 13:34:43 | 显示全部楼层
MALAB里仿真的时候,那个三极管估计是个理想化的三极管,导通电阻为0,导通和截至切换的时间也为0,如果有这样的三极管,估计你的线路性能是可以的,问题是这样的三极管找不到啊!

出0入0汤圆

 楼主| 发表于 2007-8-6 15:50:17 | 显示全部楼层
改进了下,原图有点问题:







用了一个简单的RC滤波器,然后加到LM358上,驱动耳机,噪声是听不见,不过音质不是很好。准备加个运放,做个多阶的滤波器来试验。



当然,我旨在通出一种算法:就是,将音频信号 与 PWM信号相乘,再对相乘后的信号滤波。实现对信号的线性衰减。

具体怎么实现,就任大家发挥了。

希望大家找到非常好的实现方法,上来交流

出0入0汤圆

发表于 2007-8-6 16:26:40 | 显示全部楼层
以前我用过这种形式的控制,还行.





这种电路在80年代的电视机的伴音电路中很常见.不过后面的PWM部分或是接的伴音IC的静噪或是音量反馈控制部分的.

出0入0汤圆

发表于 2007-8-6 16:33:27 | 显示全部楼层
思路还是不错的!

出0入0汤圆

发表于 2007-8-6 16:39:51 | 显示全部楼层
理论和实际有很大距离,仿真软件能得到的结果不一定现实中也能得到;但作为训练思维倒也挺好的。

出0入0汤圆

 楼主| 发表于 2007-8-6 16:49:41 | 显示全部楼层
12楼的方法就是我所讲的“AVR的PWM来控制场效应管”,线性不好控制

出0入0汤圆

发表于 2007-8-6 16:54:22 | 显示全部楼层
可以在算法中预先补偿,呵呵,音量控制也不要太线性了,高档音响好象用的还是用的什么指数型电位器呢,线性的它不要

出0入0汤圆

发表于 2007-8-6 18:15:18 | 显示全部楼层
支持楼主,我觉得这样的思路很好,在低成本条件下可方便实现音量控制。至于线性度不好,可以慢慢尝试,找出好的解决方法。给点建议,希望有点帮助。



第一个图是有点别扭,不能用,第二个图就对了。



VCC要平稳,否则会引入噪声,最好加一级RC滤波。



三极管选用高频的,使极间电容尽量小,提高转换速度。



10K电阻的阻值要适当,太小,使三极管的饱和压降大,失真就大,太大,会影响上升速度,也是失真大,要找一个合适平衡点。



PWM的频率也要找一个最佳点,太高使三极管开关特征不好,失真,太低,对LPC要求高。



以上为线理论,实际情况可能不一样,这就看楼主试验了。

出0入0汤圆

发表于 2007-8-6 18:55:09 | 显示全部楼层
两个乘积项都带直流分量,这样出来的东西可不好用线性的LPF来处理哟。况且PWM波的偶次谐波也及其丰富。希望看到楼主实际应用成功

出0入0汤圆

发表于 2007-8-6 19:53:15 | 显示全部楼层
我以前做语音防盗报警器时到时用到过类似楼主的这种电路。报警要求声音要到,但语音要求声音不能太大,所以就用类似的电路作了个两级音量调节。效果还可以。不过后来还是没有用,客户说声音要大。

出0入0汤圆

发表于 2007-8-6 20:34:44 | 显示全部楼层
两级的话不用PWM了吧

出0入0汤圆

发表于 2007-8-6 21:01:34 | 显示全部楼层
用MOS管代替NPN管,效果好点。

出0入0汤圆

 楼主| 发表于 2007-8-6 21:23:05 | 显示全部楼层
下面是一种实现方法。试了下效果,还将就。大家可以试试。(R11 处接耳机,需要再串接一个隔直电容)

继续研究中...

出0入0汤圆

发表于 2007-8-6 21:47:34 | 显示全部楼层
这种设计最好不要在产品中出现,太冒险

出0入0汤圆

发表于 2007-8-6 21:53:08 | 显示全部楼层
我的意见:



三极管在对模拟信号进行抽样,后面又滤波,也就是在对模拟信号的平均电压滤波,对原始信号还是有损伤,包括影响其相位以及幅度,这个要用频域分析。



由于人耳对声音的感觉是指数变化的,所以好点的功率放大器其音量电位器都是成指数的。

出0入0汤圆

发表于 2007-8-6 22:15:35 | 显示全部楼层
我用同样的原理做过AC0~600V调压试验,调制频率8K,电磁干扰超级大,失真也大。

出0入0汤圆

 楼主| 发表于 2007-8-6 22:32:20 | 显示全部楼层
D类功放的频谱和这种方法的频谱差不多。

当然,D类功放的效果是没线性功放的效果好了。

说到指数,只要能线性控制,做指数就很简单了。

出0入0汤圆

发表于 2007-8-6 22:34:38 | 显示全部楼层
这样成本太高,而且音质不知如何?还不如使用台湾ptc公司的音量控制芯片。

出0入0汤圆

 楼主| 发表于 2007-8-6 23:18:19 | 显示全部楼层
PTC的芯片没找到可以工作在3V以下的。

今天下午试验了一下午这中方案:在声音较小时,听起来不好。

应该是可以做好的。现在手头没有仪器,过些天有空来继续研究,总会成功的。

出0入0汤圆

发表于 2007-8-6 23:22:57 | 显示全部楼层
zhonghua_li 蓝色天空,按你第二个图的接法不是很好么?为何要改把PWM信号接到运放去了,一般运放在这个频率工作得不好的。还是按第二个图的方法,运放用作后面LPF吧,这样效果会有很大的改善。运放要用正相输入,提高输入阻抗。



看看这样行不行

出0入0汤圆

发表于 2007-8-7 15:38:29 | 显示全部楼层
80年代磁带机中的自动音量控制中比较常见

出0入0汤圆

 楼主| 发表于 2007-8-7 23:53:24 | 显示全部楼层
看来有很多同志还没搞懂我这个东西的原理。描述下:

这是输入信号:



这是通过三极管与PWM混合后的信号:



这是滤波后的信号:

出0入0汤圆

发表于 2007-8-8 00:14:28 | 显示全部楼层
有新的试验结果吗?

我相信,只要设计得当,用PWM调音量还是用普通电位器调音量,应该无人能分辨出来(前提是音源为收音机)。

出0入0汤圆

发表于 2007-8-8 00:33:44 | 显示全部楼层
收音机还是算了吧,搞不好直接被PWM干扰

出0入0汤圆

发表于 2007-8-8 00:35:28 | 显示全部楼层
在PWM的开通和关断处都有很宽的频谱啊

出0入0汤圆

发表于 2007-8-8 11:15:44 | 显示全部楼层
我搭了个电路,下图是仿真结果:



出0入0汤圆

发表于 2007-8-8 12:03:02 | 显示全部楼层
我觉得有点类似AM中波被整流掉负半周的波形,只是脉冲占空比不是固定50%.

出0入0汤圆

 楼主| 发表于 2007-8-9 13:13:37 | 显示全部楼层
个人见解:

之所以不用 31楼 的方法,而用22楼的方法,在于:

31楼:当三极管导通时,阻抗约为零;当三级管截止时,阻抗5.1K。象这种变内阻的源,是不好滤波的。

而22楼:源的阻抗一直为0欧,这样滤波很容易,采用象NE5532这样稍微高点频率的运放是很容易实现的。(NE5532是双运放,其中一个用来做这个,另一个用来做滤波器)

出0入0汤圆

发表于 2007-8-9 18:23:14 | 显示全部楼层
NE5532不能用吧?

NE5532两输入端接有限幅二极管(如图),当三极管导通时,会将正相输入的电压强行拉低。

而且NE5532的速度也太慢了,输入一个60KHz,占空比10%的矩形脉冲,输出将会是一个畸变的波形,这个将是产生失真的根源。

要找一个能胜任脉冲放大的运放,价格不菲,失去了控制成本的意义。

变阻抗输出的滤波的计算并不复杂(可惜我不会),因未超出线性电路分析范围,功底好点的朋友应该能解决。我会采用估算+调试的方式。

我仍认为31楼的接法好一点。

出0入0汤圆

 楼主| 发表于 2007-8-10 20:23:31 | 显示全部楼层
楼上的同志比较细致哈,这个我倒还没注意到。

不过不需要太高速的运放,一般的运放就可以了,一两兆就够了。

出0入0汤圆

发表于 2007-8-11 16:57:57 | 显示全部楼层
为什么,不把PWM通过积分电路产生直流电压,然后控制三极管。

出0入0汤圆

发表于 2007-8-12 21:11:04 | 显示全部楼层
楼上的,三极管的集电极等效于电流源,交流电阻变化不大的

出0入0汤圆

发表于 2007-8-12 21:39:56 | 显示全部楼层
crazyeda :说的到也对,没试过。

改用光偶,怎么样。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-3 03:43

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表