分体式_DTS解码&卡拉OK功放的设计与制作
_YoungStone_
经过N个夜晚和周末的努力,历时半年多的功放终于完成!!! 本文将对系统的设计和制作过程进行详细描述,在对自己劳动成果进行总结的同时,希望能给大家以一定的启发&帮助,当然,更希望各位能多提意见&建议,一起讨论、学习-->进步!!!
整机预览 当前图片为晚上拍摄且压缩率大,效果欠佳,待周末空闲再更新)
先来点杂谈:
已经忘记从什么时候开始,喜欢自己制作各种电子作品的机箱外壳,也就是从那时候开始,使得我在制作某个作品的初期,就会去考虑整个系统的搭配与融合,再化整为零,逐个突破完成。
我喜欢这样的方式,同时也在努力提高自己这方面的能力。其实单做某一个电路模块很简单,就像单线程的单片机,只需要串行的往下走,而当上升到操作系统,需要多任务处理的时候,每个任务之间的调度及融合问题就突显出来,这恰恰就是设计的难点所在。
电子DIY也是一样,要想把很多个模块组合在一起,往往会碰到很多问题,比如电压分布,电平的匹配,控制优先级,电子与结构的兼容等等,但如果我们制作的前期没有整体规划把握,一开始就从某一个小模块开工,那么等所有的模块做好了,要进行组合匹配的时候,你可能会发现前期的很多工作都是错的,需要从头再
来。
自己DIY实际上也和产品研发设计一样,制作初期就需要进行规划,可行性分析等,之后再对每个模块进行从上到下,从整体到局部的设计...
说了一堆话,有些乱,希望不会挨砖头; 开始正题....
功能介绍:
本功放具有DTS,AC-3解码、karaOke混响、电子音量控制等功能;具有5通道功率放大器,分别对应于家庭影院的FR,FL,SR,SL,C 5个声道。
设计概括:
整个系统采用分体式设计,前级负责解码,控制;后级负责功放大;整个系统几乎全手工制作。
前级可分为DTS解码、karaOKe、音量控制、MCU控制板、人机交互、电源供电等6个模块;后级包括电源、缓冲倒相、功率放大等三个模块。
系统采用前后级分体式设计,有两方面的原因:
首先,手工制作的工艺比较低,适合于结构比较简单的制作,如果制作成合并一体式,则难度比较大,不好控制;
其次,前级为弱信号处理,发热小,后级为功率放大,发热量大,采用分体式设计,即可以前级采用全屏蔽机箱减少干扰,后级采用外露散热器并开大量散热孔,利于散热。
所以分体式的结构设计,在易于手工制作的同时,又能很好的提高整机的电气特性,何乐而不为?
电子硬件设计:
***前级部分***
模块框图:
1.DTS解码:
这个模块是唯一不是自己做的部分,虽然前期电路PCB都已经设计好,但是由于元器件来源问题,没能及时买到所需要的IC,为了不影响进度,所以直接购买了市场上的DTS解码板,本解码板使用Crystal的CS493264-CL芯片,如下图;它具有四通道数字音频输入,6声道模拟音频输出,采用三线串行控制方式;由于此模块不是自己制作,所以先不对其进行过多介绍,待以后另开贴再对设计的电路进行详细介绍。
2.卡拉OK混响模块:
卡拉OK混响芯片采用三菱公司的M65856SP,采用三线串行控制方式,实物如图:
各位可以在网上查到详细的规格书,此处为了减少篇幅,不再对芯片功能进行描述,次模块电路使用了规格书上推荐的电路,如下:
在karaOke模块中,添加了2选1的通道选择电路,可用于选择外部模拟输入或者是DTS解码输出的信号,其中部分耦合电容是为了将来兼容不同的模块,本制作中有些没有安装(可以在以后的实物图上发现)。
karaOke板的通用性比较广,所以这个模块的PCB没有采用热转印制作,而是发给了厂家,为了方便以后使用;设计好的PCB如下图:
焊接好的电路板如下图:
3.电子音量控制模块:
电子音量控制使用普诚公司的PT2258 六通道电平衰减芯片,采用IIC串串行控制。芯片的功能请参考规格书。
电路如图:
设计好的PCB如图:
4.LCD显示&按键输入:
前面板使用了194X64点阵LCD来显示系统的工作状态;用户控制采用了三个按键和一个脉冲旋钮电位器,以及红外遥控器输入。
5.MCU控制板:
主控芯片是前级控制的核心,使用通用51单片机,因为程序数据比较大,所以需要选用片内flash比较大的芯片,在这里直接使用了SST的单片机,待测试完成,会考虑换用其他型号。
本机需要控制的模块有: DTS解码板(三线串行),KaraOK(三线串行),音量控制(IIC),LCD屏(串转并),按键(并行),后级&灯光控制(并行)。 其中LCD本身的设计是并行数据接口,单由于IO口数量限制,这里加入了74LS164进行串转并行设计,节省了4个O口。
控制模块中加如了DS1302时钟芯片和EEPROM存储器,分别用于获取实时时钟和保存用户设置信息。
电路原理图如下:
#p#分页标题#e#
设计好的PCB如下:
由于本控制板专用性强,对于别的系统应用不多,所以采用手工热转印制作PCB,下图为制作完成的控制板:


