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

QQ登錄

只需一步,快速開始

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

步進(jìn)電機(jī)的加減速怎樣編程,有教程嘛 求幫助

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:393067 發(fā)表于 2018-9-3 16:48 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
步進(jìn)電機(jī)的加減速怎樣編程,有教程嘛
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:393067 發(fā)表于 2018-9-3 16:48 | 只看該作者
自己頂
回復(fù)

使用道具 舉報(bào)

板凳
ID:303383 發(fā)表于 2018-9-3 17:43 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
回復(fù)

使用道具 舉報(bào)

地板
ID:97554 發(fā)表于 2018-9-3 18:06 | 只看該作者
普中開發(fā)板的步進(jìn)電機(jī)調(diào)速例程,供參考

/*******************************************************************************
* 實(shí) 驗(yàn) 名                 : 步進(jìn)電機(jī)實(shí)驗(yàn)
* 使用的IO             : 電機(jī)用P1口,鍵盤使用P3.0、P3.1、P3.2、P3.3
* 實(shí)驗(yàn)效果       : 按下K1鍵,順時(shí)針轉(zhuǎn),按下K2鍵,逆時(shí)針轉(zhuǎn),按下K3鍵,低速,
*按下K4鍵,高速。
* 注    意                 :由于P3.2口跟紅外線共用,所以做按鍵實(shí)驗(yàn)時(shí)為了不讓紅外線影響實(shí)驗(yàn)
*效果,最好把紅外線先取下來(lái)。
*******************************************************************************/
#include "reg52.h"

//電機(jī)IO
#define GPIO_MOTOR P1
//sbit F1 = P1^0;
//sbit F2 = P1^1;
//sbit F3 = P1^2;
//sbit F4 = P1^3;
//按鍵IO
sbit K1=P2^0;
sbit K2=P2^1;
sbit K3=P2^2;
sbit K4=P2^3;

unsigned char code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9}; //反轉(zhuǎn)順序
unsigned char code FFZ[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1}; //正轉(zhuǎn)順序

unsigned char Direction,Speed;
void Delay(unsigned int t);
void  Motor();

/*******************************************************************************
* 函 數(shù) 名       : main
* 函數(shù)功能                 : 主函數(shù)
* 輸    入       : 無(wú)
* 輸    出       : 無(wú)
*******************************************************************************/

void main(void)
{
        unsigned char i;
        Speed=30;
  while(1)
        {
                if(K1==0)                //檢測(cè)按鍵K1是否按下
                {
                        Delay(1);        //消除抖動(dòng)
                        if(K1==0)
                        {
                                Direction=1;
                        }
                        while((i<200)&&(K1==0))         //檢測(cè)按鍵是否松開
                        {
                                Delay(1);
                                i++;
                        }
                        i=0;
                }
                if(K2==0)                //檢測(cè)按鍵K1是否按下
                {
                        Delay(1);        //消除抖動(dòng)
                        if(K2==0)
                        {
                                Direction=2;
                        }
                        while((i<200)&&(K2==0))         //檢測(cè)按鍵是否松開
                        {
                                Delay(1);
                                i++;
                        }
                        i=0;
                }                       
                if(K3==0)                //檢測(cè)按鍵K1是否按下
                {
                        Delay(1);        //消除抖動(dòng)
                        if(K3==0)
                        {
                                Speed=13;
                        }
                        while((i<200)&&(K3==0))         //檢測(cè)按鍵是否松開
                        {
                                Delay(1);
                                i++;
                        }
                        i=0;
                }
                if(K4==0)                //檢測(cè)按鍵K1是否按下
                {
                        Delay(1);        //消除抖動(dòng)
                        if(K4==0)
                        {
                                Speed=40;
                        }
                        while((i<200)&&(K4==0))         //檢測(cè)按鍵是否松開
                        {
                                Delay(1);
                                i++;
                        }
                        i=0;
                }               
                Motor();
        }
}
/*******************************************************************************
* 函 數(shù) 名         : Motor
* 函數(shù)功能                   : 電機(jī)旋轉(zhuǎn)函數(shù)
* 輸    入         : 無(wú)
* 輸    出         : 無(wú)
*******************************************************************************/

void  Motor()
{
        unsigned char i;
        for(i=0;i<8;i++)
        {
                if(Direction==1)
                        GPIO_MOTOR = FFW[i]&0x1f;  //取數(shù)據(jù)
                if(Direction==2)
                        GPIO_MOTOR = FFZ[i]&0x1f;
                Delay(Speed);        //調(diào)節(jié)轉(zhuǎn)速       
        }                         
}
/*******************************************************************************
* 函 數(shù) 名         : Delay
* 函數(shù)功能                   : 延時(shí)
* 輸    入         : t
* 輸    出         : 無(wú)
*******************************************************************************/
void Delay(unsigned int t)
{                           
        unsigned int k;
        while(t--)
        {
                for(k=0; k<80; k++)
                { }
        }
}



回復(fù)

使用道具 舉報(bào)

5#
ID:97554 發(fā)表于 2018-9-3 18:11 | 只看該作者
鏈接: https://pan.baidu.com/s/1xK_XwHzW04QiTDmP4ReH6w 密碼: rkjf

關(guān)于步進(jìn)電機(jī)驅(qū)動(dòng)與蜂鳴器的視頻教程
回復(fù)

使用道具 舉報(bào)

6#
ID:97554 發(fā)表于 2018-9-3 18:12 | 只看該作者
鏈接: https://pan.baidu.com/s/1xK_XwHzW04QiTDmP4ReH6w 密碼: rkjf
再上一個(gè)教程,希望能幫得到你
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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