久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13792|回復: 11
打印 上一主題 下一主題
收起左側

放大器非線性失真研究裝置設計資料

  [復制鏈接]
跳轉到指定樓層
樓主
這個是我電賽的時候做的一個小玩意,希望對大家有所幫助。第一次發,不知道為啥電路圖顯示不出來?大家可以下載下面的文檔看一下


本設計為放大器非線性失真研究裝置,外接信號源輸出頻率1kHz,峰峰值20mV正弦波作為晶體管放大器的輸入電壓,能夠輸出無明顯失真和四種失真的波形,且輸出波形的峰峰值不低于2V.
本設計由晶體管放大模塊、單片機控制模塊兩個模塊組成。晶體管放大電路采用單級共射放大電路進行放大,來實現放大的要求;單片機控制部分采用51單片機進行控制和采集測量,然后顯示總諧波失真(THD),達到無明顯失真和四種失真波形和單片機自動控制和測量顯示。
本設計從理論上進行了詳細的方案論證,設計了合理的實現框圖,并給出了具體的電路設計及相關程序設計方法。經測試,本設計實現了要求的電壓放大倍數、無明顯失真波形和四種失真波形,實現單片機控制的THD自動測量。

一、     系統方案

1.1設計要求
要求設計并制作一個放大器非線性失真研究裝置,能夠示波器顯示無明顯失真波形和四種失真信號的波形,并且單片機能夠自動測量總諧波失真。研究裝置如圖1。
圖1 放大器非線性失真研究裝置組成框圖


放大器能夠輸出的四種失真信號分別是頂部失真、底部失真、雙向失真和交越失真。要求輸入接信號頻率為1kHz,峰峰值為20mV,輸出信號電壓峰峰值至少為2V。各種波形要求如圖二。

圖2 無明顯失真及四種具有非線性失真的uo 示意波形
1.2方案設計
晶體管放大電路有共射放大電路和共基放大電路兩種設計方法,共射放大電路和共基放大電路都選擇采用一級放大的方案來實現要求的放大倍數,由于本設計要求的輸入低頻小信號,幅值小且頻率較低,因此可以采用比較符合要求的共射放大電路,共射放大電路適用于低頻信號,且容易實現較高的放大倍數,失真較小,符合題目要求。
1)  方案一:共射放大電路
       共射放大電路,輸入回路和輸出回路以晶體三極管發射極為公共端,輸入信號通過電容進入晶體管的基極,引起基極電流的變化,從而使集電極的電流發生變化,Uce的變化量經過耦合電容送到輸出端,當電路選擇的參數合適時,可得到輸入信號的電壓放大,從而得到放大的目的。選擇共射放大電路因為它電路結構簡單,且能輕易達到較高的電壓放大倍數,輸入和輸出電阻適中,不會太大或者太小,設置合適的靜態工作點,可以輸出無明顯失真的輸出信號,而四種失真波形可以通過調整靜態工作點來實現。具有較大的電壓增益和適合低頻小信號的特點。
2)  方案二:共基放大電路
采用共基放大電路,輸入信號從晶體管的發射極和基極兩端輸入,再由晶體管的集電極和基極輸出,基極共地所以稱為共基放大電路。共基放大電路具有高電壓增益的特點,符合題目要求的放大增益,另外共基放大電路輸入阻抗很小,會使輸入信號嚴重衰減,題目要求的輸入小信號,它不適合做電壓放大器,這樣效果會很差。它的輸出電阻也很大,在輸出會有一個很低的分壓。另外它適用于高頻電路,而題目輸入的是低頻信號,所以共基放大電路不太適合這個題目,還是共射放大電路更好。

二、    理論分析與計算

2.1理論分析
①.截止失真原理分析
由二極管的伏安特性曲線可知,只有加到發射結上的電壓高子(開啟電壓:硅管為0.7V;鍺管為0.2V)時,發射結才有電流通過,而當發射結被加反向電壓時(只要不超過其反向擊穿電壓),只有很小的反向電流通過,我們認為這種情況下三極管處于截止狀態,而在實際應用中,我們會遇到各種各樣的信號需要放大,有較強的信號,有較弱的信號,也有反向的信號,根據PN節的特性,當加到發射結上的信號為較弱的信號(小于開啟電壓),或者是反向信號時,發射結是截止的,三板管不能起到放大的作用,輸出的信號,也會出現嚴重的失真,此種失真稱為截止失真。如圖(三極管的輸出特性曲線)所示,此時,晶體三極管工作在三極管輸出特性曲線的做止區,呈現截止失真現象。

