王星民,王永珍
(國(guó)營(yíng)第785廠,山西太原030024)
現(xiàn)代高精度的機(jī)電一體化產(chǎn)品,對(duì)伺服系統(tǒng)的要求越來(lái)越高。高性能伺服電動(dòng)機(jī)、控制器、變流器及高性能的位置和速度傳感器等都是伺服系統(tǒng)不可少的組成部分,特別是高性能、高精度的傳感器是伺服系統(tǒng)的關(guān)鍵技術(shù)。在某種意義上說(shuō),機(jī)電一體化產(chǎn)品的性能優(yōu)劣主要取決于傳感器的性能[1]。本文利用DSP通過(guò)接口芯片MMI4832完成對(duì)絕對(duì)式光電編碼器進(jìn)行位置采集。該系統(tǒng)具有精度高,易于實(shí)現(xiàn)等特點(diǎn)。
整個(gè)系統(tǒng)采用了TI公司的TMS320F2812作為主處理器,通過(guò)專(zhuān)用接口芯片MMI4832與絕對(duì)式光電編碼器相連,系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
TMS320F2812是TI公司發(fā)布的一款具有很高性價(jià)比、適用電氣自動(dòng)化系統(tǒng)的DSP。ROC425是德國(guó)海德漢公司生產(chǎn)的一款25位單圈的絕對(duì)式光電編碼器,其接口協(xié)議為En-Dat2.2,MMI4832是其專(zhuān)用接口芯片。
TMS300F2812與MMI4832及ROC425的接口硬件電路如圖2所示。
圖2 硬件電路設(shè)計(jì)
電路部分主要分為DSP芯片的最小系統(tǒng)設(shè)計(jì)和MMI4832的接口設(shè)計(jì)。下面分別給與介紹:
(1)電源和復(fù)位部分 本設(shè)計(jì)采用外部5 V直流電壓供電,通過(guò)DC/DC器件產(chǎn)生3.3 V的供電電壓和1.8 V的內(nèi)核電壓。本設(shè)計(jì)的復(fù)位信號(hào)分兩種:上電復(fù)位和手動(dòng)復(fù)位,上電復(fù)位由芯片MAX803產(chǎn)生,手動(dòng)復(fù)位由電阻和電容組成的電路產(chǎn)生。
(2)時(shí)鐘部分 為DSP芯片提供時(shí)鐘一般有兩種方法:采用晶體和采用外部有源時(shí)鐘芯片。本設(shè)計(jì)采用前者,它利用DSP芯片的X1和X2之間連接一晶體可啟動(dòng)內(nèi)部振蕩器。
(3)仿真部分 這一部分將作為程序的調(diào)試和燒錄所用。2812芯片提供了5個(gè)標(biāo)準(zhǔn)的JTAG信號(hào)(TRST、TCLK、TMS、TDI、TDO)和兩個(gè)仿真引腳(EMU0、EMUl)。
(1)與DSP接口設(shè)計(jì)。由于MMI4832芯片的輸入輸出信號(hào)為5 V,而DSP的輸入輸出信號(hào)為3.3 V,這就存在一個(gè)DSP與MMI4832之間的電平轉(zhuǎn)換問(wèn)題。本設(shè)計(jì)的電平轉(zhuǎn)換接口通過(guò)74LVC4245來(lái)完成。
(2)與絕對(duì)式光電編碼器ROC425接口設(shè)計(jì)。由于編碼器為了滿足長(zhǎng)距離安裝的要求,其信號(hào)需要差分收發(fā)。本設(shè)計(jì)差分收發(fā)接口通過(guò)MAX485來(lái)實(shí)現(xiàn)。
(1)MMI4832功能模塊框圖見(jiàn)圖3。
圖3 MMI4832功能模塊框圖
(2)MMI4832模塊引腳定義見(jiàn)表1。
表1 MMI4832模塊引腳定義
Symbol Type MMI4832(TQFP44)Description/RD/ADS I 16 Read request,low-active Address data strobe,low-active(Motorola mode)/CS I 17 Chip select,low-active DE O 18 Drive enable(for external transceiver)CLK I 20 System clock DATA_RC I 22 Datareceive (data receive form measured-value encoder)/RES I 23 Reset signal for MMI4832,low-active/NULL I 24 External counter reset(low-active)CMD I 25 Address select MOT I 26 Parallel port mode:MOT=0:“Intel”,MOT=1:“Motorola”/IR6 I 27 Sensitive input for interrupt request,H/L_active/IR7 I 28 Sensitive input for interrupt request,low_active/STR_SYN O 29 Test pin for MMI4832 manufacturer NIA_TCLK O 30 Transfer clock(“EnDat-Interface”and“SSI”)Zero output(incremental mode)/INT O 31 Interrupt request(low/tristate)/SRB O 32 Timer output,low-active/STR I 35 Strobe input,H/L-active CHA I 36 Track A CHB I 37 Track B CHC I 38 Track C(index)CHD I 39 Track D(index)System pins:VDD I 5,9,33 Operating voltage(5V)VSS I 6,21,34 Earthground
圖4 軟件流程
關(guān)于MMI4832編程規(guī)范和EnDat2.2的定義可參考相關(guān)英文資料,由于篇幅原因,本文不再贅述。
本設(shè)計(jì)的軟件部分代碼如下:
#include“DSP_Device.h”
unsigned int krg-rg-l;
unsigned int krg-rg-h(huán);
unsigned int Sen-rg-1;
unsigned int Sen-rg-h(huán);
unsigned int empf-rg-l;
unsigned int empf-rg-h(huán);
unsigned int Sta-rg;
unsigned int*(MMI 4832 Addrees)=(unsigned int*)0X80000;
//主程序
Main()
{
Init_MMI4832()
Read_MMI4832()
}
//初始化MMI4832子程序
Init_MMI4832()
{
//Status clearing
* (MMI 4832 Address+0X2)=0x74
Sta-rg=*(MMI 4832 Address);
//Ctrl,RG
*(MMI 4832 Address+0X2)=0X70;
*(MMI 4832 Address)=0X3201;
*(MMI 4832 Address)=0X9900;
*(MMI 4832 Address+0X2)=0X70;
*(MMI 4832 Address)=0X3201;
*(MMI 4832 Address)=0X1900;
//Send RG
*(MMI 4832 Address+0X2)=0X60;
*(MMI 4832 Address)=0X0000;
*(MMI 4832 Address)=0X0700;
*(MMI 4832 Address+0X2)=0X60;
Sen-rg-l=*(MMI 4832 Address);
Sen-rg-h(huán)=*(MMI 4832 Address);
//Software strobe
*(MMI 4832 Address+0X2)=0X74;
*(MMI 4832 Address)=0X000;
}
//讀位置數(shù)據(jù)子程序
Read_MMI 4832()
{
Long tem;
//Receive RG
*(MMI 4832 Address+0X2)=0X64;
empf-rg-l=*(MMI 4832 Address);
empf-rg-h(huán)=*(MMI 4832 Address);
*(MMI 4832 Address+0X2)=0X74;
Sta-rg=*(MMI 4832 Address);
*(MMI 4832 Address+0X2)=0X70;
Krg-rg-l=*(MMI 4832 Address);
Krg-rg-h(huán)=*(MMI 4832 Address);
Tem=(((long empf_rg-h(huán))≤16)+(long empf-rg
-h(huán)));
}
本文實(shí)現(xiàn)的DSP通過(guò)MMI4832接入絕對(duì)式光電編碼器的設(shè)計(jì),很好地完成了伺服控制系統(tǒng)中位置環(huán)的實(shí)現(xiàn)。另外在交流伺服系統(tǒng)中,還可以用該方法完成電動(dòng)機(jī)轉(zhuǎn)子位置的檢測(cè),進(jìn)而完成速度環(huán)及電流環(huán)的實(shí)現(xiàn)。該設(shè)計(jì)成功地解決了伺服系統(tǒng)中的位置環(huán)、速度環(huán)、電流環(huán)的主要工作,為伺服控制系統(tǒng)的設(shè)計(jì)人員提供了一種行之有效的解決方法。
本文給出了以DSP為核心處理器的位置采集設(shè)計(jì)方法,介紹了其硬件接口設(shè)計(jì)原理及軟件實(shí)現(xiàn)方法。該設(shè)計(jì)能夠穩(wěn)定可靠、快速靈活地完成伺服系統(tǒng)位置采集,現(xiàn)在已成功應(yīng)用于全數(shù)字伺服系統(tǒng)中。
[1]郭慶鼎,孫宜標(biāo),王麗梅.現(xiàn)代永磁電動(dòng)機(jī)交流伺服系統(tǒng)[M].北京:中國(guó)電力出版社,2006.
[2]智澤英,楊晉嶺,劉輝.DSP控制技術(shù)實(shí)踐[M].北京:中國(guó)電力出版社,2009.
[3]MAZeT.MMI4832,Integrated Circuit for Position Encoder Interfacing[Z].pdf,2003.