吳忠偉
摘 要
Proteus軟件元件仿真模型豐富,微處理器仿真功能強大,本文以Proteus軟件為基礎,提出了一種適用于自動控制系統的仿真方法,以采用AT89C51單片機為微處理器的溫室溫度自動控制系統為例,分析了系統的整體結構,探討了Proteus仿真程序設計和實現,利用C語言進行編程,仿真結果顯示,系統仿真控制效果良好。
【關鍵詞】Proteus軟件 自動控制系統 仿真程序
Proteus軟件是專門針對單片機等微處理器的互動型電路仿真軟件,在原理圖虛擬原型上即可完成編程,且能夠實時對軟件源碼進行調試,從而直觀的觀測系統控制效果。基于以上,本文簡要探討了Proteus軟件在自動控制系統仿真中的運用,旨在為相關研究和實踐提供參考。
1 Proteus軟件概述
Proteus是一種電路及單片機系統設計及仿真軟件,由英國著名軟件開發公司Labcenter公司開發研制,在沒有目標原形的基礎上,也能夠實現各種處理器的實時仿真和調試測試。Proteus軟件中的元件庫功能十分龐大,能夠為單片機設計提供外圍部件,同時Proteus軟件支持第三方編譯器,這提升了其使用的便利性。在實際應用的過程中,Proteus軟件及Keil軟件有著明確的分工,前者主要負責硬件仿真,后者主要進行軟件仿真,通過二者的聯調來構建虛擬單片機實驗室,對于提升系統的設計效率有著積極的意義。
2 系統設計與仿真應用實現
本文以溫室溫度自動控制系統為例,探討了Proteus軟件在自動控制系統仿真中的應用,下面來介紹系統設計及實現。
2.1 總體設計
以AT89C51單片機為控制核心,采用DS18B20溫度傳感器測量溫度,其能夠將測量信息傳輸到單片機中,單片機進行溫度測量值處理后會在LCD1602顯示器上顯示。系統運行的過程中,設定溫度上下限值,如果溫度測試值超過設定的溫度上限,蜂鳴器和指示燈會產生報警,此時通風電機啟動,通過溫室室內外通風來實現溫室降溫;如果溫度測試值低于設定的溫度下限,則通風電機停止。系統以串行通信為主,現場采集的數據通過串口傳輸到上位機中。
2.2 Proteus仿真設計
2.2.1 Proteus仿真模塊
采用Proteus軟件中的ISIS工具進行電路原理圖的編輯和電路仿真,其不僅包括常用分立元件和集成塊元件,還包括眾多類型微控制器和仿真元件,能夠實現對外圍接口器件的仿真。采用的芯片包括運算放大器芯片、AT89C51芯片、邏輯門路芯片及模數轉換芯片等。
2.2.2 仿真結構
本文提出的溫室溫度自動控制系統以PID控制為基礎,其仿真原理圖如圖1所示。
在Proteus仿真框圖中,程序中給定r(k)的設定值,由AT89C51單片機處理器程序來實現PID控制算法,選用DAC0808作為模數轉換器,利用運算放大器進行執行機構的仿真,主要的執行機構包括蜂鳴器、溫度上下限指示燈、繼電器及通風機等。為了提升仿真分析的直觀性,增加“ANALOGUE ANAALYSIS”仿真圖形顯示,顯示被控制對象的輸出曲線,以此來更好的進行觀測和分析。
2.2.3 程序設計
選用Keil C51工具對程序進行編寫和變異,以面向對象的模塊化程序設計方法為基礎,對各個模塊進行設計,并進行模塊調試,模塊設計和調試完成之后,進行所有模塊的聯合調試工作。在本文提出的溫室溫度自動控制系統中,主要包括的模塊有溫度采集模塊、電機驅動控制模塊及顯示模塊等。定時器中斷處理程序首先進行溫度反饋信號的采集,并將溫度數據信息進行數字化處理,之后根據溫度上下限設定值進行溫度誤差的PID計算,模數轉換器進行輸出的數字信號轉換。在整個仿真程序設計的過程中,PID輸出計算的編程至關重要。
3 仿真結果分析
在Keil C51中進行軟件調試,將生成的.HEX文件在單片機芯片上加載,點擊運行鍵運行程序,則可以直觀、生動的觀察到溫室溫度自動控制系統的運行結果。當溫度測量值為34℃的時候,超過溫度設定上限,此時顯示器屏幕上顯示出“Temperature val:34℃”,溫度上限指示燈閃爍,同時蜂鳴器產生聲光報警,繼電器觸點接收到指令后合上,通風機開始運轉,實現溫室的內外通風,從而將溫室溫度降低到溫度設定上限之下。
4 結論
Proteus軟件能夠為基于微處理器的自動控制系統提供仿真平臺,能夠實現軟硬件仿真,有利于提升仿真效果。本文以溫室溫度自動控制系統為例,提出了基于Proteus軟件的仿真方法,仿真結果表明,其能夠提升仿真效率和仿真的直觀性與準確性,指的進一步推廣和應用。
參考文獻
[1]陳朝元,魯五一.Proteus軟件在自動控制系統仿真中的應用[J].系統仿真學報,2008(02):318-320.
[2]王申瑩,胡志超,吳惠昌,彭寶良,王海鷗,吳峰.基于Proteus的甜菜收獲機自動對行控制系統設計仿真與試驗[J].中國農機化學報,2014(03):35-40.
作者單位
吉林建筑大學城建學院 吉林省長春市 130000