日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

單片機實例分享,自制數(shù)字示波器

 leafcho 2019-01-24

示波器是最常用的電子測量儀器之一,它能把肉眼看不見的電信號變換成看得見的圖像。為了攜帶方便,我曾經(jīng)做過一臺簡易數(shù)字示波器(見圖22.2),材料成本只有150元左右,這臺數(shù)字示波器的設(shè)計思想是:簡單實用,價格低廉,容易制作。

主要性能指標:

最高采樣率:20MSa/s

模擬帶寬:4MHz

輸入阻抗:1MΩ

垂直靈敏度:0.01V/div~5V/div(按1-2-5方式遞進,共9擋)

水平掃描速度:1.5μs/div~6ms/div(按1-2-5方式遞進,共12擋)

垂直分辨率:8位

顯示屏:2.4 英寸 TFT320×240(驅(qū)動控制芯片:ILI9325)

測量時能同時顯示信號的頻率、電壓峰峰值,具有信號保持(HOLD)功能。

單片機實例分享,自制數(shù)字示波器

圖22.2 自制的簡易數(shù)字示波器

電路工作原理

單片機實例分享,自制數(shù)字示波器

圖22.3 數(shù)字示波器結(jié)構(gòu)框圖

我們知道,模擬示波器是用陰極射線示波管(CRT)顯示被測信號波形的,而數(shù)字示波器是采用LCM(LCD顯示模塊,含LCD及顯示驅(qū)動控制芯片)顯示被測信號波形。因為LCM的每一個顯示像素都對應(yīng)一個地址,地址要用數(shù)據(jù)表示,每一個像素的顏色也是用數(shù)據(jù)表示的。因此電路向LCM發(fā)送的是數(shù)據(jù)編碼信號,這就決定了它和模擬示波器的電路結(jié)構(gòu)不一樣。

本文介紹的數(shù)字示波器的結(jié)構(gòu)框圖如圖22.3所示。它由垂直輸入電路、A/D轉(zhuǎn)換電路、數(shù)字信號處理與控制電路、液晶屏顯示電路、電源電路等部分組成。

單片機實例分享,自制數(shù)字示波器

圖22.4 數(shù)字示波器電路原理圖

輸入的電壓信號經(jīng)垂直輸入電路放大,以提高示波器的靈敏度和動態(tài)范圍。對輸出的信號取樣后由 A/D 轉(zhuǎn)換器實現(xiàn)數(shù)字化,模擬信號變成了數(shù)字形式存入存儲器,微處理器對存儲器中的數(shù)據(jù)根據(jù)需要進行處理,最終在顯示屏上顯示測量波形和相關(guān)的參數(shù),這就是數(shù)字存儲示波器的工作過程。

數(shù)字示波器的電路原理圖如圖22.4所示,下面分別對各單元電路進行介紹。

單片機實例分享,自制數(shù)字示波器

表22.1 垂直靈敏度和K1~K5的對應(yīng)關(guān)系

1. 垂直輸入電路

垂直輸入電路由雙運算放大器LM6172和衰減電路等部分組成。對其有兩個基本的要求:一是對放大倍數(shù)的控制,二是要有滿足設(shè)計要求的足夠的帶寬。

示波器輸入信號電壓的動態(tài)范圍很大,為了將輸入信號電壓調(diào)節(jié)到A/D轉(zhuǎn)換電路的最佳采樣范圍,以便得到最合理的顯示波形,在信號電壓較小時要進行放大,在信號過大時要進行衰減。

示波器輸入信號的頻率范圍也很寬,為了使垂直輸入電路有較平坦的頻率特性曲線,即對不同頻率的信號放大電路的增益基本保持一致。為此選用了高速雙運放LM6172,其帶寬為100MHz,并在衰減電路中加了頻率補償電容。

