本文通過LabVIEW虛擬實驗軟件平台設計了一種利用ATmega16單片機進行數據採集,通過RS232串行通信將數據傳送給PC的簡易虛擬示波器。用戶可以在開發平台上對數據採集參數進行設置和調整以及對波形數據存儲。
系統的創新點是擺脫了傳統開發平台的限制,具有多通道、方便、靈活等特點,在數據採集、傳感器監測等領域有重要應用。虛擬儀器是基於PC技術發展起來的,所以完全「繼承」了以現成即用的PC技術為主導的最新商業技術的優點,包括功能超卓的處理器和文件I/O,使在數據導入磁盤的同時就能實時地進行複雜的分析。
為了實時、準確地測量輸入波形的參數,本文採用自帶8路10位ADC的單片機ATmega16,結合簡單的外圍電路,即可將輸入波形實時傳送給PC機進行處理。通過PC機上虛擬儀器平台LabVIEW開發的上位機軟件對波形進行顯示和處理,從而達到簡易虛擬示波器的效果。
數據採集電路設計
ATmega16單片機是美國Atmel公司生產的基於增強的AVR RISC結構的低功耗8 位CMOS微控制器。ATmega16有如下特點:16k位元組的系統內可編程Flash(具有同時讀寫的能力,即RWW),512位元組EEPROM,1k位元組SRAM,32個通用I/O口線,32個通用工作寄存器,用於邊界掃描的JTAG接口,支持片內調試與編程。
三個具有比較模式的靈活的定時器/計數器(T/C),片內/外中斷,可編程串行USART,有起始條件檢測器的通用串行接口,8路 10位具有可選差分輸入級可編程增益(TQFP封裝)的ADC,具有片內振蕩器的可編程看門狗定時器,一個SPI 串行端口,以及六個可以通過軟件進行選擇的省電模式。

圖2 採樣電路原理圖。
本設計正是利用ATmega16的8路10位可編程增益的逐次比較型ADC及可編程異步串行接口的內部資源,從而簡化了電路設計的難度及編程難度。採樣電路的電路圖如圖2所示,ATmega16隻需結合簡單的晶振電路和複位電路就可以完成本設計的需求。

模擬信號通過8路模擬輸入的任意端口輸入即可,通過單片機內部程序控制,很容易就將輸入模擬量轉化為數字量。單片機再通過串行接口傳輸給PC機, 串行通信通過串行發送引腳TXD(PD1)和串行接收引腳RXD(PD0)連接串行通信接口電路實現數據的串行傳送與接收。
串口通信接口電路設計
本系統設計中通過Max232連接單片機和PC機。ATmega16 具有異步串行通訊接口(UART),UART是為能與計算機通訊的全雙工異步系統。本系統採用RS232接口方式, 由於RS232信號電平與AVR單片機信號電平(TTL 電平)不一致,因此在採用RS232標準時必須進行信號電平轉換。
在串行通信的接口電路中選用MAX232芯片作為信號電平轉換芯片,實現TTL電平和 RS232接口電平之間的轉換。從而把ATmega16內部需要傳送的數字信號準確無誤地傳輸給PC機,供上位機軟件讀取並進行信號處理。
串行接口電路原理圖如圖3所示,TTL電平引腳輸入引腳9、10,連接ATmega16的串行發送接口TXD和串行接收接口RXD,通過電平轉換為RS232電平,通過7腳和8腳連接串行接口的2腳和3腳,串行接口通過串行通信線連接採樣模塊的串行接口和PC機的串行接口。ATmega16通過內部編程很方便地把數據傳送給PC機。

圖3 串口通信接口電路圖。
多通道採樣原理:由於ATmega16內部ADC為8選1數據通道,在具體實現某路數據採集時就必須更改多工選擇寄存器ADMUX的數值。為能隨時更改通道,本設計採用主從方式,通過上位機發送給ATmega16的數值來改變通道。
在ATmega16的串行中斷的接收中斷中, 通過判斷接收的數值更改ADMUX的數值。同時,在串行接口接收中斷中,通過接收的數值的編碼也可用來改變ADC相鄰兩次轉換之間的延時值,從而達到改變轉換速率的效果,當需要採集雙通道數值時,單片機內部ADC可採用分時復用的原則,同時將獲得的八位數據加一個最高標誌位,擴展為九位數據位。上位機通過對數據的最高位的校驗,可以很方便地區分數據,在顯示界面上將雙通道波形實時顯示更新。
設計的虛擬示波器系統由單片機ATmega16和Max232構成的下位機系統及由LabVIEW開發的上位機軟件構成。系統充分利用 ATmega16單片機軟硬件資源,方便快捷地實現數據採集。
並且通過RS232接口實現與上位PC機的連接,PC機通過LabVIEW開發平台方便地實現進行數據的分析、處理、存儲和打印輸出的簡易虛擬示波器。本系統具有電路簡單、使用靈活方便等特點。因此能廣泛應用於工業、農業、水文系統、環境監測等領域,實現現場勘測和數據採集。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/299943.html
微信掃一掃
支付寶掃一掃