立体声音频功率放大电路论文

更新时间:2023-07-26 13:03:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

河 北 科 技 大 学 第 二 届 电 子 设 计 大 赛

姓 名:学 院:组 别:项 目: 立体声音频功率放大电路 指导老师:

2010年 11 月 22 日

一、摘要 .......................................................................................... 2 二、设计方案题目解析: ................................................................ 2 三、电路设计:............................................................................... 3

1、系统方案 ................................................................................. 3 2、 双声道主体电路的制作 : ..................................................... 3

3、保护电路 ................................................................................. 4 4、单片机控制电路 ...................................................................... 4 5、音调调节电路 .......................................................................... 6 四、电路调试与测试结果 ................................................................ 7 附录 ................................................................................................. 8

立体声音频功率放大电路

一、摘要

更具设计要求电路由双声道主体功放电路、保护电路、四音源选择电路、音量调节电路、音调调节电路、声道选择电路、功能显示电路、AGC自动增益控制电路、低中高音区指示电路和直流稳压电源组成。双声道主体功放电路由三极管、电容、电阻和电感搭建而成。保护电路是选用的uPC1237保护集成电路。通过单片机89s52控制双联继电器实现四音源的选择,通过对多路模拟开关CD4051实现音量的调节、声道的选择,低中高音区指示和通过液晶显示电路的功能状态,通过阻容滤波电路实现音调的调节,直流稳压电源为整个电路供电是整个电路能够稳定的运行。 关键字:音频功率放大 uPC1237 89s52 CD4051 LCD1602

二、设计方案题目解析:

根据题目要求,设计并制作一个立体声音频功率放大器,实现对信号的无失真放大。 主要性能指标有:在输入正弦信号电压幅度为500mV-1V,等效负载电阻RL=8Ω;时,放大器满足以下要求:(1)额定输出功率Po≥10w;(2)频率响应:20Hz-20kHz;(3)谐波失真≤3%;(4)在Po下的效率η≥55%;(5)信噪比≥80dB。

发挥部分:(1)制作4音源选择电路,用轻触开关实现音源转换;(2)制作音调控制电路,音调控制范围≥12dB;(3)制作数字音量控制电路,用两只轻触开关分别实现音量的加减;(4)低中高音区指示,用指示灯指示当前输入信号的音区;(5)AGC(自动增益控制)。

三、电路设计:

经过分析可知电路需分块制作,双声道主体功放电路是整个电路的核心部分,单片机控制电路是很重要的辅助功能,扬声器保护电路也是必不可少的。由此确定系统方案如下。

1、系统方案

图1

直流稳压电源和保护电路,图中未画出。

2、 双声道主体电路的制作 :左右两个声道的功放电路一样,分别接音源输出的左

右声道。

是NPD5565孪生场效应管, 噪声很低,输入阻抗高且随频率变化较小,对前级输入信号的损耗较小。VT1和VT2通过场效应管和三极管构成共源共射电路,是高频放大能力和线性得以提高。VT3和VT4构成第一级的恒流源。通过调节RP1可以是输出的中点电压控制在1mv以内。VT10构成共基电路,通过这个管子组成平衡电路,使两侧差分的电流一致性提高。第一级的R2和R3的直流压降作为第二级差分输入管VT8和VT9的偏置电压,第二级的静态

电流主要有R21决定。R10和R11主要调整音色。VT11和R31、R32、RP2构成电流放大级的偏置。C17和C18是反馈电容,降低整个电路高频瞬态失真。输出级是三级达林顿式,有较高的输入阻抗和较低的输出阻抗,有较大的动态范围和足够的推动力。输出级的后面的R8和C25,补偿扬声器阻抗,使得扬声器在全频范围内接近纯阻抗,提高稳定裕度,预防自激。后面的电感主要是抑制扬声器的反电动势对放大电路的影响。C22是担任相位超前补偿。C20和C21是相位滞后补偿。VD1和VD2减小电流放大级波动对电压放大级的影响。

3、保护电路

(1)电路图如下

(2)保护电路选用经典的uPC1237保护电路,取消了大功率管的过流保护功能。当电路中的电流过大可通过控制继电器实现对扬声器的保护作用。

4、单片机控制电路

(1)电路原理图如下

1.如图电路构成单片机最小系统,通过按键可以使单片机实现上电复位。通过三极管8550驱动双联继电器使继电器实现吸合与断开,从而实现4音源选择功能。

