新聞中心

        EEPW首頁 > 汽車電子 > 設計應用 > 在HCS08系列MCU上用軟件實現儀表步進電機的驅動

        在HCS08系列MCU上用軟件實現儀表步進電機的驅動

        作者:傅志強 飛思卡爾半導體成都分公司 時間:2010-05-21 來源:電子產品世界 收藏

          

        本文引用地址:http://www.104case.com/article/109228.htm

          本為應用程序提供的接口函數有三個:

          1.InitStepper:初始化函數,對驅動所用到的I/O口和定時器進行設置,并讓轉到初始位置——使儀表的指針指到零點的位置。

          函數原型:void InitStepper(void);

          參數:無;

          返回值:無。

          2.SetStepperTarget:設定的目標位置,也就是要讓儀表的指針轉到哪個位置(以相對于零點的角度來表示),整個轉動的過程(如需要轉多少步,往哪個方向轉等)應用程序無需知道,而且應用程序可以指定任意目標位置。

          函數原型:void SetStepperTarget(word wTargetDegree);

          參數:word wTargetDegree,目標位置相對于零點的角度,其值是以(1/12)度(等于微步方式下的步距)為單位的;

          返回值:無。

          3.GetStepperCurrent:得到步進電機的當前位置。

          函數原型:word GetStepperCurrent(void);

          參數:無;

          返回值:返回儀表的指針當前所指的位置(以相對于零點的角度來表示),其值也以(1/12)度(等于微步方式下的步距)為單位。

          另外,在頭文件Stepper.h中定義了選擇驅動方式的宏,使用者修改宏定義就可以選擇分步驅動方式或微步驅動方式,如下:

          #define STEPPER_PARTIAL_MODE 0

          #define STEPPER_MICRO_MODE !STEPPER_PARTIAL_MODE

          如前所述,驅動信號的變化速度不能太快,每次變化后都必須保持一段時間不變,為了讓占用的CPU的處理時間更少,就需要用到一個定時器。除了上面的三個接口函數外,驅動程序的其余部分都在定時器的中斷服務程序中運行。

          在驅動程序中,用兩個靜態變量來保存步進電機的目標位置和當前位置,其值是到零點的步數。定時器中斷由SetStepperTarget函數使能,在中斷服務程序中根據目標位置和當前位置的差值來決定步進電機轉動的方向和步數,然后根據選擇的驅動方式執行相應的轉動程序。

        pwm相關文章:pwm是什么




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 大英县| 马公市| 年辖:市辖区| 大兴区| 盐山县| 蛟河市| 九寨沟县| 瑞昌市| 揭西县| 托克逊县| 磴口县| 宣城市| 中牟县| 巫溪县| 沿河| 锡林郭勒盟| 六盘水市| 铜梁县| 禹城市| 凤台县| 时尚| 古蔺县| 上高县| 凤山市| 雷波县| 湘潭市| 永宁县| 江川县| 乌拉特中旗| 武安市| 澄迈县| 竹山县| 延长县| 上饶县| 西平县| 来宾市| 武强县| 虹口区| 谢通门县| 申扎县| 牙克石市|