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