新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32水溫控制系統(tǒng)硬件詳解

STM32水溫控制系統(tǒng)硬件詳解

作者: 時(shí)間:2016-11-19 來(lái)源:網(wǎng)絡(luò) 收藏
系統(tǒng)介紹:基于STM32F103的水溫控制系統(tǒng).實(shí)現(xiàn)室溫到100度任意區(qū)間水溫控制.精度;+/-1攝氏度.平均響應(yīng)應(yīng)時(shí)間:5分鐘.控制對(duì)象:1公斤水.

系統(tǒng)主要組成;鉑金測(cè)溫驅(qū)動(dòng)電路(恒流源實(shí)現(xiàn)),市電電壓過(guò)零檢測(cè)電路.功率驅(qū)動(dòng)電路(固態(tài)繼電器實(shí)現(xiàn)),小信號(hào)放大電路(儀用運(yùn)放實(shí)現(xiàn)),STM32單片機(jī)最小系統(tǒng).500W水溫加熱管.

本文引用地址:http://2s4d.com/article/201611/318075.htm

1,鉑金電阻測(cè)溫驅(qū)動(dòng)電路

驅(qū)動(dòng)PT100鉑金測(cè)溫電阻.和電阻橋原理相似.利用1MA精密恒流源加在鉑金電阻一端,另一端接地.用另一個(gè)1MA精密恒流源加在精密100歐姆電阻一端,另一端接地.(選擇100歐姆,是因?yàn)镻T100在零度時(shí)電阻值是100歐姆)

這是鉑金電阻驅(qū)動(dòng)電路,R3是鉑金電阻,當(dāng)溫度變化時(shí)電阻會(huì)發(fā)生變化,從而影響VF1和VF2之間壓差不為零。分別作為INA128儀表放大器的輸入端(儀表放大器的優(yōu)點(diǎn)是輸入阻抗非常高,共模抑制比好,非常適合橋式電路)。經(jīng)過(guò)放大輸出差模信號(hào)。但是其輸入的共模信號(hào)比較窄,最大也只能到達(dá)電源電壓附近,此時(shí)可以通過(guò)調(diào)節(jié)Ref端調(diào)節(jié)輸出電壓。再用OPA335完成10倍的放大工作使其輸出在合適的范圍,方便AD采集。

2,驅(qū)動(dòng)電阻橋的是1毫安的電流源,必須選用精密電流源。保證電阻的變化不影響電流源的電流,如果不是精密電流源,那么電阻的變化就不能真正反應(yīng)溫度的變化,影響整個(gè)系統(tǒng)的精度。我選用的是HowLand電流泵

這是1mA的電流源,經(jīng)過(guò)試驗(yàn)搭建非常穩(wěn)定,適合用來(lái)驅(qū)動(dòng)橋式測(cè)溫電路。

3,電熱絲驅(qū)動(dòng)電路,用的是固態(tài)繼電器。性能穩(wěn)定,但價(jià)格較貴。在調(diào)節(jié)加熱功率時(shí)用的過(guò)零檢測(cè)電路,通知單片機(jī)進(jìn)入中斷,調(diào)節(jié)繼電器通斷時(shí)間,控制導(dǎo)通角,從而控制加熱功率。其實(shí)可以不用過(guò)零檢測(cè),這里用到是因?yàn)檫@里用過(guò)零檢測(cè),可以精確地調(diào)整輸入功率,控制更精確,對(duì)電網(wǎng)沖擊更小。使整個(gè)系統(tǒng)工作更穩(wěn)定。

4,溫度控制算法,在控制領(lǐng)域因?yàn)樗菧笮员容^嚴(yán)重的介質(zhì)。在加熱功率的控制上,必須采用一定的算法控制,這里采用PID控制算法,簡(jiǎn)單易行。通過(guò)調(diào)節(jié)比例,積分,微分常數(shù),控制功率,避免超調(diào)。下面是程序算法模型

structPID{

unsignedintSetPoint;//設(shè)定目標(biāo)DesiredValue

unsignedintProportion;//比例常數(shù)ProportionalConst

unsignedintIntegral;//積分常數(shù)IntegralConst

unsignedintDerivative;//微分常數(shù)DerivativeConst

unsignedintLastError;//Error[-1]

unsignedintPrevError;//Error[-2]

unsignedintSumError;//SumsofErrors

};

//PID處理函數(shù)

//=====================================================================================================*/

unsignedintPIDCalc(structPID*pp,unsignedintNextPoint)

{

unsignedintdError,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//比例項(xiàng)

+pp->Integral*pp->SumError//積分項(xiàng)

+pp->Derivative*dError);//微分項(xiàng)

}

此模型容易在單片機(jī)上實(shí)現(xiàn),性能較好。經(jīng)過(guò)實(shí)際驗(yàn)證符合較高的要求。對(duì)于各個(gè)參數(shù)的選取,我才用的是配湊發(fā),根據(jù)效果來(lái)不斷調(diào)整參數(shù),最終調(diào)到合適的參數(shù)。

5,最后一點(diǎn)是AD采集的基準(zhǔn)電壓源也很重要,直接影響采樣精度,如果可以盡量選用專用的基準(zhǔn)電壓源芯片,控制AD采樣誤差。

以上是整個(gè)水溫控制系統(tǒng)的設(shè)計(jì)要點(diǎn),比較簡(jiǎn)單。但是對(duì)于理解PID控制有很大幫助,還有儀用運(yùn)放的使用和電流源的使用橋式電路的使用。硬件和軟件都達(dá)到一定的鍛煉效果。



評(píng)論


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

關(guān)閉