[0029]a.系統(tǒng)初始化時(shí)設(shè)置MCU自動(dòng)裝載定時(shí)器中斷定時(shí)時(shí)長(zhǎng)T,設(shè)置控制周期Tc,一個(gè)T為一個(gè)步長(zhǎng),一個(gè)控制周期的步數(shù)總數(shù)為Tc/T,本實(shí)施例的步數(shù)總數(shù)為12、通道數(shù)設(shè)為4,啟動(dòng)定時(shí)器,開(kāi)系統(tǒng)中斷;
[0030]所述的步數(shù)總數(shù)要滿足以下條件:設(shè)置定時(shí)步長(zhǎng)和控制周期時(shí)使步數(shù)總數(shù)為一個(gè)控制周期內(nèi)輸出伺服脈沖數(shù)的最大值的4倍以上的偶數(shù);
[0031]b.一個(gè)控制周期的起始,設(shè)置各通道參數(shù),包括:輸出極性、相移Ps、翻轉(zhuǎn)系數(shù)K、輸出脈沖數(shù),步數(shù)計(jì)數(shù)清零,根據(jù)通道極性初始化GP1 ;
[0032]所述的翻轉(zhuǎn)系數(shù)K的計(jì)算方法是:翻轉(zhuǎn)系數(shù)K等于步數(shù)總數(shù)除以2倍的該通道設(shè)定輸出脈沖數(shù),只保留整數(shù)結(jié)果;
[0033]所述的根據(jù)通道極性初始化GP1具體為:若通道輸出極性為正,則GP1初始為低電平,反之GP1初始為高電平;
[0034]c.判斷步長(zhǎng)計(jì)數(shù)是否等于步數(shù)總數(shù),若是則進(jìn)入步驟g,若否則MCU執(zhí)行其他任務(wù),等待到達(dá)步長(zhǎng)時(shí)間T進(jìn)入中斷任務(wù);
[0035]所述的MCU,其運(yùn)行任務(wù)的時(shí)間基準(zhǔn)是以定時(shí)步長(zhǎng)為單位的步數(shù)計(jì)數(shù)方式;
[0036]d.查詢各通道翻轉(zhuǎn)系數(shù)K能否整除當(dāng)前步數(shù)計(jì)數(shù)Cs與對(duì)應(yīng)通道的相移Ps的和,若是則進(jìn)入步驟e,若否則進(jìn)入步驟f ;
[0037]所述的以中斷查詢的方式判斷各個(gè)通道在該時(shí)刻是否需要進(jìn)行電平的翻轉(zhuǎn),其判斷方法為各通道翻轉(zhuǎn)系數(shù)K能否整除當(dāng)前步數(shù)計(jì)數(shù)Cs與對(duì)應(yīng)通道的相移Ps的和,若能夠整除則需要進(jìn)行電平的翻轉(zhuǎn),反之則不需要;
[0038]e.翻轉(zhuǎn)對(duì)應(yīng)的滿足翻轉(zhuǎn)條件的GP1輸出管腳的電平,進(jìn)入步驟f ;
[0039]f.步數(shù)計(jì)數(shù)增加1,退出中斷任務(wù),進(jìn)入步驟c ;
[0040]g.當(dāng)前的控制周期結(jié)束,進(jìn)入下一控制周期。
[0041]通道O參數(shù):極性為負(fù)、相移Ps = 0、翻轉(zhuǎn)系數(shù)K = 2、輸出脈沖數(shù)為3,通道I參數(shù):極性為正、相移Ps = 0、翻轉(zhuǎn)系數(shù)K = 2、輸出脈沖數(shù)為3,通道2參數(shù):極性為正、相移Ps = 1、翻轉(zhuǎn)系數(shù)K = 2、輸出脈沖數(shù)為3,通道3參數(shù):極性為正、相移Ps = 0、翻轉(zhuǎn)系數(shù)K=3、輸出脈沖數(shù)為2,由圖2可清晰看見(jiàn)通道參數(shù)對(duì)輸出脈沖的控制作用。
[0042]系統(tǒng)的下一個(gè)控制周期之初,各通道參數(shù)得到新的賦值,進(jìn)行新的控制周期。MCU在每個(gè)定時(shí)步長(zhǎng)T的時(shí)刻,查詢各個(gè)通道的翻轉(zhuǎn)系數(shù)和當(dāng)前步數(shù)計(jì)數(shù)運(yùn)算的結(jié)果,符合翻轉(zhuǎn)條件的通道其輸出電平得到翻轉(zhuǎn)。
[0043]進(jìn)一步的,使用目前新出的高性能MCU處理器,如STM32系列中以Cortex_M3、Cortex-M4為內(nèi)核的處理器,其主頻能達(dá)100M以上,這樣使得步數(shù)總數(shù)更大,得到的脈沖輸出更加均勻。
[0044]上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受上述實(shí)施例的限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡(jiǎn)化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種基于MCU的多通道均勻伺服脈沖生成方法,其特征在于,包含以下順序的步驟: a.系統(tǒng)初始化時(shí)設(shè)置MCU自動(dòng)裝載定時(shí)器中斷定時(shí)時(shí)長(zhǎng)T,設(shè)置控制周期Tc,一個(gè)T為一個(gè)步長(zhǎng),一個(gè)控制周期的步數(shù)總數(shù)為Tc/T,啟動(dòng)定時(shí)器,開(kāi)系統(tǒng)中斷; b.一個(gè)控制周期的起始,設(shè)置各通道參數(shù),包括輸出極性、相移Ps、翻轉(zhuǎn)系數(shù)K、輸出脈沖數(shù),通過(guò)設(shè)置上述4個(gè)通道參數(shù),輸出伺服所需的控制脈沖;同時(shí)步數(shù)計(jì)數(shù)清零,根據(jù)通道極性初始化GP1 ; c.判斷步長(zhǎng)計(jì)數(shù)是否等于步數(shù)總數(shù),若是則進(jìn)入步驟g,若不是則MCU執(zhí)行其他任務(wù),等待到達(dá)步長(zhǎng)時(shí)間T進(jìn)入中斷任務(wù); d.以中斷查詢的方式判斷各個(gè)通道在該時(shí)刻是否需要進(jìn)行電平的翻轉(zhuǎn),若需要?jiǎng)t進(jìn)入步驟e,若不需要?jiǎng)t進(jìn)入步驟f ; e.翻轉(zhuǎn)對(duì)應(yīng)的滿足翻轉(zhuǎn)條件的GP1輸出管腳的電平,進(jìn)入步驟f; f.步數(shù)計(jì)數(shù)增加1,退出中斷任務(wù),進(jìn)入步驟c; g.當(dāng)前的控制周期結(jié)束,進(jìn)入下一控制周期。2.根據(jù)權(quán)利要求1所述的基于MCU的多通道均勻伺服脈沖生成方法,其特征在于,步驟a中,所述的步數(shù)總數(shù)要滿足以下條件:設(shè)置定時(shí)步長(zhǎng)和控制周期時(shí)使步數(shù)總數(shù)為一個(gè)控制周期內(nèi)輸出伺服脈沖數(shù)的最大值的4倍以上的偶數(shù)。3.根據(jù)權(quán)利要求1所述的基于MCU的多通道均勻伺服脈沖生成方法,其特征在于,步驟b中,所述的翻轉(zhuǎn)系數(shù)K的計(jì)算方法是:翻轉(zhuǎn)系數(shù)K等于步數(shù)總數(shù)除以2倍的該通道設(shè)定輸出脈沖數(shù),只保留整數(shù)結(jié)果。4.根據(jù)權(quán)利要求1所述的基于MCU的多通道均勻伺服脈沖生成方法,其特征在于,步驟b中,所述的根據(jù)通道極性初始化GP1具體為:若通道輸出極性為正,則GP1初始為低電平,反之GP1初始為高電平。5.根據(jù)權(quán)利要求1所述的基于MCU的多通道均勻伺服脈沖生成方法,其特征在于,步驟c中,所述的MCU,其運(yùn)行任務(wù)的時(shí)間基準(zhǔn)是以定時(shí)步長(zhǎng)為單位的步數(shù)計(jì)數(shù)方式。6.根據(jù)權(quán)利要求1所述的基于MCU的多通道均勻伺服脈沖生成方法,其特征在于,步驟d中,所述的以中斷查詢的方式判斷各個(gè)通道在該時(shí)刻是否需要進(jìn)行電平的翻轉(zhuǎn),其判斷方法為各通道翻轉(zhuǎn)系數(shù)K能否整除當(dāng)前步數(shù)計(jì)數(shù)Cs與對(duì)應(yīng)通道的相移Ps的和,若能夠整除則需要進(jìn)行電平的翻轉(zhuǎn),反之則不需要。
【專利摘要】本發(fā)明公開(kāi)了一種基于MCU的多通道均勻伺服脈沖生成方法,包含以下步驟:設(shè)置各通道參數(shù),輸出初始化;判斷步長(zhǎng)計(jì)數(shù)是否等于步數(shù)總數(shù),若是則控制周期結(jié)束,反之則等待到達(dá)步長(zhǎng)時(shí)間進(jìn)入中斷任務(wù);然后判斷各個(gè)通道在該時(shí)刻是否需要進(jìn)行電平的翻轉(zhuǎn),若需要?jiǎng)t翻轉(zhuǎn)對(duì)應(yīng)通道輸出電平,若不需要?jiǎng)t步數(shù)計(jì)數(shù)增加1,退出中斷任務(wù);當(dāng)前的控制周期結(jié)束,進(jìn)入下一控制周期。本發(fā)明的方法,只需一個(gè)中斷定時(shí)器即完成多通道的伺服脈沖產(chǎn)生,縮短數(shù)據(jù)傳輸環(huán)節(jié),減少了控制命令的時(shí)延,有效提高了系統(tǒng)的時(shí)效性,簡(jiǎn)化了系統(tǒng)結(jié)構(gòu),節(jié)約開(kāi)發(fā)成本。
【IPC分類】G05B19/04
【公開(kāi)號(hào)】CN104898474
【申請(qǐng)?zhí)枴緾N201510153363
【發(fā)明人】史步海, 劉志鑫, 包智, 郭宇
【申請(qǐng)人】華南理工大學(xué)
【公開(kāi)日】2015年9月9日
【申請(qǐng)日】2015年4月1日