②.飽和失真原理分析

我們知道,當三極管的發射結被加正向電壓且(開啟電壓)時,三極管的發射結有電流通過。發射區通過擴散運動向基區發射電子,形成發射極電流;其中一小部分與基區的空穴復合,形成基極電流,又由于集電極加反向電壓,所以從發射極出來的大部分電子在集電極電壓作用下通過漂移運動到達集電極,形成集電極電流。當集電極上加不同電壓時,有以下三種情況:

1).當集電結加反向電壓時,集電結反偏。此時,集電極有能力收集從發射極發射出的電子,三極管處于穩定的放大狀態。此時,晶體三極管工作在輸出特性曲線的放大區,能夠正常放大信號。

2).當集電極加正向電壓,集電極正偏。此時,發射極雖發射電子,但由于集電極收集電子能力不足,即使基極電流增大,發射極發射電子電流增大,集電極電流也不會增大,這種情況稱為三極管的飽和導通。飽和導通時,三極管對信號也失去了放大作用,此時三極管的失真稱為飽和失真?梢,飽和失真時晶體三極管工作在輸出特性曲線的飽和區,輸出信號呈現飽和失真。

3).當集電結所加電壓為零,即=0時,三極管處于飽和放大的臨界狀態。
③.雙向失真原理分析

由以上分析可知,三極管對信號的放大倍數是有限的。調整電路使三極管工作在合適的靜態工作點,即是放大信號在三極管輸出特性曲線的放大區。選取合適的輸入信號可以得到正常的放大波形,當增加輸入信號的幅度時,放大信號的幅度也成倍增加,此時放大信號的幅度過大,導致放大信號的峰部超出三極管輸出特性曲線的放大區,一部分在飽和區,一部分在截止區,于是出現了雙向失真。換-種說法,也可以解釋為放大信號同時出現了飽和失真和截止失真。
雙向失真是指即在三極管輸出特性曲線的飽和區失真又在截止區失真,三極管有飽和狀態又有 截止狀態,向上達到飽和狀態,向下到達截止狀態,出現這種非線性失真不是由于電路中某個電路元件選擇的不合適,而是由于信號源輸入的信號過大導致三極管在放大時出現了雙向失真。

④.交越失真原理分析

失真的機理:
交越失真是乙類推挽放大器所特有的失真,在推挽放大器中,由2只品體管分別在輸入信號的正、負半周導通,對正、負半周信號進行放大,而乙類放大器的特點是不給晶體管建立靜態偏置,使其導通的時間恰好為信號的半個周期,但是,由于晶體管的輸入特性曲線在VBE較小時是彎曲的,晶體管基本上不導通,即存在死區電壓Vr、當輸入信號電壓小于死區電壓時,2只品體管基本上都不導通.這樣當輸入信號為正弦波時,輸出信號將不再是正弦波,即產生了失真,因此在正、負半周交替過零處會出現一些失真,這個失真稱為交越失真。


2.2理論計算
我們采用射極偏置電路
增益為:

晶體管放大電路圖
交越失真電路圖
Q點過低會出現截止失真
Q點過高會出現飽和失真

對于射級偏置電路,當靜態工作點太低時,導致輸出波形失真,則為截止失真; 當靜態工作點太高時,導致輸出波形失真,則為飽和失真:當輸入信號太大時,可能使被放大的信號同時在飽和區與截止區,這就產生了雙向失真。由于晶體管的門限電壓不為零,比如一般的硅三極管,NPN型在0.7V以上才導通,這樣在0-0.7就存在死區,不能完全模擬出輸入信號波形,PNP型小于-0.7V才導通,比如當輸入的交流的正弦波時,在-0.7-0.7之間兩個管子都不能導通,輸出波形對輸入波形來說這就存在失真,即為交越失真。


