暗夜之灵 发表于 2009-8-24 11:45

装机的细节都做得很不错。

卫星电视 发表于 2009-8-24 13:41

今天又碰到大侠了,

xxjs 发表于 2009-8-27 13:44

这贴一定要定顶,这样才能帮助大家提高!!

hifi8 发表于 2009-8-27 13:48












Dogua 发表于 2009-8-27 17:43

个人愚见,Q7是作为恒流源,这样的话,电压放大级的效率是不是低了点?

恐龙 发表于 2009-8-27 22:42

谢谢!

haluo 发表于 2009-8-28 10:26

原帖由 Dogua 于 2009-8-27 17:43 发表 http://bbs.hifidiy.net/images/common/back.gif
个人愚见,Q7是作为恒流源,这样的话,电压放大级的效率是不是低了点?

在电压放大级这一块,个人认为可以完全不必考虑效率问题,发热量能承受,稳定,好声,这些才是重点。

效率高低,75%以上是由未级功率管决定的。

天堑 发表于 2009-8-28 11:41

新手报到,消化中!
楼主太强大了!

haluo 发表于 2009-8-28 23:25

又偷懒了几天,哎,装的不是机,是寂寞呀:lol :lol

今晚只是连了几条线,少到我差点都不好意思发上来了`````:5fsfsf

电源开关
http://xcimg.ezeem.com/files/2009/8/28/2009082823221724555.jpg

中间保险管位置
http://xcimg.ezeem.com/files/2009/8/28/2009082823222233064.jpg

尾部插座位置,以及输出线
http://xcimg.ezeem.com/files/2009/8/28/2009082823221945371.jpg

接下来要头痛的是保护板要怎么弄怎么装。
今天到这里。进展缓慢,准备接砖头盖房子。:5fsfsf :5fsfsf

haluo 发表于 2009-9-13 14:53

又停工了半个月,折腾了个洞洞板的单片机保护板。







程序
#include <STC12C52.h>
#include <STDIO.h>
#include <intrins.h>

                                                               
unsigned char ms,sec,channel,in1,in2,AD_result;
unsigned char code adc_channel={0x80,0x82,0x87};//定义AD通道引脚、转换速度,
                               //P1.0是输入1,P1.7是输入2,P1.2是电源电压

sbit out = P1^5;
sbit led1 = P3^3;
sbit led2 = P3^4;

void main(void)               //定义无类型函数main(void),主函数,必不可少
{

//--------------------------------------------------------------------------------
//端口初始化。
    P1M1 = 0x9f;         //1001,1111    P1口初始化       
    P1M0 = 0x60;         //0110,0000 设置P1.0、P1.2,P1.7,为输入
    P1   = 0x00;         //0000,0000 
        P1ASF= 0x9f;               //1000,0101           设置P1.0、P1.7,为AD转换输入


    P3M1 = 0x00;      //0000,0000//P3口初始化
    P3M0 = 0xff;      //1111,1111设为强推换输出
    P3   = 0X00;      //1111,1111
               
//--------------------------------------------------------------------------------
//数据初始化
        ms=0;
        sec=0;
        channel=0;
        in1=0;
        in2=0;
//---------------------------------------------------------------------------------
//AD初始化       
    ADC_CONTR = 0x80;   //1000,0000 打开A/D转换电源,打开AD电源,选P1.0为AD通道,转换速度为最慢,每840时钟周期完成一次转换
//看门狗初始化
        WDT_CONTR=0x3c;      //看门狗初始化
//定时器初始化       
        TMOD = 0x11;                // 定时器0与1,工作模式1, 16位定时方式
   
        TH0 = 0xd1;
        TL0 = 0x20;             //定时器0送初值,定时时间1ms
       
        AUXR= 0x80;         //AUXR = T0x12T1x12URAT_M0x6BRTRS2SMODBRTx12EXTRAM   S1BRS        
                            //第1、2位为设置0时,计数器T0和T1为普通模式,STC单片机专用
                            //第1、2位为设置1时,计数器T0和T1为12倍速模式
//------------------------------------------------------------------------------------------
//中断允许及中断优先级设定,定时器T0设为最高优先级,AD转换次之,T1为最低
       
        IE = 0xaa;                        //IE= EA ELVDEADCESET1EX1ET0EX0
                            // 开中断,EADC为ADC转换中断控制位,
                                // 第2位为ELVD,低压检测中断控制位

    IP= 0x02;      //IP = PPCAPLVD   PADC   PS   PT1   PX1   PT0   PX0
                      
        IPH = 0x22;   //IPH= PPCAHPLVDHPADCHPSHPT1HPX1HPT0HPX0H
                                     
        TCON = 0x00;    //TCON= TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
       
       

//------------------------------------------------------------------------------------------------------
               
        TR0 = 1;               //定时器0开始计数

    ADC_CONTR = ADC_CONTR|0x08;    //0000,1000   ADCS = 1,启动AD转换


       
while(1)      //主程序循环体
{
if (in1>=75)
out=0;
if (in2>=75)
out=0;

if (AD_result<65)
out=0;
}                  
}

void timer0() interrupt 1
{
    EA=0;
    TR0=0;   
        TH0 = 0x15;               
        TL0 = 0xa0+TL0+7;       //定时器误差校正                       
        TR0=1;
        EA=1;
       
        WDT_CONTR=0x3c;         //喂狗

        if (out==0)
        {
       ms++;
       if (ms<=50)
       {
          led1=0;
          led2=1;
       }
       else
       {
          led1=1;
          led2=0;
       }
       if (ms>=100)
       {
          ms=0;
          sec++;
       }
       if (sec>=12)
       {
          out=1;
          led1=1;
          led2=1;
          sec=0;
       }
        }

        if (AD_result>=30)
    in1++;
    else
        in1=0;
       
    if (AD_result>=30)
    in2++;
    else
        in2=0;
       
}

void AD_routine() interrupt 5         //AD转换中断服务程序
{
unsigned char a;
ADC_CONTR = ADC_CONTR&0xE7;      //1110,0111清ADC_FLAG位,停止A/D转换   
AD_result = ADC_RES;             //保存返回AD转换的结果
ADC_RES=0;
channel++;
if (channel>=3)
channel=0;

ADC_CONTR = adc_channel;
for(a=250;a!=0;a--);//延时使输入电压达到稳定
ADC_CONTR = ADC_CONTR|0x08;    //0000,1000   ADCS = 1,启动转换
}

杰仔 发表于 2009-9-13 15:03

单片机保护板有什么特别不一样的功能?

haluo 发表于 2009-9-13 15:13

没啥特别的功能,延时12秒启动,中点偏压达到2V时断开喇叭.........

纯是瞎折腾,没什么特别的意义在这里{:3_97:}

haluo 发表于 2009-9-13 15:52

{:3_82:}已经在听了,先仔细听一听,今晚有空再弄个下波形测试,顺便拍多几张照。

zhihuisheng 发表于 2009-9-13 16:13

讲的好,详细。学习了

vincent_s 发表于 2009-9-13 16:21

这个才是HIFIDIY该出现的帖子

水飞哥 发表于 2009-9-13 16:53

电路设计的很好,金工活做的也不错

haluo 发表于 2009-9-13 18:41

晒一下以前在用的功放板,勉强算搭焊的吧,电路结构跟本贴做的板一样的,因搭焊线路处理得不好吧,有点交流声,大概10cm能听到。现在这台新的做好,这个可以下岗了。


装好的样子,试听中.........下边黑色的是建伍的洋垃圾CD机,左边的是音响艺苑9周年PRO的DAC。


汗水,怎么照片中这么多灰尘???得擦一擦了。


再晒一晒在用的音箱,中大音响的HIFI7号。


这台的噪声在可接受范围内,贴在喇叭上才能听到轻微的噪声
目前静态电流调在100ma而已,中音量下听音时整个外壳都是热的了,大概有四十多五十度的样子,感冒友的这个机箱看来不适合大于30W的扩音直接散热。
音色嘛,满意,不知道怎么用语言表达,也不知道怎么用手比划,听音乐要紧,哈哈。
悄悄说一声,我老爸老妈说,比以前好听。:lol

haluo 发表于 2009-9-13 19:15

{:3_76:}下岗那个用的是两对三肯的29221216留着装别的板,不送。

音箱用的喇叭的确是你说的那两个。

TDA-7294 发表于 2009-12-1 13:25

哈罗哥好强!

acbbli 发表于 2009-12-3 11:13

普通功放最常用的电路:lol
nkl 发表于 2009-8-9 14:16 http://bbs.hifidiy.net/images/common/back.gif

跟论坛的H140电路结构一样。
页: 1 2 3 [4] 5 6 7 8 9 10 11 12 13
查看完整版本: 50W 单差分OCL功放电路理论计算及安装实战