基于PIC單片機(jī)和AD7705的高精度信號(hào)采集系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在工業(yè)現(xiàn)場(chǎng)測(cè)試過程中,由于生產(chǎn)中的各種參數(shù)的測(cè)試數(shù)據(jù)對(duì)生產(chǎn)過程具有重要的意義,因此對(duì)各種測(cè)試數(shù)據(jù)精度要求較高。而對(duì)于傳統(tǒng)的傳感器,比如壓阻式、應(yīng)變橋式、熱電偶、熱電阻、電容式以及壓電式傳感器,輸出的一般是毫伏級(jí)的微弱模擬信號(hào),溫度特性差,而且在傳輸過程中信噪比明顯降低。因此需要設(shè)計(jì)高精度穩(wěn)定性強(qiáng)的信號(hào)采集系統(tǒng)進(jìn)行采集。然而采用以往的積分型和逐次比較型A/D實(shí)現(xiàn)高精度信號(hào)采集的難度較大且成本很高。近年來興起的∑-△A/D轉(zhuǎn)換技術(shù)卻能以較低的成本獲取極高的分辨率。AD7705便是一款比較典型的高性能16位∑-△A/D轉(zhuǎn)換芯片。
本設(shè)計(jì)采用AD7705為A/D轉(zhuǎn)換器,配合8位高性能PIC單片機(jī)PIC18F458組成高精度信號(hào)采集系統(tǒng)。硬件電路設(shè)計(jì)方面在單片機(jī)與AD7705典型應(yīng)用電路的基礎(chǔ)上做了改進(jìn),加入了光電隔離、電壓檢測(cè)復(fù)位等電路,使系統(tǒng)采集信號(hào)的精準(zhǔn)度和可靠性都有了很大的提高,軟件設(shè)計(jì)方面給出了關(guān)鍵部分的程序清單。目前該系統(tǒng)已經(jīng)成功應(yīng)用于某智能儀表中,在工業(yè)現(xiàn)場(chǎng)的表現(xiàn)良好。
1 關(guān)鍵器件選型
1.1 AD770S概述
AD7705芯片是帶有自校正功能的∑-△16位A/D轉(zhuǎn)換器,如圖1所示。它包括由緩沖器和增益可編程放大器(PGA)組成的前端模擬調(diào)節(jié)電路、∑-△調(diào)制器以及可編程數(shù)字濾波器等,能直接將傳感器的不同擺幅范圍內(nèi)的信號(hào)放大到接近A/D轉(zhuǎn)換器的滿標(biāo)度電壓附近再進(jìn)行A/D轉(zhuǎn)換,還可選擇輸入模擬緩沖器,以及自校準(zhǔn)和系統(tǒng)校準(zhǔn)方式。此外它還具有高分辨率、寬動(dòng)態(tài)范圍、校準(zhǔn)、低功耗及優(yōu)良的抗噪聲性能,因此非常適用于儀表測(cè)量和工業(yè)控制等領(lǐng)域。
1.2 PIC18F458的特點(diǎn)
作為中高端的8位PIC系列單片機(jī),PIC18F458是高性能的RISC CPU。具有高達(dá)2 MB的程序存儲(chǔ)器:4 KB的數(shù)據(jù)存儲(chǔ)器;高達(dá)10MIPS的執(zhí)行速度;DC~40 MHz時(shí)鐘輸入;4~10MHz帶PLL鎖相環(huán)有源晶振/時(shí)鐘輸入;16位寬指令,8位寬數(shù)據(jù)通道;帶優(yōu)先級(jí)的中斷;8x8單周期硬件乘法器。該款單片機(jī)不僅集成了強(qiáng)大的外圍功能模塊(增強(qiáng)型捕捉輸入功能、脈寬調(diào)制(PWM)輸出部件、I2C和SPI接口以及可尋址的通用同步/異步接收發(fā)送器(USART)串行通信接口),而且因其特殊的單片機(jī)特性(自振式看門狗、可編程代碼保護(hù)功能、休眠省電方式等)及先進(jìn)的fl-ash技術(shù)(低功耗、高增強(qiáng)型flash技術(shù),全靜態(tài)設(shè)計(jì),2.0~5.5 V寬范圍的工作電壓,工業(yè)級(jí)和擴(kuò)展級(jí)溫度范圍),可以適用各種工業(yè)控制場(chǎng)合。
本系統(tǒng)使用PIC18F458作為主控制芯片,選取此芯片與AD7705配合組建信號(hào)采樣系統(tǒng),不僅是因?yàn)镻IC18F458自身配備的主同步串行端口MSSP具有SPI工作方式,而且更重要的是該單片機(jī)的高性能能夠?qū)Σ杉降男盘?hào)進(jìn)行更加有效的處理,便于系統(tǒng)的進(jìn)一步擴(kuò)展。
2 系統(tǒng)設(shè)計(jì)
2.1 硬件電路設(shè)計(jì)
該系統(tǒng)設(shè)計(jì)用于采集氧電勢(shì)和溫度的模擬信號(hào),二者分別是氧傳感器和K型熱電偶的輸出信號(hào)。其中氧電勢(shì)信號(hào)的輸出范圍是0~1.25 V,溫度信號(hào)的輸出范圍是0~50 mV,系統(tǒng)原理框圖如圖2所示。
2.1.1 AD7705及前端采集電路
圖3為AD7705的外圍電路及系統(tǒng)的前端采集電路。氧電勢(shì)和溫度信號(hào)首先要進(jìn)入濾波電路去除干擾雜波然后進(jìn)行精密放大,這里采用低功耗雙運(yùn)算放大器MCP602和反饋電阻組成放大電路,MCP602具有偏置電流低、運(yùn)行速度快、開環(huán)增益高以及滿幅輸出等特點(diǎn),而且其很寬的帶寬非常適用于A/D轉(zhuǎn)換器的驅(qū)動(dòng)放大器。由于提供給AD7705的基準(zhǔn)電壓是2.5 V,調(diào)節(jié)反饋電阻使氧電勢(shì)和溫度放大后的信號(hào)V_01和V_02都在0~2.5 V之間。
基準(zhǔn)電壓在AD7705的外圍電路中最為重要,它直接影響數(shù)據(jù)采集的精準(zhǔn)度,這里采用的是高精度2.5 V參考電壓源MCP1525,它采用先進(jìn)的CMOS電路設(shè)計(jì)和EPROM存儲(chǔ)方式,在時(shí)間和溫度穩(wěn)定性上具有明顯優(yōu)勢(shì),并且在工業(yè)級(jí)溫度范圍-40~+85℃范圍內(nèi)可正常工作,為系統(tǒng)信號(hào)采集的精準(zhǔn)度提供有力保障。
值得注意的是在設(shè)計(jì)AD7705印刷板電路時(shí)必須講究布線技巧,布線的好壞直接影響數(shù)據(jù)轉(zhuǎn)換精度,甚至?xí)鹦酒ぷ魇С?。?jīng)驗(yàn)表明,AD7705應(yīng)該布設(shè)在一個(gè)相對(duì)獨(dú)立和集中的區(qū)域,數(shù)字區(qū)和模擬區(qū)盡可能在底面分開布線,模擬接地與數(shù)字接地應(yīng)只在一個(gè)點(diǎn)連接在一起,所有電源都要加電容去耦電路,電容器盡可能靠近芯片的電源輸入端。
2.1.2 光電隔離電路
為了提高通訊接口在工業(yè)現(xiàn)場(chǎng)的抗干擾能力,采用光電隔離器件是一種簡(jiǎn)單而有效的方法,這里采用的是高速光耦6N136,如圖4所示,它能夠在對(duì)通訊接口進(jìn)行光電隔離的同時(shí)不會(huì)影響通訊速率,可以使系統(tǒng)在不降低采集效率的情況下提高可靠性。由于光耦兩側(cè)的電源和地是要完全分開的,因此設(shè)計(jì)了兩路電源,使6N136能達(dá)到最佳隔離效果。在設(shè)計(jì)印刷板電路時(shí)要特別注意6N136底下不能走數(shù)據(jù)線,這樣會(huì)引入干擾導(dǎo)致數(shù)據(jù)采集跳動(dòng)。
2.1.3 單片機(jī)復(fù)位電路
由于工業(yè)現(xiàn)場(chǎng)環(huán)境復(fù)雜,簡(jiǎn)單的RC復(fù)位電路在強(qiáng)干擾情況下會(huì)使單片機(jī)復(fù)位引腳電壓意外跌落,造成單片機(jī)工作不正常。為了解決這一問題,這里采用電壓檢測(cè)復(fù)位芯片HT7044,它能夠檢測(cè)4.5 V的固定電壓并具有穩(wěn)壓功能,可以滿足系統(tǒng)設(shè)計(jì)穩(wěn)定性的要求,如圖5所示。
2.2 軟件設(shè)計(jì)
AD7705內(nèi)部只有一套模數(shù)轉(zhuǎn)換電路,通道1和通道2的選擇通過軟件設(shè)置進(jìn)行切換,實(shí)際應(yīng)用中往往需要對(duì)不同通道采取不同的增益,動(dòng)態(tài)地對(duì)AD7705進(jìn)行增益、通道設(shè)置,很靈活方便地達(dá)到這一目的。使用AD7705之前,首先要對(duì)所有寄存器進(jìn)行設(shè)置,才能保證器件正常工作。在實(shí)際使用中,首先選擇模擬輸入模式(單極性還是雙極性)、是否需要緩沖、時(shí)鐘分頻和輸出更新速率;根據(jù)外部輸入信號(hào)的幅度來決定設(shè)置器件的增益值。
該系統(tǒng)中的AD7705在應(yīng)用中選擇輸入通道單極性、初始增益等于1、數(shù)據(jù)更新速率為500 Hz。AD7705的讀寫操作嚴(yán)格按照時(shí)序進(jìn)行,圖6和圖7給出了AD7705的讀和寫時(shí)序圖。根據(jù)實(shí)際確定所有參數(shù)以后,對(duì)AD7705芯片進(jìn)行設(shè)置,參數(shù)設(shè)置方法比較獨(dú)特,在設(shè)置參數(shù)之前,首先對(duì)通信寄存器進(jìn)行一次寫操作,來決定下一個(gè)是什么樣的寄存器和什么樣的操作內(nèi)容,再進(jìn)行下一步的參數(shù)寫入,圖8給出了AD7705初始化及讀取數(shù)據(jù)流程圖,讀者可參考下面的AD7705初始化程序。
初始化以后,單片機(jī)就可以從模數(shù)轉(zhuǎn)換器中讀數(shù)據(jù),讀取數(shù)據(jù)之前必須確定數(shù)據(jù)寄存器的狀態(tài),DRDY引腳處于低電平時(shí)表示數(shù)據(jù)轉(zhuǎn)換已經(jīng)完成,可以讀取數(shù)據(jù)。為了便于讀者理解,給出讀數(shù)據(jù)寄存器的函數(shù)原代碼如下:
3 結(jié)束語
該系統(tǒng)實(shí)現(xiàn)了高效率和高精度的信號(hào)采集,具備很強(qiáng)的抗干擾能力。目前已經(jīng)成功應(yīng)用于某智能儀表,使智能儀表在工業(yè)現(xiàn)場(chǎng)采集信號(hào)精度得到提高的同時(shí)控制精度也相應(yīng)得到提高,并且儀表運(yùn)行的可靠性和安全性得以增強(qiáng),實(shí)現(xiàn)了一定的應(yīng)用價(jià)值,具有非常廣闊的應(yīng)用前景。