基于PCIE總線3D打印機運動控制系統(tǒng)設計
摘要:為了使3D打印機的多個伺服電機運動得更快、更精確,提出一種基于PCIE總線運動控制系統(tǒng)的解決方案,并設計完善了整個運動控制系統(tǒng)的硬件架構(gòu)。該系統(tǒng)的創(chuàng)新之處在于硬件部分通過PI3EQX5801對PCIE總線信號進行加強處理,使PCIE總線信號在經(jīng)過長達1~3 m的傳輸后仍保持高度的有效性。實際應用表明,此系統(tǒng)具有響應時間短、定位準確的特點,滿足設計要求。
本文引用地址:http://m.butianyuan.cn/article/201610/306595.htm引言
目前3D打印機在工業(yè)、民用領域得到廣泛應用,隨著3D打印技術(shù)的革新,3D打印不僅在傳統(tǒng)的制造行業(yè)體現(xiàn)出非凡的發(fā)展?jié)摿?,而且其魅力延伸至食品制造、服裝奢侈品、影視傳媒以及教育等多個與人們生活息息相關的領域。經(jīng)過對比各種芯片性能,選用PEX8311與X7043協(xié)同工作,PEX8311芯片對 PCIE總線信號進行譯碼,生成16路總線數(shù)據(jù)和地址信號,這些控制信號可用于X7043運控控制芯片,保證同時對最多4臺伺服電機進行實時同步的控制。實驗過程中發(fā)現(xiàn)即使3D打印機與主控機相距3 m,誤碼率仍在萬分之一以下,對3D打印機的運動控制性能有明顯提升。
1 總體設計
該套方案的系統(tǒng)結(jié)構(gòu)圖如圖1所示,在整個設計中,用戶控制主機,向下發(fā)送指令,指令信息最先到達PCIE板卡,指令經(jīng)過處理(如打包)按照PCIE總線協(xié)議發(fā)送到信號加強轉(zhuǎn)接板,該板需插入機箱內(nèi)部插槽(金手指),經(jīng)過信號加強芯片,對PCIE總線信號加強,P13EQX5801芯片對信號重驅(qū)動后,信號能傳輸?shù)挠行Ь嚯x將大大增加。
總線信號中的讀/寫信息都是以高頻差分對的形式傳輸,對特征阻抗的要求非常高,按照PCI2.0總線協(xié)議,差分對在PCB走線時不能超過15 cm,只有進行重驅(qū)動,才能使PCIE總線信號到達打印機的運動控制模塊,否則在線路傳輸中信號將被干擾而失真,不能實現(xiàn)主機對3D打印機運動控制系統(tǒng)的實時操作。
運動控制系統(tǒng)硬件主要由上位機、工控機、P13EQX5801重驅(qū)動電路、PEX8311解析電路、X7043控制電路和3臺伺服電機驅(qū)動系統(tǒng)組成,圖2 所示即為整個系統(tǒng)結(jié)構(gòu)。上位機為用戶提供操作界面,工控機則用來發(fā)送上位機下達的指令給下位機,PCIE總線信息首先經(jīng)過PI3EQX5801進行重驅(qū)動處理,以使信號在進行遠距離傳輸后不失真。在多軸運控控制電路板上裝有PEX8311、X7043和CPLD芯片,PEX8311對傳輸過來的總線進行信號解析,產(chǎn)生能被X7043使用的數(shù)據(jù)總線、地址總線和控制總線信號,CPLD用于采集編碼信號和來自伺服電機驅(qū)動器的信號,進而準確控制電機運行狀態(tài)。著重介紹具有創(chuàng)新意義的PI3EQX5801的使用。
2 PI3EQX5801的電路設計
PI3EQX5801特性:兼容PCIe 2.0協(xié)議,可調(diào)節(jié)量化接收器,兩路5.0 Gbps差分信號對,100 Ω匹配電阻差分輸入端,為引腳加強的配置輸出且能控制擺幅輸出,單通道的輸入信號檢測和去噪,自動接收檢測,低電壓工作為-330 mW(3.3 V)/-150 mW(1.5 V),采用TQFN(4×4 mm)20引腳封裝。
這款低功耗、高性能的信號驅(qū)動器是為PCIE 2.0協(xié)議特別研制的,芯片提供可編程量化器,去加重,具有輸出幅度控制功能,通過抑制系統(tǒng)內(nèi)多樣的物理媒介產(chǎn)生的干擾來優(yōu)化芯片的性能。芯片支持兩路100 Ω特征阻抗的差分信號輸入/輸出,使用戶平臺上的ASIC協(xié)議信號在經(jīng)過轉(zhuǎn)換機構(gòu)、導線或遠程數(shù)據(jù)線路后仍有效。
當通道使能時,EN#=0,開始操作,通道的輸入信號極性決定輸出極性,而不管輸出是否激活。當輸入通道的信號下降到閾值(Vth-)以下時,輸出也被驅(qū)動到相同的電壓。另外在有信號條件下,當EN#=1時,芯片會進入低功耗的待機模式。PI3EQX5801還包含一個完全可編程的I2C總線接口。當 I2C總線控制模式使能時,I2C EN=1,量化、輸出擺動和去加重功能的設置可以通過編輯相應的寄存器得到調(diào)整。
特別注意的是該芯片的輸出振幅設置,當信號頻率為2.5 GHz時,電阻的選型可根據(jù)表1進行選擇,在默認情況下輸出的振幅為被加強。
數(shù)據(jù)發(fā)送周期以主控制器產(chǎn)生的一位開始位開始,芯片在識別這個開始位后,將監(jiān)督下一位信息,看該數(shù)據(jù)是否與它的地址匹配。當發(fā)現(xiàn)匹配后,在接下來的時鐘信號里,它將回應一個讀或?qū)懙臄?shù)據(jù)。每字節(jié)后都必須跟著一位應答位,除非最后的一個字節(jié)以一位停止位結(jié)束。在一個發(fā)送周期中,跟著地址字節(jié)的第一個數(shù)據(jù)字節(jié)是偽字節(jié)或填充字節(jié),并不被PI3EQX5801使用。這個字節(jié)是為了兼容使用10位地址的系統(tǒng)而產(chǎn)生的。數(shù)據(jù)傳輸中最先傳輸最重要的數(shù)據(jù)。
重驅(qū)動的電路設計參考了百利通公司給出的標準圖,為了讓電路具有對其他設備的適用性,保留了官方配置時需要的各個電阻,在做PCB板時加入了撥碼開關,可以根據(jù)不同需要進行模式選擇。
3 PEX8311設計
PEX8311起到橋梁作用,它將PCIE總線變成一般的局部總線信號。芯片支持3種不同的總線協(xié)議或模式。由于該芯片引腳足夠滿足本控制系統(tǒng)的設計要求,所以該系統(tǒng)中使用C(非復用)模式,總共96個引腳。作為Local總線的主控方,PEX8311提供了一個32位的地址用于數(shù)據(jù)傳輸,8位數(shù)據(jù)傳輸時,LAD[31:0]提供字節(jié)地址;16位數(shù)據(jù)傳輸時,LAD[31:1]提供字地址,LAD[0]為0;32位數(shù)據(jù)傳輸時,LAD[31:2]提供雙字地址,LAD[1:0]為00。作為Local總線的從控方,主控方以32位地址訪問PEX8311,LAD[1:0]忽略,在ADS#有效期間、LCLK上升沿到達時或者ALE有效時,輸入的地址被鎖存入PEX8311中。
在一個數(shù)據(jù)周期中,作為Local總線的主控方,PEX8311通過總線數(shù)據(jù)寬度訪問方式可以提供8/16/32位數(shù)據(jù)傳輸通道;作為Local總線的從控方,32位的數(shù)據(jù)總線被用來讀取/寫入PEX8311。
PEX8311上電后接收PCIE協(xié)議信息完成自身的初始化,對局部總線進行讀寫操作。初始化過程代碼如下:
4 X7043電路設計
X7043作為大規(guī)模集成電路,能產(chǎn)生控制伺服電機和步進電機速度和位置的脈沖序列,最多能控制4個軸。芯片單元包含一個S形或線性的加速/減速脈沖發(fā)生器、一個線性插值除法器、一個基于形或三角形驅(qū)動的減速點自動計算器、多個編碼器和計數(shù)器的輸入腳(可用作當前位置計數(shù)器或偏差計數(shù)器),一個回原點的傳感器接口、一個限位傳感器接口、一個伺服驅(qū)動接口、一個8位多用途的輸入口和一個8位多用途的輸出口。輸入為PEX8311解碼后的數(shù)據(jù)信號,包括16位地址和8位數(shù)據(jù),由于X7043只有8位輸入,所以我們只用到了16位地址線中的8位。
X7043擁有多種指令形式,分別對應多種功能,發(fā)送命令代碼時,代碼先進入命令寄存器中。該系統(tǒng)最常用的命令代碼有00h、01h、指數(shù)驅(qū)動,這樣的驅(qū)動形式伴隨加速和減速過程,電機會先加速到最高速度,在最高速運行一定時間后進入減速狀態(tài),到達目標位置時剛好停止。電機轉(zhuǎn)速狀態(tài)如圖3所示。
X7043使用前需先下載應用文件,對需要的功能進行配置,具體配置方法參考官方的使用手冊。
梯形正弦加速度設置公式:
Tsg=f×K×R5/131 072
梯形正弦減速度設置公式:
Tsg=f×K×R6/131 072。
其中,K代表速度分辨率,K=f/65536×R0;f為參考時鐘頻率;R0頻率系數(shù)寄存器值;R5為加速度設置寄存器值;R6是減速度設置寄存器值。
PEX8311寫給X7043的程序代碼如下:
實驗中,對伺服驅(qū)動器輸出數(shù)值進行采集,并對各軸的目標位置與實際位置進行分析,調(diào)整梯形規(guī)劃算法并優(yōu)化上位機程序,以提高電機響應速度。實際效果圖如圖4所示。
圖中預設是反向220 r/min,粗線是實際轉(zhuǎn)速,細線為設置轉(zhuǎn)速,可以看出電機的轉(zhuǎn)停沒有較大的沖擊,并且能夠達到很高的控制精度。
結(jié)語
此運動控制系統(tǒng)采用具有高速數(shù)據(jù)處理能力的芯片,對從上位機下發(fā)的指令信號進行一整套的解析,在3D打印機的多軸控制試驗中取得了很好效果,這套體系也可用于多軸控制的其他設備中。作為新方案,軸的運動速度及精度與進口3D打印機相比還有一定差距。若要達到國外高級3D打印機的打印精度,還需在控制算法上進行深入研究。目前,3D打印機在國內(nèi)應用市場前景很廣闊,這套運動控制系統(tǒng)為高精度、高效率的3D打印機設計提供了新思路。
評論