DSP和ARM的音圈電機(jī)伺服控制系統(tǒng)設(shè)計(jì)
引言
本文引用地址:http://butianyuan.cn/article/201609/303801.htm自從1966年美國首次將音圈電機(jī)(Voice Coil Motor,VCM)用于磁盤機(jī)之后,音圈電機(jī)便開始進(jìn)入相關(guān)的應(yīng)用領(lǐng)域。國內(nèi)從20世紀(jì)70年代起,也逐步開始研究音圈直線電機(jī)在某些領(lǐng)域的應(yīng)用,音圈電機(jī)的驅(qū)動(dòng)控制器從傳統(tǒng)的模擬控制器逐步向數(shù)字控制器發(fā)展?,F(xiàn)在電機(jī)數(shù)字控制器廣泛采用數(shù)字信號處理器(Digtal Signal Processor,DSP),并合一些外圍電路來完成電機(jī)控制。根據(jù)應(yīng)用場合和要求的不同,出現(xiàn)了一些新的數(shù)字控制器設(shè)計(jì)思想。參考文獻(xiàn)給出了一種基于DSP和FPGA的音圈電機(jī)數(shù)字控制器設(shè)計(jì)方法,用于驅(qū)動(dòng)電液伺服閥;參考文獻(xiàn)給出一種基于FPGA的音圈電機(jī)驅(qū)動(dòng)器設(shè)計(jì)方法,用于擺臂干涉儀中。
為滿足項(xiàng)目在控制性能和通信方式等方面的要求,提出了一種基于浮點(diǎn)DSP和ARM的音圈電機(jī)雙核驅(qū)動(dòng)控制器硬件結(jié)構(gòu),用于實(shí)現(xiàn)激光定位和掃描用音圈電機(jī)的位置伺服控制。根據(jù)DSP和ARM的特點(diǎn),對其進(jìn)行功能劃分和詳細(xì)的設(shè)計(jì)。
1 系統(tǒng)硬件結(jié)構(gòu)
驅(qū)動(dòng)控制器采用DSP+ARM的結(jié)構(gòu),與信號采集電路和功率驅(qū)動(dòng)電路配合共同完成音圈電機(jī)的驅(qū)動(dòng)控制。選用TI公司的32位浮點(diǎn)型DSP TMS320F28335作為主處理器,最高工作頻率為150 MHz;選用ST公司的32位互聯(lián)型產(chǎn)品ARM核STM32F107作為協(xié)處理器,最高工作頻率為72 MHz。選用高性能的集成H橋芯片LMD182000,結(jié)合其外圍電路構(gòu)成功率驅(qū)動(dòng)電路部分。選用集成芯片,一方面可以簡化電路的設(shè)計(jì);另一方面還可以提高電路設(shè)計(jì)的可靠性。位置信號檢測選用光耀博晨公司的20位絕對式旋轉(zhuǎn)編碼器BCE105AK25M,分辨率為7.5角秒。系統(tǒng)的硬件結(jié)構(gòu)圖如圖1所示。
2 系統(tǒng)設(shè)計(jì)
根據(jù)系統(tǒng)的要求以及DSP和ARM各自的特點(diǎn),為了充分利用其資源,對系統(tǒng)進(jìn)行了詳細(xì)的功能劃分和模塊化設(shè)計(jì)。
2.1 系統(tǒng)功能劃分
本課題來源于“地下金屬礦設(shè)備精確定位與智能導(dǎo)航”項(xiàng)目,擬通過二維激光定位和導(dǎo)航基站對地下金屬礦設(shè)備進(jìn)行精確定位和導(dǎo)航,音圈電機(jī)用于二維基站俯仰方向激光的定位和掃描。系統(tǒng)除了要完成音圈電機(jī)的驅(qū)動(dòng)控制,還需要完成水平方向電機(jī)的位置環(huán)控制算法,并與地下金屬礦設(shè)備(以下簡稱上位機(jī))之間進(jìn)行以太網(wǎng)數(shù)據(jù)交換。課題中,音圈電機(jī)的型號為VARS0022—032~00A,主要參數(shù)如下:總行程為32°,最大輸出轉(zhuǎn)矩為0.22 N·m,最大電流為1.4 A,最大電壓為15.5 V。
TMS320F28335是32位浮點(diǎn)型數(shù)字處理器,指令周期約為6.67 ns,適合復(fù)雜高速的計(jì)算。STM32F107是意法半導(dǎo)體的互聯(lián)型系列微控制器產(chǎn)品,集成了很多高性能工業(yè)標(biāo)準(zhǔn)接口。其中,包括兩個(gè)12位A/D(模數(shù))轉(zhuǎn)換器、1個(gè)以太網(wǎng)10/100 Mbps MAC模塊、3個(gè)SPI接口。系統(tǒng)中DSP主要完成系統(tǒng)初始化、位置控制算法,ARM主要完成PWM波產(chǎn)生、A/D采集控制、電流環(huán)計(jì)算、以太網(wǎng)通信、電機(jī)限位和過流保護(hù),以及DSP之間的數(shù)據(jù)交換等。從DSP的角度,ARM可以看做是其協(xié)處理器。系統(tǒng)控制功能劃分圖如圖2所示。
2.2 ARM功能設(shè)計(jì)
根據(jù)2.1節(jié)中的功能劃分,來介紹ARM部分功能模塊的設(shè)計(jì)。
2.2.1 PWM模塊設(shè)計(jì)
STM320F107具有一個(gè)16位的可產(chǎn)生電機(jī)控制PWM波的定時(shí)器,能設(shè)置死區(qū)時(shí)間,同時(shí)還能進(jìn)行急停處理,因此采用STM320F107定時(shí)器模塊的增減計(jì)數(shù)器、比較寄存器和比較器來實(shí)現(xiàn)PWM波的產(chǎn)生。為了防止功率驅(qū)動(dòng)電路中上下管直通造成電源短路,可以通過配置定時(shí)器模塊的死區(qū)寄存器,在PWM信號中加入死區(qū),使同相的上下橋臂驅(qū)動(dòng)信號錯(cuò)開一個(gè)死區(qū)時(shí)間,防止功率器件短路。PWM模塊與LMD182000功率驅(qū)動(dòng)電路配合使用,即可完成音圈電機(jī)的驅(qū)動(dòng)。功率驅(qū)動(dòng)芯片LMD182000只需要來自ARM的3個(gè)信號驅(qū)動(dòng)控制信號,分別是PWM信號、方向信號、剎車信號。
2.2.2 通信接口模塊設(shè)計(jì)
串行外設(shè)接口(SPI)是TMS320F28335中一個(gè)高速同步的串行輸入/輸出接口,允許可編程位長的串行位流以可編程的位傳輸率移入或移出設(shè)備。DSP和ARM之間采用SPI進(jìn)行數(shù)據(jù)交換,連接方式如圖3所示。
SPI可以工作于主控制器模式,也可以工作于從控制器模式,工作模式?jīng)Q定了SPICLK信號的來源。系統(tǒng)中設(shè)計(jì)DSP為主控制器,控制SPICLK(時(shí)鐘)信號引腳,為整個(gè)串行通信網(wǎng)絡(luò)提供串行時(shí)鐘,可以在任何時(shí)刻啟動(dòng)數(shù)據(jù)傳送。數(shù)據(jù)將從SPISIMO(從控制器輸入,主控制器輸出)引腳輸出,并鎖存SPISOMI(主控制器輸入,從控制器輸出)引腳輸入的數(shù)據(jù)。而SPISTE引腳作為從SPI控制器的片選控制信號,主控制器發(fā)送數(shù)據(jù)給從控制器之前將SPISTE引腳置為低電平,待數(shù)據(jù)發(fā)送完畢后再將SPISTE引腳置為高電平。為實(shí)現(xiàn)系統(tǒng)與其他數(shù)字設(shè)備之間的數(shù)據(jù)傳輸和交換,還設(shè)計(jì)了CAN、100 Mbps以太網(wǎng)接口等。
2.2.3 電機(jī)限位和過流保護(hù)
考慮到系統(tǒng)運(yùn)行安全,需要對系統(tǒng)進(jìn)行限位和過流保護(hù)設(shè)計(jì),本設(shè)計(jì)通過軟件監(jiān)控來實(shí)現(xiàn)保護(hù)。過流保護(hù),即把每次采樣的電流和允許的最大電流值進(jìn)行比較,當(dāng)采樣值大于最大電流值時(shí),對功率電路進(jìn)行管理。有兩種處理方法:其一,直接封鎖PWM信號,關(guān)斷功率電路的各功率管,并給出過流指示;其二,功率驅(qū)動(dòng)芯片LMD182000自帶剎車功能,只需通過ARM使能LMD182000的剎車引腳,便可使功率管處于關(guān)斷狀態(tài),然后給出過流指示。限位保護(hù),即把每次采集到的實(shí)時(shí)值和目標(biāo)指令值分別與設(shè)定極限值比較,若實(shí)時(shí)位置超出設(shè)定極限值,且目標(biāo)指令值在極限值之內(nèi),則利用位置環(huán)使其跟隨目標(biāo)值。若目標(biāo)指令值超出設(shè)定極限值,則把極限值設(shè)為新的目標(biāo)指令值。
2.3 DSP軟件設(shè)計(jì)
按照系統(tǒng)的功能劃分,主要的控制和通信功能已由ARM來完成,DSP主要完成系統(tǒng)初始化、通信、位置控制算法。DSP的軟件設(shè)計(jì)遵循自上而下的思路,按功能劃分了軟件模塊。DSP程序包括:主程序、系統(tǒng)初始化子程序、定時(shí)器T0中斷服務(wù)程序等。
評論