登录
首页
运动控制
运动控制
回帖
发帖
正文
主题:51单片机控制步进电机
点击:1067 回复:10
楼主
编辑
引用
管理
Ud52855
大家好
我想问一下给步进电机发固定的脉冲怎么编程啊
比如 我想发1000个脉冲然后停下来 该怎么编程
20-11-26 17:11
1楼
编辑
引用
管理
pqsh
直接发就是了。
步进自己带驱动不?
要改变速率不?
20-11-26 22:09
2楼
编辑
引用
管理
1056128144
应是新人。(以下只合适学了20天内新人)
if(k<1000){
P1^1=1; //假定p1.1输出,最好定义为推挽输出。
Delay(M); //请从你的书抄来。
P1^1=0;
Delay(N); //M,N一样也可,步进驱动对占空比没什么要求。
k++;
}
20-11-27 09:06
3楼
编辑
引用
管理
Ud52855
带驱动 最好改变速率 不知道怎么编程
我可以用定时器 一定的频率发脉冲
改变速率 发固定脉冲不会
20-11-27 14:32
4楼
编辑
引用
管理
Ud52855
我试过这个样子
步进电机不停 还是一直转
我设置的驱动细分是800脉冲一圈
1000个脉冲就转一圈多
可却一直转 也不知道哪里出了问题
20-11-27 14:46
5楼
编辑
引用
管理
Ud52855
#include
sbit shudu=P1^4;
sbit ENA=P1^5;
void Delay(unsigned char t)
{
unsigned char a,d;
for(a=t;a>0;a--)
for(d=100;d>0;d--);
}
void main()
{
unsigned int k=0;
if(k<100)
{
shudu=1;
Delay(10);
shudu=0;
Delay(10);
k++;
}
}
20-11-27 14:47
6楼
编辑
引用
管理
578313419
用STM32吧,自带PWM,或者买带有PWM的51。你这样写的话在执行脉冲发送的过程中没法跑其他程序了。也就是说你步进动起来,其他逻辑没法执行
20-11-27 15:33
7楼
编辑
引用
管理
Ud52855
对啊 就是这样
我也想着换单片机
20-11-27 15:55
8楼
编辑
引用
管理
1056128144
引用
Ud52855
在 2020/11/27 14:47:44 发言
【内容省略】
提示:K.另外看看你的书的程序结构。都告诉你就不好玩了。
改用更高档的片子你更难搞定。
89系列入门是有道理的。
20-11-27 17:03
9楼
编辑
引用
管理
pqsh
你们的程序能执行吗?
楼主,自己用环境调试一下可好?
20-11-27 20:52
上一页
下一页
工控新闻
速速“码”住!2025EeIE智博会观众预登记&组团攻略请查收→
芯科科技Tech Talks技术培训重磅回归: 赋能物联网创新,共筑智能互联未来
施耐德电气:以联合仿真打造智能化设计与工程,加速氨工厂能源转型
倍福EtherCAT 技术日(沈阳)
【下载有礼]福禄克“工业指南针”来袭! 畅行多个工业领域
强强联合!库卡机器人与合肥联通达成战略合作
童趣“粽”享 欢乐六一 | 图尔克福利派送
佳成科技与汇川技术战略签约,为线缆装备注入数智新活力
更多新闻资讯