2.数字音量控制通过多路模拟开关CD4051实现8路分别导通,控制电阻的分压比来实现音

量的加减。

3.显示功能运用了液晶显示技术,通过单片机 控制LCD 1602可以实现音源、音量以及声道 的显示功能,使音频功率放大器更加人性化, 为使用提供了很大的方便。

5、音调调节电路

(1)电路图如下

(2)电路有两块NE5532组成的高中低音音调控制电路。信号经U1(作缓冲放大及隔离作用,避免负载对信号源的影响)进入有电阻电容组成的三个频率均衡电路(分别调节高音、中音、低音),调节RP1-RP3,相应的低中高音频信号进入有U2及其反馈电路组成的反相放大器电路,调节RP1-RP3提升或衰减高中低音,实现音调调节作用。经试验可实现对频率1kHz以上的信号的衰减,实现音调调节。

四、电路调试与测试结果

(1)设计的电路图进行焊接,用示波器观察在不同频率输入信号下输出信号的波形,并记录波形。

(2)以下是功放电路在不同频率方波信号输入下的输出波形

1kHz 10kHz 20kHz 50kHz

测试结果显示放大电路可以把10KHz的方波基本没有失真的放大,没有过冲。在50KHz的方波输入下失真稍微明显,经调试知加大电源电压可使失真明显减小。在输入正弦信号峰峰值达到500mV时输出信号即可使8Ω的负载达到10W以上。频率响应可以达到60Hz以上。已经满足设计要求。

(3)音调调节电路的功能是降低高频信号的幅值,对低频信号几乎是原样输出,实验对声波的过滤。

(4)单片机控制电路,基本实现了对音量的调节,声道的转换,四音源的选择并由液晶把当前的功能状态显示出来。音量分八段调节,可从1—8自由调节。声道可以选左声道导通,右声道导通和双声道全导通。四音源可以自由切换。 参考文献:

[1]魏涛. 一款为书架箱设计的“胆味”晶体管功放.无线电 2009年第2期 [2]童诗白 华成英. 模拟电子技术基础. 高等教育出版社 [3]闫石. 数字电子技术基础. 高等教育出版社

[4]张迎新. 单片微型计算机原理、应用及接口技术(第2版). 国防工业出版社

河北科技大学第二届电子设计大赛

附图1

河北科技大学第二届电子设计大赛

附图2

附3《单片机程序》

/******************************************************************************

***

名称:功放控制程序

功能:实现声道切换,音量加减,音源切换

*******************************************************************************

**/

#include<reg52.h> #include<intrins.h>

#define uchar unsigned char #define uint unsigned int

#define LCD_Data P0 //代表向LCD输入的数据 #define Busy 0x80 //用于检测LCD状态字中的Busy标识

sbit Vol_p = P1^0; sbit Vol_m = P1^1; sbit Key_track = P1^4;

sbit Relay_U = P1^2; sbit Relay_D = P1^3; sbit Relay1 sbit Relay2 sbit Relay3 sbit Relay4

sbit A sbit M sbit C

= P2^1; = P2^2; = P2^3; = P2^4; = P1^5; = P1^6; = P1^7;

sbit Enable1 = P3^0; sbit Enable2 = P3^1;

sbit LCD_RS = P2^7; sbit LCD_RW = P2^6; sbit LCD_E = P2^5;

uchar code table[]=" 12 3 4";

uchar code dis_num[]="0123456789";

uchar volume=0; uchar relay=0x01; uchar temprelay; uchar track=1;

void Delay5Ms(void) {

unsigned int TempCyc = 5552; while(TempCyc--); }

//读状态

