新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 兩相4線步進電機驅動

        兩相4線步進電機驅動

        作者: 時間:2012-08-04 來源:網絡 收藏

        前段時間在出去買東西的時候經過一個廢品收購站,看到一位阿姨正在從一臺什么機器上面拆零件。具體是什么機器我也不認識,我突然看到她拆下來一個圓圓的東西,走進一看原來是一個電機,有四根線,我當時想肯定是一個步進電機。雖然年份久遠但是質量看起來還不錯,我當時就很喜歡。問阿姨這個多少錢我想買下來。阿姨說十塊錢,一分也不能少。沒有辦法我就發十塊錢買下這個“鐵塊子“!由于時間的關系一直沒有機會折騰。今天有點時間所以就拿出來研究一下。

        點擊瀏覽下一頁


        點擊瀏覽下一頁

        點擊瀏覽下一頁

        經過測量這是一個兩項四線的步進電機,步進角為1.8度。有兩種工作方式。一種是4拍的方式,一種是8拍的方式,的時序如下:

        a~ 和b~ 表示反向電流。

        ab - a~b - a~b~ - ab~ 為一個轉向。
        ab - ab~ - a~b~ - a~b 為反向。

        8拍方式的時序如下:

        A B C D E F G H(時序)

        A 1 1 0 0 0 0 0 1
        A- 0 0 0 1 1 1 0 0
        B 0 1 1 1 0 0 0 0
        B- 0 0 0 0 0 1 1 1

        我這里用的是8拍的方式。程序:


        /***
        *******************************************************************
        **程序功能:
        **芯片型號:STC11F16XE
        **晶振頻率:22.1184M
        **編寫日期:2010年10月日
        **編寫人員:wang QQ:349259818 Email:hongfadg@163.com
        **備注說明:
        *******************************************************************/
        //以下為所需的頭文件
        //#includeabsacc.h>
        //#includestring.h>
        //#includestdio.h>
        //#include INTRINS.H>
        #include reg52.H>
        //定義關鍵字方便使用
        #define uchar unsigned char
        #define uint unsigned int
        #define ulong unsigned long
        /*
        sbit p10=P1^0;//第一組電機
        sbit p11=P1^1;
        sbit p12=P1^2;//第一組使能
        sbit p13=P1^3;//第二組電機
        sbit p14=P1^4;
        sbit p15=P1^5;//第二組使能
        */
        uchar step[]={0x25,0x2d,0x2c,0x2e,0x26,0x36,0x34,0x35};//時序參數表
        /* 延時函數
        *******************************************************************
        **函數原型: void delay(void)
        **函數功能:延時函數
        **輸入參數:無
        **輸出參數:無
        **備注說明:
        *******************************************************************/
        void delay(void)

        {
        unsigned char a,b,c;
        for(c=18;c>0;c--)
        for(b=19;b>0;b--)
        for(a=23;a>0;a--);
        }

        /* 主函數
        *******************************************************************
        **函數原型:main()
        **函數功能:
        **輸入參數:無
        **輸出參數:無
        **備注說明:完成程序的主要功能
        *******************************************************************/
        main()
        {
        unsigned char c;
        while(1) //主循環
        {
        for(c=0;c8;c++)
        {

        P1=step[c]; //電機驅動
        delay(); //延時
        }

        }

        }


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 前郭尔| 武穴市| 井研县| 泰兴市| 邵武市| 栾城县| 江门市| 甘德县| 常山县| 涟源市| 报价| 延寿县| 玉山县| 班戈县| 皋兰县| 女性| 沁源县| 古田县| 乐平市| 临西县| 伽师县| 旺苍县| 龙口市| 赤城县| 南宫市| 赫章县| 广州市| 滨海县| 蒲城县| 蓝山县| 沙河市| 崇义县| 阳朔县| 外汇| 清水县| 滦南县| 方山县| 远安县| 永仁县| 玛沁县| 乐亭县|