• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    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 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 江达县| 香港 | 永胜县| 洪泽县| 花莲县| 广东省| 黄龙县| 包头市| 灵璧县| 乾安县| 临漳县| 西乌| 贵定县| 大悟县| 南丰县| 淳化县| 卓资县| 靖西县| 九龙坡区| 化德县| 扶绥县| 运城市| 小金县| 孟村| 工布江达县| 南宫市| 清苑县| 呼图壁县| 越西县| 望城县| 抚顺县| 昂仁县| 浪卡子县| 永康市| 雷波县| 塔城市| 安康市| 大姚县| 滦南县| 西吉县| 乌鲁木齐县|