基于ARM和FPGA的多路電機(jī)控制方案
出處:維庫(kù)電子市場(chǎng)網(wǎng) 發(fā)布于:2016-10-28 11:19:04
介紹了一種基于fpga的多軸控制器,控制器主要由arm7(LPC2214)和fpga(EP2C5T144C8)及其外圍電路組成,用于同時(shí)控制多路電機(jī)的運(yùn)動(dòng)。利用Verilog HDL硬件描述語(yǔ)言在fpga中實(shí)現(xiàn)了電機(jī)控制邏輯,主要包括脈沖控制信號(hào)產(chǎn)生、加減速控制、編碼器反饋信號(hào)的辨向和細(xì)分、位移記錄、限位信號(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í)性和上的要求越來(lái)越高。如何靈活、有效地控制電機(jī)的運(yùn)行成為研究的主要方向。文中采用現(xiàn)場(chǎng)可編程邏輯門(mén)陣列(Field Programmable Gate Array,fpga),通過(guò)Verilog語(yǔ)言編程來(lái)實(shí)現(xiàn)電機(jī)的控制。利用fpga設(shè)計(jì)具有硬件設(shè)計(jì)軟件化、高度集成化、高工作頻率等優(yōu)點(diǎn)。fpga的特點(diǎn)就是靈活,實(shí)現(xiàn)你想實(shí)現(xiàn)的任何數(shù)字電路,可以定制各種電路,減少受制于專(zhuān)用芯片的束縛,真正為自己的產(chǎn)品量身定做。在設(shè)計(jì)的過(guò)程中可以靈活的更改設(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)過(guò)程中,專(zhuān)用控制器對(duì)電機(jī)運(yùn)行的位移進(jìn)行記錄,并且可以實(shí)時(shí)地將各軸的位置信息上傳給上位機(jī)。另外在電機(jī)運(yùn)行的過(guò)程中,為了保證電機(jī)運(yùn)行的安全性,控制器還采用了限位信號(hào)反饋實(shí)現(xiàn)全硬件保護(hù)措施。
2 多軸控制器組成
專(zhuān)用控制器由arm(LPC2214)、fpga(EP2C5T144C8)、驅(qū)動(dòng)器接口電路、編碼器接口電路、限位檢測(cè)電路和電源電路等組成,如圖2為一個(gè)八軸電機(jī)控制器的硬件組成圖。arm通過(guò)串口實(shí)現(xiàn)與上位機(jī)之間的通信,解析從上位機(jī)獲得的控制指令,并通過(guò)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控制邏輯
專(zhuān)用控制器在完成整個(gè)控制的過(guò)程中,arm只負(fù)責(zé)指令解析、控制指令發(fā)送、實(shí)時(shí)數(shù)據(jù)上傳等任務(wù),fpga才是多軸專(zhuān)用控制器的。通過(guò)Verilog HDL語(yǔ)言在fpga內(nèi)部實(shí)現(xiàn)了加減速曲線、編碼器信號(hào)辯向及四細(xì)分、位移記錄等功能。圖3為電機(jī)控制的整體輸入、輸出信號(hào)圖,通過(guò)片選信號(hào)CS、讀有效信號(hào)rd_enable、寫(xiě)有效圖信號(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ì)稱(chēng)。速度等距分布,那么在該速度級(jí)上保持的時(shí)間不一樣場(chǎng)。為了簡(jiǎn)化,用速度級(jí)數(shù)N與一個(gè)常數(shù)C的乘積去模擬并且保持的時(shí)間用不熟來(lái)代替。因此,速度每升,電機(jī)都要在該速度級(jí)上走NC步(其中N為該速度級(jí)數(shù))。
建立兩個(gè)名為rom_pos、rom_p的ROM模塊,如圖6所示,rom_pos為脈沖個(gè)數(shù)存儲(chǔ)器,rom_p為分頻值存儲(chǔ)器。通過(guò)相同的地址線將兩個(gè)存儲(chǔ)器連接起來(lái),使一個(gè)地址對(duì)應(yīng)一組脈沖個(gè)數(shù)和分頻值。
fpga獲得方向信號(hào)、脈沖(距離)信號(hào)、目標(biāo)分頻值之后.如果電機(jī)運(yùn)行過(guò)程中不需要加減速,直接以目標(biāo)分頻值控制脈沖信號(hào)的發(fā)送即可。如果需要執(zhí)行加減速,則fpga內(nèi)部要調(diào)用加減速模塊。根據(jù)地址線獲取一組數(shù)據(jù),即脈沖個(gè)數(shù)pul_cnt和分頻值p_num,以p_num大小的分頻值發(fā)送pul_cnt個(gè)脈沖,然后再按照下一組數(shù)據(jù)值發(fā)送脈沖,直到分頻值達(dá)到目標(biāo)分頻值為止,減速過(guò)程與加速過(guò)程對(duì)稱(chēng)。當(dāng)電機(jī)按照脈沖(距離)信號(hào)運(yùn)行到一半行程的時(shí)候,如果分頻值還未達(dá)到目標(biāo)分頻值,此時(shí)就要進(jìn)行強(qiáng)制減速。
編寫(xiě)仿真程序,使兩個(gè)存儲(chǔ)器地址線相同,對(duì)存儲(chǔ)器地址address做加1運(yùn)算,從而可性讀取兩個(gè)存儲(chǔ)器所對(duì)應(yīng)存儲(chǔ)單元的數(shù)據(jù)。利用Modulesim仿真工具對(duì)加減速模塊進(jìn)行功能仿真,仿真結(jié)果如圖7所示,訪問(wèn)一個(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仿真軟件,編寫(xiě)仿真程序,使之產(chǎn)生全局時(shí)鐘、復(fù)位信號(hào)、相位差為90度的A、B相信號(hào)和Z相信號(hào)。如圖8所示,給出了該多軸控制器中所采用的編碼器信號(hào)辯相及四細(xì)分的功能仿真圖。
3)位移記錄
多軸專(zhuān)用控制器可以將電機(jī)運(yùn)行的位移實(shí)時(shí)地上傳給上位機(jī),這一功能的實(shí)現(xiàn)就有賴(lài)于fpga中的位移記錄部分的邏輯功能。在fpga內(nèi)部設(shè)置一個(gè)位移寄存器,用來(lái)對(duì)編碼器反饋信號(hào)(辨向四細(xì)分之后)進(jìn)行計(jì)數(shù)運(yùn)算。當(dāng)編碼器信號(hào)的一個(gè)脈沖到來(lái)時(shí),根據(jù)辯向后的方向信號(hào)做不同的運(yùn)算處理。方向?yàn)檎齽t位移寄存器的值就進(jìn)行加1運(yùn)算,否則進(jìn)行減1運(yùn)算,從而達(dá)到對(duì)位移進(jìn)行記錄的目的。并且arm可以隨時(shí)讀取該位移寄存器的值,然后將其值上傳給上位機(jī),從而完成實(shí)時(shí)上傳電機(jī)運(yùn)行位置信息的功能。編寫(xiě)仿真程序?qū)ξ灰萍拇嫫鬟M(jìn)行功能仿真,結(jié)果如圖9所示。
4 結(jié)束語(yǔ)
該方案成功已應(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í)際使用中,該專(zhuān)用控制器運(yùn)行安全可靠。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 工業(yè)視覺(jué)檢測(cè)系統(tǒng)技術(shù)參數(shù)與選型運(yùn)維指南2026/1/4 14:50:21
- 工業(yè)視覺(jué)檢測(cè)系統(tǒng)核心知識(shí)解析2025/12/29 11:23:21
- 工業(yè)級(jí)電磁閥技術(shù)參數(shù)與選型運(yùn)維指南2025/12/29 11:06:44
- 工業(yè)控制系統(tǒng)遠(yuǎn)程訪問(wèn)安全實(shí)操指南2025/12/25 10:04:23
- 工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全防護(hù)實(shí)操指南2025/12/25 9:53:54
- 編碼器的工作原理及作用1
- 超強(qiáng)整理!PCB設(shè)計(jì)之電流與線寬的關(guān)系2
- 三星(SAMSUNG)貼片電容規(guī)格對(duì)照表3
- 電腦藍(lán)屏代碼大全4
- 國(guó)標(biāo)委發(fā)布《電動(dòng)汽車(chē)安全要求第3部分:人員觸電防護(hù)》第1號(hào)修改單5
- 通俗易懂談上拉電阻與下拉電阻6
- 繼電器的工作原理以及驅(qū)動(dòng)電路7
- 電容單位8
- 跟我學(xué)51單片機(jī)(三):?jiǎn)纹瑱C(jī)串口通信實(shí)例9
- 一種三極管開(kāi)關(guān)電路設(shè)計(jì)10
- PCB焊盤(pán)與過(guò)孔設(shè)計(jì)核心實(shí)操規(guī)范(含可焊性與可靠性保障)
- 汽車(chē)電子常用電子元器件選型指南
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)
- 高溫環(huán)境下電源IC選型建議
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法









