开源改变世界!!

Vexta 5 相步进器,带 GBRL 驱动器 #1379

推推 grbl 2年前 (2022-10-27) 238次浏览 0个评论
打开
rickysupreme 打开了这个问题 on 2 Apr 2018 · 55 条评论

注释

Vexta 5 相步进器,带 GBRL 驱动器 #1379

我有带步进驱动器的原装 vexta 步进器 5 相 0.72 度http://www.orientalmotor.com/products/pdfs/opmanuals/HM-60042E.pdf它是没有方向开关引脚的驱动器。我找到了一个基本的 arduino 草图来驱动它。我基本上只需要一个引脚的脉冲来顺时针驱动它,脉冲来驱动另一个引脚逆时针转动它。我想用 nano dlp 驱动它,所以我需要它能够解释 G 代码,因此我需要有人修改 GBRL 以将脉冲发送到我的步进驱动器的顺时针或逆时针引脚。我不知道如何修改 GBRL 或任何其他复杂的代码,如果你能提供帮助,我会捐赠。

Vexta 5 相步进器,带 GBRL 驱动器 #1379

如果您知道一点编程知识,修改起来很简单,但我认为您可以通过添加晶体管和电阻器按原样使用 grbl

Vexta 5 相步进器,带 GBRL 驱动器 #1379

 X3msnake 评论 on 3 Apr 2018

Vexta 5 相步进器,带 GBRL 驱动器 #1379

由于驱动器具有光耦合器输入,因此可能会这样做,

Vexta 5 相步进器,带 GBRL 驱动器 #1379

Vexta 5 相步进器,带 GBRL 驱动器 #1379

 X3msnake 评论 on 3 Apr 2018

Vexta 5 相步进器,带 GBRL 驱动器 #1379
Vexta 5 相步进器,带 GBRL 驱动器 #1379

你是对的,需要一个 CCW 上的二极管,因为 Arduino 可能没有足够的驱动来通过 CCW 输入上的反极性二极管驱动额外的 ~20mA

Vexta 5 相步进器,带 GBRL 驱动器 #1379
Vexta 5 相步进器,带 GBRL 驱动器 #1379

@cri-s由于驱动器中的反向二极管,反向输入在 5V 时会消耗约 20mA,这对于 arduino 输出来说有点多,而且步进极性会随着方向而改变,我认为这会导致额外的步骤

Vexta 5 相步进器,带 GBRL 驱动器 #1379
Vexta 5 相步进器,带 GBRL 驱动器 #1379

如果你认为它会起作用,你能画一个电路图吗?否则我不能完全遵循。

Vexta 5 相步进器,带 GBRL 驱动器 #1379

此外,在与 arduino 草图一起使用的设置中,我只需要驱动程序 cw 和 ccw 的两个输入引脚,其他引脚接地。

Vexta 5 相步进器,带 GBRL 驱动器 #1379

@rickysupreme你只需要一台电机?

Vexta 5 相步进器,带 GBRL 驱动器 #1379
作者

 瑞奇至尊 评论 2018 年 4 月 3 日  

Vexta 5 相步进器,带 GBRL 驱动器 #1379
Vexta 5 相步进器,带 GBRL 驱动器 #1379
作者

瑞奇至尊 评论 2018 年 4 月 3 日  

谁能帮我查一下。它确实有效,但需要知道它是否会损坏我的驱动器或导致步进精度不佳。(我十年来绘制的第一个电路图)二极管是标准的绿色 LED,每个都有一些电流通过,更多的是通过亮度指示的步骤。

Vexta 5 相步进器,带 GBRL 驱动器 #1379

Vexta 5 相步进器,带 GBRL 驱动器 #1379
Vexta 5 相步进器,带 GBRL 驱动器 #1379
Vexta 5 相步进器,带 GBRL 驱动器 #1379
作者

瑞奇至尊 评论 2018 年 4 月 3 日  

嗯,它是一个真正普通的电阻器,大约 4 毫米宽,半圆柱形状。电阻器似乎是marone,黑色,黑色,金色,金色。它是 1k 或 10k。这些都是来自假 arduino uno 入门套件的东西。即使没有电阻,轴也能以精确的毫米精度(通过尺子测量)工作。不确定是否需要电阻器,似乎没有任何温暖。