unsigned char ReadStatusLCD(void) {

LCD_Data = 0xFF; LCD_RS = 0; LCD_RW = 1; LCD_E = 0;

LCD_E = 0; LCD_E = 1;

while (LCD_Data & Busy); //检测忙信号 return(LCD_Data); }

//********* LCD1602驱动程序 *************** //写数据

void WriteDataLCD(unsigned char WDLCD) {

ReadStatusLCD(); //检测忙 LCD_Data = WDLCD; LCD_RS = 1;

LCD_RW = 0;

LCD_E = 0; //若晶振速度太高可以在这后加小的延时 LCD_E = 0; //延时

LCD_E = 1; }

//写指令

void WriteCommandLCD(unsigned char WCLCD,BuysC) //BuysC为0时忽略忙检测 {

if (BuysC)

ReadStatusLCD(); //根据需要检测忙 LCD_Data = WCLCD; LCD_RS = 0; LCD_RW = 0; LCD_E = 0; LCD_E = 0; LCD_E = 1; }

//LCD初始化

void LCDInit(void) {

LCD_Data = 0;

WriteCommandLCD(0x38,0); //三次显示模式设置,不检测忙信号 Delay5Ms();

WriteCommandLCD(0x38,0); Delay5Ms();

WriteCommandLCD(0x38,0);

Delay5Ms();

WriteCommandLCD(0x38,1); //显示模式设置,开始要求每次检测忙信号 WriteCommandLCD(0x08,1); //关闭显示 WriteCommandLCD(0x01,1); //显示清屏

WriteCommandLCD(0x06,1); // 显示光标移动设置 WriteCommandLCD(0x0C,1); // 显示开及光标设置 }

//按指定位置显示一个字符

void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData) {

Y &= 0x1;

X &= 0xF; //限制X不能大于15,Y不能大于1 if(Y)

X |= 0x40; //当要显示第二行时地址码+0x40; X |= 0x80; //算出指令码

WriteCommandLCD(X, 0); //这里不检测忙信号,发送地址码 WriteDataLCD(DData); }

void main() {

A=0x00; M=0x00; C=0x00; Enable1=0; Enable2=0;

/* P0=0xfe;

relay=0x01;*/ Relay1=0; Relay2=1; Relay3=1;

LCDInit();

DisplayOneChar(0,0,'S'); DisplayOneChar(1,0,'R'); DisplayOneChar(2,0,'C'); DisplayOneChar(4,0,'1'); DisplayOneChar(7,0,'T'); DisplayOneChar(8,0,'R'); DisplayOneChar(9,0,'A'); DisplayOneChar(10,0,'C'); DisplayOneChar(11,0,'K'); DisplayOneChar(13,0,'A'); DisplayOneChar(0,1,'V'); DisplayOneChar(1,1,'O'); DisplayOneChar(2,1,'L'); DisplayOneChar(4,1,'1'); DisplayOneChar(5,1,'|'); while(1) { if(!Vol_p) { } if(!Vol_m) {

Delay5Ms(); if(!Vol_m)

Delay5Ms(); if(!Vol_p) {

if(volume<7) { }

volume++; C=volume/4; M=(volume%4)/2; A=volume%2;

DisplayOneChar(volume+5,1,'|');

DisplayOneChar(4,1,dis_num[volume+1]);

}

while(!Vol_p);

if(volume>0) { volume--; C=volume/4; M=(volume%4)/2; A=volume%2;

DisplayOneChar(volume+6,1,' ');

DisplayOneChar(4,1,dis_num[volume+1]);

}

}

while(!Vol_m);

}

if(!Relay_U) { Delay5Ms(); if(!Relay_U) { if(relay<8) { relay*=2;

Relay1=(~(relay&0x01))&0x01;

Relay2=(~((relay&0x02)>>1))&0x01; Relay3=(~((relay&0x04)>>2))&0x01; Relay4=(~((relay&0x08)>>3))&0x01;

}

temprelay=relay;

DisplayOneChar(4,0,table[temprelay]);

}

while(!Relay_U);

}

if(!Relay_D) { Delay5Ms(); if(!Relay_D) {

if(relay>1) { relay/=2;

Relay1=(~(relay&0x01))&0x01;

Relay2=(~((relay&0x02)>>1))&0x01;

Relay3=(~((relay&0x04)>>2))&0x01;

}

}

}

temprelay=relay;

DisplayOneChar(4,0,table[temprelay]);

while(!Relay_D);

if(!Key_track) {

Delay5Ms(); if(!Key_track) { }

while(!Key_track);

track++; switch(track) {

case 1: { Enable1=0;

Enable2=0;

DisplayOneChar(13,0,'A');

break; }

case 2: { }

Enable1=0; Enable2=1;

DisplayOneChar(13,0,'L'); break;

case 3: { }

Enable1=1; Enable2=0;

DisplayOneChar(13,0,'R'); break;

}

track%=3;

} } }

本文来源:https://www.bwwdw.com/article/f84m.html

Top