關(guān) 閉

        新聞中心

        EEPW首頁 > 安全與國防 > 設(shè)計應(yīng)用 > 基于DSP芯片TMS320F240的步進電機調(diào)焦系統(tǒng)設(shè)計

        基于DSP芯片TMS320F240的步進電機調(diào)焦系統(tǒng)設(shè)計

        作者: 時間:2010-09-05 來源:網(wǎng)絡(luò) 收藏

        F240初始化后,計時器的基本計時時間為0.1?s,考慮到F240定時器是16位計數(shù)器,這難以滿足計算長時間的需求,所以采用通 過計算進入定時器中斷的次數(shù)來計算長時間的方法。例如設(shè)置定時器周期寄存器值為800即*T1PR=800,那么進一次定時器中斷時間為800*0.1= 80?s如果計時為1s的話,則只需進12500次中斷即可,以此類推;故定義的數(shù)組內(nèi)容表示如下:

          int table[ ]= { 25,800,255, //第1行

          . . . . . . } //第n行

          其中25為電機步數(shù);800為定時器周期寄存器值;255每兩步間所要進入定時器中斷的次數(shù)。實現(xiàn)準(zhǔn)確地控制控制器關(guān)鍵在于由F240 I/O口產(chǎn)生規(guī)定的脈沖信號,提供給控制器從而驅(qū)動正確轉(zhuǎn)動,程序中包括F240初始化、電機正轉(zhuǎn)、等待、電機反轉(zhuǎn)幾個程序模塊。程序流 程圖如圖2所示:


        圖2 程序流程圖

          以下是實現(xiàn)電機正轉(zhuǎn)的程序。程序中變量解釋:step:用于存儲數(shù)組中電機步數(shù);every step:用于存儲數(shù)組中每兩步間所要進定時中斷的次數(shù);flag:數(shù)組行數(shù)標(biāo)志(程序假設(shè)需正轉(zhuǎn)36組)。

          void interrupt INT2_ISR()

          { while (*EVIVRA==0x0027) //是否是定時器中斷

          { if(flag36) //用來完成正轉(zhuǎn)

          {

          if (steptotal==step) //是否走完數(shù)組每行規(guī)定的步數(shù)

          



        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 山丹县| 平阴县| 周至县| 龙门县| 长白| 荆州市| 孝义市| 宁明县| 罗甸县| 开鲁县| 鄂伦春自治旗| 郁南县| 察雅县| 三河市| 灵寿县| 乌兰浩特市| 宁乡县| 新疆| 海门市| 巴林右旗| 静安区| 周宁县| 四平市| 油尖旺区| 抚宁县| 泽普县| 孟津县| 保定市| 株洲市| 承德县| 新丰县| 尼勒克县| 惠来县| 陇南市| 旌德县| 镇远县| 白城市| 星子县| 永新县| 日土县| 喀喇沁旗|