找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 8472|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

求大神幫我寫一個程序,很簡單的控制步進電機的程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:126618 發(fā)表于 2017-5-17 14:17 來自觸屏版 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
10黑幣
就是用的這種86步進電機和驅(qū)動器,接線也是按照圖上接的,共地,PUL+接p1.0,DIR+接p1.1,要求上電后延時一段時間電機以一個速度旋轉(zhuǎn)數(shù)圈后,延時一段時間,再以另一個速度反向旋轉(zhuǎn)數(shù)圈,然后循環(huán)以上動作,程序最好帶上詳細注釋,我想通過修改參數(shù)達到我要的具體控制,因為自己沒有學(xué)過單片機,現(xiàn)在工作需要,所以特來求助,希望前輩們幫幫忙,非常感謝!

我自己是學(xué)機械的,這兩天也在開始學(xué)習(xí)單片機,但是路還很長
再次懇求大神幫幫忙,謝謝大家��!

Screenshot_2017-05-17-10-38-35.jpg (38.44 KB, 下載次數(shù): 107)

Screenshot_2017-05-17-10-38-35.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:186510 發(fā)表于 2017-5-17 17:50 | 只看該作者
/*************************************************************************************
*  標題:  步進電機試驗一(雙極性步進電機)                                                                                         
*                                                                                                                                                                          
*    通過本例程了解步進馬達使用及驅(qū)動程序編寫                                                                                 
*;   單相四拍通電驅(qū)動時序:                                                         
*;   正轉(zhuǎn): A/  B  A  B/
*    反轉(zhuǎn): B/  A  B  A/                                                                                              
*   
*    UDN2916電流控制真值表:
*          I0    I1        輸出電流
*          L            L                  最大
*          H                L                  最大*2/3
*          L                H                  最大*1/3
*     H     H         0                                                                                       *                                                                           
**************************************************************************************/  
#include "reg52.h"

#define speed 2
//Motor
sbit PH1 = P1^0;          //定義管腳
sbit PH2 = P1^1;
sbit I01 = P1^2;
sbit I11 = P1^3;
sbit I02 = P1^4;
sbit I12 = P1^5;



void delay(int time);

/***************************************
函數(shù)功能:產(chǎn)生單相四拍脈沖控制步進機
**************************************/
void Go()
{         //A
    PH1 = 0;  //PH1為0 則A線圈為反向電流
    I01 = 0;
        I11 = 0;   //以最大電流輸出
       

        PH2 = 0;  //PH2為0 則B線圈為反向電流
        I02 = 1;
        I12 = 1;   //輸出0

        delay(speed);
        //0
        PH1 = 0;  //PH1為0 則A線圈為反向電流
    I01 = 1;  //輸出0
        I11 = 1;
       

        PH2 = 1;  //PH2為1 則B線圈為正電流
        I02 = 0;  //以最大電流輸出
        I12 = 0;

        delay(speed);
        //B
        PH1 = 1;   //PH1為1 則A線圈為正向電流
    I01 = 0;   //以最大電流輸出
        I11 = 0;
       

        PH2 = 1;  //PH2為1 則B線圈為正向電流
        I02 = 1;  //輸出0
        I12 = 1;
                   ////
        delay(speed);
        //0
        PH1 = 1;   //PH1為1 則A線圈為正向電流
        I01 = 1;
        I11 = 1;
       

        PH2 = 0;   //PH2為0 則B線圈為反向電流
        I02 = 0;
        I12 = 0;

        delay(speed);


       
}
/*******************延時函數(shù)****************************/
void delay(int time)
{
  int i,j;

  for(j=0; j <= time; j++)
   for(i =0 ; i <= 120; i++);
}


void main()
{

  while(1)
  {

    Go();  //步進電機運行
       
  }

}

回復(fù)

使用道具 舉報

板凳
ID:126618 發(fā)表于 2017-5-17 21:21 來自觸屏版 | 只看該作者
小潤龍 發(fā)表于 2017-5-17 17:50
/*************************************************************************************
*  標題:  步 ...

據(jù)我現(xiàn)在了解的是控制我的86電機是不需要控制ABCD線圈的吧,只需要兩路,一路脈沖,一路方向,這個程序好像不是吧
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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