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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 19115|回復(fù): 13
收起左側(cè)

51單片機(jī)控制42步進(jìn)電機(jī)不知道接線(xiàn),程序已經(jīng)寫(xiě)好!求救50黑幣

[復(fù)制鏈接]
ID:107207 發(fā)表于 2016-3-3 22:58 | 顯示全部樓層 |閱讀模式
50黑幣
本帖最后由 1492548699 于 2016-3-4 20:46 編輯

QQ圖片20160303225623.jpg QQ圖片20160303225637.jpg QQ圖片20160303225643.jpg QQ圖片20160303225649.jpg 51單片機(jī)控制42步進(jìn)電機(jī)不知道接線(xiàn),程序有!求救50黑幣。。,現(xiàn)在想要電機(jī)轉(zhuǎn)起來(lái),希望有人能夠幫我,51芯片的腳怎么接我才可以控制電機(jī)。謝謝  qq1492548699










#include <AT89X52.h>       //調(diào)用51單片機(jī)的頭文件
//---------------------------------------
//定義一個(gè)數(shù)據(jù)表格
unsigned char code TAB[8]=
{                          //定義表格一定要使用code,這樣會(huì)做到程序存儲(chǔ)區(qū)中
    0x7F,                  //表格第1步數(shù)據(jù)0b01111111
    0x3F,                  //表格第2步數(shù)據(jù)0b00111111
    0xBF,                  //表格第3步數(shù)據(jù)0b10111111
    0x9F,                  //表格第4步數(shù)據(jù)0b10011111
    0xDF,                  //表格第5步數(shù)據(jù)0b11011111
    0xCF,                  //表格第6步數(shù)據(jù)0b11001111
    0xEF,                  //表格第7步數(shù)據(jù)0b11101111
    0x6F,                  //表格第8步數(shù)據(jù)0b01101111
};
//---------------------------------------
//8獨(dú)立按鍵相關(guān)I/O設(shè)置
sbit P1key=P2^0;           //按鍵P1接在P2.0口上
sbit P2key=P2^1;           //按鍵P2接在P2.1口上
sbit P3key=P2^2;           //按鍵P3接在P2.2口上
sbit P4key=P2^3;           //按鍵P4接在P2.3口上
sbit P5key=P2^4;           //按鍵P5接在P2.4口上
sbit P6key=P2^5;           //按鍵P6接在P2.5口上
sbit P7key=P2^6;           //按鍵P7接在P2.6口上
sbit P8key=P2^7;           //按鍵P8接在P2.7口上
//---------------------------------------
//---------------------------------------
//按鍵部分用寄存器設(shè)置
unsigned char KEYbuf;      //設(shè)置8位的寄存器用來(lái)暫存按鍵鍵值數(shù)據(jù)
unsigned char KEYcon;
bit KEYbit;
//---------------------------------------
unsigned char STEPspeed;
//---------------------------------------
//名稱(chēng): 主函數(shù)
//適用:給力者GL9單片機(jī)開(kāi)發(fā)學(xué)習(xí)系統(tǒng)
//公司:寧波芯動(dòng)電子有限公司
//網(wǎng)址:www.MovingChip.com
//日期:20120914
//---------------------------------------
void main(void)            //主函數(shù),單片機(jī)開(kāi)機(jī)后就是從這個(gè)函數(shù)開(kāi)始運(yùn)行
{
    unsigned int a=0;      //定義一個(gè)int型變量,做延時(shí)用
    unsigned char b=0;    //定義一個(gè)char型變量,顯示內(nèi)容用
    while(1)               //死循環(huán),單片機(jī)初始化后,將一直運(yùn)行這個(gè)死循環(huán)
    {
  //***8獨(dú)立按鍵掃描部分***
    //按P1-P8鍵,KEYbuf賦值1-8
        if(P1key==0) KEYbuf=1;     //如果P1鍵按下,KEYbuf賦值寫(xiě)1
        else if(P2key==0) KEYbuf=2; //如果P2鍵按下,KEYbuf賦值寫(xiě)2
        else if(P3key==0) KEYbuf=3; //如果P3鍵按下,KEYbuf賦值寫(xiě)3
        else if(P4key==0) KEYbuf=4; //如果P4鍵按下,KEYbuf賦值寫(xiě)4
        else if(P5key==0) KEYbuf=5; //如果P5鍵按下,KEYbuf賦值寫(xiě)5
        else if(P6key==0) KEYbuf=6; //如果P6鍵按下,KEYbuf賦值寫(xiě)6
        else if(P7key==0) KEYbuf=7; //如果P7鍵按下,KEYbuf賦值寫(xiě)7
        else if(P8key==0) KEYbuf=8; //如果P8鍵按下,KEYbuf賦值寫(xiě)8
    else
    {
   KEYbuf=0;
     if(KEYbit==0)
   {
    if(++KEYcon>20)
    {
     KEYcon=0;
       KEYbit=1;              //無(wú)按鍵按下,KEYbit賦值為1
    }
   }
  }
    //*********************      
  if(KEYbuf==1)               //P1鍵控制步進(jìn)電機(jī)方向
  {
   if(KEYbit==1)
   {
    KEYbit=0;
    if(++STEPspeed>3) STEPspeed=0;     //速度加1,并限制在0-3間         
   }
  }
  if(STEPspeed==0)
  {
   for(a=0;a<1700;a++);   //速度1延時(shí)
  }
  else if(STEPspeed==1)
  {
   for(a=0;a<1300;a++);   //速度2延時(shí)
  }
  else if(STEPspeed==2)
  {
   for(a=0;a<900;a++);    //速度3延時(shí)  
  }
  else  
  {
   for(a=0;a<500;a++);    //速度4延時(shí)
  }
  if(++b>7) b=0;         //b做+1操作,并限制在0-7以?xún)?nèi)      
  P1=TAB;      //將TAB的值送入P1口輸出
   }
}

 

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:71508 發(fā)表于 2016-3-4 14:04 | 顯示全部樓層
估計(jì)樓主的程序也不行吧  
回復(fù)

