locky_z 发表于 2005-5-24 00:35

关于数控音量控制板我的设想方案

一、我认为用指数好,结构在牛坛有过介绍
http://www.ngtop.com/readnews.asp?newsid=123
现在更加简化如下结构

下面简单说一下各档电阻取值原理
当开关打到A时,有如下两式
Vout=Vin                  (1)
从输入端看的负载为RL      (2)
当开关打到B是
增益为Gv=Vout/Vin=(R2 * RL) / (R1 * R2 + R1 * RL + R2 * RL)      (3)
从输入端看,负载为 R1 + (R2 * RL) / (R2 + RL)                     (4)
假如无论打到A还是B,如果从输入端看到的负载都是一样的话,这样就可以多个这样的四端网络串联起来,互相不会干扰,就是说调节后面的增益不会影响前一级。
就是说(3)式等于(4)式就可以了,经解方程
R1=(1-Gv)*RL
R2=Gv * RL / (1-Gv)
用指数控制的话,符合人耳特性,并且占用的控制bit大大减少,R-2R网络要达到-80dB的话,控制位要12-13bit,而指数网络的话,只要6-7bit即可。信号经过的串联的电阻个数也少很多。

二、各档增益安排
因为数控的话无论是指数还是R-2R,因为继电器吸合有快有慢,例如从00111111-〉01000000是,因为吸合时间差异,中间过程可能会出现
00111111--〉00000000--〉01000000或者
00111111--〉01111111--〉01000000
出现瞬间的突发信号脉冲。脉冲幅度达到最大衰减的1/2,是一个非常大的冲击。
要解决这个问题是尽量减少高位的大增益变化,
我这里想出如下办法,前提就是用这种恒定输入阻抗的四端衰减网络
各bit的增益为
bit0    -1dB
Bit1    -2dB
Bit2    -4dB
bit3    -8dB
bit4    -16dB
bit5    -16dB
bit6    -16dB
bit7    -16dB
共8bit控制,最大衰减增益为-79dB(约8900倍),精度为1db/step,步长只有79步(而不是256步),这种方法即使出现上述继电器吸合时间难预料时,出现的突发脉冲也仅仅是16dB,这是以牺牲步数来获取降低瞬间脉冲的解决办法。
这种方式的控制电路如果不用MCU,用逻辑电路的话,会难很多,所以最好用MCU控制。

指数网络不好的地方就是电阻的阻值非标准,并且要求精度较高,但用多个电阻并联方式可以得到一个接近的值,并且并联的话,性能好过一只串联。另外用这种方式,高4bit都是-16dB的,这样只需10种阻值就满足了。





visualwang 发表于 2005-5-24 09:53

高手!

明9002 发表于 2005-5-24 00:53

强贴

有兴趣 继续关注

yufei 发表于 2008-10-25 08:48

很感兴趣,可惜我一点都不懂,LZ可否帮我,给点资料我学习学习

卡西利亚斯 发表于 2008-10-25 09:11

8位63级 够了吧~~~~~~配对要死人滴~~~

最简单的就是3个电动步进电位器,2个调,一个做参考电压。

检测电压ADC后给MCU。

例子:
10111111是62级,电压是6.2V,参考电压随着3号电动步进电位器变动到6.2v,其他2个也调整到相同角度,达到6.2V全部停止

或者8位开关:
10111111是62级,既除第7位关以外其他全部接电阻。
那么就应该是7个电阻并联~~~~~~嘿嘿~~~~~
7个配对1%很容易的~~~~~~~




我的电位器是恒定电阻接法的,实际效果和普通接法一样,唯一差别就是,价格贵了 -- ~

jstwjw 发表于 2008-10-25 09:16

这个方案原理上是比较理想,如楼主说实现起来,电阻和控制麻烦了一点。
我以前也考虑过做楼主说的这种,不过因为用MCU太麻烦,才改用24档开关,虽不算很完美,觉得也差不多可以了。

locky_z 发表于 2008-10-25 10:10