電阻R1、R2、R3和繼電器K1、K2、K3等組成衰減電路,衰減系數(shù)分3擋:1:1、1:10、1:100,由K1、K2、K3控制。第一級運算放大器接成電壓跟隨器的模式,主要起到緩沖的作用,提高輸入阻抗,降低輸出阻抗。第二級運算放大器接成電壓串聯(lián)負反饋電路的模式,其中電阻R6、R7、R8和繼電器K4、K5等組成3擋增益調(diào)節(jié)電路,放大器的增益由K4、K5控制。當(dāng)觸點K4閉合時增益為(R6+R9)/R6;當(dāng)觸點K4開啟、K5閉合時增益為(R6+R7+R9)/(R6+R7);當(dāng)觸點K4、K5均開啟時增益為(R6+R7+R8+R9)/(R6+R7+R8)。按電路圖中各電阻的取值,對應(yīng)本級3擋的增益分別為25、12.5、5。

繼電器K1~K5工作狀態(tài)受單片機控制,所以垂直輸入電路是一個程控放大器。垂直靈敏度和K1~K5工作狀態(tài)的對應(yīng)關(guān)系見表22.1(1表示閉合,0表示斷開)。

2. A/D 轉(zhuǎn)換電路

我們知道,A/D轉(zhuǎn)換電路的作用就是將模擬信號數(shù)字化。一般把實現(xiàn)連續(xù)信號到離散信號的過程叫采樣。連續(xù)信號經(jīng)過采樣和量化后才能被單片機處理。通過測量等時間間隔波形的電壓幅值,并把該電壓值轉(zhuǎn)化為用二進制代碼表示的數(shù)字信息,這就是數(shù)字示波器的采樣,采樣的工作過程見圖22.5。采樣的時間間隔越小,重建出來的波形就越接近原始信號。采樣率就是每秒采樣的次數(shù),例如,示波器的采樣率是10MSa/s,即每秒采樣10M次,則表示每 0.1μs進行一次采樣。采樣率是數(shù)字示波器最重要的一項指標。

根據(jù)Nyquist采樣定理,當(dāng)對一個最高頻率為f的模擬信號進行采樣時,采樣率必須大于f的兩倍以上才能確保從采樣值完全重構(gòu)原來的信號。對于正弦波,每個周期至少需要兩次以上的采樣才能保證根據(jù)采樣數(shù)據(jù)恢復(fù)原始波形。在數(shù)字示波器中,為了減小顯示波形的失真,采樣率至少要取被測信號頻率的5~8倍。本文介紹的數(shù)字示波器采樣率取被測信號頻率的5倍,因為最高采樣率為20MSa/s,所以當(dāng)被測信號的帶寬在4MHz以內(nèi)時有比較好的測量結(jié)果。

采樣率的提高受制于A/D轉(zhuǎn)換芯片的工作速度,本文電路中使用的單片機ATmega16內(nèi)部雖然也有A/D轉(zhuǎn)換器,但其工作頻率太低,不能滿足數(shù)字示波器的采樣要求。因此我們用了一片高速A/D轉(zhuǎn)換芯片ADS830E,其最高采樣率可達60MSa/s。ADS830E的轉(zhuǎn)換精度為8位二進制數(shù),即垂直分辨率為256,因為選用的LCM的分辨率為320×240,對應(yīng)垂直分辨率為240,所以ADS830E完全能滿足分辨率的使用要求。

ADS830E的IN(17腳)是供采樣的模擬信號的輸入端,CLK(10腳)是采樣時鐘信號輸入端。每輸入一個時鐘脈沖就進行一次A/D轉(zhuǎn)換,轉(zhuǎn)換后的8位二進制數(shù)據(jù)由D0~D7輸出。ADS830E的輸入電壓幅度可以通過11腳進行控制,當(dāng)11腳接高電平時,ADS830E的輸入電壓范圍是1.5~3.5V;當(dāng)11腳接低電平時,輸入電壓范圍是2~3V。這里選用1.5~3.5V的輸入電壓范圍,中點電壓為2.5V,中點電壓由電位器RP進行調(diào)節(jié)。當(dāng)IN輸入電壓為1.5V時,D0~D7輸出的轉(zhuǎn)換數(shù)據(jù)是0x00,當(dāng)IN輸入電壓為3.5V時,D0~D7輸出的轉(zhuǎn)換數(shù)據(jù)是0xff,即255。

單片機實例分享,自制數(shù)字示波器

圖22.5 采樣的工作過程

3. 數(shù)字信號處理與控制電路

數(shù)字信號處理與控制電路由單片機ATmega16、FIFO(先進先出)存儲器IDT7205、4個2輸入與非門74HC00等組成。

