1 引言
自動控制原理是國內高校自動化專業最重要的一門專業課,這門專業課的理論性非常強,光靠課堂教學達不到理想的教學效果,因此各個高校都開設自動控制原理實驗,通過實驗教學環節加深學生對理論知識的理解,將課堂教學知識轉化為實際應用知識,同時培養學生對自動控制原理這門課程的興趣。然而國內教學儀器企業銷售的自動控制原理實驗平臺不但操作復雜,而且價格昂貴,從而導致高校實驗教學開放程度不高,降低了實驗教學效果,繼而影響到自動控制原理的學習。針對此種現象,設計了一種簡易自動制原理實驗平臺,該系統主要包括電源、基于單片機AT89S52的信號發生器模塊、基本實驗環節模塊、控制系統環節模塊、數據采集模塊等模塊。其中,數據采集模塊通過ATmega16 單片機將采集到的實驗數據,送到PC機上的LabVIEW 虛擬軟件平臺進行顯示或者儲存。經過實驗證明系統相對于傳統高校自動控制原理實驗平臺具有操作方便和價格低等優點,適合在高校實驗室推廣的價值。
2 簡易自動控制原理實驗系統介紹
簡易自動控制原理實驗系統結構圖如圖1 所示。其中電源輸入為市電220V ~ 50Hz 交流電輸入,通過電源模塊后可為整個系統提供各種所需電壓,電壓規格包括± 12V,+ 5V 等。信號發生器提供實驗環節所需要的輸入信號,其中包括階躍信號和頻率范圍為0 - 100KHz 正弦波、方波、三腳波的信號源。模擬環節包括基本實驗環節模塊和控制系統模塊。數據采集模塊的功能是將實驗環節模塊輸出的模擬量數字化并通過RS232 串行通信將其送入PC 機進行處理,其中還包括電平轉換模塊,其作用是將輸入信號轉換為0 - 5V范圍內,從而能夠采集數據。PC 機安裝上位機軟件,用于接收下位機傳送的數據并進行處理和顯示,同時上位機將指令傳給下位機,用于調節下位機數據采集的速率和通道。
實驗平臺總體思想采用分模塊設計方法,首先將各分模塊分別設計和調試,再將其各模塊之間進行集成設計和聯立調試。采用該設計方法能使設計過程簡單并且能提高設計效率。
圖1 系統原理框圖
2. 1 信號發生器電路設計
信號發生器電路如圖2 所示,其中主控芯片AT89S52通過鍵盤和液晶電路接收來自用戶對所需信號的頻率及幅度。當用戶設置主控芯片后,引腳控制DDS 芯片AD9833 就會產生相應的信號,其信號由LM741電路放大后經U7 輸出端口輸出。
圖2 信號發生器電路原理圖
2. 2 數據采集電路和多通道采集電路設計
ATmega16 單片機是美國Atmel 公司生產的基于增強的AVR RISC 結構的低功耗8 位CMOS 微控制器。ATmega16 單片機資源非常豐富、性價比高而且在工業生產中應用非常廣泛。ATmega16 單片機除了具有其他同類型單片機共有的特性外,還獨具有8 路10 位具有可選差分輸入級可編程增益的ADC 及可編程異步串行接口的內部資源。系統正是利用ATmega16 的8 路10 位可編程增益的逐次比較型ADC 及可編程異步串行接口的內部資源,從而簡化了電路設計的難度及編程難度。數據采集電路如圖2 所示,ATmega16只需結合簡單的電平轉換、晶振電路和復位電路就可以達到系統的設計需求。圖3 電路中模擬信號通過八路模擬輸入的任意端口輸入即可,通過單片機內部程序控制,將輸入模擬量轉化為數字量。單片機再通過串行接口傳輸給PC 機,系統的通信是通過串行發送引腳TXD 和串行接收引腳RXD 連接串行通信接口電路實現數據的串行傳送與接收。
圖3 采樣電路原理圖
由于ATmega16 內部ADC 為八選一數據通道,在具體實現某路數據采集時就必須更改多工選擇寄存器ADMUX 的數值。為能隨時更改通道,本設計采用主從方式,通過上位機發送給ATmega16 的數值來改變通道。同時,在串行接口接收中斷后,通過接收的數值的編碼也可用來改變ADC 相鄰兩次轉換之間的延時值,從而達到改變轉換速率的效果。本系統采用0 - 7 為通道選項,當數據大于7 時為更改采樣速率值。當數據更改操作完成后程序立即返回主程序,此時ADC 轉換由新的參數運行。
2. 3 下位機軟件設計
下位機軟件包括信號發生器軟件和數據采集軟件兩部分。信號發生器采用AT89S52 型單片機加AD9833 型的DDS 芯片構成,軟件編程使用環境為Keil uVision 4.數據采集模塊采用ATmega16 型單片機構成,軟件編程使用環境為AVR GCC 和AVR studio 4.下位機軟件設計的關鍵是能使程序能即時完成數據的接收和發送,同時保證數據的準確,為此,系統采用中斷響應的方式完成串行數據接收,同時完成ADC 轉換以及數據的發送。下位機程序分為主程序、串行接收中斷和ADC 轉換完成中斷三部分,其流程圖如圖4 所示。在主程序中主要完成串口和ADC 寄存器的初始化,初始化完成后啟動片內ADC 的第一次轉換,隨即系統進入等待中斷狀態,若接收到停止信號,系統馬上停止。當系統響應到串行接收數據中斷,通過接收的數值對ADC 轉換的通道和采集速度進行相應的修改,當修改完成后立即返回主程序。當ADC 每次轉換完成相應標志位置位,程序跳轉到ADC 轉換并完成中斷運行。此時系統讀取轉換的數值并處理,隨即通過串口將該數據發送給上位機。當串口數據發送完成后起動延時; 另外當延時完成后,系統將ADC 轉換起動標志位置位,然后進行下一次轉換。下位機程序運行的整個過程中,系統通過中斷方式完成,具有響應及時、提高單片機處理內部和外部事件能力的優點。
圖4 下位機程序流程圖
2. 4 上位機前面板設計
系統采用LabVIEW 開發平臺制作上位機軟件,即在PC 機上設計出虛擬示波器。系統虛擬示波器上位機軟件界面如圖5 所示。從圖5 可知,上位機具有串口參數調節、數據波形顯示、數據存儲、數據回放、以及采樣通道及速率選擇等功能。虛擬示波器在波形顯示過程中,用戶可根據個人喜好對曲線顏色、數據采集速率和通道等參數的進行設置。同時在實驗過程中,可以點擊波形存儲按鈕對接收到的數據以TXT 或其他格式的文件存儲在PC 機硬盤或其他外部磁盤中。用戶可根據需要隨時通過數據回放按鈕選擇文件查看數據波形或者將數據文件提供給Matlab 和Exel 等數據處理軟件進行分析處理,使用非常靈活方便。
圖5 上位機前面板界面圖
3 實驗結果及分析
系統設計完成后,對典型二階震蕩環節進行實驗,實驗系統模擬電路連接如圖6 所示。
圖6 二階振蕩環節模擬電路圖
圖6 所示模擬電路的拉氏運算電路如圖7 所示。
圖7 二階振蕩環節拉氏運算電路
將圖7 所示電路進行頻域分析有:
式1 中參數為R1 = R2 = R3 = R7 = R8 = 200K,R4 = 10K,R5 = R6 = 100K,C1 = 1uF,C2 = 10uF; 對上式進行拉氏變換可得出系統輸出響應函數為:
在MATLAB 中進行仿真,可以得到其階躍響應曲線,如如圖8 所示:
圖8 二階振蕩環節階躍作用下輸出仿真波形
圖9 為簡易自動控制原理實驗系統二階振蕩環節在單位階躍作用下的輸出波形,通過對比可知實驗波形與圖8 所示的仿真波形基本一致,說明實驗系統能很好的實現自動控制原理實驗功能,達到設計目的。
圖9 二階振蕩環節在階躍信號作用輸出波形圖
4 結束語
一種簡易的自動控制原理實驗平臺由雙單片機AT89S52、ATmega16、LM741 等硬件電路和下位機系統及由LabVIEW 開發的上位機軟件構成。系統充分利用AT89S52 和ATmega16 單片機軟硬件資源,方便快捷地實現信號產生和數據采集,PC 機通過LabVIEW 開發平臺方便的進行數據采集、監控、分析、處理、存儲和打印輸出。該實驗系統具有電路簡單、使用靈活方便和擴展性強等特點,可以廣泛地應用于高校自動控制原理實驗室,方便學生開展實驗,從而有效地降低實驗成本和節約實驗室資源。
-
單片機
+關注
關注
6032文章
44521瀏覽量
633084 -
數據采集
+關注
關注
38文章
5910瀏覽量
113521 -
信號發生器
+關注
關注
28文章
1455瀏覽量
108656
發布評論請先 登錄
相關推薦
評論