登录
首页
运动控制
运动控制
回帖
发帖
正文
主题:51单片机控制步进电机
点击:1079 回复: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
上一页
下一页
工控新闻
皮尔磁:用可持续战略塑造绿色未来
西门子关于美国解除近期对中国EDA出口限制的声明
权威发布!智能巡检机器人行业TOP10领先企业,值得收藏!
皮尔磁:工业自动化网络架构的“新宠儿”
工业大模型应用进入广泛探索阶段,多方入局进入“百家争鸣”时代
如何部署流媒体服务实现监控功能--基于米尔TI AM62x开发板
华北工控BIS-6675FT-B10:搭载飞腾D2000处理器,自主可控最佳选择!
丹佛斯庆祝传动北京研发中心成立20周年
更多新闻资讯