请教一个关于步进电机转速的问题

发布于 2022-08-29 19:11:11 字数 605 浏览 17 评论 0

请输入图片描述

大家好,小弟在一个项目中用到这个步进电机,程序是javascript写的 ,用ULN2003驱动板,树莓派控制,设置了个setTimeout不停的给4相不同的高低电平,大概这样:

gpio.write(pins[p],0,function()
{
    gpio.write(pins[(p+1)%4],1,function()
    {
        console.log(p);
        p++;
        if(p==4)
        {
            p=0
        }
        setTimeout(_f,10)
    });
});

但是这个间隔小于10左右就效果很不明显了,不知道是程序的问题还是这款步进电机的硬件参数限制的,看了一些优酷上网友做的这种步进电机的demo,速度也差不多,想请教一下专业高手是什么问题,如果程序上的可以如何改进,如果是硬件的限制就不纠结了,或者可不可以把这个四相变成两相,应该如何调整?麻烦大家了!!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

娇女薄笑 2022-09-05 19:11:11

我在公司里问了一下 @Integ

setTimeout理论上的确是没有最小值限制的。

但SOF等网站上都反映,实际上根据JS的运行环境不同而客观上有。就是说Interval值低于多少再往下调就失效了。我估计10有可能就是减小到了这个限度值以下。

这种事情不能理论分析。你应当使用逻辑分析仪直接查看你的节拍信号是否符合你的预期,在Interval减小时是否成功缩减了。

用JS这种高层手段给这种直接驱动硬件的信号似乎不是一个好主意。你也许应该考虑JS提供高层服务,C底层驱动硬件。

木緿 2022-09-05 19:11:11

首先 在去掉负载(电机)的情况下 请使用示波器看看2803/2003驱动芯片输出的波形的高电平是不是你需要的高电平

如果空载正常的话 那就是这个时间太小。 电机有惯性的。

假装不在乎 2022-09-05 19:11:11

步进电机磁场旋转速度过快,转子由于惯性失步了吧。

嘴硬脾气大 2022-09-05 19:11:11

不用,你那个驱动板不就带了4个LED嘛,你肉眼观察下LED的闪动频率跟你调节后的频率差,估计肉眼就能看出来。

阪姬 2022-09-05 19:11:11

树莓派运行的是linux操作系统,实时性不高。
要精确的定时要么使用DMA模块,要么就用树莓派+Arduino的组合。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文