基于單片機的模糊PID的鍋爐壓力控制器的設計
3系統軟件設計
本系統中的軟件主要是根據系統要求運用C語(yǔ)言設計的,軟件能可靠地實(shí)現系統的各種功能。系統軟件設計采用模塊化思想。根據功能將系統軟件分為初始化系統、數據采集并對采集所得的數據進(jìn)行處理。系統軟件主流程圖和中斷處理程序流程圖如圖3所示。

圖3 系統軟件主流程圖
本系統水泵自動(dòng)控制過(guò)程如下:當爐水水位下降超過(guò)低位時(shí),泵1啟動(dòng)自動(dòng)補水,當爐水水位上升超過(guò)高位時(shí),泵1停止,當爐水水位再次下降超過(guò)低位時(shí),泵1又啟動(dòng)自動(dòng)補水。如此循環(huán)直到停止運行。在水位狀態(tài)顯示“正常”時(shí)按“運行”鍵開(kāi)始運行的話(huà),泵1不啟動(dòng),等水位下降到“低位”時(shí)才啟動(dòng)。在壓力控制運行過(guò)程中,當發(fā)生缺水、壓力超高、水位超高、燃燒機故障、煙溫超高等故障時(shí)聲光報警停機保護。
下面是燃燒機故障程序:
else if(status_ERR==1)
{
LED_RUN=LED_ON;
LED_WAIT=LED_OFF;
LED_BURNFAULT=LED_ON;
MotorAlm=0; //警鈴開(kāi)
MotorAir=1; //強制關(guān)風(fēng)機
SecondBurn=1; //關(guān)二極火
FirstBurn=1;
status_Start=0;
}
else if(status_Watered==0WaterLowest==0)
{
MotorWater=0; //開(kāi)水泵
MotorAir=1; //關(guān)風(fēng)機
SecondBurn=1; //關(guān)二極火
FirstBurn=1; //關(guān)一級火
if(WaterHigh==0) //加水到高水位停止
status_Watered=1; //置加過(guò)水標志
LED_RUN=LED_ON;
LED_WAIT=LED_OFF;
status_Start=1; //置運行標志
}
……
else if(PrESSureHighest==1Pressurelower==1PressureHigh==1) //沒(méi)有壓力
{
status_PressureHighest=0;
status_pressuresilence=0;
LED_PRESSURE=LED_OFF;
}
4結束語(yǔ)
本文設計了一個(gè)具有普遍實(shí)用意義的中檔單片機鍋爐壓力控制器系統。該系統采用了STC89C51作為核心,具體控制算法采用能進(jìn)行實(shí)時(shí)調整的模糊PID方式,該系統能克服常規單片機PID控制系統的一些不足之處,達到較為理想的控制效果。該系統已經(jīng)被廠(chǎng)家使用,系統運行穩定。
pid控制器相關(guān)文章:pid控制器原理
蜂鳴器相關(guān)文章:蜂鳴器原理 水位傳感器相關(guān)文章:水位傳感器原理
評論