關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 基于STC12C5A60S2的馬弗爐溫度控制器設(shè)計(jì)

        基于STC12C5A60S2的馬弗爐溫度控制器設(shè)計(jì)

        作者: 時間:2010-06-01 來源:網(wǎng)絡(luò) 收藏

        3.參數(shù)的設(shè)置與調(diào)整
        ①加溫迅速達(dá)到目標(biāo)值,但溫度過沖很大。

        本文引用地址:http://www.104case.com/article/163048.htm


        比例系數(shù)太大,致使在未達(dá)到設(shè)定溫度前加熱比例過高;微分系數(shù)過小,對對象反應(yīng)不敏感。


        ②加溫經(jīng)常達(dá)不到目標(biāo)值,小于目標(biāo)值時間多。


        比例系數(shù)過小,加溫比例不夠;積分系數(shù)過小,對靜差補(bǔ)償不足。


        ③基本在控制溫度內(nèi),但上下偏差大,經(jīng)常波動。


        微分系數(shù)小,對及時變化反應(yīng)慢;積分系數(shù)過大,使微分反應(yīng)被鈍化。


        ④受環(huán)境影響較大


        微分系數(shù)小,對及時變化反應(yīng)慢;設(shè)定的基本定時周期過長,不能得到及時修正。


        下面給出PID控制程序:
        #ifndef _PID_H__
        #define _PID_H__
        #includeintrins.h>
        #includemath.h>
        #includestring.h>
        struct PID {
        unsigned int SetPoint; // 設(shè)定目標(biāo) Desired Value
        unsigned int Proportion; // 比例常數(shù) Proportional Const
        unsigned int Integral; // 積分常數(shù) Integral Const
        unsigned int Derivative; // 微分常數(shù) Derivative Const
        unsigned int LastError; // Error[-1]
        unsigned int PrevError; // Error[-2]
        unsigned int SumError; // Sums of Errors
        }
        struct PID spid; // PID Control Structure
        unsigned int rout; // PID Response (Output)
        unsigned int rin; // PID Feedback (Input)
        sbit output=P1^4;
        unsigned char high_time,low_time,count=0;//占空比調(diào)節(jié)參數(shù)
        unsigned char set_temper=920;
        void PIDInit (struct PID *pp)
        {
        memset ( pp,0,sizeof(struct PID));
        }
        unsigned int PIDCalc( struct PID *pp, unsigned int NextPoint )
        {
        unsigned int dError,Error;
        Error = pp->SetPoint - NextPoint; // 偏差
        pp->SumError += Error; // 積分
        dError = pp->LastError - pp->PrevError; // 當(dāng)前微分
        pp->PrevError = pp->LastError;
        pp->LastError = Error;
        return (pp->Proportion * Error//比例
        + pp->Integral * pp->SumError //積分項(xiàng)
        + pp->Derivative * dError); // 微分項(xiàng)
        }


        4. 溫度采集電路
        熱電偶作為一種主要的測溫元件,具有結(jié)構(gòu)簡單、制造容易、使用方便、測溫范圍寬、測溫精度高等特點(diǎn)。但是,熱電偶的應(yīng)用卻存在著非線性、冷端補(bǔ)償、數(shù)字化輸出等幾方面的問題。中采用的MAX6675是一個集成了熱電偶放大器、冷端補(bǔ)償、A/D轉(zhuǎn)換器及SPI串口的熱電偶放大器與數(shù)字轉(zhuǎn)換器,其電路如圖2所示。

        圖2 溫度采集電路圖


        MAX6675從SPI串行接口輸出數(shù)據(jù)的過程如下:MCU使CS變低并提供時鐘信號給SCK,由SO讀取測量結(jié)果。CS變低將停止任何轉(zhuǎn)換過程;CS變高將啟動一個新的轉(zhuǎn)換過程。一個完整串行接口讀操作需16個時鐘周期,在時鐘的下降沿讀16個輸出位,第1位和第15位是一偽標(biāo)志位且總為0;第14位到第3位為以MSB到LSB順序排列的轉(zhuǎn)換溫度值;第2位平時為低,當(dāng)熱電偶輸入開放時為高;開放熱電偶檢測電路完全由MAX6675實(shí)現(xiàn),為開放熱電偶檢測器操作,T-必須接地,并使接地點(diǎn)盡可能接近GND腳;第1位為低電平以提供MAX6675器件身份碼,第0位為三態(tài)。

        圖3 SO端輸出溫度數(shù)據(jù)的格式

        圖4 MAX6675的SPI接口時序



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 亳州市| 六安市| 昌邑市| 抚松县| 亳州市| 江孜县| 韶山市| 阜城县| 无棣县| 嘉义县| 富锦市| 洪湖市| 绵阳市| 伽师县| 兴海县| 军事| 连南| 都江堰市| 古浪县| 昭苏县| 湖南省| 扎兰屯市| 安达市| 渭源县| 黎平县| 墨玉县| 遂平县| 灌南县| 曲周县| 仁怀市| 鄂托克旗| 平南县| 神池县| 庆阳市| 开鲁县| 长汀县| 北流市| 安岳县| 应用必备| 分宜县| 石阡县|