步進(jìn)電機(jī)驅(qū)動(dòng)器及其任意細(xì)分算法
【專利摘要】本發(fā)明涉及電機(jī)技術(shù)領(lǐng)域,提供了一種步進(jìn)電機(jī)驅(qū)動(dòng)器及其任意細(xì)分算法,步進(jìn)電機(jī)驅(qū)動(dòng)器的任意細(xì)分算法包括以下步驟:設(shè)定脈沖當(dāng)量為常量,并根據(jù)細(xì)分值獲取相位范圍,其中,所述相位范圍是所述脈沖當(dāng)量的整數(shù)倍;接收脈沖信號(hào)并根據(jù)所述脈沖信號(hào)和所述脈沖當(dāng)量獲取相對(duì)脈沖速度;根據(jù)所述相對(duì)脈沖速度獲取當(dāng)前時(shí)刻相位值,其中,所述當(dāng)前時(shí)刻相位值是所述細(xì)分值的整數(shù)倍;根據(jù)所述細(xì)分值將所述當(dāng)前時(shí)刻相位值轉(zhuǎn)換成正弦表相位范圍內(nèi)所對(duì)應(yīng)的角度;根據(jù)所述角度讀取正弦表數(shù)據(jù)并輸出相電流,實(shí)現(xiàn)用戶任意選定細(xì)分后,其他變量都隨之自動(dòng)改變,從而避免了后期的人為操作。
【專利說明】
步進(jìn)電機(jī)驅(qū)動(dòng)器及其任意細(xì)分算法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及電機(jī)技術(shù)領(lǐng)域,尤其涉及一種步進(jìn)電機(jī)驅(qū)動(dòng)器及其任意細(xì)分算法。
【背景技術(shù)】
[0002]目前,在步進(jìn)電機(jī)驅(qū)動(dòng)器技術(shù)領(lǐng)域中,兩項(xiàng)步進(jìn)電機(jī)的步距角為1.8°,三相步進(jìn)電機(jī)的步距角為1.2°,通過步進(jìn)電機(jī)驅(qū)動(dòng)器的電子齒輪功能,可以將步距角進(jìn)一步細(xì)分成I/
2、l/4以及l(fā)/8等16種細(xì)分(折算成ppr為200、400、800等)。由于用戶的不同需要,現(xiàn)有的16種細(xì)分無法滿足用戶需求,例如,用戶要求特殊的細(xì)分ISOOppr、1700ppr等,需要驅(qū)動(dòng)器廠家針對(duì)特殊細(xì)分做特殊處理,需要修改驅(qū)動(dòng)器程序或參數(shù),增加了驅(qū)動(dòng)器廠家的工作量。綜上所述,現(xiàn)有技術(shù)中存在用戶對(duì)電機(jī)驅(qū)動(dòng)器要求特殊細(xì)分時(shí)需要修改驅(qū)動(dòng)器程序或參數(shù)導(dǎo)致工作量增加的問題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于提供一種步進(jìn)電機(jī)驅(qū)動(dòng)器及其任意細(xì)分算法,以解決現(xiàn)有技術(shù)中存在用戶對(duì)電機(jī)驅(qū)動(dòng)器要求特殊細(xì)分時(shí)需要修改驅(qū)動(dòng)器程序或參數(shù)導(dǎo)致工作量增加的問題。
[0004]本發(fā)明第一方面提供一種步進(jìn)電機(jī)驅(qū)動(dòng)器的任意細(xì)分算法,所述任意細(xì)分算法包括以下步驟:
[0005]根據(jù)細(xì)分值獲取相對(duì)相位范圍,設(shè)定脈沖當(dāng)量為常量,其中,所述相對(duì)相位范圍是所述脈沖當(dāng)量的整數(shù)倍;
[0006]接收脈沖信號(hào)并根據(jù)所述脈沖信號(hào)和所述脈沖當(dāng)量獲取相對(duì)脈沖速度;
[0007]根據(jù)所述相對(duì)脈沖速度獲取所述相對(duì)相位范圍中的當(dāng)前時(shí)刻相位值,其中,所述當(dāng)前時(shí)刻相位值是所述細(xì)分值的整數(shù)倍;
[0008]根據(jù)所述細(xì)分值將所述當(dāng)前時(shí)刻相位值轉(zhuǎn)換成正弦表相位范圍內(nèi)所對(duì)應(yīng)的角度;
[0009]根據(jù)所述角度讀取正弦表數(shù)據(jù)并輸出相電流
[0010]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述根據(jù)細(xì)分值獲取相位范圍的步驟具體為:
[0011]將細(xì)分值與正弦表相位范圍進(jìn)行乘積運(yùn)算以獲取相對(duì)相位范圍
[0012]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述相對(duì)脈沖速度獲取當(dāng)前時(shí)刻相位值的步驟具體為:
[0013]獲取所述相對(duì)相位范圍中的上一時(shí)刻相位值,并根據(jù)所述相對(duì)脈沖速度和所述上一時(shí)刻相位值獲取所述相對(duì)相位范圍中的當(dāng)前時(shí)刻相位值。
[0014]結(jié)合第一方面,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述相對(duì)脈沖速度獲取所述相對(duì)相位范圍中的當(dāng)前時(shí)刻相位值的步驟還包括:
[0015]判斷當(dāng)前時(shí)刻相位值是否位于所述相對(duì)相位范圍內(nèi),是,則采用當(dāng)前時(shí)刻相位值,否,則將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成所述相對(duì)相位范圍內(nèi)的相位值。
[0016]結(jié)合第一方面的第三種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成所述相對(duì)相位范圍內(nèi)的相位值的步驟具體為:
[0017]在當(dāng)前時(shí)刻相位值小于所述相對(duì)相位范圍的最小值時(shí),將當(dāng)前時(shí)刻相位值與所述相對(duì)相位范圍作加法運(yùn)算;
[0018]在當(dāng)前時(shí)刻相位值大于所述相對(duì)相位范圍的最大值時(shí),將當(dāng)前時(shí)刻相位值與所述相對(duì)相位范圍作減法運(yùn)算。
[0019]本發(fā)明第二方面提供一種步進(jìn)電機(jī)驅(qū)動(dòng)器,步進(jìn)電機(jī)驅(qū)動(dòng)器裝置包括:
[0020]相對(duì)相位范圍獲取單元,用于根據(jù)細(xì)分值獲取相位范圍;
[0021]脈沖當(dāng)量設(shè)定單元,用于設(shè)定脈沖當(dāng)量為定值,所述相對(duì)相位范圍是所述脈沖當(dāng)量的整數(shù)倍;
[0022]相對(duì)脈沖速度獲取單元,用于接收脈沖信號(hào)并根據(jù)所述脈沖信號(hào)和所述脈沖當(dāng)量獲取相對(duì)脈沖速度;
[0023]當(dāng)前時(shí)刻相位值獲取單元,用于根據(jù)所述相對(duì)脈沖速度獲取所述相對(duì)相位范圍中的當(dāng)前時(shí)刻相位值,其中,所述當(dāng)前時(shí)刻相位值是所述細(xì)分值的整數(shù)倍;
[0024]相位轉(zhuǎn)換單元,用于根據(jù)所述細(xì)分值將所述當(dāng)前時(shí)刻相位值轉(zhuǎn)換成正弦表相位范圍內(nèi)所對(duì)應(yīng)的角度;
[0025]相電流計(jì)算單元,用于根據(jù)所述角度讀取正弦表數(shù)據(jù)并輸出相電流。
[0026]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述相對(duì)相位范圍獲取單元根據(jù)細(xì)分值獲取相對(duì)相位范圍的過程為:
[0027]將細(xì)分值與正弦表相位范圍進(jìn)行乘積運(yùn)算以獲取相對(duì)相位范圍。
[0028]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述當(dāng)前時(shí)刻相位值獲取單元根據(jù)所述相對(duì)脈沖速度獲取所述相對(duì)相位范圍中的當(dāng)前時(shí)刻相位值的過程為:
[0029]獲取所述相對(duì)相位范圍中的上一時(shí)刻相位值,并根據(jù)所述相對(duì)脈沖速度和所述上一時(shí)刻相位值獲取所述相對(duì)相位范圍中的當(dāng)前時(shí)刻相位值。
[0030]結(jié)合第二方面,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述當(dāng)前時(shí)刻相位值獲取單元獲取所述相對(duì)相位范圍中的當(dāng)前時(shí)刻相位值的過程還包括:
[0031]判斷當(dāng)前時(shí)刻相位值是否位于所述相對(duì)相位范圍內(nèi),當(dāng)判斷結(jié)果為是時(shí),采用當(dāng)前時(shí)刻相位值,當(dāng)判斷結(jié)果為否時(shí),將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成所述相對(duì)相位范圍內(nèi)的相位值。
[0032]結(jié)合第二方面的第三種可能的實(shí)現(xiàn)方式,在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述當(dāng)前時(shí)刻相位值獲取單元將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成所述相對(duì)相位范圍內(nèi)的相位值的過程為:
[0033]在當(dāng)前時(shí)刻相位值小于所述相對(duì)相位范圍的最小值時(shí),將當(dāng)前時(shí)刻相位值與所述相對(duì)相位范圍作加法運(yùn)算;
[0034]在當(dāng)前時(shí)刻相位值大于相位范圍的最大值時(shí),將當(dāng)前時(shí)刻相位值與所述相對(duì)相位范圍作減法運(yùn)算。
[0035]本發(fā)明提供一種步進(jìn)電機(jī)驅(qū)動(dòng)器及其任意細(xì)分算法,在接收脈沖時(shí),根據(jù)脈沖信號(hào)和脈沖當(dāng)量獲取相對(duì)脈沖速度,并進(jìn)而獲取當(dāng)前時(shí)刻相位值,將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成正弦表相位范圍內(nèi)所對(duì)應(yīng)的相位值,根據(jù)正弦表數(shù)據(jù)輸出相電流,根據(jù)用戶設(shè)定的細(xì)分值,選取合適的脈沖當(dāng)量,并使總步長變成因細(xì)分改動(dòng)而動(dòng)態(tài)變動(dòng)的變量,根據(jù)變動(dòng)后的總步長進(jìn)行對(duì)當(dāng)前時(shí)刻相位值的轉(zhuǎn)換,實(shí)現(xiàn)用戶任意選定細(xì)分后,其他變量都隨之自動(dòng)改變,從而避免了后期的人為操作。
【附圖說明】
[0036]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0037]圖1是本發(fā)明一種實(shí)施例提供的一種步進(jìn)電機(jī)驅(qū)動(dòng)器的任意細(xì)分算法的流程圖;
[0038]圖2是本發(fā)明一種實(shí)施例提供的一種步進(jìn)電機(jī)驅(qū)動(dòng)器的任意細(xì)分算法中的時(shí)間與相位波形圖;
[0039]圖3是本發(fā)明一種實(shí)施例提供的一種步進(jìn)電機(jī)驅(qū)動(dòng)器的任意細(xì)分算法中的正弦相位波形示意圖;
[0040]圖4是本發(fā)明另一種實(shí)施例提供的一種步進(jìn)電機(jī)驅(qū)動(dòng)器的任意細(xì)分算法的流程圖;
[0041]圖5是本發(fā)明另一種實(shí)施例提供的一種步進(jìn)電機(jī)驅(qū)動(dòng)器的結(jié)構(gòu)示意圖;
[0042]圖6是本發(fā)明另一種實(shí)施例提供的一種步進(jìn)電機(jī)驅(qū)動(dòng)器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0043]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0044]為了說明本發(fā)明的技術(shù)方案,下面通過具體實(shí)施例來進(jìn)行說明。
[0045]本發(fā)明實(shí)施例提供一種步進(jìn)電機(jī)驅(qū)動(dòng)器的任意細(xì)分算法,如圖1所示,該任意細(xì)分算法包括以下步驟:
[0046]步驟S101.根據(jù)細(xì)分值獲取相對(duì)相位范圍,設(shè)定脈沖當(dāng)量為常量,其中,相對(duì)相位范圍是所述脈沖當(dāng)量的整數(shù)倍。
[0047]在本步驟中,具體的,相對(duì)相位范圍是由正弦表相位范圍和細(xì)分值之間的乘積所得到的,正弦表相位范圍是預(yù)先設(shè)定的,正弦表相位范圍通過細(xì)分值與相對(duì)相位范圍內(nèi)的相位值相對(duì)應(yīng),設(shè)定脈沖當(dāng)量為常量,并保持不變,脈沖當(dāng)量根據(jù)相對(duì)相位范圍確定,通常使相對(duì)相位范圍是脈沖當(dāng)量的整數(shù)倍。
[0048]步驟S102.接收脈沖信號(hào)并根據(jù)脈沖信號(hào)和脈沖當(dāng)量獲取相對(duì)脈沖速度。
[0049]在本步驟中,具體的,步進(jìn)電機(jī)驅(qū)動(dòng)器接收到脈沖信號(hào)后,將脈沖信號(hào)數(shù)量轉(zhuǎn)換成程序內(nèi)部的相對(duì)脈沖速度,相對(duì)脈沖速度與脈沖信號(hào)數(shù)量以及脈沖當(dāng)量有關(guān),相對(duì)脈沖速度為脈沖信號(hào)數(shù)量與脈沖當(dāng)量的乘積。
[0050]步驟S103.根據(jù)相對(duì)脈沖速度獲取相對(duì)相位范圍內(nèi)的當(dāng)前時(shí)刻相位值,其中,當(dāng)前時(shí)刻相位值是細(xì)分值的整數(shù)倍。
[0051]在本步驟中,具體的,獲取相對(duì)相位范圍內(nèi)的上一時(shí)刻相位值,并根據(jù)相對(duì)脈沖速度和上一時(shí)刻相位值獲取當(dāng)前時(shí)刻相位值,如圖2所示,根據(jù)相位范圍的時(shí)間與相位的對(duì)應(yīng)關(guān)系曲線,可以得到上一時(shí)刻相位值yi,再將相對(duì)脈沖速度與上一時(shí)刻相位值yi進(jìn)行加法運(yùn)算后得到當(dāng)前時(shí)刻相位值y2,由于相對(duì)相位范圍是正弦表相位范圍乘以細(xì)分值得到的,所以相對(duì)相位范圍中的每一個(gè)相位值均與正弦表相位范圍中的相位相對(duì)應(yīng),兩者相差細(xì)分值倍。
[0052]步驟S104.根據(jù)細(xì)分值將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成正弦表相位范圍內(nèi)所對(duì)應(yīng)的角度。
[0053]在步驟S104中,具體的,將當(dāng)前時(shí)刻相位值與細(xì)分值作除法運(yùn)算獲取正弦表所相位范圍內(nèi)對(duì)應(yīng)的角度。
[0054]步驟S105.根據(jù)角度讀取正弦表數(shù)據(jù)并輸出相電流。
[0055]在步驟S105中,如圖3所示,具體的,該正弦表包括角度與相電流的對(duì)應(yīng)關(guān)系,可以直接根據(jù)角度讀取其對(duì)應(yīng)的相電流,并將該相電流輸出給功率驅(qū)動(dòng)模塊以驅(qū)動(dòng)電機(jī)。
[°°56] 本發(fā)明實(shí)施例的工作原理如下:假定細(xì)分為PulsePpr (如4000,則相當(dāng)于4000個(gè)脈沖電機(jī)轉(zhuǎn)動(dòng)一圈),選取脈沖當(dāng)量為PulseA,步進(jìn)電機(jī)正弦表的相位范圍為StepSineL,一般正弦表的相位范圍StepSineL的大小取決于CPU的容量,但必須與正弦周期步長成正比,此時(shí),相對(duì)相位范圍為StepSineA = PulsePpr X StepSineL,并且,在選取脈沖當(dāng)量時(shí),通常設(shè)置相對(duì)相位范圍是脈沖當(dāng)量的整數(shù)倍;當(dāng)接收脈沖信號(hào)η時(shí),獲取相對(duì)脈沖速度V = n XPulseA,在相對(duì)相位范圍中獲取上一時(shí)刻相位值,其中,相位值滿足以下公式Wti = WtQ+nXPulseA,其中,由于第一時(shí)刻的相位值為相對(duì)相位范圍為內(nèi)的相位值,則其后每一時(shí)刻的相位值均為相對(duì)相位范圍內(nèi)的相位值,假設(shè)正弦表的相位范圍StepSineL為2400,則相位范圍為2400PulsePpr,那么位于相位范圍的相位值均為細(xì)分值的整數(shù)倍,此時(shí)獲取的當(dāng)前時(shí)刻相位值可以對(duì)細(xì)分值進(jìn)行整除,即可以轉(zhuǎn)換至正弦表相位范圍內(nèi),因此實(shí)現(xiàn)了對(duì)步進(jìn)電機(jī)的任意細(xì)分。
[0057]本發(fā)明實(shí)施例提供一種步進(jìn)電機(jī)驅(qū)動(dòng)器的任意細(xì)分算法,如圖4所示,該任意細(xì)分算法包括以下步驟:
[0058]步驟S301.根據(jù)細(xì)分值獲取相對(duì)相位范圍,設(shè)定脈沖當(dāng)量為常量,其中,相對(duì)相位范圍是所述脈沖當(dāng)量的整數(shù)倍。
[0059]步驟S301與上述步驟SlOl相同,在此不再贅述。
[0060]步驟S302.接收脈沖信號(hào)并根據(jù)脈沖信號(hào)和脈沖當(dāng)量獲取相對(duì)脈沖速度。
[0061 ] 步驟S302與上述步驟S102相同,在此不再贅述。
[0062]步驟S303.根據(jù)相對(duì)脈沖速度獲取當(dāng)前時(shí)刻相位值,判斷當(dāng)前時(shí)刻相位值是否位于相對(duì)相位范圍內(nèi),是,則執(zhí)行步驟S304,否,則執(zhí)行步驟S305。
[0063]步驟S304.采用當(dāng)前時(shí)刻相位值。
[0064]步驟S305.將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成相對(duì)相位范圍內(nèi)的相位值。
[0065]對(duì)于步驟S305,將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成相位范圍內(nèi)的相位值的步驟具體為:
[0066]在當(dāng)前時(shí)刻相位值小于相位范圍的最小值時(shí),將當(dāng)前時(shí)刻相位值與相位范圍值作加法運(yùn)算;
[0067]在當(dāng)前時(shí)刻相位值大于相位范圍的最大值時(shí),將當(dāng)前時(shí)刻相位值與相位范圍值作減法運(yùn)算。
[0068]上述步驟S302至步驟S305的作用主要是將獲得的當(dāng)前時(shí)刻相位值轉(zhuǎn)換至相位范圍內(nèi)。
[0069]步驟S306.根據(jù)細(xì)分值將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成正弦表相位范圍內(nèi)所對(duì)應(yīng)的角度。
[0070]步驟S307.根據(jù)角度讀取正弦表數(shù)據(jù)并輸出相電流。
[0071]本發(fā)明另一種實(shí)施例提供一種步進(jìn)電機(jī)驅(qū)動(dòng)器,如圖5所示,步進(jìn)電機(jī)驅(qū)動(dòng)器裝置包括:
[0072]相對(duì)相位范圍獲取單元211,用于根據(jù)細(xì)分值獲取相位范圍;
[0073]脈沖當(dāng)量設(shè)定單元210,用于設(shè)定脈沖當(dāng)量為定值,相對(duì)相位范圍是脈沖當(dāng)量的整數(shù)倍;
[0074]相對(duì)脈沖速度獲取單元201,用于接收脈沖信號(hào)并根據(jù)脈沖信號(hào)和脈沖當(dāng)量獲取相對(duì)脈沖速度;
[0075]當(dāng)前時(shí)刻相位值獲取單元202,用于根據(jù)相對(duì)脈沖速度獲取相對(duì)相位范圍中的當(dāng)前時(shí)刻相位值,其中,所述當(dāng)前時(shí)刻相位值是所述細(xì)分值的整數(shù)倍;
[0076]相位轉(zhuǎn)換單元203,用于根據(jù)細(xì)分值將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成正弦表相位范圍內(nèi)所對(duì)應(yīng)的角度;
[0077]相電流計(jì)算單元204,用于根據(jù)所述角度讀取正弦表數(shù)據(jù)并輸出相電流。
[0078]對(duì)于相對(duì)相位范圍獲取單元211,其獲取相對(duì)相位范圍為將細(xì)分值與正弦表相位范圍進(jìn)行乘積運(yùn)算。
[0079]對(duì)于脈沖當(dāng)量設(shè)定單元210,其用于設(shè)定脈沖當(dāng)量為定值,并保持該值不變,脈沖當(dāng)量根據(jù)相對(duì)相位范圍確定,通常使相對(duì)相位范圍是脈沖當(dāng)量的整數(shù)倍。
[0080]對(duì)于相對(duì)脈沖速度獲取單元201,接收到脈沖信號(hào)后,將脈沖信號(hào)數(shù)量轉(zhuǎn)換成程序內(nèi)部的相對(duì)脈沖速度,相對(duì)脈沖速度與脈沖信號(hào)數(shù)量以及脈沖當(dāng)量有關(guān),脈沖當(dāng)量根據(jù)用戶指定的細(xì)分確定,相對(duì)脈沖速度為脈沖信號(hào)數(shù)量與脈沖當(dāng)量的乘積。
[0081 ]當(dāng)前時(shí)刻相位值獲取單元202根據(jù)相對(duì)脈沖速度獲取當(dāng)前時(shí)刻相位值的過程為:
[0082]獲取上一時(shí)刻相位值,并根據(jù)相對(duì)脈沖速度和上一時(shí)刻相位值獲取當(dāng)前時(shí)刻相位值。
[0083]其中,當(dāng)前時(shí)刻相位值獲取單元202,當(dāng)前時(shí)刻相位值獲取單元202獲取當(dāng)前時(shí)刻相位值的過程為:
[0084]判斷當(dāng)前時(shí)刻相位值是否位于相對(duì)相位范圍內(nèi),當(dāng)判斷結(jié)果為是時(shí),采用當(dāng)前時(shí)刻相位值,當(dāng)判斷結(jié)果為否時(shí),將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成相對(duì)相位范圍內(nèi)的相位值。
[0085]進(jìn)一步的,當(dāng)前時(shí)刻相位值獲取單元將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成相對(duì)相位范圍內(nèi)的相位值的過程為:
[0086]在當(dāng)前時(shí)刻相位值小于相對(duì)相位范圍的最小值時(shí),將當(dāng)前時(shí)刻相位值與相對(duì)相位范圍值作加法運(yùn)算;
[0087]在當(dāng)前時(shí)刻相位值大于相對(duì)相位范圍的最大值時(shí),將當(dāng)前時(shí)刻相位值與相對(duì)相位范圍值作剪發(fā)運(yùn)算。
[0088]上述當(dāng)前時(shí)刻相位值獲取單元202的作用主要是將檢測到的當(dāng)前時(shí)刻相位值轉(zhuǎn)換至相對(duì)相位范圍內(nèi)。
[0089]本發(fā)明實(shí)施例的工作原理如下:假定細(xì)分為PulsePpr(如4000,則相當(dāng)于4000個(gè)脈沖電機(jī)轉(zhuǎn)動(dòng)一圈),選取脈沖當(dāng)量為PulseA,步進(jìn)電機(jī)正弦表的相位范圍為StepSineL,一般正弦表的相位范圍StepSineL的大小取決于CPU的容量,但必須與正弦周期步長成正比,此時(shí),相對(duì)相位范圍為StepSineA = PulsePpr X StepSineL,并且,在選取脈沖當(dāng)量時(shí),通常設(shè)置相對(duì)相位范圍是脈沖當(dāng)量的整數(shù)倍;當(dāng)接收脈沖信號(hào)η時(shí),獲取相對(duì)脈沖速度V = n XPulseA,在相對(duì)相位范圍中獲取上一時(shí)刻相位值,其中,相位值滿足以下公式Wti = WtQ+nXPulseA,其中,由于第一時(shí)刻的相位值為相對(duì)相位范圍為內(nèi)的相位值,則其后每一時(shí)刻的相位值均為相對(duì)相位范圍內(nèi)的相位值,假設(shè)正弦表的相位范圍StepSineL為2400,則相位范圍為2400PulsePpr,那么位于相位范圍的相位值均為細(xì)分值的整數(shù)倍,此時(shí)獲取的當(dāng)前時(shí)刻相位值可以對(duì)細(xì)分值進(jìn)行整除,即可以轉(zhuǎn)換至正弦表相位范圍內(nèi),因此實(shí)現(xiàn)了對(duì)步進(jìn)電機(jī)的任意細(xì)分。
[0090]進(jìn)一步的,如圖6所示,本發(fā)明實(shí)施例一種步進(jìn)電機(jī)驅(qū)動(dòng)器還包括PI算法校正單元205、功率驅(qū)動(dòng)單元206以及電流傳感器207,電流傳感器207進(jìn)行電流采樣,PI算法校正單元205根據(jù)采樣電流對(duì)相電流進(jìn)行PI調(diào)節(jié),并輸出調(diào)制信號(hào)給功率驅(qū)動(dòng)單元206,功率驅(qū)動(dòng)單元206驅(qū)動(dòng)步進(jìn)電機(jī)208工作。
[0091]本發(fā)明提供一種步進(jìn)電機(jī)驅(qū)動(dòng)器及其任意細(xì)分算法,在接收脈沖時(shí),根據(jù)脈沖信號(hào)和脈沖當(dāng)量獲取相對(duì)脈沖速度,并進(jìn)而獲取當(dāng)前時(shí)刻相位值,將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成正弦表相位范圍內(nèi)所對(duì)應(yīng)的相位值,根據(jù)正弦表數(shù)據(jù)輸出相電流,根據(jù)用戶設(shè)定的細(xì)分值,選取合適的脈沖當(dāng)量,并使總步長變成因細(xì)分改動(dòng)而動(dòng)態(tài)變動(dòng)的變量,根據(jù)變動(dòng)后的總步長進(jìn)行對(duì)當(dāng)前時(shí)刻相位值的轉(zhuǎn)換,實(shí)現(xiàn)用戶任意選定細(xì)分后,其他變量都隨之自動(dòng)改變,從而避免了后期的人為操作。
[0092]以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下做出若干等同替代或明顯變型,而且性能或用途相同,都應(yīng)當(dāng)視為屬于本發(fā)明由所提交的權(quán)利要求書確定的專利保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種步進(jìn)電機(jī)驅(qū)動(dòng)器的任意細(xì)分算法,其特征在于,所述任意細(xì)分算法包括以下步驟: 根據(jù)細(xì)分值獲取相對(duì)相位范圍,設(shè)定脈沖當(dāng)量為常量,其中,所述相對(duì)相位范圍是所述脈沖當(dāng)量的整數(shù)倍; 接收脈沖信號(hào)并根據(jù)所述脈沖信號(hào)和所述脈沖當(dāng)量獲取相對(duì)脈沖速度; 根據(jù)所述相對(duì)脈沖速度獲取所述相對(duì)相位范圍中的當(dāng)前時(shí)刻相位值,其中,所述當(dāng)前時(shí)刻相位值是所述細(xì)分值的整數(shù)倍; 根據(jù)所述細(xì)分值將所述當(dāng)前時(shí)刻相位值轉(zhuǎn)換成正弦表相位范圍內(nèi)所對(duì)應(yīng)的角度; 根據(jù)所述角度讀取正弦表數(shù)據(jù)并輸出相電流。2.如權(quán)利要求1所述的任意細(xì)分算法,其特征在于,所述根據(jù)細(xì)分值獲取相對(duì)相位范圍的步驟具體為: 將細(xì)分值與正弦表相位范圍進(jìn)行乘積運(yùn)算以獲取相對(duì)相位范圍。3.如權(quán)利要求2所述的任意細(xì)分算法,其特征在于,所述根據(jù)所述相對(duì)脈沖速度獲取所述相對(duì)相位范圍中的當(dāng)前時(shí)刻相位值的步驟具體為: 獲取所述相對(duì)相位范圍中的上一時(shí)刻相位值,并根據(jù)所述相對(duì)脈沖速度和所述上一時(shí)刻相位值獲取所述相對(duì)相位范圍中的當(dāng)前時(shí)刻相位值。4.如權(quán)利要求3所述的任意細(xì)分算法,其特征在于,所述根據(jù)所述相對(duì)脈沖速度獲取所述相對(duì)相位范圍中的當(dāng)前時(shí)刻相位值的步驟還包括: 判斷當(dāng)前時(shí)刻相位值是否位于所述相對(duì)相位范圍內(nèi),是,則采用當(dāng)前時(shí)刻相位值,否,則將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成所述相對(duì)相位范圍內(nèi)的相位值。5.如權(quán)利要求4所述的任意細(xì)分算法,其特征在于,所述將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成所述相對(duì)相位范圍內(nèi)的相位值的步驟具體為: 在當(dāng)前時(shí)刻相位值小于所述相對(duì)相位范圍的最小值時(shí),將當(dāng)前時(shí)刻相位值與所述相對(duì)相位范圍作加法運(yùn)算; 在當(dāng)前時(shí)刻相位值大于所述相對(duì)相位范圍的最大值時(shí),將當(dāng)前時(shí)刻相位值與所述相對(duì)相位范圍作減法運(yùn)算。6.一種步進(jìn)電機(jī)驅(qū)動(dòng)器,其特征在于,步進(jìn)電機(jī)驅(qū)動(dòng)器裝置包括: 相對(duì)相位范圍獲取單元,用于根據(jù)細(xì)分值獲取相位范圍; 脈沖當(dāng)量設(shè)定單元,用于設(shè)定脈沖當(dāng)量為定值,所述相對(duì)相位范圍是所述脈沖當(dāng)量的整數(shù)倍; 相對(duì)脈沖速度獲取單元,用于接收脈沖信號(hào)并根據(jù)所述脈沖信號(hào)和所述脈沖當(dāng)量獲取相對(duì)脈沖速度; 當(dāng)前時(shí)刻相位值獲取單元,用于根據(jù)所述相對(duì)脈沖速度獲取所述相對(duì)相位范圍中的當(dāng)前時(shí)刻相位值,其中,所述當(dāng)前時(shí)刻相位值是所述細(xì)分值的整數(shù)倍; 相位轉(zhuǎn)換單元,用于根據(jù)所述細(xì)分值將所述當(dāng)前時(shí)刻相位值轉(zhuǎn)換成正弦表相位范圍內(nèi)所對(duì)應(yīng)的角度; 相電流計(jì)算單元,用于根據(jù)所述角度讀取正弦表數(shù)據(jù)并輸出相電流。7.如權(quán)利要求6所述的步進(jìn)電機(jī)驅(qū)動(dòng)器,其特征在于,所述相對(duì)相位范圍獲取單元根據(jù)細(xì)分值獲取相對(duì)相位范圍的過程為: 將細(xì)分值與正弦表相位范圍進(jìn)行乘積運(yùn)算以獲取相對(duì)相位范圍。8.如權(quán)利要求7所述的步進(jìn)電機(jī)驅(qū)動(dòng)器,其特征在于,所述當(dāng)前時(shí)刻相位值獲取單元根據(jù)所述相對(duì)脈沖速度獲取所述相對(duì)相位范圍中的當(dāng)前時(shí)刻相位值的過程為: 獲取所述相對(duì)相位范圍中的上一時(shí)刻相位值,并根據(jù)所述相對(duì)脈沖速度和所述上一時(shí)刻相位值獲取所述相對(duì)相位范圍中的當(dāng)前時(shí)刻相位值。9.如權(quán)利要求7所述的步進(jìn)電機(jī)驅(qū)動(dòng)器,其特征在于,所述當(dāng)前時(shí)刻相位值獲取單元獲取所述相對(duì)相位范圍中的當(dāng)前時(shí)刻相位值的過程還包括: 判斷當(dāng)前時(shí)刻相位值是否位于所述相對(duì)相位范圍內(nèi),當(dāng)判斷結(jié)果為是時(shí),采用當(dāng)前時(shí)刻相位值,當(dāng)判斷結(jié)果為否時(shí),將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成所述相對(duì)相位范圍內(nèi)的相位值。10.如權(quán)利要求9所述的步進(jìn)電機(jī)驅(qū)動(dòng)器,其特征在于,所述當(dāng)前時(shí)刻相位值獲取單元將當(dāng)前時(shí)刻相位值轉(zhuǎn)換成所述相對(duì)相位范圍內(nèi)的相位值的過程為: 在當(dāng)前時(shí)刻相位值小于所述相對(duì)相位范圍的最小值時(shí),將當(dāng)前時(shí)刻相位值與所述相對(duì)相位范圍作加法運(yùn)算; 在當(dāng)前時(shí)刻相位值大于相位范圍的最大值時(shí),將當(dāng)前時(shí)刻相位值與所述相對(duì)相位范圍作減法運(yùn)算。
【文檔編號(hào)】H02P8/18GK105915133SQ201610243054
【公開日】2016年8月31日
【申請(qǐng)日】2016年4月19日
【發(fā)明人】陳占軍
【申請(qǐng)人】深圳星火自動(dòng)化科技有限公司