李興岷,門雅彬,顧季源
(國(guó)家海洋技術(shù)中心,天津300112)
海水溫度剖面數(shù)據(jù)是最基本的海洋環(huán)境要素之一,是反映海水熱狀況的物理量,海水溫度的分布與變化影響并制約著其他水文氣象要素的變化。海水溫度剖面的分布及其隨時(shí)間的變化直接影響水下聲波的傳播速度和路徑變化。海水溫度剖面數(shù)據(jù)的快速獲取可為海洋調(diào)查、海洋科學(xué)研究、海洋軍事應(yīng)用和海洋開發(fā)利用提供重要幫助。
投棄式溫度剖面測(cè)量?jī)x(Expendable Bathythermograph,XBT)是一種投棄式測(cè)量裝置,是通過投放測(cè)量探頭在其快速下降過程中測(cè)量和感應(yīng)海水溫度剖面的一次性使用的設(shè)備。XBT自動(dòng)投放系統(tǒng)的功能是實(shí)現(xiàn)多枚探頭的順序自動(dòng)投放和水溫剖面數(shù)據(jù)的快速獲取。相對(duì)于傳統(tǒng)的手動(dòng)投放,它提高了投放效率,減輕了人員勞動(dòng)強(qiáng)度,克服了傳統(tǒng)人工投放裝置容易受到惡劣海況及人為因素的影響而導(dǎo)致測(cè)量效果欠佳甚至失敗的缺陷。XBT探頭的釋放操作主要由直流減速電機(jī)帶動(dòng)探頭擋片轉(zhuǎn)動(dòng)來實(shí)現(xiàn)探頭閥門的關(guān)閉和打開,當(dāng)閥門打開時(shí),XBT探頭由于重力作用自由下落到海水中,從而實(shí)現(xiàn)XBT探頭自動(dòng)投放。系統(tǒng)探頭的數(shù)量是8枚,因此需要控制8個(gè)直流12 V減速電機(jī)。因此,成功實(shí)現(xiàn)多枚XBT自動(dòng)投放的一個(gè)關(guān)鍵技術(shù)點(diǎn)就是,系統(tǒng)如何通過控制多個(gè)電機(jī)運(yùn)動(dòng)實(shí)現(xiàn)閥門的自動(dòng)打開和關(guān)閉。
TI公司推出的4H橋電機(jī)驅(qū)動(dòng)芯片DRV8823為該項(xiàng)關(guān)鍵技術(shù)的實(shí)現(xiàn)提供了很好的解決方案。
DRV8823是TI公司推出的1.5 A四路刷式或雙路雙極步進(jìn)電機(jī)驅(qū)動(dòng)器,它內(nèi)部采用4 H橋電機(jī)驅(qū)動(dòng)模塊,可以驅(qū)動(dòng)2個(gè)步進(jìn)電機(jī)或者4個(gè)直流電機(jī)。其內(nèi)部使用4組N溝道功率MOSFET組成H橋,構(gòu)成獨(dú)立的電機(jī)驅(qū)動(dòng)模塊來驅(qū)動(dòng)電機(jī)繞組,非常適合多路電機(jī)驅(qū)動(dòng)使用,它為自動(dòng)化設(shè)備的應(yīng)用提供了一個(gè)集成的電機(jī)驅(qū)動(dòng)解決方案。芯片的供電電壓為8~32 V,每相通道的電流最大可達(dá)1.5 A,并且可以通過軟件編程設(shè)置為8個(gè)不同等級(jí)的值。芯片具有低電壓睡眠模式,在系統(tǒng)過壓、過溫或過流后均可以自動(dòng)關(guān)閉電機(jī)、斷開電機(jī)負(fù)載加以保護(hù),其內(nèi)部組成結(jié)構(gòu)略——編者注。DRV8823與微控制器僅需要通過簡(jiǎn)單的串行接口就可完成所有的信號(hào)控制功能。
DRV8823的串行數(shù)據(jù)時(shí)序如圖1所示,SSTB信號(hào)在原理圖中一直為高電平,因此串行接口一直有效并且輸出使能。數(shù)據(jù)包的傳輸包括16個(gè)數(shù)據(jù)位,需要注意的是,與常規(guī)SPI總線不同,控制器需要先向DRV8823芯片傳輸數(shù)據(jù)字節(jié)的低位。
控制器將串行數(shù)據(jù)寫入DRV8823,額外時(shí)鐘邊沿之后的最后數(shù)據(jù)位將繼續(xù)移位到數(shù)據(jù)寄存器,因此,最后的16位數(shù)據(jù)將被鎖定和使用。通過設(shè)置兩個(gè)電機(jī)控制寄存器字段中的高4位來選擇控制1#電機(jī)或者2#電機(jī),即:如果串行數(shù)據(jù)的高4位是0000,則對(duì)電機(jī)1(橋A和B)進(jìn)行操作;反之,如果是0001,則對(duì)電機(jī)2(橋C及D)進(jìn)行操作。只有SCS輸入引腳為高電平有效時(shí),數(shù)據(jù)才能被轉(zhuǎn)移到串行接口。數(shù)據(jù)最初只是被移入到一個(gè)臨時(shí)寄存器,該數(shù)據(jù)在SSTB上升沿時(shí)才被寫入電機(jī)驅(qū)動(dòng)器。如果SSTB一直處于高電平,則16位數(shù)據(jù)傳輸完畢后才全部鎖存。
圖1 DRV8823串行數(shù)據(jù)時(shí)序圖
DRV8823的各路電機(jī)控制是通過寫寄存器實(shí)現(xiàn)的,電機(jī)驅(qū)動(dòng)命令寄存器如表1和表2所列。
表1 電機(jī)1指令(A橋和B橋)
表2 電機(jī)2指令(C橋和D橋)
項(xiàng)目中使用DRV8823驅(qū)動(dòng)8個(gè)直流減速電機(jī),直流減速電機(jī)的正常運(yùn)轉(zhuǎn)電流僅為100 m A,每片DRV8823可以驅(qū)動(dòng)4個(gè)直流減速電機(jī),因此需要兩片DRV8823與CPU連接。由于工程中選取的直流減速電機(jī)的供電電壓是12 V,因此芯片的供電電壓是12 V,其中一片DRV8823與C8051F020的接口如圖2所示。圖中V3P3是DRV8823內(nèi)置3.3 V基準(zhǔn)輸出,芯片與CPU之間采用模擬SPI接口進(jìn)行通信,即采用C8051F020的兩個(gè)I/OP3.6和P3.7引腳模擬與DRV8823通信。C8051F020的 MTSDI(P3.7)連接至 DRV8823的SDATA,MTSCLK(P3.6)連接至DRV8823的SCLK,在 MTSCLK為上升沿的時(shí)候?qū)⒋袛?shù)據(jù)移入,SCS作為DRV8823的片選,高電平有效,高電平鎖存串行數(shù)據(jù),使用C8051F020的一個(gè)I/O口連接SCS即可。
每個(gè)通道電機(jī)滿量程電流計(jì)算公式如下:
其中,VREFX是采用的基準(zhǔn)電壓,這里取芯片的基準(zhǔn)電源電壓,3.2<VREFX<3.4,若電阻選用0.5Ω/1 W 電阻,根據(jù)上式計(jì)算,則1.36 A<ICHOP<1.44 A。
圖2 DRV8823與C8051F020的接口電路
電機(jī)命令寄存器如表1所列。以B橋?yàn)槔珼15~D12固定寫0000,D11是BDECAY模式寫0即可,D10~D8為電流控制位,硬件設(shè)置為1.36 A<ICHOP<1.44 A,而電機(jī)的最大電流不能超過500 m A,因而設(shè)置成001即可。D7是正反轉(zhuǎn)控制位,1是正轉(zhuǎn),0是反轉(zhuǎn),根據(jù)實(shí)際需要設(shè)置即可。D6是使能位,1是使能該橋,0是禁止該橋,根據(jù)實(shí)際需要設(shè)置該位。
DRV8823芯片智能化程度高,使用C8051F020的兩個(gè)I/O口對(duì)其進(jìn)行寫操作即可實(shí)現(xiàn)編程控制。寫操作的命令很少,僅是對(duì)一個(gè)寄存器進(jìn)行寫操作,即電機(jī)命令寄存器,便可實(shí)現(xiàn)每相電機(jī)的打開、關(guān)閉等功能。編程時(shí)應(yīng)參考芯片資料的時(shí)序圖,SSTB信號(hào)在原理圖中一直為高,因而串行接口一直有效,并且輸出使能。
DRV8823的初始化要求所有電機(jī)都無效(ENBL=0),所有電機(jī)的DECAY=0,X12-10設(shè)置成001。為節(jié)省代碼篇幅,以電機(jī)的A橋?yàn)槔?,使用如下代碼完成DRV8823的初始化。
DRV8823驅(qū)動(dòng)函數(shù)完成對(duì)各路電機(jī)的控制,包括正反轉(zhuǎn)控制、使能控制和關(guān)閉控制等功能。函數(shù)的輸入?yún)?shù)包括電機(jī)編號(hào)(1,2,3,4),電機(jī)使能位(0為禁止,1為使能),電機(jī)正反轉(zhuǎn)(0為反轉(zhuǎn),1為正轉(zhuǎn)),輸出參數(shù)為空。
在程序的編制過程中,要求必須保持其他電機(jī)的原狀態(tài),不能對(duì)其他不需要操作的電機(jī)進(jìn)行操作,即在操作時(shí)會(huì)用到大量的邏輯與或操作。在對(duì)電機(jī)進(jìn)行控制時(shí),首先要判斷電機(jī)的狀態(tài),然后確定相應(yīng)操作。實(shí)現(xiàn)代碼:
電機(jī)控制流程圖如圖3所示。
多枚XBT自動(dòng)投放與測(cè)量系統(tǒng)是2010年國(guó)家海洋公益性項(xiàng)目“投棄式溫深剖面測(cè)量?jī)x產(chǎn)品化研究與示范”所支持的一個(gè)研制子項(xiàng)目。2014年3月,本文設(shè)計(jì)的系統(tǒng)安裝在某海洋調(diào)查船上,在南海進(jìn)行了投放實(shí)驗(yàn),取得了良好的測(cè)量效果,系統(tǒng)利用C8051F020控制兩片DRV8823實(shí)現(xiàn)了通過8路直流減速電機(jī)控制閥門的自由開啟和關(guān)閉,并得到了很好的應(yīng)用和驗(yàn)證。與其他多路電機(jī)控制設(shè)計(jì)方案相比,該實(shí)現(xiàn)方法具有電路簡(jiǎn)單、體積小、控制可靠和操作簡(jiǎn)單等特點(diǎn)。
圖3 電機(jī)控制流程圖
因此,DRV8823為多枚XBT自動(dòng)投放與測(cè)量系統(tǒng)的成功實(shí)現(xiàn)提供了很好的幫助,具有較高的工程應(yīng)用價(jià)值。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。
[1]王曉明.電動(dòng)機(jī)的單片機(jī)控制[M].北京:北京航空航天大學(xué)出版社,2007:205-214.
[2]郝磊,李成良.基于C8051F040的直流電機(jī)調(diào)速系統(tǒng)設(shè)計(jì)[J].中國(guó)科技博覽,2012(26):357.
[3]王安敏,鹿虎.基于C8051單片機(jī)的電子凸輪實(shí)現(xiàn)[J].機(jī)械傳動(dòng),2010,34(10):84-87.
[4]潘琢金.C8051F310/11混合信號(hào)ISP FLASH微控制器數(shù)據(jù)手冊(cè),2003.
[5]DRV8821/DRV8823用戶使用手冊(cè),2009.
[6]門雅彬,方芳,李興岷,等.多枚XBT自動(dòng)投放與測(cè)量系統(tǒng)數(shù)據(jù)采集控制單元設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2013,21(6):1697-1699.
[7]TI.4-BRIDGE SERIAL INTERFACE MOTOR DRIVER.pdf,2010.