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