找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3035|回复: 13
收起左侧

单片机控制步进电机转的慢,是什么问题?

[复制链接]
ID:889094 发表于 2021-4-17 21:37 | 显示全部楼层 |阅读模式
我的是5线4相28BYJ-48电机,5VDC,按照例程调试了电机,正转反转程序如下:用的ULN2003A驱动的,delay函数延时大约10us

下面是问题:
1、延时函数在相位转换间再低于75的时候电机就只振动不转了,是因为时间太短不足以让电机转动起来?
2、我调到最高速度(大约)时,步进电机转一周大约在3.5秒左右,只能这么慢吗?是有什么我不知道的方法?还是需要换更贵更好的电机?
3、我调试了电机转动配合蜂鸣器来模拟图片打印,400*200的图片灰度数据,打印一行要3分钟左右,这玩意如果做什么激光打印之类的东西是不是太扯淡了?
4、为什么KEIL5和论坛里面代码复制来去,中文注释出来都是乱码?????

char motor[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};


void setmotor(unsigned long i)//顺时针转动一个周期,64周期为5.625度,64*64周期为360度一圈
{
                while(--i)
                {
                        P1=motor[i%8];
                        delay(85);
                }
}
void setmotorN(unsigned long i)//逆时针转动一个周期,64周期为5.625度,64*64周期为360度一圈
{
                while(--i)
                {
                        P1=motor[7-i%8];
                        delay(80);
                }
}


void delay(unsigned long us)
{
        while(us--);
}



回复

使用道具 举报

ID:462827 发表于 2021-4-17 21:53 | 显示全部楼层
因为28BYJ-48是一个减速步进电机,减速比为1:64,主齿轮转64圈外轴才转一圈,当然就是那么慢的了。如果你想要快的就用非减速步进电机就行了。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:814525 发表于 2021-4-17 23:05 | 显示全部楼层
先设置为简体中文,再复制过来就不会乱码了
捕获.PNG

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:889094 发表于 2021-4-17 23:21 | 显示全部楼层
张天师 发表于 2021-4-17 23:05
先设置为简体中文,再复制过来就不会乱码了

谢谢解惑,新手50天,又涨知识了
回复

使用道具 举报

ID:889094 发表于 2021-4-17 23:25 | 显示全部楼层
hantu 发表于 2021-4-17 21:53
因为28BYJ-48是一个减速步进电机,减速比为1:64,主齿轮转64圈外轴才转一圈,当然就是那么慢的了。如果你想 ...

还有一个基础性问题,5线4相电机,我看例程是4相都通电,然后断开1相或是2相,然后电机相应转动,但是这样电机待机时也发热厉害,后来我改成4相都不通电,通过对其中1相或2相通电来让电机转动,也就是上面的程序,也不知道对不对。
标准的步进电机驱动应该是什么样的?
回复

使用道具 举报

ID:58651 发表于 2021-4-17 23:27 | 显示全部楼层
步进电机是单相通电,这样子去切换角度的。你加快换项速度,它就转得快

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:889094 发表于 2021-4-18 16:20 | 显示全部楼层
574997859 发表于 2021-4-17 23:27
步进电机是单相通电,这样子去切换角度的。你加快换项速度,它就转得快

好的,谢谢,我也觉得是这个样子的。
我用的STC12C5A60S2通过ULN2003控制的电机,换相延时最小到800us左右就不动了,是不是换相太快的话电机反应速度没有那么快?里面线圈太多,感抗的原因让它不能更快吗?

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:723547 发表于 2021-4-20 15:29 | 显示全部楼层
birdzhyli 发表于 2021-4-18 16:20
好的,谢谢,我也觉得是这个样子的。
我用的STC12C5A60S2通过ULN2003控制的电机,换相延时最小到800us左 ...

不是,是ULN2003的问题,h桥芯片有开合周期
回复

使用道具 举报

ID:723547 发表于 2021-4-20 15:30 | 显示全部楼层
birdzhyli 发表于 2021-4-18 16:20
好的,谢谢,我也觉得是这个样子的。
我用的STC12C5A60S2通过ULN2003控制的电机,换相延时最小到800us左 ...

这个是h桥芯片的原因,具体是受死区影响,
回复

使用道具 举报

ID:889094 发表于 2021-4-22 19:42 | 显示全部楼层
蓝色弹珠 发表于 2021-4-20 15:29
不是,是ULN2003的问题,h桥芯片有开合周期

用的ULN2003A驱动的步进电机,里面有H桥吗?我看电路图上单片机4个管脚直接接了ULN2003的输入,2003的4个输出直接连到了电机的4条线
H桥是说的ULN2003里面的结构吗?刚才网上查了H桥的资料,没看懂,可是感觉H桥控制的电机都电机两头都有元件,而我这个学习板上是VCC直接连了步进电机的VCC,然后4相的线接了ULN2003
回复

使用道具 举报

ID:505058 发表于 2021-5-19 01:11 来自手机 | 显示全部楼层
蓝色弹珠 发表于 2021-4-20 15:29
不是,是ULN2003的问题,h桥芯片有开合周期

uln2003是h桥结构???
回复

使用道具 举报

ID:824490 发表于 2021-5-20 09:35 | 显示全部楼层
birdzhyli 发表于 2021-4-22 19:42
用的ULN2003A驱动的步进电机,里面有H桥吗?我看电路图上单片机4个管脚直接接了ULN2003的输入,2003的4个 ...

2003就是7组达林顿管,
回复

使用道具 举报

ID:294296 发表于 2021-5-20 10:30 | 显示全部楼层
5线4相28BYJ-48电机要用L297芯片搭配MOS或者L298(小功率),L297输入一个脉冲可以自动换4次相,而ULN2003是7组达林顿三极管,单片机要用4个IO口轮流换4次相才行,在一定程度上耗费单片机的资源和运行时间了。
回复

使用道具 举报

ID:57657 发表于 2021-5-20 12:44 | 显示全部楼层
28BYJ-48额定电压12V,你5V肯定转不动
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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