電機(jī)驅(qū)動芯片DRV8823在XBT自動投放系統(tǒng)中的應(yīng)用
,因此需要控制8個直流12V減速電機(jī)。因此,成功實(shí)現(xiàn)多枚XBT自動投放的一個關(guān)鍵技術(shù)點(diǎn)就是,系統(tǒng)如何通過控制多個電機(jī)運(yùn)動實(shí)現(xiàn)閥門的自動打開和關(guān)閉。
本文引用地址:http://www.ex-cimer.com/article/201610/308040.htmTI公司推出的4H橋電機(jī)驅(qū)動芯片DRV8823為該項關(guān)鍵技術(shù)的實(shí)現(xiàn)提供了很好的解決方案。
1 DRV8823簡介
DRV8823是TI公司推出的1.5 A四路刷式或雙路雙極步進(jìn)電機(jī)驅(qū)動器,它內(nèi)部采用4H橋電機(jī)驅(qū)動模塊,可以驅(qū)動2個步進(jìn)電機(jī)或者4個直流電機(jī)。其內(nèi)部使用4組N溝道功率MOS FET組成H橋,構(gòu)成獨(dú)立的電機(jī)驅(qū)動模塊來驅(qū)動電機(jī)繞組,非常適合多路電機(jī)驅(qū)動使用,它為自動化設(shè)備的應(yīng)用提供了一個集成的電機(jī)驅(qū)動解決方案。芯片的供電電壓為8~32 V,每相通道的電流最大可達(dá)1.5 A,并且可以通過軟件編程設(shè)置為8個不同等級的值。芯片具有低電壓睡眠模式,在系統(tǒng)過壓、過溫或過流后均可以自動關(guān)閉電機(jī)、斷開電機(jī)負(fù)載加以保護(hù),其內(nèi)部組成結(jié)構(gòu)略——編者注。DRV8823與微控制器僅需要通過簡單的串行接口就可完成所有的信號控制功能。
2 DRV8823時序及寄存器介紹
2.1 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ù)將被鎖定和使用。通過設(shè)置兩個電機(jī)控制寄存器字段中的高4位來選擇控制1#電機(jī)或者2#電機(jī),即:如果串行數(shù)據(jù)的高4位是0000,則對電機(jī)1(橋A和B)進(jìn)行操作;反之,如果是0001,則對電機(jī)2(橋C及D)進(jìn)行操作。只有SCS輸入引腳為高電平有效時,數(shù)據(jù)才能被轉(zhuǎn)移到串行接口。數(shù)據(jù)最初只是被移入到一個臨時寄存器,該數(shù)據(jù)在SSTB上升沿時才被寫入電機(jī)驅(qū)動器。如果SSTB一直處于高電平,則16位數(shù)據(jù)傳輸完畢后才全部鎖存。
2.2 DRV8823的寄存器
DRV8823的各路電機(jī)控制是通過寫寄存器實(shí)現(xiàn)的,電機(jī)驅(qū)動命令寄存器如表1和表2所列。
3 DRV8823與C8051F020的接口
3.1 硬件連接
項目中使用DRV8823驅(qū)動8個直流減速電機(jī),直流減速電機(jī)的正常運(yùn)轉(zhuǎn)電流僅為100 mA,每片DRV8823可以驅(qū)動4個直流減速電機(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的兩個I/OP3.6和P3.7引腳模擬與DRV8823通信。C8051F020的MTSDI(P3.7)連接至DRV8823的SDATA,MTSCLK(P3.6)連接至DRV88 23的SCLK,在MTSCLK為上升沿的時候?qū)⒋袛?shù)據(jù)移入,SCS作為DRV8823的片選,高電平有效,高電平鎖存串行數(shù)據(jù),使用C8051F020的一個I/O口連接SCS即可。
3. 2 限流電阻計算
每個通道電機(jī)滿量程電流計算公式如下:
其中,VREFX是采用的基準(zhǔn)電壓,這里取芯片的基準(zhǔn)電源電壓,3.2
電機(jī)命令寄存器如表1所列。以B橋為例,D15~D12固定寫0000,D11是BDECAY模式寫0即可,D10~D8為電流控制位,硬件設(shè)置為1.36 A
4 DRV8823編程實(shí)現(xiàn)
DRV8823芯片智能化程度高,使用C8051F020的兩個I/O口對其進(jìn)行寫操作即可實(shí)現(xiàn)編程控制。寫操作的命令很少,僅是對一個寄存器進(jìn)行寫操作,即電機(jī)命令寄存器,便可實(shí)現(xiàn)每相電機(jī)的打開、關(guān)閉等功能。編程時應(yīng)參考芯片資料的時序圖,SSTB信號在原理圖中一直為高,因而串行接口一直有效,并且輸出使能。
4.1 SPIO接口的初始化
DRV8823的初始化要求所有電機(jī)都無效(ENBL=0),所有電機(jī)的DECAY=0,X12-10設(shè)置成001。為節(jié)省代碼篇幅,以電機(jī)的A橋為例,使用如下代碼完成DRV8823的初始化。
4.2%20DRV8823控制函數(shù)
DRV8823驅(qū)動函數(shù)完成對各路電機(jī)的控制,包括正反轉(zhuǎn)控制、使能控制和關(guān)閉控制等功能。函數(shù)的輸入?yún)?shù)包括電機(jī)編號(1,2,3,4),電機(jī)使能位(0為禁止,1為使能),電機(jī)正反轉(zhuǎn)(0為反轉(zhuǎn),1為正轉(zhuǎn)),輸出參數(shù)為空。
在程序的編制過程中,要求必須保持其他電機(jī)的原狀態(tài),不能對其他不需要操作的電機(jī)進(jìn)行操作,即在操作時會用到大量的邏輯與或操作。在對電機(jī)進(jìn)行控制時,首先要判斷電機(jī)的狀態(tài),然后確定相應(yīng)操作。實(shí)現(xiàn)代碼:
電機(jī)控制流程圖如圖3所示。
結(jié)語
多枚XBT自動投放與測量系統(tǒng)是2010年國家海洋公益性項目“投棄式溫深剖面測量儀產(chǎn)品化研究與示范”所支持的一個研制子項目。2014年3月,本文設(shè)計的系統(tǒng)安裝在某海洋調(diào)查船上,在南海進(jìn)行了投放實(shí)驗,取得了良好的測量效果,系統(tǒng)利用C8051F020控制兩片DRV8823實(shí)現(xiàn)了通過8路直流減速電機(jī)控制閥門的自由開啟和關(guān)閉,并得到了很好的應(yīng)用和驗證。與其他多路電機(jī)控制設(shè)計方案相比,該實(shí)現(xiàn)方法具有電路簡單、體積小、控制可靠和操作簡單等特點(diǎn)。
因此,DRV8823為多枚XBT自動投放與測量系統(tǒng)的成功實(shí)現(xiàn)提供了很好的幫助,具有較高的工程應(yīng)用價值。
評論