http://bbs.hifidiy.net/attachments/dvbbs/2005-5/20055232343869.gif
这个电路的关键就是每个节点的T型电阻网络,无论继电器打到A还是B,从输入和输出端往里面看,内阻都是固定的。
当多个这样的节点网络串联,无论你这个节点的继电器接到哪里,都不会影响后面和前面节点的衰减量状态。

下面举例说一下例如如果要设计一个6bit控制总共衰减-100db的电路

6个二进制控制位总共是64个步长,那么最小衰减量是100/64=-1.5625db(换算成增益即0.835),
依次后面每个节点的衰减量分别是:
-3.125db(Gv=0.698)
-6.25db(Gv=0.487)
-12.5db(Gv=0.237)
-25db(Gv=0.0562)
-50db(Gv=0.00316)
6个节点合计衰减98.4375db

计算每个节点时首先要确定负载时多少,例如这里假定RL=1K,那么你后面放大器的输入阻抗必须>>1K,以便不会影响网络,放大器输入阻抗>>1K是很容易满足的。
确定了RL=1K以后,那么可以根据前面说的:

当开关打到A时,此时是跳过了这个节点,
Vout=Vin                  (1)
从输入端看的内阻就是后面的负载RL      (2)
当开关打到B是
增益为Gv=Vout/Vin=(R2 * RL) / (R1 * R2 + R1 * RL + R2 * RL)      (3)
从输入端看,内阻为 R1 + (R2 * RL) / (R2 + RL)                     (4)
因为要求节点无论打到A还是B,内阻都相同,即(2)式=(4)式
经解方程
R1=(1-Gv)*RL
R2=Gv * RL / (1-Gv)


这样将每个节点的衰减量Gv代入上述式子,就可以计算出每个节点的R1 R2值
所以-50db这一档的R1=996.84欧,R2=3.17欧
-25db这一档的R1=943.8欧,R2=59.5欧
如此类推...
-1.5625db档的R1=165欧,R2=5.06K

每一档的电阻都是不同的,并且是非标称值,可以用两个电阻进行并联形式实现,
对于用由目标值推算出两个标称值电阻并联的计算,我推荐用“音响艺苑”语蓝的eTools 2.6版本,
例如计算943.8欧,允许误差0.1%,用E24标称值系列,那么用他计算出来只有1种选择:
1.1K//6.6K误差0.0999%


同样可以知道,此串联网络的输入阻抗也是等于输出阻抗的。输出阻抗低的话,输入阻抗也是低的。

关于爆音的问题,咨询过做R-2R的人,爆音的关键不是从最高(最低)图然变成最低(最高),而是其切换过程中的继电器吸合时间随机造成的,解决的方法是从原音量逐bit减少,直至0,再逐bit升高到目的位置。或者再加多一个静噪开关,变音量时,首先静噪、再变音量,再取消静噪。

hifi8 发表于 2008-10-25 10:17

N年前就在用

http://bbs.hifidiy.net/viewthread.php?tid=82908&highlight=%2Bhifi8

爆音那里是有方法解决的,但不是楼上那样,不过估计楼上方法也可能可以。

HIFI2008 发表于 2008-10-27 18:06

hifi8兄,能说说是怎么解决爆音的吗??:P

mhook 发表于 2009-3-31 01:48

找的就是这个贴,非常有用

CROSSOVER 发表于 2010-4-29 01:09

这么好的贴为什么??????
应该让他浮上去。

csp 发表于 2010-7-11 16:24

谁有实用的阻值表,上个,谢谢

bigsky1990 发表于 2010-7-11 16:29

准备放暑假了,正有此意做一个这样的东东,但是对于电阻网络很头痛...呃....是对于计算很头痛

locky_z 发表于 2010-8-2 18:18

按理计算是很简单的
R1=(1-Gv)*RL
R2=Gv * RL / (1-Gv)

1.首先决定负载阻抗RL,例如RL=1K,