單片機ATmega16在電路中的主要作用是:(1)對A/D轉(zhuǎn)換后的數(shù)字信號進行處理,轉(zhuǎn)換成LCM能接受的數(shù)據(jù)格式,輸出給它顯示;(2)產(chǎn)生ADS830E、IDT7205工作所需要的時鐘脈沖信號;(3)通過按鍵對示波器參數(shù)進行控制調(diào)節(jié),輸出繼電器的控制信號。

單片機實例分享,自制數(shù)字示波器

圖22.6 倍頻電路及各點的脈沖

FIFO存儲器IDT7205是一個雙端口的存儲緩沖芯片,具有控制端、標志端、擴展端和8192×9的內(nèi)部RAM陣列,12ns的高速存取時間。內(nèi)部讀、寫指針在先進先出的基礎(chǔ)上可進行數(shù)據(jù)的自動寫入和讀出。當(dāng)有數(shù)據(jù)輸入到數(shù)據(jù)輸入端口D0~D8時,可由控制端Wclk來控制數(shù)據(jù)的寫入。為了防止數(shù)據(jù)的寫溢出,可用標志端滿FF、半滿HF來標明數(shù)據(jù)的寫入情況,寫入時由內(nèi)部寫指針安排其寫入的位置。由于內(nèi)部RAM陣列的特殊設(shè)計,先存入的數(shù)據(jù)將被先讀出。如果需要數(shù)據(jù)外讀,則可由控制端Rclk來控制數(shù)據(jù)的讀出。RST為復(fù)位端。Wclk、Rclk、RST均由單片機ATmega16提供控制脈沖。數(shù)據(jù)輸出端口Q0~Q8是三態(tài)的,在無讀信號時呈高阻態(tài)。輸入數(shù)據(jù)位D0~D8和輸出數(shù)據(jù)位Q0~Q8均為9位,這里輸入和輸出均只使用了8位,即只使用了D0~D7和Q0~Q7。

讀到這里,有的讀者可能會問:把ADS830E輸出端口D0~D7輸出的數(shù)據(jù)直接輸入ATmega16的PA端口不就行了嗎,為什么還要在中間加上一個IDT7205?這是因為ADS830E工作速度比ATmega16快得多,即ATmega16讀取數(shù)據(jù)的速度比ADS830E輸出數(shù)據(jù)的速度慢,如果直接相連ATmega16就拖了ADS830E的后腿。加上IDT7205后就起到了緩沖的作用,ADS830E轉(zhuǎn)換的結(jié)果先存在IDT7205內(nèi),等到ATmega16需要時,再從IDT7205中讀出來。

ADS830E的采樣時鐘與IDT7205的寫信號時鐘是同一個時鐘源,以確保兩者同步。時鐘脈沖信號由ATmega16使用內(nèi)部定時器產(chǎn)生,由于ATmega16外接晶體的頻率為20MHz,所以產(chǎn)生的時鐘信號最高頻率只能達到10MHz,為了使采樣率達到20MSa/s,使用了74HC00等構(gòu)成的倍頻電路。若ATmega16 PD7端輸出的脈沖信號頻率為f,則74HC00的F4輸出的脈沖信號頻率為2f,倍頻電路的工作過程和各點脈沖信號時序關(guān)系如圖22.6所示。

K1~K5是干簧繼電器,干簧繼電器特點是吸合和釋放時噪聲很小,功耗低。因其吸合電流較小,所以可直接用ATmega16的輸出端口驅(qū)動。

SB1~SB5是示波器調(diào)節(jié)按鈕。SB1、SB2是水平掃描速度調(diào)節(jié)按鈕,按SB1時μs/div的值增加(水平掃描速度減小),按SB2時μs/div的值減小(水平掃描速度增加);SB3、SB4是垂直靈敏度調(diào)節(jié)按鈕,按SB3時V/div的值增加(垂直靈敏度減小),按SB4時V/div的值減小(垂直靈敏度增加);SB5是波形保持(HOLD)按鈕,按一下測量波形被凍結(jié)保持,同時在顯示屏上顯示字符“HOLD”,再按一下又恢復(fù)到正常測試狀態(tài)。所有調(diào)節(jié)參數(shù)均顯示在液晶屏上,調(diào)節(jié)好的參數(shù)將自動保存到ATmega16的EEPROM中,下次開機時有關(guān)參數(shù)將預(yù)設(shè)在上次關(guān)機前的設(shè)定值上。

