找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

51单片机精确控制步进电机(有TB6600驱动)

查看数: 29052 | 评论数: 50 | 收藏 14
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-4-9 22:22

正文摘要:

作为一个小白,我想记录一下自己的学习过程,也和大家交流学习一下。 设备:51单片机开发板、TB6600驱动器、57BYG250B步进电机(二相)、直流开关电源。直流电源给驱动器供电,单片机给驱动器输入脉冲,驱动器驱动 ...

回复

ID:686387 发表于 2023-1-27 17:09
正在学习中,感谢分享,正是需要的资料
ID:1016796 发表于 2023-1-25 15:24
开环的控制,不能说精确,只能说控制
ID:582255 发表于 2023-1-16 22:32
请问楼主ENA和DIR怎么都没有用到?还有一个疑问啊,停止是怎么操作?谢谢哈
ID:582255 发表于 2023-1-3 22:29
鬼推磨 发表于 2020-2-3 16:33
楼主用心良苦。让我们练习打代码出来。,不让自己复制
。代码我打好了:


请问你接了实物没
ID:1005267 发表于 2022-2-15 15:45
17851000590 发表于 2019-5-10 16:13
麻烦问一下那个ENA,DIR,PUL六根线怎么接的啊

分阴极接法和阳极接法,阴极接时,负端接单片机,正端接5v电压
ID:646536 发表于 2020-9-21 16:39
请问你采用的共阳极还是共阴极接法
ID:475031 发表于 2020-2-3 16:33
楼主用心良苦。让我们练习打代码出来。,不让自己复制
。代码我打好了:


#include <reg52.h>
unsigned char timerl;
sbit ENA=P2^2; //位定义ENA为P1.1, 控制步进电机的使能
sbit DIR=P2^1; //位定义DIR为P1.0口,控制步进电机转向
sbit PWM=P2^0; //位定义PwM为P1.2,用来输出PMw波


void system_Ini()
{
TMOD|= 0x11;
TH1 = 0xfe; //11.0592MHz 0. 5ms定时
TL1 = 0x33;
TR1 = 1; //启动T1定时器
IE =0x8A; //开r0,I1中断,开总中断
}


main()
{
system_Ini(); //调用子函数初始化定时器T1
while (1)
{
if (timerl>10)//原始是10
//此处10很关键,决定这一个脉冲的周期时间,此处o. 5ms*10=5ms
{
timerl=0; //输出占空比为o.7的PwM波
}
if (timerl<3)
{
PWM=0;
}
else
{
PWM=1;
}
}
}
//[ t1 (0.5ms)中断] 中断中做PWM输出1000/ (0. 02ms*250)
//--- 1000/ (0.02ms*250)=200Hz, 也就是1秒中输出200个脉冲
void T1zd (void) interrupt 3 //开定时器1中断
{
TH1 = 0xfe; //11.0592Hz,0. 5ms初始化定时器,让定时器复位继续定时
TL1 = 0x33;
timerl ++;
//计数+1
}
ID:683266 发表于 2020-1-10 11:52
资料可以分享一下么楼主
ID:411564 发表于 2019-12-16 13:57
可不可以一个信号十个脉冲,最快一秒钟40~50个信号,最慢几秒钟一个
ID:411564 发表于 2019-12-16 13:53
可不可以一个信号十个脉冲,最快一秒钟有四十个信号,最慢一秒钟一个
ID:643296 发表于 2019-11-16 18:45
本帖最后由 jjj012 于 2019-11-21 16:59 编辑

请问需要达到每分钟7000转程序应该怎么修改呢
ID:15372 发表于 2019-10-29 08:37
我也在学这个,希望弄个绕线机的排线装置。目标:绕线机转动一圈输出1个脉冲到单片机,单片机根据键盘输入的漆包线直径计算需要输出的排线脉冲数到驱动器。一直希望弄这个东东,却被单片机程序卡卡了
ID:629794 发表于 2019-10-26 15:40
请问一下以上代码就可以实现正反转了吗
ID:59423 发表于 2019-10-18 10:41
尝试下楼主的程序,
ID:610895 发表于 2019-10-8 22:15
17851000590 发表于 2019-5-14 21:56
可爱的楼主,ena.dir,pul,共阴还是共阳接线

单片机IO口输出大于20ma可以采用共阴接法,输出不能保证20ma以上就只能采用共阳接法。这样才能驱动光耦导通
ID:575976 发表于 2019-7-19 23:03
哈哈我哈哈 发表于 2019-6-28 20:19
为什么要输出占空比为0.7的PWM波呢

