久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1789|回復: 4
收起左側

52單片機+a8944驅動控制2相4線步進電機 出現的問題!

[復制鏈接]
ID:320487 發表于 2023-1-15 12:34 | 顯示全部樓層 |閱讀模式
本帖最后由 57185490 于 2023-1-15 12:38 編輯

52單片機+a8944驅動控制2相4線步進電機
按鍵控制正反轉
A8944  “ENABLE 啟動”空懸 ,接電后(由于低電平屬于啟動)所以按鍵無操作,電機也有電流持續升溫,時間長就燒電機(已經燒了一個,但正反轉運行正常)!所以必須接單片機拉高電平,只有按鍵操作拉低電平再轉動,松開按鍵停止啟動(無電流,避免電機持續發熱)
現在“ENABLE”接的單片機P1^1
問題出現啦~~~1:正轉按鍵按下(P2_0)高電平3.9v拉低到0v,運行!但松開按鍵電平還是低電平
                       2:反轉按鍵按下(P2_1)高電平只能拉低到1.7v,無法運行!松開按鍵,電平恢復到3.9v
    ENABLE=1和ENABLE=0 放到這個程序的任何位置都這樣~~哪里出問題了?
    while 不用“y” (就是取消“y”這個操作,只用ENABLE=1和ENABLE=0 來啟動和停止,也是這種情況)
這個是程序:
#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)//可忽略,閑著無聊加個延時~~~
      {
           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)    //正轉
{
                    DIR=0;    //正轉
                    step();
if(P2_0==1)// 按鍵松開,電機停止
         delay1(10);// 延時,防按鍵誤操作
         if(P2_0==1)
                             {
y=0;//while循環程序停止
}
}
void DN_dj(void)    //反轉
{
                    DIR=1;             //反轉
              step();   
if(P2_0==1)  // 按鍵松開,電機停止
        delay1(10);  // 延時 ,防按鍵誤操作
        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();        //正轉
                              }
                            if(P2_1==0) //??????????
                  delay1(10);
                  if(P2_1==0)
                          {   
ENABLE=0;
DN_dj();       //反轉
}
                            }
   }

回復

使用道具 舉報

ID:1044091 發表于 2023-1-15 17:05 | 顯示全部樓層
是A4988模塊吧?這模塊就是一個超小的步進電機驅動器,我也在用,而且非常好用。
1、正常空載時不應該有大的溫升,用萬用表電流檔測下模塊電流,大了要旋上面的電位器調小。我用的28步進電機空載100多毫安就能轉,帶負載要調到300多毫安,基本沒什么溫升。
2、按鍵不靈首先看代碼。我建議你還是找本基礎教程用上面的按鍵代碼替換掉你這段代碼試試吧。
回復

使用道具 舉報

ID:320487 發表于 2023-1-28 17:34 | 顯示全部樓層
ningsy 發表于 2023-1-15 17:05
是A4988模塊吧?這模塊就是一個超小的步進電機驅動器,我也在用,而且非常好用。
1、正常空載時不應該有大 ...

謝謝哈!!!
已經找到問題
4988 要求8-35v(參數,所以也沒敢調電壓)
用的12v
由于電機太小
考慮了一下,改5v輸入~沒想到也可以運行 ,也不發熱啦 哈哈哈

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

使用道具 舉報

ID:1044091 發表于 2023-1-28 19:48 | 顯示全部樓層
57185490 發表于 2023-1-28 17:34
謝謝哈!!!
已經找到問題
4988 要求8-35v(參數,所以也沒敢調電壓)

A4988這款步進電機驅動模塊調節驅動能力

1.jpg
回復

使用道具 舉報

ID:883242 發表于 2023-1-30 07:26 | 顯示全部樓層
A4988是電流型驅動器件,但樓主的描述似乎是電壓型步進電機,完全是驢唇不對馬嘴。建議樓主把步進電機銘牌上面的信息貼出來。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 综合九九| 久久精品网 | 欧洲色| 午夜久久久久久久久久一区二区 | 亚洲色图综合 | 国产精品日韩欧美一区二区三区 | 一级欧美 | 一区二区电影 | 欧美二区在线 | 日韩久久在线 | 色播99| 成人午夜精品 | 欧美vide| 精品国产欧美一区二区三区成人 | 久久精品欧美电影 | 国产精品久久久久久影院8一贰佰 | 欧美日韩高清一区 | 中文字幕不卡在线观看 | 久久久久九九九女人毛片 | 久久精品国产免费一区二区三区 | 91大神在线资源观看无广告 | 欧美极品在线观看 | 日日夜夜天天 | 成人在线观看免费 | 国产精品久久久久久久久免费软件 | 亚洲精品乱码久久久久久黑人 | 高清欧美性猛交 | 男女一区二区三区 | 日韩欧美国产一区二区 | 欧美一级在线观看 | 久久综合香蕉 | 亚洲一区二区av | 亚洲理论在线观看电影 | 成人久久久 | 欧美a区 | 欧美在线一区二区三区 | 69热视频在线观看 | 国产激情91久久精品导航 | 日本三级在线网站 | 欧美mv日韩mv国产网站91进入 | 91黄在线观看 |