當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]利用單片機(jī)可方便的對步進(jìn)電機(jī)的速度和位置進(jìn)行控制,可靠地實現(xiàn)各種步進(jìn)電機(jī)的操作,完成各種復(fù)雜工作。這里提出的步進(jìn)電機(jī)分步控制方法,依靠Infineon最新的XC2267M單片機(jī)CC2模塊強(qiáng)大的16個PWM輸出通道,同時驅(qū)動4個步進(jìn)電機(jī),成功通過軟件編程代替驅(qū)動芯片實現(xiàn)儀表盤步進(jìn)電機(jī)的細(xì)分控制,運(yùn)行結(jié)果穩(wěn)定可靠,并節(jié)省了外部設(shè)備,降低了成本。

隨著現(xiàn)代電子技術(shù)的發(fā)展,中高檔汽車上的組合數(shù)字儀表越來越多地采用“機(jī)電一體化”的步進(jìn)電機(jī)。步進(jìn)電機(jī)又稱脈沖電動機(jī),它能將輸入的脈沖信號變成不連續(xù)的機(jī)械動作,是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。對步進(jìn)電機(jī)的每一相來講,輸入的是一個脈沖列,只要控制好電脈沖,就能精確控制步進(jìn)電機(jī)的角位移量,轉(zhuǎn)速和轉(zhuǎn)矩。從這個意義上來說,步進(jìn)電機(jī)控制的核心是PWM(脈沖寬度調(diào)制)細(xì)分控制技術(shù)。


用單片機(jī)來控制步進(jìn)電機(jī)已有近15年的發(fā)展歷史。出于降低總體成本的考慮,長期以來所采用的芯片都是8位單片機(jī)。由于單片機(jī)自身性能的局限性,對于步進(jìn)電機(jī)的控制常常采用不徹底的細(xì)分控制或帶外設(shè)的細(xì)分控制。不徹底的細(xì)分控制一般是將步進(jìn)電動機(jī)的控制位置數(shù)(以兩相步進(jìn)電機(jī)為例)的四拍通電邏輯順序變?yōu)榘伺耐娺壿嬳樞颍瑥亩鴮⒉竭M(jìn)角降為原來的一半。這種方法細(xì)分度有限,電機(jī)運(yùn)行極不平滑,而且對步進(jìn)電機(jī)也有損傷。帶外設(shè)的細(xì)分控制能夠使步進(jìn)電機(jī)的運(yùn)行平滑穩(wěn)定,但增加了外部設(shè)備(如恒流斬波電路等),使得硬件設(shè)計趨于復(fù)雜,并且提高了成本。隨著科技的進(jìn)步和單片機(jī)的進(jìn)一步發(fā)展,16位單片機(jī)的價格不斷降低,使得其在步進(jìn)電機(jī)控制上的廣泛應(yīng)用成為可能。由于單片機(jī)自身功能曾強(qiáng)了,繁瑣的外部設(shè)備不再需要,軟件編程也變得相對簡單。這里即采用16位英飛凌單片機(jī)XC2267M實現(xiàn)步進(jìn)電機(jī)的平穩(wěn)控制。

硬件選擇
Infineon XC2267M屬于XC2200微控制器系列,集成了電壓調(diào)節(jié)器和多種振蕩器,是全功能的16位單片CMOS微控制器。此方案主要使用的是XC2267M的CC2(Capture/Compare Unit2 捕獲/比較單元2)模塊。

CC2模塊提供了16個捕獲/比較通道以及同它們相配合的2個16位定時器,能支持16個內(nèi)部中斷。每個CC2通道都可捕獲內(nèi)部或外部事件,也可以比較計時器的內(nèi)容與給定值,并修改輸出信號。這里采用的是其中的8個通道配合8個I/O口控制4個步進(jìn)電機(jī)。其中,SIN+和COS+為CC2通道,輸出PWM波形,SIN-和COS-為I/O口,進(jìn)行0-1變化。

表1  CC2模塊各通道功能列表


由于單片機(jī)可以直接輸出幾路互不影響的PWM,所以無需依靠任何外部設(shè)備就可以同時實現(xiàn)對幾個步進(jìn)電機(jī)的控制。

圖1 基于XC2267M的儀表盤步進(jìn)電機(jī)控制示意圖(儀表盤其他模塊圖中未標(biāo)明)


汽車儀表中應(yīng)用的主要是兩相步進(jìn)電機(jī),即步進(jìn)電機(jī)中有兩個獨(dú)立繞組(定子兩個相對極上的線圈串聯(lián)成為獨(dú)立繞組)。步進(jìn)電機(jī)兩個繞組的夾角一般有90°和60°兩種樣式,實驗采用的是60°樣式的VID29-05,內(nèi)置減速比180:1的齒輪系,輸出軸的步距角最小為1/12°,最大角速度600°/s。


軟件編程
1確定細(xì)分度,建立變量賦值表


● 確定步進(jìn)電機(jī)每圈的細(xì)分度,并根據(jù)細(xì)分度建立電機(jī)在每個位置的兩相PWM占空比表。這里采用的是15細(xì)分,即每步間隔24°。


● 根據(jù)兩相電壓表,結(jié)合所選用的單片機(jī)的特性建立對應(yīng)的PWM寄存器賦值表,儲存在全局?jǐn)?shù)組里。


● 根據(jù)所選用的步進(jìn)電機(jī)型號的特性曲線,建立速度等級數(shù)組。步進(jìn)電機(jī)的轉(zhuǎn)速完全和PWM寄存器賦值的速度有關(guān)。根據(jù)VID29-05的特性,速度數(shù)組里包含255個元素。這255個元素定義了PWM寄存器賦值的時間間隔,元素值越大,步進(jìn)電機(jī)轉(zhuǎn)速越慢。


2 儀表盤步進(jìn)電機(jī)驅(qū)動的編程注意事項
指針的運(yùn)動要有“慣性”的視覺效果。即,指針從任意位置甲移動到目標(biāo)位置乙的時候,在開始階段,要進(jìn)行加速運(yùn)動,運(yùn)動至接近位置乙的時候,要進(jìn)行減速,最后穩(wěn)定在位置乙。


加速減速的幅度與當(dāng)前位置和目標(biāo)位置的間距以及步進(jìn)電機(jī)的選型相關(guān)。在指針轉(zhuǎn)動的過程中,對目標(biāo)位置的變化要實時反應(yīng)。只有在當(dāng)前位置和目標(biāo)位置的差距大于一定范圍時,指針才運(yùn)動。步進(jìn)電機(jī)不允許旋轉(zhuǎn)方向的突變,比如,電機(jī)正轉(zhuǎn)時接到反轉(zhuǎn)請求,一定要勻減速至0后才能反轉(zhuǎn)。


考慮到EMC的要求,PWM的頻率不要超過20kHz。


3  算法
主程序?qū)Ξ?dāng)前步數(shù)和目標(biāo)步數(shù)比較判定,決定是否轉(zhuǎn)動,以及轉(zhuǎn)動的速度大小。為達(dá)到這個目的,引入變量Move-time與轉(zhuǎn)動一步標(biāo)志位Move_One_Step_Enable,實際轉(zhuǎn)動的速度控制通過在主循環(huán)最后Move_One_Step_Enable置1和依據(jù)當(dāng)前步進(jìn)電機(jī)速度級別從速度數(shù)組里取相應(yīng)的元素對Move-time的賦值和來實現(xiàn)。只有當(dāng)Move-time=0時,才再一次進(jìn)入主循環(huán)對其進(jìn)行賦值。


中斷程序?qū)ψ卟接嫊r遞減,并根據(jù)標(biāo)志做馬達(dá)轉(zhuǎn)動一步處理。每進(jìn)入一次中斷,只要Move-time不為0,則Move-time減1。如果Move_One_Step_Enable為1,步進(jìn)電機(jī)賦值一次,否則不賦值,中斷時間為200μs。


比如,最低的速度等級元素為100,則在主循環(huán)里,Move_One_Step_Enable被置為1,Move-time賦值為100。在此后的第一個中斷里,電機(jī)運(yùn)行一步,Move_One_Step_Enable=0,同時Move-time減為99。此后,主程序和中斷程序都不進(jìn)行任何操作,直到第100次中斷發(fā)生,Move-time減為0,才再一次進(jìn)入主循環(huán)對Move-time賦值。也就是說,在(200×100)μs的時間里,步進(jìn)電機(jī)只行動了一次。相反,如果速度等級高,則Move-time的賦值相應(yīng)小,電機(jī)會在更短的時間內(nèi)再次行動,使步進(jìn)電機(jī)轉(zhuǎn)速看上去“提高”了。


為保證速度之間過渡的平滑性,防止突變對步進(jìn)電機(jī)造成的損傷,每3次進(jìn)入主循環(huán)才允許更改一次速度等級,即每個速度等級步進(jìn)電機(jī)至少走3步。


4 主函數(shù)詳解
首先判斷指針是否需要轉(zhuǎn)動,如果否,直接跳到結(jié)束,等待新一輪判斷。如果判定結(jié)果為需要轉(zhuǎn)動,繼續(xù)判斷上一步是正向還是反向運(yùn)動。

圖2 主函數(shù)流程圖


若判定結(jié)果為正向運(yùn)動,進(jìn)入正向運(yùn)動模塊,繼續(xù)判斷當(dāng)前位置和目標(biāo)位置是否一致。


如果目標(biāo)位置和當(dāng)前位置一致,則表明指針已到達(dá)指定位置,此時進(jìn)入防抖模塊,并將Move-time 置為1。
如果目標(biāo)位置和當(dāng)前位置不一致,則要進(jìn)一步判斷目標(biāo)位置是否大于當(dāng)前位置。如果目標(biāo)位置小于當(dāng)前位置,則表明在步進(jìn)電機(jī)的正向運(yùn)動中檢測到反向運(yùn)動的請求。此時,進(jìn)入反向運(yùn)動需求相應(yīng)模塊,逐漸減小步進(jìn)電機(jī)轉(zhuǎn)速,最后改變步進(jìn)電機(jī)運(yùn)行方向標(biāo)志位。


如果目標(biāo)位置大于當(dāng)前位置,則表示運(yùn)動需求仍為正向,此時需要判斷目標(biāo)位置和當(dāng)前位置之差的大小。如果位置差很大,而步進(jìn)電機(jī)轉(zhuǎn)速沒有到達(dá)最大,則提速;如果轉(zhuǎn)速已達(dá)到最大,則保持該速度。如果位置差小于某一特定值,則進(jìn)入減速狀態(tài)。


5中斷函數(shù)詳解
首先判斷指針是否需要轉(zhuǎn)動,如果是,表明上次轉(zhuǎn)動尚未完成,直接跳出中斷,等待下一次中斷。如果判定結(jié)果為不要轉(zhuǎn)動,繼續(xù)判斷上一步是正向還是反向運(yùn)動。

圖3 中斷函數(shù)流程圖


若判定結(jié)果為正向,則繼續(xù)進(jìn)行下一步判斷:目標(biāo)位置和當(dāng)前位置是否一致。結(jié)果為反向則進(jìn)入反向運(yùn)動中斷處理模塊,流程結(jié)果類似。


判斷轉(zhuǎn)動一步標(biāo)志位是否為1。若為1,依據(jù)當(dāng)前位置從PWM數(shù)組里賦新值給PWM寄存器,步進(jìn)電機(jī)行動一步,當(dāng)前位置前進(jìn)一步(若為反向則退后一步)并清零轉(zhuǎn)動一步標(biāo)志位。這樣下次進(jìn)入中斷時,若轉(zhuǎn)動一步標(biāo)志位沒有在主循環(huán)里重新賦值為1,步進(jìn)電機(jī)就不會再次轉(zhuǎn)動。


每次進(jìn)入中斷,當(dāng)Move_time不為0時,Move_time減1,直至減為0為止。

實驗結(jié)果
經(jīng)過巴特沃斯二階低通濾波后,步進(jìn)電機(jī)兩相電壓波形都為比較平滑的正弦波,波形相位差為120°,與理論的細(xì)分波形相吻合。


步進(jìn)電機(jī)從位置A移動到位置B的過程中,先加速(如果AB距離足夠大,步進(jìn)電機(jī)將加速到最大轉(zhuǎn)速后勻速運(yùn)行)。在接近位置B時,步進(jìn)電機(jī)將減速,最后停止在位置B。從上圖可以看出,加速階段正選的波長逐漸變窄,減速時則逐漸變寬。

圖4 步進(jìn)電機(jī)勻速運(yùn)轉(zhuǎn)兩相電壓圖

圖5 步進(jìn)電機(jī)加速狀態(tài)單相電壓示意圖

圖6 步進(jìn)電機(jī)減速狀態(tài)單相電壓示意圖

結(jié)論
利用單片機(jī)可方便的對步進(jìn)電機(jī)的速度和位置進(jìn)行控制,可靠地實現(xiàn)各種步進(jìn)電機(jī)的操作,完成各種復(fù)雜工作。這里提出的步進(jìn)電機(jī)分步控制方法,依靠Infineon最新的XC2267M單片機(jī)CC2模塊強(qiáng)大的16個PWM輸出通道,同時驅(qū)動4個步進(jìn)電機(jī),成功通過軟件編程代替驅(qū)動芯片實現(xiàn)儀表盤步進(jìn)電機(jī)的細(xì)分控制,運(yùn)行結(jié)果穩(wěn)定可靠,并節(jié)省了外部設(shè)備,降低了成本。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