新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 四相步進電機控制程序(可隨時控制轉動角度)

        四相步進電機控制程序(可隨時控制轉動角度)

        作者: 時間:2016-11-11 來源:網絡 收藏
        1. /************************************************
        2. 文件:四相步進電機控制程序
        3. [ ]:
        4. 描述:驅動方式彩用一相勱磁
        5. moto_maichong_time 一個脈沖信號時間,單位1MS
        6. moto_qu_one 轉動角度64(45度)
        7. 調用函數 moto_dispose(char moto_NU) 形參值為1至8
        8. P1口與電機相連
        9. 時間:2011年1月11日
        10. *************************************************/
        11. #defineucharunsignedchar
        12. #definemoto_maichong_time 10//一個脈沖信號時間單位1MS(224ms)
        13. #definemoto_qu_one64*8//轉動45度值
        14. /* 一相勵磁,電機正轉I/O高低電平對應表*/
        15. uchar moto_table1[]={0x01,0x02,0x04,0x08,0x08,0x04,0x2,0x01};
        16. /* 二相勵磁,電機正轉I/O高低電平對應表*/
        17. uchar moto_table2[]={0x0c,0x06,0x03,0x09,0x09,0x03,0x6,0x0c};
        18. uchar moto_begin=0;//正反轉標志位
        19. intmoto_qu_k=0;//轉動的初使值
        20. intmoto_qu_kk=1;//轉動的最大值
        21. intmoto_qu_j=0;//勱磁信號的初始值
        22. voidmoto_delay(intmoto_i)//延時1MS函數
        23. {
        24. uchar moto_j,moto_k;
        25. for(moto_j=moto_i;moto_j>0;moto_j--)
        26. for(moto_k=125;moto_k>0;moto_k--);
        27. }
        28. /*電機速度,正反轉控制。正反轉由moto_begin取0正轉、4反轉*/
        29. voidqudong(uchar moto_num)
        30. {
        31. moto_qu_kk=moto_qu_one*moto_num;
        32. /*電機轉動一圈*/
        33. for(moto_qu_k=0;moto_qu_k
        34. {
        35. /*四個勵磁脈沖信號*/
        36. for(moto_qu_j=moto_begin;moto_qu_j<4+moto_begin;moto_qu_j++)
        37. {
        38. P1=moto_table2[moto_qu_j];//選擇勱磁方式
        39. moto_delay(moto_maichong_time);//1個勵磁脈沖信號時間
        40. }
        41. }
        42. }
        43. /*控制步進電機轉動圈數、正反轉。正數為正轉、負數反轉*/
        44. voidmoto_dispose(charmoto_NU)
        45. {
        46. /*根據傳入值,控制電機正反轉*/
        47. if(moto_NU<0)
        48. {
        49. moto_begin=4;//控制電機反轉
        50. moto_NU*=-1;//取轉動圈數
        51. }
        52. else
        53. moto_begin=0;//控制電機正轉
        54. /*根據傳入值,控制電機轉動圈數*/
        55. qudong(moto_NU);
        56. }


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 留坝县| 广州市| 威信县| 花垣县| 方山县| 丘北县| 洪雅县| 江永县| 炎陵县| 子洲县| 安吉县| 新巴尔虎左旗| 龙里县| 巴林右旗| 申扎县| 建瓯市| 德江县| 黄龙县| 淮北市| 昌宁县| 牟定县| 子长县| 蒙自县| 富川| 隆林| 香格里拉县| 两当县| 福贡县| 邹平县| 华容县| 缙云县| 峨山| 无棣县| 裕民县| 石首市| 哈巴河县| 湄潭县| 土默特左旗| 麻栗坡县| 延吉市| 东兴市|