找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2424|回复: 4
打印 上一主题 下一主题
收起左侧

想用单片机控制两个步进电机同时转动应该怎么实现?

[复制链接]
跳转到指定楼层
楼主
ID:818393 发表于 2021-2-3 13:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
需求是让两个步进电机同时同向转动
在实现的时候我简单想到在循环内写两个I/O口的变化情况
但是两个步进电机都不转了
程序如下,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 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:693038 发表于 2021-2-3 17:54 | 只看该作者
示波器打一下时序有没有输出,有输出的时序有没有对,不过那么多路信号用逻辑分析仪好点
回复

使用道具 举报

板凳
ID:213173 发表于 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);//结束
        }       
}
回复

使用道具 举报

地板
ID:871393 发表于 2021-2-3 21:29 | 只看该作者
你这需求 可以并联电机 无需修改程序
回复

使用道具 举报

5#
ID:844772 发表于 2021-2-4 09:07 | 只看该作者
一是,你用的可是P0^1-P0^4口和P1^1-P1^4口,别插错了,P0还要上拉;二是,step_table[]最后一个应该是0xf4
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表