找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1679|回复: 6
收起左侧

求一个51单片机TB6600驱动42步进电机的程序,我写的程序电机只能抖动,转不起来

[复制链接]
ID:917021 发表于 2021-9-21 22:19 | 显示全部楼层 |阅读模式
各位大佬,需要一个让电机转动的程序,我写的程序电机只能抖动,转不起来
回复

使用道具 举报

ID:7821 发表于 2021-12-23 06:34 | 显示全部楼层
1、频率高了
2、电机线接错了
回复

使用道具 举报

ID:883242 发表于 2021-12-24 14:51 | 显示全部楼层
用示波器测试单片机送给TB6600的信号,如果没问题,那么测TB6600给步进电机的电压信号。
回复

使用道具 举报

ID:139866 发表于 2021-12-24 16:37 | 显示全部楼层
这就跟尿尿一样,人家尿的正常,搁你这里就抖啊抖的,肯定是自身出了问题,你把别人的换过来就有用吗
回复

使用道具 举报

ID:1005267 发表于 2022-2-15 18:26 | 显示全部楼层
要么是细分大了,要么是频率高了
回复

使用道具 举报

ID:824490 发表于 2022-2-15 22:16 | 显示全部楼层
时序错了才会斗动!初始步速快了(启动时丢步)只会啸叫。步进电机要想一开始就高速是不可能的,只能在有限的范围内缓慢加速才行,但最高速也很难超过3K转/分钟,你看看你的代码,再算算你的步速,就知道有没有问题了!

你这个问题,建议着重查一下时序、供电~
回复

使用道具 举报

ID:824490 发表于 2022-2-15 22:19 | 显示全部楼层
//2相4线时序码表,从左而右正转,从右而左反转
unsigned char code motor_2p4l[]={0x01,0x05,0x04,0x06,0x02,0x0a,0x08,0x09};//低4位
sbit a1  =  P3^2; //A+
sbit a2  =  P3^3; //A-
sbit b1  =  P5^5; //B+
sbit b2  =  P5^4; //B-;

//8拍动作:
    for (i=0;i<8;i++)
     {
       if (dir) mdata=motor_2p4l[i];
           else     mdata=motor_2p4l[7-i];
            a1=mdata & 0x01;
            a2=mdata & 0x02;
            b1=mdata & 0x04;
            b2=mdata & 0x08;
            delay_step(delay);
       
      }
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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