注释
我已经开始将 GRBL 移植到 Arduino Due 和 Arduino IDE。 我很抱歉地说,但我现在要从头开始,不使用 arduino IDE。 不要误会我的意思,IDE 在某些情况下很棒,它会进行大量错误检查(无论您是否愿意) 我正在实施 CMSIS ( http://cmsis.arm.com ),所以它应该可以在大多数基于 arm 的板上使用。 代码完成后,我将不得不找到一种用户友好的上传方式。 |
@bobalony1:我还没有使用过 Teensy 的乐趣,但它似乎非常有能力并且得到了很好的支持。我认为丢失的 EEPROM 问题不是问题。您可以购买大约 1-2 美元的 EEPROM 芯片,这些芯片可以连接到 Arduino Due 的某些引脚。或者可以有一个带有 GUI 的握手协议,要求在任何事情开始之前上传设置。 出于几乎相同的原因,Grbl 不使用 Arduino IDE 而是使用它自己的所有代码(除了 Atmel 的 EEPROM 源代码)@EliteEng正在为 ARM 做。IDE 源代码虽然很棒,但非常缓慢且效率低下。它提供了一个很好的起点,但不比那个 IMO 多多少。 @EliteEng: 我很好奇你的 ARM 端口是怎么回事。即使它还没有完成,你能创建一个 Github 存储库并打开你的代码供人们查看吗?通过推送了解事情的进展总是有价值的,所以如果人们遇到类似的问题,就会有记录的历史记录来比较事情。 |
我刚刚将 grbl 移植到 teensy 3.0 – 事实上,teensy 3.x 是非常棒的目标硬件,而且 K20 系列看起来非常可扩展。要移植的一件重要的事情是构建系统。我目前使用的是官方 Teensy 3.x 环境的主要精简版(链接描述文件、寄存器定义、初始化代码和 USB 堆栈),它可以正常工作,但在一个奇怪的许可下提供。 我只是开源了端口。一切都是超级阿尔法,我所做的任何更改都没有特别详细的记录。至少,这证明 Grbl 在 ARM 上运行得很好,并且所需的大部分修改要么微不足道,要么实际上简化了代码库。 |
一年前,我构建了带有 5″ TFT LCD 显示屏(800×480+触摸屏)和 SD 卡支持(SPI 模式)的 STM32F103 (CortexM3) 步进控制器。固件的 CNC 部分没有规划,加速不像 grbl 项目那样强大。 |
@bronek999: 棒极了!我很高兴这是一项简单的任务,因为我们一直在尝试编写代码以使其可移植。听起来我们有。您可以发布您的代码以供其他人查看和使用吗?我认为这对我们以后转向 ARM 时会非常有帮助。 |
我/我是新手 我怎样才能发布它? Dňa 2014 年 2 月 27 日星期四 16:07:02 +0100 Sonny Jeon notifications@github.com
小号pozdravom Branislav Drengubiak |
@bronek999:如果您有 Mac 或 Windows,请下载 Github 程序并设置您自己的存储库。它相当简单,Github 的帮助页面会引导您完成整个过程。你几乎已经完成一半了,因为你有一个 Github 帐户。 |
我通过 Modbus 命令(Start、Stop、Left、Right、SetRPM)实现了主轴转速控制,但我不知道如何解决紧急停止。我认为 bas 方式是带有减速和停止功能的中断控制引脚。并提出问题“中止还是继续?”。 我该怎么做?引脚更改中断有效(中断优先级低于 grbl planner 中断),gui 问题也有效:) 但我不知道如何确保(不失步)停止或暂停 grbl 计划 PS:我的代码是针对 Keil ARM 的,gui 是我的小部件(按钮、标签、触摸)代码和带有 ADS7843 的 SSD1963 LCD 驱动程序。SD卡连接SPI模式ChansFATfs。现在我在模拟操纵杆上工作。 |
Atmel SAM4 是否等同于 Teensy 3.1 cpu? |
@matthewSorensen您是否考虑过使用 Atmel Studio IDE?使用非常简单且非常高效。支持所有Atmel芯片,包括ARM |
@langwadt,谢谢。这看起来很有用。 @bronek999感谢您分享代码。自上次以来有任何进展吗?! 我想知道如何将 GRBL 移植到 M4,这应该可以节省一些时间。STM32F4Discovery 有一个板载 QVGA 触摸屏,但它不是 ardiuno 引脚布局,因此需要一些原型、引脚适配器板现在,如果我可以将所有这些线程整合在一起,它应该会提供一个便宜、超级强大的 CNC 解决方案。 一旦 GRBL 在 M4 上,一个全新的可能性世界就会打开。 |
@bronek999指向包含源代码的 .zip 文件的链接已损坏。404 错误。 很棒的工作伙计们! |
你好 0.8 版适用于我的开发板(STM32F103+5 英寸 LCD+SD 卡)。 目前我正在移植 TinyG2。它是基于 Arduino Due(AT91SAM3S8E 在 18.03.2015 15:26,J-Dunn 写道:
|
嘿,我们肯定在同一条路上。我正在考虑移植 TinyG2,但当我在这里看到这个线程时,我认为 GRBL 可能是获得一些硬件旋转的良好开端。 我有点担心 TinyG 代码的复杂性。我可以想象调试是一场噩梦。 移植 v0.9 是否存在重大问题,或者由于所有更改,它太像从头开始了? Tiny 板没有足够的驱动电流来满足我的需要,所以我一直在四处寻找替代步进板。这就是为什么我很高兴看到@langwadt 提供的链接。这些 ST 板在价格上具有相当大的优势。 现在让在 STM32 M4 上运行的 TinyG2 代码连接到其中一些电路板将非常符合要求。 |
我认为您会发现 TinyG 代码非常易于使用。它组织得很好,评论也很好。请看一下。让我们在这里玩得开心。 |
我的问题是(现在仍然是)自适应多轴步进平滑 (AMASS)。 现在我发现它支持安全门开关(v0.9i)….其中一个我正在寻找…… TinyG2 是 arduino 风格的代码。我不喜欢它。我的方法是仅修改 main.cpp – 添加 FatFS 对 SD 卡的支持(现在可以使用)并添加具有触摸支持的 LCD…它需要最少的 TinyG2 代码更改(用于下一个版本支持) |
@bronek999:您可以通过 config.h 定义禁用 AMASS,stepper.c 代码中的 ifdef 应该告诉您可以删除什么。这应该有助于简化移植。至于描述 AMASS 是如何工作的,我一直想写一些关于它的东西,但它不仅仅是一个问题帖子。 |
“TinyG2 是 arduino 风格的代码。我不喜欢它。”这也是我的印象。这就是为什么我认为它看起来调试起来可能是一场噩梦的原因之一。 另一个原因是它看起来像一些漂亮的切肉刀编码,但一点也不容易阅读。抱歉,Aldan,这不是善意的表现。我确实花了很多时间通读它,发现它非常不透明,变量和函数的命名完全令人困惑,无法记住。(清除变量名不需要内存,每次读取都清除)。 再一次,不要给我留下我在破坏 TinyG 的印象,它实际上在技术上看起来非常令人印象深刻,但我的感觉是我会花更多的时间去理解它,达到我可以维护/调试它的水平,而不是我写的我自己的代码。 这种情况经常发生,而且是一种尴尬的权衡。 现在我确定如果我只是购买一块板子并使用它,它是一个非常好的产品。脱帽致敬!;) |
chamnit 所做的吸引人之处在于,他似乎已经抛弃了糟糕的 Arduino 库,并编写了一些简洁明了的东西。 |
@J-Dunn– 感谢您的反馈 – 风格是个人问题。 澄清一点——代码中没有 Arduino 库(从来没有)。C++ 代码编写在硬件抽象层 (Motate) 之上,可在不牺牲性能的情况下实现高度的平台可移植性。 |
也许,这就是他们说“Arduino 风格的代码”时的意思 |
很公平。Motate 的基础是 C++——上层是相当直接的 C 代码 |
此外,在 S 曲线方面,我现在正在做同样的事情,但并不明显。现在,我知道我的 [数学-] 智力水平并不是特别高,但即便如此,为了获得可以读取移动命令和输出脉冲的适当的端到端管道——使用 S – 中间的曲线 – 远非微不足道。 |
的确。这是一口比较深的井。 |
我再次复制了所需的文件… 我有问题 – uint32_t cycles = ceil( (TICKS_PER_MICROSECOND_1000000_60)*inv_rate ); |
此代码不可移植。 最好这样做: 因为之后不使用inv_rate,你可以这样做,只需添加 #endif 2015-03-19 10:26 GMT+01:00,bronek999 notifications@github.com:
|
我知道迁移到新硬件的想法已经被广泛讨论过。主要是由于 20mhz 的限制。但也像 Due 缺少 eeprom 这样的问题一直阻碍着新硬件的发展。
我的建议类似于 Teensy 3.1(开发人员也在研究 ++ 模型以突破底部焊接安装垫,所以希望很快就会出现)
sparkfun
3.3v 电源
32 位 ARM Cortex-M4 72 MHz CPU(M4 = DSP 扩展)(可超频至 96mhz)
256K 闪存、64K RAM、2K EEPROM
21 高分辨率模拟输入(13 位可用, 16 位硬件)
34 个数字 I/O 引脚(数字输入 5V 容差)
12 个 PWM 输出
7 个用于间隔/延迟的定时器,与 PWM 分开
USB 具有专用 DMA 内存传输
3 个 UART(串行端口)
SPI、I2C、I2S、CAN 总线, IR 调制器
I2S(用于高质量音频接口)
实时时钟(带用户添加的 32.768 晶体和电池)
4 个通用 DMA 通道(与 USB 分开)
触摸传感器输入
它使用 arduino IDE 和所有库。如果我没记错的话,我看到有人正在制作 GRBL 草图。所以这可能是将两者放在一起的一个很好的简单方法。
价格明智它只有 20 美元
开发页面在这里
http://www.pjrc.com/teensy/teensy31.html
一个缺点是它不是开源的
说实话,我对硬件的了解还不够多,无法根据 GRBL 的需求正确评估它,但我想我已经把它放在这里给你们了。