Contact me: hankecnc@gmail.com

STM32F446RE 引脚排列变化 #28

推推 grbl 3年前 (2023-02-08) 359次浏览
关闭
Coolxer 开启了这个问题 2021 年 8 月 27 日 · 3条评论
关闭

STM32F446RE 引脚排列变化#28

Coolxer 开启了这个问题 2021 年 8 月 27 日 · 3条评论

评论

STM32F446RE 引脚排列变化 #28
酷客 评论了 2021 年 8 月 27 日  

你好,
我想开始在我的 Nucleo STM32F446RE 板上使用 GRBLHAL,但我注意到步进器引脚(启用、方向、步骤)没有靠在一起(BOARD_MORPHO_CNC、st_morpho_map.h)。

为什么会这样?我知道主轴的控制速度需要 PWM 输出,你也不能打 ant USART2 引脚(PA2,PA3),还要确保引脚是 5V 容限,但是还有其他原因和我不知道的事情吗?

可以重新分配引脚以适合我自己的吗?可以通过编辑此文件或创建一个新文件来做到这一点,并且:

  1. 选项
  • 只需编辑 st_morpho_map.h 文件
  1. 选项
  • 复制 st_morpho_map.h 文件,重命名并进行更改
  • 在 my_machine.h 文件中添加新的#define
  • 在 driver.h 文件中添加新的 #elif 以正确加载新文件
  • 添加 || (或)到 st_morpho.c 文件中的 #if 定义条件
  1. 选项
  • 复制 st_morpho_map.h 文件,重命名并进行更改
  • 只需用新文件更改(或注释)#include “st_morpho_map.h”

我的理解是否正确,或者他们必须进行任何其他更改?

STM32F446RE 引脚排列变化 #28
贡献者

我想开始在我的 Nucleo STM32F446RE 板上使用 GRBLHAL,但我注意到步进器引脚(启用、方向、步进)没有靠在一起(BOARD_MORPHO_CNC、st_morpho_map.h)。

为什么会这样?我知道主轴的控制速度需要 PWM 输出,你也不能打 ant USART2 引脚(PA2,PA3),还要确保引脚是 5V 容限,但是还有其他原因和我不知道的事情吗?

为该板选择的引脚映射背后有很多原因——外设可用性与引脚、走线长度/路由、中断分配等等。它仍然导致四层板……

可以重新分配引脚以适合我自己的吗?

只要您没有为您的更改创建 PR,您就可以自由地做任何您想做的事情。最好的方法是复制/制作一个新的地图文件并将其命名为my_machine_map.hBOARD_MY_MACHINE并通过在my_machine.h中取消注释来启用它,这将确保您的更改(my_machine.h除外)不会在更新时被覆盖.

如果您打算发布/销售您的分线板并希望包含地图文件,那么您将必须创建一个新文件,在my_machine.hdriver.h中添加条目并为更改创建 PR。请注意,这st_morpho_map.h是针对我设计的电路板,除非是为了修复,否则不会接受对其进行的更改。

STM32F446RE 引脚排列变化 #28
作者

感谢您的回复

我为什么要改?
最近我创建了自己的步进控制库,依赖于不阻止 PWM 步骤脉冲,但它只能用于简单的移动,所以我想尝试 grbl。我把所有东西都连线了,所以宁愿只重新映射引脚而不是重新布线。

为该板选择的引脚映射背后有很多原因——外设可用性与引脚、走线长度/路由、中断分配等等……

我没有考虑跟踪长度/路由和中断分配。我不知道纯 Nucleo STM32F446RE 上的走线长度是否一定有问题,因为我不是电子工程师。我不确定中断分配,因为我知道有不同的 MACROS 和 CALLBACKS 也取决于使用的引脚或引脚组,并且必须对齐。在地图文件中,我没有看到任何宏,也不知道在更改引脚后宏和回调是否也会更改。如果不是 mby,更好的选择就是重新布线。

请注意,st_morpho_map.h 用于我设计的电路板……
这是有道理的。我正在使用 GPIO 扩展器和比 DRV8825 稍微大一点的外部驱动器。

STM32F446RE 引脚排列变化 #28
贡献者

我不知道纯 Nucleo STM32F446RE 上的走线长度是否一定有问题,因为我不是电子工程师。

从电气上讲,它不太可能有问题,布线很长的走线可能是——你最终可能会得到大量的过孔和凌乱的布局……

在地图文件中,我没有看到任何宏,也不知道在更改引脚后宏和回调是否也会更改。

他们这样做,在 driver.c 中 – 并且对核心透明。STM32 MCU 中的中断处理有点奇怪,因为给定的引脚号只能为一个端口启用中断。例如,您不能对两个(或更多)引脚 0 进行中断处理。

这就说得通了。我正在使用 GPIO 扩展器和比 DRV8825 稍微大一点的外部驱动器。

仅供参考,我制作了一个虚拟驱动板作为 Poluly 型驱动器的替代品,它允许使用带有光耦合输入的外部驱动器……