標(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
ningsy 發(fā)表于 2023-1-15 17:05
是A4988模塊吧?這模塊就是一個(gè)超小的步進(jìn)電機(jī)驅(qū)動(dòng)器,我也在用,而且非常好用。
1、正?蛰d時(shí)不應(yīng)該有大 ...

謝謝哈。!
已經(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
57185490 發(fā)表于 2023-1-28 17:34
謝謝哈。!
已經(jīng)找到問(wèn)題
4988 要求8-35v(參數(shù),所以也沒(méi)敢調(diào)電壓)

A4988這款步進(jìn)電機(jī)驅(qū)動(dòng)模塊調(diào)節(jié)驅(qū)動(dòng)能力

1.jpg (30.39 KB, 下載次數(shù): 57)

1.jpg

作者: 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