找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

想用單片機控制兩個步進電機同時轉(zhuǎn)動應(yīng)該怎么實現(xiàn)?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:818393 發(fā)表于 2021-2-3 13:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
需求是讓兩個步進電機同時同向轉(zhuǎn)動
在實現(xiàn)的時候我簡單想到在循環(huán)內(nèi)寫兩個I/O口的變化情況
但是兩個步進電機都不轉(zhuǎn)了
程序如下,STC89C52RC芯片、28BYJ48減速步進電機、分別連接P0 P1口,電源充足:
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code step_table[]={0xc4,0xcc,0xc8,0xd8,0xd0,0xf0,0xe0,0xe4};
void delay(uint t){
        while(t--);
}
void main(){
        uint i,j;
        P0=0x00;
        P1=0x00;
        delay(500);
        while(1){                                  
                for(i=0;i<8;i++){
                        P0=step_table[i];
                        P1=step_table[i];       
                        delay(150);
                }
        }
}

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

使用道具 舉報

沙發(fā)
ID:693038 發(fā)表于 2021-2-3 17:54 | 只看該作者
示波器打一下時序有沒有輸出,有輸出的時序有沒有對,不過那么多路信號用邏輯分析儀好點
回復(fù)

使用道具 舉報

板凳
ID:213173 發(fā)表于 2021-2-3 19:23 | 只看該作者
兩個電機用一組IO口即可
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code Forward[]={0x33,0x66,0xcc,0x99};
uchar code Reverse[]={0x33,0x99,0xcc,0x66};

void delay(uint t)
{
        while(t--);
}

void main()
{
        uchar i,j;
        P0=0x00;
        delay(500);
        while(1)
        {
                for(i=0;i<192;i++)//正傳3圈
                {
                        P0=Forward[j];
                        j=++j%4;
                        delay(2000);
                }
                P0=0x00;
                delay(0xffff);
                delay(0xffff);
                delay(0xffff);
                delay(0xffff);
                delay(0xffff);
                delay(0xffff);
                delay(0xffff);
                delay(0xffff);
                for(i=0;i<192;i++)//反傳3圈
                {
                        P0=Reverse[j];
                        j=++j%4;
                        delay(2000);
                }
                P0=0x00;
                while(1);//結(jié)束
        }       
}
回復(fù)

使用道具 舉報

地板
ID:871393 發(fā)表于 2021-2-3 21:29 | 只看該作者
你這需求 可以并聯(lián)電機 無需修改程序
回復(fù)

使用道具 舉報

5#
ID:844772 發(fā)表于 2021-2-4 09:07 | 只看該作者
一是,你用的可是P0^1-P0^4口和P1^1-P1^4口,別插錯了,P0還要上拉;二是,step_table[]最后一個應(yīng)該是0xf4
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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