• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 關(guān) 閉

    新聞中心

    EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于XC2267M的儀表盤步進(jìn)電機(jī)控制

    基于XC2267M的儀表盤步進(jìn)電機(jī)控制

    作者: 時(shí)間:2010-03-02 來源:網(wǎng)絡(luò) 收藏

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

    本文引用地址:http://www.czjhyjcfj.com/article/163231.htm


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


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

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


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


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


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




    評(píng)論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 大港区| 晋江市| 肇庆市| 延津县| 仪征市| 广南县| 宜城市| 武乡县| 宿迁市| 中阳县| 棋牌| 汝州市| 开远市| 河津市| 武邑县| 杭州市| 都兰县| 杭州市| 扶绥县| 绿春县| 仙桃市| 佛冈县| 沂源县| 天等县| 荥阳市| 宁强县| 若尔盖县| 青岛市| 大厂| 巩留县| 游戏| 蓬溪县| 通榆县| 中宁县| 会昌县| 花莲市| 五指山市| 绥江县| 临西县| 乐亭县| 报价|