4. 顯示電路

LCM采用2.4英寸TFT彩色液晶屏,分辨率為320像素×240像素,驅(qū)動控制芯片為ILI9325,該芯片傳遞數(shù)據(jù)8/16接口位兼容,使用8位接口時能夠節(jié)省單片機的輸出端口,在8位接口工作狀態(tài)時16位數(shù)據(jù)分兩次傳遞,速度稍慢。數(shù)據(jù)端口D0~D15中的高8位D8~D15為8位接口使用的端口。8/16接口位的選擇由端口IM0控制,IM0接高電平時為8位接口工作狀態(tài),IM0接低電平時為16位接口工作狀態(tài)。

電路中ILI9325的工作電壓是3V,ATmega16的工作電壓是5V,兩者高電平不一致,通信端口相連時要進行電平轉(zhuǎn)換,因為這里只需要ATmega16向ILI9325單向傳遞數(shù)據(jù),所以只需要將5V向3V電平轉(zhuǎn)換,不需要將3V電平向5V電平轉(zhuǎn)換,就不必使用專用的電平轉(zhuǎn)換芯片,只要用電阻分壓電路將5V高電平轉(zhuǎn)換成3V高電平就行了。電路中R14~R35組成電阻分壓電路,連接端口有8個數(shù)據(jù)端口和3個控制端口。

5. 電源電路

這個數(shù)字示波器使用了交流電源,提供+5V、?5V、+3V三種直流電壓。

程序設(shè)計

設(shè)計好電路只是為數(shù)字示波器奠定基礎(chǔ),更重要的是單片機程序的設(shè)計。實際上在設(shè)計硬件時既要考慮到功能,也要考慮到程序設(shè)計的需要。比如對單片機的選型,主要考慮功能、工作速度、端口的數(shù)量、程序存儲器Flash的容量、RAM的容量、有沒有EEPROM等。綜合考慮后選用AVR單片機ATmega16,它的程序存儲器Flash為16KB,RAM為1KB,使用時將16MHz的時鐘頻率超頻到20MHz,經(jīng)過對其資源合理分配,完全可以滿足設(shè)計要求。

程序的開發(fā)環(huán)境為ICC-AVR V6.31A,使用 C語言編寫。程序采用了分時控制、順序調(diào)度的工作方式,沒有使用任何中斷程序,程序流程圖如圖22.7所示。

單片機實例分享,自制數(shù)字示波器

圖22.7 程序流程圖

下面對主要部分進行分別介紹。

1. 垂直靈敏度控制

按鈕SB3、SB4用來調(diào)節(jié)垂直靈敏度,按動后通過鍵盤掃描程序可以增加或減小程序中變量Key_ver的值,Key_ver取值范圍為1~9,分別對應(yīng)9擋垂直靈敏度,通過Key_ver的取值控制繼電器K1~K5的工作狀態(tài),從而得到相應(yīng)的靈敏度。

以K1為例,K1接ATmega16的PB0端口,有關(guān)宏定義為:

#define K1_ON PORTB &=~(1<

#define K1_OFF PORTB |= (1<

因此,K1_ON表示PB0輸出低電平,K1閉合,觸點接通;K1_OFF表示PB0輸出高電平,K1釋放,觸點斷開。

2. 水平掃描速度控制

水平掃描速度控制是通過改變A/D轉(zhuǎn)換電路的采樣率來實現(xiàn)的,按動SB1、SB2可以改變程序中變量Key_hor的值,Key_hor取值范圍為1~12,分別對應(yīng)12擋水平掃描速度。

