第一篇:簡易函數信號發生器設計.doc
摘 要
本方案主要用集成運放LM324和74HC04等元器件設計組成一個簡易函數信號發生器。該函數信號發生器主要由振蕩電路、模擬比較器電路、二階RC有源低通濾波器電路和反相放大器電路等四部份組成。
振蕩電路形成方波,再經模擬比較器電路升高幅度完成輸出;二階RC有源低通濾波器電路形成正弦波,再經過電位器實現1~12V可調。由此構成了一個簡易的函數信號發生器。
本實驗主要通過使用Orcad、DXP軟件等完成電路的軟件設計。
目 錄 方案比較與選擇(須詳細闡述創新點或新見解)························· 3 2 電路分析與仿真················································································ 5 3電路板制作、焊接、調試 ······························································· 11 3.1 軟件制作 ················································································ 11 3.2 硬件制作 ················································································ 13 3.3 電路板調試 ··········································································· 14 4討論及進一步研究建議 ··································································· 18 5課程設計心得 ·················································································· 18 6 Abstract ····························································································· 19 7參考文獻 ·························································································· 20
一、方案分析:
方案一:
方案
二、R3U1A1274HCT04R2R165k6.5kC150nvoR5210kLM324-1U2A274HCT043voVCC310k10kVCC1U3A+V+4R40OUTV-1R620kvo1VCC211R7C2100nR8vo11k1kC3R93VCC1U4A41k0V++OUT-V-1vo2C4vo3R1210kR13vo310kR14210kLM3243VCC1U7A+4V+0100n2LM324100nOUT-V-1Vo4VCC211R100VCC2R172kR112kVCC1VCC2V2-9Vdc5VdcVCC3V340k0R16112k009VdcV10
以上就是我們所查閱到的兩個方案,對于方案一,此方案對比方案二,增加了由方波轉 變為三角波部分,而且使用電位器來分壓,方波--三角波部分主要是同一個積分器和一 個比較器組成的.積分器部分中的RC可以調整三角波的頻率,而比較器部分可以調整三角
波的幅值,理論上存在很大的優越性,但經過仿真,卻發現輸出波形失真較大,跟理論有較大差別,而反復調試后沒能改正,于是轉向執行方案二,方案二雖然少了三角波部分,但經仿真,輸出波形比較接近理想正弦波,而且此方案簡單明了,各部分功能清晰,更易于操作。故最終選擇方案二。
二、電路分析與仿真
1、多諧振蕩器
由CMOS門電路組成的多諧振蕩器主要是利用RC電路的充放電特性來實現,以獲得所需要的振蕩頻率.方波電路圖
0—5v仿真圖如下
參數確定:
因為VDD=5V,74HCT04的輸入高電平為3.5V,所以對于第一暫穩態(電壓為0時)T1=R2*C1*㏑[VDD/(VDD-Vth)],第二暫穩態T2=R2*C1*㏑(VDD/Vth),T=T1+T2≈R2*C1*㏑4≈1.4*RC.又由f=1KHZ,f=1/T得,f=1/(1.4R2*C1).設C1=100nF,則可求得R2≈7.2K.2、比較器
比較器主要由LM324構成,VCC3=5V,R3=R4=10K,起到分壓作用,因此3腳的電壓為2.5V,當0—5V方波由2腳進入時,高于2.5V時1腳輸出+5V,低于2.5V時1腳輸出-5V,因此得到±5V方波.參數選擇適合的即可.比較器
±9v仿真圖
3、二階低通濾波器
二階低通濾波器由LM324和R,C組成,設置它的頻率為1.5KHZ,則它的功能是從0到1.5KHZ的低頻信號,而對大于1.5KHZ的所有頻率則完全衰減.C4作用是過濾正弦波里的直流電壓.參數確定:
f=1/(2*3.14*RC)=1.5KHZ,設C=100nF,則可求得R≈1K.因為增益A=1+R10/R11=2,所以取R10=R11=2K.二階低通濾波器電路圖
仿真圖
4、反相比例放大器
對上述濾波器得到的正弦波進行放大或縮小,因為vo4=-(R16/R14)*vo3,所以R16/R14比例變化,vo4峰峰值就能由1伏調至12伏。
反相比例放大器電路圖
仿真圖
幅頻響應
相頻響應
三、板制作、焊接、調試 3.1、軟件制作
1、繪制原理圖
1).打開DXP軟件,選擇FILE,NEW,PCB PROJECT,新建一個項目文件,保存新建的項目文件,在項目文件中新建原理圖文件和PCB文件,保存新建的原理圖文件和PCB文件。
2).畫出下面的原理圖(圖3.1)。
圖3.1
3).雙擊各元件,更改數值,并通過【Tools】菜單【Annotate】命令來自動編號,校正原理圖。
2、生成PCB圖
1).在KEEP-OUT LAYER 層畫出電氣邊界,在Mechanicall層畫出機械邊界。
2).原理圖的元器件連接表的載入,打開原理圖,打開【Design】菜單中的【Update pcb document?】命令,將PCB導入到PCB文件中。3).元器件布局,按照走線最短的原則放置元件的位置。
4).設定布線規則,步驟是在電氣邊界內部右擊,選擇【Design】/[Rules?]打開設置對話框設置相應的選項。
5).布線:先設定為制作單層板,然后使用【Auto Route】菜單中的【All】進行自動布線,打開對話框后,點擊右下角的Route All按鈕即可。但自動布線一般是不能達到最佳效果的,所以自動布線只是有一個大概的模型,之后還要經過手工調整才能達到想要的效果。
6)、最后做成PCB圖如下所示:
3、在DXP中遇到的問題:
1)、布線沒有調整線的寬度,用默認的0.25mm的線,但有些同學改為了0.5mm的線打印出來還是很細,這樣腐蝕的時候就有可能斷掉,所以我們最后又重新把每一根線改為了1mm。
2)、畫圖的時候沒有注意焊盤的大小,雖然打印之前有逐一加大,但由于一開始沒有考慮到線與焊盤之間的關系,以至于有些線與焊盤靠得太近,所以不能改太大,所以最后打印出來有些焊盤還是偏小。
3)、沒有注意元器件的封裝問題。我們一開始電容用的封裝是RAD0.3,這個封裝兩個針腳之間可以穿越一條線,這與實物不相符。再用回RAD0.1封裝時,兩個針腳之間不穿越
線,所以也得重新布局。封裝可以在原理圖上改,也可以在PCB圖里改。
4)、畫線之前忘記設定為單層板,以至于畫出來的線有一部分是紅色的,后來改為只選取bottom layer,畫出來的線就全部是藍色的了。
5)、用自動布線的時候,系統有些線是重連的,就如地線是經常重連的,我們只需要一條線都共地就可以了;有些線是布置得密,我們就把那些線分開一點。以免敷銅時線會接在一起短路。
3.2、硬件制作
電路板的制作共分為四個部份:
第一、用熱敏紙打印DXP電路圖。
第二、將用熱敏紙打印出來的DXP電路圖印在電路板上。首先把用沙紙磨擦過的電路板(能更好地吸碳粉)對準熱敏紙電路圖封裝好,盡量貼緊,然后放進封塑機進行封塑,封塑機的溫度要保持在恒溫150攝氏度,封塑過程要進行十幾個來回,以保證熱敏紙上的電路圖形態的碳粉能盡量多地印在電路板上。這個過程要持有一定的耐心。有些同學在加熱的時候把封塑機上加熱/冷悼的健打到冷悼上,以至于雖然進行了二十多個來回,但最后也只是把一部分電路印在了電路板上,既浪費了時間,也浪費了電路板。
第三、電路板去銅。這個過程首先必須要注意安全。首先是調配溶液,溶液總量以剛沒盤底為宜,以節省材料。所用的水、過氧化氫、鹽酸的比例是2:1:1,但如果要爭取時間也可以適當加多鹽酸和過氧化氫的量,調配好溶液后,輕輕地把印有電路圖的電路板放進去,然后觀察板上銅的反應直至除碳粉覆蓋的銅外全部銅都反應溶解完全。看到銅被溶解完之后就拿去用清水洗干凈。在這一過程中還要注意手套是否穿了。
第四、打孔。這一步也具有一定的危險性,指導老師反復強調要注意安全。打孔時,固定好電路板,先將鉆頭對準電路板上的需要打孔的點,然后用手操作控制桿快速往下壓,這樣就可以。在打孔之前最后先調好鉆頭的轉速,打快或太慢都不好。這一步要極具耐心與細心,否則容易出事故導致前功盡棄。
電路板的制作也就完成了,接下來就到了電路板的焊接。首先,測試好元器件的值,然后對照電路圖對號入座,由于我們的布線比較細,所以在焊接的過程中一定要小心,否則很容易就會發生短路現象。
3.3電路板調試
電路板的制作與焊接都完成后,就到了電路的調試過程。連接電源,這一過程可先用萬用表測量給出是否為±9V,連到器件上的時候千萬不要接錯工作電壓,不然會燒掉運放LM324。
1、觀察給+5V的方波輸出:示波器一端接多諧振蕩器輸出測試點,一端接地;觀察輸出波形如圖
3.1,該圖為為輸出幅度+5V
方波。
圖3.1
2、觀測±9V的方波輸出:將示波器另一端接比較器輸出點,這個主要是觀測幅度是否達到±9V。如圖3.2:
圖3.2
4、最后觀測輸出波:經濾波放大后 如圖3.3
圖3.3
最后,因為我們用是電位器分壓,而實際給出的正弦波與仿真時的Vpp相差較多,仿真時可以達到Vpp=14V,而實際出來的只是9V,最后因為實際與仿真相差過大,從而用電位器不能分到12V,這是本電路的一個缺點。
四、討論及進一步研究建議
本設計雖然最終實現了正弦波形的輸出,但仍存在較大的不足,尤其是多諧振蕩器輸出的方波不能實現占空比的調整,這就使最后輸出的正弦波形的可調性產生了很大的局限性,這對一個函數信號發生器而言顯然是個很大的缺陷,但由于在設計過程中的疏忽而最終沒能實現這一功能,實在是一大敗筆。另外,對于方案一中的電路,雖然我們不知什么原因沒能通過仿真而最終舍棄了,但理論上確實存在著很大的可行性,尤其是三角波部分的電路,相當于一個過渡,使得方波到正弦波的轉換更加自然,最終輸出的波形當然就更加接近正弦波了,所以如果在我們的電路上再加上調節占空比與三角波電路的部分將使電路更加理想。
五、課程設計心得
通過對函數信號發生器的設計,我深刻認識到了“理論聯系實際”的這句話的重要性與真實性。而且通過對此課程的設計,我不但知道了以前不知道的理論知識,而且也鞏固了以前知道的知識。最重要的是在實踐中理解了書本上的知識,明白了學以致用的
真諦。也明白老師為什么要求我們做好這個課程設計的原因。他是為了教會我們如何運用所學的知識去解決實際的問題,提高我們的動手能力。在整個設計到電路的焊接以及調試過程中,我個人感覺調試部分是最難的,因為你理論計算的值在實際當中并不一定是最佳參數,我們必須通過觀察效果來改變參數的數值以期達到最好。而參數的調試是一個經驗的積累過程,沒有經驗是不可能在短時間內將其完成的,而這個可能也是老師要求我們加以提高的一個重要方面吧!另外也學到了團隊協作的重要性,在整個設計過程中,正是因為我們各位隊員分工合作,攜手合力,最終才能在規定的時間內順利的完成了任務。雖然完成的結果仍然存在著種種的不如人意,但我們確實在實踐過程中受益匪淺。
―
參考文獻
[1].康華光,陳大欽等。電子技術基礎數字部份(第四版)。高等教育出版社。2006.4:355~356。
[2].康華光,鄒壽彬等。電子技術基礎模擬部份(第四版)。高等教育出版社。2006.4:370~371。
[3].謝自美,電子線路設計.實驗.測試(第二版)。華中科技出版社。2000.7 ISBN7-5609-2166-3
第二篇:簡易信號發生器設計
《單片機原理及應用》課程設計任務書 課程設計題目:簡易信號發生器設計
一、設計目的和要求
(一)、設計目的通過設計簡易信號發生器,完成系統設計、編碼、調試及維護工作的實踐,了解單片機應用系統的一般設計思路,熟悉和掌握硬件系統和軟件設計的一般方法。
(二)、設計要求
1.設定功能:能通過按鍵設定信號類型、頻率
2.顯示功能:通過數碼管或液晶顯示當前波形類型和頻率。
3.計數功能:能設定自動輸出多少個周期該波形后停止輸出,直到再次按下觸發按鈕
二、設計內容及步驟
1.系統分析,完成系統分析報告
2.根據的系統結構圖、課程實驗,查閱資料,確定系統各個模塊的譯碼電路和地址范圍以及其它硬件型號,詳細畫出系統硬件原理圖。
3.程序流程圖,編制程序。
4.調試修改顯示子模塊、鍵盤掃描子模塊、定時器中斷子模塊和主程序
5.編寫課程設計報告
內容包括:題目、摘要、目錄、正文、結論、致謝、參考文獻等。學生在完成上述全部工作之后,應將全部內容以先后順序寫成設計報告一份,闡述整個設計內容,要求重點突出、特色鮮明、語言簡練、文字通暢,字跡工整。報告要求在專用報告書上書寫。
6.完成課程設計報告,設計報告字數不得少于3000 字撰寫要求如下: ·設計任務
·問題定義、理論分析
·理論設計(程序功能結構、算法說明和程序框圖)
·上機調試(實驗環境、實驗說明和程序清單)
·結果分析
·心得體會
三、進度安排
按教學計劃規定,單片機原理及應用課程設計總學時為一周,其進度及時間大致分配如下:
序號 設計內容天數(約占比例)查閱資料(約占8%)確定設計思路(約占15%)畫出硬件圖、確定各個模塊的電路實現方法(約占27%)編寫程序(約占25%)調試修改各子模塊和主程序(約占15%)總結設計過程,編寫課程設計報告1(約占10%)
第三篇:函數信號發生器設計
函數信號發生器設計設計任務與要求
⑴ 設計并制作能產生正弦波、矩形波(方波)和三角波(鋸齒波)的函數發生器,本信號發生器可以考慮用專用集成芯片(如5G8038等)為核心實現。⑵ 信號頻率范圍: 1Hz∽100kHz;
⑶ 頻率控制方式:
① 手控通過改變RC參數實現;
② 鍵控通過改變控制電壓實現;
③ 為能方便地實現頻率調節,建議將頻率分檔;
⑷ 輸出波形要求
① 方波上升沿和下降沿時間不得超過200nS,占空比在48%∽50%之間;② 非線性誤差≤2%;
③ 正弦波諧波失真度≤2%;
⑸ 輸出信號幅度范圍:0∽20V;
⑹ 信號源輸出阻抗:≤1Ω;
⑺ 應具有輸出過載保護功能;
⑻ 具有數字顯示輸出信號頻率和電壓幅值功能。
第四篇:簡易函數信號發生器
波形發生器是一種常用的信號源,廣泛地應用于電子電路、自動控制系統和教學實驗等領域。本次課程設計使用的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
#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.
第五篇:低頻函數信號發生器設計
實驗報告
課程名稱:
電子系統綜合設計
指導老師:
周箭
成績:
實驗名稱:低頻函數信號發生器(預習報告)實驗類型:
同組學生姓名:
一、課題名稱
低頻函數信號發生器設計
二、性能指標
(1)同時輸出三種波形:方波,三角波,正弦波;(2)頻率范圍:10Hz~10KHz;
(3)頻率穩定性:(4)頻率控制方式:
① 改變RC時間常數;
; ② 改變控制電壓V1實現壓控頻率,常用于自控方式,即F=f(V1),(V1=1~10V); ③ 分為10Hz~100Hz,100Hz~1KHz,1KHz~10KHz三段控制。
(5)波形精度:方波上升下降沿均小于2μs,三角波線性度δ/Vom<1%,正弦波失真度
;
(6)輸出方式:
a)做電壓源輸出時
輸出電壓幅度連續可調,最大輸出電壓不小于20V 負載RL=100Ω~1KΩ時,輸出電壓相對變化率ΔVO/VO<1% b)做電流源輸出時
輸出電流幅度連續可調,最大輸出電流不小于200mA 負載RL=0Ω~90Ω時,輸出電流相對變化率ΔIO/IO<1% c)做功率源輸出時
最大輸出功率大于1W(RL=50Ω,VO>7V有效值)具有輸出過載保護功能
三、方案設計
根據實驗任務的要求,對信號產生部分,一般可采用多種實現方案:如模擬電路實現方案、數字電路實現方案、模數結合的實現方案等。
數字電路的實現方案
一般可事先在存儲器里存儲好函數信號波形,再用D/A轉換器進行逐點恢復。這種方案的波形精度主要取決于函數信號波形的存儲點數、D/A轉換器的轉換速度、以及整個電路的時序處理等。其信號頻率的高低,是通過改變D/A轉換器輸入數字量的速率來實現的。
數字電路的實現方案在信號頻率較低時,具有較好的波形質量。隨著信號頻率的提高,需要提高數字量輸入的速率,或減少波形點數。波形點數的減少,將直接影響函數信號波形的質量,而數字量輸入速率的提高也是有限的。因此,該方案比較適合低頻信號,而較難產生高頻(如>1MHz)信號。
模數結合的實現方案
一般是用模擬電路產生函數信號波形,而用數字方式改變信號的頻率和幅度。如采用D/A轉換器與壓控電路改變信號的頻率,用數控放大器或數控衰減器改變信號的幅度等,是一種常見的電路方式。
模擬電路的實現方案
是指全部采用模擬電路的方式,以實現信號產生電路的所有功能。由于教學安排及課程進度的限制,本實驗的信號產生電路,推薦采用全模擬電路的實現方案。
模擬電路的實現方案有幾種:
①用正弦波發生器產生正弦波信號,然后用過零比較器產生方波,再經過積分電路產生三角波。但要通過積分器電路產生同步的三角波信號,存在較大的難度。原因是積分電路的積分時間常數通常是不變的,而隨著方波信號頻率的改變,積分電路輸出的三角波幅度將同時改變。若要保持三角波輸出幅度不變,則必須同時改變積分時間常數的大小,要實現這種同時改變電路參數的要求,實際上是非常困難的。
② 由三角波、方波發生器產生三角波和方波信號,然后通過函數轉換電路,將三角波信號轉換成正弦波信號,該電路方式也是本實驗信號產生部分的推薦方案。這種電路在一定的頻率范圍內,具有良好的三角波和方波信號。而正弦波信號的波形質量,與函數轉換電路的形式有關,這將在后面的單元電路分析中詳細介紹。
四、單元電路分析
1、三角波,方波發生器
由于比較器+RC電路的輸出會導致VC線性度變差,故采用另一種比較器+積分器的方式
積分器
同相滯回比較器
由積分器A1與滯回比較器A2等組成的三角波、方波發生器電路如圖所示。在一般使用情況下,V+1和V-2都接地。只有在方波的占空比不為50%,或三角波的正負幅度不對稱時,可通過改變V+1和V-2的大小和方向加以調整。
合上電源瞬間,假定比較器輸出為低電平,vO2=VOL=-VZ。積分器作正方向積分,vO1線性上升,vp隨著上升,當vp>0時,即vo1≥R2/R3*,比較器翻轉為高電平,vO2=VOH=+VZ。積分器又開始作負方向積分,vO1線性下降,vp隨著下降,當vp<0時,即vo1≥R2/R3*,比較器翻轉為低電平,vO2=VOH=-VZ。
取C三種值:0.1uF 對應10-100Hz; 0.01uF 對應100-1kHz; 0.001uF 對應1k-10kHz。調節R23的比值可調節幅度,再調節R,可調節頻率大小。
2、正弦波轉換電路 常用方法有使用傅里葉展開的濾波法,使用冪級數展開的運算法,和轉變傳輸比例的折線法。但前二者由于其固有的缺陷:使用頻率小,難以用電子電路實現的原因,在本實驗中舍棄,而采取最普遍的折線法。
折線法是一種使用最為普遍、實現也較簡單的正弦函數轉換方法。折線法的轉換原理是,根據輸入三角波的電壓幅度,不斷改變函數轉換電路的傳輸比率,也就是用多段折線組成的電壓傳輸特性,實現三角函數到正弦函數的逼近,輸出近似的正弦電壓波形。由于電子器件(如半導體二極管等)特性的理想性,使各段折線的交界處產生了鈍化效果。因此,用折線法實現的正弦函數轉換電路,實際效果往往要優于理論分析結果。
用折線法實現正弦函數的轉換,可采用無源和有源轉換電路形式。無源正弦函數轉換電路,是指僅使用二極管和電阻等組成的轉換電路。根據輸入三角波電壓的幅度,不斷增加(或減少)二極管通路以改變轉換網絡的衰減比,輸出近似的正弦電壓波形。
有源正弦函數轉換電路除二極管、電阻網絡外,還包括放大環節。也是根據輸入三角波電壓的幅度,不斷增加(或減少)網絡通路以改變轉換電路的放大倍數,輸出近似的正弦電壓波形。
有
源
正
弦
函
數
若設正弦波在過零點處的斜率與三角波斜率相同,即
則有,由此,可推斷出各斷點上應校正到的電平值:
方案一,使用二極管控制形成比例放大器,使得運放在不同時間段有不同的比例系數
方案二,用二極管網絡,實現逐段校正,運放A組成跟隨器,作為函數轉換器與輸出負載之間的隔離(或稱為緩沖級)。
當輸入三角波在T/2 內設置六個斷點以進行七段校正后,可得到正弦波的非線性失真度大致在1.8 % 以內,若將斷點數增加到12 個時,正弦波的非線性失真度可在0.8 %以內。3 輸出級電路 根據不同負載的要求,輸出級電路可能有三種不同的方式。
(1)電壓源輸出方式
電壓源輸出方式下,負載電阻RL通常較大,即負載對輸出電流往往不提出什么要求,僅要求有一定的輸出電壓。同時,當負載變動時,還要求輸出電壓的變化要小,即要求輸出級電路的輸出電阻RO足夠小。為此,必須引入電壓負反饋
圖(a)電路的最大輸出電壓受到運放供電電壓值的限制,如運放的VCC 和VEE 分別為±15V時,則VOPP =±(12 ~ 14)V。若要求有更大的輸出電壓幅度,必須采用電壓擴展電路,如圖12(b)所示。
(2)電流源輸出方式
在電流源輸出方式下,負載希望得到一定的信號電流,而往往并不提出對輸出信號電壓的要求。同時,當負載變動時,還要求輸出電流基本恒定,即要求有足夠大的輸出電阻Ro。為此,需引入電流負反饋。
圖(a)電路的最大輸出電壓受到運放供電電壓值的限制,如運放的VCC 和VEE 分別為±15V時,則VOPP =±(12 ~ 14)V。若要求有更大的輸出電壓幅度,必須采用電壓擴展電路,如圖(b)所示。
a)為一次擴流電路,T1 和T2 組成互補對稱輸出。運放的輸出電流IA中的大部分將
圖(作為T1、T2 的基極電流,所以IO = βIA。圖(b)為二次擴流電路,用于要求負載電流IO 較大的場合。復合管T1、T2和T3、T4 組成準互補對稱輸出電路。
(3)功率輸出方式
在功率輸出方式下,負載要求得到一定的信號功率。由于晶體管放大電路電源電壓較低,為得到一定的信號功率,通常需配接阻值較小的負載。電路通常接成電壓負反饋形式。如用運放作為前置放大級,還必須進行擴流。當RL較大時,為滿足所要求的輸出功率,有時還必須進行輸出電壓擴展。
靜態時,運放輸出為零,– 20V電源通過下列回路:運放輸出端→R1 →DZ →b1 →e1 → –20V 向T1 提供一定的偏置電流 R6 ,C3 和R7 ,C4 組成去耦濾波電路。需要注意的是幾個晶體管的耐壓限流以及最大功率值。
其中調節W可改變晶體管的靜態工作電流,從而克服交越失真。
4)輸出級的限流保護 由于功率放大器的輸出電阻很小,因而容易因過載而燒壞功率管。因此需要進行限流保護。
圖(a)是一種簡單的二極管限流保護電路,當發生過流(I o過大)時,R3、R4 上的壓降增大到足以使D3、D4 導通,從而使流向T1、T2 基極的電流信號I1、I2 分流,以限制I o 的增大。
圖(b)是另一種限流保護電路,T3、T4 是限流管。當I o 過大,R5、R6 上的壓降超過0.6V時,T3、T4 導通防止了T1、T2 基極信號電流的進一步增大。I o 的最大值為 0.6/R5,R3、R4 用來保護限流管T3、T4。
五、仿真分析
以1KHz為例即C=1nF
三角波方波發生電路
方波下降沿時間4.3μs
三角波峰值
改變RP2
改變RP1
調節占空比
調節偏移量
正弦波轉換器
三角波轉換正弦波,三角波放大后輸出峰峰值10V
靜態工作點
改變靜態工作點(調節RP45)發生失真
功率放大電路
功率放大波形,輸入為之前的正弦波,變阻器衰減后最大不失真輸出電壓
總電路圖,模塊形式
衰減前的輸入信號與輸出信號
由仿真結果來看,基本滿足設計要求,準備按仿真電路設計實際電路。
六、仿真心得
在仿真的過程中出現了一下幾個問題,但后來都分別排查掉了,希望實際連接時不再犯。
1、運放未接電源導致沒有波形
2、變阻器接入阻止過小或過大導致沒有信號或失真(尤其需要注意)
3、Lm324故障無法解決導致用了LM353代替