標(biāo)題: 52單片機(jī)+a8944驅(qū)動(dòng)控制2相4線步進(jìn)電機(jī) 出現(xiàn)的問(wèn)題! [打印本頁(yè)]
作者: 57185490 時(shí)間: 2023-1-15 12:34
標(biāo)題: 52單片機(jī)+a8944驅(qū)動(dòng)控制2相4線步進(jìn)電機(jī) 出現(xiàn)的問(wèn)題!
本帖最后由 57185490 于 2023-1-15 12:38 編輯
52單片機(jī)+a8944驅(qū)動(dòng)控制2相4線步進(jìn)電機(jī)
按鍵控制正反轉(zhuǎn)
A8944 “ENABLE 啟動(dòng)”空懸 ,接電后(由于低電平屬于啟動(dòng))所以按鍵無(wú)操作,電機(jī)也有電流持續(xù)升溫,時(shí)間長(zhǎng)就燒電機(jī)(已經(jīng)燒了一個(gè),但正反轉(zhuǎn)運(yùn)行正常)!所以必須接單片機(jī)拉高電平,只有按鍵操作拉低電平再轉(zhuǎn)動(dòng),松開(kāi)按鍵停止啟動(dòng)(無(wú)電流,避免電機(jī)持續(xù)發(fā)熱)
現(xiàn)在“ENABLE”接的單片機(jī)P1^1,
問(wèn)題出現(xiàn)啦~~~1:正轉(zhuǎn)按鍵按下(P2_0)高電平3.9v拉低到0v,運(yùn)行!但松開(kāi)按鍵電平還是低電平
2:反轉(zhuǎn)按鍵按下(P2_1)高電平只能拉低到1.7v,無(wú)法運(yùn)行!松開(kāi)按鍵,電平恢復(fù)到3.9v
ENABLE=1和ENABLE=0 放到這個(gè)程序的任何位置都這樣~~哪里出問(wèn)題了?
while 不用“y” (就是取消“y”這個(gè)操作,只用ENABLE=1和ENABLE=0 來(lái)啟動(dòng)和停止,也是這種情況)
這個(gè)是程序:
#include <reg51.h>
#define uchar unsigned char
unsigned int y ;
/**********************????****************/
void Delay(unsigned int xms) //@12.000MHz Delay(1)=1ms
{
unsigned char i, j;
while(xms--)
{
i = 2;
j = 239;
do
{while (--j);}
while(--i);
}
}
void delay1(unsigned int b)//可忽略,閑著無(wú)聊加個(gè)延時(shí)~~~
{
uchar g;
for(;b>0;b--)
{
g=250;
while(--g);
g=249;
while(--g);
}
}
/***********************************************/
sbit DIR=P2^0; //
sbit STEP=P2^1; //
sbit P2_0=P2^2; //
sbit P2_1=P2^5;
sbit ENABLE=P1^1;
void step(void)
{
STEP=0; //脈沖
Delay(1); // Delay(1)=1ms
STEP=1;
Delay(1);
}
void UP_dj(void) //正轉(zhuǎn)
{
DIR=0; //正轉(zhuǎn)
step();
if(P2_0==1)// 按鍵松開(kāi),電機(jī)停止
delay1(10);// 延時(shí),防按鍵誤操作
if(P2_0==1)
{
y=0;//while循環(huán)程序停止
}
}
void DN_dj(void) //反轉(zhuǎn)
{
DIR=1; //反轉(zhuǎn)
step();
if(P2_0==1) // 按鍵松開(kāi),電機(jī)停止
delay1(10); // 延時(shí) ,防按鍵誤操作
if(P2_0==1)
{
y=0;
}
}
void main() //???
{
ENABLE=1;
y=1;
while(y)
{
if(P2_0==0) //??????????
delay1(10);
if(P2_0==0)
{
ENABLE=0;
UP_dj(); //正轉(zhuǎn)
}
if(P2_1==0) //??????????
delay1(10);
if(P2_1==0)
{
ENABLE=0;
DN_dj(); //反轉(zhuǎn)
}
}
}
作者: ningsy 時(shí)間: 2023-1-15 17:05
是A4988模塊吧?這模塊就是一個(gè)超小的步進(jìn)電機(jī)驅(qū)動(dòng)器,我也在用,而且非常好用。
1、正?蛰d時(shí)不應(yīng)該有大的溫升,用萬(wàn)用表電流檔測(cè)下模塊電流,大了要旋上面的電位器調(diào)小。我用的28步進(jìn)電機(jī)空載100多毫安就能轉(zhuǎn),帶負(fù)載要調(diào)到300多毫安,基本沒(méi)什么溫升。
2、按鍵不靈首先看代碼。我建議你還是找本基礎(chǔ)教程用上面的按鍵代碼替換掉你這段代碼試試吧。
作者: 57185490 時(shí)間: 2023-1-28 17:34
謝謝哈。!
已經(jīng)找到問(wèn)題
4988 要求8-35v(參數(shù),所以也沒(méi)敢調(diào)電壓)
用的12v
由于電機(jī)太小
考慮了一下,改5v輸入~沒(méi)想到也可以運(yùn)行 ,也不發(fā)熱啦 哈哈哈
至于“ENA”腳為什么高低電平出現(xiàn)這種情況,不管啦
直接懸空 不控制了 ~~~~
作者: ningsy 時(shí)間: 2023-1-28 19:48
A4988這款步進(jìn)電機(jī)驅(qū)動(dòng)模塊調(diào)節(jié)驅(qū)動(dòng)能力
-
1.jpg
(30.39 KB, 下載次數(shù): 57)
下載附件
2023-1-29 00:21 上傳
作者: Hephaestus 時(shí)間: 2023-1-30 07:26
A4988是電流型驅(qū)動(dòng)器件,但樓主的描述似乎是電壓型步進(jìn)電機(jī),完全是驢唇不對(duì)馬嘴。建議樓主把步進(jìn)電機(jī)銘牌上面的信息貼出來(lái)。
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |