基於PIC單片機和AD7705的高精度信號採集系統設計

基於PIC單片機和AD7705的高精度信號採集系統設計

在工業現場測試過程中,由於生產中的各種參數的測試數據對生產過程具有重要的意義,因此對各種測試數據精度要求較高。而對於傳統的傳感器,比如壓阻式、應變橋式、熱電偶、熱電阻、電容式以及壓電式傳感器,輸出的一般是毫伏級的微弱模擬信號,溫度特性差,而且在傳輸過程中信噪比明顯降低。因此需要設計高精度穩定性強的信號採集系統進行採集。然而採用以往的積分型和逐次比較型A/D實現高精度信號採集的難度較大且成本很高。近年來興起的∑-△A/D轉換技術卻能以較低的成本獲取極高的分辨率。AD7705便是一款比較典型的高性能16位∑-△A/D轉換芯片。

本設計採用AD7705為A/D轉換器,配合8位高性能PIC單片機PIC18F458組成高精度信號採集系統。硬件電路設計方面在單片機與AD7705典型應用電路的基礎上做了改進,加入了光電隔離、電壓檢測復位等電路,使系統採集信號的精準度和可靠性都有了很大的提高,軟件設計方面給出了關鍵部分的程序清單。目前該系統已經成功應用於某智能儀表中,在工業現場的表現良好。

1 關鍵器件選型

1.1 AD770S概述

AD7705芯片是帶有自校正功能的∑-△16位A/D轉換器,如圖1所示。它包括由緩衝器和增益可編程放大器(PGA)組成的前端模擬調節電路、∑-△調製器以及可編程數字濾波器等,能直接將傳感器的不同擺幅範圍內的信號放大到接近A/D轉換器的滿標度電壓附近再進行A/D轉換,還可選擇輸入模擬緩衝器,以及自校準和系統校準方式。此外它還具有高分辨率、寬動態範圍、校準、低功耗及優良的抗噪聲性能,因此非常適用於儀表測量和工業控制等領域。

基於PIC單片機和AD7705的高精度信號採集系統設計

1.2 PIC18F458的特點

作為中高端的8位PIC系列單片機,PIC18F458是高性能的RISC CPU。具有高達2 MB的程序存儲器:4 KB的數據存儲器;高達10MIPS的執行速度;DC~40 MHz時鐘輸入;4~10MHz帶PLL鎖相環有源晶振/時鐘輸入;16位寬指令,8位寬數據通道;帶優先級的中斷;8x8單週期硬件乘法器。該款單片機不僅集成了強大的外圍功能模塊(增強型捕捉輸入功能、脈寬調製(PWM)輸出部件、I2C和SPI接口以及可尋址的通用同步/異步接收發送器(USART)串行通信接口),而且因其特殊的單片機特性(自振式看門狗、可編程代碼保護功能、休眠省電方式等)及先進的fl-ash技術(低功耗、高增強型flash技術,全靜態設計,2.0~5.5 V寬範圍的工作電壓,工業級和擴展級溫度範圍),可以適用各種工業控制場合。

本系統使用PIC18F458作為主控制芯片,選取此芯片與AD7705配合組建信號採樣系統,不僅是因為PIC18F458自身配備的主同步串行端口MSSP具有SPI工作方式,而且更重要的是該單片機的高性能能夠對採集到的信號進行更加有效的處理,便於系統的進一步擴展。

2 系統設計

2.1 硬件電路設計

該系統設計用於採集氧電勢和溫度的模擬信號,二者分別是氧傳感器和K型熱電偶的輸出信號。其中氧電勢信號的輸出範圍是0~1.25 V,溫度信號的輸出範圍是0~50 mV,系統原理框圖如圖2所示。

基於PIC單片機和AD7705的高精度信號採集系統設計

2.1.1 AD7705及前端採集電路

圖3為AD7705的外圍電路及系統的前端採集電路。氧電勢和溫度信號首先要進入濾波電路去除干擾雜波然後進行精密放大,這裡採用低功耗雙運算放大器MCP602和反饋電阻組成放大電路,MCP602具有偏置電流低、運行速度快、開環增益高以及滿幅輸出等特點,而且其很寬的帶寬非常適用於A/D轉換器的驅動放大器。由於提供給AD7705的基準電壓是2.5 V,調節反饋電阻使氧電勢和溫度放大後的信號V_01和V_02都在0~2.5 V之間。

