專利名稱:自動控制升降速的步進(jìn)電機(jī)控制器及控制脈沖的生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及自動控制升降速的步進(jìn)電機(jī)控制器及控制脈沖的生成方法,屬于自動 控制技術(shù)領(lǐng)域。
背景技術(shù):
目前步進(jìn)電機(jī)的控制脈沖生成主要是通過CPU查表產(chǎn)生,這種方法實(shí)現(xiàn)比較簡 單,但要消耗較多地CPU資源,特別是在特定升降速曲線的工作狀況下,更需要頻繁查表得 到當(dāng)前的速度值,在速度變化微小時,由于CPU響應(yīng)不固定,會導(dǎo)致電機(jī)運(yùn)行速度不能按要 求值運(yùn)行。特別是在系統(tǒng)中有多路步進(jìn)電機(jī)同時運(yùn)轉(zhuǎn)和實(shí)時性強(qiáng)的任務(wù)多時,更易導(dǎo)致電 機(jī)高速運(yùn)行轉(zhuǎn)速不穩(wěn),從而使步進(jìn)電機(jī)只能工作在較低的轉(zhuǎn)速下,嚴(yán)重時會導(dǎo)致系統(tǒng)不能 滿足要求。
發(fā)明內(nèi)容
本發(fā)明的目的是為了提供自動控制升降速的步進(jìn)電機(jī)控制器及控制脈沖的生成 方法,該步進(jìn)電機(jī)控制器能夠嚴(yán)格按要求的時序生成控制脈沖。本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的。本發(fā)明的自動控制升降速的步進(jìn)電機(jī)控制器,包括總運(yùn)行步數(shù)寄存器、已運(yùn)行步 數(shù)計(jì)數(shù)器、轉(zhuǎn)動方向寄存器、減法器、比較器A、選擇器、比較器B、地址生成器、升降速表和 脈沖發(fā)生器;自動控制升降速的步進(jìn)電機(jī)控制器控制脈沖的生成方法,具體步驟為1)總運(yùn)行步數(shù)寄存器存儲總運(yùn)行步數(shù),運(yùn)行開始時對其置數(shù);2)已運(yùn)行步數(shù)計(jì)數(shù)器對已經(jīng)運(yùn)行的步數(shù)計(jì)數(shù),運(yùn)行開始時對其清零;3)轉(zhuǎn)動方向寄存器存儲轉(zhuǎn)動方向,運(yùn)行開始時設(shè)置轉(zhuǎn)動方方向;4)工作開始后,將總運(yùn)行步數(shù)寄存器中的總運(yùn)行步數(shù)和已運(yùn)行步數(shù)計(jì)數(shù)器中的已 運(yùn)行步數(shù)輸入到減法器中做減法運(yùn)算,總運(yùn)行步數(shù)減去已運(yùn)行步數(shù)得到剩余運(yùn)行步數(shù),同 時減法器產(chǎn)生的借位結(jié)果控制脈沖發(fā)生器是否輸出脈沖如果有借位則不輸出脈沖,如果 沒有借位則輸出脈沖;5)已運(yùn)行步數(shù)與剩余運(yùn)行步數(shù)通過比較器A進(jìn)行大小比較,比較結(jié)果確定處于升 速段還是減速段已運(yùn)行步數(shù)較小時為升速段,已運(yùn)行步數(shù)較大時為減速段;6)根據(jù)比較器A的結(jié)果,選擇器選擇以運(yùn)行步數(shù)和剩余運(yùn)行步數(shù)中的較小數(shù)為比 較器B和地址生成器的輸入;7)比較器B根據(jù)選擇器的輸出與預(yù)先設(shè)定的升降步數(shù)最大值進(jìn)行比較,確定當(dāng)前 處于勻速段還是變速段,選擇器的輸出大于最大值處于勻速段,反之處于變速段;8)地址生成器根據(jù)比較器A、比較器B、選擇器的結(jié)果生成升降速表的地址比較 器A確定升速表或者降速表,比較器B與選擇器的結(jié)果確定升速表或降速表中的具體位 置;
9)根據(jù)地址生成器生成的升降速表的地址,查升降速表得到當(dāng)前脈沖的周期;10)根據(jù)升降速表中查得的脈沖周期,脈沖發(fā)生器生成對應(yīng)周期的控制脈沖,并根 據(jù)轉(zhuǎn)動方向寄存器中的轉(zhuǎn)動方向控制電機(jī)的轉(zhuǎn)動方向,同時使已運(yùn)行步數(shù)計(jì)數(shù)器加1,當(dāng)減 法器產(chǎn)生借位時,停止生成脈沖。有益效果本發(fā)明應(yīng)用簡單、可靠,在電機(jī)運(yùn)行高速段可以保證控制脈沖的穩(wěn)定性。
圖1為本發(fā)明的工作結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對本發(fā)明做進(jìn)一步說明。實(shí)施例輸入時鐘為IMHz ;自動控制升降速的步進(jìn)電機(jī)控制器,如圖1所示,包括總運(yùn)行步數(shù)寄存器、已運(yùn)行 步數(shù)計(jì)數(shù)器、轉(zhuǎn)動方向寄存器、減法器、比較器A、選擇器、比較器B、地址生成器、升降速表 和脈沖發(fā)生器;自動控制升降速的步進(jìn)電機(jī)控制器控制脈沖的生成方法,具體步驟為1)1.總運(yùn)行步數(shù)寄存器存儲總運(yùn)行步數(shù),運(yùn)行開始時對其置數(shù)為100,要求的總 步數(shù)位101,置數(shù)為101-1 = 100 ;2)已運(yùn)行步數(shù)計(jì)數(shù)器對已經(jīng)運(yùn)行的步數(shù)計(jì)數(shù),運(yùn)行開始時對其清零;3)轉(zhuǎn)動方向寄存器存儲轉(zhuǎn)動方向,運(yùn)行開始時設(shè)置轉(zhuǎn)動方方向;4)工作開始時,總運(yùn)行步數(shù)100和已運(yùn)行步數(shù)0輸入減法器做減法運(yùn)算,總運(yùn)行步 數(shù)減已運(yùn)行步數(shù)得到剩余運(yùn)行步數(shù)為100,同時減法器產(chǎn)生的借位結(jié)果為無借位,控制脈沖 發(fā)生器輸出脈沖;5)已運(yùn)行步數(shù)0與剩余運(yùn)行步數(shù)100通過比較器A進(jìn)行大小比較,比較結(jié)果已運(yùn) 行步數(shù)較小,確定處于變速段;6)根據(jù)比較器A的結(jié)果,選擇器選擇已運(yùn)行步數(shù)0和剩余運(yùn)行步數(shù)100中的較小 數(shù)0為比較器B和地址生成器的輸入;7)比較器B根據(jù)選擇器的輸出0與升降步數(shù)最大值15進(jìn)行比較,選擇器的輸出0 小于最大值15處于變速段;8)地址生成器根據(jù)比較器A、比較器B、選擇器的結(jié)果生成升降速表的地址,選擇 升速表如表1所示,升速表地址為0 ;9)根據(jù)地址生成器生成的升速表地址0,查升速表得到當(dāng)前脈沖的周期為3300 ;10)根據(jù)升速表中查得的脈沖周期3300,脈沖發(fā)生器生成周期為3300的控制脈 沖,并根據(jù)轉(zhuǎn)動方向控制電機(jī)的轉(zhuǎn)動方向,同時使已運(yùn)行步數(shù)計(jì)數(shù)器加1,已運(yùn)行步數(shù)為1, 減法器無借位,生成脈沖。實(shí)施例2自動控制升降速的步進(jìn)電機(jī)控制器,如圖1所示,包括總運(yùn)行步數(shù)寄存器、已運(yùn)行步數(shù)計(jì)數(shù)器、轉(zhuǎn)動方向寄存器、減法器、比較器A、選擇器、比較器B、地址生成器、升降速表 和脈沖發(fā)生器;自動控制升降速的步進(jìn)電機(jī)控制器控制脈沖的生成方法,具體步驟為輸入時鐘為IMHz ;1)總運(yùn)行步數(shù)寄存器存儲總運(yùn)行步數(shù),運(yùn)行開始時對其置數(shù)為100,要求的總步 數(shù)位101,置數(shù)為101-1 = 100 ;2)已運(yùn)行步數(shù)計(jì)數(shù)器對已經(jīng)運(yùn)行的步數(shù)計(jì)數(shù),運(yùn)行開始時對其清零;3)轉(zhuǎn)動方向寄存器存儲轉(zhuǎn)動方向,運(yùn)行開始時設(shè)置轉(zhuǎn)動方方向;4)工作開始后,當(dāng)已運(yùn)行步數(shù)為30時,總運(yùn)行步數(shù)100和已運(yùn)行步數(shù)30輸入減法 器做減法運(yùn)算,總運(yùn)行步數(shù)減已運(yùn)行步數(shù)得到剩余運(yùn)行步數(shù)為70,同時減法器產(chǎn)生的借位 結(jié)果為無借位,控制脈沖發(fā)生器輸出脈沖;5)已運(yùn)行步數(shù)30與剩余運(yùn)行步數(shù)70通過比較器A進(jìn)行大小比較,比較結(jié)果已運(yùn) 行步數(shù)較小,確定處于升速段;6)根據(jù)比較器A的結(jié)果,選擇器選擇已運(yùn)行步數(shù)30和剩余運(yùn)行步數(shù)100中的較小 數(shù)30為比較器B和地址生成器的輸入;7)比較器B根據(jù)選擇器的輸出30與升降步數(shù)最大值15進(jìn)行比較,選擇器的輸出 30大于最大值15處于勻速段;8)地址生成器根據(jù)比較器A、比較器B、選擇器的結(jié)果生成升降速表的地址,選擇 升速表,如表1所示,選擇器的輸出30大于最大值15處于勻速段,升速表地址為15 ;9)根據(jù)地址生成器生成的升速表地址15,查升速表得到當(dāng)前脈沖的周期為530 ;10)根據(jù)升速表中查得的脈沖周期530,脈沖發(fā)生器生成周期為530的控制脈沖, 并根據(jù)轉(zhuǎn)動方向控制電機(jī)的轉(zhuǎn)動方向,同時使已運(yùn)行步數(shù)計(jì)數(shù)器加1,已運(yùn)行步數(shù)為1,減 法器無借位,生成脈沖。實(shí)施例3自動控制升降速的步進(jìn)電機(jī)控制器,如圖1所示,包括總運(yùn)行步數(shù)寄存器、已運(yùn)行 步數(shù)計(jì)數(shù)器、轉(zhuǎn)動方向寄存器、減法器、比較器A、選擇器、比較器B、地址生成器、升降速表 和脈沖發(fā)生器;自動控制升降速的步進(jìn)電機(jī)控制器控制脈沖的生成方法,具體步驟為輸入時鐘為IMHz ;1)總運(yùn)行步數(shù)寄存器存儲總運(yùn)行步數(shù),運(yùn)行開始時對其置數(shù)為100,要求的總步 數(shù)位101,置數(shù)為101-1 = 100 ;2)已運(yùn)行步數(shù)計(jì)數(shù)器對已經(jīng)運(yùn)行的步數(shù)計(jì)數(shù),運(yùn)行開始時對其清零;3)轉(zhuǎn)動方向寄存器存儲轉(zhuǎn)動方向,運(yùn)行開始時設(shè)置轉(zhuǎn)動方方向;4)工作開始后,當(dāng)已運(yùn)行步數(shù)為96時,總運(yùn)行步數(shù)100和已運(yùn)行步數(shù)96輸入減法 器做減法運(yùn)算,總運(yùn)行步數(shù)減已運(yùn)行步數(shù)得到剩余運(yùn)行步數(shù)為4,同時減法器產(chǎn)生的借位結(jié) 果為無借位,控制脈沖發(fā)生器輸出脈沖;5)已運(yùn)行步數(shù)96與剩余運(yùn)行步數(shù)4通過比較器A進(jìn)行大小比較,比較結(jié)果剩余運(yùn) 行步數(shù)4較小,確定處于降速段;6)根據(jù)比較器A的結(jié)果,選擇器選擇已運(yùn)行步數(shù)96和剩余運(yùn)行步數(shù)4中的較小數(shù)4為比較器B和地址生成器的輸入;7)比較器B根據(jù)選擇器的輸出4與升降步數(shù)最大值15進(jìn)行比較,選擇器的輸出4 小于最大值15處于變速段;8)地址生成器根據(jù)比較器A、比較器B、選擇器的結(jié)果生成升降速表的地址,選擇 降速表,如表2所示,選擇器的輸出4小于最大值15處于降速段,降速表地址為4 ;9)根據(jù)地址生成器生成的升速表地址4,查降速表得到當(dāng)前脈沖的周期為1405 ;10)根據(jù)降速表中查得的脈沖周期1405,脈沖發(fā)生器生成周期為1405的控制脈 沖,并根據(jù)轉(zhuǎn)動方向控制電機(jī)的轉(zhuǎn)動方向,同時使已運(yùn)行步數(shù)計(jì)數(shù)器加1,已運(yùn)行步數(shù)為1, 減法器無借位,生成脈沖。實(shí)施例4自動控制升降速的步進(jìn)電機(jī)控制器,如圖1所示,包括總運(yùn)行步數(shù)寄存器、已運(yùn)行 步數(shù)計(jì)數(shù)器、轉(zhuǎn)動方向寄存器、減法器、比較器A、選擇器、比較器B、地址生成器、升降速表 和脈沖發(fā)生器;自動控制升降速的步進(jìn)電機(jī)控制器控制脈沖的生成方法,具體步驟為輸入時鐘為IMHz ;1)總運(yùn)行步數(shù)寄存器存儲總運(yùn)行步數(shù),運(yùn)行開始時對其置數(shù)為100,要求的總步 數(shù)位101,置數(shù)為101-1 = 100 ;2)已運(yùn)行步數(shù)計(jì)數(shù)器對已經(jīng)運(yùn)行的步數(shù)計(jì)數(shù),運(yùn)行開始時對其清零;3)轉(zhuǎn)動方向寄存器存儲轉(zhuǎn)動方向,運(yùn)行開始時設(shè)置轉(zhuǎn)動方方向;4)工作開始后,當(dāng)已運(yùn)行步數(shù)為101時,總運(yùn)行步數(shù)100和已運(yùn)行步數(shù)101輸入減 法器做減法運(yùn)算,總運(yùn)行步數(shù)減已運(yùn)行步數(shù)得到剩余運(yùn)行步數(shù)為負(fù),同時減法器產(chǎn)生的借 位結(jié)果為有借位,控制脈沖發(fā)生器停止輸出脈沖;5)減法器有借位,脈沖發(fā)生器停止生成脈沖,已運(yùn)行步數(shù)計(jì)數(shù)器不再計(jì)數(shù),保持 101不變。表1升速表0 =3300,2400,2025,1700,1576,1397,1250,11208 :987,886,780,700,650,600,565,530表2降速表0 =3300,2600,2200,1810,1405,1110,870,7008 :530,530,530,530,530,530,530,530
權(quán)利要求
自動控制升降速的步進(jìn)電機(jī)控制器,其特征在于包括總運(yùn)行步數(shù)寄存器、已運(yùn)行步數(shù)計(jì)數(shù)器、轉(zhuǎn)動方向寄存器、減法器、比較器A、選擇器、比較器B、地址生成器、升降速表和脈沖發(fā)生器。
2.自動控制升降速的步進(jìn)電機(jī)控制器控制脈沖的生成方法,其特征在于具體步驟為1)總運(yùn)行步數(shù)寄存器存儲總運(yùn)行步數(shù),運(yùn)行開始時對其置數(shù);2)已運(yùn)行步數(shù)計(jì)數(shù)器對已經(jīng)運(yùn)行的步數(shù)計(jì)數(shù),運(yùn)行開始時對其清零;3)轉(zhuǎn)動方向寄存器存儲轉(zhuǎn)動方向,運(yùn)行開始時設(shè)置轉(zhuǎn)動方方向;4)工作開始后,將總運(yùn)行步數(shù)寄存器中的總運(yùn)行步數(shù)和已運(yùn)行步數(shù)計(jì)數(shù)器中的已運(yùn)行 步數(shù)輸入到減法器中做減法運(yùn)算,總運(yùn)行步數(shù)減去已運(yùn)行步數(shù)得到剩余運(yùn)行步數(shù),同時減 法器產(chǎn)生的借位結(jié)果控制脈沖發(fā)生器是否輸出脈沖如果有借位則不輸出脈沖,如果沒有 借位則輸出脈沖;5)已運(yùn)行步數(shù)與剩余運(yùn)行步數(shù)通過比較器A進(jìn)行大小比較,比較結(jié)果確定處于升速段 還是減速段已運(yùn)行步數(shù)較小時為升速段,已運(yùn)行步數(shù)較大時為減速段;6)根據(jù)比較器A的結(jié)果,選擇器選擇以運(yùn)行步數(shù)和剩余運(yùn)行步數(shù)中的較小數(shù)為比較器 B和地址生成器的輸入;7)比較器B根據(jù)選擇器的輸出與預(yù)先設(shè)定的升降步數(shù)最大值進(jìn)行比較,確定當(dāng)前處于 勻速段還是變速段,選擇器的輸出大于最大值處于勻速段,反之處于變速段;8)地址生成器根據(jù)比較器A、比較器B、選擇器的結(jié)果生成升降速表的地址比較器A 確定升速表或者降速表,比較器B與選擇器的結(jié)果確定升速表或降速表中的具體位置;9)根據(jù)地址生成器生成的升降速表的地址,查升降速表得到當(dāng)前脈沖的周期;10)根據(jù)升降速表中查得的脈沖周期,脈沖發(fā)生器生成對應(yīng)周期的控制脈沖,并根據(jù)轉(zhuǎn) 動方向寄存器中的轉(zhuǎn)動方向控制電機(jī)的轉(zhuǎn)動方向,同時使已運(yùn)行步數(shù)計(jì)數(shù)器加1,當(dāng)減法器 產(chǎn)生借位時,停止生成脈沖。
全文摘要
本發(fā)明涉及自動控制升降速的步進(jìn)電機(jī)控制器及控制脈沖的生成方法,屬于自動控制技術(shù)領(lǐng)域。包括總運(yùn)行步數(shù)寄存器、已運(yùn)行步數(shù)計(jì)數(shù)器、轉(zhuǎn)動方向寄存器、減法器、比較器A、選擇器、比較器B、地址生成器、升降速表和脈沖發(fā)生器。進(jìn)行初始設(shè)置,已運(yùn)行步數(shù)與剩余運(yùn)行步數(shù)通過比較器A進(jìn)行大小比較,較小數(shù)為比較器B和地址生成器的輸入;地址生成器根據(jù)比較器A、比較器B、選擇器的結(jié)果生成升降速表的地址;查表,脈沖發(fā)生器生成對應(yīng)周期的控制脈沖,控制電機(jī)的轉(zhuǎn)動方向,同時使已運(yùn)行步數(shù)計(jì)數(shù)器加1,當(dāng)減法器產(chǎn)生借位時,停止生成脈沖。本發(fā)明應(yīng)用簡單、可靠,在電機(jī)運(yùn)行高速段可以保證控制脈沖的穩(wěn)定性。
文檔編號H02P8/18GK101977003SQ201010544528
公開日2011年2月16日 申請日期2010年11月16日 優(yōu)先權(quán)日2010年11月16日
發(fā)明者衛(wèi)本興, 王長勝, 翟少雄, 高波 申請人:中國航天科技集團(tuán)公司第五研究院第五一○研究所