开源改变世界

STM32H7的进展 #152

推推 grbl 2年前 (2023-02-08) 289次浏览
打开
Demitrius 打开了这个问题 2022 年 6 月 18 日 · 28条评论
打开

STM32H7的进展#152

Demitrius 打开了这个问题 2022 年 6 月 18 日 · 28条评论

评论

STM32H7的进展 #152

你好 Terje Io 和所有人。

与#88中相同的问题

我想使用带STM32H743VIT6 cpu的BTT主板。
STM32H7 的进展如何?
我可以帮你一些吗?

STM32H7的进展 #152
贡献者

我可以帮你一些吗?

您可以通过为STM32H7编写的驱动程序添加板图@dresco.

STM32H7的进展 #152

好的。我会在登机时尝试。大约1个月。

此外,发现该板已添加到 Marlin 固件中。
Marlin固件/Marlin@ e63d692

STM32H7的进展 #152
贡献者

你好@Demitrius

这是您订购的 BTT SKR 3 板吗?我一直在想买一个进行测试。

感谢您提供指向 Marlin 代码的链接,其中可能会有用的东西……

STM32H7的进展 #152
贡献者

有关信息,请订购带有 2209 驱动程序的 BTT SKR 3 EZ 板。将从 Marlin 代码中提取一些引脚定义,并在它到达时启动并运行。

我已经从 Marlin 代码中注意到一件事,出于某种原因,I2C EEPROM 已放在 SWD 引脚上,所以看起来这个板上没有正确的调试:(

我希望为 H743 制作我自己的电路板,但实际上将是一个(北半球)冬季项目,所以还有一段时间……

STM32H7的进展 #152
作者
德米特里乌斯 评论了 2022 年 6 月 22 日  

你好@dresco

订购了带有 EZ5160 PRO 驱动程序的 BTT SKR 3 EZ 板。
调试不好…

STM32H7的进展 #152
贡献者

我的董事会今天到了(很快)。
我将在本周抽出一些时间来创建电路板图并将其用于初始测试。

STM32H7的进展 #152

伟大的!我的还在路上

STM32H7的进展 #152

你好。董事会到了。我能为你做点什么吗?

STM32H7的进展 #152
贡献者

凉爽的。我一直在更新问题#158 – 我使用软件 UART 启动并运行了 2209 驱动程序。

我计划在 5160 突破重新入库时进行测试。在将代码移植到 H7 方面,我认为 F4 存储库是最好的起点 – 因为它具有用于 SKR 1.1、SKR 2 和 Nucleo 板的 Trinamic SPI 代码。

@terjeio我刚刚注意到 SKR 2 板驱动程序已经有 as/w SPI 实现——我以前错过了。您认为最好的方法是什么,尝试将板驱动程序中的 h/w 和 s/w SPI 实现重构为 tmc_spi.c 或类似的?

STM32H7的进展 #152
贡献者

@dresco– 重构为tmc_spi.c听起来是个好主意。如果你为 H7 做,我可以向后移植到 F4。

STM32H7的进展 #152
贡献者

@terjeio 我在这方面取得了进展 – 但 trinamic 驱动程序中的某些东西让我感到困惑……

之内on_driver_setup()driver_setup()叫做之前trinamic_drivers_setup()。这意味着 GPIO 初始化逻辑在枚举 CS 引脚之前运行,因此它们永远不会被设置为输出?

https://github.com/grblHAL/Plugins_motor/blob/f371ebcd5fd8e2edf6aa7e77146189eb1c425bde/trinamic.c#L1622-L1632

我看不出这对现有驱动程序有何作用,还是我遗漏了什么?谢谢!

STM32H7的进展 #152
贡献者

这是为 F4配置所有输出引脚的位置和方式。driver_setup()这就是你要找的吗?

STM32H7的进展 #152
贡献者

从我在这里看到的情况来看,问题是函数在执行之前 hal.enumerate_pins(true, add_cs_pin)被调用,所以 CS 输出不是要配置的吗?

在我上面发布的链接中,首先调用 HAL 驱动程序设置(配置引脚),然后调用 trinamic 驱动程序设置(添加片选引脚作为输出)。

STM32H7的进展 #152
贡献者

所以 CS 输出不需要配置?

我不确定你的意思 – 它们被配置为输出并设置为高位,driver_setup()然后在枚举期间绑定到轴。你想在配置中添加更多吗?

STM32H7的进展 #152
贡献者

我不确定你的意思

啊——我刚刚意识到我的错误。我假设必须在运行 driver_setup()之前进行枚举以配置它们,但我现在发现情况根本不是这样。

我自己被绊倒了 (a) 最初忘记将 PinGroup_Motor 处理添加到 driver_setup(),然后 (b) 忘记更改 DIGITAL_OUT 以适应 F7/H7 实现(按引脚号移动而不是直接使用它)。

说服自己它不是出于所有错误的原因而工作,道歉!;)

STM32H7的进展 #152
贡献者