2.再决定每一档位的衰减量
这个按你准备多少bit 最大衰减范围决定
例如准备最大衰减90db,用6bit控制,那么最小步长就是90db/64=1.4db
因此第一档位-1.4db 第二档为-2.8db如此类推 分别为-5.6db、-11.2db、-22.4db、-44.8db
合计衰减量为1.4+2.8+5.6+11.2+22.4+44.8=88.2db
因为20*log(Gv)=-1.4db,所以Gv=0.8511倍
因此可以算出-1.4db这一档的R1 R2

同样-2.8db这一档
20*log(Gv)=-2.8 Gv=0.72443596
R1 R2也可以算出来了。

如此类推-44.8db这一档
20*log(Gv)=-44.8Gv=0.0057544

bigsky1990 发表于 2010-8-2 23:37

按理计算是很简单的
R1=(1-Gv)*RL
R2=Gv * RL / (1-Gv)

1.首先决定负载阻抗RL,例如RL=1K,

2.再决定每一档位的衰减量
这个按你准备多少bit 最大衰减范围决定
例如准备最大衰减90db,用6bit控制,那么最 ...
locky_z 发表于 2010-8-2 18:18 http://bbs.hifidiy.net/images/common/back.gif
不好意思,要你码了这么多字,其实我已经算出来开始做实验了,衰减量目前按自己的思路搞,实验当中http://bbs.hifidiy.net/viewthread.php?tid=392505
感谢你提供1L的资料

电子虫子 发表于 2010-8-5 10:59

呵呵借用数字电路里的8421码的思路啊:victory:

locky_z 发表于 2010-8-5 13:34

呵呵借用数字电路里的8421码的思路啊:victory:
电子虫子 发表于 2010-8-5 10:59 http://bbs.hifidiy.net/images/common/back.gif
这个电路最关键的地方就是这种T型网络,无论开关打到那个地方,从输入端看进去,阻抗是不变的,从输出端看过去,阻抗也是不变的。
正因为具有这个特性,所以可以无限多个进行串联。互相之间不会影响,因此其衰减量就可以独立相乘(相当于DB数独立相加)


而每一段的关系和8421码完全没有关系,你可以将各段之间的比例不设成2倍,设成1.3倍也可以,或者设成完全非等比数列的也可以。

rexchina 发表于 2011-11-11 19:54

音量        A1-A7        DB        log(GV)        GV
0        0000000        0        0       
1        0000001        -2        -0.1       
2        0000010        -4        -0.2       
3        0000011        -6        -0.3       
4        0000100        -8        -0.4       
5        0000101        -10        -0.5       
6        0000110        -12        -0.6       
7        0000111        -14        -0.7       
8        0001000        -16        -0.8       
9        0001001        -18        -0.9       
10        0001010        -20        -1       
11        0001011        -22        -1.1       
12        0001100        -24        -1.2       
13        0001101        -26        -1.3       
14        0001110        -28        -1.4       
15        0001111        -30        -1.5       
16        0011000        -32        -1.6       
17        0011001        -34        -1.7       
18        0011010        -36        -1.8       
19        0011011        -38        -1.9       
20        0011100        -40        -2       
21        0011101        -42        -2.1       
22        0011110        -44        -2.2       
23        0011111        -46        -2.3       
24        0111000        -48        -2.4       
25        0111001        -50        -2.5       
26        0111010        -52        -2.6       
27        0111011        -54        -2.7       
28        0111100        -56        -2.8       
29        0111101        -58        -2.9       
30        0111110        -60        -3       
31        0111111        -62        -3.1       
32        1111000        -64        -3.2       
33        1111001        -66        -3.3       
34        1111010        -68        -3.4       
35        1111011        -70        -3.5       
36        1111100        -72        -3.6       
37        1111101        -74        -3.7       
38        1111110        -76        -3.8       
39        1111111        -78        -3.9       
不会算,不会数学.求大侠帮我算一下各段位的Gv值.

独钓火星鱼 发表于 2011-11-11 20:49

太有DIY精神了,佩服。

现在都流行总线控制,还是装个音量控制芯片简单。其实内部也是电阻,集成了控制电路,外围科单多了。

hsllz8868 发表于 2011-11-13 09:16

高手,佩服
页: [1] 2
查看完整版本: 关于数控音量控制板我的设想方案