<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于單片機的模糊控制系統簡(jiǎn)介

基于單片機的模糊控制系統簡(jiǎn)介

作者: 時(shí)間:2012-07-29 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/160245.htm

3.2 硬件設計
1、ATmega8是采用低功耗CMOS工藝生產(chǎn)的AVR RISC結構的8位。工作電壓4. 5-5.5 V,芯片內部集成A/D轉換功能。通過(guò)編寫(xiě)程序,可將芯片的PC0至PC6口從普通的I/O口功能用作8位或10位A/D轉換,從而省去外圍的A/D轉換 電路。ATmega8內部有3個(gè)定時(shí)器T0,T1和T2,本系統使用2個(gè),分別用作Ss的溫度數據采集和5 NS的LED刷新顯示。
2、 DS18B20支持“一線(xiàn)總線(xiàn)”接口,從而提高了系統的抗干擾性。溫度測量范圍從-55℃~+ 125℃,在-10℃~+85℃時(shí)測量精度為0. 5℃。DS18B20采用3腳TO-92封裝。分別為GND電源地,DQ數據輸人/輸出端(單線(xiàn)總線(xiàn)),VDD外接供電電源輸人端(3.0~5. 5 V) 。DS18B20內部主要由寄生電源、溫度傳感器、64位激光ROM單線(xiàn)接口和配置寄存器等組成。在本系統中,將DQ接ATmega8的PC4口,VDD 與Vcc同接+5V電源,并在DQ和VDD之間接一個(gè)4. 7 kΩ的上拉電阻,即可完成溫度的采集部分的硬件電路。

DS18 B20規定了自己的通信協(xié)議,在每一次的溫度采集轉換時(shí)必須要經(jīng)過(guò)以下的步驟:每一次讀寫(xiě)之前都要進(jìn)行復位;復位后發(fā)送一條ROM指令;發(fā)送RAM指令。 復位要求ATmega8將數據線(xiàn)下拉500μs,然后抬至高電平,DS18B20收到信號后等待16~60μs后發(fā)出60~240μs的低脈 沖,ATmega8收到此信號后表示復位成功。
3、鍵盤(pán)用作上位機對下位機的通信控制。顯示電路采用10位共陰極LED,通過(guò)3片Max595芯片與相連,同時(shí)顯示當前溫度值和設定值。外圍電路同時(shí)有4個(gè)按鍵,可進(jìn)行溫度逐次加減、功能切換以及保存等功能。
3.3 軟件設計
整個(gè)系統的硬件電路設計相對簡(jiǎn)單。在本系統中采用增量型PID控制算法,即:
△u(k)=u(k)-u(k-1)=KP[e(k)一e(k-1)]+Ki(k)+Kd[e(k)一2e(k-1) +e(k-2)]
式中,△u(k)為控制增量;KP為比例參數;Ki為積分參數;Kd為微分參數;e(k)為系統偏差。先根據KP、 Ki 、Kd的值,計算出輸出U的初值,再根據操作人員的給定值得到偏差e和偏差變化率ec,然后通過(guò)規則表推導出KP'、 Ki' 、Kd'的值,再計算出△u。
由于增量型的算法不需要累加量,控制增量△u僅僅與最近的采樣次數有關(guān),所以誤動(dòng)作時(shí)的影響小,而且比較容易通過(guò)加權處理獲得比較好的控制效果。這也是本系統采用增量型的PID控制算法作為Fuzzy PID控制器中的PID調節器部分算法的原因。
控制器的關(guān)鍵是總結操作人員和技術(shù)人員的實(shí)際操作經(jīng)驗和技術(shù)知識,并建立合適的規則表,并將模糊規則表通過(guò)程序編寫(xiě)人單片機ATmega8中的EEPROM中去,在線(xiàn)時(shí)通過(guò)查詢(xún)得到合適的PID參數。
控 制器的控制范圍為整個(gè)測量系統的測量范圍,各個(gè)隸屬函數的論域范圍既要滿(mǎn)足覆蓋的原則,又不要使規則過(guò)多。根據多次實(shí)驗,在本系統中,偏差e和偏差變化率 ec的變化范圍為{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}。其模糊子集為e、ec= {NB,NM,NS,O,PS,PM,PB},分別代表負大,負中,負小,零,正小,正中,正大。在本系統中,所設定的偏差e和偏差變化率ec以及KP、 Ki 、Kd的各個(gè)子集均采用正態(tài)分布。

圖3 程序設計流程圖
應用模糊合成推理使在線(xiàn)運行的過(guò)程中完成對PID參數的自行調整,具體步驟為:(1)采樣獲取當前溫度數據。(2)獲 取偏差和偏差變化率:e(k)=R(k)-Y(k);ec(k)=e(k)-e(k-1)。(3) e(k)和ec ( k)模糊化。(4)計算當前KP、 Ki 、Kd。(5)PID控制器輸出。

在編寫(xiě)程序時(shí),考慮到由于溫度系統變化化緩慢,所以采樣周期用軟件和硬件相結合的方法,即用ATmega8的T1和軟件計時(shí)相結合的方法。
在等待采樣周期到達的期間內不斷進(jìn)行掃描和顯示過(guò)程,通過(guò)LED顯示給定溫度和采樣的溫度,通過(guò)ATmega8的T0進(jìn)行5 ms的定時(shí)刷新LED。
模型控制子程序是根據采樣值和給定值求得溫度的偏差和偏差變化率,將KP、 Ki 、Kd三個(gè)參數的模糊規則表寫(xiě)人單片機的EEPROM中,通過(guò)在線(xiàn)查表獲得控制。具體流程圖如上圖3所示。
4 結論
本文首先介紹了模糊控制理論的基本原理,在此基礎上將模糊控制理論與常規PID控制相結合,在以單片機ATmega8為系統核心部件對溫度進(jìn)行控制。相較單 一的PID控制來(lái)說(shuō),模糊PID控制的效果具有動(dòng)態(tài)效果好,上升時(shí)間快,超調小的優(yōu)越性,在本系統中也取得了很好的控制效果。另外可以發(fā)現,傳統控制與模 糊控制是可以協(xié)同工作、相互補充的。
本文作者創(chuàng )新點(diǎn)為:將模糊應用于水溫的監控中,打破了傳統的控制思路。另外將單片機應用于中,使更加簡(jiǎn)潔,更容易控制,為工業(yè)控制系統提供了另外一條更好的思路。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>