溫箱溫度控制設(shè)計(jì)
3 系統(tǒng)軟件設(shè)計(jì)
本文設(shè)計(jì)的軟件部分主要包括實(shí)現(xiàn)溫度的采集、顯示和控制三大部分。本文引用地址:http://butianyuan.cn/article/159310.htm
如圖8所示,當(dāng)采集溫箱溫度的時(shí)候,系統(tǒng)通過驅(qū)動(dòng)程序設(shè)置好溫度傳感器的轉(zhuǎn)化公式來實(shí)現(xiàn)對(duì)溫度的采集。當(dāng)采集的溫度低于目標(biāo)溫度的時(shí)候,通過對(duì)加熱絲進(jìn)行加熱,實(shí)現(xiàn)加熱操作;當(dāng)采集的溫度高于目標(biāo)溫度的時(shí)候,通過控制壓縮機(jī),實(shí)現(xiàn)降溫操作;并將溫箱的溫度顯示出來,從而使溫箱的溫度達(dá)到設(shè)定的目標(biāo)值,實(shí)現(xiàn)溫箱溫度控制。
3.1 溫度的采集
當(dāng)將要采集溫度數(shù)據(jù)時(shí),MSP430F149將通過溫度傳感器采集溫度,所用到的函數(shù)有:
(1)函數(shù)名稱:ReadTemp,功能:從溫度傳感器的ScratchPad讀取溫度轉(zhuǎn)換結(jié)果,返回值:讀取的溫度數(shù)值。
(2)函數(shù)名稱:uint DolConvert(void),功能:控制溫度傳感器完成一次溫度轉(zhuǎn)換,返回值:測(cè)量的溫度數(shù)值。
3.2 溫箱的溫度控制
在實(shí)現(xiàn)溫度控制的時(shí)候根據(jù)PID控制算法,計(jì)算出控制量,具體實(shí)現(xiàn)過程中所要用到的部分函數(shù)如下:
char Read_Temperature(void)//讀取溫度
void delay(unsigned char time)//延時(shí)時(shí)間以12M晶振為準(zhǔn),延時(shí)時(shí)間為30us×time
void write_bit(unsigned char bitval)//寫一位數(shù)據(jù)子程序
unsigned char read_bit()//讀一位數(shù)據(jù)子程序
void get_temper()//獲取溫度子程序
unsigned int PIDCalc(struct PID*PP,unsignedint NextPoint)//PID計(jì)算
compare_temper()//溫度比較處理子程序
void display()//將占空比溫度轉(zhuǎn)化為單個(gè)字符顯示占空比和測(cè)得到的溫度
3.3 溫度的顯示
在溫度的顯示過程中所要用到的函數(shù)有:
Void WriteCommand(unsigned char wdata)//向數(shù)碼管寫入命令;
Void WriteData(unsigned char wdata)//向數(shù)碼管寫入數(shù)據(jù);
顯示溫度的函數(shù):
WriteDataLcd(0x30+ADC_CH0%1 000/100);//顯示百位;
WriteDataLcd(0x30+ADC_CH0%100/10);//顯示十位;
WriteDataLcd(0x30+ADC_CH0%10);//顯示個(gè)位;
WriteDataLcd(0x30+ADC_CH0%1);//顯示十分位;
4 結(jié)論
基于單片機(jī)MSP430F149的溫箱溫度采集和控制系統(tǒng)是以單片機(jī)為核心的軟硬件平臺(tái)的嵌入式系統(tǒng)。通過使用單片機(jī)、PT100溫度傳感器、數(shù)碼管顯示電路搭建硬件平臺(tái),使用IAR Embedded Workbench開發(fā)環(huán)境,C語言編程實(shí)現(xiàn),設(shè)計(jì)出了一個(gè)基于嵌入式技術(shù)的溫箱溫度控制系統(tǒng)。系統(tǒng)體積小巧,電路連接簡(jiǎn)單,擴(kuò)展性良好,可以方便地進(jìn)行后續(xù)開發(fā),增加用戶所需功能。從而提高了設(shè)備的智能化程度,具有較高的工程實(shí)用價(jià)值。
評(píng)論