工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->光电电路图->其他光电实用电路图->用STC单片机制作D类功放电路

用STC单片机制作D类功放电路

作者:dolphin时间:2016-09-22

  在各类功放中,D类功放以极高的效率着称,因而更符合绿色革命的潮流,也因此越来越引起各方面的重视。笔者在参考了相关资料后,决定尝试用单片机和功率三极管来DIY一款简单有趣的D类功放。对笔者来说,这个DIY既有模拟电路方面的知识,也有数字电路方面的知识,特别是PCB出图时,在对AD采样中对地的处理、双声道采样最佳时序处理和PWM输出,是一种锻炼和提高。

  D类功放是放大元件处于开关工作状态的一种放大模式。无信号输入时放大器处于截止状态,不耗电。工作时,靠输入0或1信号让晶体管进入饱和或截至状态,晶体管相当于一个开关,把电源与负载直接接通或截止。理想晶体管没有饱和压降,不耗电,实际的晶体管总会有很小的饱和压降,因而会消耗部分电能。由于这种耗电只与管子的特性有关,而与信号输出的大小无关,所以特别适用于超大功率的场合。在理想情况下,D类功放的效率约为100%。

  下图是DIY的D类功放方案,分为AD转换、D类功放、低通滤波三部分。

  1.AD转换
  
  利用单片机的AD转换功能将输入的模拟信号转换为占空比随模拟信号电压变化的PWM信号。这里选用价格低廉的STCl2C5202AD单片机。该单片机运行速度是普通8051单片机的数倍,并且司以使用高达40MHz的外部晶振。AD采样速率可达250kHz。与使用运放+三角波形作为基准信号源产生PWM的方法相比,此方案更容易产生波形、频率稳定准确的PWM波。

  由于一般音源的输出信号较为微弱,在AD采样前要加预放(如没有设计预放而会引起输出功率偏低)。为适应单片机+5V的工作模式,还需要在模拟信号上叠加+2.5V直流电压。若音频输入信号为零、直流偏置为单片机AD采样基准电压的1/2,则单片机输出方波的占空比为1:1。当有音频信号输入时,在信号的正半周期间,单片机输出方波高电平的时间比低电平长,占空比大于1:1;在信号的负半周期间,由于还有直流偏置,所以单片机采样脚的电平仍然大于零,方波占空比小于1:1。这样,单片机输出的就是一个脉冲宽度被音频信号幅度调制后的波形,即PWM(PulseWidthModulation脉宽调制)。

  顺便提一下,PWM和PDM(PulseDurationModulation脉冲持续时间调制)还是有区别的,PDM是高电平宽度固定低电平宽度随调制信号变化的方波,即单位时间内“标准脉冲”个数可以被信号调制。其好处是高频能量分布在更广的频率范匪内,而不是像PWM那样,由于载频固定,高频能量集中在载频倍频的音调中。

  下面介绍AD转换和PWM程序设计方法。

  方法1:在主程序中左右声道PWM开始的同时,进行左右声道AD采样,在AD采样子程序中一次采样左右声道,完成后等待一段时间再刷新左右声道PWM0、PWMl的CCAPL0、CCAPLL比较寄存器,作为下一次PWM的数据。这样做的好处是,在PWM的同时可以进行AD转换,充分利用CPU时间,其缺点是AD采样时可能会引入PWM噪声,并且不能准确控制刷新PWM比较寄存器的时间,波形见下图。

  方法2:与方法1 相似,只要是使能PWM 中断,在中断处理程序中刷新左右声道PWMO、PVMl的CCAPL0、CCAPLl 比较寄存器。

  方法3:在主程序中开启左右声道PWM,并使能PWM 中断,进入无限循环。在中断处理程序中进行AD 采样,然后刷新PWM 比较寄存器。其缺点是:PWM 完成后才进行AD 转换,令采样频率变低。

  经反复比较后,选用了方法2,部分程序如下:

  主程序:

  void main(void){Init_System 0;CR=1;///开始PWMwhile(1){DA 0;DA();DA();DA();DA();DA();DA();DA 0;DA ();DA ();WDT_CONTR=0x3C;////喂狗}}

  AD 采样子程序:

  voidAD(void) ////方法2{//采样左声道8.4μ,s//ADC_CONTR=0xEC;∥选择通道p1.4 并开始转换。

  _nop_();_nop_();_op_();_nop_();_nop_0;while(ADC_CONTR!=OxF4);/////等待AD 转换完成ADC_CONTR=0xE4;AD_resuIt_LEFT=(0xFF-ADC_DATA) ;////STCl2C5202AD 单片机PWM 默认CCAPLO 小于待比较值时输出低电平,且此模式不像MEGA 系类单片机那样可以设置。为了PWM 和采样值一致,需与OxFF 做差值。

  //采样右声道8.4μs//ADC_CONTR=0xEE;//选择通道p1.6 并开始转换。

  _nop_();_nop_();-nop_();_nop_();_nop_0;while(ADC_CONTR!=0xF6);/////等待AD 转换完成ADC_CONTR=0xE6;AD_result_RIGHT=(OxFF-ADC_DATA);)

  PWM 中断子程序:

  voidPCA_nt(void)interrupt 7/////2///3{CF=0;//清空溢出标志CCAPOH=AD_result_LEFT;////PWM0//刷新比较寄存器的数据CCAPlH=AD_result RIGHT;////PWMl}

  2.D类功放
  
  D类功放是一个脉冲控制的大电流开关放大器,把比较器输出的PWM信号变成高电压、大电流的大功率PWM信号。其最大输出功率由负载、电源电压和晶体管允许流过的电流来决定。

  设计这部分电路时,笔者为了方便给单片机供电,采用单电源供电,曾尝试用OTL功放电路不加自举电路,工作时输出耦合电容前端电压约为2.5V,表现为输出功率和效率很低。这是因为单片机输出的0~5V的PWM脉冲信号不能使这只NPN型管子完全导通所致(输出耦合电容前端电压会抬高,正常工作时这点电压约为1/2供电电压),电路见图所示。

  考虑到经典OTL电路分立元件较多,焊接组装后印制板难看,调试不方便,笔者采用了将单片机输出的PWM经过运放TL082组成的2.5V比较电路,当高于2.5V时输出+12V电压,低于2.5V时输出-12V电压,以此驱动后级由IRF7389组成的功放电路的方式,电路如图所示。

  3.低通滤波器
  
  此部分的作用,是把大功率PWM波形中的声音信息还原出来,其方法是用一个低通滤波器。

  由于此时电流很大,而RC结构的低通滤波器电阻会耗能,不能采用,因此必须使用LC低通滤波器。当占空比大于1:1的脉冲到来时,C的充电时间大于放电时间,输出电平上升;当窄脉冲到来时,放电时间大于充电时间,输出电平下降,正好与原音频信号的幅度变化一致,所以原音频信号被恢复出来,波形见图。

  低通滤波器的性能对音质的影响很大,该低通滤波器工作在大电流下,负载就是音箱。好在D类功放的输出阻抗小对音响的阻抗,如4Ω、8Ω不是很敏感。由于PWM频率足够高,笔者只设计了一个电感和一电容的低通滤波器。

  以上介绍的是笔者实践的过程,论述并不严谨,而且有很多方面需要改进,比如程序设计、供电电压(正负供电)、功放电路(可以用两片单片机,或带4路PWM功能的STCl2C,5608AV单片机分别制作左右声道,采用H桥功放电路)、输出滤波电路等等,有兴趣的朋友可以按自己的想法改进设计,还可以增加红外遥控音量调节等功能。



评论

技术专区