關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于DSP與FPGA的運(yùn)動(dòng)控制器設(shè)計(jì)

基于DSP與FPGA的運(yùn)動(dòng)控制器設(shè)計(jì)

作者: 時(shí)間:2009-10-21 來源:網(wǎng)絡(luò) 收藏
(1)輸入輸出開關(guān)量接口。輸入信號(hào)主要包括限位開關(guān)信號(hào)LIMX+、LIMX-~LIMU+、LIMU-,伺服報(bào)警信號(hào)ALMX~ALMU和回零信號(hào)HMX~HMU。輸出信號(hào)主要包括伺服使能信號(hào)SRVX~SRVU和復(fù)位信號(hào)RSTX~RSTU。當(dāng)檢測(cè)到這些信號(hào)后,確定具體觸發(fā)的信號(hào),限位信號(hào)觸發(fā),則立即停止對(duì)應(yīng)電機(jī)該方向的,直到限位消除,電機(jī)才能在該方向繼續(xù);回零信號(hào)觸發(fā),則電機(jī)等待Index信號(hào)的輸入后立即讓電機(jī)反向運(yùn)行用戶設(shè)定的回零距離作為機(jī)械零點(diǎn);伺服報(bào)警信號(hào)輸入時(shí),程序立即停止該電機(jī)的,直到用戶將報(bào)警清除。
  (2)輸出控制脈沖電路。輸出控制脈沖信號(hào)為伺服電機(jī)的4路脈沖控制輸出信號(hào)。此控制采用“脈沖+方向”指令,由于每個(gè)控制軸分別有脈沖和方向信號(hào),所以4路共8個(gè)輸出信號(hào)。輸出控制脈沖信號(hào)由輸出,要先經(jīng)過電平轉(zhuǎn)換,將的I/O引腳的3.3 V變?yōu)? V,再經(jīng)過光電隔離,然后再經(jīng)過施密特觸發(fā)器整形后輸出。由于脈沖和方向信號(hào)需要進(jìn)行差分,所以將信號(hào)接入差動(dòng)線驅(qū)動(dòng)器后再輸出。XPLS~UPLS為脈沖信號(hào),XDIR~UDIR為方向信號(hào)。差動(dòng)線驅(qū)動(dòng)器由AM26LS31構(gòu)成,該電路的功能是將輸入的單極性的方波信號(hào)轉(zhuǎn)化為一對(duì)極性相反的電機(jī)驅(qū)動(dòng)信號(hào),它的高阻抗輸出狀態(tài)在電源掉電時(shí)是有保障的。
  (3)反饋脈沖處理電路。伺服電機(jī)的編碼器信號(hào)直接接入到電機(jī)驅(qū)動(dòng)器中,驅(qū)動(dòng)器提供三對(duì)差分信號(hào)A+、A-、B+、B-、Z+、Z-作為反饋。這三對(duì)信號(hào)由于受到驅(qū)動(dòng)器內(nèi)部大電源的干擾,在電機(jī)旋轉(zhuǎn)時(shí),所發(fā)出的信號(hào)會(huì)出現(xiàn)許多毛刺,直接接到中會(huì)引起誤判斷,所以三對(duì)信號(hào)經(jīng)過差分電路轉(zhuǎn)化為單路信號(hào)A、B、Z。差分電路由AM26LS32構(gòu)成,該芯片功能與AM26LS31相反,該電路的功能是將輸入的一對(duì)極性相反的編碼器反饋信號(hào)轉(zhuǎn)化為單極性的方波信號(hào)。A、B兩路為正交編碼脈沖,Z路每轉(zhuǎn)產(chǎn)生一個(gè)低電平脈沖,用于回零時(shí)的精確定位。
