开源改变世界!!

无法让步进器移动 #732

推推 grbl 1年前 (2023-01-27) 116次浏览
关闭
ockray83 打开了这个问题 2019 年 9 月 13 日 · 2 条评论
关闭

无法让步进器移动#732

ockray83 打开了这个问题 2019 年 9 月 13 日 · 2 条评论

注释

无法让步进器移动 #732

无论我尝试什么,我的步进器都只会随着任何点动命令轻微抽动而不会转动。到目前为止,我已经尝试过:
三种不同的板:v3 w/UNO、v4 w/nano、eleksmana v5.2
4 种不同的 nema 17 步进电机,来自不同的供应商
多条电缆
多条 usb 电缆
多个 12v 5a 电源
多个 a4988 驱动器
每个可以想到的设置组合lasergrbl 我能想到。
每种可能的电机引出线组合

驱动器电流已设置,vmot 通电,电机线圈已识别,我尝试了从 0.8 到 1.1f 的 grbl 版本但没有成功。我没有设置归位序列,lasergrbl 可以很好地连接到我的板上,并且屏幕动画就像它在移动一样,但我得到的只是在方向改变期间保持扭矩和抽搐。

三天来,我一直在用头撞墙,我想不出还有什么可以尝试的。

无法让步进器移动 #732
所有者

将您的测试简化到基本单元。

在单个引擎上运行测试,并附加一个驱动程序。
测试从雕刻机上机械移除的发动机。

使用cnc shield v3。无微步进(所有跳线均已移除)。

如果你愿意,你可以将这个草图上传到你的 UNO,这样你就可以从测试系统中删除任何 grbl/lasergrbl/设置问题。此草图将使 Y 电机移动 100 步。
如果要测试 X 电机,请在“循环”中用 X 更改 Y。

#define EN        8

//Direction pin
#define X_DIR     5
#define Y_DIR     6
#define Z_DIR     7

//Step pin
#define X_STP     2
#define Y_STP     3
#define Z_STP     4

int steps = 100; // Step to execute

void setup()
{
	// Pin mode setup
	pinMode(X_DIR, OUTPUT); pinMode(X_STP, OUTPUT);
	pinMode(Y_DIR, OUTPUT); pinMode(Y_STP, OUTPUT);
	pinMode(Z_DIR, OUTPUT); pinMode(Z_STP, OUTPUT);
	pinMode(EN, OUTPUT);
	digitalWrite(EN, LOW);
}

void loop() 
{
	for (int i = 0; i < steps; i++) 
	{
		digitalWrite(Y_DIR, HIGH);
		digitalWrite(Y_STP, HIGH);
		delay(1);
		digitalWrite(Y_STP, LOW);
		delay(1);
	}
	delay (2000);
}

请注意,当系统通电时连接/断开电机时,a4988 驱动器非常脆弱并且容易燃烧。即使连接电机的电缆/端子发生错误接触,它们也有燃烧的危险。

无法让步进器移动 #732
作者

谢谢你,我今晚回家时会试试这个。

有趣的是,我确实让 eleksmana 板的卖家联系我说他收到了一批劣质板,他会提供换货或退款。