三、    電路與程序設計

I.  系統組成
本數字信號分析儀共分為兩部分:分別為晶體管放大電路和單片機控制模塊,通過示波器來觀察失真和無失真波形,單片機顯示總諧波失真近似值。

II. 原理框圖與各部分的電路圖
總體框圖:
晶體管放大電路:
交越失真電路:
單片機原理圖:

四、    測試方案與測試結果
硬件測試:
通過示波器觀察失真和不失真的各種波形,結果如下圖。
1.無明顯失真波形
2.底部失真波形
3.頂部失真波形
4.雙向失真波形
5.交越失真波形

軟件仿真測試
1.    無失真波形
2.    底部失真波形
3.    頂部失真波形
4.    雙向失真波形
5.    交越失真波形


附件
單片機源程序
1.  #include<reg52.h>
2.  #include"Delay.h"
3.  #include<KEY_FUNCTION_DEFINE.H>
4.  #include<measure_define.h>
5.  #include"AD.h"
6.  #include"LCD.h"
7.  extern uchar disp_value[5];
8.  extern uchar key_number;
9.  extern ucharcode  DC_disp3[];
10. uchar code AC_disp[]="AC VOLMeasure ";
11. uchar codeAC_disp2[]="value=        ";
12. void AC_VOL_measure(void)                              //交流電壓測量函數
13. {
14.                uchar  ADTemp,num;
15.                float ValueTemp;
16.                WriteCom(0x01);                                                     //清屏
17.              WriteCom(0x80);                                                 //顯示
18.                for(num=0;AC_disp[num]!='\0';num++)
19.                {
20.                       WriteData(AC_disp[num]);                        
21.                       Delay(10);        
22.                }
23.                WriteCom(0x80+0x40);                                 //顯示
24.                for(num=0;AC_disp2[num]!='\0';num++)
25.                {
26.                       WriteData(AC_disp2[num]);                        
27.                       Delay(10);        
28.                }               
29.                        
30.                do{                                                                 
31.                            s1=0;                                    //選擇200v最高檔
32.                           s2=0;
33.                           s3=1;
34.                               Delay(50);
35.                ADTemp=ADSample(AC_VOL_adder);               
36.                if(ADTemp>253)                                   //當超過量程時,顯示為1
37.                {        WriteCom(0x80+0x46);                              //顯示
38.                       for(num=0;DC_disp3[num]!='\0';num++)
39.                        {
40.                               WriteData(DC_disp3[num]);
41.                                       Delay(10);
42.                        }
43.                }         
44.                else               
45.                        {
46.                       ValueTemp=ValueConver(ADTemp);       //測量的電壓值轉換         
47.                   ValueTemp=ValueTemp*100;                //電壓值乘以檔位        
48.                               FloatToChar(ValueTemp);             //電壓值轉換為字符串
49.                          WriteCom(0x80+0x46);              //第二行顯示電壓值         
50.                               for(num=0;num<5;num++)
51.                               {
52.                                      WriteData(disp_value[num]);                  
53.                                       Delay(10);      
54.                               }
55.                        WriteData('V');
56.                       WriteData(' ');                              
57.                        
58.                        }
59.                                                                                
60.               }  while((ADTemp>20)&&(key_number==2));
61.  
62.                 do
63.                {                                                                 
64.                           s1=0;                                          //選擇20v檔
65.                           s2=1;
66.                           s3=0;
67.                               Delay(50);                                             
68.                ADTemp=ADSample(AC_VOL_adder);            //起動AD進行采樣
69.                ValueTemp=ValueConver(ADTemp);                //AD進行轉換
70.                ValueTemp=ValueTemp*10;                        //電壓乘以檔位         
71.                FloatToChar(ValueTemp);                         //電壓轉換為字符串
72.             WriteCom(0x80+0x46);                               //第二行顯示所測電壓值
73.                for(num=0;num<5;num++)
74.                {
75.                       WriteData(disp_value[num]);
76.                                Delay(10);
77.                }
78.                WriteData('V');
79.                WriteData(' ');                                       
80.            } while((ADTemp>24)&&(ADTemp<253)&&(key_number==2));      
81. do
82.           {
83.                           s1=1;                                           //選擇2V檔
84.                           s2=0;
85.                           s3=0;
86.                               Delay(50);
87.                ADTemp=ADSample(AC_VOL_adder);               //起動AD進行采樣
88.                ValueTemp=ValueConver(ADTemp);                //電壓值轉換為字符串
89.        FloatToChar(ValueTemp);
90.           WriteCom(0x80+0x46);
91.                for(num=0;num<5;num++)
92.                {
93.                       WriteData(disp_value[num]);
94.                        Delay(15);      
95.                }
96.                WriteData('V');      
97.                WriteData(' ');
98.         } while((ADTemp<253)&&(key_number==2));
99.  
100.   }
總電路圖