6. 电源模块:
前级所需要的电源规格有:+5VA/D,-5VA,+9V,+12V,鉴于元件的通用性,+5V,+9V通过LM317稳压得到,-5V通过7905负稳压芯片得到,+12通过+5V以DC~DC升压电路获取,用于驱动继电器开关。
电路图如下:
电源板采用万能板焊制,如下图:

******后级部分******
后级电路较为简单,分为运放缓冲倒相、功率放大和电源三个模块。
主要模块框图如下:
1. 缓冲倒相位模块:
使用了NE5532双运放进行一级放大,并对前置的两个声道添加反向输出,电路图如下:
放大电路:

倒相电路:

整体原理图:

设计完成的PCB如图:
TOP

BUT

此模块的PCB采用热转印制作而成,由于没有单独拍照,待整体安装调试时能看到实物图
2. 功率放大模块:
功率放大采用LM3886芯片,整机由7片LM3886放大模块组成,前置左右声道采用BTL形式,各使用两片,中置和环绕各使用一片。
LM3886电路如图:(实际焊接的元件按照调试结果相应调整)

LM3886的PCB采用热转印制作,焊接完成的效果如图:

刚焊接完,还为清洗的样子...

LM3886特写...

3.电源及保护模块:
后级采用一个双24V/400W环形变压器给LM3886供电,采用双桥堆并联形式整流,之后经过三个10000uf和两个2200uf储能滤波,经过电源导线连接后,再使用一个2200uf电容滤波后到达LM3886引脚;采用普通的留滤波电路,直接使用刀刻发制作滤波板,形式简单,在此不做详述。
NE5532缓冲放大板使用了一个双15V/30W的E形变压器供电,整流滤波稳压电路集成在NE5532缓冲电路板上。#p#分页标题#e#
喇叭保护电路需要直流12V电源,直接使用400W环形变压器附带的交流12V经过整流滤波后得到,此时要注意滤波电容不能太大(也就是说不能有太高的储能),这样关机时能马上去点,使得继电器能马上断开。由于LM3886自带了比较完善的保护功能,所以本机只在BTL放大部分加入了保护电路。
喇叭保护电路参考了论坛里三极管搭接方式,直接使用万能板制作,此处不在详细电路,各位可以搜一下相关资料,如有问题,下次再另做说明,实际按装完效果如图:
硬件电路设计制作好后,可以先对各个模块进行单独调试,此时要注意不同模块之间的电平幅度,调试时可以通过电脑输出一个额定幅度的信号,在每一级的输出端用示波器查看波形完整性以及电平幅度。如果发现过高或过低,则可以更改相应的匹配衰减电阻,最终要使得5个通道的放大倍数是一致的(这是多声到功放制作中极为重要的一点),而且要保证在DAC输出最大幅度时,最末端输出的波形不失真。
===软件设计===
系统采用通用C51单片机作为主控制平台,通过按键和红外遥控接收用户指令,并控制相应的功能模块进行工作。 软件设计占了系统工作量的很大一部分,由于C51单片机为单线程处理器,所以设计设计过程中最大程度的利用了中断处理环节,从另一种意义而言,相当于增加了操作线程。
本机采用了多级采单显示控制方法,这对于单片机的速度来说,具有一定的难度,所以软件处理时,对每一个菜单状态分配一个相应的ID号,而且把这些ID号与键值相联系组成一个结构体,这样只需要知道当前的ID和键值就能查询到新的ID,很大程度上简化了处理器的操作任务。
所以,系统的工作流程框图可以简化成下图所示:
和硬件设计一样,软件部分也按模块进行分类,将复杂的控制程序逐个完成;在此把整个软件按功能划分为:DTS解码控制模块,卡拉OK控制模块,音量调节模块,时钟处理模块、LCD显示控制和按键遥控器识别处理等6个部分。
虽然划分的模块较多,但其底层的通信协议却有很大的相似性,均为三线或两线串行数据传输协议,所以本文只以卡拉OK模块(M65856)的数据传输协议以及脉冲编码电位器的识别加以举例说明(为了减少篇幅,大家都不太喜欢看长篇 ),对于个别深入的问题,将在以后开贴和大家讨论...
M65856数据通信:
M65856卡拉OK混响芯片采用三线串行通信模式,分别为:Latch(加载锁定)、Clock(同步时钟)、Data(数据)三个IO口。按照规格书说明及通信时序图可知,要正确传输16位数据应该遵循的操作要点为:
a. 将Latch信号置为低电平
b. 将Clock信号置为低电平,根据当前位的设置Data的电平状态,将Clock置为高电平,这样就把当前位压入寄存器缓存区,循环操作16次。
c. 将Latch信号置为高电平,执行此操作后,缓冲区中的最后16位数据将被锁存加载到M65856的控制积存器中,一个16位数据的传输完成。
数据传输的程序段如下:
#define SET_HIGH(x) x = 1
#define CLEAR_LOW(x) x = 0
.....
sbit karaOK_STB = P2^6;
sbit karaOK_CLK = P0^6;
sbit karaOK_DAT = P0^0;
.....
void KaraOK_SendData(U16 data)
{
U8 icount = 0;
CLEAR_LOW(karaOK_STB);
for(icount=0;icount<16;icount++)
{
CLEAR_LOW(karaOK_CLK);
karaOK_DAT = data&0x0001;
SET_HIGH(karaOK_CLK);
data>>=1;
}
SET_HIGH(karaOK_STB);
}
......
脉冲旋转电位器的识别:
现在比较通用的脉冲电位器有5个引脚:4,5两个引脚用于电位器被按下时的识别,1,2,3三个引脚则用于左右旋转的识别;识别左右旋转的方法比较多,但本质原理都是利用电位器内部长短不一的金属触片,在旋转时三个引脚内部相互接触的先后顺序不一样来进行判断。
下面是本设计中使用的方法,简单有效:
将1脚接GND,其余两脚通过上拉电阻到VCC,并作为数据接口连接到MCU,通过示波器可以得到电位器正反转时2,3脚的波形:
由波形时序,我们可以发现:
1. 向右旋转,当Pin2变为低电平时,Pin3也为低电平
2. 向左旋转,当Pin2变位低电平时,在一段时间内,Pin3仍保持为高电平
所以在程序处理时,只需要查询Pin2脚的状态作为触发标志,当Pin2出现低电平,立即检测Pin3脚状态,如果Pin3为高电平,则表示电位器左转,否则为右转。
实际编写的程序代码段如下:
#define KEY_LEFT 0xf0
#define KEY_RIGHT 0x0f
sbit key_A = P2^0;
sbit key_B = P2^1;
static unsigned char key_code =0x00;
void main(void)
{
IT1 = 0;
EX1 = 1;
EA = 1;
while(1)
{
;
/*main function*/
}
}
void EX1_Int1() interrupt 2
{
EX1 = 0;
if(key_A)
{
key_code = 0x00;
}
else
{
_nop();
_nop();
_nop();
if(key_B)
{
key_code = KEY_LEFT;
}
else
{
key_code = KEY_RIGHT;
}#p#分页标题#e#
}
EX1 = 1;
}
===结构设计===
材料选取:
为了制作简单高效,设计制作中尽可能得采用了容易利用的材料,减少加工环节,前级机箱的四面侧板采用铝合金方通,上下板为镀锌板;后级机箱左右侧板利用合适尺寸的散热片组成,前后上下板采用镀锌板;机箱的面板均采用6mm厚环氧板制作;所有结构件的衔接固定采用角铝制作而成。
之所以选用以上材料,原因有几点:
1.铝合金方通容易加工,利用现有的棱角可以省去自己折板的麻烦,镀锌板价格便宜,容易获取,在一般的金属加工作坊都能找到,并可以让其切成自己想要的尺寸,
2.后级的侧板使用散热片,在提高散热效率的同时,又能节省制作材料,一举两得,
3.前面板利用环氧板,因为它硬度高,耐高温高压,不易变形,价格便宜,而且比较容易加工,至于木板和铝板,前者在高温情况下容易变形破裂,太软,使用时间不够长,而后者加工比较困难,特别是业余条件下的表面处理比较困难。
制作方法:
1.镀锌板部分:
a.下料:
前后级的上下盖板以及后级的前后侧板为1mm厚的镀锌板材料,这种材料手工裁板比较困难(虽然我也用钢锯锯过),建议直接在购买店让他们用机床切成想要的尺寸,这就需要在购买前根据机箱的大小计算好每一块板的尺寸大小。
b.粗加工:
按照计算好的尺寸,在上下盖板上钻固定孔,一般在靠近四周角的位置各要一个;
下盖板需要固定各个硬件电路模块,所以需要按照电路板上的开孔位置相应钻孔;
后级的上盖板为了利于散热,需要加钻散热孔,为了钻孔整齐美观,建议先用铅笔画好线后,再按相应点钻孔,如图:
注意:镀锌板比较硬,钻孔时需要使用硬度高的钻头,而且需要电钻速度不能太高,否则钻头很容易钝,有条件的情况下尽量使用台钻。
一般在钻完以后,钻的孔位都比较多毛刺,去除的方法也比较多,可以用砂纸打磨,锉刀锉平,这里使用大的钻头在有毛刺的孔上轻轻钻几圈,这样毛刺很轻易就被去除,不过一定要注意把握力度,要不然就钻成大孔了...,
2.铝方通侧板部分
a.制作思路:将铝方通切开以后,可以得到两条“[”形的铝合金板,我们就用它作为侧板。
b.下料:根据箱体的宽&深尺寸,截取两段相应尺寸的方通,并进行切割。
c.粗加工:
c.1因为四条方通板的高度一样,所以需要在衔接处切割倒角,如图:
c.2开孔,在衔接处开孔
注意:此时先不要钻与上下盖板连接的孔(下文将会有解释)。
3.铝散热片侧板部
目前市场上能买到散热片尺寸有限,要想买到完全符合侧板长度的型号比较困难,且价格也不便宜,所以这里采用四片100*140(mm)尺寸的铝散热片作为侧板,使用角铝进行固定。
4.衔接角铝部分
将角铝切割成所需要的高度,并参照各个侧板的开孔尺寸进行开孔。
5.协调加工:
由于手工开孔时,不可避免一些偏移,所以执行这一步的目的就是尽量减小偏移所带来的误差,先把各个侧板组装好,然后直接把上下盖板放上去,对准位置后,用笔在侧板的相应位置标记开孔点,之后再对侧板的上下连接面开空;这样就把在开上下盖板孔时产生的偏移误差抵消了,而且因为铝合金比较软,不容易偏移,这样就相对得到比较精准的安装孔位。
6.细加工:
做完上面的工作后,前后级两个机箱的外壳就做出来了,接下来需要进一步的加工,在后侧板上开各种信号端子的插孔,在前侧板需要加工电源端子、按键、lcd显示等窗口。完成后的图:
7.面板制作:
面板采用环氧板制作,在没有专门工具的情况下,可以用钢锯锯成自己想要的尺寸,锯完后再对锯口用平锉打磨平整光滑。
环氧板:
锯开后的锯口
打磨平整后的锯口
由于环氧板不能像铝板那样在内侧钻孔攻丝,也就是说要在不穿孔的情况下固定工件比较困难,所以本制作相当于有两块面板,即前侧板和前面板,前侧板负责固定各个工件模块,前面板起装饰美化作用。
a.开通孔:电源开关、按键、电位器、LED、LCD显示等位置都需要开通孔,如果没有合适大小的钻头,可以使用圆锉扩大,而对于方孔,在缺少工具下最好的办法就是先用电钻沿着开孔位钻一圈,再用方锉打磨。
电位器及按键开孔
LCD窗口
b.开沉孔:
b.1.由于前侧板在固定工件时需要用到很多螺丝,为了前侧板和前面板能无缝结合,就需要在前面板的内侧开大量的沉孔,将螺丝突出的部分 容纳进去,用合适的钻头钻一适当的深度即可,一定要掌握力度,以免钻穿.
开关开孔及螺丝沉孔
按键开孔及沉孔
后面板内部
 #p#分页标题#e#
b.2:LCD显示屏和IR窗口部分面积比较大,这里利用修边机沉孔.
下图为完成后的前面板

8.打磨装饰
业余条件下,外壳机箱的打磨装饰工序并不多,而且这也是自己制作机箱的难点之一,以下是本制作的处理过程:
a.先用砂纸将表面打磨平整光滑,四周棱角部分打磨光滑,可适当做些倒脚,这样可以避免在平时使用过程中划手,之后用水清洗,去除表面的粉尘,凉干。

b.喷漆,使用银色手喷漆,先表面薄薄的喷一层,待干了以后检查有没有毛刺颗粒,打磨平整,有条件的可以刮腻子,处理后再喷漆,一般两遍喷漆后基本就达到想要的效果了,如不满意也可循环以上的操作,要注意喷漆均匀,千万不能只对着一个地方喷。

c.添加丝印:因为面板级后背板接口比较多,所以对部分地方添加了丝印,以方便操作使用;
采用热转印的原理,先将所印字符打印在热转印纸上,再用电熨斗将文字转印到面板上;注意,转印过程中要注意温度和时间,因为油漆遇高温后非常容易损坏。如果漆面被损坏,可进行适量修补。
打印好的丝印

前级后背板准备转印

转印好的前级面板

加完丝印后,面板上再喷一层透明油漆(光油),以保护丝银,又能使表面变得更亮;等表面油漆干透以后,就可以使用了。

9.结构装配
如果每个部件做工比较精确,组装过程将很快完成,只是用螺丝将每个衔接起来,,
#注意,在所有零件安装完以前,尽量不要把所有的螺丝拧得太紧,这样在出现误差的情况下,可以适量的移动,最后再对每个螺丝进行拧紧加固。

3.根据装配的方便,分别把各个模块安装完成
按键&脉冲电位器:

电源开关&指示灯:

电源板接线

karaOK板:

端子接线:

PT2258 音量调节板:

内部图:

安装完成:

我的自己的标志
#p#分页标题#e# 
脉冲电位器和按键盘特写:

后级电源输入及控制输入口:

RCA输入及接地:

桥堆整流:

LM3886阵列:

LM3886阵列,5532缓冲放大板:

电子安装完成:

俯视全景:

安装面板:

变压器安装:
5532缓冲放大调试:
标志特写:
开关特写:
使用5mm的LED作为按键 , 手感好,用再长时间都不会生锈掉漆...(本来还想上电,在按下的时候点亮,不过想想,按着的时候被手压住,看不到,,,)
在喷漆面板上热转印字符:#p#分页标题#e#
1.等待面板油漆干透,喷漆后放上2天左右,因为干了后,漆面不容易被损坏;
2.把需要转印的字符打印到热转印纸(不干胶纸的衬底),注意字符要镜像打印。
经验:利用protel以PCB文件的形式编辑字符,这样可以很容易掌握字体的实际尺寸大小,打印时镜像也容易。
3.把打印好的热转印纸裁剪好,不过如果能把面板上所有的字符按照实际尺寸设计在转印纸上是做好的,这样在转印的时候就像制作PCB一样了; 同时把面板表面的灰尘清理干净(放了一两天,肯定有灰了  );
4.转印,使用电熨斗或电烙铁(刀口),电烙铁在处理小字的时候效果很好。先把转印纸以文字朝下盖在面板上,对准(在裁剪的时候要煎平整,这样摆放的时候就可以按照边缘来参考字符有没放斜,因为盖着的时候看不到里面的字);之后用透明胶固定好一边,只要不会移动就行,记住,只要固定一边或者一个角,以不产生偏移为准。 在转印纸上再盖上一两层比较光滑的干净白纸,然后用电熨斗或烙铁在有文字的区域加热转印,掌握好温度和时间。
经验:温度不要调太高,200度内,加热一两秒钟就要把熨斗拿开,稍微冷却后可以撕开一个角看有没有转印上去,如没有,则原位盖回继续加热,每个周期在一两秒,因为油漆只要遇到高温就熔化了,所以绝对不能像转印PCB一样猛加热,当然也不能重压,要不然漆面会是个大坑;而且要注意转印纸除了字符外,其它的区域一定要干净,没有墨粉,要不然就全转印到面板上了。如果没把握好,漆面损坏,那要等油漆干透以后,用砂纸打磨平整,在喷漆处理后,循环转印操作。
5. 转印完成,放置一段时间,待碳粉和油漆干了后,在表面再喷一层清漆, 主要喷的时候把握好距离,可以稍微远点,要不然表面的字符就被冲散了,而且碳粉将被冲的面板上其它地方。
6. 凉干,完成
另外,关于机箱上面添加丝印,昨天晚上在想两个方法:
1. 把比较常用到的字符,比如“ON,OFF,Power,Standby, R,L ,IN ,OUT”等,可以去到广告装饰店里去雕刻,把字体部分掏空,这样用到的时候,直接把刻好的字放在面板上,用油漆喷一下就成了,就像大货车喷车牌号一样,,
不过对于小号的字体,不知道效果如何...
2. 直接刻成印章,这样在要用的时候盖章就行了,,,  ,,这个方法准备试一下...
软件调试中...

DTS解码测试中...

整机外观图:
前级:

后级:

合影:

(责任编辑:admin) |