基于FPGA的步進電機控制器研究和實現(xiàn)
調(diào)用LPM庫中的模塊,定制一個lpm_compare0元件,然后在lpm_compare0的輸入/輸出端接入輸入/輸出信號,并將這些模塊包裝為一個symbol,以備總模塊調(diào)用,如圖9所示。本文引用地址:http://butianyuan.cn/article/191259.htm
2.3.4 各模塊集成
各功能模塊設(shè)計完成后,用原理圖的輸入法生成總的功能模塊,實現(xiàn)設(shè)計功能,最后生成的頂層電路圖如圖10所示。
3 系統(tǒng)調(diào)試
3.1 步進電機總模塊時序仿真調(diào)試及分析
總模塊在QuartusⅡ6.1軟件環(huán)境下編譯通過,再進行總體仿真。
圖11中各信號的定義為u_d為步進電機正、反轉(zhuǎn)控制;clock0為步進電機轉(zhuǎn)動速度控制;clock5為PWM計數(shù)時鐘;s=1為細(xì)分;s=0為非細(xì)分。Y[3..0]分別對應(yīng)步進電機的4個相,即DP,CP,BP,AP;s為選擇細(xì)分控制。
圖11給出了步進電機無細(xì)分仿真波形圖。圖12給出了步進電機從A相(1000即8)→AB相(1100即12)→B相(0100即4)→BC相(0110即6)→相C(0010即2)→CD相(0010即3)→D相(0001即1)→DA相(1001即9)→…的工作過程仿真波形。通過圖12可以清楚地看到,首先步進電機A相導(dǎo)通,B,C,D相截止;然后B項的數(shù)據(jù)逐漸增大,從1增大到4,電機中的磁場經(jīng)過4拍從A相轉(zhuǎn)到了AB相,再經(jīng)過4拍,A相的數(shù)據(jù)逐漸減小,電機中的磁場從AB相轉(zhuǎn)到B相。從A到AB再到B共經(jīng)過了8拍,實現(xiàn)了步距角的8細(xì)分。圖13給出了步進電機反轉(zhuǎn)8細(xì)分仿真波形圖。
步進電機的轉(zhuǎn)速取決于輸入的脈沖頻率。如果給步進電機發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步。2個脈沖的間隔越短,步進電機轉(zhuǎn)得越快。調(diào)整控制器發(fā)出的脈沖頻率,就可以對步進電機進行調(diào)速。從圖14可以看出,當(dāng)改變輸入脈沖clock0的周期時,A,B,C,D四相繞組的高低電平寬度將發(fā)生變化,它將導(dǎo)致通電和斷電的變化速率發(fā)生變化,隨之使電機轉(zhuǎn)速發(fā)生變化。所以調(diào)節(jié)輸入脈沖的周期就可以控制步進電機的運動速度。
由圖14與圖15的對比可知,通過減少clock0周期,步進電機控制器的運行速度明顯加快。通過以上對步進電機的仿真分析可知,該設(shè)計實現(xiàn)了對步進電機的各種基本控制。
3.2 下栽到實際FPGA器件上進行工程調(diào)試
各模塊經(jīng)過編譯優(yōu)化后,就要選擇合適的目標(biāo)芯片進行綜合、管腳配置。該系統(tǒng)選用Altera公司的高性價比Cyclone系列FPGA芯片,型號為EP1C6Q240C8,芯片在32 678 Hz下工作,將實驗板GW48-PK3的JTAG PORT接口和下載接口USBBlaster用數(shù)據(jù)線連接,最后打開板子的電源。
在該硬件環(huán)境中,通過鍵7可以控制步進電機的正、反轉(zhuǎn),鍵8可以選擇步進電機的細(xì)分/非細(xì)分功能,這證明該設(shè)計完成了步進電機細(xì)分驅(qū)動控制器的設(shè)計要求,最終取得了令人滿意的結(jié)果。
4 結(jié)語
該系統(tǒng)以FPGA為核心部件,根據(jù)步進電機的工作原理,利用EDA技術(shù)實現(xiàn)了步進電機的細(xì)分驅(qū)動控制。采用VHDL語言并根據(jù)步進電機的不同,改變模塊程序的參數(shù),實現(xiàn)不同型號的步進電機控制。在系統(tǒng)設(shè)計過程中,力求硬件簡單,并充分發(fā)揮VHDL語言軟件編程靈活方便和FPGA快速的特點來滿足系統(tǒng)設(shè)計要求,同時大大縮短系統(tǒng)的開發(fā)時間和成本。
評論