找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 6566|回復(fù): 16
收起左側(cè)

51單片機(jī)控制的步進(jìn)電機(jī)不轉(zhuǎn)動(dòng)

[復(fù)制鏈接]
ID:382600 發(fā)表于 2018-9-16 09:55 來自觸屏版 | 顯示全部樓層 |閱讀模式
我用51單片機(jī)做控制器,連接驅(qū)動(dòng)器和步進(jìn)電機(jī),但是不轉(zhuǎn)動(dòng),程序是這樣的
#include "reg51.h"

typedef unsigned int u16;
typedef unsigned char u8;

sbit SN=P0^2;
sbit FX=P0^1;
sbit MC=P0^0;





void delay(u16 z)
{        
      

        while(z--);        
}

void main()
{   
      
   while(1)
   {
                 FX=1;
                 delay(10);
                 SN=1;
                 delay(10);

                 MC=1;
                 delay(10);
                 MC=0;


   }
}
有誰可以幫我看看哪里錯(cuò)了嗎,求解,謝謝!
1537062722339.jpg
1537062777566.jpg
回復(fù)

使用道具 舉報(bào)

ID:310519 發(fā)表于 2018-9-16 19:40 | 顯示全部樓層
不知道你的線路接得對(duì)不對(duì)。

如果你是由IO口直接輸出控制信號(hào),那可能要開啟強(qiáng)上拉,最好串個(gè)1K左右的電阻。
回復(fù)

使用道具 舉報(bào)

ID:211052 發(fā)表于 2018-9-16 21:11 | 顯示全部樓層
進(jìn)入調(diào)試模式,看看單片機(jī)發(fā)的信號(hào)對(duì)不對(duì)。用示波器看下波形
回復(fù)

使用道具 舉報(bào)

ID:382600 發(fā)表于 2018-9-16 22:20 來自觸屏版 | 顯示全部樓層
diy1997 發(fā)表于 2018-9-16 19:40
不知道你的線路接得對(duì)不對(duì)。

如果你是由IO口直接輸出控制信號(hào),那可能要開啟強(qiáng)上拉,最好串個(gè)1K左右的電 ...

開啟強(qiáng)上拉是什么意思啊,還有為什么要串個(gè)電阻呢 求解。
回復(fù)

使用道具 舉報(bào)

ID:398191 發(fā)表于 2018-9-17 10:38 | 顯示全部樓層
仔細(xì)檢查檢查,io口和接線端是否都接正確且牢固了,上拉電阻很重要,注意哦!還有單片機(jī)是否已損壞或插反了,建議你編個(gè)小燈的程序,檢測(cè)一下。
回復(fù)

使用道具 舉報(bào)

ID:398191 發(fā)表于 2018-9-17 10:40 | 顯示全部樓層
檢測(cè)一下單片機(jī)是否正�?捎�;各個(gè)IO口及接線端是否都接正確且牢固了。
回復(fù)

使用道具 舉報(bào)

ID:310519 發(fā)表于 2018-9-17 11:58 | 顯示全部樓層
111252 發(fā)表于 2018-9-16 22:20
開啟強(qiáng)上拉是什么意思啊,還有為什么要串個(gè)電阻呢 求解。

IO口默認(rèn)情況下,輸出的電流都很�。ㄈ跎侠�,可能不足以推動(dòng)步進(jìn)電機(jī)驅(qū)動(dòng)器。

所以要增加輸出電流:

1, 可以外接一個(gè)上拉電阻,具體值要根據(jù)實(shí)際算出,要更大的電流,可以加管子。

2,你用的單片機(jī)是STC的吧,它的IO口可以配置成強(qiáng)上拉(推挽輸出),

開啟后,輸出電流相對(duì)(弱上拉)比較大,可能要根據(jù)實(shí)際情況串聯(lián)一個(gè)限流電阻。

回復(fù)

使用道具 舉報(bào)

ID:398948 發(fā)表于 2018-9-17 12:25 | 顯示全部樓層
看你代碼,里面只有MC會(huì)高低切換,F(xiàn)X、SN置位代碼雖然也在循環(huán)里,但是始終只會(huì)是高。
步進(jìn)電機(jī)一般都是兩組脈沖控制的,根據(jù)脈沖數(shù)來決定轉(zhuǎn)過的角度,根據(jù)兩組脈沖的相位來決定轉(zhuǎn)的方向。
你這個(gè)還需要提供更詳細(xì)的資料大家才能幫你。比如電機(jī)的相關(guān)資料、接線圖等等。
回復(fù)

使用道具 舉報(bào)

ID:382600 發(fā)表于 2018-9-17 21:15 來自觸屏版 | 顯示全部樓層
diy1997 發(fā)表于 2018-9-17 11:58
IO口默認(rèn)情況下,輸出的電流都很小(弱上拉),可能不足以推動(dòng)步進(jìn)電機(jī)驅(qū)動(dòng)器。

所以要增加輸出電流:
...

我這個(gè)驅(qū)動(dòng)器上連接的有24v的電源,
1537190021135.jpg
1537190103594.jpg
回復(fù)

使用道具 舉報(bào)