使用道具 舉報(bào)

ID:104472 發(fā)表于 2016-3-4 15:40 | 顯示全部樓層
一般三根線(xiàn),cp,drive,GND 端,
程序可能要用pwm,但是沒(méi)見(jiàn)你程序里面有,
回復(fù)

使用道具 舉報(bào)

ID:94991 發(fā)表于 2016-3-4 16:46 | 顯示全部樓層
樓主土豪,買(mǎi)一百多的驅(qū)動(dòng)器,方向和脈沖只需要接在+上面就行了,然后就是四線(xiàn)結(jié)對(duì),分為兩相,分不出來(lái)的話(huà)看括號(hào)(那一根線(xiàn)把四線(xiàn)其中的兩根短接,然后轉(zhuǎn)動(dòng)電機(jī)軸,發(fā)現(xiàn)有種鎖死的感覺(jué)那就是一對(duì)的,然后就是使能端接。
回復(fù)

使用道具 舉報(bào)

ID:107207 發(fā)表于 2016-3-4 18:44 | 顯示全部樓層
俠歌無(wú)畏 發(fā)表于 2016-3-4 16:46
樓主土豪,買(mǎi)一百多的驅(qū)動(dòng)器,方向和脈沖只需要接在+上面就行了,然后就是四線(xiàn)結(jié)對(duì),分為兩相,分不出來(lái)的 ...

驅(qū)動(dòng)28塊錢(qián)買(mǎi)的。我現(xiàn)在單片機(jī)的腳怎么接驅(qū)動(dòng)上面來(lái) 就是搞不清楚,比如說(shuō)P1.2接哪里 P1.3接哪里
回復(fù)

使用道具 舉報(bào)

ID:94991 發(fā)表于 2016-3-4 19:03 | 顯示全部樓層
1492548699 發(fā)表于 2016-3-4 18:44
驅(qū)動(dòng)28塊錢(qián)買(mǎi)的。我現(xiàn)在單片機(jī)的腳怎么接驅(qū)動(dòng)上面來(lái) 就是搞不清楚,比如說(shuō)P1.2接哪里 P1.3接哪里

看完你的程序,突然發(fā)現(xiàn)你的程序是寫(xiě)給直流電機(jī)的。
回復(fù)

使用道具 舉報(bào)

ID:94991 發(fā)表于 2016-3-4 19:06 | 顯示全部樓層
俠歌無(wú)畏 發(fā)表于 2016-3-4 19:03
看完你的程序,突然發(fā)現(xiàn)你的程序是寫(xiě)給直流電機(jī)的。

這是兩相四線(xiàn)的驅(qū)動(dòng)方式,就按照這寫(xiě)程序就好了
QQ圖片20160304190530.png
回復(fù)

使用道具 舉報(bào)

ID:94991 發(fā)表于 2016-3-4 19:09 | 顯示全部樓層
俠歌無(wú)畏 發(fā)表于 2016-3-4 19:06
這是兩相四線(xiàn)的驅(qū)動(dòng)方式,就按照這寫(xiě)程序就好了

這是我寫(xiě)的1相/兩相/1,2相勵(lì)磁的程序

/*
1相勵(lì)磁法延遲較2相勵(lì)磁法延遲時(shí)間長(zhǎng),一般來(lái)說(shuō),1相勵(lì)磁法延遲為5~10毫秒,2相勵(lì)磁法延遲時(shí)間為2毫秒左右,

但一般使用1-2相勵(lì)磁法
*/


#include<reg52.h>
sbit a1=P1^0;
sbit b1=P1^1;
sbit c1=P1^2;
sbit d1=P1^3;


bit flag;

unsigned char speed;

#define coil_ab1 {a1=1;b1=1;c1=0;d1=0;}

#define coil_bc1 {a1=0;b1=1;c1=1;d1=0;}

#define coil_cd1 {a1=0;b1=0;c1=1;d1=1;}

#define coil_da1 {a1=1;b1=0;c1=0;d1=1;}

#define coil_a1 {a1=1;b1=0;c1=0;d1=0;}

#define coil_b1 {a1=0;b1=1;c1=0;d1=0;}

#define coil_c1 {a1=0;b1=0;c1=1;d1=0;}

#define coil_d1 {a1=0;b1=0;c1=0;d1=1;}


#define coil_off {a1=0;b1=0;c1=0;d1=0;}

void delay(unsigned char t);




void main()
{
        EA=1;
        EX0=1;
        IT0=1;

        speed=1;
while(1)
{


        while(flag)
        {
                coil_off;
                delay(speed);
               
                coil_a1;
                delay(speed);               

                coil_ab1;
                delay(speed);

                coil_b1;
                delay(speed);               


                coil_bc1;
                delay(speed);

                coil_c1;
                delay(speed);               


                coil_cd1;
                delay(speed);

                coil_d1;
                delay(speed);               


                coil_da1;
                delay(speed);


        }





        while(!flag)
        {
                coil_off;
                delay(speed);

                coil_da1;
                delay(speed);               

                coil_d1;
                delay(speed);

                coil_cd1;
                delay(speed);               


                coil_c1;
                delay(speed);

                coil_bc1;
                delay(speed);               


                coil_b1;
                delay(speed);

                coil_ab1;
                delay(speed);               


                coil_a1;
                delay(speed);


        }
}
}


void delay(unsigned char t)
{
        unsigned int x,y;
        for(x=0;x<t;x++)
                for(y=0;y<123;y++);
}

void ISR_INT0(void) interrupt 0
{

if(!INT0)
   {
   delay(10);//在此處可以添加去抖動(dòng)程序,防止按鍵抖動(dòng)造成錯(cuò)誤
   if(!INT0)
   //while(!INT1);//等待按鍵釋放
     {
     flag=!flag;   
     }
   }
}
回復(fù)

使用道具 舉報(bào)

ID:107207 發(fā)表于 2016-3-4 19:42 | 顯示全部樓層
俠歌無(wú)畏 發(fā)表于 2016-3-4 19:09
這是我寫(xiě)的1相/兩相/1,2相勵(lì)磁的程序

/*

可以加我QQ1492548699嗎
回復(fù)

使用道具 舉報(bào)

ID:107207 發(fā)表于 2016-3-4 19:45 | 顯示全部樓層
俠歌無(wú)畏 發(fā)表于 2016-3-4 19:09
這是我寫(xiě)的1相/兩相/1,2相勵(lì)磁的程序

/*

我現(xiàn)在不曉得接線(xiàn) 哎。我的控制線(xiàn)該接的單片機(jī)的哪幾腳
回復(fù)

使用道具 舉報(bào)

ID:96682 發(fā)表于 2016-3-5 01:38 | 顯示全部樓層
買(mǎi)這貨時(shí)沒(méi)有說(shuō)明書(shū)之類(lèi)附件的教你如何操作?
回復(fù)

使用道具 舉報(bào)

ID:107207 發(fā)表于 2016-3-8 21:11 | 顯示全部樓層
wc86110 發(fā)表于 2016-3-5 01:38
買(mǎi)這貨時(shí)沒(méi)有說(shuō)明書(shū)之類(lèi)附件的教你如何操作?

有關(guān)鍵是我接上線(xiàn)后電機(jī)一秒估計(jì)只轉(zhuǎn)了1毫米的距離。而且電機(jī)發(fā)熱嚴(yán)重
回復(fù)

使用道具 舉報(bào)

ID:79544 發(fā)表于 2016-3-8 21:44 | 顯示全部樓層
你這個(gè)驅(qū)動(dòng)器好像還要設(shè)置吧。你這個(gè)程序不能用。
回復(fù)

使用道具 舉報(bào)

ID:296880 發(fā)表于 2018-3-25 19:27 | 顯示全部樓層
樓主整明白沒(méi),我是新手,剛接觸單片機(jī),同問(wèn)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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