我不是為了做一個示波器
講一個故事:
今年九月,一個新學期的開始,課很少。
我是一個閑不住的人,這樣的日子很難熬,想去電子市場逛逛,但學校離市區有三十多公里路,終于無聊到周末了。
和平常一樣,逛電子市場都是這兒看看哪兒看看,碰著沒見過的還喜歡問問,多年的習慣改不掉的……
一家柜臺上擺著“低價處理 LCD模塊”的牌子,對于像我這樣的窮學生來說,價格往往是考慮的主要因素。我徑直走了過去,老板說這些低價屏都是全新的,只是沒有資料,所以只能低價處理,于是我就貪了個小便宜花 30 塊錢買了一塊 128*64 分辨率的點陣屏。喜歡貪小便宜的人最后往往都是要吃虧的,最后我真“吃虧”了,就因為這個屏,害得我花了近300 塊買了一塊 320*240的屏。
回到學校后就上網找它的資料,功夫不負有心人,我找著了。從資料中得知這塊液晶顯示器是不帶字庫的,這讓我有些小失望,但一想只花了 30 塊錢也就沒事了。根據資料編寫了程序讓它顯示了一些簡單的圖形,但讓它顯示圖形或字符都得將所要顯示的東西做成點陣數據存放在數組里才行,太浪費單片機里少得可憐的資源了!沒有字庫的點陣屏就是雞肋!
正徘徊在“食之無肉,棄之有味”的時候,突然靈光一現,何不用它來顯示一些時實的圖形呢?顯示什么呀?亮著的示波器給了我靈感,那就讓它顯示波形吧!正好我用的 AVR單片機帶有 AD轉換器,說干就干,忙活了一下午,晚上的時候波形就顯示出來了。這不就是一個最基本的數字示波器嗎?圖 1 和圖 2 就是當時的“珍貴照片”,因為那塊電路在以后的試驗中已經被我拆了。這兩張照片是我買了 LCD屏的第二天晚上照的。
第一步的成功,堅定了我做數字示波器的信念。人總是有追求的,所以我要完善它!其實這無異于“因有一只鞍而買一匹馬”,但那并不總是壞的。
接下來的一個星期中我有事做了…… 第二個周末,我拿出了我半個月的生活費,花三百多塊買了一塊 320*240 的液晶顯示屏和兩片 TLC5510,開始了我自制數字示波器的征程。
以前從沒有想過要制作一臺數字示波器,所以對數字示波器的了解也僅停留在基本原理和功能上,更深入的東西幾乎是一片空白。但是我相信電類的知識,只要你下工夫就沒有學不來的,于是我開始到處找資料,但不管是圖書館還是互聯網,幾乎找不著一個現成的電路或實例可供參考,這種情況下只能自力更生,按自己的理解畫出框圖,一步一步的實驗。
0.png (384.31 KB, 下載次數: 166)
下載附件
2017-10-13 02:09 上傳
0.png (580.83 KB, 下載次數: 216)
下載附件
2017-10-13 02:10 上傳
圖 2:最初的“數字示波器”
剛開始時因為用的是 AVR 單片機中的 ADC,最快的轉換速率為 40k(不要求達到 10位精度),所以勉強能測到兩三千赫茲,這樣的性能我當然不滿意!于是就用外置的高速ADC,這時 TLC5510 就派上用場了,它的最高轉換速率為 20MSa/s,為了達到高速采樣我給它提供 20MHz 的時鐘信號,8 位并行數據直接送入單片機,問題出來了,單片機太慢了,來不及讀數據。通過查閱資料我了解到對高速數據的緩沖可以使用 FIFO存儲器,這是我第
一次接觸 FIFO 存儲器。第三個周末,我花了 40 塊錢買了一片 4KB 容量的 FIFO 存儲器IDT7204,直到現在這個示波器還是用的這片存儲器。FIFO 的使用解決了單片機來不及讀數據的問題,但剩下問題還有很多:如何控制掃速、如何控制靈敏度、如何控制觸發……
太多的“如何”讓我好幾個晚上不知如何睡好覺,但也正是這些“如何”給了我解決掉這些“如何”的動力……我喜歡挑戰自己。換方案,試驗,調試,再換方案,再實驗,再調試……最終一個個“如何”的被我解決掉了,興奮又使我好幾個晚上不知如何入眠。這就跟一個國家的內戰一樣,不管誰輸誰贏受傷的總是這個國家,但卻推動了歷史的進步。我就是在發現問題和解決問題中進步的,雖然受了點傷……試驗期間我得到了《無線電》雜志社尹飛編輯的鼎立幫助,非常感謝他在精神以及物質上對我的支持!
最終我將這個數字示波器做出來了,也實現了我起初的要求,能較好的測量到 5MHz,這樣的性能與專業的示波器相比也許差了些,但用于音頻電路和平時的電子制作調試中性能還是能夠滿足要求的,不足 500 元的成本我覺得是很實用的,特別是對象我這樣的窮學生電子愛好者。
誰對自制數字示波器有興趣?
想體驗一下興奮到失眠的感覺?
跟我來吧,我們一同體驗這種興奮的感覺!
魏坤
11 15
電路才是“硬”道理
——硬件電路簡述
通過我的“蠱惑”,想必大家都想自制一臺示波器玩玩,那就繼續跟著我走吧!
所有的電子設備都離不開硬件,首先讓我來對它的硬件結構進行一下簡述:
總體電路如系統框圖所示(圖 1),前面已講過,為了提高性能本電路采用“雙核”結構,兩片 AVR 單片機協同工作,MCU1 用于控制和頻率測量,MCU2 用于數據處理和顯示控制,兩片單片機采用 SPI總線通信。
信號從探頭輸入,進入程控放大(衰減)電路進行放大(衰減),再對被放大(衰減)的信號進行電平調整后送入高速 AD轉換器對信號進行采樣,采樣所得的數據存入 FIFO存儲器中,當 FIFO 存滿后通知 MCU2,MCU2 從 FIFO 存儲器中讀出數據進行處理,將波形顯示在 LCD模塊上。時鐘電路為高速 AD轉換器和 FIFO存儲器提供從 600Hz~60MHz 的8 種不同的頻率信號作為不同水平掃速時的采樣時鐘頻率。從程控放大器輸出的信號一路送入 AD 轉換器,另一路送入整形電路對輸入信號進行整形,作為測頻率的待測信號送入MCU1 的16位計數器外部觸發引腳 T1(PD5),進行頻率測量,程控放大器的放大(衰減)倍數和時鐘電路的輸出頻率均由 MCU1 控制。MCU1 將被測信號的頻率、程控放大器的放大倍數和時鐘電路的輸出頻率等數據通過 SPI總線發送給 MCU2, MCU2 以這些數據作為頻率、水平掃速、靈敏度和峰峰值計算、顯示的依據。
0.png (48.96 KB, 下載次數: 180)
下載附件
2017-10-13 02:35 上傳
1.程控放大電路和電源電路:
將程控放大電路與電源電路放在一塊講,是因為他們不僅有著密切的聯系,而且還是做在一塊電路板上的。
程控放大器的作用是對輸入信號進行衰減或放大調整,使輸出信號電壓在 AD轉換器輸入電壓要求范圍內,達到最好的測量與觀察效果,所以程控放大器電路在規定帶寬內的增益一定要平坦,故對運算放大器的要求比較高,在本電路中我選用的是 NSC 公司生產的高速運算放大器 LM6172 雙運放,帶寬為 100MHz,轉換速率 3000v/μs,每通道消耗電流 2.3mA,輸出電流可達 50mA,完全滿足本電路的要求,選擇該芯片的另一個原因是價格,郵購價格為 8 元一片,相比 ADI,MAX 等公司幾十元一片的高速運放芯片來說算是很廉價了,電源采用正負雙電源供電,由于整個電路總的電源輸入為單 8v,所以專門用一片 dc/dc 電路MC34063 為其構成了負壓轉換器再經穩壓得到-5v 電壓,+5v通過對輸入電壓穩壓得到。
程控放大器電路如圖 1所示,被測信號從 BNC 插孔輸入, S0繼電器決定輸入耦合方式,S0 吸合為直流偶和方式,S0 斷開為交流耦合方式。信號通過交直流耦合選擇開關后被送入由 R3~R5和C2~C4 組成的 X0.5/ X0.05 的衰減電路,衰減倍數由 S1 控制,當 S1 未吸合時
0.png (73.54 KB, 下載次數: 183)
下載附件
2017-10-13 02:37 上傳
0.png (82.79 KB, 下載次數: 172)
下載附件
2017-10-13 02:48 上傳
MCU1 電路見圖 9, PC2~PC5 共 4 個 IO 口接 4 個輕觸開關 S1~S4,S1、S2 是兩個復用鍵,用于控制水平掃速與垂直電壓靈敏度,功能通過 S4切換,當前功能狀態顯示在顯示器上,如果當前的控制功能為控制水平掃速則在顯示器的右下邊反顯示“T”, 如果當前的控制功能為控制垂直電壓靈敏度則在顯示器的右下邊反顯示“V”,見照片。S3 是觸發控制,當前狀態顯示在控制狀態左邊,箭頭上升則自動觸發,箭頭向下則不觸發。長按 S3 選擇交
直流偶和方式。該示波器現在只能實現基本功能,其他更多功能有待于廣大愛好者共同努力。S0、S1、S2、S3、S4 共5 個端口分別連接 PB4、PB0、PB1、PC0、PC1 用于垂直電壓靈敏度控制,控制數據見“程控放大電路”中的表 1。 PB2、 PB3、 PB5作為 SPI總線接口與 MCU2通信,為了防止下載程序時兩芯片 SPI 口沖突所以在兩單片機之間的 SPI 總線上串聯 3 只1K的電阻,實驗證明此法非常有效,電路工作穩定。PD0~PD2 共 3個 IO口用于時鐘控制,控制數據見“時鐘產生電路”中的表 2。頻率的測量使用了 16 位計數器,外部下降沿出發。程控放大器輸出的信號送給由場效應管 Q1 和高頻三級管 Q2 組成的高輸入阻抗整形電路整形后再由 U17 觸發器74F74 進行 4 分頻然后送入 MCU1 的 T1(PD5)腳進行計數測頻,在低水平掃速時(5ms/div和 50ms/div)為了保證測頻精度側頻周期為 1s,在高水平掃速時(小于 5ms/div)測頻周期為 0.25s。測頻的原理是通過記錄 1s 或0.25s 內計數器記錄的脈沖數來換算頻率,測頻定時由中斷完成,每測完一次頻率就向 MCU2 通過 SPI總線發送一次數據,所以在高水平掃速時每秒向 MCU2 發送 4 次數據,而在低水平掃速時每秒向 MCU2 發送 1次數據,能較好的保證參數顯示的實時性。
給你的電路注入靈魂
——程序設計
沒有程序那一堆堆電路起不到任何作用,完全是一堆廢板子!就像一臺沒有操作系統的電腦一樣,只能廢電。程序設計是整個示波器制作中的難點,本文將詳細講解程序的設計。 該示波器中的程序全部是用 c 語言編寫的,開發環境為 CodeVisionAVR C,原程序在附件中,下面就各個重要的子程序的設計一一敘述,其它程序見原程序。MCU2 與 MCU1 的程序流程圖分別見圖 1和圖 2。
0.png (45.74 KB, 下載次數: 184)
下載附件
2017-10-13 02:51 上傳
0.png (159.02 KB, 下載次數: 166)
下載附件
2017-10-13 02:57 上傳
0.png (604.93 KB, 下載次數: 178)
下載附件
2017-10-13 03:02 上傳
2.高速 AD轉換與 FIFO 存儲器電路
高速 AD轉換與 FIFO存儲電路 PCB 板圖見圖4 所示,圖5和圖 6 為該板的實物圖。從圖 4 中可以看到其中體積最小管腳最密的為 AD 轉換器 ADS830E 的焊盤,往左依次是74LVC574和 IDT7204的焊盤,上面是 74F08的焊盤。這個電路是示波器的咽喉要道,但不用調試!只是在焊接 ADS830E 時應注意一下焊接技巧,因為 ADS830E 的引腳比較多而且很密(引腳間距 0.65mm)所以焊接時容易因焊錫較多而造成短路,即然這樣焊接時還不如給每個引腳上都鍍上焊錫,先不要管他是否短路,焊在電路板上再說,焊好后用浸上松香的銅編織網將多余的焊錫吸掉就行,很簡單的操作。后面的mega32 的焊接方法相同,從圖 6照片中可以看出 ADS830E 旁邊有很多松香,就是吸焊錫時殘留的,雖然有些影響美觀但對電路的性能沒有影響,業余條件下還是可以接受的。
3.時鐘產生電路
因為時鐘產生電路的工作頻率高達 60MHz,為使其工作穩定也使用雙面板做,一面銅箔全部接地對高頻信號進行屏蔽減少輻射干擾。印刷板見圖 7 所示,圖8為實物照片。因為該電路的最高工作頻率為 60MHz,一般的 74LS系列或 74HC 系列數字邏輯電路最高只能工作在 40MHz 左右,不能滿足該電路的要求,所以只能選用速度等級更高的 74F 系列和 74AC系列,相對來說 74F系列更好買,所以本電路中的兩個與 60MHz 信號相關的芯片 74F74 和
74F151 都選擇 74F 系列,AD 轉換電路中的與門因為也有可能工作在 60MHz(最快的兩個掃速),所以也選用了 74F 系列中的 74F08。由于該電路板上全部為數字電路,所以只要元件選擇正確且安裝無誤不用調試即可正常工作,所以就不多說了。
4.MCU2 控制電路
MCU2 控制電路板其實就是一個 mega32 的最小系統板,板子上有復位電路、振蕩器等保證 mega32 正常工作所需的基本電路和 ISP 程序下載接口,32 個 IO 口全部引出,與各部分模塊相連,見整體圖。圖 9 為MCU2 控制電路的 PCB 板,圖 10 和圖11 為做好后的照片,從圖 10 中可以看出 mega32 所使用的晶振為 18MHz,如硬件電路介紹中所述用 18MHz晶振是為了提高屏幕的刷新率,增強示波器的實時性。這塊板子的制作沒有什么特殊要求,只是
焊接 mega32時用焊接 ADS830E 的方法即可,就不多說了。LCD顯示器引線采用扁平排線,所以要用接口連接。為了試驗方便將 LCD模塊的接口電路單獨做成一塊 PCB 板,沒有做在這塊板上,見圖 12 所示,圖 13 為 LCD適配器電路的照片。因為我做的這個示波器中的電路都是一步一步實驗確定的,途中一個功能電路用好幾種方案,最后確定最佳電路。所以電路都是做成模塊的,這樣的話便于組合實驗,當確定一整套最佳方案后再將所有的模塊做在一塊電路板上。
圖 14 為將 LCD模塊與 LCD接口電路連接起來的照片,在電路都固定好之后,LCD模塊的接口電路是藏在 LCD模塊底下的,在整體的照片中是看不到的。
0.png (448.98 KB, 下載次數: 175)
下載附件
2017-10-13 03:06 上傳
5.MCU1 控制電路與整形電路
MCU1控制電路的 PCB 板圖見圖15,mega8 單片機使用雙列插 DIP封裝,這種封裝的好處容易焊接,但占用板子的面積大,如果想要做成示波表,最好將 mega8 換成貼片封裝的,以節省印刷板的面積,如果要擴展更多的按鍵,那么最好使用一片 mega16-16AI,因為mega8 一共有 23 個 IO口,在本電路中基本將 IO口用完了,所以還是換一個 32 個IO口的mega16 比較方便,成本增加不了幾塊錢,當然印刷板就得重新設計了。在安裝這塊電路板時有一個細節要注意,就是將所有元件焊完后在焊接場效應管 2sk192,而且焊接時要將烙鐵從插座上拔下,以免烙鐵上有感應靜電,因為 2sk192 的柵極輸入電阻極高,而且結電容很小,所以一點點的靜電感應就可以讓結電容上產生足以擊穿柵極的電壓,所以在儲存和焊接時要特別注意。平時存放內部沒有保護二極管的場效應管時應存放在金屬盒中或用金屬箔包裹后存放,尤其是在空氣干燥的北方。
0.png (379.64 KB, 下載次數: 167)
下載附件
2017-10-13 03:09 上傳
0.png (539.62 KB, 下載次數: 176)
下載附件
2017-10-13 03:10 上傳
完整的pdf格式文檔51黑下載地址(共49頁)此PDF詳細介紹了如何自己動手制作示波器:
DIY示波器.pdf
(5 MB, 下載次數: 897)
2017-10-12 11:48 上傳
點擊文件名下載附件
DIY示波器 下載積分: 黑幣 -5
|