2.4 數(shù)字量輸入輸出接口模塊
  考慮到系統(tǒng)的可擴(kuò)展性和的GPIO口的數(shù)量,此運(yùn)動(dòng)與FPGA上分別設(shè)計(jì)8路,共16路數(shù)字量輸入輸出。運(yùn)動(dòng)的所有數(shù)字量輸入輸出信號(hào)均采用光電隔離處理,并對(duì)每一路信號(hào)進(jìn)行相應(yīng)的數(shù)字濾波處理,以消除噪聲信號(hào)。數(shù)字量輸入通道可以根據(jù)用戶的要求自定義用途,用于零點(diǎn)、限位信號(hào)的輸入等;數(shù)字量輸出通道用于各軸方向、脈沖信號(hào)的輸出以及一些外部設(shè)備的啟停控制等。
3 系統(tǒng)軟件設(shè)計(jì)

本文引用地址:http://m.butianyuan.cn/article/163515.htm

  軟件設(shè)計(jì)采用模塊化設(shè)計(jì)方法,程序的總體結(jié)構(gòu)采用以數(shù)據(jù)管理和位置速度控制為主,以I/O端口控制、邏輯控制、插補(bǔ)運(yùn)算等為中斷任務(wù)或子函數(shù)任務(wù)的形式。位置速度控制主要負(fù)責(zé)對(duì)實(shí)時(shí)運(yùn)動(dòng)狀態(tài)的監(jiān)控與調(diào)節(jié);I/O端口控制主要負(fù)責(zé)掃描輸入端口、設(shè)置輸出端口等輔助性任務(wù)。
  控制程序主要由一個(gè)定時(shí)中斷構(gòu)成,主程序啟動(dòng)后,首先完成對(duì)TMS320F2812的初始化及系統(tǒng)的一些基本配置,并處于等待狀態(tài)。運(yùn)動(dòng)控制功能是在伺服中斷服務(wù)程序中實(shí)現(xiàn)的。主程序和伺服中斷服務(wù)程序基本流程如圖4所示。


  FPGA主要完成運(yùn)動(dòng)的精插補(bǔ)功能,采用數(shù)字積分法進(jìn)行插補(bǔ)[1]。把數(shù)字積分法分為3個(gè)狀態(tài):(1)狀態(tài)WAIT,等待插補(bǔ)信號(hào);(2)狀態(tài)L1,判斷總的脈沖數(shù);(3)狀態(tài)L2,積分累加器累加一次,如有溢出,相應(yīng)的輸出脈沖為高電平,剩余累加次數(shù)減1。
  數(shù)字積分法的有限狀態(tài)機(jī)如圖5所示。


  觸發(fā)條件T1:沒有啟動(dòng)信號(hào),下一狀態(tài)為WAIT,無操作;觸發(fā)條件T2:有啟動(dòng)信號(hào),下一狀態(tài)為L(zhǎng)1,操作為初始化各寄存器,置忙信號(hào);觸發(fā)條件T3:剩余累加次數(shù)大于0,下一狀態(tài)為L(zhǎng)2,操作為各軸輸出脈沖為低電平;觸發(fā)條件T4:剩余累加次數(shù)為0,下一狀態(tài)為WAIT,操作為各軸輸出脈沖為低電平,清忙標(biāo)志;無觸發(fā)條件:下一狀態(tài)為L(zhǎng)1。
  具體實(shí)現(xiàn)方法為:時(shí)序電路產(chǎn)生的插補(bǔ)脈沖作為此模塊的累加脈沖,每累加1次,剩余累加次數(shù)減1。當(dāng)剩余累加次數(shù)為0時(shí),此次插補(bǔ)過程結(jié)束。
  本文設(shè)計(jì)了一種通用型四軸伺服運(yùn)動(dòng)控制器,該運(yùn)動(dòng)控制器的結(jié)構(gòu)設(shè)計(jì)可以模塊化和易于擴(kuò)展,這樣可以滿足用戶的各種需求。在軟件部分中,采用有限狀態(tài)機(jī)的插補(bǔ)方法,在插補(bǔ)速度處理環(huán)節(jié)做了優(yōu)化,使脈沖輸出更加穩(wěn)定。此設(shè)計(jì)采用了模塊化思想,各電機(jī)可以單獨(dú)控制,具有較為全面的運(yùn)動(dòng)控制功能、較高的控制精度和較快的反應(yīng)速度,其性能可靠、硬件結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜。

伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理


pid控制器相關(guān)文章:pid控制器原理



上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