基于TMS320F240的PID和PWM溫度控制
1 系統組成
系統采用Pt100作為敏感元件。溫度調理芯片AD7711對其施加激勵電流,Pt100兩端的電壓差分輸入AD7711,經(jīng)濾波、放大、A/D后,串行送至TMS320F240。TMS320F240在計數器周期中斷的控制下以一定的頻率讀取溫度的A/D碼,并進(jìn)行數字濾波得到溫度數據??刂破鱐MS320F240在接收到串口的控溫指令和溫度數據后,把采集到的實(shí)時(shí)溫度與控溫要求的溫度相比較進(jìn)行PID計算得出控制量,用該控制量去控制主電路的電流方向和PWM輸出。電流方向決定對控溫對象加熱還是制冷,PWM的輸出經(jīng)光耦隔離去驅動(dòng)功率MOSFET從而達到控制熱電模塊加熱或調節制冷功率的目的。PID參數也可以通過(guò)串行口進(jìn)行實(shí)時(shí)修改。
1.1 測溫電路
測溫的敏感元件為Pt100,溫度調理芯片為AD7711,濾波器設定的截止頻率為100Hz,可編程運算放大器設定64倍,A/D轉換設定為16位,該芯片以串行方式在微處理器的控制下工作。處理器對AD7711讀數的頻率為20Hz,該采樣頻率在處理器定時(shí)器T3周期中斷的控制下采樣溫度,并在該中斷處理中調用PID處理函數,計算控制量。
1.2 微處理器電路
DSP有三個(gè)通用定時(shí)器,12路PWM輸出,四路捕獲單元,一個(gè)正交編碼脈沖電路,以上片內外設都有相應的中斷向量入口地址。
該控制器具有完整的晶振、復位電路,通常在電阻電容復位方式的基礎上加上門(mén)電路驅動(dòng)以保證復位可靠。對于DSP的上電復位,用引腳RS(35)或PORESET(41)都可以。外擴16KRAM在調試時(shí)下載程序,RAM片選線(xiàn)應接外部程序片選線(xiàn)PS(131),讀寫(xiě)片選線(xiàn)分別接W/R和WE(1)。
F240的事件管理(EVM)有三個(gè)通用定時(shí)器,作為PWM工作的時(shí)間基準。PWM7~9是三個(gè)比較單元的輸出,設計中選用T2為時(shí)基;計數方式采用連續增減計數模式,T2起三角波發(fā)生器的作用。T3定時(shí)器控制溫度采樣、PID計算的頻率;PID計算結果與T2的三角波數據比較,輸出PWM7/8/9去控制三路熱電模塊。
DSP用一片MAX232來(lái)完成電平轉換,與PC串口相連(三線(xiàn)方式)。對于DB9串口,5腳公用地直接相連,用以發(fā)送、接收的3、2腳交叉相連。
1.3 主電路
電路工作時(shí),主橋臂4個(gè)MOSFET控制熱電模塊電流方向,從而控制對溫控對象加熱還是制冷。經(jīng)溫度PID計算后,給定的三路PWM輸出波經(jīng)光耦、MOS-FET驅動(dòng)器,去控制各支路的功率強度;三路之間的脈寬相對關(guān)系相對控溫對象沿長(cháng)度方向上的溫度均一性進(jìn)行調整。
2 軟件
2.1 DSP中斷的使用
TMS320F240的中斷向量表位于0000~003F地址,每個(gè)中斷占兩個(gè)字的空間,所以中斷號N的中斷入口地址為N*2。當中斷發(fā)生時(shí),程序作相應的環(huán)境保護后,跳轉至相應的中斷入口地址。在該中斷地址燒寫(xiě)跳轉至中斷處理函數的語(yǔ)句,如:“B_c_int3”??梢詥为毥ㄒ恢袛嘞蛄勘硖D匯編文件,并以指令“.
sect″.vecs″”將該文件的內容匯編至vecs段,在cmd文件中將vecs段裝載入程序區(PAGE0)的0000開(kāi)始的地址。完成上述操作后,當中斷發(fā)生時(shí)就可以跳轉入中斷處理函數進(jìn)行處理。為了使中斷能發(fā)生,需要打開(kāi)相應中斷源的屏蔽位。F240中的可屏蔽硬件中斷的屏蔽位有三級:一位于ST0中的INTM位,用以屏蔽所有可屏蔽硬件中斷,二位于數據存儲區0004地址的IMR,用以屏蔽INT1~INT6,三位于片內外設的具體事件控制寄存器中。例如,希望串口接收PC數據中斷發(fā)生:
2.2 PID計算輸出控制
加熱及致冷元件采用Peltier原理的半導體熱電模塊。該模塊在一定電流下,一端面加熱另一端面制冷,當電流反向時(shí),冷熱面互換。由于執行元件本身的非線(xiàn)性特點(diǎn),隨溫差增大有效輸出功率急劇變化。假定外界散熱良好,即溫差的一端為恒溫,儀器運行在不同的控溫點(diǎn)時(shí)考慮采用不同的PID參數,設計中分段采用幾組不同的參數。輸出控制量F為PID各環(huán)節分別計算的控制量之和:F=fp+fi+fd。-1≤F≤1,|F|對應PWM的占空比。F<0主電路MOS3、MOS4導通,電流反向;F>0主電路MOS1、MOS2導通,電流正向。設置定時(shí)器3的周期中斷50ms作為PID調節頻率。
2.3 PWM電路的使用
設置完計數器、比較值、端口電平有效性后,啟動(dòng)計數器T2;當計數器與比較值相等時(shí),端口輸出電平作相應變化。經(jīng)PID計算不斷改變比較匹配值SCM-PR1/2/3便輸出相應的PWM波。在程序中用initp-wm789()完成PWM初始化后,即可用setpwm789()來(lái)進(jìn)行PWM。
2.4 DSP和PC通信格式
本設計的波特率為4800、幀格式為8個(gè)數據位、一個(gè)停止位。設計給出每個(gè)指令起始位、長(cháng)度及和檢驗的協(xié)議。在傳輸中所有指令的長(cháng)度為8個(gè)字節,兩個(gè)連續的十六進(jìn)制數0xfe、0xfe表示一條新命令行的開(kāi)始,第三個(gè)字節說(shuō)明指令類(lèi)型,接著(zhù)四個(gè)字節是指令內容,最后一個(gè)字節是該條指令第3個(gè)字節到第7個(gè)字節的累加和,對于溢出部分不予考慮,只用累加和的低8位校驗。本設計中DSP向PC主機發(fā)送的指令共9種,由每條指令的第三個(gè)字節指定(表1,表2)。當傳輸的參數是浮點(diǎn)數時(shí),發(fā)送方將其轉為整數發(fā)送,接收方也作相應的處理。
3 控溫效果
圖3是對500g銅制生物樣品座20℃→70℃→20℃→70℃的控溫曲線(xiàn)。溫度超調量小于0.7℃,控制精度±0.15℃,升降溫速度2℃/秒。
4 結束語(yǔ)
控溫系統通過(guò)上位機下傳控溫點(diǎn)或控溫曲線(xiàn)及計算參數,系統設置靈活,控溫功能豐富??刂浦杏肞ID計算進(jìn)行PWM控制,可達±0.15℃的精確控溫,同時(shí)保證較高的升降溫速度和較小的超調量。研制的儀器運行穩定、可靠。
pid控制器相關(guān)文章:pid控制器原理
pwm相關(guān)文章:pwm原理
評論