A/D轉(zhuǎn)換電路所需的采樣時鐘脈沖用ATmega16的8位定時器/計數(shù)器2-T/C2產(chǎn)生,選擇CTC工作模式。其工作參數(shù)主要由控制寄存器TCCR2、計數(shù)寄存器TCNT2、輸出比較寄存器OCR2決定。TCCR2中的位CS22、CS21、CS20的取值確定T/C2的時鐘源的分頻系數(shù),OCR2中的數(shù)據(jù)用于同TCNT2中的計數(shù)值進行連續(xù)的匹配比較,一旦TCNT2計數(shù)值與OCR2的數(shù)據(jù)相等,單片機端口OC2的輸出電平即取反,這樣即可輸出脈沖信號。脈沖信號的頻率f由時鐘源的分頻系數(shù)和OCR2的預(yù)置值決定,計算公式為f=時鐘源頻率/(2×(1+OCR2)),OC2輸出的脈沖信號經(jīng)倍頻后作為采樣時鐘信號,相關(guān)參數(shù)之間的關(guān)系見表22.2。

只要對寄存器TCCR2、OCR2的值進行設(shè)置,就可以獲得我們所需頻率的采樣時鐘信號。

3. 數(shù)據(jù)的存儲和讀取

ADS830E的采樣數(shù)據(jù)存入IDT7205后達到一定數(shù)量就停止采樣,再將IDT7205存儲的數(shù)據(jù)讀入ATmega16,程序中用一個數(shù)組RAM[650]來存儲讀取的數(shù)據(jù),存儲容量為650,即一次讀取650個采樣數(shù)據(jù)。

仔細看了電路圖的讀者可能會發(fā)現(xiàn),IDT7205的滿FF端口并沒有使用,為什么不用呢?這是因為ATmega16的RAM容量只有1KB,只能分配約650個存儲單元用來存儲從IDT7205讀取的數(shù)據(jù),IDT7205存多了數(shù)據(jù)也沒有用,ATmega16不能全部存儲,多余的數(shù)據(jù)就丟棄了,還不如少讀點數(shù)據(jù)節(jié)省時間,提高顯示波形的刷新頻率。這在采樣時鐘頻率較低時效果尤為明顯,因為采樣時鐘頻率越低,采集一個數(shù)據(jù)所花的時間越長。以采樣時鐘頻率5kHz為例,如果要將IDT7205存滿8192個數(shù)據(jù),所需要的時間為8192/5000≈1.6s, 顯示波形1.6s以上才能刷新一次,這顯然是不行的。如果存滿700個就結(jié)束,則所需要的時間為700/5000=0.14s,刷新速度提高了很多。

從上面的分析可以看出,F(xiàn)IFO存儲器其實使用IDT7202就夠了,IDT7202有1024個存儲單元。不過筆者只買到了DIP封裝的IDT7205,雖然有點大材小用,但為以后數(shù)字示波器升級提供了空間。FIFO存儲器存儲數(shù)據(jù)的容量稱為數(shù)字示波器的存儲深度,也稱記錄長度,存儲深度也是數(shù)字示波器的一個重要技術(shù)指標,適當(dāng)存儲深度便于對顯示波形進行分析和處理。

不使用FF端口是如何控制IDT7205存儲數(shù)量的呢?我在IDT7205存儲數(shù)據(jù)時根據(jù)不同的采樣時鐘頻率設(shè)置了不同的延時時間,在此時間內(nèi)能存入多于700個數(shù)據(jù)即可。延時結(jié)束后即將IDT7205的存儲數(shù)據(jù)讀入ATmega16。

單片機實例分享,自制數(shù)字示波器

表22.2 相關(guān)參數(shù)之間的關(guān)系

由于ADS830E每次重新進入工作狀態(tài)要有一個穩(wěn)定的過程,開始采樣的幾個數(shù)據(jù)精度不高,因此在讀取IDT7205數(shù)據(jù)時先空讀50個數(shù)據(jù),將這些數(shù)據(jù)丟棄,然后再將后面的數(shù)據(jù)讀入ATmega16。

單片機實例分享,自制數(shù)字示波器

圖22.8 顯示區(qū)域

4. 數(shù)據(jù)計算處理

數(shù)據(jù)計算處理工作主要包括同步觸發(fā)信號檢測、信號電壓峰峰值測量、信號頻率測量。這部分程序設(shè)計的思路是:

先在650個數(shù)據(jù)的前350個數(shù)據(jù)中以顯示屏的垂直中點對應(yīng)數(shù)據(jù)120為基準,找到同步觸發(fā)信號。之所以在前350個數(shù)據(jù)中找同步觸發(fā)信號,是為保留后面至少有300個數(shù)據(jù)供顯示波形用。找到同步觸發(fā)信號后,則把對應(yīng)該點數(shù)據(jù)為起點的連續(xù)300個數(shù)據(jù)作為顯示數(shù)據(jù)。

