我一直在尝试做一个简单的两轴数控系统。我只是处于起步阶段,我只想查看一下accelStepper库。在constantSpeed和弹跳草图示例的帮助下,我有了一些想法,并编写了以下代码。
#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()时,马达就会运行,但会加速运行。我不想加速。那么,有没有办法在不加速的情况下做到这一点呢?
发布于 2014-06-29 19:26:44
从文档( move和moveTo之间唯一的区别是前者做了一个相对的移动):
空加速步::移动(长绝对)设置目标位置。run()函数将尝试将马达从当前位置移动到最近调用该函数时设置的目标位置(每次调用最多一步)。注意: moveTo()还会重新计算下一步的速度。如果您试图使用恒速运动,则应该在调用setSpeed()之后调用moveTo()。
键行(如饼图中所示):如果您试图使用恒速运动,则应该在调用moveTo().之后调用setSpeed()。
但在那里(制作XY绘图仪,2轴数控),省去了太多的悲伤,只需使用格布勒。它处理所有的协调轴控制,gcode解析等。
https://stackoverflow.com/questions/24479081
复制相似问题