开源改变世界!!

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

推推 grbl 2年前 (2022-10-23) 805次浏览 0个评论
关闭
奥利维尔OT打开了这个问题 on 26 Nov 2021· 50 条评论
关闭

X 和 Y 双轴以及 SKR PRO 1.2 上的自动平方#46

olivierOT打开了这个问题 on 26 Nov 2021· 50 条评论

注释

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

你好,

我有一个在 SKR pro 1.2 上运行的 MPCN,电机在 UART 中运行在 5 个 TMC2209 上。CNC 使用安装在其上的 Neje PWM 二极管激光器

我的机器在 X 和 Y 上有双轴,分别使用 E0 和 E1,并且在 X 上有 2 个终点挡块,在 Y 上有 2 个用于自动归位。

我目前正在使用 Marlin 2,但我想迁移到 grblHAL。
问题是我完全迷路了,我不知道从哪里开始在配置文件中进行相应的设置,然后再去编译。

有好心人来帮我吗?

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方
贡献者

特热约 评论 on 26 Nov 2021

驱动配置在my_machine.h中,SKR1.2 可以使用与 SKR 1.1 相同的映射文件吗?

目前该板不支持 Trinamic 驱动程序,但代码可用于 SKR 2.0 板特定代码中的软 UART。如果您稍等一下,我会将其添加到 SKR 1.1 并进行所需的更改。请注意,我无法对此进行测试,因此我不能保证它会起作用。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

你好,谢谢你的回复。
理论上是的,SKR pro 1.2 具有与 1.1 相同的规格和引脚排列。

我查看了 my_machine.h 但我没有发现任何关于双轴 X->X/反转 E0 和 Y->Y/反转 E1 的信息。

我可以等待!我也很乐意对其进行测试并向您提供反馈。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方
贡献者

特热约 评论 on 26 Nov 2021

我查看了 my_machine.h 但我没有发现任何关于双轴 X->X/反转 E0 和 Y->Y/反转 E1 的信息。

这里

最近增加了 8 美元,用于通过设置而不是通过交换电机线来反转第二个电机。

我也很乐意对其进行测试并向您提供反馈。

听起来不错。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方
贡献者

特热约 评论 on 29 Nov 2021

现已推出新版本。如果你想测试,从没有联动电机开始。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

谢谢,我试图构建它,但我有错误:

`

正在编译 .pio/build/btt_skr_pro_1_1/src/diskio.o 正在
编译 .pio/build/btt_skr_pro_1_1/src/driver.o
Src/btt_skr_1.1.c:在函数“MX_TIM7_Init”中:
Src/btt_skr_1.1。 c:575:15: 错误: ‘TIM_Base_InitTypeDef {aka struct }’ 没有名为 ‘AutoReloadPreload’
htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE 的成员;
^
正在编译 .pio/build/btt_skr_pro_1_1/src/flash.o 正在
编译 .pio/build/btt_skr_pro_1_1/src/i2c.o
Src/btt_skr_1.1.c:575:36: 错误: ‘TIM_AUTORELOAD_PRELOAD_ENABLE’ 未声明(在此首次使用功能); 你的意思是“TIM_MASTEERSLAVEMODE_ENABLE”吗?
htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TIM_MASTERSLAVEMODE_ENABLE Src/btt_skr_1.1.c:575:36:注意:对于出现在*** [.pio/build/btt_skr_pro_1_1/src/btt_skr_1.1.o]
中的每个函数,每个未声明的标识符仅报告一次错误 1 ​​= ==================================================== =================================== [失败] 耗时 7.16 秒 ========= ==================================================== ============================

`

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

它使用 STM32CubeIDE 1.5.1 为我编译,因此这些错误来自 pio 框架。我没有安装它,所以除了安装它并学习如何配置它之外不知道从哪里开始。@dresco你知道可能是什么原因吗?

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

我正在使用我的个人 github 帐户。

它使用 STM32CubeIDE 1.5.1 为我编译

谢谢我已经使用STM32CubeIDE成功构建了它,我今晚会找时间刷板。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

@dresco你知道可能是什么原因吗?

