步進(jìn)電機(jī)控制器的FPGA實(shí)現(xiàn)
2.2 步進(jìn)電機(jī)方向電路模塊設(shè)計(jì)
該模塊的功能是設(shè)定步進(jìn)電機(jī)的旋轉(zhuǎn)方向(順/逆時(shí)針轉(zhuǎn)動(dòng)),并設(shè)定電動(dòng)機(jī)在順/逆時(shí)針時(shí)所需的初值與累加/減值。給出逆時(shí)針操作模式的技術(shù)規(guī)則和仿真輸出(ini=0賦初值,ini=1時(shí)開(kāi)始計(jì)數(shù))。
如果manner=00,這時(shí)進(jìn)行自動(dòng)判斷,若angle步進(jìn)角為偶數(shù)(角度設(shè)定可以被90整除)電路使用一相激磁法,則count的初始值為000(cntini=0),每次加2;否則電路使用二相激磁法,count的初始值為111(cntini=111),每次加2;angleDnCntDec每次減2。得到的仿真結(jié)果如圖2所示。
表2是模塊按不同勵(lì)磁方式輸出時(shí)各個(gè)初值以及累加/減值的設(shè)定真值表。
2.3 步進(jìn)電機(jī)移動(dòng)與定位控制模塊設(shè)計(jì)
該模塊的主要功能是利用賦初值ini將數(shù)值傳到該模塊中并配合輸入的clk作為同步控制信號(hào),進(jìn)行步進(jìn)電機(jī)的步進(jìn)移動(dòng)與定位控制。步進(jìn)電機(jī)定位功能通過(guò)一個(gè)減法器實(shí)現(xiàn):在每個(gè)clk脈沖上升沿,設(shè)定步進(jìn)角倍數(shù),angleDnCount減去不同激磁方式下設(shè)定的累加器計(jì)數(shù)值angleDnCntDec,判斷差值小于設(shè)定的累減計(jì)數(shù)時(shí),步進(jìn)電機(jī)旋轉(zhuǎn)到預(yù)定角度停止輸出驅(qū)動(dòng)端口信號(hào),來(lái)實(shí)現(xiàn)定位功能。
2.4 編碼輸出模塊
評(píng)論