教你用最簡單的方法實現(xiàn)強大的多功能手持儀,提供完整軟硬件解決方案,不服來戰(zhàn)
一、項目概述
1.1 引言
愛特梅爾半導體是世界上高級半導體產品設計、制造和行銷的領先者,產品包括了微處理器、可編程邏輯器件、非易失性存儲器、安全芯片、混合信號及RF射頻集成電路。ATMEL主要應用于高增長的電子設備市場,如通訊、計算、消費類產品、安全產品、汽車電子和工業(yè)應用。
1.2 項目背景/選題動機
隨著電子技術的發(fā)展和電路結構的不斷創(chuàng)新變化,對電路測量的要求也變得更高,在電子制作中會發(fā)現(xiàn)對很多參數(shù)的測量已經不是一塊萬用表能勝任的了,比如單片機 某I/O口的輸出波形或制作放大器測其頻率響應等等,所以示波器自然而然的和萬用表一樣變成了電子工程和愛好者的必備工具,但是,示波器又很昂貴,所以我 們就想發(fā)揮我們的聰明才智和所學的知識制作一臺使用的示波器,并且盡量使功能多樣,并且想著節(jié)能環(huán)保,將以往按鍵形式的改為觸屏的,還附加其他的功能。
二、需求分析
2.1 功能要求
1)雙通道示波器: 顯示輸入信號的波形、頻率、幅值。
2)萬用表:可測量參數(shù):
DCV:直流電壓;
ACV:交流電壓、
DCA:直流電流、
R:電阻、
UF:二極管的正向導通電壓、
hFE:三極管放大倍數(shù)。
3)信號發(fā)生器:產生方波、鋸齒波、正弦波、三角波等信號波形;信號的頻率和幅度可調。
2.2 性能要求
示波器:
通道數(shù):2
帶寬:60MHz
垂直靈敏度:不小于10mV-5V/div
最大輸入電壓:50Vpp
輸入阻抗:1MΩ
水平時基范圍:不小于500ns-50ms/div
顯示:彩色液晶
耦合方式:AC/DC
2)數(shù)字萬用表:
直流電壓量程:200mV ;2V;20V;200V ----精度:±0.5%
交流電壓量程:
200mV -----精度:±1.2%
2V;20V;200V----精度:±1.0%直流電流量程:
2mA;20 mA ------精度:±0.5%
200 mA ------精度:±1.5%
10A ------精度:±2.0%交流電流量程:
2mA;20 mA ------精度:±1.0%
200 mA ------精度:±2.0%
10A ------精度:±3.0%
電阻量程:
200Ω;2KΩ;20KΩ;200KΩ;2MΩ;------精度:±0.5%
3)函數(shù)信號發(fā)生器:
頻率范圍:1Hz~50MHz
頻率精確度:±0.5 Hz
信號諧波失真(50Ω匹配負載,1Vp-p輸出時):
- 小于20kHz:-60dBc
- 20kHz~1MHz:-50dBc
- 1MHz~10MHz:-40dBc
- 10MHz~50MHz:-30dBc
輸出幅度范圍:2mV~2Vrms(開路),或1 mV~1 Vrms(50Ω負載)
輸出阻抗: 50Ω
穩(wěn)幅特性(頻幅平坦度):10Hz~10MHz±0.5dB 1Hz~50MHz±1dB
三、方案設計
3.1示波器
3.1.1系統(tǒng)功能實現(xiàn)原理
數(shù)字示波器首先對模擬信號進行高速采樣獲得相應的數(shù)字數(shù)據(jù)并存儲。用數(shù)字信號處理技術對采樣得到的數(shù)字信號進行相關處理與運算,從而獲得所需的各種信號參 數(shù)。根據(jù)得到的信號參數(shù)繪制信號波形,并可對被測信號進行實時的、瞬態(tài)的分析,以方便使用者了解信號質量,快速準確地進行故障的診斷。測量開始時,操作者 可通過操作界面選定測量類型、測量參數(shù)及測量范圍;微處理器自動將測量設置解釋到采樣電路,并啟動數(shù)據(jù)采集;采集完成后,由微處理器對采樣數(shù)據(jù)按測量設置 進行處理,提取所需要的測量參數(shù),并將結果送顯示部件。
系統(tǒng)硬件結構框圖
3.1.2 電路設計
程控放大部分:
程控放大器的作用是對輸入信號進行衰減或放大調整,使輸出信號電壓在 AD轉換器輸入電壓要求范圍內,達到最好的測量與觀察效果,所以程控放大器電路在規(guī)定帶寬內的增益一定要平坦,故對運算放大器的要求比較高。
開關用繼電器控制,H代表吸合,L代表未吸合。
電壓靈敏度與 S1~S4 的關系表:
放大倍數(shù) 靈敏度 S1 S2 S3 S4
0.1 2V H L L L
0.2 1V H L H L
0.4 0.5V L H L L
1 0.2V L L L L
2 0.1V L L H L
4 50mV L H L H
10 20mV L L L H
20 10mV L L H H
高速A/D轉換和數(shù)據(jù)存儲:
由程控放大電路調整后的信號分成兩路,有一路進入A/D轉換電路進行采樣,采樣所得的數(shù)據(jù)由 74LVC574 鎖存緩沖后送入存儲器。
時鐘電路:
時鐘產生電路為 AD轉換器提供一系列的采樣時鐘信號,分別為 600Hz、 6kHz、 60kHz、600kHz、3MHz、6MHz、30MHz 和 60MHz,共 8種,分別對應著不同的水平水平掃速。
基準時鐘為60MHz,通過多路選擇器和分屏器實現(xiàn)。
主控MCU:
由一片AVR單片機作為主控芯片,進行數(shù)據(jù)的處理并控制程控放大器和時鐘產生器,并將數(shù)據(jù)送屏幕顯示。
3.1.3 系統(tǒng)預計實現(xiàn)結果
采樣速率: 600Sa/s, 6kSa/s, 60kSa/s, 600kSa/s, 3MSa/s, 6MSa/s, 30MSa/s, 60MSa/s
水平水平掃速:500ns、1μs、5μs、10μs、50μs、500μs、5ms、50ms
垂 直電壓靈敏度: 10mV/div, 20mV/div, 50mV/div, 0.1V/div, 0.2V/div, 0.5V/div, 1V/div, 2V/div,5V/div
3.1.4系統(tǒng)軟件流程
3.2函數(shù)信號發(fā)生器
3.2.1函數(shù)信號發(fā)生器簡介
函數(shù)發(fā)生器又稱波形發(fā)生器。它能產生某些特定的周期性時間函數(shù)波形(主要是正弦波、方波、三角波、鋸齒波和脈沖波等)信號。頻率范圍可從幾毫赫甚至幾微赫的超低頻直到幾十兆赫。除供通信、儀表和自動控制系統(tǒng)測試用外,還廣泛用于其他非電測量領域。圖2為產生上述波形的方法之一,將積分電路與某種帶有回滯特性的閾值開關電路(如施米特觸 發(fā)器)相連成環(huán)路,積分器能將方波積分成三角波。施米特電路又能使三角波上升到某一閾值或下降到另一閾值時發(fā)生躍變而形成方波,頻率除能隨積分器中的RC 值的變化而改變外,還能用外加電壓控制兩個閾值而改變。將三角波另行加到由很多不同偏置二極管組成的整形網絡,形成許多不同斜度的折線段,便可形成正弦 波。另一種構成方式是用頻率合成器產生正弦波,再對它多次放大、削波而形成方波,再將方波積分成三角波和正、負斜率的鋸齒波等。對這些函數(shù)發(fā)生器的頻率都 可電控、程控、鎖定和掃頻,儀器除工作于連續(xù)波狀態(tài)外,還能按鍵控、門控或觸發(fā)等方式工作。
3.2.2方案設計與選擇
方案一:采用單片函數(shù)發(fā)生器(如8038),8038可同時產生正弦波、方波等,而且方法簡單易行,用D/A轉換器的輸出來改變調制電壓,也可以實現(xiàn)數(shù)控調整頻率,但產生信號的頻率穩(wěn)定度不高。
方案二:采用鎖相式頻率合成器,利用鎖相環(huán),將壓控振蕩器(VCO)的輸出頻率鎖定在所需頻率上,該方案性能良好,但難以達到輸出頻率覆蓋系數(shù)的要求,且電路復雜。
方案三:采用單片機編程的方法來實現(xiàn)。該方法可以通過編程的方法來控制信號波形的頻率和幅度,而且在硬件電路不變的情況下,通過改變程序來實現(xiàn)頻率的變換。此外,由于通過編程方法產生的是數(shù)字信號,所以信號的精度可以做的很高。
鑒于方案一的信號頻率不夠穩(wěn)定和方案二的電路復雜,頻率覆蓋系數(shù)難以達標等缺點,所以決定采用方案三的設計方法。它不僅采用軟硬件結合,軟件控制硬件的方法 來實現(xiàn),使得信號頻率的穩(wěn)定性和精度的準確性得以保證,而且它使用的幾種元器件都是常用的元器件,容易得到,且價格便宜,使得硬件的開銷達到最省。
3.2.3設計原理
我們做的信號發(fā)生器只需用到外部中斷和PWM脈寬調制波兩項技術便可以實現(xiàn),Atmel多數(shù)單片機都支持這兩項技術,由于主控芯片還未定,故該信號發(fā)生器暫時假定采用的控制芯片為Atmega16。
數(shù)字信號可以通過數(shù)/模轉換器轉換成模擬信號,因此可通過產生數(shù)字信號再轉換成模擬信號的方法來獲得所需要的波形。Atmega16單片機本身就是一個完整 的微型計算機,具有組成微型計算機的各部分部件:中央處理器CPU、隨機存取存儲器RAM、只讀存儲器ROM、I/O接口電路、定時器/計數(shù)器以及串行通 訊接口等,,只要將Atmega16再配置鍵盤及其接口、顯示器及其接口、數(shù)模轉換及波形輸出、指示燈及其接口等四部分,即可構成所需的波形發(fā)生器,其信 號發(fā)生器構成原理框圖如圖3.1所示:
信號發(fā)生器原理框圖
Atmega16是整個波形發(fā)生器的核心部分,通過程序的編寫和執(zhí)行,產生各種各樣的信號,并從鍵盤接收數(shù)據(jù),進行各種功能的轉換和信號幅度的調節(jié)。當數(shù)字信號經過接口電路到達轉換電路,將其轉換成模擬信號也就是所需要的輸出波形。
3.2.4設計思想
1、利用單片機產生方波、鋸齒波、正弦波、三角波和鋸齒波等信號波形,信號的頻率和幅度可變。
2、將一個周期的信號分離成256個點(按X軸等分),每兩點之間的時間間隔為T,用單片機的定時器產生,其表示式為:T=T/256。
3、正弦波的模擬信號是D/A轉換器的模擬量輸出,其計算公式為:
Y=(A/2sint)+A/2 (其中A=VREF)
那么對應著存放在計算機里的這一點的數(shù)據(jù)為:
4、一個周期被分離成256個點,對應的四種波形的256個數(shù)據(jù)存放在以TAB1--TAB4為起始地址的存儲器中。
3.2.5設計功能
根據(jù)系統(tǒng)操作界面的菜單提示選擇信號發(fā)生器輸出的波形。分別有正弦波、方波、三角波。
在系統(tǒng)操作界面可以調節(jié)輸出波形的頻率和幅值。頻率范圍:10~1000Hz,輸出波形幅度為:0~5V。
3.2.6硬件設計
硬件原理框圖
3.2.7軟件設計
本文中子程序的調用是通過操作界面菜單選項的選擇來實現(xiàn),在取得按鍵相應的鍵值后,啟動計時器和相應的中斷服務程序,再直接查詢程序中預先設置的數(shù)據(jù)值,通過轉換輸出相應的電壓,從而形成所需的各種波形。主程序的流程圖如下圖所示
主程序的流程圖
在程序開始運行之后,首先是對8155進行初始化,之后判斷信號頻率值,如符合所需的頻率,則重置時間常數(shù),并通過顯示器顯示出來,不符則返回。在中斷結 束后,還要來判斷波形是否符合,如符合,則顯示其頻率,不符則返回,重新判斷。下圖為各波形子程序的流程圖。如圖所示,在中斷服務子程序開始后,通過判斷 來確定各種波形的輸出,當判斷選擇的不是方波后,則轉向對正弦波的判斷,如此反復。如果選擇的是方波,則用查表的方法求出相應的數(shù)據(jù),并通過D/A轉換器 將數(shù)據(jù)轉換成模擬信號,形成所需波形信號。
程序運行流程圖
3.3數(shù)字萬用表
3.3.1數(shù)字萬用表簡介
特點: 分辨力強、準確度高(±0.5%~ ± 0.03%) 測試功能完善、測量速率快、顯示直觀、耗電省、過載能力強、便于攜帶。
測量參數(shù):DCV:直流電壓、ACV:交流電壓、DCA:直流電流、R:電阻、UF:二極管的正向導通電壓、hFE:三極管放大倍數(shù)
3.3.2原理圖
3.3.3功能電路
1、功能量程的選擇:通過操作界面選擇萬用表模式,并選擇相應的檔位和量程。
參數(shù)轉換電路:
ICL7106:三位半LCD/LED顯示A/D轉換器.
AD轉換原理
從上式可知:被測電壓只與基準電壓及計數(shù)值有關,而這兩者的準確度都可以做得較高,所以數(shù)字萬用表的測量準確度較高
測量 DCV、 ACV、 DCA、 hFE時UREF=100mV,測量二極管正向壓降時UREF=1V
測量R時,UREF不一定為100mV
5LCD顯示 在液晶屏幕上顯示出所測參數(shù)的物理量
6、直流電流轉換電路(I→〈200mV電壓)
以200mA檔為例
UIN = 1Ω ×100mA= = 100mV
7、直流電壓轉換電路
8、交流電壓轉換電路(以200V檔為例)
9、電阻轉換電路(以20k擋為例)
若RX= RREF則N2=1000,把小數(shù)點點在百位即可
10、二極管正負極測量電路
11、 三極管放大倍數(shù)測量
Ic=βIb ——> 200mV直流電壓——> A/D轉換
3.4 LCD觸摸屏
3.4.1 LCD觸摸屏參數(shù)
顯示屏幕尺寸 2.8inch
屏幕點陣 240 * 320
屏幕色彩 65K色
接口標準 intel80(D0-D15,ADDR0,nWR,nRD,nCS,)接口,支持MCU51(74F373擴展),ARM
驅動IC:HX8347
工作電壓2.5~3.6,背光電流80mA
可以支持2.8inch可視面積,3.0inch手寫觸摸膜
屏幕尺寸 50(W) * 69.2(H) * 4.0(T) 帶觸摸膜
3.4.2 觸摸屏實現(xiàn)功能
我們采用的液晶屏主要用于顯示功能,其次,該液晶屏還帶觸摸功能,還可以作為輸入,對系統(tǒng)進行控制。
3.4.3 硬件實現(xiàn)
由于該液晶屏已經自帶轉接線,只要從AVR主控芯片把引腳擴展出來,另外再為液晶屏搭個驅動電路驅動液晶屏,便可以對液晶屏進行控制了。(具體硬件電路需等官方提供了開發(fā)套件之后方好確定下來)
3.4.4 軟件部分
液晶屏主要是用來顯示示波器的輸出,同時作為輸入對示波器進行各項功能的選擇,故我們把顯示屏軟體部分分成了兩個部分:一是輸出的顯示,二是輸入的檢測。
輸出的顯示:根據(jù)示波器所處的模式,顯示相應的輸出,如果示波器處于波形檢測模式,則在輸出屏幕上顯示檢測到的波形;如果示波器處于萬用表工作模式下,則輸出屏幕上顯示測到的電壓,電流,電阻等物理量的數(shù)值。
輸入檢測:由于該液晶屏帶觸摸功能,故可以把輸入按鍵放到液晶屏上,實現(xiàn)觸摸按鍵功能。
下圖是多功能示波器的初步界面設計方案:(以下設計僅為初步設想,最終界面需根據(jù)具體功能進一步改善)
(多功能示波器界面圖)
3.5太陽能充電器
為了綠色環(huán)保,我們將使用太陽能來提供所需的能源。
6V200MA 太陽能電池板
儀器使用2節(jié)5號充電電池供電。
充電器功能:
1、給充電電池充電;
2、給手機充電;
3、充電完成自動斷電,避免過沖。
充電器輸出電壓:5V或1.2V
充電器輸出電流:350mA
3.6 SD外部存儲
3.6.1 外部存儲簡介
由 于示波器是一種精密的測量儀器,數(shù)據(jù)量比較大,很多時候用戶不僅需要實時地觀測數(shù)據(jù),事后還需要對數(shù)據(jù)進行處理和分析,這就要求要有一個較大的數(shù)據(jù)存儲空 間,由于單片機自帶的ROM一般不會太大,而且很不方便與PC機進行數(shù)據(jù)傳輸,因而我們決定采用外部SD卡對數(shù)據(jù)進行存儲。
3.6.2 SD外部存儲原理
SD 有兩種操作模式:SD 卡模式,SPI 模式。SD 卡模式不介紹。一般用SPI 模式操作。我們這里采用SPI模式對SD卡進行存取數(shù)據(jù)。
在SPI模式下,用單片機的4個控制I/O口分別模擬MOSI、MISO、CS、CLK即可實現(xiàn)數(shù)據(jù)的存取,電路簡單,如下圖所示:
SD卡原理圖
3.6.3 SD卡驅動
通用驅動為:
(1)初始化SPI接口,使用低速模式
(2)延時至少74clock
(3)發(fā)送CMD0,需要返回0x01,進入Idle 狀態(tài)
(4)循環(huán)發(fā)送CMD55+ACMD41,直到返回0x00,進入Ready 狀態(tài)
(5)設置讀寫block 大小為512byte
(6)把SPI 設置為高速模式
3.6.4 軟件程序
下面為SD卡存取數(shù)據(jù)需要用到的主要幾個函數(shù)
void SPI_Init(void){…}
void SPI_Send_Byte(byte Data){…}
void SPI_Receive_Byte(byte Data){…}
評論