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