基於PIC單片機和AD7705的高精度信號採集系統設計

基準電壓在AD7705的外圍電路中最為重要,它直接影響數據採集的精準度,這裡採用的是高精度2.5 V參考電壓源MCP1525,它採用先進的CMOS電路設計和EPROM存儲方式,在時間和溫度穩定性上具有明顯優勢,並且在工業級溫度範圍-40~+85℃範圍內可正常工作,為系統信號採集的精準度提供有力保障。

值得注意的是在設計AD7705印刷板電路時必須講究佈線技巧,佈線的好壞直接影響數據轉換精度,甚至會引起芯片工作失常。經驗表明,AD7705應該佈設在一個相對獨立和集中的區域,數字區和模擬區儘可能在底面分開佈線,模擬接地與數字接地應只在一個點連接在一起,所有電源都要加電容去耦電路,電容器儘可能靠近芯片的電源輸入端。

2.1.2 光電隔離電路

為了提高通訊接口在工業現場的抗干擾能力,採用光電隔離器件是一種簡單而有效的方法,這裡採用的是高速光耦6N136,如圖4所示,它能夠在對通訊接口進行光電隔離的同時不會影響通訊速率,可以使系統在不降低採集效率的情況下提高可靠性。由於光耦兩側的電源和地是要完全分開的,因此設計了兩路電源,使6N136能達到最佳隔離效果。在設計印刷板電路時要特別注意6N136底下不能走數據線,這樣會引入干擾導致數據採集跳動。

基於PIC單片機和AD7705的高精度信號採集系統設計

2.1.3 單片機復位電路

由於工業現場環境複雜,簡單的RC復位電路在強幹擾情況下會使單片機復位引腳電壓意外跌落,造成單片機工作不正常。為了解決這一問題,這裡採用電壓檢測復位芯片HT7044,它能夠檢測4.5 V的固定電壓並具有穩壓功能,可以滿足系統設計穩定性的要求,如圖5所示。

基於PIC單片機和AD7705的高精度信號採集系統設計

2.2 軟件設計

AD7705內部只有一套模數轉換電路,通道1和通道2的選擇通過軟件設置進行切換,實際應用中往往需要對不同通道採取不同的增益,動態地對AD7705進行增益、通道設置,很靈活方便地達到這一目的。使用AD7705之前,首先要對所有寄存器進行設置,才能保證器件正常工作。在實際使用中,首先選擇模擬輸入模式(單極性還是雙極性)、是否需要緩衝、時鐘分頻和輸出更新速率;根據外部輸入信號的幅度來決定設置器件的增益值。

該系統中的AD7705在應用中選擇輸入通道單極性、初始增益等於1、數據更新速率為500 Hz。AD7705的讀寫操作嚴格按照時序進行,圖6和圖7給出了AD7705的讀和寫時序圖。根據實際確定所有參數以後,對AD7705芯片進行設置,參數設置方法比較獨特,在設置參數之前,首先對通信寄存器進行一次寫操作,來決定下一個是什麼樣的寄存器和什麼樣的操作內容,再進行下一步的參數寫入,圖8給出了AD7705初始化及讀取數據流程圖,讀者可參考下面的AD7705初始化程序。

基於PIC單片機和AD7705的高精度信號採集系統設計

基於PIC單片機和AD7705的高精度信號採集系統設計

基於PIC單片機和AD7705的高精度信號採集系統設計

初始化以後,單片機就可以從模數轉換器中讀數據,讀取數據之前必須確定數據寄存器的狀態,DRDY引腳處於低電平時表示數據轉換已經完成,可以讀取數據。為了便於讀者理解,給出讀數據寄存器的函數原代碼如下:

基於PIC單片機和AD7705的高精度信號採集系統設計

基於PIC單片機和AD7705的高精度信號採集系統設計

3 結束語

該系統實現了高效率和高精度的信號採集,具備很強的抗干擾能力。目前已經成功應用於某智能儀表,使智能儀表在工業現場採集信號精度得到提高的同時控制精度也相應得到提高,並且儀表運行的可靠性和安全性得以增強,實現了一定的應用價值,具有非常廣闊的應用前景。


分享到:


相關文章: