基于XC2267M的儀表盤步進(jìn)電機(jī)控制
首先判斷指針是否需要轉(zhuǎn)動(dòng),如果是,表明上次轉(zhuǎn)動(dòng)尚未完成,直接跳出中斷,等待下一次中斷。如果判定結(jié)果為不要轉(zhuǎn)動(dòng),繼續(xù)判斷上一步是正向還是反向運(yùn)動(dòng)。本文引用地址:http://cafeforensic.com/article/163231.htm
圖3 中斷函數(shù)流程圖
若判定結(jié)果為正向,則繼續(xù)進(jìn)行下一步判斷:目標(biāo)位置和當(dāng)前位置是否一致。結(jié)果為反向則進(jìn)入反向運(yùn)動(dòng)中斷處理模塊,流程結(jié)果類似。
判斷轉(zhuǎn)動(dòng)一步標(biāo)志位是否為1。若為1,依據(jù)當(dāng)前位置從PWM數(shù)組里賦新值給PWM寄存器,步進(jìn)電機(jī)行動(dòng)一步,當(dāng)前位置前進(jìn)一步(若為反向則退后一步)并清零轉(zhuǎn)動(dòng)一步標(biāo)志位。這樣下次進(jìn)入中斷時(shí),若轉(zhuǎn)動(dòng)一步標(biāo)志位沒有在主循環(huán)里重新賦值為1,步進(jìn)電機(jī)就不會(huì)再次轉(zhuǎn)動(dòng)。
每次進(jìn)入中斷,當(dāng)Move_time不為0時(shí),Move_time減1,直至減為0為止。
實(shí)驗(yàn)結(jié)果
經(jīng)過巴特沃斯二階低通濾波后,步進(jìn)電機(jī)兩相電壓波形都為比較平滑的正弦波,波形相位差為120°,與理論的細(xì)分波形相吻合。
步進(jìn)電機(jī)從位置A移動(dòng)到位置B的過程中,先加速(如果AB距離足夠大,步進(jìn)電機(jī)將加速到最大轉(zhuǎn)速后勻速運(yùn)行)。在接近位置B時(shí),步進(jìn)電機(jī)將減速,最后停止在位置B。從上圖可以看出,加速階段正選的波長(zhǎng)逐漸變窄,減速時(shí)則逐漸變寬。
圖4 步進(jìn)電機(jī)勻速運(yùn)轉(zhuǎn)兩相電壓圖
圖5 步進(jìn)電機(jī)加速狀態(tài)單相電壓示意圖
圖6 步進(jìn)電機(jī)減速狀態(tài)單相電壓示意圖
結(jié)論
利用單片機(jī)可方便的對(duì)步進(jìn)電機(jī)的速度和位置進(jìn)行控制,可靠地實(shí)現(xiàn)各種步進(jìn)電機(jī)的操作,完成各種復(fù)雜工作。這里提出的步進(jìn)電機(jī)分步控制方法,依靠Infineon最新的XC2267M單片機(jī)CC2模塊強(qiáng)大的16個(gè)PWM輸出通道,同時(shí)驅(qū)動(dòng)4個(gè)步進(jìn)電機(jī),成功通過軟件編程代替驅(qū)動(dòng)芯片實(shí)現(xiàn)儀表盤步進(jìn)電機(jī)的細(xì)分控制,運(yùn)行結(jié)果穩(wěn)定可靠,并節(jié)省了外部設(shè)備,降低了成本。
評(píng)論