一種嵌入式運(yùn)動(dòng)控制器的實(shí)現(xiàn)
FPGA芯片選用Altera公司的Cyclone系列EP1C6TC44C8,這是一款高性能、低功耗的FPGA。EP1C6TC44C8具有2個(gè)鎖相環(huán),包含5980個(gè)邏輯單元,相當(dāng)于12萬門的規(guī)模,同時(shí)還包含了最高頻率200MHz、92160bit的內(nèi)部RAM。該芯片所擁有的邏輯門數(shù)量、頻率和引腳I/O等資源都能很好地滿足運(yùn)動(dòng)控制器的設(shè)計(jì)要求。由于本系統(tǒng)的控制對象是伺服電機(jī),所以設(shè)計(jì)中主要利用EP1C6TC44C8的I/O口設(shè)計(jì)電機(jī)控制信號的輸入輸出、編碼器信號的輸入與部分?jǐn)?shù)字量輸入輸出。另外,該芯片在整個(gè)硬件系統(tǒng)設(shè)計(jì)完畢后還可以通過JTAG接口對硬件進(jìn)行重配置,可以增加系統(tǒng)設(shè)計(jì)的靈活性。
2.3 FPGA外圍電路模塊
X軸伺服電機(jī)控制電路如圖3所示。Y軸、Z軸、U軸伺服電機(jī)控制電路與X軸相同。
(1)輸入輸出開關(guān)量接口設(shè)計(jì)。
輸入信號主要包括限位開關(guān)信號LIMX+、LIMX-~LIMU+、LIMU-,伺服報(bào)警信號ALMX~ALMU和回零信號HMX~HMU。輸出信號主要包括伺服使能信號SRVX~SRVU和復(fù)位信號RSTX~RSTU。當(dāng)檢測到這些信號后,確定具體觸發(fā)的信號,限位信號觸發(fā),則立即停止對應(yīng)電機(jī)該方向的運(yùn)動(dòng),直到限位消除,電機(jī)才能在該方向繼續(xù)運(yùn)動(dòng);回零信號觸發(fā),則電機(jī)等待Index信號的輸入后立即讓電機(jī)反向運(yùn)行用戶設(shè)定的回零距離作為機(jī)械零點(diǎn);伺服報(bào)警信號輸入時(shí),程序立即停止該電機(jī)的運(yùn)動(dòng),直到用戶將報(bào)警清除。
(2)輸出控制脈沖電路設(shè)計(jì)。
輸出控制脈沖信號為伺服電機(jī)的4路脈沖控制輸出信號。此控制采用“脈沖+方向”指令,由于每個(gè)控制軸分別有脈沖和方向信號,所以4路共8個(gè)輸出信號。輸出控制脈沖信號由FPGA輸出,要先經(jīng)過電平轉(zhuǎn)換,將FPGA的I/O引腳的3.3V變?yōu)?V,再經(jīng)過光電隔離,然后再經(jīng)過施密特觸發(fā)器整形后輸出。由于脈沖和方向信號需要進(jìn)行差分,所以將信號接入差動(dòng)線驅(qū)動(dòng)器后再輸出。XPLS~UPLS為脈沖信號,XDIR~UDIR為方向信號。差動(dòng)線驅(qū)動(dòng)器由AM26LS31構(gòu)成,該電路的功能是將輸入的單極性的方波信號轉(zhuǎn)化為一對極性相反的電機(jī)驅(qū)動(dòng)信號,它的高阻抗輸出狀態(tài)在電源掉電時(shí)是有保障的。
(3)反饋脈沖處理電路設(shè)計(jì)。
伺服電機(jī)的編碼器信號直接接入到電機(jī)驅(qū)動(dòng)器中,驅(qū)動(dòng)器提供三對差分信號A+、A-、B+、B-、Z+、Z-作為反饋。這三對信號由于受到驅(qū)動(dòng)器內(nèi)部大電源的干擾,在電機(jī)旋轉(zhuǎn)時(shí),所發(fā)出的信號會(huì)出現(xiàn)許多毛刺,直接接到FPGA中會(huì)引起誤判斷,所以三對信號經(jīng)過差分電路轉(zhuǎn)化為單路信號A、B、Z。差分電路由AM26LS32構(gòu)成,該芯片功能與AM26LS31相反,該電路的功能是將輸入的一對極性相反的編碼器反饋信號轉(zhuǎn)化為單極性的方波信號。A、B兩路為正交編碼脈沖,Z路每轉(zhuǎn)產(chǎn)生一個(gè)低電平脈沖,用于回零時(shí)的精確定位。
2.4 數(shù)字量輸入輸出接口模塊
考慮到系統(tǒng)的可擴(kuò)展性和DSP的GPIO口的數(shù)量,此運(yùn)動(dòng)控制器在DSP與FPGA上分別設(shè)計(jì)8路,共16路數(shù)字量輸入輸出。運(yùn)動(dòng)控制器的所有數(shù)字量輸入輸出信號均采用光電隔離處理,并對每一路信號進(jìn)行相應(yīng)的數(shù)字濾波處理,以消除噪聲信號。數(shù)字量輸入通道可以根據(jù)用戶的要求自定義用途,用于零點(diǎn)、限位信號的輸入等;數(shù)字量輸出通道用于各軸方向、脈沖信號的輸出以及一些外部設(shè)備的啟停控制等。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理
評論