有ARM和FPGA助陣,多路電機(jī)控制更完美
發(fā)布時(shí)間:2017-02-13 責(zé)任編輯:susan
【導(dǎo)讀】介紹了一種基于fpga的多軸控制器,控制器主要由arm7(LPC2214)和fpga(EP2C5T144C8)及其外圍電路組成,用于同時(shí)控制多路電機(jī)的運(yùn)動(dòng)。
利用Verilog HDL硬件描述語言在fpga中實(shí)現(xiàn)了電機(jī)控制邏輯,主要包括脈沖控制信號(hào)產(chǎn)生、加減速控制、編碼器反饋信號(hào)的辨向和細(xì)分、絕對(duì)位移記錄、限位信號(hào)保護(hù)邏輯等。論文中給出了fpga內(nèi)部一些核心邏輯單元的實(shí)現(xiàn),并利用QuartusⅡ、Modelsim SE軟件對(duì)關(guān)鍵邏輯及時(shí)序進(jìn)行了仿真。實(shí)際使用表明該控制器可以很好控制多軸電機(jī)的運(yùn)動(dòng),并且能夠?qū)崿F(xiàn)高精度地位置控制。
隨著電機(jī)廣泛地應(yīng)用于數(shù)字控制系統(tǒng)中,對(duì)電機(jī)控制的實(shí)時(shí)性和精度上的要求越來越高。如何靈活、有效地控制電機(jī)的運(yùn)行成為研究的主要方向。文中采用現(xiàn)場(chǎng)可編程邏輯門陣列(Field Programmable Gate Array,fpga),通過Verilog語言編程來實(shí)現(xiàn)電機(jī)的控制。利用fpga設(shè)計(jì)具有硬件設(shè)計(jì)軟件化、高度集成化、高工作頻率等優(yōu)點(diǎn)。fpga最大的特點(diǎn)就是靈活,實(shí)現(xiàn)你想實(shí)現(xiàn)的任何數(shù)字電路,可以定制各種電路,減少受制于專用芯片的束縛,真正為自己的產(chǎn)品量身定做。在設(shè)計(jì)的過程中可以靈活的更改設(shè)計(jì),而且它強(qiáng)大的邏輯資源和寄存器資源可以讓你輕松的去發(fā)揮設(shè)計(jì)理念。其并行執(zhí)行,硬件實(shí)現(xiàn)的方式可以應(yīng)對(duì)設(shè)計(jì)中大量的高速電子線路設(shè)計(jì)需求。
1.多軸控制器主要功能
多軸控制器與上位機(jī)、電機(jī)驅(qū)動(dòng)器等配合使用,圖1為采用多軸控制器組成的控制系統(tǒng)總體示意圖??刂破鹘邮丈衔粰C(jī)發(fā)送的控制指令,分析處理并產(chǎn)生相應(yīng)的方向信號(hào)、脈沖信號(hào)給驅(qū)動(dòng)器,從而達(dá)到控制電機(jī)運(yùn)行的目的。為了提高系統(tǒng)的控制精度,將電機(jī)的編碼器信號(hào)作為反饋信號(hào)輸入給控制器(內(nèi)部實(shí)現(xiàn)自動(dòng)辨向及四細(xì)分)。在各軸運(yùn)動(dòng)過程中,專用控制器對(duì)電機(jī)運(yùn)行的絕對(duì)位移進(jìn)行記錄,并且可以實(shí)時(shí)地將各軸的絕對(duì)位置信息上傳給上位機(jī)。另外在電機(jī)運(yùn)行的過程中,為了保證電機(jī)運(yùn)行的安全性,控制器還采用了限位信號(hào)反饋實(shí)現(xiàn)全硬件保護(hù)措施。
2.多軸控制器組成
專用控制器由arm(LPC2214)、fpga(EP2C5T144C8)、驅(qū)動(dòng)器接口電路、編碼器接口電路、限位檢測(cè)電路和電源電路等組成,如圖2為一個(gè)八軸電機(jī)控制器的硬件組成圖。arm通過串口實(shí)現(xiàn)與上位機(jī)之間的通信,解析從上位機(jī)獲得的控制指令,并通過fpga產(chǎn)生相應(yīng)輸出信號(hào)給驅(qū)動(dòng)器接口,驅(qū)動(dòng)器接口外接驅(qū)動(dòng)器。編碼器信號(hào)作為位置反饋信號(hào)同編碼器接口相連,形成位置環(huán)反饋。限位信號(hào)作為安全檢測(cè)信號(hào)同限位檢測(cè)接口相連,為整個(gè)系統(tǒng)添加一道安全保障。
3.fpga控制邏輯
專用控制器在完成整個(gè)控制的過程中,arm只負(fù)責(zé)指令解析、控制指令發(fā)送、實(shí)時(shí)數(shù)據(jù)上傳等任務(wù),fpga才是多軸專用控制器的核心。通過Verilog HDL語言在fpga內(nèi)部實(shí)現(xiàn)了加減速曲線、編碼器信號(hào)辯向及四細(xì)分、絕對(duì)位移記錄等功能。圖3為電機(jī)控制的整體輸入、輸出信號(hào)圖,通過片選信號(hào)CS、讀有效信號(hào)rd_enable、寫有效圖信號(hào)wr_enable進(jìn)行電機(jī)通道選擇。圖4給出了1#通道控制的fpga內(nèi)部邏輯示意圖,下面將逐一對(duì)各主要模塊進(jìn)行詳細(xì)介紹。
1)加減速曲線模塊
為了更有效、更理想地控制電機(jī)的運(yùn)行,在fpga內(nèi)部設(shè)計(jì)了加減速曲線模塊。文中采用了一種近似指數(shù)加減速曲線的方法,如圖5為近似指數(shù)加速曲線,減速曲線與之對(duì)稱。速度等距分布,那么在該速度級(jí)上保持的時(shí)間不一樣場(chǎng)。為了簡(jiǎn)化,用速度級(jí)數(shù)N與一個(gè)常數(shù)C的乘積去模擬并且保持的時(shí)間用不熟來代替。因此,速度每升一級(jí),電機(jī)都要在該速度級(jí)上走NC步(其中N為該速度級(jí)數(shù))。
建立兩個(gè)名為rom_pos、rom_div的ROM模塊,如圖6所示,rom_pos為脈沖個(gè)數(shù)存儲(chǔ)器,rom_div為分頻值存儲(chǔ)器。通過相同的地址線將兩個(gè)存儲(chǔ)器連接起來,使一個(gè)地址對(duì)應(yīng)一組脈沖個(gè)數(shù)和分頻值。
fpga獲得方向信號(hào)、脈沖(距離)信號(hào)、目標(biāo)分頻值之后.如果電機(jī)運(yùn)行過程中不需要加減速,直接以目標(biāo)分頻值控制脈沖信號(hào)的發(fā)送即可。如果需要執(zhí)行加減速,則fpga內(nèi)部要調(diào)用加減速模塊。根據(jù)地址線獲取一組數(shù)據(jù),即脈沖個(gè)數(shù)pul_cnt和分頻值div_num,以div_num大小的分頻值發(fā)送pul_cnt個(gè)脈沖,然后再按照下一組數(shù)據(jù)值發(fā)送脈沖,直到分頻值達(dá)到目標(biāo)分頻值為止,減速過程與加速過程對(duì)稱。當(dāng)電機(jī)按照脈沖(距離)信號(hào)運(yùn)行到一半行程的時(shí)候,如果分頻值還未達(dá)到目標(biāo)分頻值,此時(shí)就要進(jìn)行強(qiáng)制減速。
編寫仿真程序,使兩個(gè)存儲(chǔ)器地址線相同,對(duì)存儲(chǔ)器地址address做加1運(yùn)算,從而可一次性讀取兩個(gè)存儲(chǔ)器所對(duì)應(yīng)存儲(chǔ)單元的數(shù)據(jù)。利用Modulesim仿真工具對(duì)加減速模塊進(jìn)行功能仿真,仿真結(jié)果如圖7所示,訪問一個(gè)存儲(chǔ)器地址就對(duì)應(yīng)著一組脈沖個(gè)數(shù)和分頻值的輸出。
2)編碼器反饋辨向及四細(xì)分
編碼器反饋信號(hào)由A、B、Z三相信號(hào)組成。A、B兩相信號(hào)相位相差90度,一個(gè)周期內(nèi)A、B相信號(hào)會(huì)出現(xiàn)4種不同的組合狀態(tài),根據(jù)這一特征可以對(duì)編碼器信號(hào)進(jìn)行辯相和四細(xì)分處理。Z相信號(hào)為編碼器零位信號(hào),當(dāng)編碼器旋轉(zhuǎn)一圈,Z相就會(huì)有信號(hào)輸出。
在QuartusⅡ編譯環(huán)境下成功編譯之后,調(diào)用Modulesim仿真軟件,編寫仿真程序,使之產(chǎn)生全局時(shí)鐘、復(fù)位信號(hào)、相位差為90度的A、B相信號(hào)和Z相信號(hào)。如圖8所示,給出了該多軸控制器中所采用的編碼器信號(hào)辯相及四細(xì)分的功能仿真圖。
3)絕對(duì)位移記錄
多軸專用控制器可以將電機(jī)運(yùn)行的絕對(duì)位移實(shí)時(shí)地上傳給上位機(jī),這一功能的實(shí)現(xiàn)就有賴于fpga中的絕對(duì)位移記錄部分的邏輯功能。在fpga內(nèi)部設(shè)置一個(gè)絕對(duì)位移寄存器,用來對(duì)編碼器反饋信號(hào)(辨向四細(xì)分之后)進(jìn)行計(jì)數(shù)運(yùn)算。當(dāng)編碼器信號(hào)的一個(gè)脈沖到來時(shí),根據(jù)辯向后的方向信號(hào)做不同的運(yùn)算處理。方向?yàn)檎齽t絕對(duì)位移寄存器的值就進(jìn)行加1運(yùn)算,否則進(jìn)行減1運(yùn)算,從而達(dá)到對(duì)絕對(duì)位移進(jìn)行記錄的目的。并且arm可以隨時(shí)讀取該絕對(duì)位移寄存器的值,然后將其值上傳給上位機(jī),從而完成實(shí)時(shí)上傳電機(jī)運(yùn)行位置信息的功能。編寫仿真程序?qū)^對(duì)位移寄存器進(jìn)行功能仿真,結(jié)果如圖9所示。
4.結(jié)束語
該方案成功已應(yīng)用于某6軸Stewart平臺(tái)運(yùn)動(dòng)控制中,在實(shí)現(xiàn)了0.1μm的運(yùn)動(dòng)定位精度的同時(shí),運(yùn)動(dòng)機(jī)構(gòu)得到了很好的保護(hù),多次實(shí)驗(yàn)及實(shí)際使用中,該專用控制器運(yùn)行安全可靠。
特別推薦
- 增強(qiáng)視覺傳感器功能:3D圖像拼接算法幫助擴(kuò)大視場(chǎng)
- PNP 晶體管:特性和應(yīng)用
- 使用IO-Link收發(fā)器管理數(shù)據(jù)鏈路如何簡(jiǎn)化微控制器選擇
- 用好 DMA控制器這兩種模式 MCU效率大大提高!
- 深入分析帶耦合電感多相降壓轉(zhuǎn)換器的電壓紋波問題
- Honda(本田)與瑞薩簽署協(xié)議,共同開發(fā)用于軟件定義汽車的高性能SoC
- 第13講:超小型全SiC DIPIPM
技術(shù)文章更多>>
- 利用高性能電壓監(jiān)控器提高工業(yè)功能安全合規(guī)性——第1部分
- 芯耀輝:從傳統(tǒng)IP到IP2.0,AI時(shí)代國產(chǎn)IP機(jī)遇與挑戰(zhàn)齊飛
- 解決模擬輸入IEC系統(tǒng)保護(hù)問題
- 當(dāng)過壓持續(xù)較長(zhǎng)時(shí)間時(shí),使用開關(guān)浪涌抑制器
- 用于狀態(tài)監(jiān)測(cè)的振動(dòng)傳感器
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
精密電阻
精密工具
景佑能源
聚合物電容
君耀電子
開發(fā)工具
開關(guān)
開關(guān)電源
開關(guān)電源電路
開關(guān)二極管
開關(guān)三極管
科通
可變電容
可調(diào)電感
可控硅
空心線圈
控制變壓器
控制模塊
藍(lán)牙
藍(lán)牙4.0
藍(lán)牙模塊
浪涌保護(hù)器
雷度電子
鋰電池
利爾達(dá)
連接器
流量單位
漏電保護(hù)器
濾波電感
濾波器