Vexta 5 相步进器,带 GBRL 驱动器 #1379
Vexta 5 相步进器,带 GBRL 驱动器 #1379

这很有趣,让我知道我应该使用什么电阻器和晶体管,您还将获得奖品。我想实现小于 10 微米的可重复性,因为我是一个理想主义者。langwadt 是第一个推荐这条赛道的获胜者。

Vexta 5 相步进器,带 GBRL 驱动器 #1379

cri-s 你能不能以某种方式简化你的解释,也许是一个图表,毕竟你仍然可以赢得奖金。你似乎知道你在说什么。

Vexta 5 相步进器,带 GBRL 驱动器 #1379

Vexta 5 相步进器,带 GBRL 驱动器 #1379

或者,如果您需要一台电机并且可以编译代码,则可以在软件中进行单行破解

Vexta 5 相步进器,带 GBRL 驱动器 #1379
Vexta 5 相步进器,带 GBRL 驱动器 #1379

单线破解?什么是黑客?我要打开什么文件?

Vexta 5 相步进器,带 GBRL 驱动器 #1379

@rickysupreme在 stepper.c 中的 398 和 399 之间添加一条这样的线,以便在移动 X 时在引脚 2 和 3 上输出步数

st.step_bits = ((st.dir_outbits & (1<<X_DIRECTION_BIT)) ? (st.step_outbits<<1):st.step_outbits)&STEP_MASK;

Vexta 5 相步进器,带 GBRL 驱动器 #1379

我会在 11 小时后回家时尝试一下。这些输出将在哪些引脚上?

Vexta 5 相步进器,带 GBRL 驱动器 #1379

step_x 和 step_y 所以引脚 2 和引脚 3

Vexta 5 相步进器,带 GBRL 驱动器 #1379

好的,我的 Gcode 只输出一个运动轴。所以这仍然有效吗?

Vexta 5 相步进器,带 GBRL 驱动器 #1379

是的,只要您只使用 X 轴,它就可以工作

Vexta 5 相步进器,带 GBRL 驱动器 #1379

抱歉,我在编译时遇到错误,它不会加载到 arduino 上。

Vexta 5 相步进器,带 GBRL 驱动器 #1379

它应该都在一条线上

错误是什么?

Vexta 5 相步进器,带 GBRL 驱动器 #1379

也许你可以在 arduino.ino 中测试它?

Vexta 5 相步进器,带 GBRL 驱动器 #1379

试试这个,我没有arduino所以我不能试试
st.step_outbits = ((st.dir_outbits & (1<<X_DIRECTION_BIT)) ? (st.step_outbits<<1):st.step_outbits)&STEP_MASK;

Vexta 5 相步进器,带 GBRL 驱动器 #1379

Brilliant 终于对它进行了测试,它似乎比我预期的半成品硬件电路工作得更好。但是一旦收到邮件,我将使用 0.001 毫米数字百分表对其进行测试,最终将能够发布结果。现在我需要弄清楚如何让这个东西做微步,因为我似乎被限制在 0.02 毫米层级上,这很好,除了轴有点贵,所以如果可以的话,我想把它推得更远。感谢您的帮助 langwadt。

Vexta 5 相步进器,带 GBRL 驱动器 #1379
Vexta 5 相步进器,带 GBRL 驱动器 #1379
作者

瑞奇至尊 评论 on 5 Apr 2018

该代码现在可以工作,提供的第一个代码没有。你将不得不问 Langwadt。您对 10 毫米螺距螺纹是正确的,但我无法更改它,因为它是集成的,它也是皮带驱动的,但比例可能是 1:1。

Vexta 5 相步进器,带 GBRL 驱动器 #1379
作者

瑞奇至尊 评论 on 5 Apr 2018

我在某处读到皮带驱动的执行器实际上比直接耦合的要好。移动 1mm 需要 50 步。

Vexta 5 相步进器,带 GBRL 驱动器 #1379
作者

瑞奇至尊 评论 on 5 Apr 2018

对于后代来说,解决这个问题的方法是

插入:

st.step_outbits = ((st.dir_outbits & (1<<X_DIRECTION_BIT)) ? (st.step_outbits<<1):st.step_outbits)&STEP_MASK;

在 stepper.c 中的第 398 行和第 399 行之间,在移动 X 时获取引脚 2 和 3 上的步数输出

Vexta 5 相步进器,带 GBRL 驱动器 #1379

我遇到了一个问题,我实际上需要将轴作为 Z 轴,因为 nano DLP 仅在其内部打印公式中使用 Z 轴。你能再次帮助朗瓦特吗?

Vexta 5 相步进器,带 GBRL 驱动器 #1379

st.step_outbits = ((st.dir_outbits & (1<<Z_DIRECTION_BIT))?(st.step_outbits>>1):st.step_outbits)&STEP_MASK;

移动 Z 时应将其踩在引脚 3 和引脚 4 上

Vexta 5 相步进器,带 GBRL 驱动器 #1379

好的,它正在工作!它没有超过两条线,但也许这只是一次糟糕的接触。逻辑占上风!

Vexta 5 相步进器,带 GBRL 驱动器 #1379

几天前刚拿到数字千分尺。在完全向上/向下运动后,它似乎能够在 90% 的时间内准确到达 0.001 毫米。定位精度没有那么精确(需要更多测试),但重复性非常好。接下来仍然想进行微步进,需要检查我所有的电源。

Vexta 5 相步进器,带 GBRL 驱动器 #1379

所以事实证明,我只需要两个引脚,它们可以在命令上输出恒定的高或低信号而没有任何脉冲,我将能够根据提供的文档在需要时将步距角减半并切断绕组。

Vexta 5 相步进器,带 GBRL 驱动器 #1379

@rickysupreme
纳米 DLP?
你正在制造一台UV打印机?结果如何?

Vexta 5 相步进器,带 GBRL 驱动器 #1379
作者

瑞奇至尊 评论 2018 年 5 月 4 日  

差不多完成了,只需要解决一些问题。
以下是我在干式测试打印周期中使用半步为 0.1 步记录的一些数据,以毫米为单位:

0.004
0.018
0.025
0.036
0.042
0.054
0.063
0.079
0.083
0.096
0.104
0.115
0.124
0.136
0.147
0.157
0.165
0.179
0.188
0.198
0.206
0.221
0.226
0.237
0.246
0.259
0.267
0.279
0.289
0.3
0.307
0.319
0.326
0.337
0.345
0.358
0.365
0.378
0.386
0.398
0.404
0.416

Vexta 5 相步进器,带 GBRL 驱动器 #1379

你好,我刚刚在 GRBL 和 VEXTA 5 Phase 驱动器之间使用了第二个 arduino。再简单不过了。我不是一个真正的电子人,但它似乎在我的设置中工作。很可能存在时间/速度问题。老实说,我很惊讶它的工作原理……
这是代码:

int IN_GRBL_DIR = 3;
int IN_GRBL_STEP = 4;
int OUT_VEXTA_CW = 5;
int OUT_VEXTA_CCW = 6;

无效设置(){
pinMode(IN_GRBL_DIR,INPUT);
pinMode(IN_GRBL_STEP,输入);
pinMode(OUT_VEXTA_CW,OUTPUT);
pinMode(OUT_VEXTA_CCW,输出);
}

无效循环(){
int step;
诠释 cw;
诠释逆时针;

步=数字读取(IN_GRBL_STEP);
if (digitalRead(IN_GRBL_DIR)==LOW) {
cw = step;
逆时针 = 0;
} 其他 {
cw = 0;
逆时针 = 步;
}
digitalWrite(OUT_VEXTA_CW,cw);
数字写入(OUT_VEXTA_CCW,逆时针);
}

Vexta 5 相步进器,带 GBRL 驱动器 #1379

你好,我刚刚在 GRBL 和 VEXTA 5 Phase 驱动器之间使用了第二个 arduino。再简单不过了。我不是一个真正的电子人,但它似乎在我的设置中工作。很可能存在时间/速度问题。老实说,我很惊讶它的工作原理……
这是代码:

int IN_GRBL_DIR = 3;
int IN_GRBL_STEP = 4;
int OUT_VEXTA_CW = 5;
int OUT_VEXTA_CCW = 6;

