基于MC68HC908GP32的深海熱液多點(diǎn)溫度、壓力采集及控制系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引 言
現(xiàn)代深海探測(cè)領(lǐng)域中,需要進(jìn)行溫度、壓力檢測(cè),并通過電磁閥實(shí)時(shí)控制水下機(jī)械臂采樣動(dòng)作,通過步進(jìn)電機(jī)控制旋轉(zhuǎn)水下攝像頭拍攝轉(zhuǎn)速,以達(dá)到研究深海熱液溫度壓力變化并實(shí)時(shí)控制的目的。海底熱液溫度最高可達(dá)300~400℃,最低則不超過10℃;海底壓力最高可達(dá)40Mpa。根據(jù)此特殊情況,設(shè)計(jì)了測(cè)溫范圍為0~500℃,測(cè)壓范圍為1~45Mpa的控制系統(tǒng)。本系統(tǒng)利用MOTOROLA公司MC68HC908GP32單片機(jī)作為核心控制,并擴(kuò)展出數(shù)據(jù)存儲(chǔ),電磁閥和電機(jī)控制等功能。整個(gè)系統(tǒng)具有實(shí)時(shí)控制,功耗低,體積小等優(yōu)點(diǎn)。
1 系統(tǒng)原理
本系統(tǒng)由三組鉑電阻測(cè)三點(diǎn)溫度,三個(gè)鉑電阻分別編號(hào)為1、2、3,由繼電器控制選擇輸入至溫度變送器變換為電流信號(hào),后經(jīng)電流-電壓轉(zhuǎn)換電路輸入至單片機(jī)AD轉(zhuǎn)換口,在單片機(jī)內(nèi)部處理后在數(shù)碼管顯示;由一個(gè)壓力傳感器測(cè)壓力,編號(hào)為4,經(jīng)壓力變送器輸入單片機(jī)AD轉(zhuǎn)換口,在單片機(jī)內(nèi)部處理后在數(shù)碼管顯示。數(shù)碼管為4位七段數(shù)碼管,第一位顯示編號(hào),后三位顯示溫度值或壓力值,編號(hào)1-2-3-4-1循環(huán)顯示,兩編號(hào)數(shù)據(jù)顯示間隔時(shí)間為10秒(可調(diào))。同時(shí)每隔1秒(可調(diào))將溫度和壓力數(shù)據(jù)存入EEPROM存儲(chǔ)器中,需要時(shí)通過串口傳至PC機(jī),可供后續(xù)數(shù)據(jù)分析處理。PC機(jī)端用Delphi做數(shù)據(jù)處理軟件,可繪制溫度、壓力變化曲線,保存后供進(jìn)一步分析處理。系統(tǒng)同時(shí)根據(jù)溫度、壓力變化實(shí)時(shí)控制電磁閥吸合控制機(jī)械臂動(dòng)作,并可根據(jù)其他系統(tǒng)控制信號(hào)調(diào)整步進(jìn)電機(jī)轉(zhuǎn)速。系統(tǒng)設(shè)計(jì)框圖如圖1所示:
500)this.style.width=500;" border="0" />
2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件包括單片機(jī)匯編程序設(shè)計(jì)和人機(jī)交互界面設(shè)計(jì)兩部分。
2.1 單片機(jī)匯編程序設(shè)計(jì)
匯編程序由各個(gè)子程序構(gòu)成,對(duì)采集數(shù)據(jù)進(jìn)行實(shí)時(shí)處理。主要有溫度及壓力循環(huán)顯示子程序,A/D轉(zhuǎn)換及數(shù)據(jù)處理子程序,EEPROM數(shù)據(jù)存儲(chǔ)子程序,數(shù)據(jù)上傳PC機(jī)子程序,步進(jìn)電機(jī)轉(zhuǎn)速調(diào)整及電磁閥控制子程序,定時(shí)中斷子程序,外部中斷子程序等部分構(gòu)成。主程序流程圖如圖2所示:
500)this.style.width=500;" border="0" />
2.2 人機(jī)交互界面設(shè)計(jì)
人機(jī)交互界面由Delphi 7.0開發(fā)而成,由串口通信,數(shù)據(jù)處理,數(shù)據(jù)文件操作,數(shù)據(jù)曲線形成及其分析,端口波特率設(shè)置等部分組成。
3 系統(tǒng)硬件電路設(shè)計(jì)
3.1 微處理器
MOTOROLA單片機(jī)MC68HC908GP32具有加密功能的32K字節(jié)Flash ROM,512字節(jié)RAM,8路8位A/D轉(zhuǎn)換控制器,增強(qiáng)型串行通信接口和串行外圍接口,及兩個(gè)16位雙通道定時(shí)器接口模塊。它的總線時(shí)鐘高達(dá)8MHZ,最小指令周期為125ns,帶時(shí)鐘預(yù)分頻的定時(shí)基模塊有8中周期性實(shí)時(shí)中斷,且具有多種保護(hù)功能[1]。
3.2 溫度、壓力數(shù)據(jù)采集部分
本系統(tǒng)選用三個(gè)PT100鉑電阻作為測(cè)溫傳感器,通過兩個(gè)繼電器選通做為溫度輸入。這種鉑電阻溫度系數(shù)的離散度很小,精確度高,靈敏度好,測(cè)溫范圍為-200~650℃[2];配套使用的溫度變送器測(cè)溫范圍為0~500℃,能將溫度信號(hào)轉(zhuǎn)換為隨溫度線性變化的電流信號(hào)輸出,范圍為4-20mA。
電流與溫度之間的關(guān)系式為:
500)this.style.width=500;" border="0" />
選用北京SAILING公司壓力傳感器,測(cè)壓范圍0~60Kpa;配套使用的壓力變送器測(cè)壓范圍為0~45Kpa,能將壓力信號(hào)轉(zhuǎn)換為隨壓力線性變化的電流信號(hào)輸出,范圍為4~20mA。
電流與壓力之間的關(guān)系式為:
500)this.style.width=500;" border="0" />
變送器輸出的電流信號(hào)經(jīng)過電流-電壓轉(zhuǎn)換電路得到0-5V的直流電壓,進(jìn)入單片機(jī)進(jìn)行A/D轉(zhuǎn)換。轉(zhuǎn)換電路如圖3所示:
500)this.style.width=500;" border="0" />
3.3 數(shù)據(jù)存儲(chǔ)及顯示部分
500)this.style.width=500;" border="0" />
數(shù)據(jù)存儲(chǔ)及顯示電路如圖4所示,主要由以下三部分組成:
1)數(shù)據(jù)循環(huán)顯示部分。使用單片機(jī)的SPI接口擴(kuò)展移位寄存器74LS164做為七段數(shù)碼管接口,解決了片內(nèi)I/O不足的問題。數(shù)碼管共有4位,第一位循環(huán)顯示編號(hào)1-2-3-4-1,后三位顯示與編號(hào)相對(duì)應(yīng)的數(shù)據(jù),可精確到個(gè)位。測(cè)量所得數(shù)據(jù)每隔1秒動(dòng)態(tài)掃描顯示,每個(gè)編號(hào)對(duì)應(yīng)數(shù)據(jù)共顯示10秒,每40秒為一個(gè)大循環(huán)。
2)EEPROM存儲(chǔ)部分。采用基于I²C-BUS的存儲(chǔ)器件AT24C64實(shí)現(xiàn)存儲(chǔ)功能,其存儲(chǔ)容量為64Kbit。系統(tǒng)中采用兩個(gè)并行I/O口A0與A1進(jìn)行軟件模擬產(chǎn)生I²C總線時(shí)序信號(hào),實(shí)現(xiàn)I²C總線數(shù)據(jù)的讀寫。主要讀寫流程為:
字節(jié)寫入:開始-器件地址/0-應(yīng)答-字節(jié)高地址-字節(jié)低地址-應(yīng)答-數(shù)據(jù)寫入-應(yīng)答-停止
字節(jié)讀出:開始-器件地址/0-應(yīng)答-字節(jié)高地址-字節(jié)低地址-應(yīng)答-開始-器件地址/1-應(yīng)答-數(shù)據(jù)讀出-停止
3)與PC機(jī)串口通信部分。使用單片機(jī)的SCI接口實(shí)現(xiàn)單片機(jī)與主機(jī)之間的通信,采用RS-232標(biāo)準(zhǔn)實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的通信,用查詢方式發(fā)送、接收數(shù)據(jù)。
3.4 步進(jìn)電機(jī)、電磁閥控制部分
深海探測(cè)具有復(fù)雜性和實(shí)時(shí)性,系統(tǒng)需一次完成多任務(wù)作業(yè)。針對(duì)海底不同的環(huán)境,系統(tǒng)需要根據(jù)現(xiàn)場(chǎng)采集的數(shù)據(jù)實(shí)時(shí)的調(diào)整步進(jìn)電機(jī)的轉(zhuǎn)速和電磁閥的吸合。因此本系統(tǒng)采用了德國(guó)百格拉公司的三相混合步進(jìn)電機(jī)及其控制器,該電機(jī)具有低功耗、高扭矩、高精度和幾無(wú)共振爬行等特點(diǎn)。
500)this.style.width=500;" border="0" />
驅(qū)動(dòng)步進(jìn)電機(jī)與電磁閥部分電路如圖5所示。單片機(jī)通過步進(jìn)電機(jī)控制器進(jìn)行轉(zhuǎn)速控制。MC68HC908GP32具有兩個(gè)16位雙通道定時(shí)器接口模塊,利用其中一個(gè)定時(shí)器的兩個(gè)通道進(jìn)行控制,一個(gè)通道T1CH0為脈沖調(diào)制輸出,產(chǎn)生電機(jī)控制器所需頻率脈沖信號(hào),另一個(gè)通道T1CH1產(chǎn)生電機(jī)旋轉(zhuǎn)方向信號(hào),加光耦隔離與步進(jìn)電機(jī)控制器連接。通過調(diào)整脈沖輸出頻率即可調(diào)整步進(jìn)電機(jī)轉(zhuǎn)速,調(diào)整電機(jī)方向信號(hào)電平即可控制電機(jī)旋轉(zhuǎn)方向。電機(jī)控制器與步進(jìn)電機(jī)通過功率接口連接,同時(shí)控制器有撥碼開關(guān)選擇步進(jìn)電機(jī)步長(zhǎng)。電磁閥控制采用三個(gè)輸入I/O口與兩個(gè)輸出I/O口進(jìn)行控制。輸入口接受其他系統(tǒng)控制信號(hào),由單片機(jī)判斷選擇電磁閥是否吸合輸出控制信號(hào),控制信號(hào)控制繼電器通斷做為強(qiáng)電器件開關(guān)以控制電磁閥。
4 結(jié)語(yǔ)
本文介紹了基于mc68hc908gp32的深海熱液多點(diǎn)溫度、壓力采集及控制系統(tǒng),經(jīng)實(shí)驗(yàn)表明,在0~500℃的溫度范圍和1~45Mpa的壓力范圍內(nèi)工作穩(wěn)定可靠,實(shí)時(shí)性及智能化程度高,體積小,使用方便。不僅可在復(fù)雜的海底測(cè)溫環(huán)境中進(jìn)行作業(yè),也可擴(kuò)展出更豐富的電機(jī)控制功能;既可單獨(dú)作業(yè),又可與PC機(jī)通信對(duì)數(shù)據(jù)進(jìn)行更復(fù)雜精密的計(jì)算和使用,具有使用價(jià)值。