在这里构建还可以,我刚刚进行了一个新的克隆并将以下测试环境添加到 platformio.ini (只需将 2209 支持和自动平方添加到原始 skr_pro_1_1 条目)..

platformio 运行 –environment btt_skr_pro_1_1_buildtest

[env:btt_skr_pro_1_1_buildtest]
# Untested and might not boot.  Please report issues at:
# https://github.com/grblHAL/STM32F4xx/issues
board = genericSTM32F407VGT6
board_build.ldscript = STM32F407VGTX_FLASH.ld
build_flags = ${common.build_flags}
  # See Inc/my_machine.h for options
  -D BOARD_BTT_SKR_PRO_1_1=
  # 8MHz crystal
  -D HSE_VALUE=25000000
  # Boot loader offset (32K)
  -D VECT_TAB_OFFSET=0x8000
  # TMC2209 stepper drivers
  -D TRINAMIC_ENABLE=2209
  # Motor ganging & auto-squaring
  -D X_GANGED=1
  -D X_AUTO_SQUARE=1
  -D Y_GANGED=1
  -D Y_AUTO_SQUARE=1
lib_deps = ${common.lib_deps}
  eeprom
  trinamic
lib_extra_dirs = ${common.lib_extra_dirs}
# Upload is not supported for this board since BOOT0 is tied to GND.
# With the default boot loader, you must deploy new firmware by copying
# .pio/build/<env name>/firmware.bin (produced by `pio run`) to the SD card.
SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

奥利茹夫 评论 2021 年 11 月 30 日  

嗯,我再次克隆了 STM32F4xx 存储库,在 platformio.ini 中添加了您的 btt_skr_pro_1_1_buildtest 部分 env 并尝试构建它,但仍然有错误:

