找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7140|回復(fù): 1
收起左側(cè)

51單片機(jī)步進(jìn)電機(jī)驅(qū)動實(shí)例

[復(fù)制鏈接]
ID:419067 發(fā)表于 2019-4-21 17:33 | 顯示全部樓層 |閱讀模式
步進(jìn)電機(jī)驅(qū)動程序,多種驅(qū)動方式,包含電路圖
電路原理圖如下:
步進(jìn)馬達(dá)電路圖.jpg 捕獲.PNG

單片機(jī)源程序如下:
  1. /**************************************************************************************
  2. *  標(biāo)題:  步進(jìn)電機(jī)試驗(yàn)四                                                                                                                          *
  3. *                                                                                                                                                                           *
  4. *    通過本例程了解步進(jìn)馬達(dá)使用及驅(qū)動程序編寫                                                                                  *
  5. *     雙四拍工作方式:                                                                     *
  6. *    AB-BC-CD-DA (即一個(gè)脈沖,轉(zhuǎn) 7.5 度)                                                                                              *
  7. *                                                                                               *
  8. *  請學(xué)員一定要消化掉本例程,                                                                 *
  9.                                                                                                                                 *
  10. **************************************************************************************/   


  11. #include "reg52.h"
  12. //Motor
  13. sbit F1 = P1^0;
  14. sbit F2 = P1^1;
  15. sbit F3 = P1^2;
  16. sbit F4 = P1^3;



  17. ///////////////////////////////////////
  18. //步進(jìn)電機(jī)驅(qū)動
  19. unsigned char MotorStep=0;
  20. unsigned int MotorTimer = 0;
  21. unsigned int TIM,CT;

  22. void InitMotor()
  23. {
  24.   F1 = 1;
  25.   F2 = 1;
  26.   F3 = 1;
  27.   F4 = 1;
  28. }



  29. void SetMotor()
  30. {
  31.   //  if(Speed == 0) return;

  32.    
  33.     switch(MotorStep)
  34.     {
  35.        case 0:
  36.           if(TIM)
  37.           {
  38.             F1 = 0;
  39.             F2 = 0;
  40.                         F3 = 1;
  41.                         F4 = 1;
  42.             MotorStep = 1;
  43.                          TIM=0;
  44.           }
  45.        break;

  46.        case 1:
  47.          if(TIM)
  48.           {       
  49.             F1 = 1;
  50.             F2 = 0;
  51.             F3 = 0;
  52.             F4 = 1;
  53.             MotorStep = 2;
  54.                         TIM=0;
  55.           }
  56.        break;

  57.        case 2:
  58.          if(TIM)
  59.           {
  60.            
  61.          
  62.             F1 = 1;
  63.             F2 = 1;
  64.             F3 = 0;
  65.             F4 = 0;
  66.             MotorStep = 3;
  67.                         TIM=0;
  68.           }
  69.        break;


  70.        case 3:
  71.          if(TIM)
  72.           {       
  73.             F1 = 0;
  74.             F2 = 1;
  75.             F3 = 1;
  76.             F4 = 0;
  77.             MotorStep = 0;
  78.                         TIM=0;
  79.           }
  80.        break;
  81.     }

  82. }


  83. void system_Ini()
  84. {
  85.     TMOD|= 0x11;
  86.     TH0=0xDC; //11.0592M
  87.     TL0=0x00;       
  88.         IE = 0x8A;       
  89.     TR0  = 1;


  90. }

  91. main()
  92. { system_Ini();
  93.    InitMotor();
  94.     while(1)
  95.         {
  96.          SetMotor();

  97.          }



  98.   }
  99.   
  100. /*************************************
  101. [ t1 (0.5ms)中斷] 中斷中做 PWM 輸出
  102.   ------------1000/(0.02ms*250)=200Hz
  103. *************************************/
  104.   void Tzd(void) interrupt 1
  105. {
  106.    TH0 = 0xfe;    //11.0592
  107.          TL0 = 0x33;

  108.         if( CT++==20)
  109.           {TIM=1;
  110.            CT=0;
  111.           }
  112. }
復(fù)制代碼

所有資料51hei提供下載:
步進(jìn)馬達(dá).rar (614.18 KB, 下載次數(shù): 76)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:46689 發(fā)表于 2019-12-18 20:32 | 顯示全部樓層
謝謝分享。剛學(xué)啥都不會。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表