ID:382600 發(fā)表于 2018-9-17 21:23 來自觸屏版 | 顯示全部樓層
zorange 發(fā)表于 2018-9-17 12:25
看你代碼,里面只有MC會(huì)高低切換,F(xiàn)X、SN置位代碼雖然也在循環(huán)里,但是始終只會(huì)是高。
步進(jìn)電機(jī)一般都是兩 ...

單片機(jī)是51的,下圖是我連的線路圖,驅(qū)動(dòng)器是DM320型號(hào),下圖有步進(jìn)電機(jī)的介紹,你看看一下,還有那個(gè)FX和SN為什么會(huì)一直是高呢?我在程序設(shè)定值了啊
1537190488402.jpg
1537190521891.jpg
回復(fù)

使用道具 舉報(bào)

ID:388197 發(fā)表于 2018-9-17 22:15 | 顯示全部樓層
驅(qū)動(dòng)器兩個(gè)EN都懸空了嗎?雖然沒用過這款驅(qū)動(dòng)器,但兩個(gè)EN都懸空感覺不對(duì),畫的草圖驅(qū)動(dòng)器脈沖輸入引腳好像是共陰接法,沒有5V輸入,如果是光耦隔離,開漏的P0口上拉電流肯定不能驅(qū)動(dòng)一個(gè)光耦,還有你驅(qū)動(dòng)器電源跟單片機(jī)電源是否共地?
另外程序里只有FX = 1,SN = 1沒看到置0. FX SN當(dāng)然只能是1
用的是什么型號(hào)的51,如果是老型號(hào)的,P0只能開漏并且沒有內(nèi)部上拉,需要外接上拉電阻
新型號(hào)的,IO模式有沒有設(shè)置成浮空?
還有DELAY函數(shù)里面就1個(gè)變量自減,時(shí)間較短,會(huì)不會(huì)頻率過高?
類似功能建議使用中斷,像DELAY函數(shù)在學(xué)習(xí)的時(shí)候可以用用,真正的項(xiàng)目盡量不要用.
回復(fù)

使用道具 舉報(bào)

ID:382600 發(fā)表于 2018-9-18 09:05 來自觸屏版 | 顯示全部樓層
cjm82 發(fā)表于 2018-9-17 22:15
驅(qū)動(dòng)器兩個(gè)EN都懸空了嗎?雖然沒用過這款驅(qū)動(dòng)器,但兩個(gè)EN都懸空感覺不對(duì),畫的草圖驅(qū)動(dòng)器脈沖輸入引腳好像是 ...

這個(gè)是共陰接法,我在網(wǎng)上查的是共陽會(huì)接一個(gè)5v電源,這個(gè)單片機(jī)p0口有外部上拉電阻,可以直接用,還有那個(gè)驅(qū)動(dòng)器電源和單片機(jī)電源為什么要共地呢,昨天實(shí)驗(yàn)的時(shí)候用的是中斷,但是還不轉(zhuǎn)
回復(fù)

使用道具 舉報(bào)

ID:388197 發(fā)表于 2018-9-18 11:13 | 顯示全部樓層
111252 發(fā)表于 2018-9-18 09:05
這個(gè)是共陰接法,我在網(wǎng)上查的是共陽會(huì)接一個(gè)5v電源,這個(gè)單片機(jī)p0口有外部上拉電阻,可以直接用,還有那 ...

搜索了一下該驅(qū)動(dòng)器的手冊(cè),PUL+與PUL-(包括EN+ EN- DIR+ DIR-)之間是一個(gè)光耦串一個(gè)200多歐的電阻,直接用上拉開漏的IO口驅(qū)動(dòng)肯定不行,應(yīng)該用IO口驅(qū)動(dòng)三極管擴(kuò)流,你參考下該驅(qū)動(dòng)的手冊(cè),里面描述的很詳細(xì).
回復(fù)

使用道具 舉報(bào)

ID:310519 發(fā)表于 2018-9-18 11:56 | 顯示全部樓層
111252 發(fā)表于 2018-9-17 21:15
我這個(gè)驅(qū)動(dòng)器上連接的有24v的電源,

我是說,那個(gè)IO口的電流可能驅(qū)動(dòng)不了驅(qū)動(dòng)器的信號(hào)開關(guān)(光藕)。

并不是說驅(qū)動(dòng)器輸出的電流不夠。
回復(fù)

使用道具 舉報(bào)

ID:396426 發(fā)表于 2018-9-18 13:41 | 顯示全部樓層
強(qiáng)烈建議你先查接線方式,算一下你的時(shí)鐘,再看看你的delays函數(shù)看看輸出頻率對(duì)不對(duì),最好找個(gè)示波器看一下�。。�
回復(fù)

使用道具 舉報(bào)

ID:382600 發(fā)表于 2018-9-20 17:51 來自觸屏版 | 顯示全部樓層
謝謝大家了,學(xué)到了跟多
回復(fù)

使用道具 舉報(bào)

ID:400726 發(fā)表于 2018-9-20 21:33 | 顯示全部樓層
111252 發(fā)表于 2018-9-16 22:20
開啟強(qiáng)上拉是什么意思啊,還有為什么要串個(gè)電阻呢 求解。

上拉電阻
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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