高金龍 李新娟 蔣慶林
摘要:本文設(shè)計(jì)了一個(gè)基于STM32單片機(jī)的自容式CTD采水控制系統(tǒng)。該控制系統(tǒng)采用蓄電池供電,通過CTD傳感器采集并存儲(chǔ)溫鹽深數(shù)據(jù),實(shí)時(shí)檢測(cè)系統(tǒng)周圍海水壓力作為采水控制的觸發(fā)條件,實(shí)現(xiàn)對(duì)不同深度海水的自動(dòng)取樣,具有結(jié)構(gòu)簡(jiǎn)單,工作可靠的特點(diǎn)。
[關(guān)鍵詞]采水STM32F103ZET6控制系統(tǒng)設(shè)計(jì)
海水的溫度、鹽度、深度是海洋水文調(diào)查和海洋水質(zhì)監(jiān)測(cè)的重要參數(shù)。海洋水質(zhì)監(jiān)測(cè)首先要采取相應(yīng)的水質(zhì)樣本,從而得到目的深度海水的各項(xiàng)指標(biāo),實(shí)現(xiàn)對(duì)海洋水資源的多層次采樣具有重大的科研價(jià)值。本文立足于高效率、高精度的樣本采集需求,設(shè)計(jì)了一種多深度CTD采水控制系統(tǒng),采用自動(dòng)控制技術(shù),可以實(shí)現(xiàn)溫鹽深數(shù)據(jù)采集存儲(chǔ)、自動(dòng)采水等功能。
1控制系統(tǒng)整體結(jié)構(gòu)
如圖1所示,CTD采水測(cè)控系統(tǒng)的組成如圖1所示。其中單片機(jī)位于控制艙內(nèi),根據(jù)CTD傳感器采集的數(shù)據(jù)判斷系統(tǒng)周圍海水壓力值,實(shí)時(shí)計(jì)算得到深度值,在設(shè)置好的的深度下發(fā)送采水信號(hào)給釋放機(jī)構(gòu),觸發(fā)相應(yīng)的采水器采集水樣。
自主式CTD采水器控制系統(tǒng)單片機(jī)主控模塊位于特殊制造的密封艙內(nèi)。由于密封艙需要承受外界海水壓力,因此單片機(jī)主控模塊的尺寸應(yīng)盡量小,外形應(yīng)盡量細(xì)長(zhǎng),否則密封艙的尺寸、壁厚和重量都會(huì)加大。整個(gè)控制系統(tǒng)采用蓄電池供電,因此應(yīng)采用低功耗設(shè)計(jì),同時(shí),為保證系統(tǒng)正常工作,要求控制系統(tǒng)抗干擾性強(qiáng)、穩(wěn)定性好。
因此,要求設(shè)計(jì)的取樣控制系統(tǒng)必須具有以下功能:系統(tǒng)的工作參數(shù)可調(diào)、實(shí)時(shí)監(jiān)測(cè)周圍海水溫鹽深參數(shù)、電源管理、異常處理等,能夠?qū)崿F(xiàn)自主式采水控制。
2控制系統(tǒng)硬件設(shè)計(jì)
本文設(shè)計(jì)的控制系統(tǒng)硬件主要包括:?jiǎn)纹瑱C(jī)主控模塊、電源模塊、CTD傳感器、EEPROM存儲(chǔ)模塊、SD卡存儲(chǔ)模塊、固態(tài)繼電器組等,如圖2所示。
單片機(jī)主控模塊采用STM32F103ZET6作為系統(tǒng)核心控制芯片,內(nèi)置32位Corex-M3內(nèi)核,最高工作頻率為72MHZ,支持ADC、USART、SDIO等模塊,具有超低功耗、高可靠性等優(yōu)點(diǎn),適用于電力電子系統(tǒng)、電機(jī)驅(qū)動(dòng)、應(yīng)用控制等領(lǐng)域。
電源模塊主要由蓄電池和電源轉(zhuǎn)換芯片組成。蓄電池提供的24V電壓直接提供給CTD傳感器、繼電器組;采用電源轉(zhuǎn)換芯片K7803-500R3將電壓轉(zhuǎn)換為3.3V之后給單片機(jī)系統(tǒng)供電。
由于STM32F103ZET6內(nèi)部集成了12位A/D轉(zhuǎn)換模塊,可用于監(jiān)測(cè)蓄電池電壓,通過電平轉(zhuǎn)換之后輸入給單片機(jī)。
單片機(jī)的I/O模塊輸出信號(hào)控制繼電器組,通過電磁釋放機(jī)構(gòu)打開采樣瓶,實(shí)現(xiàn)整個(gè)取樣過程的自動(dòng)控制。
EEPROM存儲(chǔ)模塊采用FM24CL16,用于工作參數(shù)的存儲(chǔ),系統(tǒng)中采用兩個(gè)并行I/O口進(jìn)行軟件模擬產(chǎn)生I2C總線時(shí)序信號(hào),實(shí)現(xiàn)數(shù)據(jù)的讀寫。SD卡存儲(chǔ)模塊通過單片機(jī)自帶的標(biāo)準(zhǔn)SD卡接口,用于存儲(chǔ)工作過程中的采集數(shù)據(jù)、狀態(tài)信息等。
固態(tài)繼電器組由6個(gè)H3MB-052D繼電器組成,采用高電平觸發(fā),具有靈敏度高、電磁干擾小、控制功率小的特點(diǎn)。
3控制系統(tǒng)軟件設(shè)計(jì)
采水器控制系統(tǒng)軟件程序采用C語(yǔ)言進(jìn)行設(shè)計(jì),采用KeilMDK開發(fā)環(huán)境,主要完成命令的收發(fā)、參數(shù)存儲(chǔ)、工作狀態(tài)監(jiān)測(cè)以及采水控制等功能。軟件采用模塊化設(shè)計(jì),主要包括以下幾個(gè)功能模塊:系統(tǒng)初始化模塊、串口通信模塊、EEPROM存儲(chǔ)模塊、A/D定時(shí)中斷數(shù)據(jù)處理模塊以及固態(tài)繼電器控制模塊、SD卡存儲(chǔ)模塊等。
控制系統(tǒng)軟件的主要工作流程如圖3所示??刂瞥绦蛟谙到y(tǒng)上電后先進(jìn)行系統(tǒng)初始化工作,然后讀取存儲(chǔ)在EEPROM中的數(shù)據(jù),包括預(yù)先設(shè)置的采水深度、系統(tǒng)采水狀態(tài)等??刂葡到y(tǒng)采用中斷的方式實(shí)現(xiàn)蓄電池電壓檢測(cè)、溫鹽深數(shù)據(jù)獲取、SD卡存儲(chǔ)等操作。當(dāng)根據(jù)CTD傳感器采集數(shù)據(jù)計(jì)算得到的系統(tǒng)所在深度與預(yù)設(shè)深度相近時(shí),單片機(jī)給出對(duì)應(yīng)深度的采水觸發(fā)信號(hào),截取當(dāng)前深度水樣到相應(yīng)的采水瓶中。當(dāng)采水狀態(tài)發(fā)生變化后,實(shí)時(shí)更新工作狀態(tài)并寫入到EEPROM中存儲(chǔ)。
4結(jié)語(yǔ)
本文介紹了基于STM32的CTD分層采水控制系統(tǒng),并給出了控制系統(tǒng)的硬件結(jié)構(gòu)和軟件功能模塊,能夠獲取并存儲(chǔ)海水垂直剖面的溫鹽深等參數(shù)數(shù)據(jù),同時(shí)自動(dòng)采集6種深度的海水樣本,具有集成度高、體積小、功耗低等特點(diǎn),可用于海洋科學(xué)研究和海洋調(diào)查領(lǐng)域。
參考文獻(xiàn)
[1]張龍,葉松,周樹道,劉鳳,韓月琪.海水溫鹽深剖面測(cè)量技術(shù)綜述[J].海洋通報(bào),2017,36(05):481-489.
[2]祖正帥。水質(zhì)采樣控制智能化方法與裝置研究[D].大連理工大學(xué),2017.
[3]劉火良,楊森.STM32庫(kù)開發(fā)實(shí)戰(zhàn)指南(第2版)
[M].北京:機(jī)械工業(yè)出版社,2017.[4]張新民,段洪琳.ARMCortex-M3嵌入式
開發(fā)及應(yīng)用[M].北京:清華大學(xué)出版社,2016.
[5]江自強(qiáng),葛亞炬,張樂年,基于STM32的數(shù)據(jù)采集及存儲(chǔ)系統(tǒng)設(shè)計(jì)[J].機(jī)械制造與自動(dòng)化,2017,46(04):136-139.