开源改变世界!!

spi 可能用于无刷主轴??? #896

推推 grbl 2年前 (2023-01-23) 73次浏览

打开
valpoder 打开了这个问题 2016 年 2 月 1 日 · 10 条评论
打开

spi 可能用于无刷主轴???#896

valpoder 打开了这个问题 2016 年 2 月 1 日 · 10 条评论

注释

spi 可能用于无刷主轴??? #896

你好:

一些无刷芯片可以通过PWM信号驱动,但需要通过spi配置寄存器….
我想知道是否可以有一个SPI接口和I/O引脚。?

干杯!

spi 可能用于无刷主轴??? #896

+1 来自我,带有集成运动控制器的步进电机驱动器来自 Trinamics 也使用 SPI 接口进行高级控制

spi 可能用于无刷主轴??? #896
作者

选项 1:使用标准 spi:

这样我认为有一点 Pin 冲突:

Pin 10 CS – 限制 Y 轴 ** 可能需要
Pin 11 MOSI – 可变主轴 pwm **
Pin12 MISO – 限制 Z 轴:不是严格必要的
pin 13 SCK – 主轴方向 ***

http://www.gammon.com.au/images/Arudiuno_SPI_pins.png
https://cadduino.files.wordpress.com/2013/10/arduinogbrl.jpg

最重要的是 MOSI(引脚 11)和 SCK(13)……也许引脚 10 可以使用空闲引脚来完成。


选项 2:软 SPI 或 Bitbang

另一种解决方案是使用任何免费引脚,并使用软件 bitbang SPI …

告诉我你们的想法..
干杯

spi 可能用于无刷主轴??? #896
成员

您必须四处移动引脚并在 Arduino Uno 上找到可用的闪存空间才能执行此操作。对于这样的事情,只使用 Grbl 的 Mega 版本或移植到 ARM 会更容易。

spi 可能用于无刷主轴??? #896
作者

我认为不需要太多闪存:它只有 7 个寄存器(16 位)…
如果由 bitbang 发送,它会相当小…

我同意这些引脚……但如果由 bitbang 完成,则无需移动任何东西……可以使用 TX RX 和 A4 A5 引脚来完成……这个引脚是免费的

干杯….

spi 可能用于无刷主轴??? #896
成员

@valpoder: 你可能是对的,但我已经在尽力节省一些字节。完成后,Grbl v1.0 将没有空间容纳任何东西。事实上,有些东西可能必须禁用才能让东西适合 Arduino Uno。我希望那不会发生。

spi 可能用于无刷主轴??? #896
作者

我明白 !!感谢您的反馈……我认为在大型版本中添加此功能会很棒……如果 GRBL 可以处理这种类型的电机,那将是完美的……我将进入大型引出线

spi 可能用于无刷主轴??? #896

我可能有一个为你们解决方法的想法,它的成本仅与最便宜的 arduino 克隆版一样多。

如果你让 arduino 单独使用 GRBL 并使用第二个简单地从 GRBL 读取 PWM,然后再次输出它会怎么样。你可以使用任何你喜欢的别针,不用担心占用了多少空间。

我知道。一种破解方法,但很简单,不需要对 GRBL 或带有 GRBL 的 arduino 进行任何更改。

spi 可能用于无刷主轴??? #896
作者

就个人而言,我认为如果 grbl 不能仅运行直流电机主轴,它会感觉有些不完整……

我同意 109Jb ,它可以用便宜的 arduino 或那些小型 8 针微控制器之一来完成……无论如何驱动程序都需要一块小板……一个德国人已经做了这个……

http://www.ebay.co.uk/itm/A4960-BLDC-Device-Board-Allegro-Speed-Controller-Arduino-Shield-Raspberry-Pi-/141814056268

该板是一个 arduino 盾牌,但有一个带有嵌入式 atmega 的版本……所有代码都在那里……

我仍然认为使用免费 io 在 grbl 代码中开发小型软 spi ( bitbang) 会很有趣……如果不是,我可能会把它带到 smothieboard ……但这将是一种耻辱……grbl非常完美

spi 可能用于无刷主轴??? #896

@valpoder您应该能够使用常规的 RC ESC 来运行无刷电机,使用主轴 PWM 设置来控制它以产生通常的伺服控制波形。

spi 可能用于无刷主轴??? #896

我有类似的要求,所以我会在这里而不是在新问题中发表评论。

我想控制一个不是主轴的头,而是几个大电流离散输出。我知道为此我需要一个子板或一个从属模块。(想象一个打印机头)
它需要与运动同步,所以仍然必须以某种方式通过 grbl。我愿意(尝试)修改 grbl 来实现这一点。

我的问题是;

  1. 如果通过G代码发送头部控制命令,最适合的命令类型是什么?我应该劫持“设置主轴”吗?
  2. 如何最好地将 grbl 板连接到从属模块?如果它可以是像串行或 i2c 或 spi 这样的标准,那会更容易,因为我可以购买现成的模块,但 grbl 的 CPU 利用率可能已经很关键了?(在干扰控制系统的其余部分之前,“设置主轴”需要多少个周期?)
喜欢 (0)