无效设置(){
pinMode(IN_GRBL_DIR,INPUT);
pinMode(IN_GRBL_STEP,输入);
pinMode(OUT_VEXTA_CW,OUTPUT);
pinMode(OUT_VEXTA_CCW,输出);
}

无效循环(){
int step;
诠释 cw;
诠释逆时针;

步=数字读取(IN_GRBL_STEP);
if (digitalRead(IN_GRBL_DIR)==LOW) {
cw = step;
逆时针 = 0;
} 其他 {
cw = 0;
逆时针 = 步;
}
digitalWrite(OUT_VEXTA_CW,cw);
数字写入(OUT_VEXTA_CCW,逆时针);
}

如果可以的话,你能帮我为这个方法添加一个连接图吗

Vexta 5 相步进器,带 GBRL 驱动器 #1379

rheine4ever 评论 2020 年 9 月 22 日  

是的,它是(GRBL arduino 的权力超出范围:-))。当然,每个电机都需要一个。相应地连接到 GRBL,这是 X 轴电机。或者…更改多个电机输入的转换器代码!同样,可能会错过步骤,因为这种方法从 STEP 引脚获取快照并将它们复制到另一个引脚 CW/CCW 上,这可能会导致一些不同的配置文件。但也许不是……所以不能保证。硬件解决方案可能是合适的,从逻辑上讲,SPDT 继电器应该能够完成这项工作,但对我来说,不会立即产生未知后果……有趣的主题!

Vexta 5 相步进器,带 GBRL 驱动器 #1379

Vexta 5 相步进器,带 GBRL 驱动器 #1379

我有这个我可以为此运行步进电机还是需要什么???我不知道一些引脚它是如何工作的,如果你知道请帮助我,谢谢所有的事情

Vexta 5 相步进器,带 GBRL 驱动器 #1379

Vexta 5 相步进器,带 GBRL 驱动器 #1379

您可以为此连接拍摄视频吗?我最诚挚的问候

Vexta 5 相步进器,带 GBRL 驱动器 #1379

好的,我明白了,谢谢大家? ?

Vexta 5 相步进器,带 GBRL 驱动器 #1379

雅法索菲安 评论 2020 年 9 月 23 日  

这是一个概念验证设置。这是一张照片(视频只会添加实际转动轴的电机:-))。左边的 arduino 通过 USB 连接到我运行 UniversalGcodeSender.jar 的笔记本电脑,它允许您设置 GRBL 并向其发送命令,使电机转动。我不知道你的电子板是做什么的。这是我的概念证明设置。请忽略背景项目。您应该认识上图中的项目。
Vexta 5 相步进器,带 GBRL 驱动器 #1379

我的所有连接都很好,但是步进器无法正常工作,所以我有什么问题
Vexta 5 相步进器,带 GBRL 驱动器 #1379

  • 将图片附加到我的连接
Vexta 5 相步进器,带 GBRL 驱动器 #1379

你能给我第一个 Arduino 代码作为 gr-bl
?????????

Vexta 5 相步进器,带 GBRL 驱动器 #1379

rheine4ever 评论 2020 年 9 月 27 日  

你好,当然不可能看到哪里出了问题。也许它不是第二个 CW/CCW arduino。
因此,我将从 2 相电机和驱动器开始,使用直接的 GRBL 连接 DIR/STEP 并使用 UniversalGCodeSender 发送 GCode。只有当它工作正常时,我才会添加带有 5 相 VEXTA 电机和驱动器的第二个 arduino。有点分而治之。希望这可以帮助

Vexta 5 相步进器,带 GBRL 驱动器 #1379

Para as gerações futuras, a solução para isso é

插入:

st.step_outbits = ((st.dir_outbits & (1 << X_DIRECTION_BIT))? (st.step_outbits << 1): st.step_outbits) & STEP_MASK;

entre as linhas 398 e 399 em stepper.c para obter a saída de etapas nos pinos 2 e 3 ao mover X

你好,我在 398 和 399 之间添加了这条线以使用我的 cw / ccw 驱动程序,但我无法让它工作,你能帮忙吗?

喜欢 (0)

您必须 登录 才能发表评论!