信號發生器的參考文獻
1. 函數信號發生器(一定要有圖)
http://tabobo.cn/soft/20/233/2008/428471214396.html
智能函數發生器設計
設計的要求如下
設計要求
1. 信號頻率范圍1HZ~100kHZ;
2. 輸出波形應有: 方波、三角形、正弦波;
3. 輸出信號幅值范圍0~10V;
4. 具有數字顯示輸出信號頻率和電壓幅值功能。
第一章 方案設計與論證
方案一:本方案直接採用凌陽SPCE061A作為波形發生器。波形的具體產生是通過兩路DAC來產生,凌陽SPCE061A在這方面的設計為我們提供了極大的方便,用它實現的好處在於,外圍電路極其簡單,另外在DAC的編程方面又提供及其便利的編程環境。外圍電路的設計包括三大部分,第一是鍵盤控制電路的設計,這里採用4*4鍵盤,由IOA的低八位進行控制,把鍵盤上的行和列分別接在IOA0~IOA3和IOA4~IOA7上,採用外部中斷二來中斷所顯示波形,以便進入下一波形的編輯和輸出,在波形輸出的同時利用外部中斷一來實現同步的頻率調節。第二是顯示電路的設計,這里為了在波形輸出依然有顯示,由於單片機的局限性這里採用通常的動態LED顯示行不通,因為波形輸出時要求CPU不停地為其服務而沒有空閑來為LED進行不停更新,解決方案是採用帶數據緩存器和驅動的LCD來提供顯示,這樣只佔用八個I/O口即可完成設計要求,也可放棄適時顯示功能採用LED顯示,這里將提供兩種顯示方案。第三是濾波和電壓轉換電路的設計,濾波採用低通濾波器,濾除DAC轉換過程中形成的高頻小鋸齒波。另外由於凌陽SPCE061A單片機DAC輸出為電流輸出,為滿足達到5V的電壓輸出,外接OP07運算放大器進行放大,加1千歐姆電阻進行電流信號到電壓信號的轉換。本設計的特點是全面採用數字電路方案,因而工作穩定可靠。利用單片機控制管理,使頻率設置和占空比調整等操作可用鍵盤輸入,十分方便.由於方案中涉及到SPCE061A單片機現簡介如下:
SPCE061A單片機概述
SPCE061A是繼u'nSP系列產品SPCE500A等之後凌陽科技推出的又一個16位結構的微控制器。目前有兩種封裝形式:84引腳的PLCC84封裝和80引腳的LQFP80貼片封裝。主要性能如下:
16位m』nSP微處理器;
工作電壓:VDD為2.4~3.6V(cpu), VDDH為2.4~5.5V(I/O);
CPU時鍾:32768Hz~49.152MHz ;
內置2K字SRAM、內置32K FLASH;
可編程音頻處理;
32位通用可編程輸入/輸出埠;
32768Hz實時時鍾,鎖相環PLL振盪器提供系統時鍾信號;
2個16位可編程定時器/計數器(可自動預置初始計數值);
2個10位DAC(數-模轉換)輸出通道;
7通道10位電壓模-數轉換器(ADC)和單通道語音模-數轉換器;
聲音模-數轉換器輸入通道內置麥克風放大器自動增益控制(AGC)功能;
系統處於備用狀態下(時鍾處於停止狀態)耗電小於[email protected];
具備觸鍵喚醒的功能;
14個中斷源:定時器A / B,2個外部時鍾源輸入,時基,鍵喚醒等;
使用凌陽音頻編碼SACM_S240方式(2.4K位/秒),能容納210秒的語音數據;
具備非同步、同步串列設備介面;
具有低電壓復位(LVR)功能和低電壓監測(LVD)功能;
內置在線模擬電路介面ICE(In- Circuit Emulator);
具有保密能力;
具有WatchDog功能(由具體型號決定)
2. 求函數信號發生器畢業設計
函數信號發生器的設計與製作
系別:電子工程系 專業:應用電子技術 屆:07屆 姓名:李賢春
摘 要
本系統以ICL8038集成塊為核心器件,製作一種函數信號發生器,製作成本較低。適合學生學習電子技術測量使用。ICL8038是一種具有多種波形輸出的精密振盪集成電路,只需要個別的外部元件就能產生從0.001Hz~30KHz的低失真正弦波、三角波、矩形波等脈沖信號。輸出波形的頻率和占空比還可以由電流或電阻控制。另外由於該晶元具有調制信號輸入端,所以可以用來對低頻信號進行頻率調制。
關鍵詞 ICL8038,波形,原理圖,常用接法
一、概述
在電子工程、通信工程、自動控制、遙測控制、測量儀器、儀表和計算機等技術領域,經常需要用到各種各樣的信號波形發生器。隨著集成電路的迅速發展,用集成電路可很方便地構成各種信號波形發生器。用集成電路實現的信號波形發生器與其它信號波形發生器相比,其波形質量、幅度和頻率穩定性等性能指標,都有了很大的提高。
二、方案論證與比較
2.1·系統功能分析
本設計的核心問題是信號的控制問題,其中包括信號頻率、信號種類以及信號強度的控制。在設計的過程中,我們綜合考慮了以下三種實現方案:
2.2·方案論證
方案一∶採用傳統的直接頻率合成器。這種方法能實現快速頻率變換,具有低相位雜訊以及所有方法中最高的工作頻率。但由於採用大量的倍頻、分頻、混頻和濾波環節,導致直接頻率合成器的結構復雜、體積龐大、成本高,而且容易產生過多的雜散分量,難以達到較高的頻譜純度。
方案二∶採用鎖相環式頻率合成器。利用鎖相環,將壓控振盪器(VCO)的輸出頻率鎖定在所需要頻率上。這種頻率合成器具有很好的窄帶跟蹤特性,可以很好地選擇所需要頻率信號,抑制雜散分量,並且避免了量的濾波器,有利於集成化和小型化。但由於鎖相環本身是一個惰性環節,鎖定時間較長,故頻率轉換時間較長。而且,由模擬方法合成的正弦波的參數,如幅度、頻率 相信都很難控制。
方案三:採用8038單片壓控函數發生器,8038可同時產生正弦波、方波和三角波。改變8038的調制電壓,可以實現數控調節,其振盪范圍為0.001Hz~300KHz。
三、系統工作原理與分析
3.1、ICL8038的應用
ICL8038是精密波形產生與壓控振盪器,其基本特性為:可同時產生和輸出正弦波、三角波、鋸齒波、方波與脈沖波等波形;改變外接電阻、電容值可改變,輸出信號的頻率范圍可為0.001Hz~300KHz;正弦信號輸出失真度為1%;三角波輸出的線性度小於0.1%;占空比變化范圍為2%~98%;外接電壓可以調制或控制輸出信號的頻率和占空比(不對稱度);頻率的溫度穩定度(典型值)為120*10-6(ICL8038ACJD)~250*10-6(ICL8038CCPD);對於電源,單電源(V+):+10~+30V,雙電源(+V)(V-):±5V~±15V。圖1-2是管腳排列圖,圖1-2是功能框圖。8038採用DIP-14PIN封裝,管腳功能如表1-1所示。
3.2、ICL8038內部框圖介紹
函數發生器ICL8038的電路結構如圖虛線框內所示(圖1-1),共有五個組成部分。兩個電流源的電流分別為IS1和IS2,且IS1=I,IS2=2I;兩個電壓比較器Ⅰ和Ⅱ的閾值電壓分別為 和 ,它們的輸入電壓等於電容兩端的電壓uC,輸出電壓分別控制RS觸發器的S端和 端;RS觸發器的狀態輸出端Q和 用來控制開關S,實現對電容C的充、放電;充點電流Is1、Is2的大小由外接電阻決定。當Is1=Is2時,輸出三角波,否則為矩尺波。兩個緩沖放大器用於隔離波形發生電路和負載,使三角波和矩形波輸出端的輸出電阻足夠低,以增強帶負載能力;三角波變正弦波電路用於獲得正弦波電壓。
3.3、內部框圖工作原理
★當給函數發生器ICL8038合閘通電時,電容C的電壓為0V,根據電壓比較器的電壓傳輸特性,電壓比較器Ⅰ和Ⅱ的輸出電壓均為低電平;因而RS觸發器的 ,輸出Q=0, ;
★使開關S斷開,電流源IS1對電容充電,充電電流為
IS1=I
因充電電流是恆流,所以,電容上電壓uC隨時間的增長而線性上升。
★當上升為VCC/3時,電壓比較器Ⅱ輸出為高電平,此時RS觸發器的 ,S=0時,Q和 保持原狀態不變。
★一直到上升到2VCC/3時,使電壓比較器Ⅰ的輸出電壓躍變為高電平,此時RS觸發器的 時,Q=1時, ,導致開關S閉合,電容C開始放電,放電電流為IS2-IS1=I因放電電流是恆流,所以,電容上電壓uC隨時間的增長而線性下降。
起初,uC的下降雖然使RS觸發的S端從高電平躍變為低電平,但 ,其輸出不變。
★一直到uC下降到VCC/3時,使電壓比較器Ⅱ的輸出電壓躍變為低電平,此時 ,Q=0, ,使得開關S斷開,電容C又開始充電,重復上述過程,周而復始,電路產生了自激振盪。
由於充電電流與放電電流數值相等,因而電容上電壓為三角波,Q和 為方波,經緩沖放大器輸出。三角波電壓通過三角波變正弦波電路輸出正弦波電壓。
結論:改變電容充放電電流,可以輸出占空比可調的矩形波和鋸齒波。但是,當輸出不是方波時,輸出也得不到正弦波了。
3.4、方案電路工作原理(見圖1-7)
當外接電容C可由兩個恆流源充電和放電,電壓比較器Ⅰ、Ⅱ的閥值分別為總電源電壓(指+Vcc、-VEE)的2/3和1/3。恆流源I2和I1的大小可通過外接電阻調節,但必須I2>I1。當觸發器的輸出為低電平時,恆流源I2斷開,恆流源I1給C充電,它的兩端電壓UC隨時間線性上升,當達到電源電壓的確2/3時,電壓比較器I的輸出電壓發生跳變,使觸發器輸出由低電平變為高電平,恆流源I2接通,由於I2>I1(設 I2=2I1),I2將加到C上進行反充電,相當於C由一個凈電流I放電,C兩端的電壓UC又轉為直線下降。當它下降到電源電壓的1/3時,電壓比較器Ⅱ輸出電壓便發生跳變,使觸發器輸出為方波,經反相緩沖器由引腳9輸出方波信號。C上的電壓UC,上升與下降時間相等(呈三角形),經電壓跟隨器從引腳3輸出三角波信號。將三角波變為正弦波是經過一個非線性網路(正弦波變換器)而得以實現,在這個非線性網路中,當三角波的兩端變為平滑的正弦波,從2腳輸出。
其中K1為輸出頻段選擇波段開關,K2為輸出信號選擇開關,電位器W1為輸出頻率細調電位器,電位器W2調節方波占空比,電位器W3、W4調節正弦波的非線性失真。
圖1-1
3.5、兩個電壓比較器的電壓傳輸特性如圖1-4所示。
圖1-4
3.6、常用接法
如圖(1-2)所示為ICL8038的引腳圖,其中引腳8為頻率調節(簡稱為調頻)電壓輸入端,電路的振盪頻率與調頻電壓成正比。引腳7輸出調頻偏置電壓,數值是引腳7與電源+VCC之差,它可作為引腳8的輸入電壓。
如圖(1-5)所示為ICL8038最常見的兩種基本接法,矩形波輸出端為集電極開路形式,需外接電阻RL至+VCC。在圖(a)所示電路中,RA和RB可分別獨立調整。在圖(b)所示電路中,通過改變電位器RW滑動的位置來調整RA和RB的數值。
圖1-5
當RA=RB時,各輸出端的波形如下圖(a)所示,矩形波的占空比為50%,因而為方波。當RA≠RB時,矩形波不再是方波,引腳2輸出也就不再是正弦波了,圖(b)所示為矩形波占空比是15%時各輸出端的波形圖。根據ICL8038內部電路和外接電阻可以推導出占空比的表達式為
故RA<2RB。
為了進一步減小正弦波的失真度,可採用如圖(1-6)所示電路,電阻20K與電位器RW2用來確定8腳的直流電壓V8,通常取V8≥2/3Vcc。V8越高,Ia、Ib越小,輸出頻率越低,反之亦然。RW2可調節的頻率范圍為20HZ20~KHZ。V8還可以由7腳提供固定電位,此時輸出頻率f0僅有Ra、Rb及10腳電容決定,Vcc採用雙對電源供電時,輸出波形的直流電平為零,採用單對電源供電時,輸出波形的直流電平為Vcc/2。兩個100kΩ的電位器和兩個10kΩ電阻所組成的電路,調整它們可使正弦波失真度減小到0.5%。在RA和RB不變的情況下,調整RW2可使電路振盪頻率最大值與最小值之比達到100:1。在引腳8與引腳6之間直接加輸入電壓調節振盪頻率,最高頻率與最低頻率之差可達1000:1。
3.7、實際線路分析
可在輸出增加一塊LF35雙運放,作為波形放大與阻抗變換,根據所選擇的電路元器件值,本電路的輸出頻率范圍約10HZ~20KHZ;幅度調節范圍:正弦波為0~12V,三角波為0~20V,方波為0~24V。若要得到更高的頻率,還可改變三檔電容的值。
圖1-6
表 1-1 ISL8038管腳功能
管 腳 符 號 功 能
1,12 SINADJ1,SINADJ2 正弦波波形調整端。通常SINADJ1開路或接直流電壓,
SINADJ2接電阻REXT到V-,用以改善正弦波波形和減小失真。
2 SINOUT 正弦波輸出
3 TRIOUT 三角波輸出
4,5 DFADJ1,DFADJ2 輸出信號重復頻率和占空比(或波形不對稱度)調節端。通常DFADJ1端接電阻RA到V+,DFADJ2端接RB到V+,改變阻值可調節頻率和占空比。
6 V+ 正電源
7 FMBIAS 調頻工作的直流偏置電壓
8 FMIN 調頻電壓輸入端
9 SQOUT 方波輸出
10 C 外接電容到V-端,用以調節輸出信號的頻率與占空比
11 V- 負電源端或地
13,14 NC 空腳
四、製作印刷電路板
首先,按圖製作印刷電路板,注意不能有斷線和短接,然後,對照原理圖和印刷電路板的元件而進行元件的焊接。可根據自己的習慣並遵循合理的原則,將面板上的元器件安排好,盡量使連接線長度減少,變壓器遠離輸出端。再通電源進行調試,調整分立元件振盪電路放大元件的工作點,使之處於放大狀態,並滿足振幅起振條件。仔細檢查反饋條件,使之滿足正反饋條件,從而滿足相位起振條件。
製作完成後,應對整機進行調試。先測量電源支流電壓,確保無誤後,插上集成快,裝好連接線。可以用示波器觀察波形發出的相應變化,幅度的大小和頻率可以通過示波器讀出 。
五、系統測試及誤差分析
5.1、測試儀器
雙蹤示波器 YB4325(20MHz)、萬用表。
5.2、測試數據
基本波形的頻率測量結果
頻率/KHz
正弦波 預置 0.01 0.02 2 20 50 100
實測 0.0095 0.0196 2.0003 20.0038 50.00096 100.193
方波 預置 0.01 0.02 2 20 50
實測 0.095 0.0197 1.0002 2.0004 20.0038
三角波 預置 0.01 0.02 1 2 20 100
實測 0.0095 0.0196 1.0002 2.0004 20.0038 100.0191
5.3、誤差分析及改善措施
正弦波失真。調節R100K電位器RW4,可以將正弦波的失真減小到1%,若要求獲得接近0.5%失真度的正弦波時,在6腳和11腳之間接兩個100K電位器就可以了。
輸出方波不對稱,改變RW3阻值來調節頻率與占空比,可獲得占空比為50%的方波,電位器RW3與外接電容C一起決定了輸出波形的頻率,調節RW3可使波形對稱。
沒有振盪。是10腳與11腳短接了,斷開就可以了
產生波形失真,有可能是電容管腳太長引起信號干擾,把管腳剪短就可以解決此問題。也有可能是因為2030功率太大發熱導致波形失真,加裝上散熱片就可以了。
5.4、調試結果分析
輸出正弦波不失真頻率。由於後級運放上升速率的限制,高頻正弦波(f>70KHz)產生失真。輸出可實現0.2V步進,峰-峰值擴展至0~26V。
圖1-2
圖 1−7
六、結論
通過本篇論文的設計,使我們對ICL8038的工作原理有了本質的理解,掌握了ICL8038的引腳功能、工作波形等內部構造及其工作原理。利用ICL8038製作出來的函數發生器具有線路簡單,調試方便,功能完備。可輸出正弦波、方波、三角波,輸出波形穩定清晰,信號質量好,精度高。系統輸出頻率范圍較寬且經濟實用。
七、參考文獻
【1】謝自美《電子線路設計.實驗.測試(第三版)》武漢:華中科技大學出版社。2000年7月
【2】楊幫文《新型集成器件家用電路》北京:電子工業出版社,2002.8
【3】第二屆全國大學生電子設計競賽組委會。全國大學生電子設計競賽獲獎作品選編。北京:北京理工大學出版社,1997.
【4】李炎清《畢業論文寫作與範例》廈門:廈門大學出版社。2006.10
【5】潭博學、苗江靜《集成電路原理及應用》北京:電子工業出版社。2003.9
【6】陳梓城《家用電子電路設計與調試》北京:中國電力出版社。2006
3. 正弦信號發生器
波形發生器是一種常用的信號源,廣泛地應用於電子電路、自動控制系統和教學實驗等領域。本次課程設計使用的AT89S51 單片機構成的發生器可產生鋸齒波、三角波、正弦波等多種波形,波形的周期可以用程序改變,並可根據需要選擇單極性輸出或雙極性輸出,具有線路簡單、結構緊湊等優點。在本設計的基礎上,加上按鈕控制和LED顯示器,則可通過按鈕設定所需要的波形頻率,並在LED上顯示頻率、幅值電壓,波形可用示波器顯示。
二、系統設計
波形發生器原理方框圖如下所示。波形的產生是通過AT89S51 執行某一波形發生程序,向D/A轉換器的輸入端按一定的規律發生數據,從而在D/A轉換電路的輸出端得到相應的電壓波形。在AT89S51的P2口接5個按扭,通過軟體編程來選擇各種波形、幅值電壓和頻率,另有3個P2口管腳接TEC6122晶元,以驅動數碼管顯示電壓幅值和頻率,每種波形對應一個按鈕。此方案的有點是電路原理比較簡單,實現起來比較容易。缺點是,采樣頻率由單片機內部產生故使整個系統的頻率降低。
1、波形發生器技術指標
1)波形:方波、正弦波、鋸齒波;
2)幅值電壓:1V、2V、3V、4V、5V;
3)頻率:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;
2、操作設計
1)上電後,系統初始化,數碼顯示6個『-』,等待輸入設置命令。
2)按鈕分別控制「幅值」、「頻率」、「方波」、「正弦波」、「鋸齒波」。
3)「幅值「鍵初始值是1V,隨後再次按下依次增長1V,到達5V後在按就回到1V。
4)「頻率「鍵初始值是10HZ,隨後在按下依次為20HZ、50HZ、100HZ、200HZ、500HZ、1000HZ循環。
三、硬體設計
本系統由單片機、顯示介面電路,波形轉換(D/A)電路和電源等四部分構成。電路圖2附在後
1、單片機電路
功能:形成掃描碼,鍵值識別、鍵處理、參數設置;形成顯示段碼;產生定時中斷;形成波形的數字編碼,並輸出到D/A介面電路和顯示驅動電路。
AT89S51外接12M晶振作為時鍾頻率。並採用電源復位設計。復位電路採用上電復位,它的工作原理是,通電時,電容兩端相當於短路,於是RST引腳上為高電平,然後電源通過對電容充電。RST端電壓慢慢下降,降到一定程序,即為低電平,單片機開始工作。
AT89S51的P2口作為功能按鈕和TEC6122的介面。P1口做為D/A轉換晶元0832的介面。用定時/計數器作為中斷源。不同的頻率值對應不同的定時初值,允許定時器溢出中斷。定時器中斷的特殊功能寄存器設置如下:
定時控制寄存器TCON=20H;
工作方式選擇寄存器TMOD=01H;
中斷允許控制寄存器IE=82H。
2、顯示電路
功能:驅動6位數碼管顯示,掃描按鈕。
由集成驅動晶元TEC6122、6位共陰極數碼管和5個按鈕組成。當某一按鈕按下時,掃描程序掃描到之後,通過P2口將數字信號發送到 TEC6122晶元。TEC6122是一款數字集成晶元。它的外接電壓也是+5V,並且由於數碼管的載壓較小,為了保護數碼管,必須在兩者間接電阻,大約是560歐。
掃描利用軟體程序實現,當某一按鍵按下時,掃描程序立即檢測到,隨後調用子程序,執行相應的功能。
3、D/A電路
功能:將波形樣值的編碼轉換成模擬值,完成雙極性的波形輸出。
由一片0832和兩塊LM358運放組成。DAC0832是一個具有兩個輸入數據寄存器的8位DAC。目前生產的DAC晶元分為兩類,一類晶元內部設置有數據寄存器,不需要外加電路就可以直接與微型計算機介面。另一類晶元內部沒有數據寄存器,輸出信號隨數據輸入線的狀態變化而變化,因此不能直接與微型計算機介面,必須通過並行介面與微型計算機介面。DAC0832是具有20條引線的雙列直插式CMOS器件,它內部具有兩級數據寄存器,完成8位電流D/A轉換,故不需要外加電路。0832是電流輸出型,示波器上顯示波形,通常需要電壓信號,電流信號到電壓信號的轉換可以由運算放大器LM358實現,用兩片LM358可以實現雙極性輸出。
單片機向0832發送數字編碼,產生不同的輸出。先利用采樣定理對各波形進行抽樣,然後把各采樣值進行編碼,的到的數字量存入各個波形表,執行程序時通過查表方法依次取出,經過D/A轉換後輸出就可以得到波形。假如N個點構成波形的一個周期,則0832輸出N個樣值點後,樣值點形成運動軌跡,即一個周期。重復輸出N個點,成為第二個周期。利用單片機的晶振控制輸出周期的速度,也就是控制了輸出的波形的頻率。這樣就控制了輸出的波形及其幅值和頻率。
四、 軟體設計
主程序和子程序都存放在AT89S51單片機中。
主程序的功能是:開機以後負責查鍵,即做鍵盤掃描及顯示工作,然後根據用戶所按的鍵轉到相應的子程序進行處理,主程序框圖如圖1所示。
子程序的功能有:幅值輸入處理、頻率輸入處理、正弦波輸出、鋸齒波輸出、方波輸出、顯示等。
下面是程序
include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit LCP=P2^2;
sbit SCP=P2^1;
sbit SI=P2^0;
sbit S1=P2^3;
sbit S2=P2^4;
sbit S3=P2^5;
sbit S4=P2^6;
sbit S5=P2^7;
sbit DA0832=P3^3;
sbit DA0832_ON=P3^2;
uchar fun=0,b=0,c=0,d=0,tl,th;
uchar code tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code tosin[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5
,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5
,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd
,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda
,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99
,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51
,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16
,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15
,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e
,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 };
void display(unsigned char command)
{
unsigned char i;
LCP=0;
for(i=8;i>0;i--)
{
SCP=0;
if((command & 0x80)==0)
{
SI=0;
}
else
{
SI=1;
}
command<<=1;
SCP=1;
}
LCP=1;
}
void key1(void)
{
fun++;
if(fun==4)
fun=0x00;
}
void key2(void)
{
tl++;
if(tl==0x1f)
th++;
}
void key3(void)
{
tl--;
if(tl==0x00)
th--;
}
void key4(void)
{
double t;
int f;
TR0=0;
t=(65535-th*256-tl)*0.4;
f=(int)(1000/t);
S3=tab[f%10];
f=f/10;
S2=tab[f%10];
f=f/10;
if(f==0)
S1=0;
else
S1=tab[f];
TR0=1;
}
void key5(void)
{
tl--;
if(tl==0x00)
th++;
}
void judge(void)
{
uchar line,row,de1,de2,keym;
P1=0x0f;
keym=P1;
if(keym==0x0f)return;
for(de1=0;de1<200;de1++)
for(de2=0;de2<125;de2++){;}
P1=0x0f;
keym=P1;
if(keym==0x0f)return;
P1=0x0f;
line=P1;
P1=0xf0;
row=P1;
line=line+row; /*存放特徵鍵值*/
if(line==0xde)key1();
if(line==0x7e)key2();
if(line==0xbd)key3();
if(line==0x7d)key4();
}
void time0_int(void) interrupt 1 //中斷服務程序
{
TR0=0;
if(fun==1)
{
DA0832=tosin[b]; //正弦波
b++;
}
else if(fun==2) //鋸齒波
{
if(c<128)
DA0832=c;
else
DA0832=255-c;
c++;
}
else if(fun==3) // 方波
{
d++;
if(d<=128)
DA0832=0x00;
else
DA0832=0xff;
}
TH0=th;
TL0=tl;
TR0=1;
}
void main(void)
{
TMOD=0X01;
TR0=1;
th=0xff;
tl=0xd0;
TH0=th;
TL0=tl;
ET0=1;
EA=1;
while(1)
{
display();
judge();
}
}
五、心得體會
開始的時候由於沒有經驗,不知如何下手,所以就去圖書管找了一些書看,盡管有許多的設計方案,可是總感覺自己還是有許多的東西弄不太清楚,於是就請教同學。他常做一些設計,有一些經驗。經過他的解釋分析各方案之後,決定用查表的方法來做。這樣可以降低一些硬體設計的難度,初次設計應切合自己的水平。用8031需要擴展ROM,這樣還要進行存儲器擴展。而且現在8031實際中已經基本上不再使用,實際用的AT89S51晶元有ROM,這樣把經過采樣得到的數值製成表,利用查表來做就簡單了。我認為程序應該不大,片內ROM應該夠用的。用LED顯示頻率和幅值,現有集成的介面驅動晶元,波形可通過示波器進行顯示,單片機接上D/A轉換晶元即可,這樣硬體很快就搭好了。
我以為這些做好了,構思也有了,寫程序應該是相對容易的。誰知道,寫起程序來,才想到功能鍵要有掃描程序才行呀,我真的感到很難。那時真的有點想放棄?於是就去請教了老師,老師幫忙分析了一下,自己又查閱了一些資料,終於明白了掃描程序怎麼寫。
於是在自己的努力下,程序很快就寫好了。這次是我的第一個設計器件,盡管經歷了不少的艱辛,但給我積累了一點設計的經驗,最後也有點小小的成就感。後面的路還很長,我還的努力!
參考文獻
[1] 童詩白,華成英.模擬電子技術基礎〔M〕.北京:高等教育出版社,2003.345-362
[2] 潘永雄,沙河,劉向陽.電子線路CAD實用教程〔M〕.西安:西安電子科技大學出版社,2001.13-118.
[3] 張毅剛,彭喜源,譚曉昀,曲春波.MCS-51單片機應用設計[M].哈爾濱:哈
爾濱工業大學出版社,1997.53-61.
更多電子問題請關注我!_ceo竭誠為您解答!
4. 函數信號發生器的設計
給樓主一個思路吧,正弦波用運放做,方波用NE555做,三角波方波加一級積分器完成。
5. 基於單片機的多功能信號發生器設計
從網路里找到的,看看對你有沒有用:利用89C51單片機設計多功能低頻函數信號發生器,能產生方波、正弦波、三角波等信號波形,信號的頻率、幅度可變。繪制多功能低頻函數信號發生器的硬體電路的原理圖;繪製程序流程圖。並編寫主要模塊的程序。萬分感激啊。急用,望高人幫忙啊。 提問者:lianghua85228-二級最佳答案波形發生器是一種常用的信號源,廣泛地應用於電子電路、自動控制系統和教學實驗等領域。本次課程設計使用的AT89S51 單片機構成的發生器可產生鋸齒波、三角波、正弦波等多種波形,波形的周期可以用程序改變,並可根據需要選擇單極性輸出或雙極性輸出,具有線路簡單、結構緊湊等優點。在本設計的基礎上,加上按鈕控制和LED顯示器,則可通過按鈕設定所需要的波形頻率,並在LED上顯示頻率、幅值電壓,波形可用示波器顯示。 二、系統設計 波形發生器原理方框圖如下所示。波形的產生是通過AT89S51 執行某一波形發生程序,向D/A轉換器的輸入端按一定的規律發生數據,從而在D/A轉換電路的輸出端得到相應的電壓波形。在AT89S51的P2口接5個按扭,通過軟體編程來選擇各種波形、幅值電壓和頻率,另有3個P2口管腳接TEC6122晶元,以驅動數碼管顯示電壓幅值和頻率,每種波形對應一個按鈕。此方案的有點是電路原理比較簡單,實現起來比較容易。缺點是,采樣頻率由單片機內部產生故使整個系統的頻率降低。 1、波形發生器技術指標 1)波形:方波、正弦波、鋸齒波; 2)幅值電壓:1V、2V、3V、4V、5V; 3)頻率:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ; 2、操作設計 1)上電後,系統初始化,數碼顯示6個『-』,等待輸入設置命令。 2)按鈕分別控制「幅值」、「頻率」、「方波」、「正弦波」、「鋸齒波」。 3)「幅值「鍵初始值是1V,隨後再次按下依次增長1V,到達5V後在按就回到1V。 4)「頻率「鍵初始值是10HZ,隨後在按下依次為20HZ、50HZ、100HZ、200HZ、500HZ、1000HZ循環。 三、硬體設計 本系統由單片機、顯示介面電路,波形轉換(D/A)電路和電源等四部分構成。電路圖2附在後 1、單片機電路 功能:形成掃描碼,鍵值識別、鍵處理、參數設置;形成顯示段碼;產生定時中斷;形成波形的數字編碼,並輸出到D/A介面電路和顯示驅動電路。 AT89S51外接12M晶振作為時鍾頻率。並採用電源復位設計。復位電路採用上電復位,它的工作原理是,通電時,電容兩端相當於短路,於是RST引腳上為高電平,然後電源通過對電容充電。RST端電壓慢慢下降,降到一定程序,即為低電平,單片機開始工作。 AT89S51的P2口作為功能按鈕和TEC6122的介面。P1口做為D/A轉換晶元0832的介面。用定時/計數器作為中斷源。不同的頻率值對應不同的定時初值,允許定時器溢出中斷。定時器中斷的特殊功能寄存器設置如下: 定時控制寄存器TCON=20H; 工作方式選擇寄存器TMOD=01H; 中斷允許控制寄存器IE=82H。 2、顯示電路 功能:驅動6位數碼管顯示,掃描按鈕。 由集成驅動晶元TEC6122、6位共陰極數碼管和5個按鈕組成。當某一按鈕按下時,掃描程序掃描到之後,通過P2口將數字信號發送到 TEC6122晶元。TEC6122是一款數字集成晶元。它的外接電壓也是+5V,並且由於數碼管的載壓較小,為了保護數碼管,必須在兩者間接電阻,大約是560歐。 掃描利用軟體程序實現,當某一按鍵按下時,掃描程序立即檢測到,隨後調用子程序,執行相應的功能。 3、D/A電路 功能:將波形樣值的編碼轉換成模擬值,完成雙極性的波形輸出。 由一片0832和兩塊LM358運放組成。DAC0832是一個具有兩個輸入數據寄存器的8位DAC。目前生產的DAC晶元分為兩類,一類晶元內部設置有數據寄存器,不需要外加電路就可以直接與微型計算機介面。另一類晶元內部沒有數據寄存器,輸出信號隨數據輸入線的狀態變化而變化,因此不能直接與微型計算機介面,必須通過並行介面與微型計算機介面。DAC0832是具有20條引線的雙列直插式CMOS器件,它內部具有兩級數據寄存器,完成8位電流D/A轉換,故不需要外加電路。0832是電流輸出型,示波器上顯示波形,通常需要電壓信號,電流信號到電壓信號的轉換可以由運算放大器LM358實現,用兩片LM358可以實現雙極性輸出。 單片機向0832發送數字編碼,產生不同的輸出。先利用采樣定理對各波形進行抽樣,然後把各采樣值進行編碼,的到的數字量存入各個波形表,執行程序時通過查表方法依次取出,經過D/A轉換後輸出就可以得到波形。假如N個點構成波形的一個周期,則0832輸出N個樣值點後,樣值點形成運動軌跡,即一個周期。重復輸出N個點,成為第二個周期。利用單片機的晶振控制輸出周期的速度,也就是控制了輸出的波形的頻率。這樣就控制了輸出的波形及其幅值和頻率。 四、 軟體設計 主程序和子程序都存放在AT89S51單片機中。 主程序的功能是:開機以後負責查鍵,即做鍵盤掃描及顯示工作,然後根據用戶所按的鍵轉到相應的子程序進行處理,主程序框圖如圖1所示。 子程序的功能有:幅值輸入處理、頻率輸入處理、正弦波輸出、鋸齒波輸出、方波輸出、顯示等。 下面是程序 include <reg51.h> #define uchar unsigned char #define uint unsigned int sbit LCP=P2^2; sbit SCP=P2^1; sbit SI=P2^0; sbit S1=P2^3; sbit S2=P2^4; sbit S3=P2^5; sbit S4=P2^6; sbit S5=P2^7; sbit DA0832=P3^3; sbit DA0832_ON=P3^2; uchar fun=0,b=0,c=0,d=0,tl,th; uchar code tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar code tosin[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5 ,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5 ,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd ,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda ,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99 ,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51 ,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16 ,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15 ,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e ,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 }; void display(unsigned char command) { unsigned char i; LCP=0; for(i=8;i>0;i--) { SCP=0; if((command & 0x80)==0) { SI=0; } else { SI=1; } command<<=1; SCP=1; } LCP=1; } void key1(void) { fun++; if(fun==4) fun=0x00; } void key2(void) { tl++; if(tl==0x1f) th++; } void key3(void) { tl--; if(tl==0x00) th--; } void key4(void) { double t; int f; TR0=0; t=(65535-th*256-tl)*0.4; f=(int)(1000/t); S3=tab[f%10]; f=f/10; S2=tab[f%10]; f=f/10; if(f==0) S1=0; else S1=tab[f]; TR0=1; } void key5(void) { tl--; if(tl==0x00) th++; } void judge(void) { uchar line,row,de1,de2,keym; P1=0x0f; keym=P1; if(keym==0x0f)return; for(de1=0;de1<200;de1++) for(de2=0;de2<125;de2++){;} P1=0x0f; keym=P1; if(keym==0x0f)return; P1=0x0f; line=P1; P1=0xf0; row=P1; line=line+row; /*存放特徵鍵值*/ if(line==0xde)key1(); if(line==0x7e)key2(); if(line==0xbd)key3(); if(line==0x7d)key4(); } void time0_int(void) interrupt 1 //中斷服務程序 { TR0=0; if(fun==1) { DA0832=tosin[b]; //正弦波 b++; } else if(fun==2) //鋸齒波 { if(c<128) DA0832=c; else DA0832=255-c; c++; } else if(fun==3) // 方波 { d++; if(d<=128) DA0832=0x00; else DA0832=0xff; } TH0=th; TL0=tl; TR0=1; } void main(void) { TMOD=0X01; TR0=1; th=0xff; tl=0xd0; TH0=th; TL0=tl; ET0=1; EA=1; while(1) { display(); judge(); } } 五、心得體會 開始的時候由於沒有經驗,不知如何下手,所以就去圖書管找了一些書看,盡管有許多的設計方案,可是總感覺自己還是有許多的東西弄不太清楚,於是就請教同學。他常做一些設計,有一些經驗。經過他的解釋分析各方案之後,決定用查表的方法來做。這樣可以降低一些硬體設計的難度,初次設計應切合自己的水平。用8031需要擴展ROM,這樣還要進行存儲器擴展。而且現在8031實際中已經基本上不再使用,實際用的AT89S51晶元有ROM,這樣把經過采樣得到的數值製成表,利用查表來做就簡單了。我認為程序應該不大,片內ROM應該夠用的。用LED顯示頻率和幅值,現有集成的介面驅動晶元,波形可通過示波器進行顯示,單片機接上D/A轉換晶元即可,這樣硬體很快就搭好了。 我以為這些做好了,構思也有了,寫程序應該是相對容易的。誰知道,寫起程序來,才想到功能鍵要有掃描程序才行呀,我真的感到很難。那時真的有點想放棄?於是就去請教了老師,老師幫忙分析了一下,自己又查閱了一些資料,終於明白了掃描程序怎麼寫。 於是在自己的努力下,程序很快就寫好了。這次是我的第一個設計器件,盡管經歷了不少的艱辛,但給我積累了一點設計的經驗,最後也有點小小的成就感。後面的路還很長,我還的努力! 參考文獻 [1] 童詩白,華成英.模擬電子技術基礎〔M〕.北京:高等教育出版社,2003.345-362 [2] 潘永雄,沙河,劉向陽.電子線路CAD實用教程〔M〕.西安:西安電子科技大學出版社,2001.13-118. [3] 張毅剛,彭喜源,譚曉昀,曲春波.MCS-51單片機應用設計[M].哈爾濱:哈 爾濱工業大學出版社,1997.53-61 在網路里搜搜,還有很多相關的文章。
6. 求函數信號發生器設計
專業:應用電子技術 屆:07屆 姓名:李賢春
摘 要
本系統以ICL8038集成塊為核心器件,製作一種函數信號發生器,製作成本較低。適合學生學習電子技術測量使用。ICL8038是一種具有多種波形輸出的精密振盪集成電路,只需要個別的外部元件就能產生從0.001Hz~30KHz的低失真正弦波、三角波、矩形波等脈沖信號。輸出波形的頻率和占空比還可以由電流或電阻控制。另外由於該晶元具有調制信號輸入端,所以可以用來對低頻信號進行頻率調制。
關鍵詞 ICL8038,波形,原理圖,常用接法
一、概述
在電子工程、通信工程、自動控制、遙測控制、測量儀器、儀表和計算機等技術領域,經常需要用到各種各樣的信號波形發生器。隨著集成電路的迅速發展,用集成電路可很方便地構成各種信號波形發生器。用集成電路實現的信號波形發生器與其它信號波形發生器相比,其波形質量、幅度和頻率穩定性等性能指標,都有了很大的提高。
二、方案論證與比較
2.1·系統功能分析
本設計的核心問題是信號的控制問題,其中包括信號頻率、信號種類以及信號強度的控制。在設計的過程中,我們綜合考慮了以下三種實現方案:
2.2·方案論證
方案一∶採用傳統的直接頻率合成器。這種方法能實現快速頻率變換,具有低相位雜訊以及所有方法中最高的工作頻率。但由於採用大量的倍頻、分頻、混頻和濾波環節,導致直接頻率合成器的結構復雜、體積龐大、成本高,而且容易產生過多的雜散分量,難以達到較高的頻譜純度。
方案二∶採用鎖相環式頻率合成器。利用鎖相環,將壓控振盪器(VCO)的輸出頻率鎖定在所需要頻率上。這種頻率合成器具有很好的窄帶跟蹤特性,可以很好地選擇所需要頻率信號,抑制雜散分量,並且避免了量的濾波器,有利於集成化和小型化。但由於鎖相環本身是一個惰性環節,鎖定時間較長,故頻率轉換時間較長。而且,由模擬方法合成的正弦波的參數,如幅度、頻率 相信都很難控制。
方案三:採用8038單片壓控函數發生器,8038可同時產生正弦波、方波和三角波。改變8038的調制電壓,可以實現數控調節,其振盪范圍為0.001Hz~300KHz。
三、系統工作原理與分析
3.1、ICL8038的應用
ICL8038是精密波形產生與壓控振盪器,其基本特性為:可同時產生和輸出正弦波、三角波、鋸齒波、方波與脈沖波等波形;改變外接電阻、電容值可改變,輸出信號的頻率范圍可為0.001Hz~300KHz;正弦信號輸出失真度為1%;三角波輸出的線性度小於0.1%;占空比變化范圍為2%~98%;外接電壓可以調制或控制輸出信號的頻率和占空比(不對稱度);頻率的溫度穩定度(典型值)為120*10-6(ICL8038ACJD)~250*10-6(ICL8038CCPD);對於電源,單電源(V+):+10~+30V,雙電源(+V)(V-):±5V~±15V。圖1-2是管腳排列圖,圖1-2是功能框圖。8038採用DIP-14PIN封裝,管腳功能如表1-1所示。
3.2、ICL8038內部框圖介紹
函數發生器ICL8038的電路結構如圖虛線框內所示(圖1-1),共有五個組成部分。兩個電流源的電流分別為IS1和IS2,且IS1=I,IS2=2I;兩個電壓比較器Ⅰ和Ⅱ的閾值電壓分別為 和 ,它們的輸入電壓等於電容兩端的電壓uC,輸出電壓分別控制RS觸發器的S端和 端;RS觸發器的狀態輸出端Q和 用來控制開關S,實現對電容C的充、放電;充點電流Is1、Is2的大小由外接電阻決定。當Is1=Is2時,輸出三角波,否則為矩尺波。兩個緩沖放大器用於隔離波形發生電路和負載,使三角波和矩形波輸出端的輸出電阻足夠低,以增強帶負載能力;三角波變正弦波電路用於獲得正弦波電壓。
3.3、內部框圖工作原理
★當給函數發生器ICL8038合閘通電時,電容C的電壓為0V,根據電壓比較器的電壓傳輸特性,電壓比較器Ⅰ和Ⅱ的輸出電壓均為低電平;因而RS觸發器的 ,輸出Q=0, ;
★使開關S斷開,電流源IS1對電容充電,充電電流為
IS1=I
因充電電流是恆流,所以,電容上電壓uC隨時間的增長而線性上升。
★當上升為VCC/3時,電壓比較器Ⅱ輸出為高電平,此時RS觸發器的 ,S=0時,Q和 保持原狀態不變。
★一直到上升到2VCC/3時,使電壓比較器Ⅰ的輸出電壓躍變為高電平,此時RS觸發器的 時,Q=1時, ,導致開關S閉合,電容C開始放電,放電電流為IS2-IS1=I因放電電流是恆流,所以,電容上電壓uC隨時間的增長而線性下降。
起初,uC的下降雖然使RS觸發的S端從高電平躍變為低電平,但 ,其輸出不變。
★一直到uC下降到VCC/3時,使電壓比較器Ⅱ的輸出電壓躍變為低電平,此時 ,Q=0, ,使得開關S斷開,電容C又開始充電,重復上述過程,周而復始,電路產生了自激振盪。
由於充電電流與放電電流數值相等,因而電容上電壓為三角波,Q和 為方波,經緩沖放大器輸出。三角波電壓通過三角波變正弦波電路輸出正弦波電壓。
結論:改變電容充放電電流,可以輸出占空比可調的矩形波和鋸齒波。但是,當輸出不是方波時,輸出也得不到正弦波了。
3.4、方案電路工作原理(見圖1-7)
當外接電容C可由兩個恆流源充電和放電,電壓比較器Ⅰ、Ⅱ的閥值分別為總電源電壓(指+Vcc、-VEE)的2/3和1/3。恆流源I2和I1的大小可通過外接電阻調節,但必須I2>I1。當觸發器的輸出為低電平時,恆流源I2斷開,恆流源I1給C充電,它的兩端電壓UC隨時間線性上升,當達到電源電壓的確2/3時,電壓比較器I的輸出電壓發生跳變,使觸發器輸出由低電平變為高電平,恆流源I2接通,由於I2>I1(設 I2=2I1),I2將加到C上進行反充電,相當於C由一個凈電流I放電,C兩端的電壓UC又轉為直線下降。當它下降到電源電壓的1/3時,電壓比較器Ⅱ輸出電壓便發生跳變,使觸發器輸出為方波,經反相緩沖器由引腳9輸出方波信號。C上的電壓UC,上升與下降時間相等(呈三角形),經電壓跟隨器從引腳3輸出三角波信號。將三角波變為正弦波是經過一個非線性網路(正弦波變換器)而得以實現,在這個非線性網路中,當三角波的兩端變為平滑的正弦波,從2腳輸出。
其中K1為輸出頻段選擇波段開關,K2為輸出信號選擇開關,電位器W1為輸出頻率細調電位器,電位器W2調節方波占空比,電位器W3、W4調節正弦波的非線性失真。
圖1-1
3.5、兩個電壓比較器的電壓傳輸特性如圖1-4所示。
圖1-4
3.6、常用接法
如圖(1-2)所示為ICL8038的引腳圖,其中引腳8為頻率調節(簡稱為調頻)電壓輸入端,電路的振盪頻率與調頻電壓成正比。引腳7輸出調頻偏置電壓,數值是引腳7與電源+VCC之差,它可作為引腳8的輸入電壓。
如圖(1-5)所示為ICL8038最常見的兩種基本接法,矩形波輸出端為集電極開路形式,需外接電阻RL至+VCC。在圖(a)所示電路中,RA和RB可分別獨立調整。在圖(b)所示電路中,通過改變電位器RW滑動的位置來調整RA和RB的數值。
圖1-5
當RA=RB時,各輸出端的波形如下圖(a)所示,矩形波的占空比為50%,因而為方波。當RA≠RB時,矩形波不再是方波,引腳2輸出也就不再是正弦波了,圖(b)所示為矩形波占空比是15%時各輸出端的波形圖。根據ICL8038內部電路和外接電阻可以推導出占空比的表達式為
故RA<2RB。
為了進一步減小正弦波的失真度,可採用如圖(1-6)所示電路,電阻20K與電位器RW2用來確定8腳的直流電壓V8,通常取V8≥2/3Vcc。V8越高,Ia、Ib越小,輸出頻率越低,反之亦然。RW2可調節的頻率范圍為20HZ20~KHZ。V8還可以由7腳提供固定電位,此時輸出頻率f0僅有Ra、Rb及10腳電容決定,Vcc採用雙對電源供電時,輸出波形的直流電平為零,採用單對電源供電時,輸出波形的直流電平為Vcc/2。兩個100kΩ的電位器和兩個10kΩ電阻所組成的電路,調整它們可使正弦波失真度減小到0.5%。在RA和RB不變的情況下,調整RW2可使電路振盪頻率最大值與最小值之比達到100:1。在引腳8與引腳6之間直接加輸入電壓調節振盪頻率,最高頻率與最低頻率之差可達1000:1。
3.7、實際線路分析
可在輸出增加一塊LF35雙運放,作為波形放大與阻抗變換,根據所選擇的電路元器件值,本電路的輸出頻率范圍約10HZ~20KHZ;幅度調節范圍:正弦波為0~12V,三角波為0~20V,方波為0~24V。若要得到更高的頻率,還可改變三檔電容的值。
圖1-6
表 1-1 ISL8038管腳功能
管 腳 符 號 功 能
1,12 SINADJ1,SINADJ2 正弦波波形調整端。通常SINADJ1開路或接直流電壓,
SINADJ2接電阻REXT到V-,用以改善正弦波波形和減小失真。
2 SINOUT 正弦波輸出
3 TRIOUT 三角波輸出
4,5 DFADJ1,DFADJ2 輸出信號重復頻率和占空比(或波形不對稱度)調節端。通常DFADJ1端接電阻RA到V+,DFADJ2端接RB到V+,改變阻值可調節頻率和占空比。
6 V+ 正電源
7 FMBIAS 調頻工作的直流偏置電壓
8 FMIN 調頻電壓輸入端
9 SQOUT 方波輸出
10 C 外接電容到V-端,用以調節輸出信號的頻率與占空比
11 V- 負電源端或地
13,14 NC 空腳
四、製作印刷電路板
首先,按圖製作印刷電路板,注意不能有斷線和短接,然後,對照原理圖和印刷電路板的元件而進行元件的焊接。可根據自己的習慣並遵循合理的原則,將面板上的元器件安排好,盡量使連接線長度減少,變壓器遠離輸出端。再通電源進行調試,調整分立元件振盪電路放大元件的工作點,使之處於放大狀態,並滿足振幅起振條件。仔細檢查反饋條件,使之滿足正反饋條件,從而滿足相位起振條件。
製作完成後,應對整機進行調試。先測量電源支流電壓,確保無誤後,插上集成快,裝好連接線。可以用示波器觀察波形發出的相應變化,幅度的大小和頻率可以通過示波器讀出 。
五、系統測試及誤差分析
5.1、測試儀器
雙蹤示波器 YB4325(20MHz)、萬用表。
5.2、測試數據
基本波形的頻率測量結果
頻率/KHz
正弦波 預置 0.01 0.02 2 20 50 100
實測 0.0095 0.0196 2.0003 20.0038 50.00096 100.193
方波 預置 0.01 0.02 2 20 50
實測 0.095 0.0197 1.0002 2.0004 20.0038
三角波 預置 0.01 0.02 1 2 20 100
實測 0.0095 0.0196 1.0002 2.0004 20.0038 100.0191
5.3、誤差分析及改善措施
正弦波失真。調節R100K電位器RW4,可以將正弦波的失真減小到1%,若要求獲得接近0.5%失真度的正弦波時,在6腳和11腳之間接兩個100K電位器就可以了。
輸出方波不對稱,改變RW3阻值來調節頻率與占空比,可獲得占空比為50%的方波,電位器RW3與外接電容C一起決定了輸出波形的頻率,調節RW3可使波形對稱。
沒有振盪。是10腳與11腳短接了,斷開就可以了
產生波形失真,有可能是電容管腳太長引起信號干擾,把管腳剪短就可以解決此問題。也有可能是因為2030功率太大發熱導致波形失真,加裝上散熱片就可以了。
5.4、調試結果分析
輸出正弦波不失真頻率。由於後級運放上升速率的限制,高頻正弦波(f>70KHz)產生失真。輸出可實現0.2V步進,峰-峰值擴展至0~26V。
圖1-2
圖 1−7
六、結論
通過本篇論文的設計,使我們對ICL8038的工作原理有了本質的理解,掌握了ICL8038的引腳功能、工作波形等內部構造及其工作原理。利用ICL8038製作出來的函數發生器具有線路簡單,調試方便,功能完備。可輸出正弦波、方波、三角波,輸出波形穩定清晰,信號質量好,精度高。系統輸出頻率范圍較寬且經濟實用。
七、參考文獻
謝自美《電子線路設計.實驗.測試(第三版)》武漢:華中科技大學出版社。2000年7月
楊幫文《新型集成器件家用電路》北京:電子工業出版社,2002.8
第二屆全國大學生電子設計競賽組委會。全國大學生電子設計競賽獲獎作品選編。北京:北京理工大學出版社,1997.
李炎清《畢業論文寫作與範例》廈門:廈門大學出版社。2006.10
潭博學、苗江靜《集成電路原理及應用》北京:電子工業出版社。2003.9
陳梓城《家用電子電路設計與調試》北京:中國電力出版社。2006
7. 有關正弦信號發生器的畢業論文
基於EDA的信號發生器與數字濾波器設計
班級: 姓名: 學號:
摘 要:使用直接驅動的直線電機,能把控制對象和電機做成一體化結構,在精度、快速性、耐久性等方面具有明顯的優勢。用DSP作為控制器對紡織機械電子橫移系統的電子凸輪機構進行實用設計,採用電流環、速度環的雙閉環控制電極位置和速度,用先進的SVPWM控制演算法對參數進行反復優化,使伺服系統達到更好的效果和更高的性價比。
關鍵詞:電子凸輪;DSP控制;直線電機;PWM
0 引言
改進紡織機械電子橫移系統的直線進給控制可採用電子凸輪系統,而通常直線運動是由交流旋轉電機和傳動帶、齒條及齒輪機構組合來完成的。使用直接驅動的直線電機,能把控制對象和電機做成一體化結構,這與普通的旋轉電機相比,在精度、快速性、耐久性等方面具有明顯的優勢。直線伺服電機是將輸入信號電壓轉變為動子的位移或速度的輸出,動子的行程方向和速度的大小隨信號電壓的方向和大小的變化而變化,並能帶動一定大小的負載[1]。永磁同步直線電機的速度與PWM的頻率始終保持准確的同步關系,控制PWM的頻率就能控制電機的速度。選用DSP控制能使伺服系統達到更好的效果和更高的性價比,對電子凸輪的進給伺服系統進行研究與設計具有很好的實用價值。
1 系統結構設計
系統結構設計以DSP為核心其框圖如圖1所示。
圖1 系統結構框圖
Fig.1 Architecture chart of system
以DSP控制為核心構成三相同步直線電機控制系統。採用雙閉環空間矢量控制達到伺服系統高精度、高速度、高響應的要求[2]。直線電機電樞電流通過霍爾電流感測器檢測,經過電流反饋處理電路後,送入DSP的ADC轉換口;利用光柵尺輸出兩路相位相差90°的正交信號到QEP,通過對兩路信號的上升沿和下降沿檢測生成四倍頻信號,從四倍頻信號的頻率得到直線電機的速度。速度給定值與速度反饋值的偏差作為數字速度控制器的輸入,經過運算處理後得到電流給定電壓,再與電流反饋產生的反饋電壓作偏差,得到差值作為數字電流控制器的輸入,經過運算處理後得到控制電壓。由軟體來生成六路帶死區的SPWM信號,經過光電隔離整形電路,分別加到功放前置驅動晶元的高低輸入端。然後驅動橋式逆變電路中三組IGBT管,產生有規律的單極性電壓,加在三相直線電動機線圈上,通過調節PWM占空比,從而控制直線電機的位移與速度。
2 控制系統的硬體實現
2.1 電機供電電路實現
直線同步電動機採用哈爾濱泰富電氣有限公司的XY1809B-4.5扁平型直線電機。電機供電採用交-直-交電壓型PWM逆變器,將三相交流(380V,50Hz)經整流與逆變後供給直線電機。整流器採用集成的三相全波二極體整流橋模塊,逆變器所用的電子開關採用全控型電力電子器件。其整流逆變電路如圖2所示。
圖2 三相整流橋式逆變電路
Fig.2 bridge inverter circuit of three-phase rectifier
2.2 電機位置檢測實現
系統使用直線光柵感測器進行電機位置檢測,採用德國JENA公司生產的JENA LIE52PLXFDO 型光柵尺,其測量精度為1μm,速度為4.8m/s,直線電機的同步速度為4.5m/s。光柵位置檢測裝置由光源、兩塊光柵(長光柵、短光柵)和光敏元件等組成,它是通過將長光柵和短光柵之間的位移放大為莫爾條紋的移動來進行檢測的。將長光柵安裝在直線電動機的次級上作為標尺光柵,短光柵裝在直線電機的初級作為指示光柵,兩塊光柵互相平行並保持一定的間隙(如0.05mm或0.1mm等),而兩塊光柵的刻線密度相同。
如果將指示光柵在其自身的平面內轉過一個很小的角度θ,這樣兩光柵的刻線機交,則在相交處出現黑色條紋,稱為莫爾條紋[3]。由於兩塊光柵的刻線密度相等,即柵距W相等,而產生的莫爾條紋的方向和光柵刻線方向大致垂直,所以當θ很小時,其條紋間距B和光柵柵距W及2條光柵刻線夾角關系為:
(1)
當光柵相對移動時,莫爾條紋將沿著刻線方向移動。光柵移動一個柵距,莫爾條紋也移動一個間距B,同時,在指示光柵上的光敏元件接收到一次光脈沖的照射,並相應輸出1個電脈沖。通過計數電脈沖的數目,就可以測量標尺光柵的位移x,即:
(2)
式中 i—— 脈沖個數,因此檢測實際上就是對光柵輸出的脈沖個數進行計數。
TMS320LF2407A有兩個事件管理器模塊,每個事件管理器模塊都有一個正交編碼脈沖(Quadrature Encoded Pulses,QEP)電路[4]。該電路被使能後,可以對引腳CAP1/QEP1和CAP2/QEP2(對於EVA模塊)或CAP4/QEP3和CAP5/QEP4(對於EVB模塊)上輸入的正交編碼脈沖信號進行解碼和計數。正交編碼脈沖電路用於連接光柵尺輸出的正交編碼脈沖信號,實現對直線電動機的位移快速可靠地進行檢測。
其位移信號檢測電路如圖3所示。
圖3 直線位移檢測電路
Fig.3 displacement detection circuit of linear
2.3 電流檢測實現
採用維博電子有限責任公司的WBI414電流感測器作為電流檢測裝置,由於三相繞組採用的是星形連接,中點懸空,也就是說,電流的3個變數不完全獨立,只要知道其中兩個,設為Ia和Ib,另一個變數Ic就可以算出:
(3)
因而實現電動機相電流的精確檢測,只需兩路檢測電路,將Ia和Ib的電流值經轉換後分別送往DSP的ADCIN0和ADCIN1,其繞組相電流檢測電路如圖4所示。
圖4繞組相電流檢測電路
Fig.4 current detection circuit of winding phase
3 控制系統的軟體實現
在軟體上系統採用了交流電動機常用的空間矢量控制演算法,利用DSP的高速數字處理能力產生SVPWM波形,包含系統主程序、相電流檢測模塊、CLARKE變換模塊、電流環的PI控制模塊、速度環的PI控制模塊、PARK變換、PARK逆變換、光柵尺脈沖計數模塊、旋轉角度正弦函數表、空間矢量SPWM波的發生模塊。
系統首先對DSP控制系統進行初始化工作;然後設置允許中斷INT1、INT2和INT3,其中INT1隻在PDPINT有效時被激活,INT3響應光柵感測器的零標記脈沖,INT2在Timer1計數溢出時響應,執行系統的進給控制模塊;此外還要進行一些運行參數和控制循環的標記的設置;最後就進入後台等待狀態,隨時響應各中斷,運行中斷服務程序。
DSP控制器中的全比較單元將負責產生控制脈沖信號,並送到電動機驅動模塊上。以10KHz的頻率產生對稱SPWM波,以TIMER1作為時基,采樣時間T設為100μs。用到兩個中斷:一個為T1的下溢中斷,另一個為CAP/QEP中斷。電流采樣頻率為10kHz,速度采頻率為1kHz,DSP外圍設備為Timer1、Timer2、ADC(2通道)、PWM1~6、Capture3、QEP。其控制系統主程序流程圖如圖5所示。
Fig.5 Flow chart of control system main program
(軟體源程序及模擬)
4 結束語
本文以TI公司生產的TMS320LF2407A作為DSP控制器,對紡織機械電子橫移系統的電子凸輪機構進行了實用設計。系統充分利用直線電機的優點,採用電流環、速度環的雙閉環控制電極的位置和速度,先進的SVPWM控制演算法對參數進行反復優化,使系統達到預期的位移控制精度和頻率響應,並且在紡織機械電子橫移系統上運行可靠。
參考文獻:
[1] 朱成慶,伍宗富等.機電一體化概論[M].太原:山西科學技術出版社,2003.
[2] 錢平.伺服系統[M].北京:機械工業出版社,2005.
[3] 秦繼榮,沈安俊. 現代直流伺服控制技術及其系統設計[M]. 北京: 機械工業出版社,1993
[4] 劉和平,嚴利平,張學鋒,卓清鋒. TMS320LF240XDSP結構、原理及應用[M] . 北京:北京航空航天大學出版社, 2002.
8. 函數信號發生器課程設計
方案三:用單片集成函數發生器5G8038
可行性分析:
上面三種方案中,方案一與方案二中三角波——正弦波部分原理雖然不一樣,但是他們有共通的地方就是都要認為地搭建波形變換的電路圖。而方案三採用集成晶元使得電路大大簡化,但是由於實驗室條件和成本的限制,我們首先拋棄的是第三種方案,因為它是犧牲了成本來換取的方便。其次是對方案一與方案二的比較,方案一中用的是電容和電阻運放和三極體等電器原件,方案二是用的二極體、電阻、三極體、運放等電器原件,所以從簡單而且便於購買的前提出發我們選擇方案一為我們最終的設計方案。
1.4參數的確定
1、 從電路的設計過程來看電路分為三部分:①正弦波部分②方波部分③三角波部分
2、 正弦波部分
由於我們選取差分放大電路對三角波——正弦波
進行變換,首先要完成的工作是選定三極體,我
們現在選擇KSP2222A型的三極體,其靜態曲線圖
像如右圖所示。
根據KSP2222A的靜態特性曲線,選取靜態
工作區的中心
由直流通路有:
20 k
k
因為靜態工作點已經確定,所以靜態電流變成已知。根據KVL方程可計算出鏡像電流源中各個電阻值的大小:
可得
3、 方波部分與三角波部分參數的確定
根據性能指標可知
由 ,可見f與c成正比,若要得到1Hz~10Hz,C為10 。10Hz~100Hz,C為1 。
則 =7.5k ~75k ,則 =5.1k
則 =2.4k 或者 =69.9 k
∴ 取100 k
∵
由輸出的三角形幅值與輸出方波的幅值分別為5v和14v,有
=
∴ =10k
則 ≈47 k , =20 k
根據方波的上升時間為兩毫秒,查詢運算放大器的速度,可以選擇74141型號的運放。
由此可得調整電阻:
七、實務圖的焊接和調試
1、按照方案一的電路圖焊接好電路板。
2、調試前,將電路板接入±12伏電壓,地線與電源處公共地線連接.
(1)頻率范圍:
為便於測量,將電路板上的方波信號接入示波器,並合上C1=10
9. 數字頻率合成信號發生器
http://www.xuehi.com/docs/196210.html 畢業論文-基於DDS數字頻率合成信號發生器,正文共28頁,15120字,附任務書、開題報告、中期檢查表、英文翻譯。 摘要 本文主要介紹了DDS(直接數字頻率合成器)晶元AD7008的結構、功能和信號發生器的設計,給出了硬體電路和軟體流程。降低了系統的設計規模,減少了系統對邏輯資源的需求,與一般的頻率合成器相比較具有高頻率、高精度的主要特點,且控制靈活方便,具有廣闊的應用前景。 關鍵詞:DDS,頻率合成器,信號發生器 1 緒論 1 1.1 本課題選題的目的和意義 1 1.2 頻率合成器的發展過程 1 1.3 頻率合成器的實現 2 1.4 信號發生器簡介 2 1.4 國內發展現狀及展望未來 3 2 DDS介紹 4 2.1 DDS工作原理分析 4 2.2 DDS的性能分析 5 2.3 DDS實際應用 5 3 信號發生器的設計 8 3.1 總體方框圖 8 3.2 信號發生器的硬體設計 8 3.3 電路設計介紹 9 3.3.1 DDS晶元AD7008 9 3.3.2 單片機控制部分 10 3.3.3 濾波器 13 3.3.4 晶體振盪器 15 3.4 頻率合成信號發生器的軟體設計 17 結束語 17 致謝18 參考文獻 18 附錄一 匯編程序 20