然后找到650個數(shù)據(jù)中的最大值和最小值,求最大值和最小值的算術(shù)平均數(shù),即可得到中點電壓值,檢測信號相鄰兩次向上穿過中點的時間差即可計算出信號的周期。

5. LCM的控制與顯示

TFT-LCD顯示屏的分辨率為320像素×240像素。顯示屏的每一個像素都對應(yīng)著驅(qū)動控制芯片ILI9325內(nèi)部存儲器唯一的一個地址(x,y),x為橫坐標,尋址范圍為0~319;y為縱坐標,尋址范圍為0~239。在像素對應(yīng)地址寫入16位顏色數(shù)據(jù)就可以顯示相應(yīng)的顏色,如果某一點要清除,只要對該像素對應(yīng)的地址寫入背景色就可以了。由于這里ILI9325采用8位接口工作模式,因此傳遞16位數(shù)要分兩次進行。

因為數(shù)字示波器既要顯示被測信號的波形,也要顯示有關(guān)的測量數(shù)據(jù),如電壓峰峰值、頻率、水平掃描速度、垂直靈敏度等,所以必須對顯示區(qū)域進行合理的劃分,并對顏色進行規(guī)劃設(shè)置,分配好的顯示區(qū)域如圖22.8所示。圖中用來顯示波形的區(qū)域為中間的300×200。在這個區(qū)域畫了刻度線,將水平方向分成10格,垂直方向分成8格。其余區(qū)域用來顯示各種數(shù)據(jù)。

對ILI9325最基本的操作有兩種:發(fā)送命令和發(fā)送數(shù)據(jù)。無論是顯示屏的初始化,還是設(shè)置顯示地址和顯示顏色,都要用到這兩種基本操作。

顯示被測信號波形的過程是:先清除上一幀顯示波形,然后畫刻度線(刻度線每次都要重畫,因為有些和顯示波形交叉的點也被清除了),最后畫新的一幀信號波形,同時備份數(shù)據(jù)作下一次清除用。顯示信號波形時,存儲器地址(x,y)中的x代表水平掃描信號所處的位置,y代表信號電壓的大小。每次刷新信號波形時,信號電壓峰峰值和信號頻率顯示數(shù)據(jù)也同時刷新一次。水平掃描速度和垂直靈敏度的數(shù)據(jù)只有在重新調(diào)整后才刷新。

單片機實例分享,自制數(shù)字示波器

表22.3 主要元器件清單

元器件選擇

主要元器件的清單見表22.3。

經(jīng)過試驗,我發(fā)現(xiàn)在工作電壓為5V時,單片機ATmega16和ATmega16L在時鐘頻率為20MHz下均能正常工作。因此,如果你手頭只有ATmega16L也可以使用。

IDT7205如果使用PLCC封裝的芯片,請注意引腳編號不同。

干簧繼電器也可以選用其他型號的,只要工作電壓是5V,閉合電流小于20mA即可。

機箱我選用的是成品塑料機箱,你也可以用其他樣式的,或者自己用有機玻璃DIY。

顯示屏和ADS830E的兩塊轉(zhuǎn)接板是必須要用的,不然無法在萬能板上安裝,可以設(shè)法和元器件一起采購。

單片機實例分享,自制數(shù)字示波器

圖22.9 緩沖區(qū)對比圖

單片機實例分享,自制數(shù)字示波器

圖22.10 開關(guān)單獨安裝在小的萬能板上

顯示屏的品牌很多,你很難買到和我一樣的品牌。但有一點要注意,驅(qū)動控制芯片一定要是ILI9325的,如果不是,你就要修改程序了,不同的芯片即使是同一系列,驅(qū)動程序也往往不兼容。即使驅(qū)動芯片一樣,不同品牌的顯示屏引腳編號也可能不一致,接線時要仔細對照。另外有一點提醒一下:我買的顯示屏的4個背光二極管是并聯(lián)的,我是把它們公共的陽極串接一個電阻(不知道模塊內(nèi)部有沒有限流電阻,還是外接一個電阻保險)接到+5V電源,如果你買的顯示屏的背光二極管是串聯(lián)的,要求的工作電壓就高了,接到+5V是不能發(fā)光的,可串連一個100Ω(電阻的取值使發(fā)光二極管工作電流不超過20mA為宜)接到LM7805的輸入端,此處的電壓約有10V,可以滿足驅(qū)動要求。

