首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在arduino中使用accelStepper以恒速到达特定位置

在arduino中使用accelStepper以恒速到达特定位置
EN

Stack Overflow用户
提问于 2014-06-29 18:42:17
回答 1查看 10.1K关注 0票数 2

我一直在尝试做一个简单的两轴数控系统。我只是处于起步阶段,我只想查看一下accelStepper库。在constantSpeed和弹跳草图示例的帮助下,我有了一些想法,并编写了以下代码。

代码语言:javascript
复制
    #include <AccelStepper.h>
    AccelStepper stepperX(4, 4, 5, 6, 7);
    AccelStepper stepperY(4, 8, 9, 10, 11);
    unsigned int X = 800;
    unsigned int Y = 600;

    void setup(){
      stepperX.setMaxSpeed(200);
      stepperX.setSpeed(10);
      stepperY.setMaxSpeed(200);
      stepperY.setSpeed(10);
      stepperX.move(200);
      stepperY.move(200);
   }

   void loop(){
      stepperX.runSpeed();
      stepperY.runSpeed();
   }

当我上传这张草图时,马达就不运转了。但是,当我将runSpeed()改为setAcceleration()并添加setAcceleration()时,马达就会运行,但会加速运行。我不想加速。那么,有没有办法在不加速的情况下做到这一点呢?

EN

回答 1

Stack Overflow用户

发布于 2014-06-29 19:26:44

从文档( movemoveTo之间唯一的区别是前者做了一个相对的移动):

空加速步::移动(长绝对)设置目标位置。run()函数将尝试将马达从当前位置移动到最近调用该函数时设置的目标位置(每次调用最多一步)。注意: moveTo()还会重新计算下一步的速度。如果您试图使用恒速运动,则应该在调用setSpeed()之后调用moveTo()。

键行(如饼图中所示):如果您试图使用恒速运动,则应该在调用moveTo().之后调用setSpeed()。

但在那里(制作XY绘图仪,2轴数控),省去了太多的悲伤,只需使用格布勒。它处理所有的协调轴控制,gcode解析等。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24479081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档