因为有的驱动脉宽太大,电机会一直处于负载状态
ID:575976 发表于 2019-7-19 23:01
ahjxszc 发表于 2019-5-12 22:05
电机正反转应该怎么控制呢?

加在DIR上一个反向电平
ID:575976 发表于 2019-7-19 23:00
641656606 发表于 2019-5-29 13:21
我采用的也是共阴极接法,为什么电机只响不转,同tb6600的蓝灯闪烁正常,能指导一下么谢谢

频率太快
ID:575976 发表于 2019-7-19 22:59
我用STC15的硬件PWM写带缓冲控制556驱动2000的细分空载工作在1000rpm,是快还是慢?
ID:523759 发表于 2019-7-19 12:30
谢谢分享
ID:470571 发表于 2019-7-13 20:45
请问楼主,脉冲的需要控制占空比吗?我觉得不需要吧,我只是想请问你控制占空比是为了什么,是为了改变什么呢?
ID:470571 发表于 2019-7-13 20:44
哈哈我哈哈 发表于 2019-6-25 09:55
楼主能否发下你完整的程序,能使电机正转反转的。最近也在学这方面的东西,还不太懂,很是愁人。

正反转直接该楼主代码中的DIR值即可,(比如该1或0方向就是相反的)
ID:371529 发表于 2019-6-28 20:19
为什么要输出占空比为0.7的PWM波呢
ID:371529 发表于 2019-6-25 09:55
楼主能否发下你完整的程序,能使电机正转反转的。最近也在学这方面的东西,还不太懂,很是愁人。
ID:377842 发表于 2019-6-19 17:42
同样转不了啊,到底是什么原因?
ID:522912 发表于 2019-5-29 13:21
我采用的也是共阴极接法,为什么电机只响不转,同tb6600的蓝灯闪烁正常,能指导一下么谢谢
ID:506152 发表于 2019-5-17 15:22
17851000590 发表于 2019-5-16 21:43
是不是引脚要加上拉电阻

单片机就是普通的单片机开发板,没有加上拉电阻。
ID:506152 发表于 2019-5-17 15:20
troy2 发表于 2019-5-15 08:50
请教楼主,这是完整程序吗?

如果线接的对,这个能让电机转起来。其实用PWM=~PWM; delay();这样的语句也能让电机转,不过用定时器控制的话,电机走一圈的时间相对来说更精确。
ID:531986 发表于 2019-5-16 21:43
是不是引脚要加上拉电阻
ID:506152 发表于 2019-5-16 20:20
飞云 发表于 2019-5-16 11:29
您好,我想请教下,这里输出的脉冲为何用的是占空比为0.7的PWM?可不可以是方波的?我最近也在做这个驱动, ...

0.7是随便设的,占空比为0.6什么的都没问题,主要是能给驱动器脉冲就行了
ID:506152 发表于 2019-5-16 20:18
17851000590 发表于 2019-5-14 21:56
可爱的楼主,ena.dir,pul,共阴还是共阳接线

我这个是共阴接线
ID:506093 发表于 2019-5-16 11:29
您好,我想请教下,这里输出的脉冲为何用的是占空比为0.7的PWM?可不可以是方波的?我最近也在做这个驱动,我用的是方波驱动,感觉电机的步进有误差
ID:135915 发表于 2019-5-15 08:50
请教楼主,这是完整程序吗?
ID:538517 发表于 2019-5-15 02:41
牛,学习了,感谢分享
ID:531986 发表于 2019-5-14 22:09
Jachin98 发表于 2019-5-12 14:25
共阴或者共阳连接,上面标注的正负号就是有效电平。
比如你共阳接,那PUL+,DIR+,ENA+接开发板5V接口, ...

接好了,你的程序转不起来
ID:531986 发表于 2019-5-14 21:58
Jachin98 发表于 2019-5-12 14:25
共阴或者共阳连接,上面标注的正负号就是有效电平。
比如你共阳接,那PUL+,DIR+,ENA+接开发板5V接口, ...

谢谢楼主
ID:531986 发表于 2019-5-14 21:56
可爱的楼主,ena.dir,pul,共阴还是共阳接线
ID:530889 发表于 2019-5-13 13:20
ahjxszc 发表于 2019-5-12 22:05
电机正反转应该怎么控制呢?

就TB6600DIR给个相反的电平就反转了,或者你把A+——A-——B+——B-顺序反一下就好了叭
ID:536494 发表于 2019-5-12 22:05
电机正反转应该怎么控制呢?
ID:530889 发表于 2019-5-12 14:28
感谢,最近也在用TB6600控制42步进电机,初学小白定时器还不会用,看你的感觉一下很清晰了

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

Powered by 单片机教程网

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