找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4684|回復: 11
打印 上一主題 下一主題
收起左側(cè)

求助步進電機怎么用51單片機控制

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:221336 發(fā)表于 2017-8-23 22:18 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
圖片是步進電機和控制器下面是我寫的程序
用51單片機  怎么控制這個驅(qū)動 (DM542) 連接電機驅(qū)動電機

#include<reg52.h>  


/*****************************************************************/

unsigned char a,i,j,k;
sbit ANJIAN=P3^5;
void delay(i)//延時函數(shù)
{
for(j=0;j<i;j++)
for(k=0;k<250;k++);
}
main()
{
a=0;
while(1)
{
if(ANJIAN==0)
{
a++;
while(!ANJIAN);
switch(a)
        {
  /**************正轉(zhuǎn)  步距腳90度****************/
//        case 1:P2=0x02;break;//         0010  45  //         1 -45  2 +45 3 0  4 +135  5 0          6 +90          7 +45          8 -135          9  -90  
//        case 2:P2=0x06;break;//         0110  90             A  0  B -45   C +180  D -135 e  +135 f 0
//        case 3:P2=0x04;break;//         0100  135
//        case 4:P2=0x0c;break;//         1100  180
//        case 5:P2=0x08;break;//         1000  225
//        case 6:P2=0x09;break;//  1001  270
//        case 7:P2=0x01;break;//        0001  315
//        case 8:P2=0x03;break;//        0011  360
//  case 9:a=0;break;


default:break;       
        }

}
}
}




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:228347 發(fā)表于 2017-8-23 23:33 來自手機 | 只看該作者
先檢查接線是否接對。PUL是給電機轉(zhuǎn)動的脈沖信號,dir是選正轉(zhuǎn)或者反轉(zhuǎn),ENA應該是使能,這三個信號在驅(qū)動器里面應該是接的光耦,正接5v,負接單片機IO。編程思路應該是  先給使能,再給方向,然后給脈沖驅(qū)動,脈沖個數(shù)取決于你要轉(zhuǎn)的角度和細分設(shè)置。時序買的模塊應該有說明書會講。

評分

參與人數(shù) 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:123289 發(fā)表于 2017-8-24 00:18 | 只看該作者
認真研讀控制驅(qū)動器(DM542),記住永遠的法則:要控制什么,就必須先了解什么。。
回復

使用道具 舉報

地板
ID:221336 發(fā)表于 2017-8-24 10:04 | 只看該作者
oo0o_11 發(fā)表于 2017-8-23 23:33
先檢查接線是否接對。PUL是給電機轉(zhuǎn)動的脈沖信號,dir是選正轉(zhuǎn)或者反轉(zhuǎn),ENA應該是使能,這三個信號在驅(qū)動 ...

脈沖驅(qū)動,這塊理解不夠   我原來是使用ULN2003A或者ULN2803 來驅(qū)動步進電機的 使用的是四個IO口來控制 ,對于這里的單個IO口控制 ,請問能指導下嗎
回復

使用道具 舉報

5#
ID:221336 發(fā)表于 2017-8-24 10:05 | 只看該作者
yzwzfyz 發(fā)表于 2017-8-24 00:18
認真研讀控制驅(qū)動器(DM542),記住永遠的法則:要控制什么,就必須先了解什么。!

驅(qū)動器理解了大部分 ,主要是脈沖驅(qū)動,這塊理解不夠   我原來是使用ULN2003A或者ULN2803 來驅(qū)動步進電機的 使用的是四個IO口來控制電機 ,對于這里的單個IO口控制 ,請問能指導下嗎
回復

使用道具 舉報

6#
ID:228347 發(fā)表于 2017-8-24 11:44 來自手機 | 只看該作者
xiong123154 發(fā)表于 2017-8-24 10:04
脈沖驅(qū)動,這塊理解不夠   我原來是使用ULN2003A或者ULN2803 來驅(qū)動步進電機的 使用的是四個IO口來控制  ...

高電平 延時  低電平  延時
回復

使用道具 舉報

7#
ID:221336 發(fā)表于 2017-8-24 14:18 | 只看該作者
oo0o_11 發(fā)表于 2017-8-24 11:44
高電平 延時  低電平  延時

單片機要和驅(qū)動模塊共地嗎
回復

使用道具 舉報

8#
ID:58925 發(fā)表于 2017-8-24 14:43 | 只看該作者
脈沖,方向,使能,直接用單片機發(fā)脈沖(高低電平)信號就可以轉(zhuǎn)起來
回復

使用道具 舉報

9#
ID:123289 發(fā)表于 2017-8-24 16:11 | 只看該作者
你在用晶體管陣列驅(qū)動電機時,不但要向晶體管陣列送數(shù)據(jù),而且要按一定的邏輯次序送入數(shù)據(jù)。
現(xiàn)在人家把這一塊都做好了,放在這個驅(qū)動器里面了,你只要研讀一下它的數(shù)據(jù)接口命令,按命令送入數(shù)據(jù)就OK了。
回復

使用道具 舉報

10#
ID:228347 發(fā)表于 2017-8-24 22:33 | 只看該作者
xiong123154 發(fā)表于 2017-8-24 14:18
單片機要和驅(qū)動模塊共地嗎

需要共地。。。。。
回復

使用道具 舉報

11#
ID:105206 發(fā)表于 2017-8-25 15:37 | 只看該作者
用單片機3個IO口分別輸出脈沖信號,正反轉(zhuǎn)信號,勢能信號。共地。驅(qū)動器注意設(shè)置電流,細分等。
回復

使用道具 舉報

12#
ID:221336 發(fā)表于 2017-12-22 14:00 | 只看該作者
jubaolun 發(fā)表于 2017-8-25 15:37
用單片機3個IO口分別輸出脈沖信號,正反轉(zhuǎn)信號,勢能信號。共地。驅(qū)動器注意設(shè)置電流,細分等。

謝謝 ,這個會啦
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表