pdf格式文檔51黑下載地址:
QS002-放大器非線性失真的研究裝置(E題).pdf (1.87 MB, 下載次數: 234)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂4 踩
回復

使用道具 舉報

沙發
ID:830688 發表于 2021-1-12 09:38 | 只看該作者
千言萬語兩個字————牛逼
回復

使用道具 舉報

板凳
ID:820972 發表于 2021-3-20 20:26 | 只看該作者
吐了,搞了半天,沒有頭文件添加
回復

使用道具 舉報

地板
ID:719764 發表于 2021-3-22 21:24 | 只看該作者
千言萬語兩個字————牛逼
回復

使用道具 舉報

5#
ID:893320 發表于 2021-4-7 17:31 | 只看該作者
有沒有實物展示
回復

使用道具 舉報

6#
ID:925048 發表于 2021-5-21 17:23 | 只看該作者
這個包含了電賽的所有實驗的原理非常好,頂
回復

使用道具 舉報

7#
ID:925048 發表于 2021-5-21 17:30 | 只看該作者
太厲害了,全網最牛版本
回復

使用道具 舉報

8#
ID:818024 發表于 2021-6-14 10:14 | 只看該作者
哈哈,我也做過這題,當時傻傻的用兩個晶體管搭放大電路,結果調了半天不是不穩定就是放大倍數不對
回復

使用道具 舉報

9#
ID:944873 發表于 2021-6-26 21:10 | 只看該作者
請問一下有頭文件嗎
回復

使用道具 舉報

10#
ID:997749 發表于 2021-12-28 11:15 | 只看該作者
思路清晰 厲害 剛好我也遇到這個考題
回復

使用道具 舉報

11#
ID:447463 發表于 2022-1-5 18:30 | 只看該作者
正想找這類資料
回復

使用道具 舉報

12#
ID:969189 發表于 2025-3-3 15:35 | 只看該作者
upup求波形仿真文件
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品亚洲片在线播放 | 精品欧美一区二区三区久久久 | 九九爱这里只有精品 | 亚洲国产精品一区二区三区 | 欧美色性| 色桃网| 国产精品久久国产精品 | 成人精品一区亚洲午夜久久久 | 国产午夜精品视频 | 区一区二在线观看 | 亚洲精品视频网站在线观看 | 男人天堂网址 | 蜜桃视频一区二区三区 | 国产精品免费在线 | 久久久久久久91 | 中文字幕在线国产 | 99久久久国产精品 | 老牛嫩草一区二区三区av | 人人看人人搞 | 国产xxxx在线 | 日韩在线视频播放 | 全免费a级毛片免费看视频免费下 | 日韩精品一区二区三区在线播放 | 51ⅴ精品国产91久久久久久 | 观看av| 亚洲精品视频免费观看 | 国产精品一区2区 | 亚洲综合一区二区三区 | 久久久久久免费毛片精品 | 国产精品视频中文字幕 | 欧美一级片在线看 | 中文字幕在线观看成人 | 一区二区三区日韩精品 | 超碰免费在 | 成人av网站在线观看 | 久久久久久久久久久爱 | 一区二区三区高清 | 欧美精品一区二区在线观看 | 国产精品高潮呻吟久久aⅴ码 | 91香蕉视频在线观看 | 高清成人av |