MacBook-Pro-de-Olivier:STM32F4xx $ platformio run --environment btt_skr_pro_1_1_buildtest
Processing btt_skr_pro_1_1_buildtest (board: genericSTM32F407VGT6; platform: ststm32; framework: stm32cube)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/genericSTM32F407VGT6.html
PLATFORM: ST STM32 (8.0.0) > STM32F407VG (192k RAM. 1024k Flash)
HARDWARE: STM32F407VGT6 168MHz, 192KB RAM, 1MB Flash
DEBUG: Current (stlink) External (jlink, stlink)
PACKAGES: 
 - framework-stm32cube 2.0.200813 
 - framework-stm32cubef4 1.26.2 
 - tool-ldscripts-ststm32 0.1.0 
 - toolchain-gccarmnoneeabi 1.70201.0 (7.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ off, Compatibility ~ soft
Found 52 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <bluetooth>
|-- <grbl>
|-- <keypad>
|-- <laser>
|-- <motors>
|-- <odometer>
|-- <spindle>
|-- <Core>
|-- <Class>
|-- <App>
|-- <Target>
|-- <eeprom>
|-- <trinamic>
Building in release mode
Compiling .pio/build/btt_skr_pro_1_1_buildtest/lib87a/bluetooth/hc_05.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/alarms.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/coolant_control.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/corexy.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/errors.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/gcode.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/grbllib.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/ioports.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/limits.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/maslow.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/motion_control.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/my_plugin.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/ngc_expr.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/ngc_params.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/nuts_bolts.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/nvs_buffer.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/override.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/pid.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/planner.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/protocol.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/regex.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/report.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/settings.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/sleep.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/spindle_control.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/state_machine.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/stepper.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/stream.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/system.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/tool_change.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/libee4/grbl/wall_plotter.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/lib197/keypad/keypad.o
Compiling .pio/build/btt_skr_pro_1_1_buildtest/lib62c/laser/coolant.o
keypad/keypad.c:26:10: fatal error: driver.h: No such file or directory

****************************************************************
* Looking for driver.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:driver.h"
* Web  > https://platformio.org/lib/search?query=header:driver.h
*
****************************************************************

 #include "driver.h"
          ^~~~~~~~~~
compilation terminated.
*** [.pio/build/btt_skr_pro_1_1_buildtest/lib197/keypad/keypad.o] Error 1
Compiling .pio/build/btt_skr_pro_1_1_buildtest/lib62c/laser/ppi.o
laser/coolant.c:24:10: fatal error: driver.h: No such file or directory

****************************************************************
* Looking for driver.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:driver.h"
* Web  > https://platformio.org/lib/search?query=header:driver.h
*
****************************************************************

 #include "driver.h"
          ^~~~~~~~~~
compilation terminated.
*** [.pio/build/btt_skr_pro_1_1_buildtest/lib62c/laser/coolant.o] Error 1
laser/ppi.c:24:10: fatal error: driver.h: No such file or directory

****************************************************************
* Looking for driver.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:driver.h"
* Web  > https://platformio.org/lib/search?query=header:driver.h
*
****************************************************************

 #include "driver.h"
          ^~~~~~~~~~
compilation terminated.
*** [.pio/build/btt_skr_pro_1_1_buildtest/lib62c/laser/ppi.o] Error 1
====================================================================================== [FAILED] Took 3.94 seconds ======================================================================================

Environment                Status    Duration
-------------------------  --------  ------------
btt_skr_pro_1_1_buildtest  FAILED    00:00:03.940
================================================================================= 1 failed, 0 succeeded in 00:00:03.940 =================================================================================

我的 PlatformIO Core 版本是 5.2.3

无论如何,它使用 STM32CubeIDE 构建得很好,所以我现在继续使用它

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

我已经刷了我的板,绿色二极管像往常一样在新的firmware.bin上闪烁

我被困住了,因为我的笔记本电脑上的主板没有识别出任何 USB 串行端口,我可以在上面连接。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

根据原理图,该板上的晶体频率似乎为 8Mhz
https://raw.githubusercontent.com/bigtreetech/BIGTREETECH-SKR-PRO-V1.1/master/Schematic/SKR-PRO-V1.1%EF%BC %88SCH%EF%BC%89.pdf

我会尽快尝试将 HSE_VALUE 设置为 8000000

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方
贡献者

特热约 评论 2021 年 11 月 30 日  

引导加载程序版本从来没有工作过?有关更多信息,请参见问题#45

您可以使用 ST-Link 编程器吗?电压表?

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

看起来您缺少一些模块,请确保您将递归添加到您的拉取

它应该是:
git clone –recurse-submodules https://github.com/grblHAL/STM32F4xx.git

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

@terjeio“引导加载程序版本从未工作过”是什么意思?我会读#45 …
不,我没有ST-link,但我有一个电压表。

@boboxxgit clone --recurse-submodules https://github.com/grblHAL/STM32F4xx.git正是我克隆项目的方式。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

@olijouve它应该从一个新的递归克隆编译,无需更改代码。您的日志表明它无法从 Inc 文件夹中找到 driver.h,是否在某处定义了 ARDUINO(这会更改 keypad.c 中的包含路径)?

如果您想追查 platformio 错误,您是否可以在某处发布构建输出的副本 – gist 或 pastebin?我会将其与我的工作环境进行比较。干杯。

git clone --recurse-submodules https://github.com/grblHAL/STM32F4xx.git
cd STM32F4xx
platformio run --target clean
platformio run --environment btt_skr_pro_1_1 --verbose > build.log 2>&1
SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

谢谢@dresco我应该在我的 plateformio 工作区中有一些旧的 arduino 遗物。
我已经删除了我的 ~/.platformio 文件夹,它成功构建了。

我现在尝试通过sdcard刷板…

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

不是更好,引导加载程序似乎可以工作,因为当我将 .pio/build/btt_skr_pro_1_1/firmware.bin 放入 sdcard 时,我可以看到绿色闪烁 LED,然后将文件重命名为 FIRMWARE.CUR

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

@olijouve您使用的是来自哪个构建配置的二进制文件?只有Release F407 8MHz 32K Bootloader具有我认为需要的偏移量。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

我已经删除了我的 ~/.platformio 文件夹,它成功构建了。

酷,好消息。。

只有Release F407 8MHz 32K Bootloader具有我认为需要的偏移量。

看起来引导加载程序偏移量是在 btt_skr_pro_1_1 platformio 环境中定义的,但是晶体值可能仍然是错误的?描述和价值不匹配..

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

奥利茹夫 评论 2021 年 12 月 1 日  

是的,这就是我所看到的。

@terjeio,我使用默认的 btt_skr_pro_v1_1 所以配置是:

[env:btt_skr_pro_1_1]
# Untested and might not boot.  Please report issues at:
# https://github.com/grblHAL/STM32F4xx/issues
board = genericSTM32F407VGT6
board_build.ldscript = STM32F407VGTX_FLASH.ld
build_flags = ${common.build_flags}
  # See Inc/my_machine.h for options
  -D BOARD_BTT_SKR_PRO_1_1=
  # 8MHz crystal
  -D HSE_VALUE=25000000
  # Boot loader offset (32K)
  -D VECT_TAB_OFFSET=0x8000
lib_deps = ${common.lib_deps}
  eeprom
lib_extra_dirs = ${common.lib_extra_dirs}
# Upload is not supported for this board since BOOT0 is tied to GND.
# With the default boot loader, you must deploy new firmware by copying
# .pio/build/<env name>/firmware.bin (produced by `pio run`) to the SD card.

我曾尝试将 HSE_VALUE 设置为 8000000 进行编译,但在 skr_pro_v1_1_map.h 中存在不允许构建的测试:

#if !defined(STM32F407xx) || HSE_VALUE == 8000000
#error "This board has STM32F407 processor with a 25MHz crystal, select a corresponding build!"
#endif

我也尝试评论错误行,但没有更多机会,但我想它比这复杂得多。

我刚刚再次阅读#45和完整的 platformio.ini 文件。我看到 skr_pro_1_1 没有 -D USB_SERIAL_CDC=1。
今晚我会试试…

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

需要一种方法来检查引导加载程序是否启动了下载的代码。无需太多代码更改即可测量输入引脚上的电压。由于启用了上拉电阻,这应该是 3.3V。
将 RESET_PORT 和 RESET_PIN 定义更改为 GPIOC 和 1 并在 J46(I/O 扩展端口)上测量?AFAICT 此引脚没有外部连接上拉电阻,这会扰乱测量。

另一个是切换输出引脚,我看到风扇和加热器输出连接了 LED。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

奥利茹夫 评论 2021 年 12 月 2 日  

您使用的是来自哪个构建配置的二进制文件?只有 Release F407 8MHz 32K Bootloader 具有我认为需要的偏移量。

我也尝试了这个但没有更多成功(必须在 btt_skr_pro_v1_1_map.h 中将第 24 行更改为 #if !defined(STM32F407xx) || HSE_VALUE = = 8000000
),在我的 Mac 上看不到 USB 串行端口。

查看 Marlin 的 plateformio.ini,我们可以说 SKR Pro v1.1 /v1.2 板附带一个引导加载程序,该引导加载程序
位于 STM32F4 闪存的前 0x8000 字节中。

我已经闪回了一个 Marlin 2 固件,以确保没有任何东西被砖砌,这很好。一旦它被刷新,我的操作系统就会再次看到 USB 串行设备。

将 RESET_PORT 和 RESET_PIN 定义更改为 GPIOC 和 1 并在 J46(I/O 扩展端口)上测量
我找不到您提到的 J46:

https://teamgloomy.github.io/skr_pro_pins.html

另一个是切换输出引脚,我看到风扇和加热器输出连接了 LED。

不幸的是,我自己也没有找到在代码中如何以及在何处切换输出引脚……

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

PC1 在示意图中:

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

我相信可以通过将此插件添加到 src 文件夹来切换输出引脚,为您想要的端口/引脚修改它并重新编译/重新刷新。我提到的 LED 似乎需要电路板由 12V 供电。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

奥利茹夫 评论 2021 年 12 月 2 日  

我的电路板由 24V 供电,测试它是否有风险?

感谢J46 PC1,明天我会尝试测试。所以只是为了理解,如果固件加载良好,我应该在该引脚和 gnd 之间测量 3.3V,因为 RESET_PORT 和 RESET_PIN 定义设置为 GPIOC 和 1,但如果没有加载,我应该得到 0V?

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

我的电路板由 24V 供电,测试它是否有风险?

不,如果设计为 24V 就可以了。

…但如果没有加载,我应该得到 0V 吗?

您可以测量一些电压,因为引脚是(或应该是?)浮动,但 IMO 不是 3.3V。
如果我们可以验证代码已经启动,那么问题很可能出在 USB 的时钟设置上。更好的是让 LED 闪烁,因为如果 MCU 出现硬故障,这将停止。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

感谢J46 PC1,明天我会尝试测试。所以只是为了理解,如果固件加载良好,我应该在该引脚和 gnd 之间测量 3.3V,因为 RESET_PORT 和 RESET_PIN 定义设置为 GPIOC 和 1,但如果没有加载,我应该得到 0V?

我刚刚对其进行了测试,在将 RESET_PORT 和 RESET_PIN 定义设置为 GPIOC 和 1 的情况下刷新电路板后仍然接近 0V。

我有一个 FTDI232,你认为尝试连接到 UART 会显示一些有用的东西吗?

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

我有一个 FTDI232,你认为尝试连接到 UART 会显示一些有用的东西吗?

是的,试试吧。如果没有出现,我相信引导加载程序没有输入代码。可惜它的来源无处可寻。

也许看看 Marlin 二进制文件(或 .elf)可能是下一步?

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

奥利茹夫 评论 2021 年 12 月 2 日  

和uart上的FTDI232完全一样,我的主机上没有创建usb串口

也许看看 Marlin 二进制文件(或 .elf)可能是下一步?

我希望我能做到这一点:/

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

这是 Marlin 的 SKR PRO 板 json 描述,如果它可以帮助…

马林/uildroot/share/PlatformIO/boards/BigTree_SKR_Pro.json

{
  "build": {
    "core": "stm32",
    "cpu": "cortex-m4",
    "extra_flags": "-DSTM32F4 -DSTM32F407xx -DSTM32F40_41xxx",
    "f_cpu": "168000000L",
    "hwids": [
      [
        "0x1EAF",
        "0x0003"
      ],
      [
        "0x0483",
        "0x3748"
      ]
    ],
    "mcu": "stm32f407zgt6",
    "variant": "BIGTREE_SKR_PRO_1v1"
  },
  "debug": {
    "jlink_device": "STM32F407ZG",
    "openocd_target": "stm32f4x",
    "svd_path": "STM32F40x.svd"
  },
  "frameworks": [
    "arduino"
  ],
  "name": "STM32F407ZG (192k RAM. 1024k Flash)",
  "upload": {
    "disable_flushing": false,
    "maximum_ram_size": 196608,
    "maximum_size": 1048576,
    "protocol": "stlink",
    "protocols": [
      "stlink",
      "dfu",
      "jlink"
    ],
    "offset_address": "0x8008000",
    "require_upload_port": true,
    "use_1200bps_touch": false,
    "wait_for_upload_port": false
  },
  "url": "https://www.st.com/en/microcontrollers-microprocessors/stm32f407zg.html",
  "vendor": "Generic"
}
SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

和uart上的FTDI232完全一样,我的主机上没有创建usb串口

你的 FTDI 分线板坏了吗?即使没有连接到控制器,它也应该显示出来。我的确实…

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

奥利茹夫 评论 2021 年 12 月 2 日  

我不知道,我在它的防静电袋里放了好几年了,我在全球速卖通上以不到 3 美元的价格买了它,所以它可能有缺陷。
我已经为 mac 安装了 FTDI232 驱动程序,但我不能说它是否有效。

我会检查我几年前买的 elegoo arduino 入门套件中是否没有一个

编辑:不,我只有一个 FTDI

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

这是我的旧迷你 USB 电缆有问题,我找到了一条新的,我可以在我的 Mac 上看到 FTDI 端口,我试图以 9600 115200 和 250000 波特连接到它,但什么也没有。
我已将 SKR UART TX 和 RX 连接到 FTDI232 RX 和 TX(也尝试反转),将 uart gnd 和 5v 连接到 FTDI gnd 和 vcc。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

我已经在 STM32F446 开发板上刷新了引导加载程序,并看到了 SD 卡引脚上的信号。这意味着它可以运行,但它没有获取固件.bin。我用 ST-LINK Utility 直接刷了一个,但它没有启动。下一步是找出原因…

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

我设法找到了它。这是一个草率的引导加载程序,它不会重新定位向量表,LPC176x 引导加载程序确实……在driver_init()
的开头添加这些行:

    __disable_irq();
    SCB->VTOR = 0x8008000 ;
    __DSB();
    __enable_irq();

也许先尝试 FTDI 突破,我无法测试 USB。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

奥利茹夫 评论 2021 年 12 月 3 日  

它可以编译,但我无法通过 FTDI 在串行上得到任何东西,我还尝试在 3.3v 下运行它(可以同时使用 5V 或 3.3V),并将 vcc 连接到 skr 板上的 3.3v。

只是为了不迷路,你建议我使用最后的更改运行什么配置?

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

我还尝试在 3.3v 下运行它(可以同时使用 5V 或 3.3V),并将 vcc 连接到 skr 板上的 3.3v。

使用它时,我没有将任何电源连接到我的 FTDI 分接头,它是一个输出引脚。

只是为了不迷路,你建议我使用最后的更改运行什么配置?

启用主板和 USB_SERIAL_CDC,同时禁用闪存中的设置存储——我不得不为我的 F446 主板这样做,因为内存映射不同。要禁用设置,将此行更改#elif xFLASH_ENABLE

如果仍然没有连接,请检查 PC1 上的电压。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

你弄清楚你的问题了吗?你想要 grbl 以便你可以运行你的激光吗?我在我的 ender 5 上运行 lightburn 来控制我的 30w neje 激光器,使用 btt skr-pro-1.2 板和马林鱼!我可以将打印头放回原处并像往常一样打印.. 当我这样做时,我将 12v 运行到电路板上,并将 24v 留给其他所有东西,因为您可以在不同的功率级别运行它们并且不会伤害激光,大多数时候它们是 12v(激光)。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

@Wakingtester88,是的,我更喜欢运行 grbl 来进行激光雕刻,但也可以用于主轴。
使用 Marlin 在我的 CNC 上运行激光切割没有问题,但我对雕刻的渲染效果不满意。

从我的红色来看,grbl 在减速时减少 pwm 表现更好,并且在边界上雕刻效果更好。
此外,有时我在 Lightburn / SKR Pro / Marlin 2 上遇到烦人的顽固 USB 连接问题,迫使我使用另一个软件来释放串行端口作为解决方法。我希望它可以通过切换到 grblHAL 来解决……

@terjeio,最近几天我还没有找到空闲时间来测试您在上一条评论中指出的内容。我会尽快做的。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

@olijouve我已经提交了引导加载程序所需的更改,并使用 F411 进行了测试。

从我的红色来看,grbl 在减速时减少 pwm 表现更好,并且在边界上雕刻效果更好。

仅供参考,此驱动程序支持 PPI(每英寸脉冲)模式,Lightburn 也支持该模式,但仅适用于 Trocen 控制器。在 grblHAL PPI 模式中设置了 M 代码,我将尝试了解 Trocen 是如何做到的,看看 grblHAL 是否可以支持相同的方法。

我几乎总是使用 PPI 模式来使用我的 40W CO2 激光器进行切割,启用它可以进行非常精细的切割:

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

奥利茹夫 评论 2021 年 12 月 11 日  

@olijouve我已经提交了引导加载程序所需的更改,并使用 F411 进行了测试。

我刚刚克隆、构建和刷新,但没有更多机会使用该配置在 USB 串行上:

[env:btt_skr_pro_1_1]
# Untested and might not boot.  Please report issues at:
# https://github.com/grblHAL/STM32F4xx/issues
board = genericSTM32F407VGT6
board_build.ldscript = STM32F407VGTX_FLASH.ld
build_flags = ${common.build_flags}
  # See Inc/my_machine.h for options
  -D BOARD_BTT_SKR_PRO_1_1=
  # 8MHz crystal
  -D HSE_VALUE=25000000
  # Boot loader offset (32K)
  -D VECT_TAB_OFFSET=0x8000
  -D TRINAMIC_ENABLE=2209
  -D USB_SERIAL_CDC=1

lib_deps = ${common.lib_deps}
  eeprom
  trinamic
lib_extra_dirs = ${common.lib_extra_dirs}
# Upload is not supported for this board since BOOT0 is tied to GND.
# With the default boot loader, you must deploy new firmware by copying
# .pio/build/<env name>/firmware.bin (produced by `pio run`) to the SD card.
SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方
贡献者

特热约 评论 2021 年 12 月 11 日  

board_build.ldscript = STM32F407VGTX_FLASH.ld
必须改成

board_build.ldscript = STM32F407VGTX_BL32K_FLASH.ld

-D VECT_TAB_OFFSET=0x8000


-D HAS_BOOTLOADER

请注意,这需要最新版本。如果您仍然无法启动,那么我可以上传使用 STM CubeIDE 制作的构建。

顺便说一句,原理图将 1.1 和 1.2 的晶体指定为 8 MHz,它与实际的不匹配吗?

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

大变化!!
现在我可以看到绿色 LED 在闪烁时闪烁更长的时间,并且我的 Mac 上可以看到 USB 串行:
/dev/cu.usbmodem377A396E34361

我使用了这些参数
:-D BOARD_BTT_SKR_PRO_1_1=
-D HSE_VALUE=25000000
-D HAS_BOOTLOADER
-D TRINAMIC_ENABLE=2209
-D USB_SERIAL_CDC=1

但是我无法通过该端口进行任何工作通信。

您对原理图中指定的 8MHz 时钟是正确的,所以我通过 Inc/btt_skr_pro_v1_1_map.h 的注释第 25 行尝试使用 -D HSE_VALUE=8000000,但 USB 串行端口未与该值重新连接。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

伟大的!
尝试发送?以获取实时报告。如果控制器进入某些警报模式,它不会响应任何其他内容
或者尝试使用您的 FTDI 分线连接 – 启动消息通常会因 USB 连接而丢失。

您对原理图中指定的 8MHz 时钟是正确的,所以我通过 Inc/btt_skr_pro_v1_1_map.h 的注释第 25 行尝试使用 -D HSE_VALUE=8000000,但 USB 串行端口未与该值重新连接。

原理图不对。。。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

不幸的是,即使使用 FTDI,我什么也得不到……我尝试了 115200 波特

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

嗯,有点奇怪。
你能像之前讨论的那样检查电压吗?
并尝试改变

# elif FLASH_ENABLE


#elif xFLASH_ENABLE
如果仍然是 0V,因为这可能会导致硬故障。 

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

不知道您是否正在构建独立映像(无引导加载程序),但如果是,由于向量表重定位错误,板将无法启动。向量表由链接器脚本 STM32F407VGTX_FLASH.ld 定位在 0x0,但随后启动代码将其重新定位到项目配置所配置的 0x8000。因此,在 HAL 初始化期间触发 SysTick 会导致 CPU 在加载恰好位于 0x8000 + SysTick_offset 的任何内容时跳转到某个无效地址。

我在这里修好了:d1365cd

现在没有时间打开公关,但只是想我会插话以防其他人遇到麻烦。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

谢谢@fughilli,我认为这点在几天前的#337 中得到了解决,因为我现在可以在我的板上使用 SDCard 引导加载程序和 grblHAL 加载。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

@fughilli我对准备提交的地图文件进行了修复,GPIO_H时钟初始化已完成,MX_GPIO_Init()因此无需将其添加到main(). 仅供参考,我对所有变体都使用了 F401 启动代码,这将在下一次提交中更改,因为用户代码可能需要对 F401 中不可用的外围设备的中断支持。

SKR PRO 1.2 #46上 X 和 Y 的双轴和自动平方

@fughilli我对准备提交的地图文件进行了修复,GPIO_H时钟初始化已完成,MX_GPIO_Init()因此无需将其添加到main(). 仅供参考,我对所有变体都使用了 F401 启动代码,这将在下一次提交中更改,因为用户代码可能需要对 F401 中不可用的外围设备的中断支持。

我没有仔细阅读数据表的那部分,但我的印象是在配置 HSE 之前需要 GPIO H 时钟初始化,因为 XIN/XOUT 位于端口 H 引脚上。

只是我在让它工作之前尝试过的许多事情之一,并且没有测试它是否可以正常工作 – 但正如你指出的那样,现有代码在其他地方工作:)

喜欢 (0)

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