找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机控制的步进电机只抖不转是啥原因?

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

正文摘要:

是电路连接出错?还是程序有毛病呢?程序如下 #include <reg52.h>#define uint unsigned int#define uchar unsigned charuchar code FFW[]={    0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; ...

回复

ID:564631 发表于 2019-6-17 15:29
相位变换的时间太短了,因为电机属于惰性器件,不能马上响应你的指令,需要延迟时间
ID:563136 发表于 2019-6-15 17:28
语句执行也需要时间,适当增加延时时间试试
ID:552614 发表于 2019-6-15 14:26
可能是延时时间太短了。还没来的及转就跳到下一条指令去了
ID:360884 发表于 2019-6-15 10:42
驱动电流够不够
ID:517466 发表于 2019-6-15 00:58
如果步进的时序没有问题,你就要考虑是不是相位变化的时间间隔太快了,马达还没来得及不进一步呢,下一个相位脉冲就过来了. 你在j循环中执行P1 = FFW[j];,增大P1 = FFW[j]之间的时间间隔,你现在的代码,如果没有按键按下,循环周期是DelayMS(50);,是不是太短了?
ID:10947 发表于 2019-6-14 12:45
有没有虚拟示波器,用示波器测量一下P1.0--P1.3,看看时序是否正确

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

Powered by 单片机教程网

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