到目前为止,我已经将我的工作推送到我的存储库中的一个新的tmc_spi分支。我还没有要测试的硬件,但软件和硬件 SPI 实现似乎都开始正常了。

需要注意的一件事是,在 SPI 外设初始化后,我无法更改预分频器。对配置寄存器的写入没有任何效果(如果在使用中可能被锁定?),将调查……

STM32H7的进展 #152
贡献者

对配置寄存器的写入没有任何效果(如果在使用中可能被锁定?),将调查……

我认为在最新的提交中已修复,SPI 外围设备只需要在写入寄存器之前被禁用。

STM32H7的进展 #152
贡献者

如果您有时间,您可能想尝试WebUI v3,它强调网络代码(http 和 websocket 守护进程)以及非常适合测试的 SD 卡。我已经添加了一个对 enet.c 的新 API 调用,这是必需的,您必须添加它并更新到最新的核心。

STM32H7的进展 #152
贡献者

如果你有时间,你可能想试试WebUI v3

酷,会做..

STM32H7的进展 #152
贡献者

@Demitrius如果你想测试,我刚刚将 TMC5160 支持推送到我的master分支?

我没有要在我的 SKR3 上测试的 5160 模块,但已成功验证与我的 WeAct 开发板上的TMC5160-BOB的通信。

STM32H7的进展 #152
作者
德米特里乌斯 评论了 2022 年 8 月 5 日  

@dresco好消息!

你能提供我能做的任务清单吗?
相似的:

1 – 将 TMC5160(EZ 我的情况)连接到电路板
2 – 连接 USB 电路板 – PC
3 – 我需要连接 24V 电源吗?(它还在路上)
4 – 安装 PlatformIO(或其他)env 来构建固件
5 – 将固件上传到电路板
6 – 查看日志(如何?)

STM32H7的进展 #152
贡献者

@Demitrius

从我对 5160 突破的测试来看,它确实需要在响应之前提供电机电源,所以你需要 24v 电源。

使用 PlatformIO 构建和编程可能最容易(STMCubeIDE 需要另一个工具用于 DFU 上传),或者如果更容易的话,我可以提供一个二进制文件进行测试。

但是请注意,目前 PlatformIO 构建存在一些奇怪的问题——例如我在 STMCubeIDE 构建中看不到的 SD 卡访问问题。(我还没有花太多精力调查这个,因为他们的 H7 库无论如何都已经过时了 – 所以我无法进行任何 PlatformIO 以太网构建,并且正在等待它首先被更新)..

STM32H7的进展 #152
贡献者

STMCubeIDE 需要另一个工具来进行 DFU 上传

如果启用应该可用的二进制输出?
STM32H7的进展 #152

STM32H7的进展 #152
贡献者

如果启用应该可用的二进制输出?

是的,我在我的“外部工具”菜单中添加了一个条目来调用命令行 DFU 上传器,这似乎工作得很好。(顺便说一下,ST32CubeProgrammer CLI 也接受 .elf 文件用于 DFU 上传,但我希望大多数人会使用 dfu-util 之类的东西来代替)。

我认为我在 PlatformIO 构建中看到的问题也已解决。我最终可能会尝试设置一个 GitHub 操作来自动构建 PlatformIO 固件。

STM32H7的进展 #152
贡献者

我最终可能会尝试设置一个 GitHub 操作来自动构建 PlatformIO 固件。

事实证明这比我预期的要容易 – 现在在每次推送到 master 时自动构建,并且生成的固件文件在每次运行的工件中存档。

目前正在构建以下标准 3 轴配置;

  • BTT SKR 3,支持 SDCard、USB 串口和 TMC 2209 驱动程序。
  • BTT SKR 3,支持 SDCard、USB 串口和 TMC 5160 驱动程序。
  • 带有 SDCard 和 USB 串口的 WeAct MiniSTM32H743。
  • 支持以太网和 SDCard 的 Nucleo H743ZI(WebUI 需要 SDCard 并且需要分线板)
STM32H7的进展 #152

@dresco您是否找到任何特定文档来设置自动构建?这是我想在 F4xx 驱动程序上做的事情。

STM32H7的进展 #152
贡献者

@dresco您是否找到任何特定文档来设置自动构建?这是我想在 F4xx 驱动程序上做的事情。

@andrewmarles仅来自 platformio文档,并在线查看其他示例。我的配置在这里,我认为它应该在 F4 存储库中按原样工作。工作流文件只需要进入 main/master 分支中的 .github/workflows 文件夹。

我正在为每次运行将任何生成的固件文件存档到工件中 – 但是这些文件仅从构建开始存储 90 天。

下一步可能是创建一个更永久的发布操作。也许根据hal.driver_version字符串创建标签和发布?但这变得越来越雄心勃勃,而且我以前也没有尝试过……

STM32H7的进展 #152

@dresco早期我们用STM32H7成功测试了TMC2209和5160驱动。你会将更改合并到 master 分支吗?

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

没有分支机构或拉取请求

4人参加
STM32H7的进展 #152STM32H7的进展 #152STM32H7的进展 #152STM32H7的进展 #152

喜欢 (0)