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

QQ登錄

只需一步,快速開始

搜索
查看: 1686|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

52單片機(jī)+a8944驅(qū)動(dòng)控制2相4線步進(jìn)電機(jī) 出現(xiàn)的問題!

[復(fù)制鏈接]
跳轉(zhuǎ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))所以按鍵無操作,電機(jī)也有電流持續(xù)升溫,時(shí)間長就燒電機(jī)(已經(jīng)燒了一個(gè),但正反轉(zhuǎn)運(yùn)行正常)!所以必須接單片機(jī)拉高電平,只有按鍵操作拉低電平再轉(zhuǎn)動(dòng),松開按鍵停止啟動(dòng)(無電流,避免電機(jī)持續(xù)發(fā)熱)
現(xiàn)在“ENABLE”接的單片機(jī)P1^1,
問題出現(xiàn)啦~~~1:正轉(zhuǎn)按鍵按下(P2_0)高電平3.9v拉低到0v,運(yùn)行!但松開按鍵電平還是低電平
                       2:反轉(zhuǎn)按鍵按下(P2_1)高電平只能拉低到1.7v,無法運(yùn)行!松開按鍵,電平恢復(fù)到3.9v
    ENABLE=1和ENABLE=0 放到這個(gè)程序的任何位置都這樣~~哪里出問題了?
    while 不用“y” (就是取消“y”這個(gè)操作,只用ENABLE=1和ENABLE=0 來啟動(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)//可忽略,閑著無聊加個(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)// 按鍵松開,電機(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)  // 按鍵松開,電機(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)
}
                            }
   }

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

使用道具 舉報(bào)

沙發(fā)
ID:1044091 發(fā)表于 2023-1-15 17:05 | 只看該作者
是A4988模塊吧?這模塊就是一個(gè)超小的步進(jìn)電機(jī)驅(qū)動(dòng)器,我也在用,而且非常好用。
1、正?蛰d時(shí)不應(yīng)該有大的溫升,用萬用表電流檔測(cè)下模塊電流,大了要旋上面的電位器調(diào)小。我用的28步進(jìn)電機(jī)空載100多毫安就能轉(zhuǎn),帶負(fù)載要調(diào)到300多毫安,基本沒什么溫升。
2、按鍵不靈首先看代碼。我建議你還是找本基礎(chǔ)教程用上面的按鍵代碼替換掉你這段代碼試試吧。
回復(fù)

使用道具 舉報(bào)

板凳
ID:320487 發(fā)表于 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)找到問題
4988 要求8-35v(參數(shù),所以也沒敢調(diào)電壓)
用的12v
由于電機(jī)太小
考慮了一下,改5v輸入~沒想到也可以運(yùn)行 ,也不發(fā)熱啦 哈哈哈

至于“ENA”腳為什么高低電平出現(xiàn)這種情況,不管啦
直接懸空 不控制了 ~~~~
回復(fù)

使用道具 舉報(bào)

地板
ID:1044091 發(fā)表于 2023-1-28 19:48 | 只看該作者
57185490 發(fā)表于 2023-1-28 17:34
謝謝哈!!
已經(jīng)找到問題
4988 要求8-35v(參數(shù),所以也沒敢調(diào)電壓)

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

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

1.jpg
回復(fù)

使用道具 舉報(bào)

5#
ID:883242 發(fā)表于 2023-1-30 07:26 | 只看該作者
A4988是電流型驅(qū)動(dòng)器件,但樓主的描述似乎是電壓型步進(jìn)電機(jī),完全是驢唇不對(duì)馬嘴。建議樓主把步進(jìn)電機(jī)銘牌上面的信息貼出來。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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