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