
運用單片機制作四位半數(shù)字電壓表
21頁??????????? 這是我參加電子大賽本科組D題的論文,不足之處還請各位高手來指正!本科組(D題)數(shù)字電壓表【摘????? 要】????????? 本設(shè)計是基于ATmega16單片機開發(fā)平臺和自動控制原理的基礎(chǔ)上實現(xiàn)的一種高精度、智能化的數(shù)字電壓表系統(tǒng)該系統(tǒng)采用ATmega16單片機作為控制核心,以12位的A/D轉(zhuǎn)換MAX187為數(shù)據(jù)采樣系統(tǒng),實現(xiàn)被測電壓的高精度數(shù)據(jù)采樣;使用系列比較器檢測輸入電壓的范圍,并通過繼電器陣列實現(xiàn)了輸入量程的全自動轉(zhuǎn)換;同時具有顯示模式的按鍵切換、LCD液晶顯示等顯著優(yōu)點系統(tǒng)具有人性化的交互界面,硬件配置合理,控制方案優(yōu)化,完全滿足題目的基本要求關(guān)鍵字】全自動量程轉(zhuǎn)換????? 電壓檢測????? MAX187????? ATmega16????? LCD顯示Digital VoltmeterSummary : The design is based on ATmega16 and automation development platform based on the principle of achieving a high accuracy and intelligent digital voltage meter system. The system uses ATmega16 core as a control, 12 to the MAX187 D conversion for data sampling system, the measured voltage and high-precision data sampling; Series comparison with the use of detection of the input voltage range, and through Relay array of input range of automatic conversion; the same time it is the display mode switch button, LCD display significant advantages. Humanized system of interface, hardware configuration reasonable control program optimization, the subject completely meet the basic requirements.Keywords: Disney-range conversion, voltage detection, MAX187, ATmegal16, LCD Display.目?????? 錄一、方案設(shè)計與論證 11.試題分析 12.系統(tǒng)控制方案 13.各模塊方案 21)單片機選擇 22)A/D采樣系統(tǒng) 33)自動量程切換 34)電壓檢測 35)顯示部分 3二、理論分析與電路設(shè)計 41.系統(tǒng)總體設(shè)計與框圖 42.實際電路圖 42.1單片機系統(tǒng) 42.2 AD轉(zhuǎn)換電路 62.3信號調(diào)理模塊 62.4繼電器模塊 92.5按鍵與LCD顯示電路設(shè)計 103.信號調(diào)理總體設(shè)計電路圖 10三、軟件設(shè)計與流程 111.系統(tǒng)軟件介紹 112.軟件程序流程圖 11四、實驗測試與結(jié)果分析 12五、參考文獻 13六、附錄 13數(shù)字電壓表一、方案設(shè)計與論證1.試題分析根據(jù)題目要求,系統(tǒng)設(shè)計需要基于自動控制原理,實現(xiàn)電壓量程的自動切換、數(shù)據(jù)采樣、電壓顯示等功能。
主要來說,系統(tǒng)由信號調(diào)理電路、A/D轉(zhuǎn)換電路、按鍵輸入電路、單片機控制系統(tǒng)、LCD顯示系統(tǒng)等幾個模塊組成由于本設(shè)計屬于高精度實時監(jiān)測控制系統(tǒng),因此各模塊必須具有高精度、低噪聲、可靠性強等諸多性能要求2.系統(tǒng)控制方案『方案一』僅采用CPLD作為控制核心部件的方案選用一片CPLD作為系統(tǒng)的核心部件,實現(xiàn)控制與處理的功能CPLD具有速度快、編程容易、資源豐富、開發(fā)周期短等優(yōu)點,可利用VHDL語言進行編寫開發(fā)但CPLD在控制上較單片機有較大的劣勢同時,CPLD的處理速度非常快,而電壓表的數(shù)據(jù)采樣速度不可能太高,在這一點上,MCU就已經(jīng)可以勝任了若采用該方案,必將在控制上遇到許許多多不必要增加的難題為此,我們不采用該種方案,進而提出了第二種設(shè)想圖1.2.1 以CPLD為核心部件的原理圖『方案二』僅采用單片機作為控制核心部件的方案如圖1.2.2 所示:我們采用單片機作為整個系統(tǒng)的核心,用其輸入電壓的范圍、控制信號調(diào)理電路,實現(xiàn)輸入量程的自動切換,以達到其既定的高精度性能指標充分分析我們的系統(tǒng),其關(guān)鍵在于實現(xiàn)電壓調(diào)理的自動量程控制,而在這一點上,單片機就顯現(xiàn)出來它的優(yōu)勢——控制簡單、方便、快捷而且,單片機其資源豐富、控制功能強大及可位尋址操作、價格低廉等,使得在實際制作過程中是一個較為理想的方案。
鑒于上述分析,在充分考慮到系統(tǒng)的需要及開發(fā)周期的情況下,我們決定選用第二種方案,即“僅采用單片機作為核心部件的方案”3.各模塊方案1)單片機選擇『方案一』選用51系列單片機51系列單片機目前得到廣泛使用,如89S51它除了89C51所具有的優(yōu)點外,還具有可在線編程,可在線仿真的功能,這讓調(diào)試變得方便當與凌陽十六位單片機相比時,AT89S51八位單片機的價格便宜,再者編程方便編程技術(shù)及外圍功能電路的配合使用都很成熟,這對于在網(wǎng)上查找相關(guān)資料和在圖書館查找相關(guān)資料時非常方便的但本系統(tǒng)是個多信息處理的復雜程序控制系統(tǒng),需要占用大量的硬件資源,89S51單片機中的資源在此就顯得相當緊張,將對整個系統(tǒng)的性能產(chǎn)生很大的影響『方案二』選用AVR系列單片機AVR單片機是高速單片機,硬件采用哈佛(Harward)結(jié)構(gòu),達到一個時鐘周期可以執(zhí)行一條指令,絕大部分指令都為單周期指令,而MSC-51要12個時鐘周期執(zhí)行一條指令;它支持程序的在系統(tǒng)編程ISP,開發(fā)門檻較低,性價比高;有豐富的外設(shè),如RTC、 WATCHDOG、 AD 轉(zhuǎn)換器、PWM、UART接口等,部分型號還可以使用片內(nèi)振蕩器提供系統(tǒng)1~8 MHz的系統(tǒng)時鐘,使該類單片機無外加晶振器件即可工作;I/O口功能強、驅(qū)動能力大,I/O口有輸入/輸出、三態(tài)高阻輸入,也可設(shè)定內(nèi)部拉高電阻作輸入端的功能, 工業(yè)級產(chǎn)品,具有大電流(灌電流)10~40 mA,可直接驅(qū)動可控硅SSR或繼電器, 節(jié)省了外圍驅(qū)動器件;具有較大容量EEPROM,可擦寫10萬次的EEPROM,為掉電后數(shù)據(jù)的保存帶來方便,來電后能記住掉電時的工作狀態(tài),EEPROM容量為64 B~4 KB ;AVR是低功耗單片機,具有休眠省電功能(Power Down)及閑置(Idle)低功耗功能。
一般耗電在1~2.5 mA;AVR單片機內(nèi)嵌高質(zhì)量的Flash程序存儲器,增強性的高速同/異步串口,具有硬件產(chǎn)生校驗碼、硬件檢測和校驗偵錯、兩級接收緩沖、波特率自動調(diào)整定位(接收時)、屏蔽數(shù)據(jù)幀等功能,提高了通信的可靠性,方便程序編寫,更便于組成分布式網(wǎng)絡和實現(xiàn)多機通信系統(tǒng)的復雜應用,串口功能大大超過MCS-51/96單片機的串口,加之AVR單片機高速,中斷服務時間短,故可實現(xiàn)高波特率通訊根據(jù)題目要求,綜合考慮上述方案,我們選用ATMEGA16L單片機方案2)A/D采樣系統(tǒng)根據(jù)題目要求,要實現(xiàn)0-20V電壓的精確測量,測量精度達到1mV,最高采樣數(shù)據(jù)要達到20000,而12位的A/D為:212=4096,15位的ADC為:215=16384,16位的ADC為:216=32768,所以必須采用16位ADC才能滿足題目的要求,然而16位的ADC價格昂貴,實驗室并不常見,加上系統(tǒng)開發(fā)時間的限制,我們只好采用實驗室較為常見的12位AD『方案一』用1片12位并行AD集成芯片ADC574,12位并行DAC574集成芯片的轉(zhuǎn)換速度快,而且精度高,但是其占用大量的單片機端口,外圍電路較復雜『方案二』采用一片12位串行ADC芯片MAX187的優(yōu)點是精度比較高,而且占用單片機的端口資源較少,外圍電路也比較簡單,缺點是轉(zhuǎn)換速度不如并行AD轉(zhuǎn)換快。
但是,數(shù)字電壓表對數(shù)據(jù)采樣的速度要求不高,而且串行DA的程序也容易實現(xiàn),所以我們最終決定選擇方案二來實現(xiàn)對輸入電壓的采樣3)自動量程切換智能數(shù)字電壓表中關(guān)鍵技術(shù)之一為自動量程轉(zhuǎn)換問題『方案一』用單片機控制多組繼電器進行量程切換特點是簡單實用,缺點是機械噪聲大『方案二』采用光耦進行切換,其特點是控制部分隔離,無機械切換的噪聲,可靠性好顯然,采用方案二電氣特性功能上更好,但是由于本系統(tǒng)中要使用多組電子開關(guān),相對而言,采用繼電器切換方式降低了設(shè)計的難度,因而更加有利于短期內(nèi)的系統(tǒng)開發(fā) 4)電壓檢測為了實現(xiàn)對輸入的微小信號或大信號進行精確測量,我們擬采用信號放大或衰減預處理電路,即需要對被測量電壓的極性、范圍進行判斷和確定,從而將被測電壓的基本信息傳遞給單片機系統(tǒng)『方案一』用多組比較器進行電壓范圍的分段檢測,實現(xiàn)對輸入電壓的粗略測量『方案二』輸入信號通過電阻分壓后,由ADC轉(zhuǎn)換成數(shù)字信號傳遞給單片機系統(tǒng)實現(xiàn)電壓的粗略測量由于預處理電路只需要對輸入電壓進行范圍的粗略測量,所以方案一完全能夠滿足實際要求,而方案二雖然測量結(jié)果較為精確,但電路復雜,還增加了編程難度故采用的方案一5)顯示部分『方案一』采用LED數(shù)碼管動態(tài)掃描顯示。
采用8位LED動態(tài)掃描顯示的優(yōu)點是能改善外部信號對顯示的干擾,但單片機在工作時要求CPU不停地對LED更新,這將會降低系統(tǒng)的運行速度,且占用資源比較多『方案二』串行通訊方式實現(xiàn)8位LED的靜態(tài)顯示采用串行通訊方式實現(xiàn)8位LED的靜態(tài)顯示,雖可降低端口的使用,也不會降低CPU的運行速度,但整個顯示界面顯得不太友好『方案三』采用LCD液晶顯示器顯示液晶顯示功耗低,輕便防震,顯示界面友好因此本系統(tǒng)采用方案三二、理論分析與電路設(shè)計1.系統(tǒng)總體設(shè)計與框圖系統(tǒng)框圖如圖2.1.1所示本系統(tǒng)采用ATMEGAL16L單片機作為控制核心,以12位的A/D轉(zhuǎn)換MAX187為數(shù)據(jù)采樣系統(tǒng),實現(xiàn)被測電壓的高精度數(shù)據(jù)采集與顯示該過程是:首先通過系列比較器檢測輸入電壓的極性與范圍,單片機根據(jù)電壓極性與范圍對繼電器陣列進行相應的動作,實現(xiàn)了輸入量程的全自動轉(zhuǎn)換經(jīng)過調(diào)理后的電壓信號由AD轉(zhuǎn)換后送出液晶顯示,同時可以通過按鍵進行顯示模式切換并具有過壓保護、過壓報警的功能2.實際電路圖2.1單片機系統(tǒng)本設(shè)計是以ATMEGA16L單片機為控制核心,其外圍接口電路如圖所示 圖2.2.2????? ATMEGA16L單片機接口圖ATmega16是基于增強的AVR RISC結(jié)構(gòu)的低功耗8 位CMOS微控制器。
由于其先進的指令集以及單時鐘周期指令執(zhí)行時間,ATmega16 的數(shù)據(jù)吞吐率高達1 MIPS/MHz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾Tmega16 有如下特點:16K字節(jié)的系統(tǒng)內(nèi)可編程Flash(具有同時讀寫的能力,即RWW),512 字節(jié) EEPROM,1K字節(jié) SRAM,32 個通用I/O 口線,32 個通用工作寄存器,用于邊界掃描的 JTAG 接口,支持片內(nèi)調(diào)試與編程,三個具有比較模式的靈活的定時器 / 計數(shù)器(T/C),片內(nèi)/外中斷,可編程串行USART,有起始條件檢測器的通用串行接口,8路10位具有可選差分輸入級可編程增益 (TQFP 封裝 ) 的 ADC ,具有片內(nèi)振蕩器的可編程看門狗定時器,一個 SPI串行端口,以及六個可以通過軟件進行選擇的省電模式 工作于空閑模式時 CPU 停止工作,而 USART。