安裝

安裝前先將目標文件dso.hex寫入單片機ATmega16,特別提醒一下:用編程器將目標文件調(diào)入時要選擇“緩沖區(qū)預(yù)先填充00”選項,否則在顯示屏顯示字符時會出現(xiàn)色塊。如果你用下載線寫入文件,則往往不提供該選項給你選,會直接把緩沖區(qū)都填入了FF,見圖22.9上半部分,這時你可以手工編輯一下,把方框中的FF全部改為00,結(jié)果見圖22.9下半部分。

5個按鈕開關(guān)單獨安裝在小的萬能板上,見圖22.10。其余的元件除顯示屏直接固定在機箱面板上外,都安裝在大的萬能板上。接線時注意同一單元要一點接地,數(shù)字地和模擬地要分開。三端穩(wěn)壓器LM7805要加一個小的散熱片。

機箱的面板根據(jù)顯示屏的大小、按鈕開關(guān)和BNC插座的安裝位置開孔,面板上的標記可打印在一張紙上,再用1~2mm的透明有機玻璃做一塊尺寸一樣的面板(對應(yīng)顯示屏的位置不開窗口,正好做防護屏),再把打印好的紙夾在兩層中間,用螺絲固定好后,面板就做好了。

按鈕開關(guān)電路板是直接用4個螺絲固定在面板上的,顯示屏可用熱熔玻璃膠固定,把顯示屏在窗口擺正位置后,在4個角用熱熔玻璃膠固定一下就可以了。

安裝好的示波器內(nèi)部結(jié)構(gòu)見圖22.11。

單片機實例分享,自制數(shù)字示波器

圖22.11 安裝完成的內(nèi)部結(jié)構(gòu)

調(diào)試

如果安裝時沒有接線錯誤,元器件沒有質(zhì)量問題,調(diào)試還是比較容易的。

調(diào)試分4步進行。

(1)各單元先不接電源,測量電源部分輸出電壓是否正常,正常后再接通各部分的電源。

單片機實例分享,自制數(shù)字示波器

圖22.12 水平掃描線與中線未重合

單片機實例分享,自制數(shù)字示波器

圖22.13 補償電容與方波波形的關(guān)系

單片機實例分享,自制數(shù)字示波器

圖22.14 調(diào)試好的示波器的使用效果

(2)檢查顯示屏工作是否正常,接通電源,顯示屏初始化后先是全屏顯示白色閃亮一下,然后顯示刻度線和相關(guān)數(shù)據(jù)。如果開機后顯示屏沒有反應(yīng),先檢查單片機有沒有正常工作,如按動K3、K4繼電器的工作狀態(tài)應(yīng)該有所改變。如正常再查顯示屏的連線和供電是否正常,直至顯示正常才能進入下一步。

(3)將示波器輸入端信號線短接,調(diào)節(jié)電位器RP,使其中點電壓為2.44V(注意不是1.5~3.5V的中點電壓2.5V,因為顯示屏垂直方向中點的值是120,120是2.44V電壓經(jīng)A/D轉(zhuǎn)換后對應(yīng)的值,對應(yīng)2.5V電壓的A/D轉(zhuǎn)換值是255/2),這時候可以看到一條水平掃描線出現(xiàn)在水平中線附近,見圖22.12,仔細調(diào)節(jié)RP,使得其和水平中線重合。

(4)對衰減器的頻率補償電容進行調(diào)整,將垂直靈敏度調(diào)到0.5V/div,輸入 200kHz、幅度1V的方波,改變電容C2的容量,使示波器顯示的方波波形最好;再將垂直靈敏度調(diào)到1V/div,輸入200kHz、幅度2V的方波,改變電容C3的容量,使示波器顯示的方波波形最好。頻率補償電容與方波波形的關(guān)系見圖22.13。

裝配調(diào)試好的數(shù)字示波器的使用效果見圖22.14。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多